【发布时间】:2015-10-16 03:51:31
【问题描述】:
这样的代码在 linux 上是否安全,因为 1) 它不会崩溃并且无法读取 free()ed 内存,以及 2) freopen()ed 文件与 fclose()ed 文件共享相同的锁定计数?
线程 1:
flockfile(file);
freopen("name", a", file);
funlockfile(file);
线程2:
flockfile(file);
fputs("stuff", file);
funlockfile(file);
【问题讨论】:
-
我无法给出答案,但我会在遇到的任何代码审查中质疑它。如果它是安全的,我希望在那里发表评论,将我引导到说它是安全的来源。
-
@John3136 还是谢谢
-
为什么还需要 fclose 调用呢?
标签: c linux thread-safety