📄 mtic_tmo.c
字号:
/* ------------------------------------------------------------------------ *//* Hyper Operating System V4 μITRON4.0慌屯 Real-Time OS *//* μカ〖ネル タイムアウトキュ〖瓷妄 *//* *//* Copyright (C) 1998-2002 by Project HOS *//* http://sourceforge.jp/projects/hos/ *//* ------------------------------------------------------------------------ */#include "mknl.h"/* グロ〖バル恃眶 */T_MKNL_TCB *mknl_timout_head; /* タイムアウトキュ〖の黎片 *//* タイムアウトにタイムティック丁惦 */void mknl_tic_tmout( RELTIM tictim) /* 纳裁するタイムティック */{ register T_MKNL_TCB *mtcb; /* ロ〖カルにコピ〖 */ mtcb = mknl_timout_head; /* タイムアウトキュ〖が鄂ならリタ〖ン */ if ( mtcb == NULL ) { return; } /* タイムアウトキュ〖の借妄 */ for ( ; ; ) { /* タイムアウトに茫しないなら */ if ( tictim < mtcb->diftim ) { mtcb->diftim -= tictim; /* タイムアウト箕粗を负换 */ break; } tictim -= mtcb->diftim; /* タイムティックを负换 */ mknl_wup_tsk(mtcb, E_TMOUT); /* タイムアウト弹静 */ mknl_exe_dsp(); /* 觅变ディスパッチ徒腆を乖う */ /* キュ〖から嘲す */ if ( mtcb->tm_next == mtcb ) /* 呵稿の1つなら */ { /* キュ〖を鄂にする */ mtcb->tm_prev = NULL; mtcb = NULL; break; } else { /* キュ〖から艰り嘲す */ mtcb->tm_next->tm_prev = mtcb->tm_prev; mtcb->tm_prev->tm_next = mtcb->tm_next; mtcb->tm_prev = NULL; mtcb = mtcb->tm_next; } /* ここで办刨、驴脚充り哈みの怠柴を涂える */ mknl_unl_sys(); /* システムのロック豺近 */ mknl_loc_sys(); /* システムのロック */ } /* メモリに今き提す */ mknl_timout_head = mtcb;}/* ------------------------------------------------------------------------ *//* Copyright (C) 1998-2002 by Project HOS *//* ------------------------------------------------------------------------ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -