Утечка дескриптора файла в nftw (FTW_CHDIR)?

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

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

"too many open file handles".

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

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

ОБНОВЛЕНИЕ

Фиксация теперь доступна в glibc репозиториях.

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

ОБНОВЛЕНИЕ

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

5
задан 10 March 2010 в 20:43
поделиться

3 ответа

Мне кажется, что с реализацией nftw в Linux действительно что-то не так.

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

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

6
ответ дан 14 December 2019 в 13:35
поделиться

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

0
ответ дан 14 December 2019 в 13:35
поделиться

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

0
ответ дан 14 December 2019 в 13:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: