Handle ExitFailure (-sig) by killing process with signal
authorDuncan Coutts <duncan@well-typed.com>
Thu, 14 Nov 2013 15:15:31 +0000 (15:15 +0000)
committerDuncan Coutts <duncan@well-typed.com>
Thu, 14 Nov 2013 15:15:31 +0000 (15:15 +0000)
commit6b22a6ef9e59c6562ef6adfad7cd94e27aedec2c
treeea796cd78322574edc276b1860113092e8678f93
parente31269229f80795a845091d930e21b153dc0cd0a
Handle ExitFailure (-sig) by killing process with signal

On Unix we now use negative exit codes in ExitFailure to indicate that a
process exited due to a signal. This patch implements the case for when
a ExitFailure exception propagates out of the top of main (and is
handled by the topHandler).

For a negative ExitFailure code, we try to kill the process using that
signal (the details of that are handled by shutdownHaskellAndSignal from
the RTS). For an exit code outside the valid ranges, we use 0xff.
GHC/TopHandler.lhs