Skip to content

Commit 9ee158a

Browse files
committed
fix: mutexes not released in _read methods
1 parent 5aaece4 commit 9ee158a

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

src/monitor.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,10 @@ class BridgeMonitor: public Stream {
136136

137137
k_mutex_lock(&monitor_mutex, K_FOREVER);
138138

139-
if (!_connected) return;
139+
if (!_connected) {
140+
k_mutex_unlock(&client_mutex);
141+
return;
142+
}
140143

141144
MsgPack::arr_t<uint8_t> message;
142145
RpcResult async_rpc = bridge->call(MON_READ_METHOD, size);

src/tcp_client.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,10 @@ class BridgeTCPClient : public Client {
187187

188188
k_mutex_lock(&client_mutex, K_FOREVER);
189189

190-
if (!_connected) return;
190+
if (!_connected) {
191+
k_mutex_unlock(&client_mutex);
192+
return;
193+
}
191194

192195
MsgPack::arr_t<uint8_t> message;
193196
RpcResult async_rpc = bridge->call(TCP_READ_METHOD, connection_id, size);

0 commit comments

Comments
 (0)