annotate TaskManager/kernel/schedule/SchedMail.cc @ 233:d734af296d38

fix
author gongo@localhost.localdomain
date Sun, 29 Mar 2009 21:13:17 +0900
parents 5c194c71eca8
children 58fd16298954
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
42
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
1 #include "SchedMail.h"
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
2 #include "SchedTaskList.h"
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
3 #include "SchedExit.h"
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
4 #include "error.h"
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
5
109
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents: 42
diff changeset
6 SchedMail::SchedMail(Scheduler *sched)
42
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
7 {
109
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents: 42
diff changeset
8 scheduler = sched;
42
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
9 }
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
10
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
11 SchedTaskBase*
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
12 SchedMail::next(Scheduler *m, SchedTaskBase *p)
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
13 {
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
14 delete p;
233
gongo@localhost.localdomain
parents: 109
diff changeset
15
gongo@localhost.localdomain
parents: 109
diff changeset
16 params_addr = scheduler->mail_read();
42
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
17
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
18 __debug("[SchedMail:%s]\n", __FUNCTION__);
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
19 // if 文なくすには・・・関数ポインタ?
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
20 if ((int)params_addr == MY_SPE_COMMAND_EXIT) {
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
21 return new SchedExit();
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
22 } else {
109
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents: 42
diff changeset
23 return new SchedTaskList(params_addr, m);
42
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
24 }
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
25 }