table of contents
pthread_kill(3) | Library Functions Manual | pthread_kill(3) |
NOM¶
pthread_kill - Envoyer un signal à un thread
BIBLIOTHÈQUE¶
Bibliothèque de threads POSIX (libpthread, -lpthread)
SYNOPSIS¶
#include <signal.h>
int pthread_kill(pthread_t thread, int sig);
pthread_kill() :
_POSIX_C_SOURCE >= 199506L || _XOPEN_SOURCE >= 500
DESCRIPTION¶
La fonction pthread_kill() envoie le signal sig à thread, un thread du même processus que l'appelant. Le signal est dirigé de manière asynchrone vers thread.
Si sig est 0, aucun signal n'est envoyé, mais la détection d'erreur est quand même effectuée.
VALEUR RENVOYÉE¶
En cas de réussite, pthread_kill() renvoie 0 ; en cas d'erreur, elle renvoie un numéro d'erreur, et aucun signal n'est envoyé.
ERREURS¶
- EINVAL
- Un signal invalide a été spécifié.
ATTRIBUTS¶
Pour une explication des termes utilisés dans cette section, consulter attributes(7).
Interface | Attribut | Valeur |
pthread_kill() | Sécurité des threads | MT-Safe |
VERSIONS¶
L'implémentation par la glibc de pthread_kill() donne une erreur (EINVAL) lors de tentatives d'envoyer un des signaux en temps réel utilisés en interne par l'implémentation du threading NPTL. Consultez nptl(7) pour des détails.
La norme POSIX.1-2008 recommande que lorsqu'une implémentation détecte l'utilisation de l'identifiant d'un thread qui n'est plus en vie, l'appel pthread_kill() renvoie le message d'erreur ESRCH. L'implémentation de glibc renvoie cette erreur dans les cas où un identifiant de thread non valide est détecté. Il est à noter que POSIX précise également que l'utilisation d'un identifiant de thread dont l'exécution est terminée produit des effets indéfinis, et que l'utilisation d'un identifiant de thread invalide dans l'appel à pthread_kill() peut, par exemple, provoquer une erreur de segmentation (segmentation fault).
STANDARDS¶
POSIX.1-2008.
HISTORIQUE¶
POSIX.1-2001.
NOTES¶
Les dispositions d'un signal sont définies au niveau du processus. Si un gestionnaire de signal est installé, le gestionnaire sera invoqué dans le thread thread, mais si la disposition du signal est « stop », « continue » ou « terminate », cette action affectera le processus entier.
VOIR AUSSI¶
kill(2), sigaction(2), sigpending(2), pthread_self(3), pthread_sigmask(3), raise(3), pthreads(7), signal(7)
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 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.
2 mai 2024 | Pages du manuel de Linux (non publiées) |