Successivo: Esempio di estensione API Test, Precedente: Esempio di estensione Readfile, Su: Esempi di estensione [Contenuti][Indice]
L’estensione time
aggiunge due funzioni, di nome
gettimeofday()
e sleep()
, come segue:
@load "time"
Questo è il modo per caricare l’estensione.
ora_corrente = gettimeofday()
Restituisce il numero di secondi trascorsi dalle ore 00:00 del giorno
01/01/1970 UTC come valore a virgola mobile.
Se questa informazione non è disponibile nella piattaforma in uso,
restituisce -1 e imposta ERRNO
. Il valore fornito dovrebbe
avere la precisione di una frazione di
secondo, ma la precisione effettiva può variare a seconda della
piattaforma.
Se la chiamata di sistema standard C gettimeofday()
è disponibile
nella piattaforma in uso, questo è il valore restituito. In caso contrario,
se si sta lavorando con MS-Windows, la chiamata di sistema è fatta a
GetSystemTimeAsFileTime()
.
risultato = sleep(secondi)
Il programma gawk
resta inattivo (dorme) per i secondi
specificati. Se secondi ha un valore negativo,
o la chiamata di sistema non riesce, restituisce -1 e imposta ERRNO
.
In caso contrario, restituisce zero dopo aver lasciato trascorrere
la quantità di tempo indicata.
Si noti che secondi può essere un numero a virgola mobile (non solo un
numero intero).
Dettagli di implementazione: a seconda della disponibilità nel sistema in uso,
questa funzione tenta di usare nanosleep()
o select()
per
ottenere il tempo di attesa richiesto.