OSDN Git Service

(none)
authorryuz <ryuz>
Mon, 1 Dec 2008 14:47:06 +0000 (14:47 +0000)
committerryuz <ryuz>
Mon, 1 Dec 2008 14:47:06 +0000 (14:47 +0000)
kernel/include/core/toq.h
kernel/include/object/tskobj.h
kernel/source/object/tsk/kcre_tsk.c

index bba9f26..73791fa 100755 (executable)
@@ -33,6 +33,10 @@ typedef struct _kernel_t_toqcb
        _KERNEL_TCB_T_RELTIM     toqobj_diftim          _KERNEL_TCB_TBITDEF_RELTIM;
 
 
+#define _KERNEL_CRE_TOQOBJ(tcb)                                        do { (tcb)->toqobj_prev = _KERNEL_TSKHDL_NULL; } while (0)
+#define _KERNEL_DEL_TOQOBJ(tcb)                                        do { } while (0)
+
+
 #define _KERNEL_TSK_SET_TOQNEXT(tcb, x)                        do { (tcb)->toqobj_next = (x); } while (0)
 #define _KERNEL_TSK_GET_TOQNEXT(tcb)                   ((tcb)->toqobj_next)
 #define _KERNEL_TSK_SET_TOQPREV(tcb, x)                        do { (tcb)->toqobj_prev = (x); } while (0)
index f036526..ff3aee9 100755 (executable)
@@ -915,6 +915,16 @@ extern  _KERNEL_T_TCB                                      *_kernel_tcb_tbl[];                                                                             /**< %jp{タスクコン
 #define _KERNEL_TSK_GET_QUE(tcb)                               _kernel_get_que(tcb)
 #endif
 
+/* toqobj */
+#if _KERNEL_TCB_QUEOBJ
+#define _KERNEL_TSK_CRE_TOQOBJ(tcb)                            _KERNEL_CRE_TOQOBJ(tcb)
+#define _KERNEL_TSK_DEL_TOQOBJ(tcb)                            _KERNEL_DEL_TOQOBJ(tcb)
+#else
+#define _KERNEL_TSK_CRE_TOQOBJ(tcb)                            do { } while(0)
+#define _KERNEL_TSK_DEL_TOQOBJ(tcb)                            do { } while(0)
+#endif
+
+
 /* tskstat */
 #if _KERNEL_TCB_TSKSTAT
 #define _KERNEL_TSK_SET_TSKSTAT(tcb, x)                        do { (tcb)->tskstat = (_KERNEL_TCB_T_TSKSTAT)(x); } while(0)
index e9dac83..a95c011 100755 (executable)
@@ -127,6 +127,7 @@ ER _kernel_cre_tsk(ID tskid, const T_CTSK *pk_ctsk)
        _KERNEL_TSK_SET_TSKID(tcb_ro, tskid);
        _KERNEL_TSK_SET_TEXATR(tcb_ro, TA_HLNG);
        _KERNEL_TSK_SET_TEXRTN(tcb_ro, NULL);
+       _KERNEL_TSK_CRE_TOQOBJ(tcb);
        _KERNEL_TSK_SET_TSKSTAT(tcb, _KERNEL_TTS_DMT);
        _KERNEL_TSK_SET_MTXHDL(tcb, _KERNEL_MTXHDL_NULL);
        _KERNEL_TSK_SET_TEXSTAT(tcb, _KERNEL_TXS_DIS);