1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
|
'\" t
.\" Copyright 2010, Michael Kerrisk <mtk.manpages@gmail.com>
.\" Copyright, the authors of the Linux man-pages project
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.TH pthread_sigqueue 3 2026-02-08 "Linux man-pages (unreleased)"
.SH NAME
pthread_sigqueue \- queue a signal and data to a thread
.SH LIBRARY
POSIX threads library
.RI ( libpthread ,\~ \-lpthread )
.SH SYNOPSIS
.nf
.B #include <signal.h>
.B #include <pthread.h>
.P
.BI "int pthread_sigqueue(pthread_t " thread ", int " sig ,
.BI " const union sigval " value );
.fi
.P
.RS -4
Feature Test Macro Requirements for glibc (see
.BR feature_test_macros (7)):
.RE
.P
.BR pthread_sigqueue ():
.nf
_GNU_SOURCE
.fi
.SH DESCRIPTION
The
.BR pthread_sigqueue ()
function performs a similar task to
.BR sigqueue (3),
but, rather than sending a signal to a process,
it sends a signal to a thread in the same process as the
calling thread.
.P
The
.I thread
argument is the ID of a thread in the same process as the caller.
The
.I sig
argument specifies the signal to be sent.
The
.I value
argument specifies data to accompany the signal;
see
.BR sigqueue (3)
for details.
.SH RETURN VALUE
On success,
.BR pthread_sigqueue ()
returns 0;
on error, it returns an error number.
.SH ERRORS
.TP
.B EAGAIN
The limit of signals which may be queued has been reached.
(See
.BR signal (7)
for further information.)
.TP
.B EINVAL
.I sig
was invalid.
.TP
.B ENOSYS
.BR pthread_sigqueue ()
is not supported on this system.
.TP
.B ESRCH
.I thread
is not valid.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.TS
allbox;
lbx lb lb
l l l.
Interface Attribute Value
T{
.na
.nh
.BR pthread_sigqueue ()
T} Thread safety MT-Safe
.TE
.SH VERSIONS
The glibc implementation of
.BR pthread_sigqueue ()
gives an error
.RB ( EINVAL )
on attempts to send either of the real-time signals
used internally by the NPTL threading implementation.
See
.BR nptl (7)
for details.
.SH STANDARDS
GNU.
.SH HISTORY
glibc 2.11.
.SH SEE ALSO
.BR rt_tgsigqueueinfo (2),
.BR sigaction (2),
.BR pthread_sigmask (3),
.BR sigqueue (3),
.BR sigwait (3),
.BR pthreads (7),
.BR signal (7)
|