次のようなログ ファイルに書き込む 2 つの (POSIX) スレッドがあります。
pthread_mutex_lock(&log_mutex);
fprintf(LOG, "something...\n");
fsync(fileno(LOG));
pthread_mutex_unlock(&log_mutex);
ファイルはモード "a" でmain()
開かれます。プロセスが実行されている間、またはプロセスが終了してファイルが-ed になった後fopen()
でも、ファイルに何も表示されませんが、行はすべてそこにあります。cat
tail
fclose()
私は何を間違っていますか?