Estoy usando la llamada POSIX nftw()
para atravesar una estructura de directorio. La estructura del directorio es plana: solo 4 archivos y sin subdirectorios.Fugas de descriptor de archivo en nftw (FTW_CHDIR)?
Sin embargo cuando llamo nftw() muchas veces en este directorio plano en cuando me siento un mensaje de error después de un tiempo:
"too many open file handles".
Resultó que esto sucede cuando se utiliza la bandera FTW_CHDIR
.
¿Estaría de acuerdo en que es un error en la implementación de Linux de nftw()?
ACTUALIZACIÓN
Una corrección está ahora disponible en los repositorios de glibc.
aquí hay algunos enlaces a código fuente que he utilizado para la prueba:
- main.cpp: http://sourceware.org/bugzilla/attachment.cgi?id=4586&action=view
- Makefile: http://sourceware.org/bugzilla/attachment.cgi?id=4587&action=view
ACTUALIZACIÓN
- MacOS-X es también golpeado por el insecto
- solaris9, Solaris 10 y AIX 5.3 hacer no tienen el insecto
wow, que era una solución rápida - http://sourceware.org/git/?p=glibc.git;a=commit;h=247fdf2e2b798378d8aeaac1ee6f4ba0a49f31f3 – mark4o
1 para enviar el fallo informe y el seguimiento. –