Mercurial > hg > Game > Cerium
view TaskManager/kernel/ppe/HTask.cc @ 498:bce667ff20b9 draft
double linked HTaskInfo/HTask
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 11 Oct 2009 11:46:41 +0900 |
parents | ce86b0186a4a |
children | 3bc98f6d31ff |
line wrap: on
line source
#include "HTask.h" #include "ListData.h" #include "TaskManagerImpl.h" /*! 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::wait_for(HTaskPtr master) { mimpl->set_task_depend(master, this); } void HTask::set_cpu(CPU_TYPE type) { mimpl->set_task_cpu(this, type); } void HTask::set_post(void (*func)(void *arg), void *arg) { this->post_func = func; this->post_arg = arg; }