util/async.lua
changeset 8654 1b7c5933b215
parent 8652 9246f64d6f1e
child 8658 ba6a6a04b46c
--- a/util/async.lua	Thu Mar 22 11:56:03 2018 +0000
+++ b/util/async.lua	Thu Mar 22 13:02:00 2018 +0000
@@ -1,5 +1,6 @@
 local log = require "util.logger".init("util.async");
 local new_id = require "util.id".short;
+local timer = require "util.timer";
 
 local function checkthread()
 	local thread, main = coroutine.running();
@@ -233,10 +234,17 @@
 	end
 end
 
+local function sleep(s)
+	local wait, done = waiter();
+	timer.add_task(s, done);
+	wait();
+end
+
 return {
 	once = once;
 	ready = ready;
 	waiter = waiter;
 	guarder = guarder;
-	runner = runner
+	runner = runner;
+	sleep = sleep;
 };