|
最近在看信号,看到int sigaction(int signo, const struct sigaction *restrict act, struct sigaction *restrict oact);这个函数的sigaction这个数据结构的定义的时候,对sigset_t sa_mask这个变量不是很理解。
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, Figure 10.16 */
/* alternate handler */
void (*sa_sigaction)(int, siginfo_t *, void *);
};
书上说这个变量只有在运行signo这个信号的处理函数时,来阻塞sa_mask信号集合内的信号。但是如果这个信号的集合是空的话(排除自身信号),是不是就可以说:运行signo这个信号的处理函数时,可以来其他信号呢,如果同时来2个信号,而同时这两个信号都不阻塞,会有什么结果阿?
[ 本帖最后由 clm615 于 2007-8-10 19:59 编辑 ] |
|