#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

Reply via email to