日期:2014-05-16  浏览次数:20789 次

关于signal返回值是什么?
大虾帮我解释一下

void sig_int(int),sig_quit(int);

if(signal(SIGINT,SIG_IGN)!=SIG_IGN){

  signal(SIGINT,sig_int);

}

if(signal(SIGQUIT,SIG_IGN)!=SIG_IGN){

  signal(SIGQUIT,sig_quit);

}


------解决方案--------------------
signal 返回之前的信号处理动作。

这里先判断一下,之前是否忽略了SIGINT信号
如果之前没有忽略这个SIGINT信号,那么重新设置SIGINT的处理动作为sig_int
------解决方案--------------------
signal返回的是函数指针
------解决方案--------------------
返回指向之前的信号处理函数的一个函数指针。