diff options
author | Kim Alvefur <zash@zash.se> | 2023-04-02 10:40:48 +0200 |
---|---|---|
committer | Kim Alvefur <zash@zash.se> | 2023-04-02 10:40:48 +0200 |
commit | d840f273201196765e75c97370efa4cd2ed8d75d (patch) | |
tree | f87ac7c5c50a5752a3057bf0435e80c76ec3f565 /plugins | |
parent | 3a3d9c6c2c425998e2edf5d1d9f910f25ee39af4 (diff) | |
download | prosody-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.lua | 4 |
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? |