Skip to content

Conversation

@jmachowinski
Copy link
Collaborator

Code cleanup to use std::conditional_variable in the signal handler code instead of a custom home brew version.

Description

Reworked version of
#2998

@jmachowinski jmachowinski force-pushed the sync_with_conditional branch 2 times, most recently from 1c2a717 to 096cc95 Compare November 24, 2025 15:23
Code cleanup to use std::conditional_variable in the signal handler
code instead of a custom home brew version.

Signed-off-by: Janosch Machowinski <[email protected]>
Copy link
Collaborator

@fujitatomoya fujitatomoya left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jmachowinski thanks for the fix, i will start the CI.

Note: not only the replacement of custom semaphore notification code for handling signals (SIGINT/SIGTERM) with std::condition_variable and related modern C++ synchronization primitives, but also having dedicated fields (atomic field) for SIGTERM and SIGINT allows the system to reliably record if each signal was received, even if they arrive close together or simultaneously.

@fujitatomoya
Copy link
Collaborator

Pulls: #2999
Gist: https://gist.githubusercontent.com/fujitatomoya/ff163fdb6450f491c07c7afa3dba0ceb/raw/f2952c0364cd9a9d6320782c2b5240aeee5837f2/ros2.repos
BUILD args: --packages-above-and-dependencies ‎rclcpp
TEST args: --packages-above ‎rclcpp
ROS Distro: rolling
Job: ci_launcher
ci_launcher ran: https://ci.ros2.org/job/ci_launcher/17607

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

@fujitatomoya
Copy link
Collaborator

Pulls: #2999
Gist: https://gist.githubusercontent.com/fujitatomoya/09871ad60ca47d4c954d9f9333bb8108/raw/f2952c0364cd9a9d6320782c2b5240aeee5837f2/ros2.repos
BUILD args: --packages-above-and-dependencies rclcpp
TEST args: --packages-above rclcpp
ROS Distro: rolling
Job: ci_launcher
ci_launcher ran: https://ci.ros2.org/job/ci_launcher/17608

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

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.

2 participants