由 boost::filesystem::create_directories() 创建的目录无法立即访问?

发布于 2024-11-30 04:17:06 字数 544 浏览 1 评论 0原文

我正在使用 boost::filesystem::create_directories()< /code>创建新目录。当我在创建后不久尝试访问这些目录时,收到一条错误消息:没有这样的目录。但是,如果我在创建目录后睡一会儿,一切都很好(我没有收到错误)。另外,我在创建目录后尝试使用 fsync()sync() 但没有什么区别。我正在 ext4 和 xfs 文件系统上测试它,我的 boost 版本是 boost 1.44

我的问题是

  1. boost::create_directories() 是否立即创建目录?或者有可能那里出了什么问题吗?
  2. 另外,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

  1. Does boost::create_directories() create directories instantly? Or is it possible that something is wrong there?
  2. Also, are sync() and fsync() guaranteed to flush everything to disc on ext4/xfs?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文