diff TaskManager/kernel/ppe/BufferManager.cc @ 70:178459e03f5c

*** empty log message ***
author gongo
date Mon, 18 Feb 2008 01:13:00 +0900
parents 54355e641172
children 83b57e03d3ef
line wrap: on
line diff
--- a/TaskManager/kernel/ppe/BufferManager.cc	Sun Feb 17 23:07:52 2008 +0900
+++ b/TaskManager/kernel/ppe/BufferManager.cc	Mon Feb 18 01:13:00 2008 +0900
@@ -62,21 +62,13 @@
     delete htaskImpl;
 }
 
-/**
- * waitTaskList って別で持つ必要あるのかな。
- * ここでいう wait ってのは依存のことで、
- * 依存される? task はすでにこの task を持っているわけだから。
- * わざわざ waitTaskList を持つ必要は無い。
- * けど、OS とかだと依存とかじゃない wait もあるんだよな。
- * 消す必要は無いか。
- */
 void
 BufferManager::append_waitTask(HTaskPtr task)
 {
-    //TaskQueuePtr q;
+    TaskQueuePtr q;
 
-    //q = taskQueueImpl->create(task);
-    //waitTaskQueue = taskQueueImpl->append(waitTaskQueue, q);
+    q = taskQueueImpl->create(task);
+    waitTaskQueue = taskQueueImpl->append(waitTaskQueue, q);
 }
 
 void
@@ -91,7 +83,7 @@
 void
 BufferManager::notify_wait_taskQueue(HTaskPtr depend, TaskQueuePtr list)
 {
-    TaskQueuePtr p, d;
+    TaskQueuePtr p;
     HTaskPtr task;
     
     p = list; // wait task list
@@ -100,13 +92,10 @@
 	task = p->task;
 	task->wait_i = remove_taskQueue_eq_task(task->wait_i, depend);
 	if (task->wait_i == NULL) {
-	    d = p;
-	    p = p->next;
 	    append_activeTask(task);
-	    //waitTaskQueue = remove_taskQueue(waitTaskQueue, d);
-	} else {
-	    p = p->next;
+	    waitTaskQueue = remove_taskQueue_eq_task(waitTaskQueue, task);
 	}
+	p = p->next;
     }
 }