RidgeRun / gst-interpipe

GStreamer plug-in for interpipeline communication
Other
140 stars 63 forks source link

Take listeners_lock for g_hash_table_foreach operations on listeners. #117

Open mattc1170 opened 2 years ago

mattc1170 commented 2 years ago

Fix for https://github.com/RidgeRun/gst-interpipe/issues/116

Need to take a lock when accessing listeners hash table because listeners can be removed by other threads. Must use a recursive mutex because the notify calls can then come back and call gst_inter_pipe_leave_node() or gst_inter_pipe_add_node() which results in a 2nd attempt to lock the listeners mutex in the same thread.