table of contents
CLOCK_NANOSLEEP(2) | Manuel du programmeur Linux | CLOCK_NANOSLEEP(2) |
NOM¶
clock_nanosleep - Sommeil haute résolution avec horloge spécifiqueSYNOPSIS¶
#include <time.h>int clock_nanosleep(clockid_t clock_id, int flags, const struct timespec *request, struct timespec *remain);
Exigences de macros de test de fonctionnalités pour la glibc (consultez feature_test_macros(7)) :
_XOPEN_SOURCE >= 600 ||
_POSIX_C_SOURCE >= 200112L
DESCRIPTION¶
Comme nanosleep(2), clock_nanosleep() permet au thread appelant de sommeiller pendant une durée indiquée avec une précision de la nanoseconde. Il diffère de nanosleep(2) dans le fait qu'il permet à l'appelant de choisir l'horloge avec laquelle la durée du sommeil sera mesurée et d'indiquer une valeur absolue ou relative pour la durée du sommeil.struct timespec { time_t tv_sec; /* secondes */ long tv_nsec; /* nanosecondes [0 .. 999999999] */ };
- CLOCK_REALTIME
- Une horloge temps réel configurable à l'échelle du système.
- CLOCK_MONOTONIC
- Une horloge monotonique, non configurable, mesurant le temps depuis un instant du passé non spécifié qui ne change pas après le démarrage du système.
- CLOCK_PROCESS_CPUTIME_ID
- Une horloge configurable par processus mesurant le temps processeur consommé par tous les threads du processus.
VALEUR RENVOYÉE¶
Après un sommeil complet de la durée souhaitée, clock_nanosleep() renvoie 0. Si l'appel système est interrompu par un gestionnaire de signal ou rencontre une erreur, il renvoie un des codes d'erreur positifs listés dans ERREURS.ERREURS¶
- EFAULT
- request ou remain n'indique pas une adresse valide.
- EINTR
- Le sommeil a été interrompu par un gestionnaire de signal.
- EINVAL
- La valeur du champ tv_nsec n'est pas dans l'intervalle 0 à 999 999 999 ou tv_sec est négatif.
- EINVAL
- clock_id n'est pas valide. (CLOCK_THREAD_CPUTIME_ID n'est pas une valeur permise pour clock_id.)
VERSIONS¶
L'appel système clock_nanosleep() a été introduit dans le noyau Linux dans sa version 2.6. La prise en charge dans la glibc est disponible depuis la version 2.1.CONFORMITɶ
POSIX.1-2001.NOTES¶
Si la durée indiquée dans request n'est pas un multiple exact de la granularité de l'horloge sous-jacente (consultez time(7)), la durée sera alors arrondie au multiple supérieur. De plus, lorsque le sommeil sera achevé, il y a toujours un délai avant lequel le processeur redevienne libre pour exécuter le thread appelant.VOIR AUSSI¶
clock_getres(2), nanosleep(2), timer_create(2), sleep(3), usleep(3), time(7)COLOPHON¶
Cette page fait partie de la publication 3.44 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/>. Alain Portal <http://manpagesfr.free.fr/> (2008). 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> ».7 novembre 2012 | Linux |