core/sessionmanager.lua

changeset 791
a4be1d80775c
parent 760
90ce865eebd8
child 894
2c0b9e3c11c3
--- a/core/sessionmanager.lua	Thu Feb 12 18:09:17 2009 +0500
+++ b/core/sessionmanager.lua	Thu Feb 12 18:23:00 2009 +0500
@@ -126,10 +126,13 @@
 			elseif policy == "kick_new" then
 				return nil, "cancel", "conflict", "Resource already exists";
 			else -- if policy == "kick_old" then
-				hosts[session.host].sessions[session.username].sessions[resource]:close {
+				sessions[resource]:close {
 					condition = "conflict";
 					text = "Replaced by new connection";
 				};
+				if not next(sessions) then
+					hosts[session.host].sessions[session.username] = { sessions = sessions };
+				end
 			end
 			if increment and sessions[resource] then
 				local count = 1;

mercurial