Provided by: manpages-fr-dev_3.65d1p1-1_all bug

NOM

       pthread_join - Joindre un thread terminé

SYNOPSIS

       #include <pthread.h>

       int pthread_join(pthread_t thread, void **retval);

       Compilez et effectuez l'édition des liens avec l'option -pthread.

DESCRIPTION

       La  fonction pthread_join()  attend que le thread spécifié par thread se termine. Si ce thread s'est déjà
       terminé, pthread_join() revient tout de suite. Le thread spécifié par thread doit être joignable.

       Si retval n'est pas NULL, pthread_join() copie la valeur de  sortie  du  thread  cible  (c'est-à-dire  la
       valeur  que  le  thread  cible a fournie à pthread_exit(3))  dans l'emplacement pointé par *retval. Si le
       thread cible est annulé, PTHREAD_CANCELED est placé dans *retval.

       Si plusieurs threads essaient simultanément de joindre le même thread, le résultat est  indéfini.  Si  le
       thread  appelant  pthread_join()  est annulé, le thread cible reste joignable (c'est-à-dire qu'il ne sera
       pas détaché).

VALEUR RENVOYÉE

       En cas de réussite, pthread_join() renvoie 0 ; en cas d'erreur, elle renvoie un numéro d'erreur.

ERREURS

       EDEADLK
              Un verrou perpétuel (deadlock) a été détecté, 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 déjà de joindre ce thread.

       ESRCH  Aucun thread avec pour identifiant thread n'a pu être trouvé.

CONFORMITÉ

       POSIX.1-2001.

NOTES

       Après un appel réussi à pthread_join(), l'appelant est sûr que le thread cible s'est terminé.

       Joindre un thread qui avait préalablement été joint résulte en un comportement indéfini.

       Un  échec  à joindre un thread qui est joignable (c'est-à-dire non détaché) produit un « thread zombie ».
       Il faut l'éviter, car chaque thread zombie consomme des ressources du système,  et  si  trop  de  threads
       zombies s'accumulent, il ne sera plus possible de créer de nouveaux threads (ou de nouveaux processus).

       Il  n'existe  pas  d'analogue pthreads à waitpid(-1, &status, 0) pour joindre tout thread non terminé. Si
       vous pensez avoir besoin de cette fonctionnalité, vous devez probablement repenser la conception de votre
       application.

       Tous les threads dans un processus sont au même 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.65 du projet man-pages Linux. Une description du projet et des
       instructions    pour    signaler    des    anomalies    peuvent     être     trouvées     à     l'adresse
       http://www.kernel.org/doc/man-pages/.

TRADUCTION

       Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a <http://po4a.alioth.debian.org/> par
       l'équipe de traduction francophone au sein du projet perkamon <http://perkamon.alioth.debian.org/>.

       Denis Barbier (2010).

       Veuillez  signaler  toute erreur de traduction en écrivant à <debian-l10n-french@lists.debian.org> ou par
       un rapport de bogue sur le paquet manpages-fr.

       Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « man -L C
       <section> <page_de_man> ».

Linux                                           27 novembre 2008                                 PTHREAD_JOIN(3)