diff TaskManager/kernel/schedule/SchedNop2Ready.cc @ 184:a19d3ed4ce5b draft

fix
author gongo@gendarme.cr.ie.u-ryukyu.ac.jp
date Tue, 06 Jan 2009 15:39:48 +0900
parents 028ffc9c0375
children e9b5dcdae38d
line wrap: on
line diff
--- a/TaskManager/kernel/schedule/SchedNop2Ready.cc	Tue Dec 23 16:27:07 2008 +0900
+++ b/TaskManager/kernel/schedule/SchedNop2Ready.cc	Tue Jan 06 15:39:48 2009 +0900
@@ -20,20 +20,18 @@
 SchedTaskBase*
 SchedNop2Ready::next(Scheduler *m, SchedTaskBase *p)
 {
+    SchedTaskBase *nextSched;
+
     __debug("[SchedNop2Ready:%s]\n", __FUNCTION__);
     
     delete p;
 
-    // 追加されたタスクがあれば
-    if (scheduler->renewTop_taskList) {
-	TaskListPtr list = scheduler->renewTop_taskList;
-	scheduler->renewTop_taskList = scheduler->renewTop_taskList->next;
-	scheduler->renewCur_taskList = NULL;
-
-	list->next = NULL;
-	SchedTaskList *schd = new SchedTaskList((unsigned int)list, scheduler);
-	schd->flag_renewTaskList = 1;
-	return schd;
+    nextSched = scheduler->get_nextRenewTaskList(NULL, 0);
+	
+    // RenewTask がある
+    if (nextSched) {
+	printf("RenewTaskList start [SchedNop2Ready]\n");
+	return nextSched;
     } else {
 	scheduler->mail_write(MY_SPE_STATUS_READY);
 	return new SchedMail(scheduler);