X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2FTask.c;h=a9461c952776eb8dcb01643c1da2cc00fb31f392;hb=565f3c753ccedeb19b5b8190090241a2185eb0cb;hp=e2f363b3210d83fc9e6220b7a2a09fd4e9a89947;hpb=12cfec943127f0c81e1ffa1ca5ce46e888e3027c;p=ghc-hetmet.git diff --git a/rts/Task.c b/rts/Task.c index e2f363b..a9461c9 100644 --- a/rts/Task.c +++ b/rts/Task.c @@ -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); }