5

nftw()ディレクトリ構造をトラバースするために POSIX 呼び出しを使用しています。ディレクトリ構造はフラットで、4 つのファイルのみで、サブディレクトリはありません。

ただし、このフラット ディレクトリで nftw() を何度も呼び出すと、しばらくするとエラー メッセージが表示されます。

"too many open file handles".

これは、フラグを使用すると発生することが判明しましたFTW_CHDIR

nftw() の Linux 実装のバグであることに同意しますか?

アップデート

修正が glibc リポジトリで利用できるようになりました。

テストに使用したソースコードへのリンクを次に示します。

アップデート

  • MacOS-Xバグに見舞われる
  • Solaris9、Solaris10、AIX 5.3 にはこのバグはありませ
4

3 に答える 3

6

nftw私にとっては、Linux での実装に実際に何か問題があるようです。

バグレポートを提出しました。こちらを参照してください

更新: 現在、glibc リポジトリで修正を利用できます。

于 2010-02-10T22:36:56.447 に答える
0

MacOS10.6.2でも同じ動作をします。正確にはわかりませんが、おそらく仕様の一部です。

于 2010-02-10T22:39:27.723 に答える
0

Mac OS について: バグレポートはレーダー #7640283 として Apple に提出されました。(残念ながら、ハイパーリンクはできません。)

于 2010-02-11T23:35:08.310 に答える