aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCory Fields <cory-nospam-@coryfields.com>2014-12-29 15:19:19 -0500
committerWladimir J. van der Laan <laanwj@gmail.com>2014-12-30 17:38:03 +0100
commit87d43a3c8e8679cc4a88e4a29545e190c099d973 (patch)
tree8ecaaf79f36201f1be73c8c10d0aa42a4888338d /src
parented934bdb4dab0b765ce5d16cb5182ecee5fade0b (diff)
downloadbitcoin-87d43a3c8e8679cc4a88e4a29545e190c099d973.tar.xz
rpcserver: attempt to fix uncaught exception.
Rebased-From: f9c571aad8261eb9a5cab9dce5b490bd253c5fe1 Github-Pull: #5565
Diffstat (limited to 'src')
-rw-r--r--src/rpcserver.cpp16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/rpcserver.cpp b/src/rpcserver.cpp
index 252b0866a2..4b82646585 100644
--- a/src/rpcserver.cpp
+++ b/src/rpcserver.cpp
@@ -650,14 +650,16 @@ void StartRPCThreads()
bool fListening = false;
std::string strerr;
+ std::string straddress;
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 {
+ 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->set_option(boost::asio::ip::tcp::acceptor::reuse_address(true));
@@ -678,8 +680,8 @@ void StartRPCThreads()
}
catch(boost::system::system_error &e)
{
- LogPrintf("ERROR: Binding RPC on address %s port %i failed: %s\n", bindAddress.to_string(), 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());
+ 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"), straddress, endpoint.port(), e.what());
}
}