]> git.lizzy.rs Git - lua_async.git/commitdiff
Revert "More efficient sleep() implementation"
authorElias Fleckenstein <eliasfleckenstein@web.de>
Fri, 6 Aug 2021 19:15:57 +0000 (21:15 +0200)
committerElias Fleckenstein <eliasfleckenstein@web.de>
Fri, 6 Aug 2021 19:15:57 +0000 (21:15 +0200)
This reverts commit 643f41af5ff64405f0860cb4c86aaf733aa28cab.

util.lua

index b3fc4f7eb83712dbaa8b39f41c44fcbc3886a4b3..852b933e85d4760ebf04f04eff1eb4d66b0b39af 100644 (file)
--- a/util.lua
+++ b/util.lua
@@ -1,5 +1,9 @@
 function lua_async.yield()
-       lua_async.sleep(0)
+       local co = assert(coroutine.running(), "yield called outside of an async function")
+
+       setTimeout(lua_async.resume, 0, co)
+
+       coroutine.yield()
 end
 
 function lua_async.kill_thread()
@@ -7,10 +11,9 @@ function lua_async.kill_thread()
 end
 
 function lua_async.sleep(ms)
-       local co = assert(coroutine.running(), "sleep called outside of an async function")
-       setTimeout(lua_async.resume, ms, co)
-
-       coroutine.yield()
+       await(Promise(function(resolve)
+               setTimeout(resolve, ms)
+       end))
 end
 
 function lua_async.run()