将晦涩难懂的技术讲的通俗易懂
分类: LINUX
2013-03-28 23:16:31
解除阻塞后,处于“未决状态”的信号会继续被处理。
解除阻塞要调用sigprocmask,但在sigprocmask返回之前,解决阻塞动作就已经完毕。
所在在解除阻塞的函数sigprocmask返回之前,就要进行未决信号的处理了。
int sigpend(sigset_t *set);---获取未决的信号.
int sigprocmask(int how,const sigset_t *set,sigset_t *oset);
----根据how的值来决是完成的动作,阻塞、解除阻塞等.
注意:未决信号中不可能有相同的。如果信号产生
了一次且未决,又产生一次时会被丢弃。
当然如果是实时信号,就另当别论了。因为实时信号可以多个相同的未决信号的。