Schrift
[thread]7787[/thread]

flock früher?



<< >> 3 Einträge, 1 Seite
Gast Gast
 2006-03-13 16:15
#63754 #63754
Hallo,

ein Problem habe ich momentan eigentlich nicht, möchte aber schonmal vorsorgen. Derzeit öffne ich Dateien sowohl zum Schreiben als auch zum Lesen per open und anschließendem flock.

Seit einiger Zeit denke ich mir dabei schon, dass es doch theoretisch möglich sein müsste, dass ein anderer Prozess genau zwischen dem open und dem flock auf eine Datei zugreift und z.B. Änderungen darin vornimmt. Angenommen dieser andere Prozess schreibt nun neue Inhalte in die Datei, dann erfahre ich davon - das open ist ja schon lang vorbei - doch überhaupt nichts mehr. Danach kommt mein flock und ich schreibe brav meine Daten in die Datei ohne auch nur mitzubekommen, dass ich damit neuere Daten komplett übersehe.

Daher meine Frage: Hab ich mit der Vermutung, dass dies theoretisch so möglich ist (auch wenn praktisch vielleicht eher unwahrscheinlich) recht und wenn ja, kann man was dagegen tun? Wenn man das kann, dann wie?

Dank schonmal,
Pete
renee
 2006-03-13 17:17
#63755 #63755
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
pq
 2006-03-13 18:50
#63756 #63756
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
das open() öffnet die datei. readline (bzw. <>) liest aus der datei.
dazwischen kommt das flock.
das einzige, was dir probleme machen kann, ist die position des filehandles.
also am besten vor dem schreiben ein seek FH, 0, SEEK_END
machen, wenn du ans ende anhängen willst.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
<< >> 3 Einträge, 1 Seite



View all threads created 2006-03-13 16:15.