由 boost::filesystem::create_directories() 创建的目录无法立即访问?
我正在使用 boost::filesystem::create_directories()< /code>
创建新目录。当我在创建后不久尝试访问这些目录时,收到一条错误消息:没有这样的目录。但是,如果我在创建目录后睡一会儿,一切都很好(我没有收到错误)。另外,我在创建目录后尝试使用
fsync()
和 sync()
但没有什么区别。我正在 ext4 和 xfs 文件系统上测试它,我的 boost 版本是 boost 1.44
我的问题是
boost::create_directories()
是否立即创建目录?或者有可能那里出了什么问题吗?- 另外,sync() 和 fsync() 是否能保证将所有内容刷新到 ext4/xfs 上的光盘上?
I am using boost::filesystem::create_directories()
to create new directories. When I try to access these directories shortly after creation, I get an error saying: no such directory. But if I sleep for a while after creating directories everything is fine (I do not get the error). Also, I tried using fsync()
and sync()
after creating directories but it made no difference. I am testing it on ext4 and xfs file systems and my boost version is boost 1.44
My questions are
- Does
boost::create_directories()
create directories instantly? Or is it possible that something is wrong there? - Also, are
sync()
andfsync()
guaranteed to flush everything to disc on ext4/xfs?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论