diff --git a/src/net/common/servergamethread.cpp b/src/net/common/servergamethread.cpp index b3f3f6fb..97f08346 100644 --- a/src/net/common/servergamethread.cpp +++ b/src/net/common/servergamethread.cpp @@ -40,10 +40,10 @@ public: GameSenderCallback(ServerGameThread &server) : m_server(server) {} virtual ~GameSenderCallback() {} - virtual bool GetSocketForSession(SessionId session, SOCKET &outSocket) - { - return m_server.GetSessionManager().GetSocketForSession(session, outSocket); - } + virtual bool GetSocketForSession(SessionId session, SOCKET &outSocket) + { + return m_server.GetSessionManager().GetSocketForSession(session, outSocket); + } virtual void SignalNetError(SessionId /*session*/, int /*errorID*/, int /*osErrorID*/) { // We just ignore send errors for now, on server side. diff --git a/src/net/common/serverlobbythread.cpp b/src/net/common/serverlobbythread.cpp index 71b986c7..4d9b8932 100644 --- a/src/net/common/serverlobbythread.cpp +++ b/src/net/common/serverlobbythread.cpp @@ -120,9 +120,7 @@ void ServerLobbyThread::RemoveSessionFromGame(SessionWrapper session) { // Just remove the session. Only for fatal errors. - m_gameSessionManager.RemoveSession(session.sessionData->GetId()); - // Update stats (if needed). - BroadcastStatisticsUpdate(); + CloseSessionDelayed(session); } void @@ -312,10 +310,7 @@ ServerLobbyThread::ProcessLoop() } catch (const NetException &) { // On error: Close this session. - m_initTimerSessionMap.erase(session.sessionData->GetId()); - m_sessionManager.RemoveSession(session.sessionData->GetId()); - // Update stats (if needed). - BroadcastStatisticsUpdate(); + CloseSessionDelayed(session); return; } if (packet.get())