Frage

Ich bin mit dem Anruf POSIX nftw() für eine Verzeichnisstruktur durchquert. Die Verzeichnisstruktur ist flach -. Nur 4-Dateien und keine Unterverzeichnisse

Allerdings, wenn ich rufe nftw () eine Menge Zeit auf diesem flachen Verzeichnis dann bekomme ich eine Fehlermeldung nach einer Weile:

"too many open file handles".

Es stellte sich heraus, dass dies geschieht, wenn das Flag FTW_CHDIR verwendet wird.

Würden Sie zustimmen, dass es einen Fehler in der Implementierung Linux ist von nftw ()?

UPDATE

Ein Update ist jetzt verfügbar in den glibc-Repositories.

Hier sind einige Links zum Quellcode ich zum Testen verwendet haben:

UPDATE

  • MacOS-X ist auch Treffer durch den Bug
  • Solaris9, Solaris10 und AIX 5.3 tun nicht hat die Fehler
War es hilfreich?

Lösung

Für mich sieht es aus wie es wirklich mit der nftw Implementierung auf Linux etwas nicht in Ordnung ist.

Ich habe einen Fehlerbericht eingereicht wurde, finden Sie unter hier

UPDATE . Ein Update ist jetzt in den glibc-Repositories verfügbar

Andere Tipps

Es hat das gleiche Verhalten auf Mac OS 10.6.2. So wohl irgendwie einen Teil der Beschreibung, obwohl ich sehe nicht, wie genau.

In Bezug auf Mac OS: bugreport zu Apple als Radar # 7640283 eingereicht. (Kein Hyperlink möglich, leider.)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top