Mercurial > hg > Game > Cerium
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 は本来は循環リストなのだけど、実行中は線形リストである。