Ensure that HttpServerConnections are properly closed

fixes #10655
This commit is contained in:
Gunnar Beutner 2016-01-13 10:30:38 +01:00
parent 6cd931726d
commit b6a799d53e
3 changed files with 17 additions and 1 deletions

View File

@ -318,13 +318,17 @@ void TlsStream::Shutdown(void)
*/
void TlsStream::Close(void)
{
if (!m_Eof) {
m_Eof = true;
SignalDataAvailable();
}
Stream::Close();
SocketEvents::Unregister();
boost::mutex::scoped_lock lock(m_Mutex);
m_Eof = true;
if (!m_SSL)
return;

View File

@ -216,6 +216,12 @@ void HttpServerConnection::DataAvailableHandler(void)
if (close)
Disconnect();
return;
}
if (m_Stream->IsEof())
Disconnect();
}
void HttpServerConnection::CheckLiveness(void)

View File

@ -249,6 +249,12 @@ void JsonRpcConnection::DataAvailableHandler(void)
if (close)
Disconnect();
return;
}
if (m_Stream->IsEof())
Disconnect();
}
Value SetLogPositionHandler(const MessageOrigin::Ptr& origin, const Dictionary::Ptr& params)