109 lines
3.3 KiB
Haskell
109 lines
3.3 KiB
Haskell
|
{-# LANGUAGE CPP #-}
|
||
|
|
||
|
import System.Posix.Signals
|
||
|
|
||
|
#include "ghcconfig.h"
|
||
|
|
||
|
main = do
|
||
|
print (testMembers emptySignalSet)
|
||
|
print (testMembers emptyset)
|
||
|
print (testMembers fullSignalSet)
|
||
|
print (testMembers fullset)
|
||
|
|
||
|
fullset = internalAbort `addSignal`
|
||
|
realTimeAlarm `addSignal`
|
||
|
busError `addSignal`
|
||
|
processStatusChanged `addSignal`
|
||
|
continueProcess `addSignal`
|
||
|
floatingPointException `addSignal`
|
||
|
lostConnection `addSignal`
|
||
|
illegalInstruction `addSignal`
|
||
|
keyboardSignal `addSignal`
|
||
|
killProcess `addSignal`
|
||
|
openEndedPipe `addSignal`
|
||
|
keyboardTermination `addSignal`
|
||
|
segmentationViolation `addSignal`
|
||
|
softwareStop `addSignal`
|
||
|
softwareTermination `addSignal`
|
||
|
keyboardStop `addSignal`
|
||
|
backgroundRead `addSignal`
|
||
|
backgroundWrite `addSignal`
|
||
|
userDefinedSignal1 `addSignal`
|
||
|
userDefinedSignal2 `addSignal`
|
||
|
#if HAVE_SIGPOLL
|
||
|
pollableEvent `addSignal`
|
||
|
#endif
|
||
|
profilingTimerExpired `addSignal`
|
||
|
badSystemCall `addSignal`
|
||
|
breakpointTrap `addSignal`
|
||
|
urgentDataAvailable `addSignal`
|
||
|
virtualTimerExpired `addSignal`
|
||
|
cpuTimeLimitExceeded `addSignal`
|
||
|
fileSizeLimitExceeded `addSignal`
|
||
|
emptySignalSet
|
||
|
|
||
|
emptyset = internalAbort `deleteSignal`
|
||
|
realTimeAlarm `deleteSignal`
|
||
|
busError `deleteSignal`
|
||
|
processStatusChanged `deleteSignal`
|
||
|
continueProcess `deleteSignal`
|
||
|
floatingPointException `deleteSignal`
|
||
|
lostConnection `deleteSignal`
|
||
|
illegalInstruction `deleteSignal`
|
||
|
keyboardSignal `deleteSignal`
|
||
|
killProcess `deleteSignal`
|
||
|
openEndedPipe `deleteSignal`
|
||
|
keyboardTermination `deleteSignal`
|
||
|
segmentationViolation `deleteSignal`
|
||
|
softwareStop `deleteSignal`
|
||
|
softwareTermination `deleteSignal`
|
||
|
keyboardStop `deleteSignal`
|
||
|
backgroundRead `deleteSignal`
|
||
|
backgroundWrite `deleteSignal`
|
||
|
userDefinedSignal1 `deleteSignal`
|
||
|
userDefinedSignal2 `deleteSignal`
|
||
|
#if HAVE_SIGPOLL
|
||
|
pollableEvent `deleteSignal`
|
||
|
#endif
|
||
|
profilingTimerExpired `deleteSignal`
|
||
|
badSystemCall `deleteSignal`
|
||
|
breakpointTrap `deleteSignal`
|
||
|
urgentDataAvailable `deleteSignal`
|
||
|
virtualTimerExpired `deleteSignal`
|
||
|
cpuTimeLimitExceeded `deleteSignal`
|
||
|
fileSizeLimitExceeded `deleteSignal`
|
||
|
fullSignalSet
|
||
|
|
||
|
testMembers set = [
|
||
|
internalAbort `inSignalSet` set,
|
||
|
realTimeAlarm `inSignalSet` set,
|
||
|
busError `inSignalSet` set,
|
||
|
processStatusChanged `inSignalSet` set,
|
||
|
continueProcess `inSignalSet` set,
|
||
|
floatingPointException `inSignalSet` set,
|
||
|
lostConnection `inSignalSet` set,
|
||
|
illegalInstruction `inSignalSet` set,
|
||
|
keyboardSignal `inSignalSet` set,
|
||
|
killProcess `inSignalSet` set,
|
||
|
openEndedPipe `inSignalSet` set,
|
||
|
keyboardTermination `inSignalSet` set,
|
||
|
segmentationViolation `inSignalSet` set,
|
||
|
softwareStop `inSignalSet` set,
|
||
|
softwareTermination `inSignalSet` set,
|
||
|
keyboardStop `inSignalSet` set,
|
||
|
backgroundRead `inSignalSet` set,
|
||
|
backgroundWrite `inSignalSet` set,
|
||
|
userDefinedSignal1 `inSignalSet` set,
|
||
|
userDefinedSignal2 `inSignalSet` set,
|
||
|
#if HAVE_SIGPOLL
|
||
|
pollableEvent `inSignalSet` set,
|
||
|
#endif
|
||
|
profilingTimerExpired `inSignalSet` set,
|
||
|
badSystemCall `inSignalSet` set,
|
||
|
breakpointTrap `inSignalSet` set,
|
||
|
urgentDataAvailable `inSignalSet` set,
|
||
|
virtualTimerExpired `inSignalSet` set,
|
||
|
cpuTimeLimitExceeded `inSignalSet` set,
|
||
|
fileSizeLimitExceeded `inSignalSet` set
|
||
|
]
|