Provided by:
manpages-fr-dev_3.27fr1.4-1_all 
NOM
pthread_join - Joindre un thread termine
SYNOPSIS
#include <pthread.h>
int pthread_join(pthread_t thread, void **retval);
Compilez et effectuez l'edition des liens avec l'option -pthread.
DESCRIPTION
La fonction pthread_join() attend que le thread specifie par thread se
termine. Si ce thread s'est deja termine, pthread_join() revient tout
de suite. Le thread specifie par thread doit etre joignable.
Si retval n'est pas NULL, pthread_join() copie la valeur de sortie du
thread cible (c'est-a-dire la valeur que le thread cible a fournie a
pthread_exit(3)) dans l'emplacement pointe par *retval. Si le thread
cible est annule, PTHREAD_CANCELED est place dans *retval.
Si plusieurs threads essaient simultanement de joindre le meme thread,
le resultat est indefini. Si le thread appelant pthread_join() est
annule, le thread cible reste joignable (c'est-a-dire qu'il ne sera pas
detache).
VALEUR RENVOY'EE
En cas de reussite, pthread_join() renvoie 0 ; en cas d'erreur, elle
renvoie un numero d'erreur.
ERREURS
EDEADLK
Un verrou perpetuel (deadlock) a ete detecte, par exemple deux
threads essaient de se joindre mutuellement ; ou bien thread est
aussi le thread appelant.
EINVAL thread n'est pas un thread joignable.
EINVAL Un autre thread attend deja de joindre ce thread.
ESRCH Aucun thread avec pour identifiant thread n'a pu etre trouve.
CONFORMIT'E
POSIX.1-2001.
NOTES
Apres un appel reussi a pthread_join(), l'appelant est sur que le
thread cible s'est termine.
Joindre un thread qui avait prealablement ete joint resulte en un
comportement indefini.
Un echec a joindre un thread qui est joignable (c'est-a-dire non
detache) produit un << thread zombie >>. Il faut l'eviter, car chaque
thread zombie consomme des ressources du systeme, et si trop de threads
zombies s'accumulent, il ne sera plus possible de creer de nouveaux
threads (ou de nouveaux processus).
Il n'existe pas d'analogue pthreads a waitpid(-1, &status, 0) pour
joindre tout thread non termine. Si vous pensez avoir besoin de cette
fonctionnalite, vous devez probablement repenser la conception de votre
application.
Tous les threads dans un processus sont au meme niveau : tout thread
peut joindre tout autre thread du processus.
EXEMPLE
Consultez pthread_create(3).
VOIR AUSSI
pthread_cancel(3), pthread_create(3), pthread_detach(3),
pthread_exit(3), pthread_tryjoin_np(3), pthreads(7)
COLOPHON
Cette page fait partie de la publication 3.27 du projet man-pages
Linux. Une description du projet et des instructions pour signaler des
anomalies peuvent etre trouvees a l'adresse
<URL:http://www.kernel.org/doc/man-pages/>.
TRADUCTION
Depuis 2010, cette traduction est maintenue a l'aide de l'outil po4a
<URL:http://po4a.alioth.debian.org/> par l'equipe de traduction
francophone au sein du projet perkamon
<URL:http://perkamon.alioth.debian.org/>.
Denis Barbier (2010).
Veuillez signaler toute erreur de traduction en ecrivant a
<debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
paquet manpages-fr.
Vous pouvez toujours avoir acces a la version anglaise de ce document
en utilisant la commande << man -L C <section> <page_de_man> >>.