make this work non-threaded
authorSimon Marlow <marlowsd@gmail.com>
Wed, 31 Mar 2010 12:02:07 +0000 (12:02 +0000)
committerSimon Marlow <marlowsd@gmail.com>
Wed, 31 Mar 2010 12:02:07 +0000 (12:02 +0000)
smp/callback001/Main.hs

index 8aa5f62..0abdbaf 100644 (file)
@@ -14,9 +14,11 @@ main = do
   [s] <- getArgs\r
   let n = read s :: Int\r
   sem <- newQSemN 0\r
-  replicateM n (putStr "." >> hFlush stdout >> forkOS (thread sem) >> thread sem)\r
+  let fork = if rtsSupportsBoundThreads then forkOS else forkIO\r
+  replicateM n (putStr "." >> hFlush stdout >> fork (thread sem) >> thread sem)\r
   waitQSemN sem (n*2)\r
 \r
+\r
 thread sem = do\r
   var <- newIORef 0\r
   let f = modifyIORef var (1+)\r