admin管理员组文章数量:1438913
【进程信号】五、信号集操作接口详解
Ⅰ. 操作sigset_t变量接口
还记得我们上面讲过的 sigset_t
类型吗,sigset_t
类型对于每种信号用一个 bit
表示 “有效” 或 “无效” 状态,至于这个类型内部如何存储这些 bit
则依赖于系统实现,从使用者的角度是不必关心的,因为不同的操作系统可能对 sigset_t
变量的定义不一样,有的可能是变量,有的可能是数组,有的可能是封装在结构体内等等。
使用者只能调用以下函数来操作 sigset_t
变量,而不应该对它的内部数据做任何解释,比如用 printf
直接打印 sigset_t
变量是没有意义的!
#include <signal.h>
int sigemptyset(sigset_t *set); // 将set给定的信号集初始化为0
int sigfillset(sigset_t *set); // 将set初始化为full,也就是初始化所有信号为1
int sigaddset (sigset_t *set, int signo); // 在set中添加signo信号
int sigdelset(sigset_t *set, int signo); // 在set中删除signo信号
int sigismember(const sigset_t *set, int signo); // 检测signo信号是否存在set中
// 返回值:前四个函数都是成功返回0,失败返回-1。
// 而sigismember()是一个布尔函数,用于判断一个信号集的有效信号中是否包含某种信号,若包含则返回1,不包含则返回0,出错返回-1。
sigemptyset()
初始化set
所指向的信号集,使其中所有信号的对应bit
清零,表示该信号集不包含任何有效信号。sigfifillset()
初始化set
所指向的信号集,使其中所有信号的对应bit
置为1
,表示该信号集的有效信号包括系统支持的所有信号。
本文标签: 进程信号五信号集操作接口详解
版权声明:本文标题:【进程信号】五、信号集操作接口详解 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/biancheng/1747606700a2728104.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论