From: simonmar Date: Wed, 12 Jan 2005 12:51:57 +0000 (+0000) Subject: [project @ 2005-01-12 12:51:57 by simonmar] X-Git-Tag: Initial_conversion_from_CVS_complete~1255 X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=443a09fbf625a6fffa4804a2193fd9840ffba35b;p=ghc-hetmet.git [project @ 2005-01-12 12:51:57 by simonmar] Yet another STM fix: don't attempt to kick any threads which are ThreadRelocated. --- diff --git a/ghc/rts/Schedule.c b/ghc/rts/Schedule.c index 95e9ba4..4615c88 100644 --- a/ghc/rts/Schedule.c +++ b/ghc/rts/Schedule.c @@ -1334,7 +1334,7 @@ run_thread: * When next scheduled they will try to commit, this commit will fail and * they will retry. */ for (t = all_threads; t != END_TSO_QUEUE; t = t -> link) { - if (t -> trec != NO_TREC && t -> why_blocked == NotBlocked) { + if (t -> what_next != ThreadRelocated && t -> trec != NO_TREC && t -> why_blocked == NotBlocked) { if (!stmValidateTransaction (t -> trec)) { IF_DEBUG(stm, sched_belch("trec %p found wasting its time", t));