sigaction函数解析

1 函数原型

intsigaction(int signo,conststructsigaction*restrict act,

structsigaction*restrict oact);

2sigaction 结构的定义

  structsigaction{
void(*sa_handler)(int);
  sigset_t sa_mask;
int sa_flag;
void(*sa_sigaction)(int,siginfo_t *,void*);
};


3 说明

sa_hander:信号捕捉函数的地址,即信号要处理的函数

sa_mask : 信号集 捕捉此类信号,即执行sa_hander函数

 通过sigaddset(sa_mask,信号)来设置;


 sa_flag :  

SA_INTERRUPT 由此信号中断的系统调用不会自动重启
SA_RESTART 由此信号中断的系统调用会自动重启

SA_SIGINFO 提供附加信息,一个指向siginfo结构的指针以及一个指向进程上下文标识符的指针




你可能感兴趣的:(sigaction)