[21232] Fix flaky latency tests on mac #5009
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Some of the
Latency tests
failed in mac from time to time, in particular, the intraprocess ones. Analysis revealed the following backtrace:In
intraprocess
there is a race in destruction since theLatencySubsriber
deletes its participant and then, when theLatencyPublisher
deletes their entites it tries to access theEDP
builtins on theLatencySubscriber
which are deleted.This PR lets the user endpoints be destroyed while guaranteeing that both are alive before deleting the participants.
In addition, proposes a refactor for using a
BaseReader
instead of aRTPSReader
for thelocal_reader_
member of thereaderproxy
to save up adynamic_cast
when downcasting.Contributor Checklist
versions.md
file (if applicable).Reviewer Checklist