Initial s2s stuff
[prosody.git] / core / sessionmanager.lua
index a4fb8a87652f2174e976772834e539f83c856ee6..d140ebe05e80b40af9779c73a31d8ccf41d91dc2 100644 (file)
@@ -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,12 +39,9 @@ function destroy_session(session)
                if session.resource then
                        hosts[session.host].sessions[session.username].sessions[session.resource] = nil;
                end
-               local nomore = true;
-               for res, ssn in pairs(hosts[session.host].sessions[session.username]) do
-                       nomore = false;
-                       break;
-               end
-               if nomore 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