Loading

NOM

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

SYNOPSIS

       #define _GNU_SOURCE
       #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.

       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  le  1er  janvier  1970
       (« Epoch », 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 le fil d’exécution 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_join(3), pthread_exit(3), pthreads(7)

COLOPHON

       Cette page fait partie de  la  publication  3.23  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

       Cette  page  de  manuel  a  été  traduite  et est maintenue par Nicolas
       François <nicolas.francois@centraliens.net> et l’équipe francophone  de
       traduction de Debian.

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