Mercurial > hg > Members > kono > Cerium
changeset 293:9f4f99d459aa
add wait_for document
author | e065746@localhost.localdomain |
---|---|
date | Fri, 05 Jun 2009 19:17:16 +0900 |
parents | 3569d31705b6 |
children | 0b823cdb0d93 |
files | TaskManager/kernel/ppe/HTask.cc example/basic/main.cc include/TaskManager/HTask.h |
diffstat | 3 files changed, 36 insertions(+), 14 deletions(-) [+] |
line wrap: on
line diff
--- a/TaskManager/kernel/ppe/HTask.cc Fri Jun 05 18:16:31 2009 +0900 +++ b/TaskManager/kernel/ppe/HTask.cc Fri Jun 05 19:17:16 2009 +0900 @@ -3,24 +3,34 @@ #include "TaskManagerImpl.h" -/** - * manager->set_task_depend(task1, task2); // task2 は task1 の終了を待つ - * - * ってやるより - * - * task2->set_depend(task1); - * - * ってやったほうがわかりやすいよねー的な話し合いで - * 下のようなAPIを作りました - */ +/*! + manager->set_task_depend(task1, task2); // task2 は task1 の終了を待つ + + ってやるより + + task2->set_depend(task1); + + ってやったほうがわかりやすいよねー的な話し合いで + 下のようなAPIを作りました +*/ + void HTask::spawn(void) { mimpl->spawn_task(this); } +/*! + @brief この Task が待ち合わせする Task を指定する + @param[in] master この Task が終了待ち合わせをする相手の Task + + 繰り返し使用する事で複数の Task を待ち合わせする事ができる。 + + wait_for している Task の入力バッファにこの Task から書き込みできる機能があると良い + */ + void -HTask::set_depend(HTaskPtr master) +HTask::wait_for(HTaskPtr master) { mimpl->set_task_depend(master, this); }
--- a/example/basic/main.cc Fri Jun 05 18:16:31 2009 +0900 +++ b/example/basic/main.cc Fri Jun 05 19:17:16 2009 +0900 @@ -87,6 +87,9 @@ */ twice->add_param(length); + /* + * set_post() で ppe task を渡せるようにしたい + */ twice->set_post(twice_result, (void*)data); // add Active Queue
--- a/include/TaskManager/HTask.h Fri Jun 05 18:16:31 2009 +0900 +++ b/include/TaskManager/HTask.h Fri Jun 05 19:17:16 2009 +0900 @@ -19,6 +19,17 @@ class TaskManagerImpl; +/*! + @class + + @brief + + Cerium Task сspawn() сャ若主罨≦茵 + cpu 絎遺研絎茵 + 劫 Task 緇≦篋純 + Task ュ阪 dma copy + */ + class HTask : public Task { public: BASE_NEW_DELETE(HTask); @@ -32,11 +43,9 @@ TaskManagerImpl *mimpl; void spawn(void); - void set_depend(HTask *); + void wait_for(HTask *); void set_cpu(CPU_TYPE type); void set_post(void (*func)(void *), void *arg); - -#define wait_for set_depend }; typedef HTask* HTaskPtr;