From e760e5372b090cf0ba22530e155220200536a8fe Mon Sep 17 00:00:00 2001 From: Martin Braun Date: Fri, 9 Oct 2020 11:25:55 +0200 Subject: deps: rpclib: Fix issue on socket closing The rpclib server session closes its socket, which can fail. In our case, we only use the server for some tests, and we close the server on process exit, so we let the error slide. Since we close servers in dtors, not doing so would occasionally cause SIGABRT. --- host/lib/deps/rpclib/lib/rpc/detail/server_session.cc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'host/lib/deps/rpclib') diff --git a/host/lib/deps/rpclib/lib/rpc/detail/server_session.cc b/host/lib/deps/rpclib/lib/rpc/detail/server_session.cc index 3f1ed48c9..7de8bd213 100644 --- a/host/lib/deps/rpclib/lib/rpc/detail/server_session.cc +++ b/host/lib/deps/rpclib/lib/rpc/detail/server_session.cc @@ -33,7 +33,13 @@ void server_session::start() { do_read(); } void server_session::close() { LOG_INFO("Closing session."); exit_ = true; - write_strand_.post([this]() { socket_.close(); }); + write_strand_.post([this]() { + try { + socket_.close(); + } catch (const boost::system::system_error&) { + LOG_WARN("Error during closing socket."); + } + }); } void server_session::do_read() { -- cgit v1.2.3