diff options
Diffstat (limited to 'testsuite/tests/concurrent/should_run/4811.hs')
-rw-r--r-- | testsuite/tests/concurrent/should_run/4811.hs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/testsuite/tests/concurrent/should_run/4811.hs b/testsuite/tests/concurrent/should_run/4811.hs new file mode 100644 index 0000000000..5aad0a51df --- /dev/null +++ b/testsuite/tests/concurrent/should_run/4811.hs @@ -0,0 +1,14 @@ +import Control.Concurrent +import Control.Monad + +-- tests for a bug where throwTo targets a thread just created by +-- forkOn, which is still in the process of migrating to another CPU (#4811) + +main = do + m <- newEmptyMVar + forkOn 0 $ do + replicateM_ 1000 $ do + t <- forkOn 1 $ return () + killThread t + putMVar m () + takeMVar m |