Man page - pthread_timedjoin_np(3)

Packages contains this manual

Available languages:

en fr ja ru ro

Manual

pthread_tryjoin_np

NOM
BIBLIOTHÈQUE
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
ERREURS
ATTRIBUTS
STANDARDS
HISTORIQUE
BOGUES
EXEMPLES
VOIR AUSSI
TRADUCTION

NOM

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

BIBLIOTHÈQUE

BibliothĂšque de threads POSIX ( libpthread , -lpthread )

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 );

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 mesurĂ© par rapport Ă  l’horloge CLOCK_REALTIME . Si le dĂ©lai expire avant que thread ne se termine, l’appel renvoie une erreur. Le paramĂštre abstime est une structure timespec (3) qui indique un temps absolu mesurĂ© depuis l’époque POSIX (consultez time (2))

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 :

EINVAL

La valeur abstime n’est pas valable ( tv_sec est infĂ©rieure Ă  0 ou tv_nsec est plus grande que 1e9).

ETIMEDOUT

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

pthread_timedjoin_np () ne renvoie jamais d’erreur EINTR .

ATTRIBUTS

Pour une explication des termes utilisés dans cette section, consulter attributes (7).

Image grohtml-3887760-1.png

STANDARDS

GNU ; d’oĂč 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 mesurĂ© par rapport Ă  l’horloge CLOCK_MONOTONIC plutĂŽt que par rappport Ă  l’horloge CLOCK_REALTIME . En consĂ©quence, le dĂ©lai n’est pas affectĂ© par les modifications discontinues Ă  l’horloge CLOCK_REALTIME .

EXEMPLES

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) {
/* GĂ©rer l’erreur */
}
ts.tv_sec += 5;
s = pthread_timedjoin_np(thread, NULL, &ts);
if (s != 0) {
/* GĂ©rer l’erreur */
}

VOIR AUSSI

clock_gettime (2), pthread_exit (3), pthread_join (3), timespec (3), pthreads (7)

TRADUCTION

La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org>, David Prévot <david@tilapin.org>, Frédéric Hantrais <fhantrais@gmail.com> et Jean-Pierre Giraud <jean-pierregiraud@neuf.fr>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n’y a aucune RESPONSABILITÉ LÉGALE.

Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org .