mirror of
https://github.com/PurpleI2P/i2pd
synced 2024-11-10 08:00:38 +03:00
try streaming race condition fix
This commit is contained in:
parent
0bb0adbf3e
commit
f4a2dda94e
@ -578,7 +578,9 @@ namespace stream
|
|||||||
if (m_SentPackets.empty () && m_SendBuffer.IsEmpty ()) // nothing to send
|
if (m_SentPackets.empty () && m_SendBuffer.IsEmpty ()) // nothing to send
|
||||||
{
|
{
|
||||||
m_Status = eStreamStatusClosed;
|
m_Status = eStreamStatusClosed;
|
||||||
SendClose ();
|
// close could be called from another thread so do SendClose from the destination thread
|
||||||
|
// this is so m_LocalDestination.NewPacket () does not trigger a race condition
|
||||||
|
m_Service.post(std::bind(&Stream::SendClose, shared_from_this()));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case eStreamStatusClosed:
|
case eStreamStatusClosed:
|
||||||
|
Loading…
Reference in New Issue
Block a user