Mercurial > hg > Members > kono > Cerium
view TaskManager/kernel/schedule/SchedTaskArrayNop.cc @ 838:41302b72c895
Draw Span Task -> Task Array
author | Yutaka_Kinjyo |
---|---|
date | Fri, 28 May 2010 01:47:42 +0900 |
parents | c7905ead974f |
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 */