From: Simon Marlow Date: Wed, 28 May 2008 06:39:04 +0000 (+0000) Subject: FIX #2164: check for ThreadRelocated in isAlive() X-Git-Tag: Before_cabalised-GHC~182 X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=5b726bda032c2015a34131c41d1d338cc759736f FIX #2164: check for ThreadRelocated in isAlive() --- diff --git a/rts/sm/GCAux.c b/rts/sm/GCAux.c index 825d0f9..48179f7 100644 --- a/rts/sm/GCAux.c +++ b/rts/sm/GCAux.c @@ -62,6 +62,11 @@ isAlive(StgClosure *p) // large objects use the evacuated flag if (bd->flags & BF_LARGE) { + if (get_itbl(q)->type == TSO && + ((StgTSO *)p)->what_next == ThreadRelocated) { + p = (StgClosure *)((StgTSO *)p)->_link; + continue; + } return NULL; }