diff options
author | Matthew Wild <mwild1@gmail.com> | 2018-03-22 13:02:00 +0000 |
---|---|---|
committer | Matthew Wild <mwild1@gmail.com> | 2018-03-22 13:02:00 +0000 |
commit | f90a032fb690903079e1dde5dc414c994fc6f2b2 (patch) | |
tree | 53be874f1e725fe9ed68f9cb5a57c9b58d17c94f /util/async.lua | |
parent | cdff82828c31d14b805213c68b8040ff2958d291 (diff) | |
download | prosody-f90a032fb690903079e1dde5dc414c994fc6f2b2.tar.gz prosody-f90a032fb690903079e1dde5dc414c994fc6f2b2.zip |
util.async: Add sleep() method
Diffstat (limited to 'util/async.lua')
-rw-r--r-- | util/async.lua | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/util/async.lua b/util/async.lua index 8e75a524..7a8bd686 100644 --- a/util/async.lua +++ b/util/async.lua @@ -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 @@ do 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; }; |