Angenommen, ich öffne eine Datei mit open()
. Dann habe ich fork()
mein Programm.Sind Dateibeschreibungen bei fork() ing geteilt?
Haben Vater und Kind jetzt den gleichen Offset für den Dateideskriptor?
Ich meine, wenn ich in meinem Vater schreibe, wird der Offset in Kind auch geändert?
Oder werden die Offsets nach der fork()
unabhängig sein?
Ist dies nicht abhängen, wo die Datei geöffnet wurde? Dies bedeutet, dass der Aufruf von open (Dateiname, int ..) nach der Verzweigung oder davor erfolgt. – ArmenB
@Armen: Ja, ja, tut es. –
Die seltsame Sache ist, wenn die Datei open-Anweisung nach dem fork gemacht wird, dann haben Sie zwei verschiedene Dateideskriptoren. Aber wenn ich versuche, die Datei mit fcntl zu sperren, wird es nicht funktionieren. Sowohl das Kind als auch die Eltern ignorieren die Sperre – ArmenB