Skip to content

Commit 64353c9

Browse files
committed
Regulating GUID access by using a mutex in original_writer_tests
Signed-off-by: Emilio Cuesta <emiliocuesta@eprosima.com>
1 parent ec901b6 commit 64353c9

1 file changed

Lines changed: 11 additions & 4 deletions

File tree

ddsrouter_core/test/blackbox/ddsrouter_core/dds/types/test_participants.hpp

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,6 @@ class TestPublisher
159159
{
160160
hello_.index(msg.index());
161161
hello_.message(msg.message());
162-
163162
return writer_->write(&hello_, params);
164163
}
165164

@@ -373,9 +372,11 @@ class TestSubscriber
373372
return listener_.n_key_disposed;
374373
}
375374

376-
eprosima::fastdds::rtps::GUID_t original_writer_guid() const
375+
eprosima::fastdds::rtps::GUID_t original_writer_guid()
377376
{
378-
return listener_.original_writer_guid;
377+
std::lock_guard<std::mutex> lock(listener_.original_writer_guid_mtx);
378+
eprosima::fastdds::rtps::GUID_t guid = listener_.original_writer_guid;
379+
return guid;
379380
}
380381

381382
private:
@@ -446,7 +447,10 @@ class TestSubscriber
446447
n_key_disposed++;
447448
}
448449

449-
original_writer_guid = info.original_writer_info.original_writer_guid();
450+
{
451+
std::lock_guard<std::mutex> lock(original_writer_guid_mtx);
452+
original_writer_guid = info.original_writer_info.original_writer_guid();
453+
}
450454
}
451455
}
452456

@@ -471,6 +475,9 @@ class TestSubscriber
471475
//! Placeholder where original writer GUID is stored
472476
eprosima::fastdds::rtps::GUID_t original_writer_guid;
473477

478+
//! Protects original_writer_guid
479+
std::mutex original_writer_guid_mtx;
480+
474481
std::atomic<std::uint32_t> n_key_disposed;
475482

476483
//! Reference to the sample sent by the publisher

0 commit comments

Comments
 (0)