TKILL(2)

NOM
tkill, tgkill - Envoyer un signal à un thread

SYNOPSIS
int tkill(int tid, int sig);

int tgkill(int tgid, int tid, int sig);

DESCRIPTION
tgkill() envoie le signal sig au thread ayant pour identifiant de thread (TID) tid et appartenant au groupe de threads tgid. (Contrairement à kill(2) qui ne peut être utilisé que pour envoyer un signal à un processus (c'est-à-dire un groupe de thread) comme un ensemble, et le signal sera délivré à un thread arbitraire de ce processus. tkill() est l'ancienne version de tgkill() et est obsolète Il ne permet que de spécifier le TID cible, ce qui peut entrainer que ce ne soit pas le bon thread qui reçoive le signal si un thread s'est terminé et que son TID a été recyclé. Évitez d'utiliser cet appel système. Si tgid est spécifié comme -1, tgkill() est équivalent à tkill().

Ce sont des appels système bruts, conçus pour une utilisation dans la bibliothèque des threads.

VALEUR RENVOYÉE
Cet appel système renvoie zéro s'il réussit et -1 s'il échoue, auquel cas errno contient le code d'erreur.

ERREURS

EINVAL
    Le TID ou le numéro de signal n'est pas valide.

EPERM
    Permission refusée. Pour les permissions nécessaires, voir kill(2).

ESRCH
    Il n'y a pas de processus avec le TID (et TGID) indiqué.

VERSIONS
tkill() est supporté depuis Linux 2.4.19/2.5.4. tgkill() a été ajouté dans Linux 2.5.75.

CONFORMITÉ
tkill() et tgkill() sont spécifiques à Linux et ne doivent pas être utilisés dans un programme conçu pour être portable.

NOTES
Voir la description de CLONE_THREAD dans clone(2) pour une explication sur les groupes de threads. La glibc ne fournit pas de fonction autour de ces appels système ; utilisez syscall(2) pour les appeler.

VOIR AUSSI
clone(2), gettid(2), kill(2)

TRADUCTION

Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 18 juillet 2003 et révisée le 23 juin 2008.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 2 tkill ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.