CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
UnixSignalHandlers.h
Go to the documentation of this file.
1 #ifndef FWCore_Utilities_UnixSignalHandlers_h
2 #define FWCore_Utilities_UnixSignalHandlers_h
3 
4 /*----------------------------------------------------------------------
5 
6 UnixSignalHandlers: A set of little utility functions to establish
7 and manipulate Unix-style signal handling.
8 
9 ----------------------------------------------------------------------*/
10 
11 #include <signal.h>
12 #include <atomic>
13 #include "boost/thread/thread.hpp"
14 
15 namespace edm {
16 
17  extern volatile std::atomic<bool> shutdown_flag;
18 
19  extern "C" {
20  void ep_sigusr2(int,siginfo_t*,void*);
21  typedef void(*CFUNC)(int,siginfo_t*,void*);
22  }
23 
24  void disableAllSigs(sigset_t* oldset);
25  void disableRTSigs();
26  void enableSignal(sigset_t* newset, int signum);
27  void disableSignal(sigset_t* newset, int signum);
28  void reenableSigs(sigset_t* oldset);
29  void installSig(int signum, CFUNC func);
30  void installCustomHandler(int signum, CFUNC func);
31  void sigInventory();
32 
33 } // end of namespace edm
34 #endif
void installSig(int signum, CFUNC func)
void disableAllSigs(sigset_t *oldset)
volatile std::atomic< bool > shutdown_flag
void installCustomHandler(int signum, CFUNC func)
void enableSignal(sigset_t *newset, int signum)
void reenableSigs(sigset_t *oldset)
void disableSignal(sigset_t *newset, int signum)
void sigInventory()
void ep_sigusr2(int, siginfo_t *, void *)
void(* CFUNC)(int, siginfo_t *, void *)
void disableRTSigs()