Zamykani souboru

barney barney na kmit.sk
Čtvrtek Květen 11 19:57:15 MEST 2000



Jan Kasprzak wrote:

>         Ani tohle na NFS nefunguje (neni tam zadne open(...,O_CREAT|O_EXCL)).
> Pokud uvazujete zamykani mezi ruznymi systemy pres NFS (a nemate
> lockd/statd), jedine reseni je toto:
> 
>         while(1) {
>                 my $rand = really_random_number();
>                 open(LOCK, ">$dir/.tmp.$rand");
>                 last if link "$dir/.tmp.$rand", "$dir/lockfile";
>                 unlink "$dir/.tmp.$rand");
>                 sleep 2;
>         }
>         unlink "$dir/.tmp.$rand");
>         close LOCK;
> 
>         Je mozne, ze je misto link(2) mozne pouzit i rename(2).
> 
> -Yenya
> 

Nebolo by mozne miesto "really_random_number()" pouzit nieco v tvare
<ip><pid> ?


Další informace o konferenci Perl