handle webconsole and tunnels bind errors (#510)

This commit is contained in:
R4SAS 2019-05-17 11:04:44 +03:00
parent 92daf21b1e
commit 2abc9807d9
4 changed files with 18 additions and 9 deletions

View file

@ -1084,10 +1084,15 @@ namespace http {
i2p::config::SetOption("http.pass", pass);
LogPrint(eLogInfo, "HTTPServer: password set to ", pass);
}
try {
m_IsRunning = true;
m_Thread = std::unique_ptr<std::thread>(new std::thread (std::bind (&HTTPServer::Run, this)));
m_Acceptor.listen ();
Accept ();
} catch (std::exception& ex) {
LogPrint (eLogError, "HTTPServer: failed to start webconsole: ", ex.what ());
}
}
void HTTPServer::Stop ()

View file

@ -285,8 +285,12 @@ namespace client
m_Acceptor.reset (new boost::asio::ip::tcp::acceptor (GetService (), m_LocalEndpoint));
// update the local end point in case port has been set zero and got updated now
m_LocalEndpoint = m_Acceptor->local_endpoint();
try {
m_Acceptor->listen ();
Accept ();
} catch (std::exception& ex) {
LogPrint (eLogError, "I2PService: failed to start ", GetName(), " acceptor: ", ex.what ());
}
}
void TCPIPAcceptor::Stop ()

View file

@ -389,7 +389,7 @@ namespace client
}
/* This handler tries to stablish a connection with the desired server and dies if it fails to do so */
/* This handler tries to establish a connection with the desired server and dies if it fails to do so */
class I2PClientTunnelHandler: public I2PServiceHandler, public std::enable_shared_from_this<I2PClientTunnelHandler>
{
public: