Sto usando la chiamata POSIX nftw()
per attraversare una struttura di directory. La struttura della directory è piatta: solo 4 file e nessuna sottodirectory.Perdita del descrittore di file in nftw (FTW_CHDIR)?
Tuttavia quando chiamo nftw() un sacco di volte in questa directory piatto tanto sono un messaggio di errore dopo un po ':
"too many open file handles".
Si è scoperto che questo accade quando si usa il flag FTW_CHDIR
.
Sei d'accordo che si tratta di un bug nell'implementazione Linux di nftw()?
UPDATE
Una correzione è ora disponibile nei repository glibc.
qui sono alcuni link al codice sorgente che ho usato per la prova:
- main.cpp: http://sourceware.org/bugzilla/attachment.cgi?id=4586&action=view
- Makefile: http://sourceware.org/bugzilla/attachment.cgi?id=4587&action=view
UPDATE
- MacOS-X è anche colpito dal bug
- Solaris9, Solaris 10 e AIX 5.3 fare non hanno il bug
wow, che era una soluzione rapida - http://sourceware.org/git/?p=glibc.git;a=commit;h=247fdf2e2b798378d8aeaac1ee6f4ba0a49f31f3 – mark4o
+1 per il bug relazione e il seguito. –