aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2023-04-02 10:40:48 +0200
committerKim Alvefur <zash@zash.se>2023-04-02 10:40:48 +0200
commitd840f273201196765e75c97370efa4cd2ed8d75d (patch)
treef87ac7c5c50a5752a3057bf0435e80c76ec3f565
parent3a3d9c6c2c425998e2edf5d1d9f910f25ee39af4 (diff)
downloadprosody-d840f273201196765e75c97370efa4cd2ed8d75d.tar.gz
prosody-d840f273201196765e75c97370efa4cd2ed8d75d.zip
mod_smacks: Replace existing watchdog when starting hibernation
There shouldn't be one here but if there is, for some reason, it's better to close it than have it around to wake up and possibly try to destroy the session.
-rw-r--r--plugins/mod_smacks.lua4
1 files changed, 4 insertions, 0 deletions
diff --git a/plugins/mod_smacks.lua b/plugins/mod_smacks.lua
index 756e2d9a..e0a7bbfb 100644
--- a/plugins/mod_smacks.lua
+++ b/plugins/mod_smacks.lua
@@ -474,6 +474,10 @@ module:hook("pre-resource-unbind", function (event)
if session.hibernating then return end
session.hibernating = os_time();
+ if session.hibernating_watchdog then
+ session.log("debug", "Session already has a sleeping watchdog, replacing it");
+ session.hibernating_watchdog:cancel();
+ end
session.hibernating_watchdog = watchdog.new(resume_timeout, function(this_dog)
if this_dog ~= session.hibernating_watchdog then
-- This really shouldn't happen?