mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2025-02-02 02:44:15 +00:00
Merge pull request #1076 from majestrate/fix-streaming-race-2018-01-25
try streaming race condition fix
This commit is contained in:
commit
e8d6c803cd
@ -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…
x
Reference in New Issue
Block a user