PTHREAD_SIGQUEUE(3)

NOM
pthread_sigqueue - Enregistrer un signal et des données pour un thread

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

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

Compiler et éditer les liens avec -pthreads.

    Exigences de macros de test de fonctionnalités pour la glibc (consulter feature_test_macros(7)) :

pthread_sigqueue():
    _GNU_SOURCE

DESCRIPTION
La fonction pthread_exit() effectue une tâche semblable à sigqueue(3), mais, au lieu d'envoyer un signal à un processus, elle envoie le signal à un thread du même processus que le thread appelant.

Le paramètre thread est l'identifiant d'un thread du même processus que l'appelant. Le paramètre sig indique le signal à envoyer. Le paramètre value indique les données à envoyer avec le signal ; consultez sigqueue(3) pour plus de détails.

VALEUR RENVOYÉE
En cas de réussite, pthread_sigqueue() renvoie 0 ; en cas d'erreur, elle renvoie un numéro d'erreur.

ERREURS

EAGAIN
    La limite du nombre de signaux en file a été atteinte (consultez signal(7) pour plus d'informations).

EINVAL
    sig est invalide.

ENOSYS
    pthread_sigqueue() n'est pas pris en charge par ce système.

ESRCH
    thread n'est pas valide.

VERSIONS
La fonction pthread_sigqueue() a été introduite dans la glibc dans sa version 2.11.

ATTRIBUTS
Pour une explication des termes utilisés dans cette section, consulter attributes(7).
Interface | Attribut | Valeur
pthread_sigqueue() | Sécurité des threads | MT-Safe

CONFORMITÉ
Cette fonction est une extension GNU.

NOTES
The glibc implementation of pthread_sigqueue() gives an error (EINVAL) on attempts to send either of the real-time signals used internally by the NPTL threading implementation. See nptl(7) for details.

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

COLOPHON
Cette page fait partie de la publication 5.13 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies et la dernière version de cette page peuvent être trouvées à l'adresse https://www.kernel.org/doc/man-pages/.

TRADUCTION
La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org>, David Prévot <david@tilapin.org> et Frédéric Hantrais <fhantrais@gmail.com> Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 (https://www.gnu.org/licenses/gpl-3.0.html) concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE. Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org.