Man page - pthread_join(3)

Packages contains this manual

Available languages:

en fr ja ru ro

Manual

pthread_join

NOM
BIBLIOTHÈQUE
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
ERREURS
ATTRIBUTS
STANDARDS
HISTORIQUE
NOTES
EXEMPLES
VOIR AUSSI
TRADUCTION

NOM

pthread_join - Joindre un thread terminé

BIBLIOTHÈQUE

BibliothĂšque de threads POSIX ( libpthread , -lpthread )

SYNOPSIS

#include <pthread.h>

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

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 l’emplacement pointĂ© par 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 fil d’exĂ©cution avec pour identifiant thread n’a pu ĂȘtre trouvĂ©.

ATTRIBUTS

Pour une explication des termes utilisés dans cette section, consulter attributes (7).

Image grohtml-3873196-1.png

STANDARDS

POSIX.1-2008.

HISTORIQUE

POSIX.1-2001.

NOTES

AprĂšs le succĂšs d’un appel Ă  pthread_join (), l’appelant est certain que le thread cible est achevĂ©. L’appelant peut alors choisir de faire tout le nettoyage requis aprĂšs l’achĂšvement du thread (par exemple, libĂ©rer la mĂ©moire ou les autres ressources qui ont Ă©tĂ© allouĂ©es au thread cible).

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.

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 française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org>, David Prévot <david@tilapin.org> et Frédéric Hantrais <fhantrais@gmail.com>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n’y a aucune RESPONSABILITÉ LÉGALE.

Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org .