我有两个(POSIX)线程写入这样的日志文件:
pthread_mutex_lock(&log_mutex);
fprintf(LOG, "something...\n");
fsync(fileno(LOG));
pthread_mutex_unlock(&log_mutex);
该文件main()
以fopen()
“a”模式打开。在进程运行时,我看不到文件中出现的任何内容,cat
或者tail
尽管在进程终止并且文件被fclose()
-ed 之后,这些行都在那里。
我究竟做错了什么?