diff --git a/HTTPServer.cpp b/HTTPServer.cpp
index e80d3d19..0470007b 100644
--- a/HTTPServer.cpp
+++ b/HTTPServer.cpp
@@ -515,13 +515,14 @@ namespace util
void HTTPConnection::Terminate ()
{
if (m_Stream)
- {
m_Stream->Close ();
- i2p::stream::DeleteStream (m_Stream);
- m_Stream.reset ();
- }
+
m_Socket->close ();
- //delete this;
+ m_Socket->get_io_service ().post ([=](void)
+ {
+ i2p::stream::DeleteStream (m_Stream);
+ delete this;
+ });
}
void HTTPConnection::Receive ()
@@ -810,11 +811,21 @@ namespace util
for (auto it: pool->GetOutboundTunnels ())
{
it->GetTunnelConfig ()->Print (s);
+ auto state = it->GetState ();
+ if (state == i2p::tunnel::eTunnelStateFailed)
+ s << " " << "Failed";
+ else if (state == i2p::tunnel::eTunnelStateExpiring)
+ s << " " << "Exp";
s << "
" << std::endl;
}
for (auto it: pool->GetInboundTunnels ())
{
it->GetTunnelConfig ()->Print (s);
+ auto state = it->GetState ();
+ if (state == i2p::tunnel::eTunnelStateFailed)
+ s << " " << "Failed";
+ else if (state == i2p::tunnel::eTunnelStateExpiring)
+ s << " " << "Exp";
s << "
" << std::endl;
}
}