Jonas: Probleme mit gleichzeitigem Dateizugriff

Beitrag lesen

Hallo

Erstmals danke für alle Inputs!

@Struppi:

Hmm.... du hast recht. Du meinst, dass ich die Datei während des $tmp[0]++ offen lasse und erst dann schliesse? Dann würde der flock "erhalten bleiben" bis alle Operationen an dem File beendet sind, oder?

Gruss

Jonas

Dein Problem liegt zwischen hier:

fclose(FILE);

$tmp[0]++;

#write counter.dat file back

und hier:

fopen(FILE, ">counter.dat");

in dieser Zeit ist die Datei geschlossen und kann von einem anderen Prozess erneut geöffnet werden.

Du musst die Datei zum lesen und schreiben öffnen, dann Wert lesen, Wert erneuern, Wert schreiben (du musst dann aber den Dateizeiger mit seek neu setzen) und dann erst schliessen.

Struppi.