funkce flock

Honza Pazdziora adelton na fi.muni.cz
Pondělí Říjen 5 19:33:45 MEST 1998


On 5 Oct 1998 07:57:35 +0100, Jan Veleta <jan.veleta na spsselib.hiedu.cz> wrote:
> Muze mi nekdo vysvetlit, jak presne funguje flock?

[...]

> 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.

man flock(2):

     Requesting a lock on an object that is already locked normally causes the
     caller to be blocked until the lock may be acquired.  If LOCK_NB is
     included in operation, then this will not happen; instead the call will
     fail and the error EWOULDBLOCK will be returned.

a vzhledem k tomu, ze flock v Perlu je jen wrapper kolem volani
systemu, chova se stejne.

> 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.

Ano, na to ten flock je.

> Zajimalo by mne, jak dlouho flock ceka (vim, ze kdyz nemuze zamknout,
> tak vrati false)

Pouze, pokud date LOCK_NB, jinak ceka do nejblizsiho rebootu.

-- 
------------------------------------------------------------------------
 Honza Pazdziora | adelton na fi.muni.cz | http://www.fi.muni.cz/~adelton/
                   I can take or leave it if I please
------------------------------------------------------------------------


Další informace o konferenci Perl