[GHC] #2301: Proper handling of SIGINT/SIGQUIT
GHC
ghc-devs at haskell.org
Fri Nov 15 11:49:54 UTC 2013
#2301: Proper handling of SIGINT/SIGQUIT
-------------------------------------+-------------------------------------
Reporter: duncan | Owner:
Type: bug | Status: new
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):
If `waitForProcess` is called by a forkIO'd thread, then `UserInterrupt`
doesn't cause the process to die with `SIGINT`. Normally a `SIGINT`
causes the main thread to receive `UserInterrupt`, and the top handler for
the main thread turns this into a `SIGINT` again.
What should happen? Maybe this: if a `UserInterrupt` in a child thread
were to throw a `SIGINT` at the current process, then it would be caught
by the handler, causing a `UserInterrupt` to be thrown to the main thread,
which would eventually throw a `SIGINT` again to kill the process.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/2301#comment:35>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list