diff TaskManager/Fifo/FifoTaskManagerImpl.cc @ 955:6ffeb543e8d4 draft

unify all QueueInfo
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Wed, 04 Aug 2010 16:46:25 +0900
parents 178fbcc81fda
children 811cdd0fd418
line wrap: on
line diff
--- a/TaskManager/Fifo/FifoTaskManagerImpl.cc	Tue Aug 03 15:32:49 2010 +0900
+++ b/TaskManager/Fifo/FifoTaskManagerImpl.cc	Wed Aug 04 16:46:25 2010 +0900
@@ -2,7 +2,8 @@
 #include <stdlib.h>
 #include <string.h>
 #include "FifoTaskManagerImpl.h"
-#include "TaskListInfo.h"
+#include "QueueInfo.h"
+#include "TaskList.h"
 #include "Scheduler.h"
 #include "SchedTask.h"
 #include "types.h"
@@ -10,6 +11,8 @@
 #include "SchedNop.h"
 #include "SysFunc.h"
 
+extern  QueueInfo<TaskList> *taskListPool;
+
 // static void send_alloc_reply(FifoTaskManagerImpl *tm, int id, MainScheduler *s);
 
 FifoTaskManagerImpl::~FifoTaskManagerImpl()
@@ -36,8 +39,8 @@
     mainScheduler->id = 0;
     set_scheduler(mainScheduler);
 
-    taskListInfo  = new TaskListInfo;
-    ppeTaskList  = new TaskListInfo;
+    taskListInfo  = new QueueInfo<TaskList>(taskListPool);
+    ppeTaskList  = new QueueInfo<TaskList>(taskListPool);
 
     schedTaskManager = new SchedTask();
     others = 0;
@@ -63,8 +66,8 @@
     htaskImpl     = tm-> htaskImpl     ;
     waitTaskQueue     = tm->waitTaskQueue;   
 
-    taskListInfo  = new TaskListInfo;
-    ppeTaskList  = new TaskListInfo;
+    taskListInfo  = new QueueInfo<TaskList>(taskListPool);
+    ppeTaskList  = new QueueInfo<TaskList>(taskListPool);
 
     // schedTaskManager = new SchedTask();
     others = tm;
@@ -127,7 +130,7 @@
     // ppeTaskList は走り終わった ppe の Task の List. 
     // taskListInfo はこれから走る Task の List. 
     // 交換して実行する
-    TaskListInfoPtr tmp = ppeTaskList;
+    QueueInfo<TaskList>* tmp = ppeTaskList;
     ppeTaskList = taskListInfo;
     taskListInfo = tmp;
     // ppeTaskList は本来は循環リストなのだけど、実行中は線形リストである。