aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/mod_mam/mod_mam.lua
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2020-03-11 22:44:41 +0100
committerKim Alvefur <zash@zash.se>2020-03-11 22:44:41 +0100
commitc0dbc18d7cd9db8ab6316253220ff67d8cb91b03 (patch)
treef2fccefc282b9a052e61fc6a2f23306d95fb16d6 /plugins/mod_mam/mod_mam.lua
parentf2ac7bdb8053c3cc984eabcd077583e0ae8c0da2 (diff)
parent01650eaf062645981632f7c8499ca9cf1583cc79 (diff)
downloadprosody-c0dbc18d7cd9db8ab6316253220ff67d8cb91b03.tar.gz
prosody-c0dbc18d7cd9db8ab6316253220ff67d8cb91b03.zip
Merge 0.11->trunk
Diffstat (limited to 'plugins/mod_mam/mod_mam.lua')
-rw-r--r--plugins/mod_mam/mod_mam.lua6
1 files changed, 5 insertions, 1 deletions
diff --git a/plugins/mod_mam/mod_mam.lua b/plugins/mod_mam/mod_mam.lua
index b67635c9..8229eb4e 100644
--- a/plugins/mod_mam/mod_mam.lua
+++ b/plugins/mod_mam/mod_mam.lua
@@ -403,7 +403,8 @@ if cleanup_after ~= "never" then
end
local cleanup_time = module:measure("cleanup", "times");
- cleanup_runner = require "util.async".runner(function ()
+ local async = require "util.async";
+ cleanup_runner = async.runner(function ()
local cleanup_done = cleanup_time();
local users = {};
local cut_off = datestamp(os.time() - cleanup_after);
@@ -433,6 +434,9 @@ if cleanup_after ~= "never" then
cleanup_map:set(cut_off, user, true);
module:log("error", "Could not delete messages for user '%s': %s", user, err);
end
+ local wait, done = async.waiter();
+ module:add_timer(0.01, done);
+ wait();
end
module:log("info", "Deleted %d expired messages for %d users", sum, num_users);
cleanup_done();