pthread_tryjoin_np(3) Library Functions Manual pthread_tryjoin_np(3) NOM pthread_tryjoin_np, pthread_timedjoin_np - Essayer de fusionner avec un thread ayant termine son execution BIBLIOTHEQUE Bibliotheque de threads POSIX (libpthread, -lpthread) SYNOPSIS #define _GNU_SOURCE /* Consultez feature_test_macros(7) */ #include int pthread_tryjoin_np(pthread_t thread, void **retval); int pthread_timedjoin_np(pthread_t thread, void **retval, const struct timespec *abstime); 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 mesure par rapport a l'horloge CLOCK_REALTIME. Si le delai expire avant que thread ne se termine, l'appel renvoie une erreur. Le parametre abstime est une structure timespec(3) qui indique un temps absolu mesure depuis l'epoque POSIX (consultez time(2)) VALEUR RENVOYEE 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 : EINVAL La valeur abstime n'est pas valable (tv_sec est inferieure a 0 ou tv_nsec est plus grande que 1e9). ETIMEDOUT Le delai a expire avant que thread ne se soit termine. pthread_timedjoin_np() ne renvoie jamais d'erreur EINTR. ATTRIBUTS Pour une explication des termes utilises dans cette section, consulter attributes(7). +---------------------------------+--------------------------+---------+ |Interface | Attribut | Valeur | +---------------------------------+--------------------------+---------+ |pthread_tryjoin_np(), | Securite des threads | MT-Safe | |pthread_timedjoin_np() | | | +---------------------------------+--------------------------+---------+ STANDARDS GNU ; d'ou le suffixe << _np >> (non portable) dans leur nom. HISTORIQUE glibc 2.3.3. BOGUES La fonction pthread_timedjoin_np() mesure le temps en calculant en interne un intervalle de sommeil relatif qui est alors mesure par rapport a l'horloge CLOCK_MONOTONIC plutot que par rappport a l'horloge CLOCK_REALTIME. En consequence, le delai n'est pas affecte par les modifications discontinues a l'horloge CLOCK_REALTIME. EXEMPLES 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_exit(3), pthread_join(3), timespec(3), pthreads(7) TRADUCTION La traduction francaise de cette page de manuel a ete creee par Christophe Blaess , Stephan Rafin , Thierry Vignaud , Francois Micaux, Alain Portal , Jean-Philippe Guerard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas Francois , Florentin Duneau , Simon Paillard , Denis Barbier , David Prevot , Frederic Hantrais et Jean- Pierre Giraud Cette traduction est une documentation libre ; veuillez vous reporter a la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE. Si vous decouvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message a . Pages du manuel de Linux 6.06 31 octobre 2023 pthread_tryjoin_np(3)