Linux, con le glibc, questa è sinonima di \macro{EAGAIN}.} che nel caso
indica soltanto che occorrerà provare a ripetere la lettura.
-La funzione \func{read} è una delle system call esistenti fin dagli abori di
-Unix, ma nella seconda versione delle \textit{Single Unix
+La funzione \func{read} è una delle system call fondamentali, esistenti fin
+dagli albori di Unix, ma nella seconda versione delle \textit{Single Unix
Specification}\footnote{questa funzione, e l'analoga \func{pwrite} sono
state aggiunte nel kernel 2.1.60, il supporto nelle \acr{glibc}, compresa
l'emulazione per i vecchi kernel che non hanno la system call, è stato
aggiunto con la versione 2.1, in versioni precedenti sia del kernel che
delle librerie la funzione non è disponibile.} (quello che viene chiamato
normalmente Unix98, vedi \secref{sec:intro_opengroup}) è stata introdotta la
-definizione di un'altra funzione di lettura, \func{pread}, il cui prototipo di
-questa funzione è:
+definizione di un'altra funzione di lettura, \func{pread}, il cui prototipo è:
\begin{prototype}{unistd.h}
{ssize\_t pread(int fd, void * buf, size\_t count, off\_t offset)}
descriptor aperti.
\end{errlist}}
\end{prototype}
-\noindent e qualora il file descriptor \param{newfd} sia già aperto esso
-sarà chiuso e poi duplicato.
+\noindent e qualora il file descriptor \param{newfd} sia già aperto (come
+avviene ad esempio nel caso della duplicazione di uno dei file standard) esso
+sarà prima chiuso e poi duplicato.
La duplicazione dei file descriptor può essere effettuata anche usando la
funzione di controllo dei file \func{fnctl} (che esamineremo in