[GHC] #2651: BlockedIndefinitely not thrown when it should be
GHC
trac at galois.com
Wed Oct 15 04:36:02 EDT 2008
#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
More information about the Glasgow-haskell-bugs
mailing list