Make the running_finalizers flag task-local
[ghc-hetmet.git] / rts / Task.c
index e2f363b..98f083c 100644 (file)
@@ -153,6 +153,7 @@ newTask (rtsBool worker)
     task->cap           = NULL;
     task->worker        = worker;
     task->stopped       = rtsFalse;
+    task->running_finalizers = rtsFalse;
     task->stat          = NoStatus;
     task->ret           = NULL;
     task->n_spare_incalls = 0;
@@ -292,6 +293,7 @@ discardTasksExcept (Task *keep)
         }
     }
     all_tasks = keep;
+    keep->all_link = NULL;
     RELEASE_LOCK(&sched_mutex);
 }