
The POSIX sleep function is defined as:
sleep() makes the current process sleep until seconds seconds have
elapsed or a signal arrives which is not ignored.
Sounds like a signal is arriving that is interrupting the sleep.
-Corey O'Connor
2009/2/9 John Ky
Hi Peter,
Source code: import System.IO import System.Posix
main = do putStrLn "Waiting for 5 seconds." sleep 5 -- doesn't sleep at all putStrLn "Done."
OS: Mac OS X 10.5
Compile command: ghc --threaded testsleep.hs
If I remove --threaded, then it does sleep.
Thanks,
-John
On Tue, Feb 10, 2009 at 8:59 AM, Peter Verswyvelen
wrote: Hi John, Which sleep are you using? From which module? Can you show the full source with import statements? Cheers, Peter 2009/2/9 John Ky
Hi Haskell Cafe,
I wrote very short program to sleep for 5 seconds compiled with the -threaded option in ghc on the Mac OS X 1.5.
I am finding that using the sleep function doesn't sleep at all, whereas using threadDelay does:
main = do putStrLn "Waiting for 5 seconds." threadDelay 5000000 -- works putStrLn "Done."
main = do putStrLn "Waiting for 5 seconds." sleep 5 -- doesn't sleep at all putStrLn "Done."
Anybody know what's happening?
Thanks
-John
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe