I'm trying to implement an alarm in Haskell and wrote the following code: http://hpaste.org/7201 But it doesn't work as expected.
The expected behaviour is: The user enters a time in minutes. If the time is reached, a bell
rings. If, before the time is reached, he press enter, the program finish and prints the elapsed
The actual behaviour is: The user enters a time in minutes. If time is reached, nothing happens.
If the user press enter, the elapsed time is printed and the program finish. Also, if he pressed
enter after the time had elapsed, the bell rings.
Thanks! But, when trying to implement your solution, I recalled hWaitForInput and used it to
implement the alarm. Anyway, thanks, probably I will need that for other programas.
> The getLine function ties up stdin. So the system function isn't
> able to proceed until getLine completes, even when it is in
> another thread.
> Try using System.Process.runInteractiveProcess instead of system.
> Don't forget to call waitForProcess on the process handle
> when you are finished, or you will be left with a zombie.
> Hope this helps,