diff TaskManager/kernel/schedule/SchedTask.cc @ 699:7e937a1cd121

....
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sun, 13 Dec 2009 22:46:15 +0900
parents dcaa40ec963d
children 61b59376aec5
line wrap: on
line diff
--- a/TaskManager/kernel/schedule/SchedTask.cc	Sun Dec 13 20:14:18 2009 +0900
+++ b/TaskManager/kernel/schedule/SchedTask.cc	Sun Dec 13 22:46:15 2009 +0900
@@ -123,6 +123,15 @@
 {
     __debug("[SchedTask:%s]\n", __FUNCTION__);
 
+#ifdef SIMPLE_TASK
+    if (task->w_size > 0) {
+	writebuf = scheduler->allocate(task->w_size);
+    }
+#else
+    if (outListData->length > 0) {
+	writebuf = scheduler->allocate(outListData->size);
+    }
+#endif
     scheduler->dma_wait(DMA_READ);
     task_list[task->command].wait(scheduler,task->command);
     task_list[task->command].run(this, readbuf, writebuf);
@@ -169,7 +178,7 @@
 					  scheduler);
 	if (nextTask->command==TaskArray) {
 	    // Start Task Array
-	    return (SchedTaskBase*)(new SchedTaskArrayLoad(nextSched));
+	    return (SchedTaskBase*)(new SchedTaskArrayLoad(scheduler, nextSched));
 	}
 
 	return nextSched;