diff --git a/include/Nazara/Network/NetPacket.hpp b/include/Nazara/Network/NetPacket.hpp index e0b8fe5ed..f7700d308 100644 --- a/include/Nazara/Network/NetPacket.hpp +++ b/include/Nazara/Network/NetPacket.hpp @@ -64,7 +64,7 @@ namespace Nz MemoryStream m_memoryStream; UInt16 m_netCode; - static std::mutex s_availableBuffersMutex; + static std::recursive_mutex s_availableBuffersMutex; static std::vector>> s_availableBuffers; }; } diff --git a/src/Nazara/Network/NetPacket.cpp b/src/Nazara/Network/NetPacket.cpp index c23665508..73746803f 100644 --- a/src/Nazara/Network/NetPacket.cpp +++ b/src/Nazara/Network/NetPacket.cpp @@ -112,7 +112,7 @@ namespace Nz std::size_t size = m_buffer->GetSize(); - std::lock_guard lock(s_availableBuffersMutex); + std::lock_guard lock(s_availableBuffersMutex); s_availableBuffers.emplace_back(std::make_pair(size, std::move(m_buffer))); } @@ -131,7 +131,7 @@ namespace Nz NazaraAssert(minCapacity >= cursorPos, "Cannot init stream with a smaller capacity than wanted cursor pos"); { - std::lock_guard lock(s_availableBuffersMutex); + std::lock_guard lock(s_availableBuffersMutex); FreeStream(); //< In case it wasn't released yet @@ -171,6 +171,6 @@ namespace Nz s_availableBuffers.clear(); } - std::mutex NetPacket::s_availableBuffersMutex; + std::recursive_mutex NetPacket::s_availableBuffersMutex; std::vector>> NetPacket::s_availableBuffers; }