funkce flock
Jan Veleta
jan.veleta na spsselib.hiedu.cz
Pondělí Říjen 5 08:56:53 MEST 1998
Muze mi nekdo vysvetlit, jak presne funguje flock?
mam napr. nasledujici usek kodu:
#!/usr/bin/perl
(open OUTFILE, '+<input.txt') or die"nejde otevrit input.txt\n";
$dat=`date`;
flock OUTFILE, 2; #exclusive lock
seek OUTFILE, 0, 2; #skoc na konec
print OUTFILE "nejaky text\n";
seek OUTFILE, 0, 0; # zacatek
print OUTFILE "posledni zmena: $dat\n";
flock OUTFILE, 8; #unlock
close OUTFILE
a neni mi jasne, jestli kdyz je soubor uzamcen, tak jestli
druhy proces, ktery do nej zapisuje pri "flock OUTFILE, 2;" ceka, jestli
nedojde k uvolneni a za chvili to skusi znovu nebo neco jineho.
Mam vyzkouseno, ze kdyz kod zacyklim od jednoho flocku ke druhemu, takze soubor
je vlastne skoro porad zamceny a pokusim se obdobnym skriptem do nej zapsat,
tak se vse provede korektne.
Zajimalo by mne, jak dlouho flock ceka (vim, ze kdyz nemuze zamknout,
tak vrati false)
Honza
Další informace o konferenci Perl