Struppi: time() unterschlägt eine Ziffer?

Beitrag lesen

Heute war die Flatfile nur noch eine ganze Zeile lang, irgendwas funktioniert mit meinem File-Locking oder im restlichen Code anscheinend nicht richtig... Sieht so aus, als wäre der else-Zweig ausgeführt worden, obwohl die Datei existiert.

Oh, damit hatte ich auch schon zu kämpfen.

Was bei deinem Code auffällt, ist, dass du die Datei zwar lockst, aber dann wieder schliesst. Ein fundamentaler Fehler, da zwischen close und open ein anderer Prozess zugreifen kann.

Im Prinzip kann das auch zwischen open und flock passieren (und ist mir auch passiert), was aber wesentlich unwahrscheinlicher ist. Ein zuverlässiger Filelock ist sau schwierig.

Struppi.