Skip to content

[21355] Make on_xxx_matched thread-safe (backport #6371)#6382

Open
mergify[bot] wants to merge 1 commit into
2.14.xfrom
mergify/bp/2.14.x/pr-6371
Open

[21355] Make on_xxx_matched thread-safe (backport #6371)#6382
mergify[bot] wants to merge 1 commit into
2.14.xfrom
mergify/bp/2.14.x/pr-6371

Conversation

@mergify
Copy link
Copy Markdown
Contributor

@mergify mergify Bot commented Apr 28, 2026

Description

This fixes a data race in the matched callbacks of the inner listeners in DataReaderImpl and DataWriterImpl.
The regression test does not always fail before the fix (but always fails for me with --repeat until-fail:100).
It always passes with the fix in place.

@Mergifyio backport 3.4.x 3.2.x 2.14.x

Contributor Checklist

  • Commit messages follow the project guidelines.

  • The code follows the style guidelines of this project.

  • Tests that thoroughly check the new feature have been added/Regression tests checking the bug and its fix have been added; the added tests pass locally

  • Any new/modified methods have been properly documented using Doxygen.

  • N/A: Any new configuration API has an equivalent XML API (with the corresponding XSD extension)

  • Changes are backport compatible: they do NOT break ABI nor change library core behavior.

  • Changes are API compatible.

  • N/A: New feature has been added to the versions.md file (if applicable).

  • N/A: New feature has been documented/Current behavior is correctly described in the documentation.

  • Applicable backports have been included in the description.

Reviewer Checklist

  • The PR has a milestone assigned.
  • The title and description correctly express the PR's purpose.
  • Check contributor checklist is correct.
  • If this is a critical bug fix, backports to the critical-only supported branches have been requested.
  • Check CI results: changes do not issue any warning.
  • Check CI results: failing tests are unrelated with the changes.

This is an automatic backport of pull request #6371 done by [Mergify](https://mergify.com).

* Refs #21355. Added regression test.

Signed-off-by: Miguel Company <miguelcompany@eprosima.com>

* Refs #21355. Improve readability in EDP.cpp.

Signed-off-by: Miguel Company <miguelcompany@eprosima.com>

* Refs #21355. Protect `InnerDataWriterListener::on_writer_matched`.

Signed-off-by: Miguel Company <miguelcompany@eprosima.com>

* Refs #21355. Protect `InnerDataReaderListener::on_reader_matched`.

Signed-off-by: Miguel Company <miguelcompany@eprosima.com>

---------

Signed-off-by: Miguel Company <miguelcompany@eprosima.com>
(cherry picked from commit de70d42)

# Conflicts:
#	src/cpp/fastdds/publisher/DataWriterImpl.hpp
#	src/cpp/rtps/builtin/discovery/endpoint/EDP.cpp
#	test/blackbox/common/DDSBlackboxTestsDiscovery.cpp
@mergify mergify Bot added the conflicts Backport PR wich git cherry pick failed label Apr 28, 2026
@mergify
Copy link
Copy Markdown
Contributor Author

mergify Bot commented Apr 28, 2026

Cherry-pick of de70d42 has failed:

On branch mergify/bp/2.14.x/pr-6371
Your branch is up to date with 'origin/2.14.x'.

You are currently cherry-picking commit de70d42f6.
  (fix conflicts and run "git cherry-pick --continue")
  (use "git cherry-pick --skip" to skip this patch)
  (use "git cherry-pick --abort" to cancel the cherry-pick operation)

Changes to be committed:
	modified:   src/cpp/fastdds/publisher/DataWriterImpl.cpp
	modified:   src/cpp/fastdds/subscriber/DataReaderImpl.cpp
	modified:   src/cpp/fastdds/subscriber/DataReaderImpl.hpp

Unmerged paths:
  (use "git add <file>..." to mark resolution)
	both modified:   src/cpp/fastdds/publisher/DataWriterImpl.hpp
	both modified:   src/cpp/rtps/builtin/discovery/endpoint/EDP.cpp
	both modified:   test/blackbox/common/DDSBlackboxTestsDiscovery.cpp

To fix up this pull request, you can check it out locally. See documentation: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally

@mergify mergify Bot mentioned this pull request Apr 28, 2026
13 tasks
@MiguelCompany MiguelCompany added this to the v2.14.7 milestone Apr 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

conflicts Backport PR wich git cherry pick failed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant