Varie correzioni da Fabio Rossi, e relative aggiunte nei ringrazimenti per
[gapil.git] / fileadv.tex
index 2f55a322ac0c34087b7b09545541eb81142f32fb..c91f34e72f1606437145dbab7c4b5833cc551311 100644 (file)
@@ -420,8 +420,8 @@ distinzione ha senso solo per i dati \textit{out-of-band} dei socket (vedi
 sez.~\ref{sec:TCP_urgent_data}), ma su questo e su come \func{poll} reagisce
 alle varie condizioni dei socket torneremo in sez.~\ref{sec:TCP_serv_poll},
 dove vedremo anche un esempio del suo utilizzo. Si tenga conto comunque che le
-costanti relative ai diversi tipi di dati (come \macro{POLLRDNORM} e
-\macro{POLLRDBAND}) sono utilizzabili soltanto qualora si sia definita la
+costanti relative ai diversi tipi di dati (come \const{POLLRDNORM} e
+\const{POLLRDBAND}) sono utilizzabili soltanto qualora si sia definita la
 macro \macro{\_XOPEN\_SOURCE}.\footnote{e ci si ricordi di farlo sempre in
   testa al file, definirla soltanto prima di includere \file{sys/poll.h} non è
   sufficiente.}
@@ -736,7 +736,7 @@ esaurimento.
 
 Oltre alle operazioni di lettura e scrittura l'interfaccia POSIX.1b mette a
 disposizione un'altra operazione, quella di sincronizzazione dell'I/O,
-compiuta dalla funzione \func{aio\_fsync}, che ha lo stesso effetto della
+compiuta dalla funzione \funcd{aio\_fsync}, che ha lo stesso effetto della
 analoga \func{fsync}, ma viene eseguita in maniera asincrona; il suo prototipo
 è:
 \begin{prototype}{aio.h}
@@ -946,7 +946,7 @@ prototipi sono:
   \end{errlist}
   ed inoltre \errval{EISDIR}, \errval{ENOMEM}, \errval{EFAULT} (se non sono
   stato allocati correttamente i buffer specificati nei campi
-  \func{iov\_base}), più tutti gli ulteriori errori che potrebbero avere le
+  \var{iov\_base}), più tutti gli ulteriori errori che potrebbero avere le
   usuali funzioni di lettura e scrittura eseguite su \param{fd}.}
 \end{functions}
 
@@ -1127,7 +1127,7 @@ tab.~\ref{tab:file_mmap_flag}.
                              visibili agli altri processi che mappano lo stesso
                              file.\footnotemark Il file su disco però non sarà
                              aggiornato fino alla chiamata di \func{msync} o
-                             \func{unmap}), e solo allora le modifiche saranno
+                             \func{munmap}), e solo allora le modifiche saranno
                              visibili per l'I/O convenzionale. Incompatibile
                              con \const{MAP\_PRIVATE}. \\ 
     \const{MAP\_PRIVATE}   & I cambiamenti sulla memoria mappata non vengono
@@ -1547,14 +1547,14 @@ anche se richiesto attraverso un file descriptor, agisce sempre su un file;
 perciò le informazioni relative agli eventuali \textit{file lock} sono
 mantenute a livello di inode\index{inode},\footnote{in particolare, come
   accennato in fig.~\ref{fig:file_flock_struct}, i \textit{file lock} sono
-  mantenuti un una \textit{linked list}\index{linked list} di strutture
-  \struct{file\_lock}. La lista è referenziata dall'indirizzo di partenza
-  mantenuto dal campo \var{i\_flock} della struttura \struct{inode} (per le
-  definizioni esatte si faccia riferimento al file \file{fs.h} nei sorgenti
-  del kernel).  Un bit del campo \var{fl\_flags} di specifica se si tratta di
-  un lock in semantica BSD (\const{FL\_FLOCK}) o POSIX (\const{FL\_POSIX}).}
-dato che questo è l'unico riferimento in comune che possono avere due processi
-diversi che aprono lo stesso file.
+  mantenuti un una \textit{linked~list}\index{\textit{linked list}} di
+  strutture \struct{file\_lock}. La lista è referenziata dall'indirizzo di
+  partenza mantenuto dal campo \var{i\_flock} della struttura \struct{inode}
+  (per le definizioni esatte si faccia riferimento al file \file{fs.h} nei
+  sorgenti del kernel).  Un bit del campo \var{fl\_flags} di specifica se si
+  tratta di un lock in semantica BSD (\const{FL\_FLOCK}) o POSIX
+  (\const{FL\_POSIX}).}  dato che questo è l'unico riferimento in comune che
+possono avere due processi diversi che aprono lo stesso file.
 
 \begin{figure}[htb]
   \centering
@@ -1801,7 +1801,8 @@ questo caso la titolarit
 voce nella file table, ma con il valore del \acr{pid} del processo.
 
 Quando si richiede un lock il kernel effettua una scansione di tutti i lock
-presenti sul file\footnote{scandisce cioè la linked list delle strutture
+presenti sul file\footnote{scandisce cioè la
+  \index{\textit{linked~list}}\textit{linked list} delle strutture
   \struct{file\_lock}, scartando automaticamente quelle per cui
   \var{fl\_flags} non è \const{FL\_POSIX}, così che le due interfacce restano
   ben separate.}  per verificare se la regione richiesta non si sovrappone ad