Linux repositories inspector

pthread_join(3) - Français

LinuxThreads
11 mars 1998

manpages-fr-dev

French version of the development manual pages

man-pages-fr

French version of the Linux man-pages

manpages-dev

Manual pages about using GNU/Linux for development

man-pages

Linux kernel and C library user-space interface documentation

NOM

pthread_join - Attendre la fin d’un autre thread

SYNOPSIS

#include <pthread.h>
int pthread_join(pthread_t th, void **thread_return);

DESCRIPTION

pthread_join() suspend l’exécution du thread appelant jusqu’à ce que le thread identifié par th achève son exécution, soit en appelant pthread_exit(3) soit après avoir été annulé.
Si thread_return ne vaut pas NULL, la valeur renvoyée par th y sera enregistrée. Cette valeur sera soit l’argument passé à pthread_exit(3), soit PTHREAD_CANCELED si le thread th a été annulé.
Le thread rejoint th doit être dans l’état joignable : il ne doit pas avoir été détaché par pthread_detach(3) ou par l’attribut PTHREAD_CREATE_DETACHED lors de sa création par pthread_create(3).
Quand l’exécution d’un thread joignable s’achève, ses ressources mémoire (descripteur de thread et pile) ne sont pas désallouées jusqu’à ce qu’un autre thread le joigne en utilisant pthread_join(). Aussi, pthread_join() doit être appelée une fois pour chaque thread joignable pour éviter des fuites de mémoire.
Au plus un seul thread peut attendre la mort d’un thread donné. Appeler pthread_join() sur un thread th dont un autre thread attend déjà la fin renvoie une erreur.

ANNULATION

pthread_join est un point d’annulation. Si un thread est annulé alors qu’il est suspendu dans pthread_join(), l’exécution du thread reprend immédiatement et l’annulation est réalisée sans attendre la fin du thread th. Si l’annulation intervient durant pthread_join(), le thread th demeure non joint.

VALEUR RENVOYÉE

En cas de succès, le code renvoyé par th est enregistré à l’emplacement pointé par thread_return, et 0 est renvoyé. En cas d’erreur, un code d’erreur non nul est renvoyé.

ERREURS

ESRCH Aucun thread correspondant à th n’a pu être trouvé.
EINVAL Le thread th a été détaché.
EINVAL Un autre thread attend déjà la mort de th.
EDEADLK
L’argument th représente le thread appelant.

AUTEUR

Xavier Leroy <Xavier DOT Leroy AT inria DOT fr>

TRADUCTION

Ce document est une traduction réalisée par Thierry Vignaud <tvignaud AT mandriva DOT com> en 2000 et révisée le 19 novembre 2007.
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 3 pthread_join ». N’hésitez pas à signaler à l’auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.
⇧ Top