summaryrefslogtreecommitdiff
path: root/rts/Task.c
diff options
context:
space:
mode:
Diffstat (limited to 'rts/Task.c')
-rw-r--r--rts/Task.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/rts/Task.c b/rts/Task.c
index 82f7780654..c30bcf17d5 100644
--- a/rts/Task.c
+++ b/rts/Task.c
@@ -213,6 +213,7 @@ newTask (rtsBool worker)
task->n_spare_incalls = 0;
task->spare_incalls = NULL;
task->incall = NULL;
+ task->preferred_capability = -1;
#if defined(THREADED_RTS)
initCondition(&task->cond);
@@ -488,6 +489,14 @@ interruptWorkerTask (Task *task)
#endif /* THREADED_RTS */
+void
+setInCallCapability (int preferred_capability)
+{
+ Task *task = allocTask();
+ task->preferred_capability = preferred_capability;
+}
+
+
#ifdef DEBUG
void printAllTasks(void);