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