# HG changeset patch # User Shinji KONO # Date 1254791149 -32400 # Node ID 9745d08e2f256e271dab8ebdb9c8a0af33e63ba7 # Parent 8602bb323369a4c3777417fcda15a1776b170d3f fix diff -r 8602bb323369 -r 9745d08e2f25 TaskManager/Cell/CellTaskManagerImpl.cc --- a/TaskManager/Cell/CellTaskManagerImpl.cc Mon Oct 05 20:45:17 2009 +0900 +++ b/TaskManager/Cell/CellTaskManagerImpl.cc Tue Oct 06 10:05:49 2009 +0900 @@ -182,7 +182,7 @@ CellTaskManagerImpl::mail_check(MailQueuePtr mail_list) { // PPE Scheduler からの mail check - ppeManager->mail_check(mail_list); + ppeManager->mail_check(mail_list, waitTaskQueue); do { unsigned int data; diff -r 8602bb323369 -r 9745d08e2f25 TaskManager/Fifo/FifoTaskManagerImpl.cc --- a/TaskManager/Fifo/FifoTaskManagerImpl.cc Mon Oct 05 20:45:17 2009 +0900 +++ b/TaskManager/Fifo/FifoTaskManagerImpl.cc Tue Oct 06 10:05:49 2009 +0900 @@ -37,8 +37,6 @@ taskQueueImpl = new TaskQueueInfo; htaskImpl = new HTaskInfo; - machineNum = machineNum*2; // What!? - taskQueueImpl->init(TASK_MAX_SIZE*4); htaskImpl->init(TASK_MAX_SIZE*2); @@ -66,7 +64,10 @@ taskListImpl = tm-> taskListImpl ; taskQueueImpl = tm-> taskQueueImpl ; htaskImpl = tm-> htaskImpl ; - waitTaskQueue = tm->waitTaskQueue; + waitTaskQueue = NULL; // mail_check で外から設定される + activeTaskQueue = NULL; // CellTaskManagerImple 側を使う + + // waitTaskQueue = tm->waitTaskQueue; // activeQueue は? mainTaskList = taskListImpl->create(); @@ -184,6 +185,13 @@ * NULL なら全てのタスクが実行終了したということ */ void +FifoTaskManagerImpl::mail_check(MailQueuePtr mail_list, TaskQueueInfo *waitQueue) +{ + waitTaskQueue = waitQueue; + mail_check(mail_list); +} + +void FifoTaskManagerImpl::mail_check(MailQueuePtr mail_list) { MailQueuePtr q = mail_list; diff -r 8602bb323369 -r 9745d08e2f25 TaskManager/Fifo/FifoTaskManagerImpl.h --- a/TaskManager/Fifo/FifoTaskManagerImpl.h Mon Oct 05 20:45:17 2009 +0900 +++ b/TaskManager/Fifo/FifoTaskManagerImpl.h Tue Oct 06 10:05:49 2009 +0900 @@ -24,6 +24,7 @@ void init(MainScheduler*, TaskManagerImpl*); void run(void); void mail_check(MailQueuePtr mail_list); + void mail_check(MailQueuePtr mail_list, TaskQueueInfo *waitQueue); TaskListPtr get_runTaskList(void); MailQueuePtr schedule(TaskListPtr);