diff --git a/src/monitor.h b/src/monitor.h index 870657d..913f966 100644 --- a/src/monitor.h +++ b/src/monitor.h @@ -136,7 +136,10 @@ class BridgeMonitor: public Stream { k_mutex_lock(&monitor_mutex, K_FOREVER); - if (!_connected) return; + if (!_connected) { + k_mutex_unlock(&monitor_mutex); + return; + } MsgPack::arr_t message; RpcResult async_rpc = bridge->call(MON_READ_METHOD, size); diff --git a/src/tcp_client.h b/src/tcp_client.h index a8fef79..9a1ca90 100644 --- a/src/tcp_client.h +++ b/src/tcp_client.h @@ -187,7 +187,10 @@ class BridgeTCPClient : public Client { k_mutex_lock(&client_mutex, K_FOREVER); - if (!_connected) return; + if (!_connected) { + k_mutex_unlock(&client_mutex); + return; + } MsgPack::arr_t message; RpcResult async_rpc = bridge->call(TCP_READ_METHOD, connection_id, size);