\chapter{I file: l'interfaccia standard Unix}
\label{cha:file_unix_interface}
+
Esamineremo in questo capitolo la prima delle due interfacce di programmazione
per i file, quella dei \textit{file descriptor}, nativa di Unix. Questa è
l'interfaccia di basso livello provvista direttamente dalle system call, che
file. Può causare corruzione del file con NFS se più di un processo scrive
allo stesso tempo.\footnotemark\\
\macro{O\_NONBLOCK} & il file viene aperto in modalità non bloccante per
- le operazioni di I/O: questo significa il fallimento di una \func{read} in
- assenza di dati da leggere e quello di una \func{write} in caso di
+ le operazioni di I/O: questo significa il fallimento di \func{read} in
+ assenza di dati da leggere e quello di \func{write} in caso di
impossibilità di scrivere immediatamente. L'opzione è effettiva solo per
le fifo e per alcuni file di dispositivo. \\
\macro{O\_NDELAY} & in Linux\footnotemark\ è sinonimo di
\macro{EAGAIN} non sono errori. La prima si verifica quando la \func{read} è
bloccata in attesa di dati in ingresso e viene interrotta da un segnale; in
tal caso l'azione da prendere è quella di rieseguire la funzione. Torneremo
-sull'argomento in \secref{sec:signal_xxx}.
+sull'argomento in \secref{sec:sig_gen_beha}.
La seconda si verifica quando il file è in modalità non bloccante e non ci
sono dati in ingresso: la funzione allora ritorna immediatamente con un errore