-
Notifications
You must be signed in to change notification settings - Fork 483
remove I/O from signal handler. #3000
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
Conversation
Signed-off-by: Tomoya Fujita <[email protected]>
58c4c40 to
fecd6f5
Compare
|
@jmachowinski do we have other options to backport #2986? i tried to think of the possible approach, but ended up having this PR instead. |
|
Pulls: #3000, ros2/system_tests#580 |
|
@jmachowinski friendly ping |
|
No worries, thanks for coming back 👍 Ah yeah that is what i though too, that we can do at least. i will add it and start the CI. |
Signed-off-by: Tomoya Fujita <[email protected]>
|
@Mergifyio backport jazzy humble |
✅ Backports have been created
|
Signed-off-by: Tomoya Fujita <[email protected]> (cherry picked from commit 3ce946f)
Signed-off-by: Tomoya Fujita <[email protected]> (cherry picked from commit 3ce946f)
(cherry picked from commit 3ce946f) Signed-off-by: Tomoya Fujita <[email protected]> Co-authored-by: Tomoya Fujita <[email protected]>
(cherry picked from commit 3ce946f) Signed-off-by: Tomoya Fujita <[email protected]> Co-authored-by: Tomoya Fujita <[email protected]>
Description
Backport of #2986
I tried to think of the ABI compatible way to backport the #2986, because it is critical issue.
But ended up removing the I/O (including possible rcl_publish) from the signal handler.
signal_received_asstd::atomic_intto store the signal number. this also changes the memory layout/alighment from 1 byte to 4 bytes. checked with amd64 and arm64 platform, this is also gonna be the breaking ABI change, and not guaranteed by standard.Note
this requires ros2/system_tests#580
Is this user-facing behavior change?
Yes, the user application cannot expect the logging message (or publish) via signal handler.
Did you use Generative AI?
No,
Additional Information