From 1a26552600fe0e1996ca562b0b03bc61346043cc Mon Sep 17 00:00:00 2001 From: Kelketek Date: Sat, 18 May 2013 18:18:32 -0500 Subject: [PATCH] Possible fix to bad disconnection issue. --- src/server/sessionhandler.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/server/sessionhandler.py b/src/server/sessionhandler.py index f5a012f404..2542b3e7e8 100644 --- a/src/server/sessionhandler.py +++ b/src/server/sessionhandler.py @@ -146,10 +146,16 @@ class ServerSessionHandler(SessionHandler): from the portal side. """ session = self.sessions.get(sessid, None) - if session: - session.disconnect() - del self.sessions[session.sessid] - self.session_count(-1) + if not session: + return + player = session.player + if player: + nsess = len(self.sessions_from_player(player)) + remaintext = nsess and "%i session%s remaining" % (nsess, nsess > 1 and "s" or "") or "no more sessions" + session.log(_('Connection dropped: %s %s (%s)' % (session.player, session.address, remaintext))) + session.at_disconnect() + session.disconnect() + del self.sessions[session.sessid] def portal_session_sync(self, portalsessions): """