#2301: Proper handling of SIGINT/SIGQUIT
--------------------------------+-------------------------------------------
Reporter: duncan | Owner:
Type: bug | Status: new
Priority: normal | Milestone: 7.0.2
Component: libraries/process | Version: 6.8.2
Resolution: | Keywords:
Testcase: | Blockedby:
Difficulty: Unknown | Os: Unknown/Multiple
Blocking: | Architecture: Unknown/Multiple
Failure: None/Unknown |
--------------------------------+-------------------------------------------
Comment(by duncan):
Note that due to this problem, Cabal is currently handling the call of
`./configure` incorrectly. Previously we used `rawSystem` which uses
`syncProcess` to do the ctl-C handling. Now, because we need to pass some
environment vars to `./configure` we have to use the combination of
`runProcess` + `waitForProcess` which means we are not getting the correct
ctl-C handling.
The `CreateProcess` record should be extended with a `Bool` flag to
indicate running in the foreground with delegated ctl-C handling
[comment:3 as described above].
Note that an alternative to throwing `Interrupted` to the main thread is
just to raise `Interrupted` as a synchronous exception, but that has the
problem that by default `forkIO` (almost) silently discards exceptions
rather than propagating them, so the `Interrupted` may never reach the
main thread as intended.
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/2301#comment:18>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs