Hallo!
Mir ist eine kleine Probelmatik aufgefallen, wenn man Files komplett in ein Array einliest und dann dieses bearbeitete Array wieder in das File schreibt. Wenn nämlich die Zeit während des File aulesens und schreibens etwas länger dauert und inzwischen jemand das gleiche File ausliest, dann werden die Informationen von dem User der vorher in die Datei schreibt von dem, der die Informationen danach schreibt überschrieben.

Wie löst man dieses Problem, welche Lösungen gibt es...

1)
Die mir bekannten Lösungen sind, ein File names "gesperrt" öffnen vor dem auslesen und nach dem schreiben wieder löschen. Jeder weiter User der auf das File zugreifen will betritt diese Schleife.....
while (-e "gesperrt") {....}

2)
flock benutzen und das File sperren. Da habe ich noch eine Frage zu flock. Was passiert wenn ich das File auf nur ein User begrenze und ein anderer User so ein begrenztes File öffenen will. Wird er aus dem Programm geworfen, oder verweilt das Programm an der stellt, wo er das File öffnen will bis es wieder freigegeben wird.


Ich habe ein Unix-System und wollte mal wissen, ob es dort noch andere Möglichkeiten gibt. Wie sieht das mit dem File-sharing unter Unix generell aus.

Vielen Dank!!!