timer.c

来自「程序实现了在ip协议之上加一层RUDP协议」· C语言 代码 · 共 49 行

C
49
字号
#include <sys/types.h>
#include <pthread.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

#include <sys/time.h>
#include <signal.h>




typedef void(* call)(void);

//定义互斥信号量
pthread_mutex_t  list_lock;

int current_num=0;
int TIMER_SPACE=6;

struct sigaction act; 
struct itimerval value;

void init_sigaction(call t) 
{ 
	act.sa_handler=t; 
	act.sa_flags=0; 
	sigemptyset(&act.sa_mask); 
	sigaction(SIGALRM,&act,NULL); 
} 

void init_time() 
{ 
	value.it_value.tv_sec=1; 
	value.it_value.tv_usec=0; 
	value.it_interval=value.it_value; 
	setitimer(ITIMER_REAL,&value,NULL); 
} 

void init(call t)
{
	if( pthread_mutex_init( &list_lock,NULL) != 0)
		printf("can't get mutex_lock\n");
	else
		printf("succeed init mutex_lock\n");
	init_sigaction(t); 
	init_time();  
}

⌨️ 快捷键说明

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