Skip to content

Commit c81176f

Browse files
committedNov 9, 2021
rpc: add mutex to second rx channel
1 parent 104cef4 commit c81176f

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed
 

‎libraries/RPC/src/RPC.cpp

+5
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,12 @@ int RPCClass::rpmsg_recv_callback(struct rpmsg_endpoint *ept, void *data,
2121
{
2222
RPCClass* rpc = (RPCClass*)priv;
2323

24+
rx_mtx.lock();
2425
for (size_t i = 0; i < len; i++) {
2526
intermediate_buffer.store_char(((uint8_t*)data)[i]);
2627
}
28+
rx_mtx.unlock();
29+
2730
//memcpy(intermediate_buffer, data, len);
2831

2932
osSignalSet(rpc->dispatcherThreadId, len);
@@ -278,11 +281,13 @@ void RPCClass::dispatch() {
278281

279282
{
280283
RPCLIB_MSGPACK::unpacker pac;
284+
rx_mtx.lock();
281285
int len = intermediate_buffer.available();
282286
for (int i = 0; i< len; i++) {
283287
pac.buffer()[i] = intermediate_buffer.read_char();
284288
}
285289
pac.buffer_consumed(len);
290+
rx_mtx.unlock();
286291

287292
//memcpy(pac.buffer(), intermediate_buffer, v.value.signals);
288293
//pac.buffer_consumed(v.value.signals);

0 commit comments

Comments
 (0)
Please sign in to comment.