X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=fileadv.tex;h=a7f5b0d7d787211d913d9411b70302fde5fd0380;hp=3b0575ae289f19441b6dbe59a50d2b032f809c0b;hb=8dcd0303a5e4af316f1b8072c77ffc3cb97a0f02;hpb=78c18e4e71e33917d898013e2d75061c29564ac0 diff --git a/fileadv.tex b/fileadv.tex index 3b0575a..a7f5b0d 100644 --- a/fileadv.tex +++ b/fileadv.tex @@ -78,7 +78,7 @@ con la funzione \func{select}, il cui prototipo \bodydesc{La funzione in caso di successo restituisce il numero di file descriptor (anche nullo) che sono attivi, e -1 in caso di errore, nel qual - caso \var{errno} viene impostata ai valori: + caso \var{errno} assumerà uno dei valori: \begin{errlist} \item[\macro{EBADF}] Si è specificato un file descriptor sbagliato in uno degli insiemi. @@ -169,7 +169,8 @@ Come accennato l'interfaccia di \func{select} System V ha introdotto una sua interfaccia per gestire l'\textit{I/O multiplexing}, basata sulla funzione \func{poll},\footnote{la funzione è prevista dallo standard XPG4, ed è stata introdotta in Linux come system - call a partire dal kernel 2.1.23 e dalle \acr{libc} 5.4.28.} il cui prototipo è: + call a partire dal kernel 2.1.23 e dalle \acr{libc} 5.4.28.} il cui +prototipo è: \begin{prototype}{sys/poll.h} {int poll(struct pollfd *ufds, unsigned int nfds, int timeout)} @@ -178,7 +179,7 @@ specificati da \param{ufds}. \bodydesc{La funzione restituisce il numero di file descriptor con attività in caso di successo, o 0 se c'è stato un timeout; in caso di errore viene - restituito -1 ed \var{errno} viene impostata ai valori: + restituito -1 ed \var{errno} assumerà uno dei valori: \begin{errlist} \item[\macro{EBADF}] Si è specificato un file descriptor sbagliato in uno degli insiemi. @@ -278,7 +279,7 @@ sostituisce i precedenti, ed aggiunge a \func{select} una nuova funzione \bodydesc{La funzione in caso di successo restituisce il numero di file descriptor (anche nullo) che sono attivi, e -1 in caso di errore, nel qual - caso \var{errno} viene impostata ai valori: + caso \var{errno} assumerà uno dei valori: \begin{errlist} \item[\macro{EBADF}] Si è specificato un file descriptor sbagliato in uno degli insiemi. @@ -308,7 +309,7 @@ del test e riabilitandolo poi grazie all'uso di \param{sigmask}. -\subsection{L'\textsl{I/O asincrono}} +\subsection{L'I/O asincrono} \label{sec:file_asyncronous_io} Una modalità alternativa all'uso dell'\textit{I/O multiplexing} è quella di @@ -504,7 +505,7 @@ appena descritta; i rispettivi prototipi sono: \param{aiocbp}. \bodydesc{Le funzioni restituiscono 0 in caso di successo, e -1 in caso di - errore, nel qual caso \var{errno} viene impostata ai valori: + errore, nel qual caso \var{errno} assumerà uno dei valori: \begin{errlist} \item[\macro{EBADF}] Si è specificato un file descriptor sbagliato. \item[\macro{ENOSYS}] La funzione non è implementata. @@ -675,8 +676,8 @@ specifica operazione; il suo prototipo operazioni specificate da \param{list}. \bodydesc{La funzione restituisce 0 se una (o più) operazioni sono state - completate, e -1 in caso di errore nel qual caso \var{errno} viene - impostata ai valori: + completate, e -1 in caso di errore nel qual caso \var{errno} assumerà uno + dei valori: \begin{errlist} \item[\macro{EAGAIN}] Nessuna operazione è stata completata entro \param{timeout}. @@ -707,7 +708,7 @@ lettura o scrittura; il suo prototipo secondo la modalità \param{mode}. \bodydesc{La funzione restituisce 0 in caso di successo, e -1 in caso di - errore, nel qual caso \var{errno} viene impostata ai valori: + errore, nel qual caso \var{errno} assumerà uno dei valori: \begin{errlist} \item[\macro{EAGAIN}] Nessuna operazione è stata completata entro \param{timeout}. @@ -774,8 +775,8 @@ prototipi sono: specificati da \param{vector}. \bodydesc{Le funzioni restituiscono il numero di byte letti o scritti in - caso di successo, e -1 in caso di errore, nel qual caso \var{errno} viene - impostata ai valori: + caso di successo, e -1 in caso di errore, nel qual caso \var{errno} + assumerà uno dei valori: \begin{errlist} \item[\macro{EBADF}] si è specificato un file descriptor sbagliato. \item[\macro{EINVAL}] si è specificato un valore non valido per uno degli @@ -881,7 +882,7 @@ in memoria di un file; il suo prototipo \bodydesc{La funzione restituisce il puntatore alla zona di memoria mappata in caso di successo, e \macro{MAP\_FAILED} (-1) in caso di errore, nel - qual caso \var{errno} viene impostata ai valori: + qual caso \var{errno} assumerà uno dei valori: \begin{errlist} \item[\macro{EBADF}] Il file descriptor non è valido, e non si è usato \macro{MAP\_ANONYMOUS}. @@ -1129,7 +1130,7 @@ contenuto della memoria mappata con il file su disco; il suo prototipo Sincronizza i contenuti di una sezione di un file mappato in memoria. \bodydesc{La funzione restituisce 0 in caso di successo, e -1 in caso di - errore nel qual caso \var{errno} viene impostata ai valori: + errore nel qual caso \var{errno} assumerà uno dei valori: \begin{errlist} \item[\macro{EINVAL}] O \param{start} non è multiplo di \macro{PAGESIZE}, o si è specificato un valore non valido per \param{flags}. @@ -1185,7 +1186,7 @@ mappatura della memoria usando la funzione \func{munmap}, il suo prototipo Rilascia la mappatura sulla sezione di memoria specificata. \bodydesc{La funzione restituisce 0 in caso di successo, e -1 in caso di - errore nel qual caso \var{errno} viene impostata ai valori: + errore nel qual caso \var{errno} assumerà uno dei valori: \begin{errlist} \item[\macro{EINVAL}] L'intervallo specificato non ricade in una zona precedentemente mappata.