语法

#include <signal.h>

 int sigwait(const sigset_t *set, int *sig);

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

sigwait():

从glibc 2.26开始: _POSIX_C_SOURCE>= 199506L Glibc 2.25和更早版本: _POSIX_C_SOURCE

返回值

成功时,sigwait()返回0。错误时,它返回一个正的错误号(在ERRORS中列出)。

SIGWAIT - Linux手册页

Linux程序员手册 第3部分
更新日期: 2020-06-09

备注

sigwait()使用sigtimedwait(2)实现。

sigwait()的glibc实现默默地忽略了等待NPTL线程实现内部使用的两个实时信号的尝试。有关详细信息,请参见nptl(7)。

示例

请参见pthread_sigmask(3)。

另外参见

sigaction(2),signalfd(2),sigpending(2),sigsuspend(2),sigwaitinfo(2),sigsetops(3),signal(7)

错误说明

EINVAL
set包含无效的信号编号。

出版信息

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

名称

sigwait-等待信号

说明

sigwait()函数挂起调用线程的执行,直到信号集中指定的信号之一变为未决状态。该函数接受信号(将其从挂起的信号列表中删除),并以信号形式返回信号编号。

sigwait()的操作与sigwaitinfo(2)相同,除了:

*
sigwait()仅返回信号编号,而不是描述信号的soirnfo_t结构。
*
这两个函数的返回值不同。

属性

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

InterfaceAttributeValue
sigwait()Thread safetyMT-Safe

遵循规范

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

日期:2019-08-20 18:01:20 来源:oir作者:oir