view TaskManager/kernel/schedule/SchedTaskBase.h @ 776:5088d70e66c5

heap corruption in TaskArray1
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Fri, 05 Mar 2010 10:12:49 +0900
parents f725c6455d19
children 45c141669de7
line wrap: on
line source

#ifndef INCLUDED_SCHED_TASK_BASE
#define INCLUDED_SCHED_TASK_BASE

#include "base.h"
#include "Scheduler.h"

class Scheduler;

class SchedTaskBase {
public:
    /* constructor */
    // void *called ;  // for debug
    SchedTaskBase() {
	// called = __builtin_return_address(1);
    }
    virtual ~SchedTaskBase() {}

    BASE_NEW_DELETE(SchedTaskBase);

    // noaction in default
    virtual void load()  {}
    virtual void read()  {}
    virtual void exec()  {}
    virtual void write() {}

    /* functions */
    virtual SchedTaskBase* next(Scheduler *, SchedTaskBase*) {return 0;}

    /* variables */

    // Task を実行するスケジューラ自身
    Scheduler *scheduler;

    SimpleTaskPtr task;

    // 現在スケジューラが実行している TaskList と、このタスクに対応する Task
    TaskListPtr list;
    // Task の、Tasklist での位置。(task = &list[cur_index-1])
    int cur_index;


};

#endif