From 9ee158a2e4cc328166da308ab2c133a28889eb93 Mon Sep 17 00:00:00 2001 From: Lucio Rossi Date: Fri, 14 Nov 2025 17:18:48 +0100 Subject: [PATCH] fix: mutexes not released in _read methods --- src/monitor.h | 5 ++++- src/tcp_client.h | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/monitor.h b/src/monitor.h index 870657d..73f0ef1 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(&client_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);