Successivo: Esempio di estensione API Test, Precedente: Esempio di estensione Readfile, Su: Esempi di estensione [Contenuti][Indice]
ATTENZIONE: A partire da
gawk
versione 5.1.0, quest’estensione è da considerarsi obsoleta. È sostituita dall’estensionetimex
ingawkextlib
(vedi la sezione Il progettogawkextlib
).Nella versione 5.1, non viene emesso alcun messaggio di avviso se si usa quest’estensione. A partire dalla prossima versione principale, verrà emesso un messaggio di avviso. Nella versione successiva a quella, quest’estensione sarà rimossa dalla distribuzione.
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 in 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 in 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.
Successivo: Esempio di estensione API Test, Precedente: Esempio di estensione Readfile, Su: Esempi di estensione [Contenuti][Indice]