Skip to content

Conversation

@mergify
Copy link
Contributor

@mergify mergify bot commented Dec 4, 2025

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.

  • reuse signal_received_ as std::atomic_int to 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.
  • external data structure such as code space static variable or per-instance state using instance IDs or pointers, avoiding class member changes. However, this adds complexity and potential thread-safety concerns.

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


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

Signed-off-by: Tomoya Fujita <[email protected]>
(cherry picked from commit 3ce946f)
@fujitatomoya
Copy link
Collaborator

Pulls: #3004, ros2/system_tests#581
Gist: https://gist.githubusercontent.com/fujitatomoya/b29bb27cb3ff7ae79559a7817eb7e719/raw/bcd144f1157d962a26e41b289ef5018abc6441c2/ros2.repos
BUILD args: --packages-above-and-dependencies rclcpp test_rclcpp
TEST args: --packages-above rclcpp test_rclcpp
ROS Distro: jazzy
Job: ci_launcher
ci_launcher ran: https://ci.ros2.org/job/ci_launcher/17683

@fujitatomoya
Copy link
Collaborator

fujitatomoya commented Dec 4, 2025

  • Linux Build Status
  • Linux-aarch64 Build Status
  • Linux-rhel Build Status
  • Windows Build Status

@ahcorde ahcorde merged commit 27edfe1 into jazzy Dec 5, 2025
3 checks passed
@ahcorde ahcorde deleted the mergify/bp/jazzy/pr-3000 branch December 5, 2025 14:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants