Provided by: manpages-fr-dev_3.27fr1.4-1_all bug

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> >>.