Mercurial > hg > Gears > GearsAgda
comparison src/parallel_execution/taskManager.c @ 221:2454f4392316
Success create Task and inqueue Task
author | Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 09 Jan 2017 21:39:33 +0900 |
parents | 6c0692c9bfed |
children | 77faa28128b4 |
comparison
equal
deleted
inserted
replaced
220:6c0692c9bfed | 221:2454f4392316 |
---|---|
5 #include <stdio.h> | 5 #include <stdio.h> |
6 | 6 |
7 union Data* createTaskManager(struct Context* context) { | 7 union Data* createTaskManager(struct Context* context) { |
8 struct TaskManager* taskManager = &ALLOCATE(context, TaskManager)->TaskManager; | 8 struct TaskManager* taskManager = &ALLOCATE(context, TaskManager)->TaskManager; |
9 struct TaskManagerImpl* taskManagerImpl = &ALLOCATE(context, TaskManagerImpl)->TaskManagerImpl; | 9 struct TaskManagerImpl* taskManagerImpl = &ALLOCATE(context, TaskManagerImpl)->TaskManagerImpl; |
10 taskManager->taskManager = (union Data*)taskManagerImpl; | |
10 taskManagerImpl -> activeQueue = &createSynchronizedQueue(context)->Queue; | 11 taskManagerImpl -> activeQueue = &createSynchronizedQueue(context)->Queue; |
11 taskManagerImpl -> taskQueue = &createSynchronizedQueue(context)->Queue; | 12 taskManagerImpl -> taskQueue = &createSynchronizedQueue(context)->Queue; |
12 taskManager->spawn = C_spawnTaskManager; | 13 taskManager->spawn = C_spawnTaskManager; |
13 taskManager->shutdown = C_shutdownTaskManager; | 14 taskManager->shutdown = C_shutdownTaskManager; |
14 // taskManager->deadLockDetected = C_deadLockDetected; | 15 // taskManager->deadLockDetected = C_deadLockDetected; |
28 goto meta(context, queue->queue->Queue.put); | 29 goto meta(context, queue->queue->Queue.put); |
29 } | 30 } |
30 | 31 |
31 __code spawnTaskManager_stub(struct Context* context) { | 32 __code spawnTaskManager_stub(struct Context* context) { |
32 goto spawnTaskManager(context, | 33 goto spawnTaskManager(context, |
33 (struct TaskManagerImpl *)context->data[D_TaskManager]->TaskManager.taskManager->TaskManager.taskManager, | 34 &context->data[D_TaskManager]->TaskManager.taskManager->TaskManager.taskManager->TaskManagerImpl, |
34 &context->data[D_Queue]->Queue, | 35 &context->data[D_Queue]->Queue, |
35 context->data[D_TaskManager]->TaskManager.task, | 36 context->data[D_TaskManager]->TaskManager.task, |
36 context->data[D_TaskManager]->TaskManager.next | 37 context->data[D_TaskManager]->TaskManager.next |
37 ); | 38 ); |
38 } | 39 } |