Утечка файлового дескриптора в nftw (FTW_CHDIR)? - PullRequest
5 голосов
/ 11 февраля 2010

Я использую вызов POSIX nftw() для обхода структуры каталогов. Структура каталогов плоская - всего 4 файла и нет подкаталогов.

Однако когда я много раз вызываю nftw () для этого плоского каталога, через некоторое время я получаю сообщение об ошибке:

"too many open file handles".

Оказалось, что это происходит при использовании флага FTW_CHDIR.

Согласны ли вы с тем, что это ошибка в реализации nftw () в Linux?

UPDATE

Исправление теперь доступно в репозиториях glibc.

вот несколько ссылок на исходный код, который я использовал для тестирования:

UPDATE

  • MacOS-X также поражен ошибкой
  • Solaris9, Solaris10 и AIX 5.3 не не имеют ошибку

Ответы [ 3 ]

6 голосов
/ 11 февраля 2010

Для меня, похоже, что-то не так с реализацией nftw в linux.

Я отправил отчет об ошибке, см. здесь

ОБНОВЛЕНИЕ : Исправление доступно в репозиториях glibc.

0 голосов
/ 12 февраля 2010

Относительно Mac OS: отчет об ошибках, представленный Apple как радар # 7640283. (К сожалению, гиперссылка невозможна.)

0 голосов
/ 11 февраля 2010

Такое же поведение в Mac OS 10.6.2. Так что, вероятно, как-то часть спецификации, хотя я не вижу, как именно.

...