#2910: throwTo can block indefinitely when target thread finishes with
exceptions
blocked
---------------------------------+------------------------------------------
Reporter: int-e | Owner: igloo
Type: merge | Status: new
Priority: normal | Milestone: 6.10.2
Component: Runtime System | Version: 6.10.1
Severity: normal | Resolution:
Keywords: | Difficulty: Easy (1 hr)
Testcase: | Os: Unknown/Multiple
Architecture: Unknown/Multiple |
---------------------------------+------------------------------------------
Comment (by simonmar):
Yes, I realise your patch was aimed at closing the race. I was worried
about the cost of doing an unconditional `lockTSO` on thread exit, and the
complexity of the invariant. However, I haven't been able to measure a
difference in performance (yet!) so I'll probably go with your version
(but also with my fixes, a little extra robustness won't hurt).
The GC runs after 0.3 seconds of non-activity, BTW. This is tunable with
the `+RTS -I` flag.
Also, while playing with Conal's TestRace program I found two more races,
patches to follow. yay!
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/2910#comment:6>
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