diff options
Diffstat (limited to 'testsuite/tests/concurrent/should_run/conc066.hs')
-rw-r--r-- | testsuite/tests/concurrent/should_run/conc066.hs | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/testsuite/tests/concurrent/should_run/conc066.hs b/testsuite/tests/concurrent/should_run/conc066.hs new file mode 100644 index 0000000000..81638dfd10 --- /dev/null +++ b/testsuite/tests/concurrent/should_run/conc066.hs @@ -0,0 +1,13 @@ +-- Test for bug #1047 + +import Control.Concurrent +import Control.Exception + +-- This loop spends most of its time printing stuff, and very occasionally +-- executes 'unblock (return ())'. This test ensures that a thread waiting +-- to throwTo this thread is not blocked indefinitely. +loop = do unblock (return ()); print "alive"; loop + +main = do tid <- forkIO (block loop) + yield + killThread tid |