[GHC] #2301: Proper handling of SIGINT/SIGQUIT

GHC ghc-devs at haskell.org
Thu Nov 21 09:20:50 UTC 2013


#2301: Proper handling of SIGINT/SIGQUIT
-------------------------------------+-------------------------------------
        Reporter:  duncan            |            Owner:
            Type:  bug               |           Status:  patch
        Priority:  high              |        Milestone:  7.8.1
       Component:                    |          Version:  6.12.3
  libraries/process                  |         Keywords:
      Resolution:                    |     Architecture:  Unknown/Multiple
Operating System:  POSIX             |       Difficulty:  Unknown
 Type of failure:  Incorrect result  |       Blocked By:
  at runtime                         |  Related Tickets:
       Test Case:                    |  #3994,#5766,#7229,#4274,#3318,#1619
        Blocking:                    |
-------------------------------------+-------------------------------------

Comment (by simonmar):

 I think you're absolutely right to throw `UserInterrupt` locally.  The
 only question is what to do if it propagates to the top of a `forkIO`
 thread.  I think it would be good to note in the docs that `UserInterrupt`
 only causes the process to die if it propagates to the top of the main
 thread, so if this is a child thread you need to arrange to propagate it
 to the parent, say by using `async` instead of raw `forkIO`.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/2301#comment:42>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list