Successivo: Directory su riga di comando, Precedente: Timeout in lettura, Su: Leggere file [Contenuti][Indice]
Questa
sezione descrive una funzionalità disponibile solo in
gawk
.
Qualora gawk
incontri un errore durante la lettura dell’input,
per default getline
ha come codice di ritorno -1, e i
successivi tentativi di leggere dallo stesso file restituiscono una
indicazione di fine-file. È tuttavia possibile chiedere a
gawk
di consentire un ulteriore tentativo di lettura in presenza
di certi errori, impostando uno speciale elemento del vettore
PROCINFO
(vedi la sezione Variabili predefinite con cui awk
fornisce informazioni):
PROCINFO["nome_input_file", "RETRY"] = 1
Quando un tale elemento esiste, gawk
controlla il valore della
variabile di sistema
(nel linguaggio C)
errno
quando si verifica un errore di I/O.
Se errno
indica che un ulteriore tentativo di lettura può
terminare con successo, getline
ha come codice di ritorno -2
e ulteriori chiamate a getline
possono terminare correttamente.
Questo vale per i seguenti valori di errno
: EAGAIN
,
EWOULDBLOCK
, EINTR
, e ETIMEDOUT
.
Questa funzionalità è utile quando si assegna un valore all’elemento
PROCINFO["nome_input_file", "READ_TIMEOUT"]
o in situazioni
in cui un descrittore di file sia stato configurato per comportarsi in
modo non bloccante.