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 }