diff --git a/include/TNetwork.h b/include/TNetwork.h index 9f55df6..1640be6 100644 --- a/include/TNetwork.h +++ b/include/TNetwork.h @@ -55,6 +55,7 @@ private: TResourceManager& mResourceManager; std::thread mUDPThread; std::thread mTCPThread; + std::mutex mOpenIDMutex; std::vector UDPRcvFromClient(ip::udp::endpoint& ClientEndpoint); void HandleDownload(TConnection&& TCPSock); diff --git a/src/TNetwork.cpp b/src/TNetwork.cpp index 1d8d0e5..9b17bce 100644 --- a/src/TNetwork.cpp +++ b/src/TNetwork.cpp @@ -630,6 +630,7 @@ void TNetwork::OnDisconnect(const std::weak_ptr& ClientPtr) { } int TNetwork::OpenID() { + std::unique_lock OpenIDLock(mOpenIDMutex); int ID = 0; bool found; do {