Mercurial > hg > Members > kono > Cerium
annotate TaskManager/kernel/sys_task/TaskArray.cc @ 684:458a1ad91427
Task Array generation worked.
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 06 Dec 2009 23:03:28 +0900 |
parents | 9a6cb2439593 |
children | b386522827ae |
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 | |
683 | 9 #ifdef SIMPLE_TASK |
682 | 10 static Task * |
11 next(Task *t) | |
12 { | |
13 char *p = (char*)t; | |
14 p += t->size(); | |
15 return (Task*)p; | |
16 } | |
683 | 17 #endif |
682 | 18 |
19 static int | |
20 run(SchedTask *s,void *rbuf, void *wbuf) | |
21 { | |
683 | 22 #ifdef SIMPLE_TASK |
682 | 23 Task *task = (Task *)rbuf; |
683 | 24 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
|
25 |
458a1ad91427
Task Array generation worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
683
diff
changeset
|
26 s->printf("last = %lx\n" ,(long) last); |
682 | 27 while( task < last) { |
684
458a1ad91427
Task Array generation worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
683
diff
changeset
|
28 s->printf(" task = %lx\n" ,(long) task); |
683 | 29 task->print(); |
682 | 30 task = next(task); |
31 } | |
683 | 32 #endif |
682 | 33 |
34 return 0; | |
35 } |