diff options
-rw-r--r-- | ghc/rts/Schedule.c | 4 |
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 |