错误说明

EAGAIN
已达到可排队的信号限制。 (有关更多信息,请参见signal(7)。)
EINVAL
信号无效。
ENOSYS
在该系统上不支持pthread_sigqueue()。
ESRCH
线程无效。

说明

pthread_sigqueue()函数执行与sigqueue(3)类似的任务,但是,与其将信号发送到进程,它没有将信号发送到进程,而是将信号发送到与调用线程相同的进程中的线程。

thread参数是与调用程序相同的进程中的线程的ID。 sig参数指定要发送的信号。 value参数指定信号所伴随的数据;有关详细信息,请参见sigqueue(3)。

遵循规范

此函数是GNU扩展。

备注

pthread_sigqueue()的glibc实现在尝试发送NPTL线程实现内部使用的任一实时信号时给出错误(EINVAL)。有关详细信息,请参见nptl(7)。

PTHREAD_SIGQUEUE - Linux手册页

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

出版信息

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

属性

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

InterfaceAttributeValue
pthread_sigqueue()Thread safetyMT-Safe

语法

#include <signal.h>
#include <pthread.h>

int pthread_sigqueue(pthread_t thread, int sig,
                     const union sigval value);

编译并链接-pthread。

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

pthread_sigqueue():_GNU_SOURCE

版本

pthread_sigqueue()函数首先出现在glibc 2.11中。

名称

pthread_sigqueue-将信号和数据排队到线程

另外参见

rt_tgsigqueueinfo(2),sigaction(2),pthread_sigmask(3),sigqueue(3),sigwait(3),pthreads(7),signal(7)

返回值

成功时,pthread_sigqueue()返回0;否则,返回0。如果出错,则返回错误号。

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