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