diff --git a/fairmq/plugins/Control.cxx b/fairmq/plugins/Control.cxx index 729cf961..028d89fb 100644 --- a/fairmq/plugins/Control.cxx +++ b/fairmq/plugins/Control.cxx @@ -24,7 +24,7 @@ namespace std::atomic gLastSignal(0); std::atomic gSignalCount(0); - extern "C" auto signal_handler(int signal) -> void + extern "C" auto sigint_handler(int signal) -> void { ++gSignalCount; gLastSignal = signal; @@ -33,6 +33,11 @@ namespace std::abort(); } } + + extern "C" auto sigterm_handler(int signal) -> void + { + gLastSignal = signal; + } } namespace fair @@ -85,8 +90,8 @@ Control::Control(const string& name, const Plugin::Version version, const string if (GetProperty("catch-signals") > 0) { LOG(debug) << "Plugin '" << name << "' is setting up signal handling for SIGINT and SIGTERM"; fSignalHandlerThread = thread(&Control::SignalHandler, this); - signal(SIGINT, signal_handler); - signal(SIGTERM, signal_handler); + signal(SIGINT, sigint_handler); + signal(SIGTERM, sigterm_handler); } else { LOG(warn) << "Signal handling (e.g. Ctrl-C) has been deactivated."; }