[Haskell-cafe] scheduling an alarm
Brian Denheyer
briand at aracnet.com
Tue Jan 26 01:25:36 EST 2010
I cobbled the following together from bits and pieces I found on
mailing lists. Seems straightforward, but the code I've included
just sits there.
The awaitSignal seems to be causing a problem, in that if I remove it
(and don't call forever recursively) then I get my ALARM 5 sec later.
Otherwise nothing. The problem is that if I don't include awaitSignal,
then, of course, forever is called just as fast as the CPU will go :-)
Brian
import System.Posix.Signals
import System.IO
import Control.Concurrent
alarm =
do putStrLn "ALARM"
hFlush stdout
return ()
forever =
do putStrLn "foo"
scheduleAlarm 5
awaitSignal Nothing
yield
forever
main =
do installHandler realTimeAlarm (Catch alarm) Nothing
forever
More information about the Haskell-Cafe
mailing list