rpc: pass errors from async_accept

According to the [boost::asio documentation](http://www.boost.org/doc/libs/1_55_0/doc/html/boost_asio/reference/basic_socket_acceptor/async_accept/overload2.html),
the function signature of the handler must be:

    void handler(
      const boost::system::error_code& error // Result of operation.
    );

We were binding *all* the arguments, instead of all but the error,
resulting in nullary function that never got the error. Fix this
by adding an input argument substitution.

Rebased-By: Wladimir J. van der Laan <laanwj@gmail.com>
Rebased-From: 0a0cd34
This commit is contained in:
Wladimir J. van der Laan 2014-05-07 09:09:13 +02:00
parent 010e66188e
commit 1ed6d499b6

View File

@ -457,7 +457,7 @@ static void RPCListen(boost::shared_ptr< basic_socket_acceptor<Protocol, SocketA
boost::ref(context),
fUseSSL,
conn,
boost::asio::placeholders::error));
_1));
}
@ -481,6 +481,8 @@ static void RPCAcceptHandler(boost::shared_ptr< basic_socket_acceptor<Protocol,
if (error)
{
delete conn;
// TODO: Actually handle errors
LogPrintf("%s: Error: %s\n", __func__, error.message());
}
// Restrict callers by IP. It is important to