annotate TaskManager/kernel/schedule/SchedMail.cc @ 42:aa11038dbdc1

*** empty log message ***
author gongo
date Thu, 14 Feb 2008 18:27:37 +0900
parents
children 5c194c71eca8
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
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
6 SchedMail::SchedMail(DmaManager *cn)
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
7 {
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
8 connector = cn;
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 void
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
12 SchedMail::read(void)
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
13 {
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
14
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
15 __debug("[SchedMail:%s]\n", __FUNCTION__);
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
16
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
17 params_addr = connector->mail_read();
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
18
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
19 __debug(" params_addr = 0x%x\n", params_addr);
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
20 }
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
21
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
22 SchedTaskBase*
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
23 SchedMail::next(Scheduler *m, SchedTaskBase *p)
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
24 {
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
25 delete p;
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
26
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
27 __debug("[SchedMail:%s]\n", __FUNCTION__);
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
28
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
29 // if 文なくすには・・・関数ポインタ?
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
30 if ((int)params_addr == MY_SPE_COMMAND_EXIT) {
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
31 return new SchedExit();
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
32 } else {
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
33 return new SchedTaskList(params_addr, m->get_curListBuf(), connector);
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
34 }
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
35 }