Merge pull request #1076 from majestrate/fix-streaming-race-2018-01-25

try streaming race condition fix
This commit is contained in:
orignal 2018-01-25 09:35:58 -05:00 committed by GitHub
commit e8d6c803cd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -578,7 +578,9 @@ namespace stream
if (m_SentPackets.empty () && m_SendBuffer.IsEmpty ()) // nothing to send
{
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;
case eStreamStatusClosed: