Skip to content

Commit 333b279

Browse files
committed
Refs #21690. Compare against old default locators.
Signed-off-by: Miguel Company <[email protected]>
1 parent e947025 commit 333b279

File tree

1 file changed

+9
-5
lines changed
  • src/cpp/rtps/builtin/discovery/participant

1 file changed

+9
-5
lines changed

src/cpp/rtps/builtin/discovery/participant/PDP.cpp

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1754,11 +1754,15 @@ void PDP::update_endpoint_locators_if_default_nts(
17541754
const RTPSParticipantAttributes& old_atts,
17551755
const RTPSParticipantAttributes& new_atts)
17561756
{
1757+
// Check if default locators have changed
17571758
const auto& old_default_unicast = old_atts.defaultUnicastLocatorList;
1759+
const auto& old_default_multicast = old_atts.defaultMulticastLocatorList;
17581760
const auto& new_default_unicast = new_atts.defaultUnicastLocatorList;
1761+
const auto& new_default_multicast = new_atts.defaultMulticastLocatorList;
17591762

17601763
// Early return if there is no change in default unicast locators
1761-
if (old_default_unicast == new_default_unicast)
1764+
if ((old_default_unicast == new_default_unicast) &&
1765+
(old_default_multicast == new_default_multicast))
17621766
{
17631767
return;
17641768
}
@@ -1767,8 +1771,8 @@ void PDP::update_endpoint_locators_if_default_nts(
17671771
EDP* edp = get_edp();
17681772
for (BaseWriter* writer : writers)
17691773
{
1770-
if (writer->getAttributes().multicastLocatorList.empty() &&
1771-
writer->getAttributes().unicastLocatorList.empty())
1774+
if ((old_default_multicast == writer->getAttributes().multicastLocatorList) &&
1775+
(old_default_unicast == writer->getAttributes().unicastLocatorList))
17721776
{
17731777
WriterProxyData* wdata = nullptr;
17741778
GUID_t participant_guid;
@@ -1787,8 +1791,8 @@ void PDP::update_endpoint_locators_if_default_nts(
17871791
}
17881792
for (BaseReader* reader : readers)
17891793
{
1790-
if (reader->getAttributes().multicastLocatorList.empty() &&
1791-
reader->getAttributes().unicastLocatorList.empty())
1794+
if ((old_default_multicast == reader->getAttributes().multicastLocatorList) &&
1795+
(old_default_unicast == reader->getAttributes().unicastLocatorList))
17921796
{
17931797
ReaderProxyData* rdata = nullptr;
17941798
GUID_t participant_guid;

0 commit comments

Comments
 (0)