fixed few possible race conditions

This commit is contained in:
orignal
2026-06-04 13:52:08 -04:00
parent 34101fb9b6
commit 8e64f99de4
2 changed files with 26 additions and 10 deletions
+5 -2
View File
@@ -576,8 +576,11 @@ namespace transport
m_Socket.close ();
transports.PeerDisconnected (shared_from_this ());
m_Server.RemoveNTCP2Session (shared_from_this ());
if (!m_IntermediateQueue.empty ())
m_SendQueue.splice (m_SendQueue.end (), m_IntermediateQueue);
{
std::lock_guard<std::mutex> l(m_IntermediateQueueMutex);
if (!m_IntermediateQueue.empty ())
m_SendQueue.splice (m_SendQueue.end (), m_IntermediateQueue);
}
for (auto& it: m_SendQueue)
it->Drop ();
m_SendQueue.clear ();