I have two (POSIX) threads that write to a log file like this:
pthread_mutex_lock(&log_mutex);
fprintf(LOG, "something...\n");
fsync(fileno(LOG));
pthread_mutex_unlock(&log_mutex);
The file is opened in main() with fopen() with mode "a". While the process is running I can't see anything appearing in the file with cat or tail although after the process is terminated and the file is fclose()-ed, the lines are all there.
What am I doing wrong?