Mercurial > hg > Members > kono > Cerium
annotate TaskManager/kernel/sys_task/TaskArray.cc @ 696:b5c3ef336878
on going...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 13 Dec 2009 10:49:07 +0900 |
parents | b386522827ae |
children | 257ad1a518e3 |
rev | line source |
---|---|
682 | 1 #include "Finish.h" |
2 #include "SysFunc.h" | |
3 #include "Scheduler.h" | |
4 #include "Task.h" | |
5 | |
6 | |
7 SchedDefineTask(TaskArray); | |
8 | |
9 | |
10 static int | |
11 run(SchedTask *s,void *rbuf, void *wbuf) | |
12 { | |
683 | 13 #ifdef SIMPLE_TASK |
685 | 14 |
15 #ifdef TEST_TASK_ARRAY | |
682 | 16 Task *task = (Task *)rbuf; |
683 | 17 Task *last = (Task*)(((char*)rbuf)+ s->read_size()); |
684
458a1ad91427
Task Array generation worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
683
diff
changeset
|
18 |
458a1ad91427
Task Array generation worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
683
diff
changeset
|
19 s->printf("last = %lx\n" ,(long) last); |
682 | 20 while( task < last) { |
684
458a1ad91427
Task Array generation worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
683
diff
changeset
|
21 s->printf(" task = %lx\n" ,(long) task); |
683 | 22 task->print(); |
685 | 23 task = task->next(); |
682 | 24 } |
685 | 25 #else |
26 | |
27 Task *task = (Task *)rbuf; | |
28 SchedTaskArray *nextSched = createSchedTaskArray(s->get_scheduler(), task); | |
29 s->get_scheduler()->run(nextSched); | |
30 | |
683 | 31 #endif |
685 | 32 #endif |
682 | 33 return 0; |
34 } |