summaryrefslogtreecommitdiff
path: root/rts/Task.h
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.h
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.h')
-rw-r--r--rts/Task.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/rts/Task.h b/rts/Task.h
index 2e0a4b83fa..17a443ad6b 100644
--- a/rts/Task.h
+++ b/rts/Task.h
@@ -83,6 +83,9 @@ typedef struct InCall_ {
// without owning a Capability in the
// first place.
+ SchedulerStatus stat; // return status
+ StgClosure ** ret; // return value
+
struct Task_ *task;
// When a Haskell thread makes a foreign call that re-enters
@@ -137,9 +140,6 @@ typedef struct Task_ {
// So that we can detect when a finalizer illegally calls back into Haskell
rtsBool running_finalizers;
- SchedulerStatus stat; // return status
- StgClosure ** ret; // return value
-
// Stats that we collect about this task
// ToDo: we probably want to put this in a separate TaskStats
// structure, so we can share it between multiple Tasks. We don't