-
Notifications
You must be signed in to change notification settings - Fork 793
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
[18966] SHM sending improvements #3642
Conversation
@richiprosima please test this |
@Mergifyio backport 2.6.x 2.9.x 2.10.x |
✅ Backports have been created
|
@richiprosima please test mac test windows |
@richiprosima please test mac test windows |
@richiprosima please test this |
Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Signed-off-by: Javier Santiago <javiersantiago@eprosima.com>
Signed-off-by: Javier Santiago <javiersantiago@eprosima.com>
e7532d2
to
d17af2d
Compare
@richiprosima please test this |
Signed-off-by: Javier Santiago <javiersantiago@eprosima.com>
@richiprosima please test this |
Address Sanitizer failure is unrelated. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM with green Mac CI
@richiprosima Please test mac |
* Refs #18966. Refactor of try_push. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs #18966. Retry try_push after regenerating output port. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs #18966. Clean all output ports on every send. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs #18966. Clean output ports when they have no listeners. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs #18966: Applied suggestions Signed-off-by: Javier Santiago <javiersantiago@eprosima.com> * Refs #18966: Uncrustify Signed-off-by: Javier Santiago <javiersantiago@eprosima.com> * Refs #18966: Prevent port cleanup on Windows platforms Signed-off-by: Javier Santiago <javiersantiago@eprosima.com> --------- Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> Signed-off-by: Javier Santiago <javiersantiago@eprosima.com> Co-authored-by: Miguel Company <MiguelCompany@eprosima.com> (cherry picked from commit 2f80b06) # Conflicts: # src/cpp/rtps/transport/shared_mem/SharedMemTransport.cpp
* Refs #18966. Refactor of try_push. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs #18966. Retry try_push after regenerating output port. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs #18966. Clean all output ports on every send. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs #18966. Clean output ports when they have no listeners. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs #18966: Applied suggestions Signed-off-by: Javier Santiago <javiersantiago@eprosima.com> * Refs #18966: Uncrustify Signed-off-by: Javier Santiago <javiersantiago@eprosima.com> * Refs #18966: Prevent port cleanup on Windows platforms Signed-off-by: Javier Santiago <javiersantiago@eprosima.com> --------- Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> Signed-off-by: Javier Santiago <javiersantiago@eprosima.com> Co-authored-by: Miguel Company <MiguelCompany@eprosima.com> (cherry picked from commit 2f80b06)
* Refs #18966. Refactor of try_push. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs #18966. Retry try_push after regenerating output port. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs #18966. Clean all output ports on every send. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs #18966. Clean output ports when they have no listeners. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs #18966: Applied suggestions Signed-off-by: Javier Santiago <javiersantiago@eprosima.com> * Refs #18966: Uncrustify Signed-off-by: Javier Santiago <javiersantiago@eprosima.com> * Refs #18966: Prevent port cleanup on Windows platforms Signed-off-by: Javier Santiago <javiersantiago@eprosima.com> --------- Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> Signed-off-by: Javier Santiago <javiersantiago@eprosima.com> Co-authored-by: Miguel Company <MiguelCompany@eprosima.com> (cherry picked from commit 2f80b06)
* SHM sending improvements (#3642) * Refs #18966. Refactor of try_push. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs #18966. Retry try_push after regenerating output port. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs #18966. Clean all output ports on every send. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs #18966. Clean output ports when they have no listeners. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs #18966: Applied suggestions Signed-off-by: Javier Santiago <javiersantiago@eprosima.com> * Refs #18966: Uncrustify Signed-off-by: Javier Santiago <javiersantiago@eprosima.com> * Refs #18966: Prevent port cleanup on Windows platforms Signed-off-by: Javier Santiago <javiersantiago@eprosima.com> --------- Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> Signed-off-by: Javier Santiago <javiersantiago@eprosima.com> Co-authored-by: Miguel Company <MiguelCompany@eprosima.com> (cherry picked from commit 2f80b06) # Conflicts: # src/cpp/rtps/transport/shared_mem/SharedMemTransport.cpp * Fixed conflicts Signed-off-by: Javier Santiago <javiersantiago@eprosima.com> --------- Signed-off-by: Javier Santiago <javiersantiago@eprosima.com> Co-authored-by: jsantiago-eProsima <90755661+jsantiago-eProsima@users.noreply.github.com> Co-authored-by: Javier Santiago <javiersantiago@eprosima.com>
* Refs #18966. Refactor of try_push. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs #18966. Retry try_push after regenerating output port. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs #18966. Clean all output ports on every send. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs #18966. Clean output ports when they have no listeners. Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> * Refs #18966: Applied suggestions Signed-off-by: Javier Santiago <javiersantiago@eprosima.com> * Refs #18966: Uncrustify Signed-off-by: Javier Santiago <javiersantiago@eprosima.com> * Refs #18966: Prevent port cleanup on Windows platforms Signed-off-by: Javier Santiago <javiersantiago@eprosima.com> --------- Signed-off-by: Miguel Company <MiguelCompany@eprosima.com> Signed-off-by: Javier Santiago <javiersantiago@eprosima.com> Co-authored-by: Miguel Company <MiguelCompany@eprosima.com> (cherry picked from commit 2f80b06) Co-authored-by: jsantiago-eProsima <90755661+jsantiago-eProsima@users.noreply.github.com>
Description
Improve reliability of sending data through Shared Memory by detecting and deleting stale ports and remapping them when needed. It also adds a retry when sending data in the event the port being used is found to be obsolete.
Contributor Checklist
versions.md
file (if applicable).Reviewer Checklist