summaryrefslogtreecommitdiff
path: root/testsuite/tests/concurrent/should_run/conc069a.hs
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/tests/concurrent/should_run/conc069a.hs')
-rw-r--r--testsuite/tests/concurrent/should_run/conc069a.hs19
1 files changed, 19 insertions, 0 deletions
diff --git a/testsuite/tests/concurrent/should_run/conc069a.hs b/testsuite/tests/concurrent/should_run/conc069a.hs
new file mode 100644
index 0000000000..5bf619bec1
--- /dev/null
+++ b/testsuite/tests/concurrent/should_run/conc069a.hs
@@ -0,0 +1,19 @@
+import Control.Concurrent
+import Control.Exception
+
+main = do
+ -- stat -- main thread is not bound in GHCi
+ m <- newEmptyMVar
+ forkIO (do stat; putMVar m ())
+ takeMVar m
+ mask_ $ forkIO (do stat; putMVar m ())
+ takeMVar m
+ forkOS (do stat; putMVar m ())
+ takeMVar m
+ mask_ $ forkOS (do stat; putMVar m ())
+ takeMVar m
+
+stat = do
+ x <- isCurrentThreadBound
+ y <- getMaskingState
+ print (x,y)