信号集

2014-09-04 07:28:29   最后更新: 2014-09-04 07:28:29   访问数量:672




信号集是一个用来表示多个信号的数据类型

作为很多信号处理函数的参数,用来告诉内核不允许发生信号集中的信号

因为信号数目可能超过一个整型量所能表示的最大值,因此,POSIX定义了数据类型 sigset_t 以包含一个信号集

 

以下是五个信号集处理函数:

int sigemptyset(sigset_t *set); int sigfillset(sigset_t * set); int sigaddset(sigset_t *set,int signum); int sigdelset(sigset_t * set,int signum); int sigismember(const sigset_t *set,int signum);

 

前四个函数若调用成功则返回0,否则返回-1

第五个函数如果信号在该信号集中,则返回1,否则返回0,调用出错返回-1

 

所有应用程序在使用信号集前,需要首先通过调用 sigemptyset 或 sigfillset 函数初始化信号集,让信号集变成空集或包含所有信号

然后,可以调用 sigaddset 或 sigdelset 函数在信号集中增加或删除信号,调用 sigismember 测试信号是否存在于信号集中

 






读书笔记      技术帖      linux      unix      龙潭书斋      apue      进程      signal      信号      信号集      process      sigset      sigemptyset      sigaddset      sigdelset      sigfillset      sigismember     


京ICP备15018585号