什么时候写系统调用返回?

时间:2011-12-21 02:37:40

标签: c

如果我在阻塞模式下写入文件/设备,write()调用会在写入Buffered Cache(Kernel Buffer)的所有字节(假设没有信号中断)时返回,或者在写入所有字节时返回文件/设备? (这是我之前的question的扩展)。

1 个答案:

答案 0 :(得分:1)

如果成功,则在将数据写入内核内存后返回writewrite系统调用不保证写入磁盘,您需要fsync。实际上,fsync并不保证这些位实际写入了盘片本身:只是IO操作已经完成。

(当然,您可以使用各种特定于平台的模式和设置来改变此行为。)