xref: /freebsd-src/share/man/man3/pthread_sigqueue.3 (revision dab59af3bcc7cb7ba01569d3044894b3e860ad56)
191da6becSKonstantin Belousov.\" SPDX-License-Identifier: BSD-2-Clause
291da6becSKonstantin Belousov.\"
3*dab59af3SLi-Wen Hsu.\" Copyright 2024 The FreeBSD Foundation
491da6becSKonstantin Belousov.\"
591da6becSKonstantin Belousov.\" This documentation was written by
691da6becSKonstantin Belousov.\" Konstantin Belousov <kib@FreeBSD.org> under sponsorship
791da6becSKonstantin Belousov.\" from the FreeBSD Foundation.
891da6becSKonstantin Belousov.\"
991da6becSKonstantin Belousov.\" Redistribution and use in source and binary forms, with or without
1091da6becSKonstantin Belousov.\" modification, are permitted provided that the following conditions
1191da6becSKonstantin Belousov.\" are met:
1291da6becSKonstantin Belousov.\" 1. Redistributions of source code must retain the above copyright
1391da6becSKonstantin Belousov.\"    notice(s), this list of conditions and the following disclaimer as
1491da6becSKonstantin Belousov.\"    the first lines of this file unmodified other than the possible
1591da6becSKonstantin Belousov.\"    addition of one or more copyright notices.
1691da6becSKonstantin Belousov.\" 2. Redistributions in binary form must reproduce the above copyright
1791da6becSKonstantin Belousov.\"    notice(s), this list of conditions and the following disclaimer in
1891da6becSKonstantin Belousov.\"    the documentation and/or other materials provided with the
1991da6becSKonstantin Belousov.\"    distribution.
2091da6becSKonstantin Belousov.\"
2191da6becSKonstantin Belousov.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) ``AS IS'' AND ANY
2291da6becSKonstantin Belousov.\" EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
2391da6becSKonstantin Belousov.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
2491da6becSKonstantin Belousov.\" PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) BE
2591da6becSKonstantin Belousov.\" LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
2691da6becSKonstantin Belousov.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
2791da6becSKonstantin Belousov.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
2891da6becSKonstantin Belousov.\" BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
2991da6becSKonstantin Belousov.\" WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
3091da6becSKonstantin Belousov.\" OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
3191da6becSKonstantin Belousov.\" EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3291da6becSKonstantin Belousov.\"
3391da6becSKonstantin Belousov.Dd April 21, 2024
3491da6becSKonstantin Belousov.Dt PTHREAD_SIGQUEUE 3
3591da6becSKonstantin Belousov.Os
3691da6becSKonstantin Belousov.Sh NAME
3791da6becSKonstantin Belousov.Nm pthread_sigqueue
3891da6becSKonstantin Belousov.Nd queue a signal to a specified thread
3991da6becSKonstantin Belousov.Sh LIBRARY
4091da6becSKonstantin Belousov.Lb libpthread
4191da6becSKonstantin Belousov.Sh SYNOPSIS
4291da6becSKonstantin Belousov.In pthread.h
4391da6becSKonstantin Belousov.In signal.h
4491da6becSKonstantin Belousov.Ft int
4591da6becSKonstantin Belousov.Fn pthread_sigqueue "pthread_t thread" "int sig" "const union sigval value"
4691da6becSKonstantin Belousov.Sh DESCRIPTION
4791da6becSKonstantin BelousovThe
4891da6becSKonstantin Belousov.Fn pthread_queue
4991da6becSKonstantin Belousovfunction queues a signal, specified by
5091da6becSKonstantin Belousov.Fa sig ,
5191da6becSKonstantin Belousovto a thread, specified by
5291da6becSKonstantin Belousov.Fa thread .
5391da6becSKonstantin BelousovIf
5491da6becSKonstantin Belousov.Fa sig
5591da6becSKonstantin Belousovis 0, error checking is performed, but no signal is actually sent.
5691da6becSKonstantin BelousovThe
5791da6becSKonstantin Belousov.Fa value
5891da6becSKonstantin Belousovis queued together with the signal, and becomes available in
5991da6becSKonstantin Belousov.Vt siginfo_t
6091da6becSKonstantin Belousovdata passed to the signal handler.
6191da6becSKonstantin Belousov.Pp
6291da6becSKonstantin BelousovThe
6391da6becSKonstantin Belousov.Nm
6491da6becSKonstantin Belousovfunction is similar to
6591da6becSKonstantin Belousov.Xr sigqueue 2 ,
6691da6becSKonstantin Belousovbut targets a thread in the current process instead of a process.
6791da6becSKonstantin BelousovSee
6891da6becSKonstantin Belousov.Xr sigqueue 2
6991da6becSKonstantin Belousovfor details about signal queueing and delivery selection.
7091da6becSKonstantin Belousov.Sh RETURN VALUES
7191da6becSKonstantin BelousovIf successful,
7291da6becSKonstantin Belousov.Fn pthread_sigqueue
7391da6becSKonstantin Belousovreturns 0.
7491da6becSKonstantin BelousovOtherwise, an error number is returned.
7591da6becSKonstantin Belousov.Sh ERRORS
7691da6becSKonstantin BelousovThe
7791da6becSKonstantin Belousov.Fn pthread_sigqueue
7891da6becSKonstantin Belousovfunction will fail if:
7991da6becSKonstantin Belousov.Bl -tag -width Er
8091da6becSKonstantin Belousov.It Bq Er EAGAIN
8191da6becSKonstantin BelousovNo resources are available to queue the signal.
8291da6becSKonstantin BelousovThe current process has already queued
8391da6becSKonstantin Belousov.Brq Dv SIGQUEUE_MAX
8491da6becSKonstantin Belousovsignals that are still pending,
8591da6becSKonstantin Belousovor a system-wide resource limit has been exceeded.
8691da6becSKonstantin Belousov.It Bq Er ESRCH
8791da6becSKonstantin Belousov.Fa thread
8891da6becSKonstantin Belousovis an invalid thread ID.
8991da6becSKonstantin Belousov.It Bq Er EINVAL
9091da6becSKonstantin Belousov.Fa sig
9191da6becSKonstantin Belousovis an invalid or unsupported signal number.
9291da6becSKonstantin Belousov.El
9391da6becSKonstantin Belousov.Sh SEE ALSO
9491da6becSKonstantin Belousov.Xr sigqueue 2
9591da6becSKonstantin Belousov.Sh STANDARDS
9691da6becSKonstantin BelousovThe
9791da6becSKonstantin Belousov.Fn pthread_sigqueue
9891da6becSKonstantin Belousovfunction is a
9991da6becSKonstantin Belousov.Fx
10091da6becSKonstantin Belousovextension.
10191da6becSKonstantin BelousovAn identical function with the same semantic is available in other
10291da6becSKonstantin Belousovoperating systems.
103