File indexing completed on 2025-05-23 23:48:35
0001 #ifndef FWCore_Utilities_UnixSignalHandlers_h
0002 #define FWCore_Utilities_UnixSignalHandlers_h
0003
0004
0005
0006
0007
0008
0009
0010
0011 #include "FWCore/Utilities/interface/thread_safety_macros.h"
0012 #include <csignal>
0013 #include <atomic>
0014
0015 namespace edm {
0016
0017 CMS_THREAD_SAFE extern volatile std::atomic<bool> shutdown_flag;
0018
0019 extern "C" {
0020 void ep_sigusr2(int, siginfo_t*, void*);
0021 typedef void (*CFUNC)(int, siginfo_t*, void*);
0022 }
0023
0024 void disableAllSigs(sigset_t* oldset);
0025 void disableRTSigs();
0026 void enableSignal(sigset_t* newset, int signum);
0027 void disableSignal(sigset_t* newset, int signum);
0028 void reenableSigs(sigset_t* oldset);
0029 void installSig(int signum, CFUNC func);
0030 void installCustomHandler(int signum, CFUNC func);
0031 void sigInventory();
0032
0033 }
0034 #endif