Example #1
0
BOOLEAN InitNetwork()
{
	if(!InitSocketList())
		return FALSE;

	return TRUE;
}
int InitLCUDPEnvironment(void){
	    if(InitSocketList()!=0)                 //  如果初始化链表失败
            return 1;                           //  返回错误
	    struct sigaction Act;                   //  定义处理信号的参数集合
	    sigemptyset(&Act.sa_mask);              //  将数据清空
	    Act.sa_sigaction=IOReadyInt;            //  设置回调函数[上面第二个函数]
	    Act.sa_flags=SA_RESTART|SA_SIGINFO;                //  使用sa_sigaction参数的函数最为信号发来后的处理函数[也就是上面定义的]
        if(sigaction(SIGIO,&Act,NULL)==-1){     //  安装SIGIO信号
            perror("Signal");                   //  打印错误信息
            return 1;                           //  返回错误
        }
	    sigemptyset(&Act.sa_mask);              //  将数据清空
	    Act.sa_sigaction=TimerInt;              //  设置回调函数[上面第一个函数]
	    Act.sa_flags=SA_RESTART;                //  使用sa_sigaction参数的函数最为信号发来后的处理函数[也就是上面定义的]
        if(sigaction(SIGALRM,&Act,NULL)==-1){   //  安装SIGALRM信号
            perror("Signal");                   //  打印错误信息
            return 1;                           //  返回错误
        }
        
        alarm(1);                               //  1秒后发射信号
        return 0;                               //  返回成功
}