summaryrefslogtreecommitdiff
path: root/rts/Task.c
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2010-05-07 09:32:22 +0000
committerSimon Marlow <marlowsd@gmail.com>2010-05-07 09:32:22 +0000
commit2007d2138cf17efe6a1701510dbafdfc30e8926c (patch)
treebbee43dbaa8f3061ddbd6b6a8a27d0bb791654fd /rts/Task.c
parent3c6190b0beb551f7637e7edbd1bbff803af3a79e (diff)
downloadhaskell-2007d2138cf17efe6a1701510dbafdfc30e8926c.tar.gz
Fix crash in nested callbacks (#4038)
Broken by "Split part of the Task struct into a separate struct InCall".
Diffstat (limited to 'rts/Task.c')
-rw-r--r--rts/Task.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/rts/Task.c b/rts/Task.c
index 98f083c112..a9461c9527 100644
--- a/rts/Task.c
+++ b/rts/Task.c
@@ -154,8 +154,6 @@ newTask (rtsBool worker)
task->worker = worker;
task->stopped = rtsFalse;
task->running_finalizers = rtsFalse;
- task->stat = NoStatus;
- task->ret = NULL;
task->n_spare_incalls = 0;
task->spare_incalls = NULL;
task->incall = NULL;
@@ -211,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;