adjtime
Table des matières
Retour à l'index
NOM
adjtime - Ajuster le temps pour synchroniser l'horloge système
BIBLIOTHÈQUE
Bibliothèque C standard (libc, -lc)
SYNOPSIS
#include <sys/time.h>
int adjtime(const struct timeval *delta, struct timeval *olddelta);
Exigences de macros de test de fonctionnalités pour la glibc (consulter
feature_test_macros(7)) :
adjtime() :
Depuis la glibc 2.19 :
_DEFAULT_SOURCE
glibc 2.19 et antérieures :
_BSD_SOURCE
DESCRIPTION
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.
ATTRIBUTS
Pour une explication des termes utilisés dans cette section, consulter
attributes(7).
| Interface | Attribut | Valeur
|
|
adjtime()
| Sécurité des threads | MT-Safe
|
STANDARDS
Aucun.
HISTORIQUE
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 pourraient 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)
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>
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 à
Index
- NOM
-
- BIBLIOTHÈQUE
-
- SYNOPSIS
-
- DESCRIPTION
-
- VALEUR RENVOYÉE
-
- ERREURS
-
- ATTRIBUTS
-
- STANDARDS
-
- HISTORIQUE
-
- NOTES
-
- BOGUES
-
- VOIR AUSSI
-
- TRADUCTION
-
This document was created by
man2html,
using the manual pages.
Time: 05:06:08 GMT, September 19, 2025