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 | 6a62730359e8fa786c968407bb62b2aef1f38ba7 (patch) | |
tree | 53be874f1e725fe9ed68f9cb5a57c9b58d17c94f /util/async.lua | |
parent | caab5a40c2db93af5d2edfdf426c918c26694886 (diff) | |
download | prosody-6a62730359e8fa786c968407bb62b2aef1f38ba7.tar.gz prosody-6a62730359e8fa786c968407bb62b2aef1f38ba7.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; }; |