diff TaskManager/Cell/CellTaskManagerImpl.cc @ 619:0decff4e867b

RenewTask removal
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sun, 15 Nov 2009 02:02:30 +0900
parents 1d4a8a86f26b
children 55ed910d13c2
line wrap: on
line diff
--- a/TaskManager/Cell/CellTaskManagerImpl.cc	Sat Nov 14 21:17:02 2009 +0900
+++ b/TaskManager/Cell/CellTaskManagerImpl.cc	Sun Nov 15 02:02:30 2009 +0900
@@ -53,6 +53,10 @@
     ppeManager = new FifoTaskManagerImpl(machineNum);
     // 大半のTaskQueueInfoは、共有される
     ppeManager->init(new PpeScheduler, this);
+    
+    ppeManager->get_scheduler()->set_manager(this);
+    schedTaskManager = new SchedTask();
+    schedTaskManager->init(0,0,0,ppeManager->get_scheduler());
 }
 
 void
@@ -220,7 +224,9 @@
 		    speThreads->send_mail(id, 2, alloc_info);
 		} else if (data > MY_SPE_NOP) {
 		    //__debug_ppe("[PPE] recv from [SPE %d] : 0x%x\n", id, data);
-		    check_task_finish((HTaskPtr)data);
+		    HTaskPtr task = (HTaskPtr)data;
+		    task->post_func(schedTaskManager, task->post_arg1, task->post_arg2);
+		    check_task_finish(task);
 		}
 	    }
 	}