Gameserver - Fixed minor merging isues
This commit is contained in:
parent
b17b542ebc
commit
168539da08
|
@ -34,6 +34,8 @@ namespace Utility
|
|||
virtual bool IsEmpty();
|
||||
virtual void Swap( IQueue<Type> &queue );
|
||||
|
||||
virtual void Clear();
|
||||
|
||||
private:
|
||||
class Node
|
||||
{
|
||||
|
@ -216,6 +218,15 @@ namespace Utility
|
|||
stdMutex.unlock();
|
||||
}
|
||||
|
||||
template < typename Type >
|
||||
void ThreadSafeQueue<Type>::Clear()
|
||||
{
|
||||
while (!IsEmpty())
|
||||
{
|
||||
Pop();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -62,9 +62,10 @@ struct NetworkClient::PrivateData : public IThreadObject
|
|||
}
|
||||
~PrivateData()
|
||||
{
|
||||
this->thread.Terminate();
|
||||
|
||||
ShutdownWinSock();
|
||||
this->connection.Disconnect();
|
||||
this->thread.Terminate();
|
||||
this->owner = 0;
|
||||
this->parent = 0;
|
||||
}
|
||||
|
@ -296,8 +297,11 @@ void NetworkClient::Disconnect()
|
|||
{
|
||||
if(!privateData) return;
|
||||
|
||||
this->privateData->sendQueue.Clear();
|
||||
|
||||
privateData->connection.Disconnect();
|
||||
privateData->thread.Terminate();
|
||||
|
||||
}
|
||||
|
||||
void NetworkClient::Send(CustomProtocolObject& protocol)
|
||||
|
|
Loading…
Reference in New Issue