在 Linux 上,假设我对write()
一个文件执行 a to end 操作,虽然这仍在完成,但我从另一个线程对该文件执行统计类型调用(例如fstat()
或lstat()
)。
我预计,st_size
在此期间,统计缓冲区字段将返回之前文件的先前大小write()
,以及文件中已存在的有效数据写入的当前大小。这样,如果我对偏移量为 0 的st_size
文件使用mmap()
,我将获得有效数据;也许还不是所有数据,好吧,但至少,文件以前的所有内容,再加上一些有效的已写入数据。
这有保证吗?