Rudiments
signalclasses.h
1 // Copyright (c) 1999-2018 David Muse
2 // See the COPYING file for more information.
3 
4 #ifndef RUDIMENTS_SIGNALCLASSES_H
5 #define RUDIMENTS_SIGNALCLASSES_H
6 
7 #include <rudiments/private/signalclassesincludes.h>
8 
12 class RUDIMENTS_DLLSPEC signalset {
13  friend class signalmanager;
14  friend class signalhandler;
15  public:
16 
19 
22 
25  bool addSignal(int32_t signum);
26 
29  bool addAllSignals();
30 
33  bool removeSignal(int32_t signum);
34 
38 
42 
46 
49  int32_t signalIsInSet(int32_t signum) const;
50 
51  #include <rudiments/private/signalset.h>
52 };
53 
54 
55 
58 class RUDIMENTS_DLLSPEC signalmanager {
59  public:
69  static uint32_t alarm(uint32_t seconds);
70 
73  static bool ignoreSignals(const signalset *sset);
74 
78  static bool waitForSignals(const signalset *mask);
79 
84  static bool examineBlockedSignals(signalset *sset);
85 };
86 
87 
90 class RUDIMENTS_DLLSPEC signalhandler {
91  public:
92 
95 
98 
101  void setHandler(void (*handler)(int32_t));
102 
105  void (*getHandler())(int32_t);
106 
113  bool handleSignal(int32_t signum);
114 
123  bool handleSignal(int32_t signum, signalhandler *oldhandler);
124 
127 
130  void addFlag(int32_t flag);
131 
134  void removeFlag(int32_t flag);
135 
138  int32_t getFlags() const;
139 
140 
142  void setMask(const signalset *sset);
143 
145  const signalset *getMask() const;
146 
157  static bool isSignalHandlerIntUsed();
158 
159  #include <rudiments/private/signalhandler.h>
160 
161 };
162 
163 #endif
Definition: signalclasses.h:90
void setHandler(void(*handler)(int32_t))
void(*)(int32_t) getHandler()
Definition: signalclasses.h:105
static bool isSignalHandlerIntUsed()
const signalset * getMask() const
void addFlag(int32_t flag)
void removeFlag(int32_t flag)
bool handleSignal(int32_t signum)
int32_t getFlags() const
bool handleSignal(int32_t signum, signalhandler *oldhandler)
void setMask(const signalset *sset)
void removeAllFlags()
Definition: signalclasses.h:58
static uint32_t alarm(uint32_t seconds)
static bool examineBlockedSignals(signalset *sset)
static bool ignoreSignals(const signalset *sset)
static bool waitForSignals(const signalset *mask)
Definition: signalclasses.h:12
int32_t signalIsInSet(int32_t signum) const
bool removeShutDownSignals()
bool removeCrashSignals()
bool removeAllSignals()
bool addSignal(int32_t signum)
bool removeSignal(int32_t signum)
bool addAllSignals()