comparison TaskManager/kernel/ppe/HTaskInfo.cc @ 63:54355e641172

*** empty log message ***
author gongo
date Sun, 17 Feb 2008 10:55:22 +0900
parents 90523ccc4dff
children 519d24aa7ac8
comparison
equal deleted inserted replaced
62:b03e4cb64302 63:54355e641172
1 #include <stdio.h> 1 #include <stdio.h>
2 #include <stdlib.h> 2 #include <stdlib.h>
3 #include "TaskManagerImpl.h"
3 #include "HTaskInfo.h" 4 #include "HTaskInfo.h"
4 5
5 HTaskInfo::HTaskInfo(void) 6 HTaskInfo::HTaskInfo(void)
6 :htaskPool(NULL), freeHTask(NULL) {} 7 :htaskPool(NULL), freeHTask(NULL) {}
7 8
60 q->out_addr = out_addr; 61 q->out_addr = out_addr;
61 q->in_size = size; 62 q->in_size = size;
62 q->wait_me = NULL; 63 q->wait_me = NULL;
63 q->wait_i = NULL; 64 q->wait_i = NULL;
64 q->post_func = NULL; 65 q->post_func = NULL;
66 q->mimpl = NULL;
65 67
66 return q; 68 return q;
67 } 69 }
68 70
69 void 71 void
81 for (q = htaskPool; q; q = q->next) { 83 for (q = htaskPool; q; q = q->next) {
82 free(q); 84 free(q);
83 } 85 }
84 freeHTask = htaskPool = NULL; 86 freeHTask = htaskPool = NULL;
85 } 87 }
88
89
90 /**
91 * manager->set_task_depend(task1, task2); // task2 は task1 の終了を待つ
92 *
93 * ってやるより
94 *
95 * task2->set_depend(task1);
96 *
97 * ってやったほうがわかりやすいよねー的な話し合いで
98 * 下のようなAPIを作りました
99 */
100
101 void
102 HTask::spawn(void)
103 {
104 mimpl->spawn_task(this);
105 }
106
107 void
108 HTask::set_depend(HTaskPtr master)
109 {
110 mimpl->set_task_depend(master, this);
111 }