From 32baf1e3e995d7fce53d0659cb84c490eadbca12 Mon Sep 17 00:00:00 2001 From: simonmar Date: Mon, 9 May 2005 10:10:33 +0000 Subject: [PATCH] [project @ 2005-05-09 10:10:33 by simonmar] deleteAllThreads: handle ThreadRelocated --- ghc/rts/Schedule.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/ghc/rts/Schedule.c b/ghc/rts/Schedule.c index 036c5b0..ad27b74 100644 --- a/ghc/rts/Schedule.c +++ b/ghc/rts/Schedule.c @@ -2093,8 +2093,12 @@ deleteAllThreads ( void ) StgTSO* t, *next; IF_DEBUG(scheduler,sched_belch("deleting all threads")); for (t = all_threads; t != END_TSO_QUEUE; t = next) { - next = t->global_link; - deleteThread(t); + if (t->what_next == ThreadRelocated) { + next = t->link; + } else { + next = t->global_link; + deleteThread(t); + } } // The run queue now contains a bunch of ThreadKilled threads. We -- 1.7.10.4