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

NOM

       pthread_tryjoin_np,  pthread_timedjoin_np  -  Essayer  de  fusionner  avec  un  thread  ayant terminé son
       exécution

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'édition des liens avec l'option -pthread.

DESCRIPTION

       Ces fonctions opèrent de la même façon que pthread_join(3), à l'exception des différences  décrites  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 terminé,
       alors au lieu d'être bloquée (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 terminé, alors l'appel est bloqué pendant un temps maximum de abstime. Si le
       délai  expire  avant  que  thread ne se termine, l'appel renvoie une erreur. Le paramètre abstime est une
       structure de la forme suivante, qui indique un temps absolu mesuré depuis l'époque (consultez time(2)) :

           struct timespec {
               time_t tv_sec;      /* Secondes */
               long   tv_nsec;     /* Nanosecondes */
           };

VALEUR RENVOYÉE

       En cas de réussite, ces fonction renvoient 0 ; en cas d'erreur, elles renvoient un numéro d'erreur.

ERREURS

       Ces fonction peuvent échouer avec les mêmes erreurs que  pthread_join(3).  pthread_tryjoin_np()  peut  de
       plus échouer avec l'erreur suivante :

       EBUSY  L'exécution du thread n'était pas terminée au moment de l'appel.

       pthread_timedjoin_np() peut également échouer avec les erreurs suivantes :

       ETIMEDOUT
              Le délai a expiré avant que thread ne se soit terminé.

       pthread_timedjoin_np() ne renvoie jamais d'erreur EINTR.

VERSIONS

       Ces fonctions ont été introduites dans la glibc dans sa version 2.3.3.

CONFORMITÉ

       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'exécution 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_exit(3), pthread_join(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/>.

       Nicolas François et l'équipe francophone de traduction de Debian (2006-2009).

       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                                           10 septembre 2010                          PTHREAD_TRYJOIN_NP(3)