SocketThread: clients aren't double-removed anymore.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@909 0a769ca7-a7f5-676a-18bf-c427514a06d6
This commit is contained in:
@@ -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[]
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user