
#10169: bracket not running the final action on termination through SIGTERM -------------------------------------+------------------------------------- Reporter: Kritzefitz | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: | Version: 7.6.3 libraries/base | Operating System: Linux Keywords: | Type of failure: Incorrect result Architecture: x86 | at runtime Test Case: | Blocked By: Blocking: | Related Tickets: Differential Revisions: | -------------------------------------+------------------------------------- If a program compiled with GHC receives a SIGTERM signal, while in a bracket, the final action of the bracket isn't executed. This can be tested with this program: {{{#!hs import Control.Exception import Control.Concurrent main = bracket (return "ending") (\x -> putStrLn x) (\_ -> threadDelay 10000000000) }}} When running this and interrupting with ctrl-c (thus SIGINT) it prints "ending", like expected. When interrupting it with {{{killall -TERM test}}} (assuming the program was named test) "ending" isn't printed and the program terminates immediately. It prints a system specific message though. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10169 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler