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

Bugfix/multithread stream not unlock #362

Closed dzusan closed 1 year ago

dzusan commented 1 year ago

Using uxr_prepare_output_stream() in two concurrent threads of FreeRTOS before uxr_run_session_until_confirm_delivery() blocks one of the threads forever due the stream_id not being unlocked after locking. In other words, a recursive mutex is taken and given an unequal number of times.