Andres Freund: flock() auch beachten

Beitrag lesen

Hi,

Ich schreib mal in dem Thread hier weiter, der andere ist sinnlos.

Haben meine Programme einen Fehler, oder beachtet Perl doch nicht, wenn ich eine Datei geschützt habe? Kann mir da noch einmal jemand helfen? Weiß jemand, wie ich ein Programm dazu bringe, das es beachtet, wenn eine Datei mit flock geschützt wurde?

Doch, aber du musst, wie ich dir auch schon in dem anderen Post gesagt habe, immer einen Lock setzten. Egal in welchem Script. Das heißt, du müsstest in dem Script, das die Daten schreibt auch einen lock setzten. Sinnvollerweise einen exklusiven, da solange du schreibst, nicht gelesen werden darf, da es ja sein kann, dass du während du liest, noch nicht alles geschrieben ist. Während des lesens musst du einen shared lock setzten, damit die datein während des lesens nicht verändert werden darf.
Aber das hättest du alles auch erfahren können, wenn du "perldoc -f lock" zu rate gezogen hättest.

PS: du bindest doch schon fcntl ein, warum benutzt du dann die richtigen Namen (LOCK_SH, LOCK_EX, LOCK_UN) nicht?

Grüße Andres Freund

--
ss:) zu:) ls:} fo:) de:] va:) ch:| n4:& rl:° br:^ js:( ie:% fl:( mo:|