From: ryuz Date: Mon, 31 May 2010 14:33:55 +0000 (+0000) Subject: (none) X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;ds=sidebyside;h=9dcebcbc616c7d7efec9a30320e0b2cd63bd9b1b;p=hos%2Fhos-v4a.git (none) --- diff --git a/kernel/source/object/mtx/kadd_mtx.c b/kernel/source/object/mtx/kadd_mtx.c index 871dd07..9eb54a5 100755 --- a/kernel/source/object/mtx/kadd_mtx.c +++ b/kernel/source/object/mtx/kadd_mtx.c @@ -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);