Mercurial > hg > Members > kono > Cerium
view TaskManager/kernel/schedule/Scheduler.cc @ 42:aa11038dbdc1
*** empty log message ***
author | gongo |
---|---|
date | Thu, 14 Feb 2008 18:27:37 +0900 |
parents | |
children | 70a0ac46133e |
line wrap: on
line source
#include "Scheduler.h" #include "SchedNop.h" #include "error.h" void Scheduler::init(void) { init_impl(); listBufFlg = 0; readBufFlg = 0; writeBufFlg = 0; } void Scheduler::run(void) { SchedTaskBase* taskTmp; task1 = new SchedNop(); task2 = new SchedNop(); task3 = new SchedNop(); // main loop do { __debug("----------\n"); task3->write(); task2->exec(); task1->read(); taskTmp = task3; task3 = task2; task2 = task1; task1 = task1->next(this, taskTmp); } while (task1); delete task3; delete task2; } TaskListPtr Scheduler::get_curListBuf(void) { listBufFlg ^= 1; return listBuf[listBufFlg]; } void * Scheduler::get_curWriteBuf(void) { writeBufFlg ^= 1; return writeBuf[writeBufFlg]; } void* Scheduler::get_curReadBuf(void) { readBufFlg ^= 1; return readBuf[readBufFlg]; }