📄 timer.c
字号:
#include "timer.h"
//
// TITLE:
//
// DESCRIPTION:
// program to generate and handle with timer events
// REFER to none
//
// FILENAME:
// timer.c
//
// AUTHOR(S):
// Andrew Dai(mailto:andrew.x.dai@gmail.com )
//
// CREATION DATE:
// date from: 2007-5-11
//
// MODIFICATION HISTORY:
//
//
//
void
handle_timer (sigval_t v)
{
time_t t;
char p[32];
time (&t);
strftime (p, sizeof (p), "%T", localtime (&t));
// printf ("%s thread %d, id = %d, timer signal captured.\n", p, pthread_self (), v.sival_int);
printf ("%s id = %d, timer signal captured.\n", p, v.sival_int);
return;
}
int
create_timer (int seconds, int id)
{
timer_t tid;
struct sigevent se;
struct itimerspec ts, ots;
memset (&se, 0, sizeof (se));
se.sigev_notify = SIGEV_THREAD;
se.sigev_notify_function = handle_timer;
se.sigev_value.sival_int = id;
if (timer_create (CLOCK_REALTIME, &se, &tid) < 0)
{
perror ("timer_creat");
return -1;
}
printf ("id=%d,\tinterval=%d,\ttimer_create successfully.\n",id, seconds);
ts.it_value.tv_sec = 3;
ts.it_value.tv_nsec = 0;
ts.it_interval.tv_sec = seconds;
ts.it_interval.tv_nsec = 0;
if (timer_settime (tid, TIMER_ABSTIME, &ts, &ots) < 0)
{
perror ("timer_settime");
return -1;
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -