6868SignalHandler::signal_handler (
6969 int signum, siginfo_t * siginfo, void * context)
7070{
71- RCLCPP_INFO (SignalHandler::get_logger (), " signal_handler(signum=%d)" , signum);
7271 auto & instance = SignalHandler::get_global_signal_handler ();
7372
7473 auto old_signal_handler = instance.get_old_signal_handler (signum);
@@ -85,13 +84,12 @@ SignalHandler::signal_handler(
8584 old_signal_handler.sa_handler (signum);
8685 }
8786 }
88- instance.signal_handler_common ();
87+ instance.signal_handler_common (signum );
8988}
9089#else
9190void
9291SignalHandler::signal_handler (int signum)
9392{
94- RCLCPP_INFO (SignalHandler::get_logger (), " signal_handler(signum=%d)" , signum);
9593 auto & instance = SignalHandler::get_global_signal_handler ();
9694 auto old_signal_handler = instance.get_old_signal_handler (signum);
9795 if (
@@ -100,7 +98,7 @@ SignalHandler::signal_handler(int signum)
10098 {
10199 old_signal_handler (signum);
102100 }
103- instance.signal_handler_common ();
101+ instance.signal_handler_common (signum );
104102}
105103#endif
106104
@@ -245,13 +243,11 @@ SignalHandler::get_old_signal_handler(int signum)
245243}
246244
247245void
248- SignalHandler::signal_handler_common ()
246+ SignalHandler::signal_handler_common (int signum )
249247{
250248 auto & instance = SignalHandler::get_global_signal_handler ();
249+ instance.signal_number_ .store (signum);
251250 instance.signal_received_ .store (true );
252- RCLCPP_DEBUG (
253- get_logger (),
254- " signal_handler(): notifying deferred signal handler" );
255251 instance.notify_signal_handler ();
256252}
257253
@@ -260,6 +256,8 @@ SignalHandler::deferred_signal_handler()
260256{
261257 while (true ) {
262258 if (signal_received_.exchange (false )) {
259+ int signum = signal_number_.load ();
260+ RCLCPP_INFO (get_logger (), " signal_handler(signum=%d)" , signum);
263261 RCLCPP_DEBUG (get_logger (), " deferred_signal_handler(): shutting down" );
264262 for (auto context_ptr : rclcpp::get_contexts ()) {
265263 if (context_ptr->get_init_options ().shutdown_on_signal ) {
0 commit comments