Merge pull request #1046 from laanwj/2012_04_rpcporterror

Show error message instead of exception crash when unable to bind RPC port
This commit is contained in:
Wladimir J. van der Laan 2012-04-10 13:14:47 -07:00
commit b56772e5df

View file

@ -2376,9 +2376,21 @@ void ThreadRPCServer2(void* parg)
asio::io_service io_service; asio::io_service io_service;
ip::tcp::endpoint endpoint(bindAddress, GetArg("-rpcport", 8332)); ip::tcp::endpoint endpoint(bindAddress, GetArg("-rpcport", 8332));
ip::tcp::acceptor acceptor(io_service, endpoint); ip::tcp::acceptor acceptor(io_service);
try
acceptor.set_option(boost::asio::ip::tcp::acceptor::reuse_address(true)); {
acceptor.open(endpoint.protocol());
acceptor.set_option(boost::asio::ip::tcp::acceptor::reuse_address(true));
acceptor.bind(endpoint);
acceptor.listen(socket_base::max_connections);
}
catch(system::system_error &e)
{
ThreadSafeMessageBox(strprintf(_("An error occured while setting up the RPC port %i for listening: %s"), endpoint.port(), e.what()),
_("Error"), wxOK | wxMODAL);
QueueShutdown();
return;
}
ssl::context context(io_service, ssl::context::sslv23); ssl::context context(io_service, ssl::context::sslv23);
if (fUseSSL) if (fUseSSL)