#418: throwTo to a thread inside 'block'
----------------------------+-----------------------------------------------
Reporter: remit | Owner: igloo
Type: bug | Status: new
Priority: lowest | Milestone: _|_
Component: Runtime System | Version: 6.4.1
Severity: normal | Resolution: None
Keywords: | Difficulty: Unknown
Testcase: | Architecture: Unknown
Os: Unknown |
----------------------------+-----------------------------------------------
Changes (by simonmar):
* milestone: 6.6.1 => _|_
* summary: unsafeInterleaveIO + Ctrl-C/killThread related segfault =>
throwTo to a thread inside 'block'
Comment:
Following discussion with Igloo, both results are acceptable. It depends
whether the `putMVar` inside `readMVar` gets to execute before the second
`putMVar` in the main thread - there's a race, leading to two possible
answers.
Leaving the bug open, as there's still a problem (see earlier comments).
When we throw an exception to a thread inside 'block', and then restart
the computation, the blocked state is not re-instated. This can only
happen if the thread was executing `block` inside `unsafePerformIO` or
`unsafeInterleaveIO`, so the bug is unlikely to bite many people.
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/418>
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