diff --git a/rclpy/src/rclpy/signal_handler.cpp b/rclpy/src/rclpy/signal_handler.cpp index ec0f12bb8..9c08e61c2 100644 --- a/rclpy/src/rclpy/signal_handler.cpp +++ b/rclpy/src/rclpy/signal_handler.cpp @@ -57,7 +57,6 @@ std::thread g_deferred_signal_handling_thread; // relying on python GIL for safety std::atomic g_signal_handler_installed = false; -std::atomic g_is_sigterm; void notify_signal_handler() noexcept @@ -141,9 +140,7 @@ setup_deferred_signal_handler() wait_for_signal(); if (g_signal_handler_installed.load()) { trigger_guard_conditions(); - if (g_is_sigterm.exchange(false)) { - rclpy::shutdown_contexts(); - } + rclpy::shutdown_contexts(); } } }); @@ -328,7 +325,6 @@ DEFINE_SIGNAL_HANDLER(rclpy_sigterm_handler) // Try to unregister again. unregister_sigint_signal_handler(); } else { - g_is_sigterm.exchange(true); notify_signal_handler(); } }