X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=ipc.tex;h=09ff74b333fdba0fa749f6e27d1bd350a9ae9ef7;hp=977f9f009beac97df2e29d5fdd1a8724472dc601;hb=5eaf11a5e3e4daaee677554b68f4ba3c92c67b84;hpb=9b0f636834e8d92e87131bbb99d7d846bab1421a diff --git a/ipc.tex b/ipc.tex index 977f9f0..09ff74b 100644 --- a/ipc.tex +++ b/ipc.tex @@ -3026,12 +3026,13 @@ caratteristica della funzione \func{open} (illustrata in \secref{sec:file_open}) che prevede\footnote{questo è quanto dettato dallo standard POSIX.1, ciò non toglie che in alcune implementazioni questa tecnica possa non funzionare; in particolare per Linux, nel caso di NFS, si - è comunque soggetti alla possibilità di una race condition.} che essa -ritorni un errore quando usata con i flag di \const{O\_CREAT} e -\const{O\_EXCL}. In tal modo la creazione di un \textsl{file di lock} può -essere eseguita atomicamente, il processo che crea il file con successo si può -considerare come titolare del lock (e della risorsa ad esso associata) mentre -il rilascio si può eseguire con una chiamata ad \func{unlink}. + è comunque soggetti alla possibilità di una race + condition\index{race condition}.} che essa ritorni un errore quando usata +con i flag di \const{O\_CREAT} e \const{O\_EXCL}. In tal modo la creazione di +un \textsl{file di lock} può essere eseguita atomicamente, il processo che +crea il file con successo si può considerare come titolare del lock (e della +risorsa ad esso associata) mentre il rilascio si può eseguire con una chiamata +ad \func{unlink}. Un esempio dell'uso di questa funzione è mostrato dalle funzioni \func{LockFile} ed \func{UnlockFile} riportate in \figref{fig:ipc_file_lock}