# HG changeset patch # User e065746@localhost.localdomain # Date 1244197036 -32400 # Node ID 9f4f99d459aace7b11d3fb98de0be3569cb2af05 # Parent 3569d31705b614777bb231cff4a66edd573f66ca add wait_for document diff -r 3569d31705b6 -r 9f4f99d459aa TaskManager/kernel/ppe/HTask.cc --- 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); } diff -r 3569d31705b6 -r 9f4f99d459aa example/basic/main.cc --- 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 diff -r 3569d31705b6 -r 9f4f99d459aa include/TaskManager/HTask.h --- 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;