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

pq
 2009-11-18 12:13
#128269 #128269
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
vorbildlich, dass du taint, strict und warnings benutzt.
aber das nützt dir nix, wenn du die datei zweimal öffnest, und beim zweiten mal auch noch mit ">".
stell dir vor, prozess 1 ist gerade dabei, den counter zu lesen, auszugeben und dann die datei zu öffnen. d.h. er ist jetzt direkt nach dem open mit ">". in dem augenblick ist die datei leer.

nun kommt just der 2. prozess und öffnet die datei zum lesen, und liest eine leere datei, daraus wird dann bei der behandlung als zahl eine 0. so hast du den counter mal eben auf 0 zurückgesetzt. (bevor einwände kommen, dass das doch sehr unwahrscheinlich ist - es passiert, und die wahrscheinlichkeit steigt natürlich mit der anzahl der zugriffe).

aber zum glück bist du nicht der erste, der einen counter schreibt, deswegen gibt es schon ewig diese FAQ dazu:
http://perldoc.perl.org/perlfaq5.html#I-still-don'...
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.