annotate TaskManager/kernel/schedule/SchedNop2Ready.cc @ 109:5c194c71eca8

Cerium cvs version
author gongo@gendarme.local
date Wed, 12 Nov 2008 17:39:33 +0900
parents aa11038dbdc1
children 907bda4a1a14
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
42
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
1 #include <stdio.h>
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
2 #include "SchedNop2Ready.h"
109
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents: 42
diff changeset
3 #include "SchedTaskList.h"
42
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
4 #include "SchedMail.h"
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
5 #include "error.h"
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
6
109
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents: 42
diff changeset
7 SchedNop2Ready::SchedNop2Ready(Scheduler *cn)
42
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
8 {
109
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents: 42
diff changeset
9 scheduler = cn;
42
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
10 }
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
11
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
12 void
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
13 SchedNop2Ready::exec(void)
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
14 {
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
15 __debug("[SchedNop2Ready:%s]\n", __FUNCTION__);
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
16
109
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents: 42
diff changeset
17 //scheduler->mail_write(MY_SPE_STATUS_READY);
42
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
18 }
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
19
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
20 SchedTaskBase*
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
21 SchedNop2Ready::next(Scheduler *m, SchedTaskBase *p)
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
22 {
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
23 __debug("[SchedNop2Ready:%s]\n", __FUNCTION__);
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
109
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents: 42
diff changeset
27 // 追加されたタスクがあれば
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents: 42
diff changeset
28 if (scheduler->renewTop_taskList) {
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents: 42
diff changeset
29 TaskListPtr list = scheduler->renewTop_taskList;
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents: 42
diff changeset
30 scheduler->renewTop_taskList = scheduler->renewTop_taskList->next;
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents: 42
diff changeset
31 scheduler->renewCur_taskList = NULL;
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents: 42
diff changeset
32
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents: 42
diff changeset
33 list->next = NULL;
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents: 42
diff changeset
34 SchedTaskList *schd = new SchedTaskList((unsigned int)list, scheduler);
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents: 42
diff changeset
35 schd->flag_renewTaskList = 1;
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents: 42
diff changeset
36 return schd;
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents: 42
diff changeset
37 } else {
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents: 42
diff changeset
38 scheduler->mail_write(MY_SPE_STATUS_READY);
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents: 42
diff changeset
39 return new SchedMail(scheduler);
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents: 42
diff changeset
40 }
42
aa11038dbdc1 *** empty log message ***
gongo
parents:
diff changeset
41 }