tmrs_set.c

来自「minix操作系统最新版本(3.1.1)的源代码」· C语言 代码 · 共 40 行

C
40
字号
#include "timers.h"/*===========================================================================* *				tmrs_settimer				     * *===========================================================================*/clock_t tmrs_settimer(tmrs, tp, exp_time, watchdog, new_head)timer_t **tmrs;				/* pointer to timers queue */timer_t *tp;				/* the timer to be added */clock_t exp_time;			/* its expiration time */tmr_func_t watchdog;			/* watchdog function to be run */clock_t *new_head;			/* new earliest timer, if non NULL */{/* Activate a timer to run function 'fp' at time 'exp_time'. If the timer is * already in use it is first removed from the timers queue. Then, it is put * in the list of active timers with the first to expire in front. * The caller responsible for scheduling a new alarm for the timer if needed.  */  timer_t **atp;  clock_t old_head = 0;  if(*tmrs)  	old_head = (*tmrs)->tmr_exp_time;  /* Set the timer's variables. */  (void) tmrs_clrtimer(tmrs, tp, NULL);  tp->tmr_exp_time = exp_time;  tp->tmr_func = watchdog;  /* Add the timer to the active timers. The next timer due is in front. */  for (atp = tmrs; *atp != NULL; atp = &(*atp)->tmr_next) {	if (exp_time < (*atp)->tmr_exp_time) break;  }  tp->tmr_next = *atp;  *atp = tp;  if(new_head)  	(*new_head) = (*tmrs)->tmr_exp_time;  return old_head;}

⌨️ 快捷键说明

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