From 9858d699a3c39be2e3a547d59163178012365598 Mon Sep 17 00:00:00 2001 From: rubidium Date: Fri, 15 Oct 2010 19:58:56 +0000 Subject: (svn r20935) -Codechange: only let the server side use a pool of connected sockets --- src/network/network.cpp | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) (limited to 'src/network/network.cpp') diff --git a/src/network/network.cpp b/src/network/network.cpp index ea6f4c37a..813d54ca9 100644 --- a/src/network/network.cpp +++ b/src/network/network.cpp @@ -514,25 +514,23 @@ static void InitializeNetworkPools() } /* Close all current connections */ -static void NetworkClose() +void NetworkClose() { - NetworkClientSocket *cs; - - FOR_ALL_CLIENT_SOCKETS(cs) { - if (!_network_server) { - MyClient::SendQuit(); - cs->Send_Packets(); - } - cs->CloseConnection(NETWORK_RECV_STATUS_CONN_LOST); - } - if (_network_server) { + NetworkClientSocket *cs; + FOR_ALL_CLIENT_SOCKETS(cs) { + cs->CloseConnection(NETWORK_RECV_STATUS_CONN_LOST); + } /* We are a server, also close the listensocket */ for (SocketList::iterator s = _listensockets.Begin(); s != _listensockets.End(); s++) { closesocket(s->second); } _listensockets.Clear(); DEBUG(net, 1, "[tcp] closed listeners"); + } else if (MyClient::my_client != NULL) { + MyClient::SendQuit(); + MyClient::my_client->Send_Packets(); + MyClient::my_client->CloseConnection(NETWORK_RECV_STATUS_CONN_LOST); } TCPConnecter::KillAll(); -- cgit v1.2.3-70-g09d2