Mercurial > prosody-hg
comparison util/async.lua @ 8683:867ac771fb6e
util.async: Remove async.once(), can now be replaced by runner():run(func)
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Fri, 23 Mar 2018 14:22:01 +0000 |
| parents | 0c077800cd70 |
| children | 801f253ef52d |
comparison
equal
deleted
inserted
replaced
| 8682:151ecd18d624 | 8683:867ac771fb6e |
|---|---|
| 224 | 224 |
| 225 local function ready() | 225 local function ready() |
| 226 return pcall(checkthread); | 226 return pcall(checkthread); |
| 227 end | 227 end |
| 228 | 228 |
| 229 local once; -- forward declaration | |
| 230 do | |
| 231 local once_watchers = { | |
| 232 error = function (_, err) | |
| 233 error(err); | |
| 234 end; | |
| 235 }; | |
| 236 local function once_runner(func) func(); end | |
| 237 function once(func) | |
| 238 local r = runner(once_runner, once_watchers); | |
| 239 return r:run(func); | |
| 240 end | |
| 241 end | |
| 242 | |
| 243 local function sleep(s) | 229 local function sleep(s) |
| 244 local wait, done = waiter(); | 230 local wait, done = waiter(); |
| 245 timer.add_task(s, done); | 231 timer.add_task(s, done); |
| 246 wait(); | 232 wait(); |
| 247 end | 233 end |
