signal handling weirdness
Volker Wysk
post at volker-wysk.de
Sun Apr 17 09:00:45 EDT 2005
Hello.
I'm trying to install a handler for the TERM signal:
import System.Posix.Signals
import System.Posix.Unistd
import Monad
main =
do installHandler sigTERM handler Nothing
sequence (repeat (putStrLn "bla" >> sleep 5))
return ()
handler = Catch (putStrLn "caught SIGTERM")
-- handler = Ignore
When you type ^C, the current pause gets cut short, but the program continues
to output "bla". It then terminates after another three to five "bla"'s.
Installing a signal handler has no effect at all, regardless of whether it's
Ignore or Catch (...).
/tmp $ ghc -o sig sig.hs -package posix
/tmp $ ./sig
bla
bla
bla
bla
bla
sig: interrupted
I'm using GHC 6.4 on Debian Linux.
Bye,
V.W.
More information about the Glasgow-haskell-bugs
mailing list