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

SHM port OpenMode compatibility is not always enforced #4634

Closed
MiguelCompany opened this issue Mar 27, 2024 Discussed in #4504 · 2 comments · Fixed by #4635
Closed

SHM port OpenMode compatibility is not always enforced #4634

MiguelCompany opened this issue Mar 27, 2024 Discussed in #4504 · 2 comments · Fixed by #4635
Labels
bug Issue to report a bug

Comments

@MiguelCompany
Copy link
Member

Discussed in #4504

Originally posted by wddpfx March 5, 2024
The OpenMode defined as that:
image_24

But when we open a port , it will call function "open_port_internal" and annotation say "If the port doesn't exist in the system a port with port_id is created。otherwise the existing port is opened.“

But if the port is existing,with the openmode is ReadShared,. Now we open as ReadExclusive. So port_node->is_opened_read_exclusive become TRUE from FALSE. But "ReadShared (multiple listeners / multiple writers): Once a port is opened ReadShared cannot be opened ReadExclusive.", now a port is opened ReadShared we can open it ReadExclusive successful. Why?
image_25

@MiguelCompany MiguelCompany added the bug Issue to report a bug label Mar 27, 2024
@MiguelCompany MiguelCompany changed the title Is there a bug about shared memory? SHM port OpenMode compatibility is not always enforced Mar 27, 2024
@MiguelCompany
Copy link
Member Author

@wddpfx Thank you for finding a bug in Fast DDS. I've just open #4635 which fixes the issue.

@wddpfx
Copy link

wddpfx commented Mar 29, 2024

@MiguelCompany How about this question:#4505

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Issue to report a bug
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants