我有一个 write(2) 循环,其中包含任意数量的数据 + EOL 和一个 fsync(2) 逐行附加到文件中。
进程崩溃能否让我留下一个文件,该文件将 write(2) 调用中的一半数据写入文件?我的理论是,如果操作系统偶尔调用 fsync,那么在调用 write(2) 时可能会发生巧合,使文件只写了一半的行,而没有结束新行。
我有一个 write(2) 循环,其中包含任意数量的数据 + EOL 和一个 fsync(2) 逐行附加到文件中。
进程崩溃能否让我留下一个文件,该文件将 write(2) 调用中的一半数据写入文件?我的理论是,如果操作系统偶尔调用 fsync,那么在调用 write(2) 时可能会发生巧合,使文件只写了一半的行,而没有结束新行。