Zamykani souboru
Milan Sorm
xsorm na informatics.muni.cz
Středa Duben 19 12:32:30 MEST 2000
Wed, Apr 19, 2000 ve 09:50:29AM +0200 Jan Kasprzak napsal:
# Milan Sorm wrote:
# : Fri, Apr 14, 2000 ve 10:40:30AM +0200 Jiri Solc napsal:
# : #
# : # Pokud je mi znamo zamkly ho nema. Ne ze bych neduveroval flock(), ale
# : # pokud pisu neco pro ruzne systemy mam obavu ho pouzivat a tak delam
# : # nestandartni postupy (ale ucinne) se zamykacimi soubory.
# :
# : A hlavne se flock() neda pouzit na NFS - to by mohl byt pro tebe, jarku,
# : problem. Res to vytvorenim souboru $filename.lock a naslednym smazanim a
# : prislusnymi testy.
#
# 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).
muzes k tomu nejak osvetlit, proc takto ? ja to nejak nemuzu pochopit...
--milan
Další informace o konferenci Perl