#2651: BlockedIndefinitely not thrown when it should be
------------------------------+---------------------------------------------
 Reporter:  govereau          |          Owner:                  
     Type:  bug               |         Status:  closed          
 Priority:  normal            |      Milestone:  6.10 branch     
Component:  Runtime System    |        Version:  6.8.3           
 Severity:  normal            |     Resolution:  wontfix         
 Keywords:                    |     Difficulty:  Unknown         
 Testcase:                    |   Architecture:  Unknown/Multiple
       Os:  Unknown/Multiple  |  
------------------------------+---------------------------------------------
Changes (by simonmar):

  * status:  new => closed
  * resolution:  => wontfix

Comment:

 As Ian says, it works with the threaded RTS.  This is because detecting
 deadlocked threads requires the GC to run, and only the threaded RTS runs
 the GC during idle time (i.e. when the main thread is in `threadDelay` in
 this example).

 The non-threaded RTS just sits in `select()` waiting for the time to
 expire.  I suppose it could notice that it had a long time to wait and do
 a GC, but I don't feel terribly inclined to fix this since there's an easy
 workaround.  We don't guarantee anything about deadlock detection anyway,
 because GC can always be delayed for an arbitrary amount of time, so it's
 really just a debugging feature.

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/2651#comment:2>
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