projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix panic when running "ghc -H"; trac #3364
[ghc-hetmet.git]
/
rts
/
Task.c
diff --git
a/rts/Task.c
b/rts/Task.c
index
e2f363b
..
a9461c9
100644
(file)
--- 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->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;
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->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;
incall->next = NULL;
incall->prev = NULL;
incall->prev_stack = task->incall;
@@
-292,6
+293,7
@@
discardTasksExcept (Task *keep)
}
}
all_tasks = keep;
}
}
all_tasks = keep;
+ keep->all_link = NULL;
RELEASE_LOCK(&sched_mutex);
}
RELEASE_LOCK(&sched_mutex);
}