[GHC] #551: "No threads to run" ignores finalizers
GHC
ghc-devs at haskell.org
Tue Jul 2 13:13:59 CEST 2013
#551: "No threads to run" ignores finalizers
-----------------------------+----------------------------------------------
Reporter: chak | Owner: simonmar
Type: bug | Status: closed
Priority: normal | Milestone:
Component: Runtime System | Version: 5.0
Resolution: Fixed | Keywords:
-----------------------------+----------------------------------------------
Comment(by marlowsd@…):
commit 1ae72ac45e51e63cbf6f3d627d77acc6a36aa0f9
{{{
Author: Simon Marlow <marlowsd at gmail.com>
Date: Tue Jul 2 12:10:53 2013 +0100
Fix #7970, #2161, unfix #551
Establish the reachability of threads before weak pointers. Hence a
deadlocked thread can keep a weak pointer alive and prevent it from
being finalized early. However, an reference from the finalizer of a
weak pointer will no longer prevent a thread from being considered
deadlocked (#551). To keep the thread alive in that situation you
need to use a StablePtr.
See comments on #7970 and in the code for more details.
rts/sm/MarkWeak.c | 100
+++++++++++++++++++++++++++-------------------------
1 files changed, 52 insertions(+), 48 deletions(-)
}}}
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/551#comment:5>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list