From 70546f25a0209c2b61dadf61840dfa628a9a75b7 Mon Sep 17 00:00:00 2001 From: "madmaxoft@gmail.com" Date: Sat, 29 Sep 2012 19:43:34 +0000 Subject: SocketThread: clients aren't double-removed anymore. git-svn-id: http://mc-server.googlecode.com/svn/trunk@909 0a769ca7-a7f5-676a-18bf-c427514a06d6 --- source/OSSupport/SocketThreads.cpp | 21 --------------------- source/OSSupport/SocketThreads.h | 1 - 2 files changed, 22 deletions(-) (limited to 'source/OSSupport') diff --git a/source/OSSupport/SocketThreads.cpp b/source/OSSupport/SocketThreads.cpp index dd961770d..13336a0c4 100644 --- a/source/OSSupport/SocketThreads.cpp +++ b/source/OSSupport/SocketThreads.cpp @@ -530,8 +530,6 @@ void cSocketThreads::cSocketThread::Execute(void) } WriteToSockets(&fdWrite); - - RemoveClosedSockets(); } // while (!mShouldTerminate) } @@ -681,22 +679,3 @@ void cSocketThreads::cSocketThread::WriteToSockets(fd_set * a_Write) - -void cSocketThreads::cSocketThread::RemoveClosedSockets(void) -{ - // Removes sockets that have been queued for closing from m_Slots[] - - cCSLock Lock(m_Parent->m_CS); - for (int i = m_NumSlots - 1; i >= 0; --i) - { - if (!m_Slots[i].m_ShouldClose || !m_Slots[i].m_Outgoing.empty()) - { - continue; - } - m_Slots[i] = m_Slots[--m_NumSlots]; - } // for i - m_Slots[] -} - - - - diff --git a/source/OSSupport/SocketThreads.h b/source/OSSupport/SocketThreads.h index 974270a11..ecbac3aeb 100644 --- a/source/OSSupport/SocketThreads.h +++ b/source/OSSupport/SocketThreads.h @@ -149,7 +149,6 @@ private: void PrepareSet (fd_set * a_Set, cSocket::xSocket & a_Highest); // Puts all sockets into the set, along with m_ControlSocket1 void ReadFromSockets(fd_set * a_Read); // Reads from sockets indicated in a_Read void WriteToSockets (fd_set * a_Write); // Writes to sockets indicated in a_Write - void RemoveClosedSockets(void); // Removes sockets that have closed from m_Slots[] } ; typedef std::list cSocketThreadList; -- cgit v1.2.3