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.
The check function for the ownership test loops till
MAX_SAMPLES_READ
samples have been processed.Those samples should be from the list of published samples stored for each publisher.
In some cases where
VOLATILE
durability is used, the subscriber might miss the first published samples, which leads to a deadlock in the test (it continuously insists in continuing the loop here)This PR introduces a mechanism where the publishers communicate the last sample saved in their multiprocess queue.
The check function can then break the loop if one of those samples has already been processed (i.e. it knows the publisher will not be adding elements to the muliprocess queue).
I checked it here with the binary I have prepared for the last release of Fast DDS, and the latest one for Connext DDS