#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