【发布时间】:2011-01-15 11:18:45
【问题描述】:
我正在使用 POSIX 调用 nftw() 来遍历目录结构。目录结构是扁平的——只有 4 个文件,没有子目录。
但是,当我在这个平面目录上多次调用 nftw() 时,我会在一段时间后收到一条错误消息:
"too many open file handles".
事实证明,当使用标志 FTW_CHDIR 时会发生这种情况。
您是否同意这是 nftw() 的 Linux 实现中的一个错误?
更新
现在 glibc 存储库中提供了一个修复程序。
以下是我用于测试的源代码的一些链接:
- main.cpp:http://sourceware.org/bugzilla/attachment.cgi?id=4586&action=view
- 生成文件:http://sourceware.org/bugzilla/attachment.cgi?id=4587&action=view
更新
- MacOS-X 也受到该错误的影响
- Solaris9、Solaris10 和 AIX 5.3 确实没有有错误
【问题讨论】: