可以通过带有fsync(2)的OS中断写入(2)的调用

时间:2014-05-29 16:27:59

标签: system-calls fsync

我有一个循环的write(2),其中包含任意数量的数据+ EOL和一个逐行附加到文件的fsync(2)。

进程崩溃是否会让我有一个文件,其中write(2)调用的一半数据写入文件? 我的理论是,如果操作系统偶尔会调用fsync,那么在调用期间可能会出现一个巧合,写入(2)将文件写入一半的行,而没有结束新行。

1 个答案:

答案 0 :(得分:0)

是。即使没有崩溃,您可能会写一个部分行,因为write调用可能无法写入传递给它的所有数据 - 它可能会返回一个简短的写入。