ADJTIME
Section: Linux Programmer's Manual (3)
Updated: 26 luglio 2006
Index
Return to Main Contents
NOME
adjtime - corregge l'orario per sincronizzare l'orologio di sistema
SINTASSI
int adjtime(const struct timeval *delta, struct timeval *olddelta);
Test delle funzioni e requisiti delle macro per glibc (vedere
feature_test_macros(7)):
adjtime():
_BSD_SOURCE
DESCRIZIONE
La funzione
adjtime()
regola in modo graduale l'orario di sistema (restituito da
gettimeofday(2)).
L'ammontare di tempo con cui regolare l'orologio è specificato
nella struttura a cui punta
delta.
Questa struttura ha la forma seguente:
struct timeval {
time_t tv_sec; /* secondi */
suseconds_t tv_usec; /* microsecondi */
};
Se la regolazione in
delta
è positiva, l'orologio di sistema viene accellerato di qualche
punto percentuale (per esempio aggiungendo una piccola
quantità di tempo al valore dell'orario per ogni secondo) finché la regolazione
non è stata completata.
Se la regolazione in
delta
è negativa, l'orologio viene rallentato in maniera simile.
Se avviene una chiamata ad
adjtime()
mentre è in corso una regolazione dell'orario relativa
ad una chiamata precedente di
adjtime()
, e
delta
non è NULL per l'ultima chiamata, la chiamata precedente viene terminata,
senza però scartare nessuna correzione parziale già completata.
Se
olddelta
non è NULL, allora il buffer a cui punta viene usato per restituire
l'ammontare di tempo rimanente dalle precedenti correzioni
non ancora completate.
VALORE RESTITUITO
Se termina con successo,
adjtime()
restituisce 0. Se fallisce, viene restituito -1, e
errno
viene valorizzato per indicare l'errore.
ERRORI
- EINVAL
-
La correzione in
delta
è fuori dall'intervallo permesso.
- EPERM
-
Il chiamante non ha privilegi sufficienti per correggere l'orario.
In Linux è richiesta
l'abilitazione a
CAP_SYS_TIME .
CONFORME A
4.3BSD, System V.
NOTE
La correzione che
adjtime()
effettua sull'orologio viene eseguita in modo che quest'ultimo
venga sempre incrementato uniformemente.
Usando
adjtime()
per correggere l'orario si evitano problemi di funzionamento per certe
applicazioni (per esempio,
make(1))
dovuti a improvvise variazioni positive o negative dell'orario di sistema.
adjtime()
è stato progettato per effettuare piccole correzioni all'orario di sistema.
Molti sistemi impongono un limite alla correzione, che può essere specificato in
delta.
Nell'implementazione di glibc,
delta
dev'essere minore o uguale a (INT_MAX / 1000000 - 2)
e maggiore o uguale a (INT_MIN / 1000000 + 2)
(rispettivamente 2145 e -2145 secondi su i386).
BUG
Attualmente, se
delta
viene valorizzato a NULL, a
olddelta
non viene restituita alcuna informazione valida riguardo la correzione in sospeso dell'orologio.
(In questo caso,
adjtime()
dovrebbe restituire la correzione dell'orario in sospeso, senza cambiarla.)
Questo è il risultato di una limitazione del kernel.
VEDERE ANCHE
adjtimex(2),
gettimeofday(2),
time(7)
COLOPHON
Questa pagina fa parte del rilascio 2.75 del progetto
man-pages
di Linux.
Si può trovare una descrizione del progetto,
e informazioni su come riportare bachi,
presso
http://www.kernel.org/doc/man-pages/.
Per la traduzione in italiano si può fare riferimento a
http://www.pluto.it/ildp/collaborare/
Index
- NOME
-
- SINTASSI
-
- DESCRIZIONE
-
- VALORE RESTITUITO
-
- ERRORI
-
- CONFORME A
-
- NOTE
-
- BUG
-
- VEDERE ANCHE
-
- COLOPHON
-
This document was created by
man2html,
using the manual pages.
Time: 23:03:52 GMT, June 17, 2008