linux-alarm函数
[1] 引用头文件:#include ;
[2] 函数标准式:unsigned int alarm(unsigned int seconds);
[3] 功能与作用:alarm()函数的主要功能是设置信号传送闹钟,即用来设置信号SIGALRM在经过参数seconds秒数后发送给目前的进程。如果未设置信号SIGALARM的处理函数,那么alarm()默认处理终止进程。
[4] 函数返回值:如果在seconds秒内再次调用了alarm函数设置了新的闹钟,则后面定时器的设置将覆盖前面的设置,即之前设置的秒数被新的闹钟时间取代;当参数seconds为0时,之前设置的定时器闹钟将被取消,并将剩下的时间返回。
举例
void recovery_key_press_timer(int sig)
{
if (SIGALRM == sig) {
printf("press 5s.n");
led_set(SYSTEM_LED, LED_ON);
}
return;
}
void net_reset_key_listen(void)
{
system_flag_t *rz_system_flag = get_system_flag();
signal(SIGALRM, recovery_key_press_timer);
pthread_t pid;
if (0 != pthread_create(&pid, NULL, &reset_key_thread_entry, NULL)) {
LOGMSG("thread create fail!rn");
rz_system_flag->system_status = SYSTEM_ABNORMAL;
}
}