view TaskManager/kernel/schedule/SchedMail.cc @ 239:ae6aa53faf70

hey
author admin@mcbk.cr.ie.u-ryukyu.ac.jp
date Fri, 29 May 2009 15:34:13 +0900
parents d734af296d38
children 58fd16298954
line wrap: on
line source

#include "SchedMail.h"
#include "SchedTaskList.h"
#include "SchedExit.h"
#include "error.h"

SchedMail::SchedMail(Scheduler *sched)
{
    scheduler = sched;
}

SchedTaskBase*
SchedMail::next(Scheduler *m, SchedTaskBase *p)
{
    delete p;
    
    params_addr = scheduler->mail_read();

    __debug("[SchedMail:%s]\n", __FUNCTION__);
    // if 文なくすには・・・関数ポインタ?
    if ((int)params_addr == MY_SPE_COMMAND_EXIT) {
	return new SchedExit();
    } else {
	return new SchedTaskList(params_addr, m);
    }
}