diff TaskManager/kernel/schedule/SchedTask.cc @ 698:dcaa40ec963d

no compile error for Task Array
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sun, 13 Dec 2009 20:14:18 +0900
parents cbcf0182635e
children 7e937a1cd121
line wrap: on
line diff
--- a/TaskManager/kernel/schedule/SchedTask.cc	Sun Dec 13 18:45:09 2009 +0900
+++ b/TaskManager/kernel/schedule/SchedTask.cc	Sun Dec 13 20:14:18 2009 +0900
@@ -15,7 +15,7 @@
 #define TaskPtr SimpleTaskPtr
 #endif
 
-extern Scheduler::TaskObject task_list[MAX_TASK_OBJECT];
+extern TaskObject task_list[MAX_TASK_OBJECT];
 
 /**
    Task Object を作る
@@ -28,11 +28,9 @@
     return new SchedTask();
 }
 
-
+#if 0
 /**
    code load を始める。既に get_segment hash に入っていれば何もしない。
-   最初の一回は SchedTaskList:: next から呼ばれる。
-   この段階では、SchedTask object は、まだ作られてない。
  */
 extern void
 loadSchedTask(Scheduler *scheduler,TaskPtr task)
@@ -40,6 +38,7 @@
 // fprintf(stderr,"loadSchedTask %d\n",task->command);
     task_list[task->command].load(scheduler,task->command);
 }
+#endif
 
 
 SchedTask::SchedTask()
@@ -95,9 +94,9 @@
 
     // object creation をSchedTask生成時にやらないので、
     // exec の直前のread で十分に間に合う
-    if (cur_index < list->length) {
+    if (cur_index < list->length) { // if 文は要らないのでは?
 	// load next task
-	loadSchedTask(scheduler, &list->tasks[cur_index]);
+	loadSchedTask(scheduler, list->tasks[cur_index].command);
     }
 #ifdef SIMPLE_TASK
     // 読むデータが一つもなければ無視
@@ -270,6 +269,19 @@
 {
     return task->param[index];
 }
+
+#else
+
+void* SchedTask::get_input(void *buff, int index) {
+  printf("Cannot use inData in SimpleTask use TaskArray\n");
+  return NULL; }
+memaddr SchedTask::get_inputAddr(int index) { return NULL; }
+int SchedTask::get_inputSize(int index) {return 0; }
+void* SchedTask::get_output(void *buff, int index) {return 0; }
+memaddr SchedTask::get_outputAddr(int index) { return NULL; }
+int SchedTask::get_outputSize(int index) { return 0; }
+memaddr SchedTask::get_param(int index) { return 0; }
+
 #endif
 
 void*