signals and GHC 6.10

John Meacham john at
Wed Jul 8 20:29:53 EDT 2009

I noticed that programs compiled with GHC 6.10 seem to be eating signals
and exiting with an error code of 255, rather than the proper exit code
for the signal that killed the process.

I can understand that the GHC runtime may need to perform some cleanup
on a SIGINT or other signal, but instead of doing an exit after catching
it, could it be modified to restore the original handle (which may be
none) and reraise the signal via kill(getpid(), sig)? This is much
friendlier and standard behavior and will also ensure any chained signal
handlers are run properly. (in addition to giving proper exit codes).


John Meacham - ⑆⑆john⑈ -

More information about the Glasgow-haskell-users mailing list