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 }