Provided by:
manpages-fr-dev_3.27fr1.4-1_all 
NOM
pthread_tryjoin_np, pthread_timedjoin_np - Essayer de fusionner avec un
thread ayant termine son execution
SYNOPSIS
#define _GNU_SOURCE /* Consultez feature_test_macros(7) */
#include <pthread.h>
int pthread_tryjoin_np(pthread_t thread, void **retval);
int pthread_timedjoin_np(pthread_t thread, void **retval,
const struct timespec *abstime);
Compilez et effectuez l'edition des liens avec l'option -pthread.
DESCRIPTION
Ces fonctions operent de la meme facon que pthread_join(3), a
l'exception des differences decrites dans cette page.
La fonction pthread_tryjoin_np() essaie de fusionner avec le thread
thread si cela est possible sans attendre et renvoie le code de retour
du thread dans *retval. Si le thread ne s'est toujours pas termine,
alors au lieu d'etre bloquee (comme le fait pthread_join(3)), l'appel
renvoie une erreur.
La fonction pthread_timedjoin_np() essaie de fusionner avec un thread
avec une limite de temps. Si le thread ne s'est toujours pas termine,
alors l'appel est bloque pendant un temps maximum de abstime. Si le
delai expire avant que thread ne se termine, l'appel renvoie une
erreur. Le parametre abstime est une structure de la forme suivante,
qui indique un temps absolu mesure depuis l'epoque (consultez
time(2)) :
struct timespec {
time_t tv_sec; /* Secondes */
long tv_nsec; /* Nanosecondes */
};
VALEUR RENVOY'EE
En cas de reussite, ces fonction renvoient 0 ; en cas d'erreur, elles
renvoient un numero d'erreur.
ERREURS
Ces fonction peuvent echouer avec les memes erreurs que
pthread_join(3). pthread_tryjoin_np() peut de plus echouer avec
l'erreur suivante :
EBUSY L'execution du thread n'etait pas terminee au moment de l'appel.
pthread_timedjoin_np() peut egalement echouer avec les erreurs
suivantes :
ETIMEDOUT
Le delai a expire avant que thread ne se soit termine.
pthread_timedjoin_np() ne renvoie jamais d'erreur EINTR.
VERSIONS
Ces fonctions ont ete introduites dans la glibc dans sa version 2.3.3.
CONFORMIT'E
Ces fonctions sont des extensions non standard GNU ; c'est la raison du
suffixe << _np >> (non portable) dans leur nom.
EXEMPLE
Le code suivant attend la fin d'execution d'un thread pour fusionner
pendant au plus 5 seconde :
struct timespec ts;
int s;
...
if (clock_gettime(CLOCK_REALTIME, &ts) == -1) {
/* Handle error */
}
ts.tv_sec += 5;
s = pthread_timedjoin_np(thread, NULL, &ts);
if (s != 0) {
/* Handle error */
}
VOIR AUSSI
clock_gettime(2), pthread_join(3), pthread_exit(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/>.
Nicolas Francois et l'equipe francophone de traduction de
Debian (2006-2009).
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> >>.