aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/signals002.hs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/signals002.hs')
-rw-r--r--tests/signals002.hs15
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/signals002.hs b/tests/signals002.hs
new file mode 100644
index 0000000..b2e6e5e
--- /dev/null
+++ b/tests/signals002.hs
@@ -0,0 +1,15 @@
+import System.Posix
+import Control.Concurrent
+
+-- !!! test blockSignals, raiseSignal, unblockSignals, getPendingSignals
+
+main = do
+ blockSignals ( userDefinedSignal1 `addSignal` emptySignalSet )
+ raiseSignal userDefinedSignal1
+ set <- getPendingSignals
+ print (userDefinedSignal1 `inSignalSet` set)
+ m <- newEmptyMVar
+ installHandler userDefinedSignal1
+ (Catch (putStrLn "hello" >> putMVar m ())) Nothing
+ awaitSignal (Just emptySignalSet)
+ takeMVar m