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.
This commit is contained in:
Wladimir J. van der Laan 2014-05-07 09:09:13 +02:00
parent 2e2f6855df
commit 0a0cd34552

View File

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