diff include/TaskManager/SchedTask.h @ 180:e3b7776b1420 draft

いろいろ fix 。詳しくは TaskManager/Changelog、test_render/Changelog を
author gongo@localhost.localdomain
date Mon, 22 Dec 2008 16:09:57 +0900
parents 028ffc9c0375
children 8e9ada0c1ed0
line wrap: on
line diff
--- a/include/TaskManager/SchedTask.h	Fri Dec 19 14:21:29 2008 +0900
+++ b/include/TaskManager/SchedTask.h	Mon Dec 22 16:09:57 2008 +0900
@@ -31,7 +31,11 @@
     BASE_NEW_DELETE(SchedTask);
 
     /* variables */
-    // ߥ塼餬 TaskList ȡΥб Task
+
+    // Task ¹Ԥ륹塼鼫
+    Scheduler *__scheduler;
+
+    // ߥ塼餬¹ԤƤ TaskList ȡΥб Task
     TaskListPtr __list;
     TaskPtr __task;
 
@@ -39,33 +43,59 @@
     ListDataPtr __inListData;
     ListDataPtr __outListData;
 
-    // read ǡwrite ѤΥХåե
-    // readbuf ˤ ϿꤷϥǡäƤ롣
-    // writebuf ˥ǡǤȡ
-    // Ͽꤷ˽񤭹
+    /**
+     * read ǡwrite ѤΥХåե
+     * readbuf ˤ ϿꤷϥǡäƤ롣
+     * writebuf ˥ǡǤȡ
+     * Ͽꤷ˽񤭹
+     */
     void *__readbuf;
     void *__writebuf;
 
-    Scheduler *__scheduler;
+    // 줿Υ롼
     TaskGroup *__taskGroup;
 
-    int __renew_flag; // 줿ե饰
+    // Υ줿ο
+    int __renew_flag;
+
+    // Υ SPE 줿ݤ 1: Yes, 0: No
     int __flag_renewTask;
 
+    // ᥤ¦줿Τ
+    // SPE 줿ΤˤäơǡΰѤäƤ롣
+    // Τ if (__flag_renewTask) ϢȯΤϤ褯ʤΤ
+    // ؿݥ󥿤ǻäƤ
+    void (SchedTask::*ex_read)(void);
+    void (SchedTask::*ex_exec)(void);
+    void (SchedTask::*ex_write)(void);
+    
     /* functions */
-    SchedTaskBase* next(Scheduler *, SchedTaskBase *);
-
     void __init__(void);
 
     // override
     void read(void);
     void exec(void);
     void write(void);
+    SchedTaskBase* next(Scheduler *, SchedTaskBase *);
 
     // 桼Ѿ
     // 줾Υб򵭽Ҥ
     virtual int run(void* r, void *w) { return 0; }
 
+    /**
+     * PPE 줿Ф롢read,exec,write °(?)
+     */
+    void ex_read_normal(void);
+    void ex_exec_normal(void);
+    void ex_write_normal(void);
+
+    /**
+     * SPE 줿Ф롢read,exec,write °(?)
+     */
+    void ex_read_renew(void);
+    void ex_exec_renew(void);
+    void ex_write_renew(void);
+
     void* get_input(void *buff, int index);
     void* get_output(void *buff, int index);
     int get_param(int index);