ファイルへの同時アクセスを備えた Linux ANSI C cgi-bin サーバー プログラムを作成しています。
ファイルの存在とファイルのロックを区別することは可能ですか? Google で答えを見つけることができません。fd<0 の場合 (ファイルがしばらくロックされていると考えて)、数秒間ファイルを開こうとするプログラムを書きたいと思います。ただし、ファイルが存在しない場合は、fd も <0 です。そのため、プログラムは待ち時間を無駄にします。
いくつかのスレッドがロックなしで同じファイルに追加しようとしたとします。1つは「AAAA」を追加しようとし、もう1つは「BBBB」を追加しようとします。結果ファイルが「AABBAABB」のようになることはありますか? それとも、常に AAAABBBB や BBBBAAAA のようになりますか? それとも結果は予測不可能ですか?