annotate TaskManager/kernel/ppe/TaskManagerImpl.cc @ 800:54f0180cea0f draft

run16 word count ( not yet worked. )
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Fri, 21 May 2010 07:47:25 +0900
parents 1b225972ae88
children c63110ac1430 fb49e881f2ed
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5
75f184d16fa5 *** empty log message ***
gongo
parents: 3
diff changeset
1 #include <stdio.h>
3
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
2 #include "TaskManagerImpl.h"
46
f154d9d07a42 *** empty log message ***
gongo
parents: 42
diff changeset
3 #include "types.h"
f154d9d07a42 *** empty log message ***
gongo
parents: 42
diff changeset
4 #include "error.h"
546
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 539
diff changeset
5 #include "SchedTask.h"
619
278db3ca751d RenewTask removal
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 567
diff changeset
6 #include "Scheduler.h"
634
62e570ac5db2 SimpleTask start
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 619
diff changeset
7 #include "SysTask.h"
62e570ac5db2 SimpleTask start
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 619
diff changeset
8 #include "SysFunc.h"
619
278db3ca751d RenewTask removal
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 567
diff changeset
9
220
gongo@localhost.localdomain
parents: 115
diff changeset
10 static HTaskPtr systask_start;
109
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents: 94
diff changeset
11 static HTaskPtr systask_finish;
42
aa11038dbdc1 *** empty log message ***
gongo
parents: 18
diff changeset
12
550
a9f27334963a old ball_bound fix...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 539
diff changeset
13 static void
a9f27334963a old ball_bound fix...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 539
diff changeset
14 noaction(SchedTask *s, void *read, void *write)
3
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
15 {
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
16 }
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
17
109
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents: 94
diff changeset
18 TaskManagerImpl::TaskManagerImpl(int num)
480
75e4afa40da2 TaskQueueInfo initiaization...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 479
diff changeset
19 : machineNum(num) {
498
bce667ff20b9 double linked HTaskInfo/HTask
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 497
diff changeset
20 activeTaskQueue = new HTaskInfo();
bce667ff20b9 double linked HTaskInfo/HTask
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 497
diff changeset
21 waitTaskQueue = new HTaskInfo();
bce667ff20b9 double linked HTaskInfo/HTask
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 497
diff changeset
22 htaskImpl = waitTaskQueue ; // any HTaskInfo
bce667ff20b9 double linked HTaskInfo/HTask
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 497
diff changeset
23 taskQueueImpl = new TaskQueueInfo();
480
75e4afa40da2 TaskQueueInfo initiaization...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 479
diff changeset
24 }
50
7927e00fb8e2 *** empty log message ***
gongo
parents: 48
diff changeset
25
220
gongo@localhost.localdomain
parents: 115
diff changeset
26 /**
298
768452fab95e from EUC to UTF-8
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 220
diff changeset
27 * 一番最初に PPE で実行される systask_start
220
gongo@localhost.localdomain
parents: 115
diff changeset
28 */
42
aa11038dbdc1 *** empty log message ***
gongo
parents: 18
diff changeset
29 void
499
981aa2f89a80 still fixing...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 498
diff changeset
30 TaskManagerImpl::systask_init()
42
aa11038dbdc1 *** empty log message ***
gongo
parents: 18
diff changeset
31 {
109
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents: 94
diff changeset
32 systask_register();
639
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 636
diff changeset
33 systask_start = create_task(StartTask,0,0,0,0);
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 636
diff changeset
34 systask_finish = create_task(FinishTask,0,0,0,0);
220
gongo@localhost.localdomain
parents: 115
diff changeset
35
gongo@localhost.localdomain
parents: 115
diff changeset
36 systask_start->spawn();
gongo@localhost.localdomain
parents: 115
diff changeset
37
634
62e570ac5db2 SimpleTask start
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 619
diff changeset
38 // すべての Task が FinishTask を wait_for すると、
62e570ac5db2 SimpleTask start
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 619
diff changeset
39 // あらゆる Task が FinishTask の waiting task queue を操作する
62e570ac5db2 SimpleTask start
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 619
diff changeset
40 // ことになる。それは、重すぎる。PPE/SPE Task が終了した時点で、
62e570ac5db2 SimpleTask start
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 619
diff changeset
41 // TaskManager が実行する方が安い。
62e570ac5db2 SimpleTask start
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 619
diff changeset
42 // append_waitTask(systask_finish);
62e570ac5db2 SimpleTask start
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 619
diff changeset
43 }
62e570ac5db2 SimpleTask start
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 619
diff changeset
44
62e570ac5db2 SimpleTask start
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 619
diff changeset
45 HTaskPtr
636
aba1600e8f83 Cell Simple Task compiled. but not worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 635
diff changeset
46 TaskManagerImpl::create_task(int cmd,memaddr rbuf, long r_size, memaddr wbuf, long w_size)
634
62e570ac5db2 SimpleTask start
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 619
diff changeset
47 {
62e570ac5db2 SimpleTask start
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 619
diff changeset
48 HTaskPtr new_task;
62e570ac5db2 SimpleTask start
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 619
diff changeset
49
62e570ac5db2 SimpleTask start
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 619
diff changeset
50 new_task = htaskImpl->create(cmd, rbuf, r_size, wbuf, w_size);
62e570ac5db2 SimpleTask start
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 619
diff changeset
51 new_task->post_func = noaction;
62e570ac5db2 SimpleTask start
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 619
diff changeset
52 new_task->mimpl = this;
62e570ac5db2 SimpleTask start
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 619
diff changeset
53
62e570ac5db2 SimpleTask start
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 619
diff changeset
54 return new_task;
42
aa11038dbdc1 *** empty log message ***
gongo
parents: 18
diff changeset
55 }
aa11038dbdc1 *** empty log message ***
gongo
parents: 18
diff changeset
56
3
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
57 HTaskPtr
109
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents: 94
diff changeset
58 TaskManagerImpl::create_task(int cmd)
3
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
59 {
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
60 HTaskPtr new_task;
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
61
703
0c8ad8d99656 compatibility
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 664
diff changeset
62 // for compatibility
0c8ad8d99656 compatibility
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 664
diff changeset
63 new_task = htaskImpl->create(TaskArray1);
0c8ad8d99656 compatibility
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 664
diff changeset
64 new_task->post_func = noaction;
0c8ad8d99656 compatibility
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 664
diff changeset
65 new_task->mimpl = this;
736
1b225972ae88 cut printf
hiroki@localhost.localdomain
parents: 719
diff changeset
66 new_task->create_task_array(cmd,1,8,8,8);
713
97adb3fe85c6 remove SIMPLE_TASK conditional
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 704
diff changeset
67 // rbuf, r_size were set
704
ec6c897448ca Compatibility mode works.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 703
diff changeset
68 new_task->command = TaskArray1;
63
54355e641172 *** empty log message ***
gongo
parents: 58
diff changeset
69
3
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
70 return new_task;
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
71 }
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
72
800
54f0180cea0f run16 word count ( not yet worked. )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 736
diff changeset
73 HTaskPtr
54f0180cea0f run16 word count ( not yet worked. )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 736
diff changeset
74 TaskManagerImpl::create_task_array(int id, int num_task, int num_param, int num_inData, int num_outData)
54f0180cea0f run16 word count ( not yet worked. )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 736
diff changeset
75 {
54f0180cea0f run16 word count ( not yet worked. )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 736
diff changeset
76 HTaskPtr ta = create_task(TaskArray,0,0,0,0);
54f0180cea0f run16 word count ( not yet worked. )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 736
diff changeset
77 ta->create_task_array(id, num_task, num_param, num_inData, num_outData) ;
54f0180cea0f run16 word count ( not yet worked. )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 736
diff changeset
78 return ta;
54f0180cea0f run16 word count ( not yet worked. )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 736
diff changeset
79 }
54f0180cea0f run16 word count ( not yet worked. )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 736
diff changeset
80
3
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
81 /**
298
768452fab95e from EUC to UTF-8
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 220
diff changeset
82 * task の依存関係を設定
768452fab95e from EUC to UTF-8
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 220
diff changeset
83 * master task が終わってから、slave task を実行するように
109
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents: 94
diff changeset
84 * master->wait_for(slave);
3
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
85 */
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
86 void
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
87 TaskManagerImpl::set_task_depend(HTaskPtr master, HTaskPtr slave)
547
e5431e658038 continue..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 546
diff changeset
88 {
3
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
89 TaskQueuePtr m, s;
547
e5431e658038 continue..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 546
diff changeset
90
475
4e0308d2ba73 BufferManager removed.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 373
diff changeset
91 m = taskQueueImpl->create(master);
4e0308d2ba73 BufferManager removed.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 373
diff changeset
92 s = taskQueueImpl->create(slave);
547
e5431e658038 continue..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 546
diff changeset
93
479
bf2d2625485e Double Linked List base TaskQueue
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 475
diff changeset
94 master->wait_me->addLast(s);
bf2d2625485e Double Linked List base TaskQueue
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 475
diff changeset
95 slave->wait_i->addLast(m);
481
f9ffcffb6d09 Double linked list modification done (tested on Mac OS X)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 480
diff changeset
96 s->waiter = m;
547
e5431e658038 continue..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 546
diff changeset
97 }
e5431e658038 continue..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 546
diff changeset
98
3
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
99 /**
298
768452fab95e from EUC to UTF-8
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 220
diff changeset
100 * タスクを実行可能キューまたは待機キューへ追加する。
768452fab95e from EUC to UTF-8
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 220
diff changeset
101 * 依存関係が満たされていれば active, まだだったら wait へ。
109
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents: 94
diff changeset
102 * task->spawn();
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents: 94
diff changeset
103 */
3
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
104 void
18
0c9341da4522 *** empty log message ***
gongo
parents: 5
diff changeset
105 TaskManagerImpl::spawn_task(HTaskPtr task)
3
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
106 {
109
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents: 94
diff changeset
107 // waiter // master
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents: 94
diff changeset
108 // waitee // slave
480
75e4afa40da2 TaskQueueInfo initiaization...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 479
diff changeset
109 if (task->wait_i->empty()) {
498
bce667ff20b9 double linked HTaskInfo/HTask
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 497
diff changeset
110 append_activeTask(task);
3
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
111 } else {
498
bce667ff20b9 double linked HTaskInfo/HTask
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 497
diff changeset
112 append_waitTask(task);
3
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
113 }
109
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents: 94
diff changeset
114
635
c56f6847fb87 SimpleTask worked on Mac OS X
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 634
diff changeset
115 // systask_finish->wait_for(task);
3
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
116 }
42
aa11038dbdc1 *** empty log message ***
gongo
parents: 18
diff changeset
117
800
54f0180cea0f run16 word count ( not yet worked. )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 736
diff changeset
118
109
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents: 94
diff changeset
119 /**
298
768452fab95e from EUC to UTF-8
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 220
diff changeset
120 * Task を実行可能キューに追加する
109
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents: 94
diff changeset
121 */
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents: 94
diff changeset
122 void
498
bce667ff20b9 double linked HTaskInfo/HTask
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 497
diff changeset
123 TaskManagerImpl::append_activeTask(HTaskPtr q)
109
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents: 94
diff changeset
124 {
479
bf2d2625485e Double Linked List base TaskQueue
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 475
diff changeset
125 activeTaskQueue->addLast(q);
109
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents: 94
diff changeset
126 }
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents: 94
diff changeset
127
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents: 94
diff changeset
128 /**
298
768452fab95e from EUC to UTF-8
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 220
diff changeset
129 * タスクが実行する CPU を選択する
109
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents: 94
diff changeset
130 *
298
768452fab95e from EUC to UTF-8
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 220
diff changeset
131 * 現在は CPU_PPE, CPU_SPE, SPE_ANY, SPE_0, SPE_1, ..., SPE_5
768452fab95e from EUC to UTF-8
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 220
diff changeset
132 * types.h に書いてます。
109
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents: 94
diff changeset
133 */
65
519d24aa7ac8 *** empty log message ***
gongo
parents: 63
diff changeset
134 void
519d24aa7ac8 *** empty log message ***
gongo
parents: 63
diff changeset
135 TaskManagerImpl::set_task_cpu(HTaskPtr task, CPU_TYPE type)
519d24aa7ac8 *** empty log message ***
gongo
parents: 63
diff changeset
136 {
664
beb0f17c19f9 word count
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 647
diff changeset
137 if (machineNum==0)
beb0f17c19f9 word count
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 647
diff changeset
138 task->cpu_type = CPU_PPE ;
beb0f17c19f9 word count
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 647
diff changeset
139 else
beb0f17c19f9 word count
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 647
diff changeset
140 task->cpu_type = type;
65
519d24aa7ac8 *** empty log message ***
gongo
parents: 63
diff changeset
141 }
519d24aa7ac8 *** empty log message ***
gongo
parents: 63
diff changeset
142
109
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents: 94
diff changeset
143 /**
298
768452fab95e from EUC to UTF-8
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 220
diff changeset
144 * 終了したタスクから依存の処理とか
768452fab95e from EUC to UTF-8
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 220
diff changeset
145 * post_func() はこのタスクが終了したら実行する関数。
109
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents: 94
diff changeset
146 *
298
768452fab95e from EUC to UTF-8
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 220
diff changeset
147 * @param [task] 終了したタスク
109
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents: 94
diff changeset
148 */
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents: 94
diff changeset
149 void
647
7ba4ad4538b1 MailManager rewrite. not yet worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 639
diff changeset
150 TaskManagerImpl::check_task_finish(HTaskPtr me, HTaskInfo *wait_queue)
42
aa11038dbdc1 *** empty log message ***
gongo
parents: 18
diff changeset
151 {
499
981aa2f89a80 still fixing...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 498
diff changeset
152
497
3429986b8a28 no wakeup loop
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 496
diff changeset
153 while(TaskQueue *p = me->wait_me->poll()) {
499
981aa2f89a80 still fixing...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 498
diff changeset
154 HTaskPtr you = p->task;
497
3429986b8a28 no wakeup loop
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 496
diff changeset
155 TaskQueueInfo *wait_i = you->wait_i;
479
bf2d2625485e Double Linked List base TaskQueue
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 475
diff changeset
156 // 相手の wait queue から自分(を指しているTaskQueue)を削除
bf2d2625485e Double Linked List base TaskQueue
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 475
diff changeset
157 wait_i->remove(p->waiter);
bf2d2625485e Double Linked List base TaskQueue
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 475
diff changeset
158 // queue を free する
493
2a7a9f80b8e7 fix free conflict.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 483
diff changeset
159 wait_i->free_(p->waiter);
483
5f4ffff2c2aa renew task worked. but not test_nogl...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 481
diff changeset
160
497
3429986b8a28 no wakeup loop
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 496
diff changeset
161 if (wait_i->empty()) {
647
7ba4ad4538b1 MailManager rewrite. not yet worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 639
diff changeset
162 wait_queue->remove(you);
499
981aa2f89a80 still fixing...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 498
diff changeset
163 append_activeTask(you);
497
3429986b8a28 no wakeup loop
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 496
diff changeset
164 }
3429986b8a28 no wakeup loop
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 496
diff changeset
165
493
2a7a9f80b8e7 fix free conflict.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 483
diff changeset
166 wait_i->free_(p);
479
bf2d2625485e Double Linked List base TaskQueue
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 475
diff changeset
167 }
bf2d2625485e Double Linked List base TaskQueue
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 475
diff changeset
168
498
bce667ff20b9 double linked HTaskInfo/HTask
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 497
diff changeset
169 htaskImpl->free_(me);
109
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents: 94
diff changeset
170 }
42
aa11038dbdc1 *** empty log message ***
gongo
parents: 18
diff changeset
171
109
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents: 94
diff changeset
172
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents: 94
diff changeset
173 void
498
bce667ff20b9 double linked HTaskInfo/HTask
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 497
diff changeset
174 TaskManagerImpl::append_waitTask(HTaskPtr q)
109
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents: 94
diff changeset
175 {
479
bf2d2625485e Double Linked List base TaskQueue
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 475
diff changeset
176 waitTaskQueue ->addLast(q);
109
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents: 94
diff changeset
177 }
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents: 94
diff changeset
178
54
90523ccc4dff *** empty log message ***
gongo
parents: 50
diff changeset
179
619
278db3ca751d RenewTask removal
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 567
diff changeset
180
479
bf2d2625485e Double Linked List base TaskQueue
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 475
diff changeset
181 /* end */