OSDN Git Service

(none)
authorryuz <ryuz>
Mon, 31 May 2010 14:33:55 +0000 (14:33 +0000)
committerryuz <ryuz>
Mon, 31 May 2010 14:33:55 +0000 (14:33 +0000)
kernel/source/object/mtx/kadd_mtx.c

index 871dd07..9eb54a5 100755 (executable)
@@ -25,15 +25,15 @@ void _kernel_add_mtx(_KERNEL_T_MTXHDL mtxhdl, _KERNEL_T_TSKHDL tskhdl)
        tcb   = _KERNEL_TSK_TSKHDL2TCB(tskhdl);
 
        _KERNEL_MTX_SET_TSKHDL(mtxcb, tskhdl);
-
        
+
        mtxhdl_head = _KERNEL_TSK_GET_MTXHDL(tcb);
        if ( mtxhdl_head == _KERNEL_MTXHDL_NULL )
        {
                /* %jp{最初の1つを接続} */
                _KERNEL_TSK_SET_MTXHDL(tcb, mtxhdl);
                _KERNEL_MTX_SET_NEXT(mtxcb, mtxhdl);
-               _KERNEL_MTX_SET_NEXT(mtxcb, mtxhdl);
+               _KERNEL_MTX_SET_PREV(mtxcb, mtxhdl);
        }
        else
        {
@@ -41,13 +41,13 @@ void _kernel_add_mtx(_KERNEL_T_MTXHDL mtxhdl, _KERNEL_T_TSKHDL tskhdl)
                _KERNEL_T_MTXHDL        mtxhdl_prev;
                _KERNEL_T_MTXCB_PTR     mtxcb_next;
                _KERNEL_T_MTXCB_PTR     mtxcb_prev;
-
+               
                /* %jp{接続の先頭/末尾を取得} */
                mtxhdl_next = mtxhdl_head;
                mtxcb_next  = _KERNEL_MTX_MTXHDL2MTXCB(mtxhdl_next);
                mtxhdl_prev = _KERNEL_MTX_GET_PREV(mtxcb_next);
                mtxcb_prev  = _KERNEL_MTX_MTXHDL2MTXCB(mtxhdl_prev);
-
+               
                /* %jp{末尾に接続} */
                _KERNEL_MTX_SET_PREV(mtxcb_next, mtxhdl);
                _KERNEL_MTX_SET_NEXT(mtxcb_prev, mtxhdl);