4 #ifndef RUDIMENTS_SIGNALCLASSES_H
5 #define RUDIMENTS_SIGNALCLASSES_H
7 #include <rudiments/private/signalclassesincludes.h>
9 #ifdef RUDIMENTS_NAMESPACE
13 class signalsetprivate;
31 bool addSignal(int32_t signum);
39 bool removeSignal(int32_t signum);
43 bool removeAllSignals();
47 int32_t signalIsInSet(int32_t signum)
const;
49 #include <rudiments/private/signalset.h>
60 static bool sendSignal(pid_t processid, int32_t signum);
64 static bool raiseSignal(int32_t signum);
75 static uint32_t alarm(uint32_t seconds);
79 static bool ignoreSignals(
const signalset *sset);
84 static bool waitForSignals(
const signalset *mask);
90 static bool examineBlockedSignals(
signalset *sset);
96 class signalhandlerprivate;
108 void setHandler(
void (*handler)(int32_t));
120 bool handleSignal(int32_t signum);
130 bool handleSignal(int32_t signum,
signalhandler *oldhandler);
133 void removeAllFlags();
137 void addFlag(int32_t flag);
141 void removeFlag(int32_t flag);
145 int32_t getFlags()
const;
164 static bool isSignalHandlerIntUsed();
166 #include <rudiments/private/signalhandler.h>
170 #ifdef RUDIMENTS_NAMESPACE