add missing initialisation for eventBufMutex
[ghc-hetmet.git] / rts / Task.c
index e2f363b..a9461c9 100644 (file)
@@ -153,8 +153,7 @@ newTask (rtsBool worker)
     task->cap           = NULL;
     task->worker        = worker;
     task->stopped       = rtsFalse;
-    task->stat          = NoStatus;
-    task->ret           = NULL;
+    task->running_finalizers = rtsFalse;
     task->n_spare_incalls = 0;
     task->spare_incalls = NULL;
     task->incall        = NULL;
@@ -210,6 +209,8 @@ newInCall (Task *task)
     incall->task = task;
     incall->suspended_tso = NULL;
     incall->suspended_cap = NULL;
+    incall->stat          = NoStatus;
+    incall->ret           = NULL;
     incall->next = NULL;
     incall->prev = NULL;
     incall->prev_stack = task->incall;
@@ -292,6 +293,7 @@ discardTasksExcept (Task *keep)
         }
     }
     all_tasks = keep;
+    keep->all_link = NULL;
     RELEASE_LOCK(&sched_mutex);
 }