Skip to content

Commit cca8d1a

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 7e6ff9d commit cca8d1a

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
@@ -53,18 +53,15 @@ DataSharingListener::~DataSharingListener()
5353

5454
void DataSharingListener::run()
5555
{
56-
std::unique_lock<Segment::mutex> lock(notification_->notification_->notification_mutex, std::defer_lock);
5756
while (is_running_.load())
5857
{
5958
try
6059
{
61-
lock.lock();
60+
std::unique_lock<Segment::mutex> lock(notification_->notification_->notification_mutex);
6261
notification_->notification_->notification_cv.wait(lock, [&]
6362
{
6463
return !is_running_.load() || notification_->notification_->new_data.load();
6564
});
66-
67-
lock.unlock();
6865
}
6966
catch (const boost::interprocess::interprocess_exception& /*e*/)
7067
{

0 commit comments

Comments
 (0)