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