Provided by: manpages-fr-dev_3.57d1p1-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.57 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> ».