⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 timer.c

📁 select programe, 1 raw socket2 udp socket.
💻 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 + -