fix data race on intermediate queue in SSU2 session termination

This commit is contained in:
acetone
2026-07-21 20:56:09 +03:00
parent 12da23e2f8
commit 2f490e6262
+5 -2
View File
@@ -292,8 +292,11 @@ namespace transport
#if OPENSSL_PQ
m_PQKeys.reset (nullptr);
#endif
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 ();