Network/NetPacket: Fix mutex recursive lock leading to an exception

This commit is contained in:
SirLynix 2023-07-15 10:36:41 +02:00
parent 42ea4ebbfb
commit af3d1cfa26
2 changed files with 4 additions and 4 deletions

View File

@ -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<std::pair<std::size_t, std::unique_ptr<ByteArray>>> s_availableBuffers;
};
}

View File

@ -112,7 +112,7 @@ namespace Nz
std::size_t size = m_buffer->GetSize();
std::lock_guard<std::mutex> lock(s_availableBuffersMutex);
std::lock_guard<std::recursive_mutex> 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<std::mutex> lock(s_availableBuffersMutex);
std::lock_guard<std::recursive_mutex> 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<std::pair<std::size_t, std::unique_ptr<ByteArray>>> NetPacket::s_availableBuffers;
}