NOM
adjtime - Ajuster le temps pour synchroniser l’horloge système
SYNOPSIS
int adjtime(const struct timeval *delta, struct timeval *olddelta);
Exigences de macros de test de fonctionnalités pour la glibc (voir
feature_test_macros(7)) :
adjtime() : _BSD_SOURCE
La fonction adjtime() ajuste graduellement l’horloge système (comme
renvoyée par gettimeofday(2)). La quantité de temps avec laquelle
l’horloge système doit être ajustée est spécifiée par la structure
pointée par delta. Cette structure a la forme suivante :
struct timeval {
time_t tv_sec; /* secondes */
suseconds_t tv_usec; /* microsecondes */
};
Si l’ajustement dans delta est positif, alors l’horloge système est
accélérée d’un faible pourcentage (par exemple, en ajoutant une petite
quantité de temps à chaque seconde de l’horloge) jusqu’à ce que
l’ajustement soit réalisé. Si l’ajustement dans delta est négatif,
l’horloge est ralentie selon le même procédé.
Si un ajustement d’horloge d’un précédent appel à adjtime() est déjà en
cours au moment du dernier appel à adjtime() et si delta n’est pas NULL
lors de ce dernier appel, alors le précédent ajustement est arrêté,
mais aucune partie déjà complète de cet ajustement n’est défait.
Si olddelta n’est pas NULL, alors le tampon pointé est utilisé pour
renvoyer la quantité de temps restant depuis l’ajustement précédent qui
n’a pas été complété.
VALEUR RENVOYÉE
En cas de réussite, adjtime() renvoie 0. En cas d’erreur, -1 est
renvoyé et errno est définie.
ERREURS
EINVAL L’ajustement delta est hors de l’intervalle autorisé.
EPERM L’appelant n’a pas les privilèges suffisants pour ajuster le
temps. Sous Linux, la capacité CAP_SYS_TIME est nécessaire.
CONFORMITÉ
BSD 4.3, System V.
NOTES
L’ajustement réalisé par adjtime() sur l’horloge est exécuté afin que
l’horloge soit toujours incrémentée de façon monotone. Utiliser
adjtime() pour ajuster le temps prévient les problèmes qui peuvent se
poser avec certaines applications (par exemple, make(1)) lors de sauts
temporels abrupts positifs ou négatifs de l’horloge système.
adjtime() est prévue pour faire de petit ajustement de l’horloge
système. La plupart des systèmes impose une limite à l’ajustement qui
peut être spécifié dans delta. Dans l’implémentation de la glibc, delta
doit être inférieur ou égal à (INT_MAX / 1000000 - 2) et supérieur ou
égal (INT_MIN / 1000000 + 2) (respectivement, 2145 et -2145 secondes
sur i386).
BOGUES
Un bogue de longue date faisait que si delta valait NULL, aucune
information valide sur l’ajustement en cours de l’horloge n’était
renvoyé dans olddelta. (Dans cette circonstance, adjtime() devrait
renvoyer l’ajustement en cours de l’horloge, sans la modifier.) Ce
bogue a été corrigé sur les systèmes disposant de la glibc 2.8 ou
suivantes et le noyau Linux 2.6.26 ou suivants.
VOIR AUSSI
adjtimex(2), gettimeofday(2), time(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 Florentin
Duneau <fduneau AT gmail DOT com> 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> ».