From d13b4f669866097e2bc7f9d6b7981b5e67456b7b Mon Sep 17 00:00:00 2001 From: orignal Date: Mon, 9 Mar 2015 21:37:51 -0400 Subject: [PATCH] send FIN if closed by peer --- Streaming.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Streaming.cpp b/Streaming.cpp index 72669f49..6e1b813d 100644 --- a/Streaming.cpp +++ b/Streaming.cpp @@ -452,12 +452,14 @@ namespace stream LogPrint (eLogInfo, "Trying to send stream data before closing"); break; case eStreamStatusReset: + SendClose (); Terminate (); m_LocalDestination.DeleteStream (shared_from_this ()); break; case eStreamStatusClosing: if (m_SentPackets.empty () && m_SendBuffer.eof ()) // nothing to send { + m_Status = eStreamStatusClosed; SendClose (); Terminate (); m_LocalDestination.DeleteStream (shared_from_this ()); @@ -475,7 +477,6 @@ namespace stream void Stream::SendClose () { - m_Status = eStreamStatusClosed; Packet * p = new Packet (); uint8_t * packet = p->GetBuffer (); size_t size = 0;