aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/mod_muc_mam.lua
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/mod_muc_mam.lua')
-rw-r--r--plugins/mod_muc_mam.lua6
1 files changed, 5 insertions, 1 deletions
diff --git a/plugins/mod_muc_mam.lua b/plugins/mod_muc_mam.lua
index f7ea3136..5a01324d 100644
--- a/plugins/mod_muc_mam.lua
+++ b/plugins/mod_muc_mam.lua
@@ -437,7 +437,8 @@ if cleanup_after ~= "never" then
end
end
- cleanup_runner = require "util.async".runner(function ()
+ local async = require "util.async";
+ cleanup_runner = async.runner(function ()
local rooms = {};
local cut_off = datestamp(os.time() - cleanup_after);
for date in cleanup_storage:users() do
@@ -466,6 +467,9 @@ if cleanup_after ~= "never" then
cleanup_map:set(cut_off, room, true);
module:log("error", "Could not delete messages for room '%s': %s", room, err);
end
+ local wait, done = async.waiter();
+ module:add_timer(0.01, done);
+ wait();
end
module:log("info", "Deleted %d expired messages for %d rooms", sum, num_rooms);
end);