wiki:pthread_join

Nom

pthread_join - attend la mort 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 soit en arrivant simplement vers la fin de sa fonction en exécutant l’instruction return.

Si thread_return ne vaut pas NULL, la valeur renvoyée par th y sera enregistrée. Cette valeur sera l'argument passé à pthread_exit.

Quand l'exécution d'un thread joignable s'achève, ses ressources mémoires (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.

MUTEKP ne gère pas, pour l’instant, ni l’annulation des threads ni le détachement d’un thread. Ainsi tout thread est crée dans l’état joignable.
En fin, MUTEKP fourni une gestion mémoire minimaliste, par conséquence, l’appel pthread_join n’a pas un caractère obligatoire.

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.Leroy@…>

Traduction

Thierry Vignaud <tvignaud@…>, 2000

Adaptation MUTEKP

Ghassan Almaless <Ghassan.Almalass@…>, <ghassan.almaless@…>, 2007

Voir Aussi

pthread_exit?, pthread_create?.

Last modified 17 years ago Last modified on Aug 14, 2007, 11:16:31 AM