struct sigaction

主要在sigaction信号安装sigqueue信号发送时会用到。

struct sigaction {

    void    (*sa_handler)(int);    /* addr of signal handler, or SIG_IGN, or SIG_DFL */

    sigset_t    sa_mask;          /* additional signals to block */

    int    sa_flags;              /* signal options */

    /* alternate handler */

    void    (*sa_sigaction)(int, siginfo_t *, void *);

};

当更改信号动作时,如果sa_handler字段包含一个信号捕捉函数的地址(与常量SIG_IGN或SIG_DFL相对),则sa_mask字段说明了一个信号集,在调用该信号捕捉函数之前,这一信号集要加到进程的信号屏蔽字中。仅当从信号捕捉函数返回时再将进程的信号屏蔽字复位为原先值

你可能感兴趣的:(struct sigaction)