Skip to content

Commit 185b937

Browse files
xjzermergify[bot]
authored andcommitted
Fix double-locking issue in DataSharingListener (#5468)
Signed-off-by: Xiaojing Cao <[email protected]> (cherry picked from commit 059457a)
1 parent 28552ce commit 185b937

File tree

1 file changed

+1
-4
lines changed

1 file changed

+1
-4
lines changed

src/cpp/rtps/DataSharing/DataSharingListener.cpp

+1-4
Original file line numberDiff line numberDiff line change
@@ -49,18 +49,15 @@ DataSharingListener::~DataSharingListener()
4949

5050
void DataSharingListener::run()
5151
{
52-
std::unique_lock<Segment::mutex> lock(notification_->notification_->notification_mutex, std::defer_lock);
5352
while (is_running_.load())
5453
{
5554
try
5655
{
57-
lock.lock();
56+
std::unique_lock<Segment::mutex> lock(notification_->notification_->notification_mutex);
5857
notification_->notification_->notification_cv.wait(lock, [&]
5958
{
6059
return !is_running_.load() || notification_->notification_->new_data.load();
6160
});
62-
63-
lock.unlock();
6461
}
6562
catch (const boost::interprocess::interprocess_exception& /*e*/)
6663
{

0 commit comments

Comments
 (0)