diff options
author | Matthew Wild <mwild1@gmail.com> | 2008-10-23 18:05:06 +0100 |
---|---|---|
committer | Matthew Wild <mwild1@gmail.com> | 2008-10-23 18:05:06 +0100 |
commit | dba8f998cf39a07fd93fb985a17b32a274fb23f3 (patch) | |
tree | cba27a9a16570afe7a8c2a15fecba6e8f7fb44b4 /core/sessionmanager.lua | |
parent | 3286f0609f034a3b9814a3d7df4151008554f992 (diff) | |
download | prosody-dba8f998cf39a07fd93fb985a17b32a274fb23f3.tar.gz prosody-dba8f998cf39a07fd93fb985a17b32a274fb23f3.zip |
Final fix for marking user offline when all resources are gone :)
Diffstat (limited to 'core/sessionmanager.lua')
-rw-r--r-- | core/sessionmanager.lua | 6 |
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 |