aboutsummaryrefslogtreecommitdiffstats
path: root/plugins
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 /plugins
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.
Diffstat (limited to 'plugins')
-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?