eProsima / Micro-XRCE-DDS-Client

Micro XRCE-DDS Client repository. Looking for commercial support? Contact info@eprosima.com
Apache License 2.0
130 stars 82 forks source link

UCLIENT_PROFILE_MULTITHREAD, "Bug" related to mutex. #388

Closed YHWhut closed 3 months ago

YHWhut commented 3 months ago

Looks like one of the mutex wasn't released properly. In multithreaded mode, I can't receive messages correctly when I place my subscription on another thread, but I can receive messages correctly when I release the mutex here. Is this a bug or does it mean something else?

Micro-XRCE-DDS-Client/src/c/core/session/write_access.c uint16_t uxr_prepare_output_stream( uxrSession session, uxrStreamId stream_id, uxrObjectId entity_id, ucdrBuffer ub, uint32_t len) { if (!ub->error) { ... UXR_UNLOCK_STREAM_ID(session, stream_id); ...