Browse Source

Merge pull request #5565

8db1760 rpcserver: attempt to fix uncaught exception. (Cory Fields)
0.13
Wladimir J. van der Laan 10 years ago
parent
commit
f9c571aad8
No known key found for this signature in database
GPG Key ID: 74810B012346C9A6
  1. 16
      src/rpcserver.cpp

16
src/rpcserver.cpp

@ -650,14 +650,16 @@ void StartRPCThreads()
bool fListening = false; bool fListening = false;
std::string strerr; std::string strerr;
std::string straddress;
BOOST_FOREACH(const ip::tcp::endpoint &endpoint, vEndpoints) BOOST_FOREACH(const ip::tcp::endpoint &endpoint, vEndpoints)
{ {
asio::ip::address bindAddress = endpoint.address();
LogPrintf("Binding RPC on address %s port %i (IPv4+IPv6 bind any: %i)\n", bindAddress.to_string(), endpoint.port(), bBindAny);
boost::system::error_code v6_only_error;
boost::shared_ptr<ip::tcp::acceptor> acceptor(new ip::tcp::acceptor(*rpc_io_service));
try { try {
asio::ip::address bindAddress = endpoint.address();
straddress = bindAddress.to_string();
LogPrintf("Binding RPC on address %s port %i (IPv4+IPv6 bind any: %i)\n", straddress, endpoint.port(), bBindAny);
boost::system::error_code v6_only_error;
boost::shared_ptr<ip::tcp::acceptor> acceptor(new ip::tcp::acceptor(*rpc_io_service));
acceptor->open(endpoint.protocol()); acceptor->open(endpoint.protocol());
acceptor->set_option(boost::asio::ip::tcp::acceptor::reuse_address(true)); acceptor->set_option(boost::asio::ip::tcp::acceptor::reuse_address(true));
@ -678,8 +680,8 @@ void StartRPCThreads()
} }
catch (const boost::system::system_error& e) catch (const boost::system::system_error& e)
{ {
LogPrintf("ERROR: Binding RPC on address %s port %i failed: %s\n", bindAddress.to_string(), endpoint.port(), e.what()); LogPrintf("ERROR: Binding RPC on address %s port %i failed: %s\n", straddress, endpoint.port(), e.what());
strerr = strprintf(_("An error occurred while setting up the RPC address %s port %u for listening: %s"), bindAddress.to_string(), endpoint.port(), e.what()); strerr = strprintf(_("An error occurred while setting up the RPC address %s port %u for listening: %s"), straddress, endpoint.port(), e.what());
} }
} }

Loading…
Cancel
Save