From fbe6c2288421c470b8d25914561c65694ec1bda5 Mon Sep 17 00:00:00 2001 From: orignal Date: Sun, 17 Aug 2014 19:14:40 -0400 Subject: [PATCH] close client socket if I2P gets closed --- I2PTunnel.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/I2PTunnel.cpp b/I2PTunnel.cpp index ae1b4d95..e48ef64b 100644 --- a/I2PTunnel.cpp +++ b/I2PTunnel.cpp @@ -30,6 +30,7 @@ namespace stream void I2PTunnelConnection::Terminate () { + m_Socket->close (); // TODO: remove from I2PTunnel } @@ -58,7 +59,14 @@ namespace stream void I2PTunnelConnection::HandleWrite (const boost::system::error_code& ecode) { - StreamReceive (); + if (ecode) + { + LogPrint ("I2PTunnel write error: ", ecode.message ()); + m_Stream->Close (); + Terminate (); + } + else + StreamReceive (); } void I2PTunnelConnection::StreamReceive ()