Mercurial > hg > Game > Cerium
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; } }