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?