aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/deps
diff options
context:
space:
mode:
Diffstat (limited to 'host/lib/deps')
-rw-r--r--host/lib/deps/rpclib/lib/rpc/client.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/host/lib/deps/rpclib/lib/rpc/client.cc b/host/lib/deps/rpclib/lib/rpc/client.cc
index 219bc3480..1b366e491 100644
--- a/host/lib/deps/rpclib/lib/rpc/client.cc
+++ b/host/lib/deps/rpclib/lib/rpc/client.cc
@@ -46,8 +46,8 @@ struct client::impl {
boost::asio::async_connect(
writer_->socket_, endpoint_iterator,
[this](boost::system::error_code ec, tcp::resolver::iterator) {
+ std::unique_lock<std::mutex> lock(mut_connection_finished_);
if (!ec) {
- std::unique_lock<std::mutex> lock(mut_connection_finished_);
LOG_INFO("Client connected to {}:{}", addr_, port_);
is_connected_ = true;
state_ = client::connection_state::connected;
@@ -55,6 +55,9 @@ struct client::impl {
do_read();
} else {
LOG_ERROR("Error during connection: {}", ec);
+ is_connected_ = false;
+ state_ = client::connection_state::disconnected;
+ conn_finished_.notify_all();
}
});
}