Thread Counter zählt nicht. (19 answers)
Opened by cbxk1xg at 2009-11-18 11:59

pq
 2009-11-18 12:28
#128276 #128276
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
2009-11-18T11:19:28 GwenDragon
Selbst mit flock kann es passieren, dass in der kurzen Zeit zwischen open und flock der zweite Prozess zugreift.
Deswegen ist bei sowas sysopen sinnvoller.

na und? wo ist das problem? das hat schon immer funktioniert.
man stelle zuerst sicher, dass die datei von anfang an existiert, damit man mit "+<" öffnen kann.
prozess 1 macht das open (mit "+<").
prozess 2 macht das open.
prozess 1 macht flock.
prozess 2 macht flock und muss warten.
prozess 1 macht seine operationen und schliesst die datei.
prozess 2 kommt dran und macht seine operationen.

wo ist jetzt das problem?


edit: im übrigen wird auch sysopen nichts helfen, wenn man zweimal die datei öffnet, einmal zum lesen und einmal zum schreiben.
das wichtigste ist, dass in ein einziges open zu verlagern.
Last edited: 2009-11-18 12:46:29 +0100 (CET)
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

View full thread Counter zählt nicht.