From db18148d1a62abc745da955530d7f46a6f1e9f36 Mon Sep 17 00:00:00 2001 From: simonmar Date: Fri, 25 Nov 2005 14:33:12 +0000 Subject: [PATCH] [project @ 2005-11-25 14:33:12 by simonmar] We must empty the suspended_ccalling_tasks and the returning_task list when forking. --- ghc/rts/Schedule.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ghc/rts/Schedule.c b/ghc/rts/Schedule.c index 8fe711a..d1a6a55 100644 --- a/ghc/rts/Schedule.c +++ b/ghc/rts/Schedule.c @@ -2088,9 +2088,13 @@ forkProcess(HsStablePtr *entry } RELEASE_LOCK(&sched_mutex); + cap->suspended_ccalling_tasks = NULL; + #if defined(THREADED_RTS) // wipe our spare workers list. cap->spare_workers = NULL; + cap->returning_tasks_hd = NULL; + cap->returning_tasks_tl = NULL; #endif cap = rts_evalStableIO(cap, entry, NULL); // run the action -- 1.7.10.4