Mercurial > hg > Members > kono > Cerium
view TaskManager/kernel/schedule/SchedTaskArrayNop.cc @ 890:baae338d91da
minor fix. possible schedTaskArray overrun
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 15 Jul 2010 11:59:53 +0900 |
parents | 586ed400413a |
children | 96536163c0a0 |
line wrap: on
line source
#include "SchedTaskArrayNop.h" #include "Scheduler.h" SchedTaskArrayNop::SchedTaskArrayNop(Scheduler *s, SchedTaskBase *savedTask_, Task *curTask_, Task *_array) { savedTask = savedTask_; atask = _array; scheduler = s; inListData.bound = 0; inListData.size = 0; inListData.length = 0; inListData.element = 0; outListData.bound = 0; outListData.size = 0; outListData.length = 0; outListData.element = 0; } /** */ SchedTaskArrayNop::~SchedTaskArrayNop() { } /** * Task data / code read */ void SchedTaskArrayNop::read() { } /** * Wait read data and execute task * Start write DMA */ void SchedTaskArrayNop::exec() { } /** * Wait write DMA * send finish mail */ void SchedTaskArrayNop::write() { savedTask ->write(); free(atask); delete savedTask; savedTask = 0; } SchedTaskBase* SchedTaskArrayNop::next(Scheduler *scheduler, SchedTaskBase *p) { // 最後のTask が exec されて、次の Task を実行してかまわない。 SchedTaskBase *n = savedTask->next(scheduler, savedTask); return n; } /* end */