SIGSETOPS - Linux手册页

时间:2019-08-20 18:01:18  来源:igfitidea点击:

Linux程序员手册 第3部分
更新日期: 2016-03-15

名称

sigemptyset,sigfillset,sigaddset,sigdelset,sigismember-POSIX信号集操作

语法

#包括

int sigemptyset(sigset_t *设置);

int sigfillset(sigset_t *集);

int sigaddset(sigset_t * set,整数符号);

int sigdelset(sigset_t * set,int signum);

int sigismember(const sigset_t * set,int signum);复制代码

glibc的功能测试宏要求(请参阅feature_test_macros(7)):

sigemptyset(),sigfillset(),sigaddset(),sigdelset(),sigismember():

_POSIX_C_SOURCE

说明

这些功能允许操作POSIX信号集。

sigemptyset()将set给定的信号集初始化为空,而所有信号均不包含在set中。

sigfillset()将设置初始化为完整,包括所有信号。

sigaddset()和sigdelset()分别从集合中添加和删除信号信号。

sigismember()测试signum是否为set的成员。

sigset_t类型的对象必须先通过调用sigemptyset()或sigfillset()进行初始化,然后再传递给函数sigaddset(),sigdelset()和sigismember()或以下所述的其他glibc函数(sigisemptyset(),sigandset( )和sigorset())。如果不这样做,结果是不确定的。

返回值

sigemptyset(),sigfillset(),sigaddset()和sigdelset()成功返回0,错误返回-1。

如果signum是set的成员,则sigismember()返回1;如果signum不是set的成员,则返回0,如果错误则返回-1。

发生错误时,这些函数会将errno设置为指示错误原因。

错误说明

EINVAL
信号不是有效信号。

属性

有关本节中使用的术语的说明,请参见attribute(7)。

InterfaceAttributeValue
sigemptyset(),sigfillset(),
sigaddset(),sigdelset(),
sigismember(),sigisemptyset(),
sigorset(),sigandset()
Thread safetyMT-Safe

遵循规范

POSIX.1-2001,POSIX.1-2008。

备注

创建填充信号集时,glibc sigfillset()函数不包括NPTL线程实现内部使用的两个实时信号。有关详细信息,请参见nptl(7)。

Glibc extensions

如果定义了_GNU_SOURCE功能测试宏,则将公开其他三个用于处理信号集的函数:

int sigisemptyset(const sigset_t *set);
int sigorset(sigset_t *dest, const sigset_t *left,
              const sigset_t *right);
int sigandset(sigset_t *dest, const sigset_t *left,
              const sigset_t *right);

如果set不包含信号,则sigisemptyset()返回1,否则返回0。

sigorset()将集合的并集放在dest中。 sigandset()将集合的交集放在dest中。这两个函数均在成功时返回0,在失败时返回-1。

这些功能是非标准的(其他一些系统提供了类似的功能),在便携式应用中应避免使用它们。

另外参见

sigaction(2),sigpending(2),sigprocmask(2),sigsuspend(2)

出版信息

这个页面是Linux手册页项目5.08版的一部分。有关项目的说明、有关报告错误的信息以及此页面的最新版本,请访问https://www.kernel.org/doc/man-pages/