[Haskell-cafe] Why does sleep not work?

Corey O'Connor coreyoconnor at gmail.com
Tue Feb 10 12:57:19 EST 2009


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 <newhoggy at gmail.com>:
> 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 <bugfact at gmail.com>
> 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 <newhoggy at gmail.com>
>>>
>>> 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 at haskell.org
>>> http://www.haskell.org/mailman/listinfo/haskell-cafe
>>>
>>
>
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>
>


More information about the Haskell-Cafe mailing list