ras_tex.c

来自「iTRON4.0最新操作系统」· C语言 代码 · 共 84 行

C
84
字号
/* ------------------------------------------------------------------------ *//*  Hyper Operating System V4  μITRON4.0慌屯 Real-Time OS                  *//*    ITRONカ〖ネル タスク毋嘲借妄怠墙                                      *//*                                                                          *//*                                  Copyright (C) 1998-2002 by Project HOS  *//*                                  http://sourceforge.jp/projects/hos/     *//* ------------------------------------------------------------------------ */#include "knl_tsk.h"#include "knl_sys.h"/* タスク毋嘲借妄の妥滇 */ER ras_tex(		ID     tskid,		/* 妥滇滦据のタスクのID戎规 */		TEXPTN rasptn)		/* 妥滇するタスク毋嘲借妄のタスク毋嘲妥傍 */{	T_KERNEL_TCB_RAM   *tcb_ram;	T_KERNEL_TEXCB_RAM *texcb;	/* ID 认跋チェック */	if ( tskid == TSK_SELF )	{		/* コンテキストチェック */#ifdef HOS_ERCHK_E_ID		if ( sns_ctx() )		{			return E_ID;	/* 稍赖ID戎规 */		}#endif		tcb_ram = kernel_get_run_tsk();		texcb = tcb_ram->texcb;				mknl_loc_sys();	/* システムのロック */	}	else	{		/* ID 认跋チェック */#ifdef HOS_ERCHK_E_ID		if ( tskid < KERNEL_TMIN_TSKID || tskid > KERNEL_TMAX_TSKID )		{			return  E_ID;	/* 稍赖ID戎规 */		}#endif		tcb_ram = KERNEL_TSKID_TO_TCB_RAM(tskid);		mknl_loc_sys();	/* システムのロック */			/* オブジェクト赂哼チェック */#ifdef HOS_ERCHK_E_NOEXS		if ( tcb_ram == NULL )		{			mknl_unl_sys();		/* システムのロック豺近 */			return E_NOEXS;		/* オブジェクト踏栏喇 */		}#endif				texcb = tcb_ram->texcb;				/* オブジェクト觉轮チェック */#ifdef HOS_ERCHK_E_OBJ		if ( texcb == NULL || mknl_get_tskstat(&tcb_ram->mtcb) == TTS_DMT )		{			mknl_unl_sys();		/* システムのロック豺近 */			return E_OBJ;		/* オブジェクト觉轮稍赖 */		}#endif	}	/* 毋嘲借妄の妥滇 */	texcb->rasptn = (TEXPTN)(texcb->rasptn | rasptn);	mknl_ras_tex(&tcb_ram->mtcb);	mknl_unl_sys();		/* システムのロック豺近 */	return E_OK;}/* ------------------------------------------------------------------------ *//*  Copyright (C) 1998-2002 by Project HOS                                  *//* ------------------------------------------------------------------------ */

⌨️ 快捷键说明

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