|
Re: [GHC] #637: Ctrl-Break handler doesn't work in forked threads in "-thre: msg#00105lang.haskell.glasgow.bugs
#637: Ctrl-Break handler doesn't work in forked threads in "-threaded" RTS --------------------------------+------------------------------------------- Reporter: bulatz@xxxxxxxxxx | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Runtime System | Version: 6.4.1 Severity: normal | Resolution: Keywords: | Os: Unknown Difficulty: Unknown | Architecture: Unknown --------------------------------+------------------------------------------- Comment (by guest): The following program demonstrates bug in 6.4.1 (6.4.0 was ok). if you compile it with "-threaded", run and press Ctrl-Break, you will see message "main.EXE: <stdin>: hGetLine: end of file" and program blocks (because forked thread is dead). the problem is that installed ctrl-break handler don't called in forked threads if you compile program without "-threaded" or with 6.4.0, it works as expected - pressing Ctrl-Break runs my handler so you will see "^Break! main.EXE: thread killed" message {{{ import Control.Concurrent import Control.Exception import GHC.ConsoleHandler handleCtrlBreak action = do myThread <- myThreadId let onBreak event = do putStrLn " ^Break!" killThread myThread bracket (installHandler$ Catch onBreak) (installHandler) $ \oldHandler -> do action main = do handleCtrlBreak $ do x <- newEmptyMVar forkIO$ do a <- getLine print a putMVar x () return () takeMVar x return () }}} -- 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 Glasgow-haskell-bugs@xxxxxxxxxxx http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
|
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | Re: [GHC] #637: Ctrl-Break handler doesn't work in forked threads in "-threaded" RTS, GHC |
|---|---|
| Next by Date: | [GHC] #653: Changeable lexer/parser (like DynFlags.log_action), GHC |
| Previous by Thread: | Re: [GHC] #637: Ctrl-Break handler doesn't work in forked threads in "-threaded" RTS, GHC |
| Next by Thread: | [GHC] #653: Changeable lexer/parser (like DynFlags.log_action), GHC |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |