X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=ipc.tex;h=ce4842e602ec37500c52304567dc7bc919a4b483;hp=0409edda7d80a3e657048bc702bae4859175eb1c;hb=4263734ffe237b1a7249c1f8121bb7ebe8b60a50;hpb=d34e0d693aad24483caafaf540b162323dd0ba21 diff --git a/ipc.tex b/ipc.tex index 0409edd..ce4842e 100644 --- a/ipc.tex +++ b/ipc.tex @@ -2945,9 +2945,9 @@ necessit alternativi. La prima possibilità, utilizzata fin dalle origini di Unix, è quella di usare -dei \textsl{file di lock} (per i quali esiste anche una opportuna directory, -\file{/var/lock}, nel filesystem standard). Per questo si usa la -caratteristica della funzione \func{open} (illustrata in +dei \textsl{file di lock}\index{file di lock} (per i quali esiste anche una +opportuna directory, \file{/var/lock}, nel filesystem standard). Per questo si +usa la 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 @@ -2961,12 +2961,11 @@ il rilascio si pu questa tecnica può non funzionare se il filesystem su cui si va ad operare è su NFS; in tal caso si può adottare una tecnica alternativa che prevede l'uso di \func{link} per creare come file di lock un hard link ad un file - esistente; se il link esiste già e la funzione fallisce, la risorsa - significa che la risorsa è bloccata e potrà essere sbloccata solo con un - \func{unlink}, altrimenti il link è creato ed il lock acquisito; il - controllo e l'eventuale acquisizione sono atomici; il difetto di questa - soluzione è che funziona solo se si opera all'interno di uno stesso - filesystem.} + esistente; se il link esiste già e la funzione fallisce, significa che la + risorsa è bloccata e potrà essere sbloccata solo con un \func{unlink}, + altrimenti il link è creato ed il lock acquisito; il controllo e l'eventuale + acquisizione sono atomici; il difetto di questa soluzione è che funziona + solo se si opera all'interno di uno stesso filesystem.} L'uso di un file di lock presenta però parecchi problemi, che non lo rendono una alternativa praticabile per la sincronizzazione:\footnote{ma può essere