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.
_______________________________________________
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to