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 112 113 114
|
'\" t
.\" Copyright (c) 2010 Michael Kerrisk, <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.TH pthread_sigqueue 3 2022-12-15 "Linux man-pages 6.03"
.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>
.PP
.BI "int pthread_sigqueue(pthread_t " thread ", int " sig ,
.BI " const union sigval " value );
.fi
.PP
.RS -4
Feature Test Macro Requirements for glibc (see
.BR feature_test_macros (7)):
.RE
.PP
.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.
.PP
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 VERSIONS
The
.BR pthread_sigqueue ()
function first appeared in glibc 2.11.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.ad l
.nh
.TS
allbox;
lbx lb lb
l l l.
Interface Attribute Value
T{
.BR pthread_sigqueue ()
T} Thread safety MT-Safe
.TE
.hy
.ad
.sp 1
.SH STANDARDS
This function is a GNU extension.
.SH NOTES
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 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)
|