From a8361f73c9ab3c4729872ce6ac99bfa4e97cba90 Mon Sep 17 00:00:00 2001 From: Elias Fleckenstein Date: Fri, 6 Aug 2021 22:01:53 +0200 Subject: Move resume() to util.lua --- util.lua | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) (limited to 'util.lua') diff --git a/util.lua b/util.lua index e7c6cbf..7061c06 100644 --- a/util.lua +++ b/util.lua @@ -4,16 +4,28 @@ function lua_async.yield() end)) end -function lua_async.kill_thread() - coroutine.yield(true) -end - function lua_async.sleep(ms) await(Promise(function(resolve) setTimeout(resolve, ms) end)) end +function lua_async.kill_thread() + coroutine.yield(true) +end + +function lua_async.resume(co) + local status, err = coroutine.resume(co) + + if coroutine.status(co) == "dead" or err then + lua_async.limiting.unset_limit(co) + end + + if not status then + error("Error (in async function): " .. err) + end +end + function lua_async.run() local last_time = os.clock() -- cgit v1.2.3