109
|
1 #include "HTask.h"
|
|
2 #include "ListData.h"
|
|
3 #include "TaskManagerImpl.h"
|
|
4
|
|
5
|
|
6 void
|
518
|
7 HTask::spawn()
|
109
|
8 {
|
|
9 mimpl->spawn_task(this);
|
|
10 }
|
|
11
|
293
|
12 /*!
|
297
|
13 @brief この Task が待ち合わせする Task を指定する
|
|
14 @param[in] master この Task が終了待ち合わせをする相手の Task
|
293
|
15
|
297
|
16 繰り返し使用する事で複数の Task を待ち合わせする事ができる。
|
293
|
17
|
297
|
18 wait_for している Task の入力バッファにこの Task から書き込みできる機能があると良い
|
293
|
19 */
|
|
20
|
109
|
21 void
|
293
|
22 HTask::wait_for(HTaskPtr master)
|
109
|
23 {
|
518
|
24 TaskQueuePtr m, s;
|
|
25
|
|
26 m = wait_i->create(master);
|
|
27 s = wait_i->create(this);
|
|
28
|
|
29 master->wait_me->addLast(s);
|
|
30 this->wait_i->addLast(m);
|
|
31 s->waiter = m;
|
|
32
|
109
|
33 }
|
|
34
|