Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[20701] Enforce SHM ports open mode exclusions (backport #4635) #4646

Merged
merged 4 commits into from
Apr 12, 2024

Conversation

mergify[bot]
Copy link
Contributor

@mergify mergify bot commented Apr 3, 2024

Description

As originally reported in #4504 a port could be open first with ReadShared and then with ReadExclusive the internal state of the port was incorrectly changed. This meant that the same port could be used at the same time for unicast and multicast.

This PR fixes #4634 by checking incompatibilities inside lock_read_exlcusive / lock_read_shared methods of the Port class.

@Mergifyio backport 2.13.x 2.10.x 2.6.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.

  • Changes are ABI compatible.

  • 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.
  • 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 #4635 done by [Mergify](https://mergify.com).

* Refs #20701. Added unit regression tests.

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

* Refs #20701. Added blackbox regression test.

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

* Refs #20701. Fix issue.

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

---------

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

# Conflicts:
#	test/blackbox/common/BlackboxTestsTransportSHM.cpp
@mergify mergify bot added the conflicts Backport PR wich git cherry pick failed label Apr 3, 2024
Copy link
Contributor Author

mergify bot commented Apr 3, 2024

Cherry-pick of 3d159dc has failed:

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

You are currently cherry-picking commit 3d159dc8c.
  (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/rtps/transport/shared_mem/SharedMemGlobal.hpp
	modified:   test/unittest/transport/SharedMemTests.cpp

Unmerged paths:
  (use "git add <file>..." to mark resolution)
	both modified:   test/blackbox/common/BlackboxTestsTransportSHM.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

@JesusPoderoso JesusPoderoso added this to the v2.10.4 milestone Apr 3, 2024
Signed-off-by: Miguel Company <miguelcompany@eprosima.com>
@MiguelCompany MiguelCompany removed the conflicts Backport PR wich git cherry pick failed label Apr 11, 2024
@MiguelCompany MiguelCompany self-requested a review April 11, 2024 05:49
@github-actions github-actions bot added the ci-pending PR which CI is running label Apr 11, 2024
Signed-off-by: Miguel Company <miguelcompany@eprosima.com>
@MiguelCompany MiguelCompany requested review from MiguelCompany and removed request for MiguelCompany April 11, 2024 09:42
Signed-off-by: Miguel Company <miguelcompany@eprosima.com>
@MiguelCompany MiguelCompany requested review from MiguelCompany and removed request for MiguelCompany April 11, 2024 09:48
@MiguelCompany
Copy link
Member

@richiprosima Please test this

1 similar comment
@MiguelCompany
Copy link
Member

@richiprosima Please test this

@MiguelCompany
Copy link
Member

@richiprosima Please test mac

@MiguelCompany MiguelCompany merged commit 54090bf into 2.10.x Apr 12, 2024
12 of 16 checks passed
@MiguelCompany MiguelCompany deleted the mergify/bp/2.10.x/pr-4635 branch April 12, 2024 05:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ci-pending PR which CI is running
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants