@@ -32,8 +32,6 @@ static void shm_subscriber_callback(iox_sub_t subscriber, void * context_data);
3232
3333void shm_monitor_init (shm_monitor_t * monitor )
3434{
35- ddsrt_mutex_init (& monitor -> m_lock );
36-
3735 // storage is ignored internally now but we cannot pass a nullptr
3836 iox_listener_storage_t s ;
3937 monitor -> m_listener = iox_listener_init (& s );
@@ -53,7 +51,6 @@ void shm_monitor_destroy(shm_monitor_t* monitor)
5351
5452 iox_listener_deinit (monitor -> m_listener );
5553 iox_user_trigger_deinit (monitor -> m_wakeup_trigger );
56- ddsrt_mutex_destroy (& monitor -> m_lock );
5754}
5855
5956dds_return_t shm_monitor_wake_and_disable (shm_monitor_t * monitor )
@@ -100,14 +97,12 @@ dds_return_t shm_monitor_attach_reader(shm_monitor_t* monitor, struct dds_reader
10097
10198dds_return_t shm_monitor_detach_reader (shm_monitor_t * monitor , struct dds_reader * reader )
10299{
103- ddsrt_mutex_lock (& monitor -> m_lock );
104100 // if the reader is attached
105101 if (reader -> m_iox_sub_context .monitor != NULL && reader -> m_iox_sub_context .parent_reader != NULL ) {
106102 iox_listener_detach_subscriber_event (monitor -> m_listener , reader -> m_iox_sub , SubscriberEvent_DATA_RECEIVED );
107103 reader -> m_iox_sub_context .monitor = NULL ;
108104 reader -> m_iox_sub_context .parent_reader = NULL ;
109105 }
110- ddsrt_mutex_unlock (& monitor -> m_lock );
111106 return DDS_RETCODE_OK ;
112107}
113108
0 commit comments