Mercurial > prosody-hg
comparison plugins/mod_mam/mod_mam.lua @ 14003:2c95239d0b92
mod_mam: Use util.async.sleep() helper (same functionality, less code)
Well, not quite the same functionality. module:add_timer() would cancel the
timer if the module got unloaded while processing. This would leave the async
runner hanging forever. The new code would let it finish.
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Sat, 06 Dec 2025 16:00:22 +0000 |
| parents | 9cfc62b4625b |
| children | b6d857435de1 |
comparison
equal
deleted
inserted
replaced
| 14002:f82be93b61a5 | 14003:2c95239d0b92 |
|---|---|
| 581 sum = sum + (tonumber(ok) or 0); | 581 sum = sum + (tonumber(ok) or 0); |
| 582 else | 582 else |
| 583 cleanup_map:set(cut_off, user, true); | 583 cleanup_map:set(cut_off, user, true); |
| 584 module:log("error", "Could not delete messages for user '%s': %s", user, err); | 584 module:log("error", "Could not delete messages for user '%s': %s", user, err); |
| 585 end | 585 end |
| 586 local wait, done = async.waiter(); | 586 async.sleep(0.1); |
| 587 module:add_timer(0.01, done); | |
| 588 wait(); | |
| 589 end | 587 end |
| 590 module:log("info", "Deleted %d expired messages for %d users", sum, num_users); | 588 module:log("info", "Deleted %d expired messages for %d users", sum, num_users); |
| 591 cleanup_done(); | 589 cleanup_done(); |
| 592 end); | 590 end); |
| 593 | 591 |
