aboutsummaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorMatthew Wild <mwild1@gmail.com>2008-10-23 18:05:06 +0100
committerMatthew Wild <mwild1@gmail.com>2008-10-23 18:05:06 +0100
commitdba8f998cf39a07fd93fb985a17b32a274fb23f3 (patch)
treecba27a9a16570afe7a8c2a15fecba6e8f7fb44b4 /core
parent3286f0609f034a3b9814a3d7df4151008554f992 (diff)
downloadprosody-dba8f998cf39a07fd93fb985a17b32a274fb23f3.tar.gz
prosody-dba8f998cf39a07fd93fb985a17b32a274fb23f3.zip
Final fix for marking user offline when all resources are gone :)
Diffstat (limited to 'core')
-rw-r--r--core/sessionmanager.lua6
1 files changed, 4 insertions, 2 deletions
diff --git a/core/sessionmanager.lua b/core/sessionmanager.lua
index 19614311..d140ebe0 100644
--- a/core/sessionmanager.lua
+++ b/core/sessionmanager.lua
@@ -1,6 +1,6 @@
local tonumber, tostring = tonumber, tostring;
-local ipairs, pairs, print= ipairs, pairs, print;
+local ipairs, pairs, print, next= ipairs, pairs, print, next;
local collectgarbage = collectgarbage;
local m_random = import("math", "random");
local format = import("string", "format");
@@ -39,7 +39,9 @@ function destroy_session(session)
if session.resource then
hosts[session.host].sessions[session.username].sessions[session.resource] = nil;
end
- if not next(hosts[session.host].sessions[session.username], nil) then
+
+ if not next(hosts[session.host].sessions[session.username].sessions) then
+ log("debug", "All resources of %s are now offline", session.username);
hosts[session.host].sessions[session.username] = nil;
end
end