mrmv_tmo.c

来自「itron」· C语言 代码 · 共 57 行

C
57
字号
/* ------------------------------------------------------------------------ */
/*  Hyper Operating System V4  μITRON4.0慌屯 Real-Time OS                  */
/*    μカ〖ネル タイムアウトキュ〖瓷妄                                     */
/*                                                                          */
/*                                  Copyright (C) 1998-2002 by Project HOS  */
/*                                  http://sourceforge.jp/projects/hos/     */
/* ------------------------------------------------------------------------ */


#include "mknl.h"



/* タイムアウト略ち乖误からタスクを艰り近く */
void mknl_rmv_tmout(
		T_MKNL_TCB *mtcb)	/* 略ち乖误から猴近するタスク */
{
	/* タイムアウトキュ〖に踏儡鲁なら痰浑 */
	if ( mtcb->tm_prev == NULL )
	{
		return;
	}

	/* キュ〖の呵稿の1つタスクなら */
	if ( mtcb->tm_next == mtcb )
	{
		mknl_timout_head = NULL;	/* タイムアウトキュ〖を鄂にする */
	}
	else
	{
		/* 琐萨でなければ */
		if ( mtcb != mknl_timout_head->tm_prev )
		{
			/* 箕粗汗尸を蓝换 */
			mtcb->tm_next->diftim += mtcb->diftim;
		}
	
		/* 黎片なら */
		if ( mtcb == mknl_timout_head )
		{
			mknl_timout_head = mtcb->tm_next;	/* 黎片疤弥构糠 */
		}
		
		/* キュ〖から嘲す */
		mtcb->tm_next->tm_prev = mtcb->tm_prev;
		mtcb->tm_prev->tm_next = mtcb->tm_next;
	}
	
	/* 踏儡鲁に肋年 */
	mtcb->tm_prev = NULL;
}


/* ------------------------------------------------------------------------ */
/*  Copyright (C) 1998-2002 by Project HOS                                  */
/* ------------------------------------------------------------------------ */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?