signal函数

来源:互联网 发布:修改网络连接端口号 编辑:程序博客网 时间:2024/06/11 06:34

生气调用POSIX sigaction函数的signal函数。


#include "unp.h"

Sigfunc* signal(int signo, Sigfunc * func)//第一个参数为信号名,第二个参数或为指向函数的指针,或为常值SIG_IGN或SIG_DFL.
{
struct sigaction act, oact;
act.sa_handler = func;
sigemptyset(&act.sa_mask);
act.sa_flags = 0;
if (signo == SIGALRM)
{
#ifdef SA_INTERRUPT
act.sa_flags |= SA_INTERRUPT;//SunOS 4.x
#endif
}
else
{
#ifdef SA_RESTART
act.sa_flags |= SA_RESTART;
#endif
}
if (sigaction(signo, &act, &oact) < 0)
return (SIG_ERR);
return (oact.sa_handler);

}


0 0
原创粉丝点击