From: Simone Piccardi Date: Tue, 15 Oct 2002 20:18:57 +0000 (+0000) Subject: Tabella delle operazioni di flock X-Git-Url: https://gapil.gnulinux.it/gitweb/?a=commitdiff_plain;h=821f26c01a474d3e79c15855d855683c7b37085e;p=gapil.git Tabella delle operazioni di flock --- diff --git a/fileadv.tex b/fileadv.tex index 2a2d916..7ff5ff7 100644 --- a/fileadv.tex +++ b/fileadv.tex @@ -1252,7 +1252,7 @@ intero file, come accennato essa prototipo è: \begin{prototype}{sys/file.h}{int flock(int fd, int operation)} - Applica o rimuove un blocco sul file \param{fd}. + 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: @@ -1263,8 +1263,37 @@ prototipo } \end{prototype} -Il comportamento della funzione è specificato dal valore di \param{operation}, -che è espresso come maschera binaria, +Il comportamento della funzione è specificato dal valore dell'argomento +\param{operation}, da passare come maschera binaria dei valori riportati in +\tabref{tab:file_flock_operation}. + +\begin{table}[htb] + \centering + \footnotesize + \begin{tabular}[c]{|l|l|} + \hline + \textbf{Valore} & \textbf{Significato} \\ + \hline + \hline + \macro{LOCK\_SH} & Asserisce uno \textit{shared lock} (blocco + condiviso) sul file. Un blocco condiviso può essere + mantenuto da più processi contemporaneamente.\\ + \macro{LOCK\_EX} & Asserisce un \textit{esclusive lock} (blocco + esclusivo) sul file. Un blocco esclusivo può essere + mantenuto da un solo processo alla volta.\\ + \macro{LOCK\_UN} & Sblocca il file.\\ + \macro{LOCK\_NB} & Impedisce che la funzione si blocchi nella + richiesta di un \textit{file lock}.\\ + \hline + \end{tabular} + \caption{Valori dell'argomento \param{operation} di \func{flock}.} + \label{tab:file_flock_operation} +\end{table} + + +Si tenga conto che la funzione non è in grado di eseguire un blocco su NFS, in +tal caso occorre usare \func{fcntl} che funziona anche attraverso NFS, posto +che il server supporti il \textit{file locking}.