diff --git a/dds/DCPS/RTPS/Sedp.cpp b/dds/DCPS/RTPS/Sedp.cpp index 7fb0b66bf7..7fd8f28149 100644 --- a/dds/DCPS/RTPS/Sedp.cpp +++ b/dds/DCPS/RTPS/Sedp.cpp @@ -2121,6 +2121,9 @@ void Sedp::remove_from_bit_i(const DiscoveredSubscription& sub) { #ifndef DDS_HAS_MINIMUM_BIT + ACE_Reverse_Lock rev_lock(lock_); + ACE_GUARD(ACE_Reverse_Lock< ACE_Thread_Mutex>, rg, rev_lock); + DCPS::SubscriptionBuiltinTopicDataDataReaderImpl* bit = sub_bit(); // bit may be null if the DomainParticipant is shutting down if (bit && sub.bit_ih_ != DDS::HANDLE_NIL) {