pthread_join(3) Library Functions Manual pthread_join(3) NOM pthread_join - Joindre un thread termine BIBLIOTHEQUE Bibliotheque de threads POSIX (libpthread, -lpthread) SYNOPSIS #include int pthread_join(pthread_t thread, void **retval); 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 l'emplacement pointe par 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 RENVOYEE 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 fil d'execution avec pour identifiant thread n'a pu etre trouve. ATTRIBUTS Pour une explication des termes utilises dans cette section, consulter attributes(7). +---------------------------------+--------------------------+---------+ |Interface | Attribut | Valeur | +---------------------------------+--------------------------+---------+ |pthread_join() | Securite des threads | MT-Safe | +---------------------------------+--------------------------+---------+ STANDARDS POSIX.1-2008. HISTORIQUE POSIX.1-2001. NOTES Apres le succes d'un appel a pthread_join(), l'appelant est certain que le thread cible est acheve. L'appelant peut alors choisir de faire tout le nettoyage requis apres l'achevement du thread (par exemple, liberer la memoire ou les autres ressources qui ont ete allouees au thread cible). 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. EXEMPLES Consultez pthread_create(3). VOIR AUSSI pthread_cancel(3), pthread_create(3), pthread_detach(3), pthread_exit(3), pthread_tryjoin_np(3), pthreads(7) TRADUCTION La traduction francaise de cette page de manuel a ete creee par Christophe Blaess , Stephan Rafin , Thierry Vignaud , Francois Micaux, Alain Portal , Jean-Philippe Guerard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas Francois , Florentin Duneau , Simon Paillard , Denis Barbier , David Prevot et Frederic Hantrais Cette traduction est une documentation libre ; veuillez vous reporter a la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE. Si vous decouvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message a . Pages du manuel de Linux 6.06 31 octobre 2023 pthread_join(3)