Mercurial > hg > Game > Cerium
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 } |