core/sessionmanager.lua
branchs2s
changeset 148 4c0dcd245d34
parent 145 fbb3a4ff9cf1
child 150 d09b8a1ab046
equal deleted inserted replaced
147:ccebb2720741 148:4c0dcd245d34
    33 	return session;
    33 	return session;
    34 end
    34 end
    35 
    35 
    36 function destroy_session(session)
    36 function destroy_session(session)
    37 	session.log("info", "Destroying session");
    37 	session.log("info", "Destroying session");
    38 	if session.username then
    38 	if session.host and session.username then
    39 		if session.resource then
    39 		if session.resource then
    40 			hosts[session.host].sessions[session.username].sessions[session.resource] = nil;
    40 			hosts[session.host].sessions[session.username].sessions[session.resource] = nil;
    41 		end
    41 		end
    42 		
    42 		if hosts[session.host] and hosts[session.host].sessions[session.username] then
    43 		if not next(hosts[session.host].sessions[session.username].sessions) then
    43 			if not next(hosts[session.host].sessions[session.username].sessions) then
    44 			log("debug", "All resources of %s are now offline", session.username);
    44 				log("debug", "All resources of %s are now offline", session.username);
    45 			hosts[session.host].sessions[session.username] = nil;
    45 				hosts[session.host].sessions[session.username] = nil;
       
    46 			end
    46 		end
    47 		end
    47 	end
    48 	end
    48 	session.conn = nil;
    49 	session.conn = nil;
    49 	session.disconnect = nil;
    50 	session.disconnect = nil;
    50 	for k in pairs(session) do
    51 	for k in pairs(session) do