#637: Ctrl-Break handler doesn't work in forked threads in "-threaded" RTS
--------------------------------+-------------------------------------------
  Reporter:  [EMAIL PROTECTED]  |          Owner:  simonmar
      Type:  bug                |         Status:  new     
  Priority:  normal             |      Milestone:  6.6     
 Component:  Runtime System     |        Version:  6.4.1   
  Severity:  normal             |     Resolution:          
  Keywords:                     |             Os:  Windows 
Difficulty:  Moderate (1 day)   |   Architecture:  Unknown 
--------------------------------+-------------------------------------------
Changes (by simonmar):

  * difficulty:  Unknown => Moderate (1 day)
  * milestone:  6.4.2 => 6.6
  * os:  Unknown => Windows

Comment:

 Verified.  I'm not sure why it worked in 6.4.0, perhaps it was by
 accident.  The console handler function, generic_handler in
 ConsoleHandler.c, has no way to wake up an RTS thread - it tries to ping
 the async IO system, but async IO isn't used in -threaded on Windows now
 (since 6.2).

 The proper fix for this is for Windows to use the I/O manager with
 -threaded, as Unix does.  On Unix, when a signal arrives, a byte is sent
 down a pipe to the I/O manager thread which launches the appropriate
 signal handler.

 I'll punt on this for 6.4.2.

-- 
Ticket URL: <http://cvs.haskell.org/trac/ghc/ticket/637>
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