Mercurial > hg > Members > kono > Cerium
view TaskManager/kernel/schedule/SchedTaskArrayNop.cc @ 830:c7905ead974f
return TaskList->self
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 25 May 2010 17:28:05 +0900 |
parents | 45c141669de7 |
children | 586ed400413a |
line wrap: on
line source
#include "SchedTaskArrayNop.h" #include "Scheduler.h" SchedTaskArrayNop::SchedTaskArrayNop(Scheduler *s, SchedTaskBase *savedTask_, Task *curTask_, Task *_array) { savedTask = savedTask_; params_addr = (memaddr)savedTask->task->self; 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() { #ifndef TASK_LIST_MAIL scheduler->mail_write((memaddr)params_addr); #endif free(atask); } SchedTaskBase* SchedTaskArrayNop::next(Scheduler *scheduler, SchedTaskBase *p) { // 最後のTask が exec されて、次の Task を実行してかまわない。 SchedTaskBase *n = savedTask->next(scheduler, savedTask); delete savedTask; return n; } /* end */