summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ghc/rts/Schedule.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/ghc/rts/Schedule.c b/ghc/rts/Schedule.c
index 8fe711acb3..d1a6a55231 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