Mercurial > hg > Members > kono > Cerium
comparison TaskManager/kernel/schedule/SchedMail.cc @ 42:aa11038dbdc1
*** empty log message ***
author | gongo |
---|---|
date | Thu, 14 Feb 2008 18:27:37 +0900 |
parents | |
children | 5c194c71eca8 |
comparison
equal
deleted
inserted
replaced
41:68fb5bfee6b7 | 42:aa11038dbdc1 |
---|---|
1 #include "SchedMail.h" | |
2 #include "SchedTaskList.h" | |
3 #include "SchedExit.h" | |
4 #include "error.h" | |
5 | |
6 SchedMail::SchedMail(DmaManager *cn) | |
7 { | |
8 connector = cn; | |
9 } | |
10 | |
11 void | |
12 SchedMail::read(void) | |
13 { | |
14 | |
15 __debug("[SchedMail:%s]\n", __FUNCTION__); | |
16 | |
17 params_addr = connector->mail_read(); | |
18 | |
19 __debug(" params_addr = 0x%x\n", params_addr); | |
20 } | |
21 | |
22 SchedTaskBase* | |
23 SchedMail::next(Scheduler *m, SchedTaskBase *p) | |
24 { | |
25 delete p; | |
26 | |
27 __debug("[SchedMail:%s]\n", __FUNCTION__); | |
28 | |
29 // if 文なくすには・・・関数ポインタ? | |
30 if ((int)params_addr == MY_SPE_COMMAND_EXIT) { | |
31 return new SchedExit(); | |
32 } else { | |
33 return new SchedTaskList(params_addr, m->get_curListBuf(), connector); | |
34 } | |
35 } |