#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

Reply via email to