文件附加竞争条件(单线程!)

时间:2018-02-17 22:15:09

标签: linux file append race-condition

我的程序执行类似的操作:

  • 打开文件(追加模式)
  • 写一些东西
  • 关闭 [重复]

文件在大多数情况下是不同的,但在某些情况下(实际上并不罕见)会重复(连续或非常接近的迭代)。 有没有机会内核可以玩我的技巧并打开文件而不是指向文件的末尾?假设写入尚未完成(在内核中某处缓冲)并再次打开文件使fd指向一个不是文件真正结尾的位置。这将导致重叠写入。 正如我所说,我的程序是单线程的,我认为没有理由为什么会发生这种情况,但我不完全理解内核的保证。

谢谢!

0 个答案:

没有答案