Revisione e portare tutte le figure ad inconsolata per uniformità con
[gapil.git] / fileadv.tex
index 8b979cb3780e0ebae471a271497d36bc3d67db62..d03ec210ce7a60acba0eaad58e190442012adb34 100644 (file)
@@ -94,8 +94,8 @@ In Linux sono disponibili due interfacce per utilizzare l'\textit{advisory
 \func{flock}, la seconda è quella recepita dallo standard POSIX.1 (che è
 derivata dall'interfaccia usata in System V), che è basata sulla funzione
 \func{fcntl}.  I \textit{file lock} sono implementati in maniera completamente
 \func{flock}, la seconda è quella recepita dallo standard POSIX.1 (che è
 derivata dall'interfaccia usata in System V), che è basata sulla funzione
 \func{fcntl}.  I \textit{file lock} sono implementati in maniera completamente
-indipendente nelle due interfacce,\footnote{in realtà con Linux questo avviene
-  solo dalla serie 2.0 dei kernel.}  che pertanto possono coesistere senza
+indipendente nelle due interfacce (in realtà con Linux questo avviene solo
+dalla serie 2.0 dei kernel) che pertanto possono coesistere senza
 interferenze.
 
 Entrambe le interfacce prevedono la stessa procedura di funzionamento: si
 interferenze.
 
 Entrambe le interfacce prevedono la stessa procedura di funzionamento: si
@@ -151,18 +151,21 @@ La prima interfaccia per il \textit{file locking}, quella derivata da BSD,
 permette di eseguire un blocco solo su un intero file; la funzione usata per
 richiedere e rimuovere un \textit{file lock} è \funcd{flock}, ed il suo
 prototipo è:
 permette di eseguire un blocco solo su un intero file; la funzione usata per
 richiedere e rimuovere un \textit{file lock} è \funcd{flock}, ed il suo
 prototipo è:
-\begin{prototype}{sys/file.h}{int flock(int fd, int operation)}
-  
-  Applica o rimuove un \textit{file lock} sul file \param{fd}.
-  
-  \bodydesc{La funzione restituisce 0 in caso di successo, e -1 in caso di
-    errore, nel qual caso \var{errno} assumerà uno dei valori:
-    \begin{errlist}
+
+\begin{funcproto}{
+\fhead{sys/file.h}
+\fdecl{int flock(int fd, int operation)}
+\fdesc{Applica o rimuove un \textit{file lock}.} 
+}
+
+{La funzione ritorna $0$ in caso di successo e $-1$ per un errore, nel qual
+  caso \var{errno} assumerà uno dei valori: 
+  \begin{errlist}
     \item[\errcode{EWOULDBLOCK}] il file ha già un blocco attivo, e si è
       specificato \const{LOCK\_NB}.
     \item[\errcode{EWOULDBLOCK}] il file ha già un blocco attivo, e si è
       specificato \const{LOCK\_NB}.
-    \end{errlist}
-  }
-\end{prototype}
+  \end{errlist}
+}
+\end{funcproto}
 
 La funzione può essere usata per acquisire o rilasciare un \textit{file lock}
 a seconda di quanto specificato tramite il valore dell'argomento
 
 La funzione può essere usata per acquisire o rilasciare un \textit{file lock}
 a seconda di quanto specificato tramite il valore dell'argomento
@@ -195,7 +198,7 @@ ovviamente non possono essere usati insieme. Se con essi si specifica anche
 \const{LOCK\_NB} la funzione non si bloccherà qualora il \textit{file lock}
 non possa essere acquisito, ma ritornerà subito con un errore di
 \errcode{EWOULDBLOCK}. Per rilasciare un \textit{file lock} si dovrà invece
 \const{LOCK\_NB} la funzione non si bloccherà qualora il \textit{file lock}
 non possa essere acquisito, ma ritornerà subito con un errore di
 \errcode{EWOULDBLOCK}. Per rilasciare un \textit{file lock} si dovrà invece
-usare direttamente const{LOCK\_UN}.
+usare direttamente \const{LOCK\_UN}.
 
 Si tenga presente che non esiste una modalità per eseguire atomicamente un
 cambiamento del tipo di blocco (da \textit{shared lock} a \textit{esclusive
 
 Si tenga presente che non esiste una modalità per eseguire atomicamente un
 cambiamento del tipo di blocco (da \textit{shared lock} a \textit{esclusive
@@ -236,7 +239,7 @@ possono avere due processi diversi che aprono lo stesso file.
 
 \begin{figure}[!htb]
   \centering
 
 \begin{figure}[!htb]
   \centering
-  \includegraphics[width=15.5cm]{img/file_flock}
+  \includegraphics[width=14cm]{img/file_flock}
   \caption{Schema dell'architettura del \textit{file locking}, nel caso
     particolare del suo utilizzo da parte dalla funzione \func{flock}.}
   \label{fig:file_flock_struct}
   \caption{Schema dell'architettura del \textit{file locking}, nel caso
     particolare del suo utilizzo da parte dalla funzione \func{flock}.}
   \label{fig:file_flock_struct}