信 屏蔽(pending)

信 未决(Pending):信 从产生到递达之间的状态 (在这里信 可以被阻塞(Block))
信 阻塞(Block):将信 保持在未决状态,直到被解除阻塞之后,才执行递达动作
另外讲一下
阻塞与忽略的区别:忽略是信 递达的一种(处理动作),阻塞直到被解除才能执行递达动作(在信 未决中,信 递达前)
1.block表:进程的信 屏蔽字。由4个字节的位图表示,每个比特位对应一个的信 ,比特位是0时表示该信 没被阻塞,为1时表示信 被阻塞
2.penging表:用于描述一个进程是否收到信 。也是由4个字节的位图表示,每个比特位对应一个信 ,此时比特位的值可以为0或1,当其中一个比特位为0时,表示该进程没有收到操作系统发给他的信 ,而其中一个比特位为1时表示收到了操作系统给他发送的信 。而此时要做出判断如果block表中与他相同的比特位此时如果为0,则此信 可以被未决,而如果blcok表中与他对应的比特位为1,则表示此信 被阻塞不能被未决。
3.handler表(函数指针数组):信 的处理方式。

sigprocmask

功能:修改block表,进行读取或更改进程的信 屏蔽字
返回值:若成功则为0,若出错则为-1
参数说明:
how:修改方式;
oset:备份原来的信 屏蔽字;
set: 更改进程的信 屏蔽字。
注意:如果调用sigprocmask解除了对当前若干个未决信 的阻塞,则在sigprocmask返回前,至少将其中一个信 递达。

sigpending

功能:进行读取进程的未决信 集
返回值:成功返回0,出错返回-1

代码

结果

文章知识点与官方知识档案匹配,可进一步学习相关知识CS入门技能树Linux入门初识Linux24906 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2017年5月22日
下一篇 2017年5月22日

相关推荐