diff TaskManager/kernel/ppe/HTask.cc @ 1466:cb57420a8219 draft

TaskList on going...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sun, 15 Jul 2012 13:36:55 +0900
parents 3f2230d79eba
children d585a7614cd5
line wrap: on
line diff
--- a/TaskManager/kernel/ppe/HTask.cc	Sun Jul 15 09:56:54 2012 +0900
+++ b/TaskManager/kernel/ppe/HTask.cc	Sun Jul 15 13:36:55 2012 +0900
@@ -22,6 +22,7 @@
     tasklog->create_time = rdtsc();
     TaskList *tl = (TaskList*)rbuf;
     tl->self = this;
+    tl->set_last(last);
     mimpl->spawn_task(this);
 }
 
@@ -126,7 +127,7 @@
     }
     Task *next = t->next();
     if (next >= tl->last()) {
-        tl->lastTask = t;
+        tl->set_last(t);
         TaskListPtr nextTaskList =  mimpl->createTaskList();
         nextTaskList->prev = tl;
         tl->next = nextTaskList;
@@ -136,6 +137,7 @@
         rbuf = (memaddr)tl;
     } 
     next->init(id, param_count, inData_count, outData_count);
+    last = next->next();
     return next;
 }
 
@@ -148,8 +150,6 @@
 void
 HTask::spawn_task_array(Task * last)
 {
-    TaskList *tl = (TaskList*)rbuf;
-    tl->lastTask = last;
 }