Den höchsten zugewiesenen Dateideskriptor erhalten

Gibt es eine portable Art und Weise (POSIX), um den höchsten zugewiesenen Datei-Deskriptor-Nummer für den aktuellen Prozess?

Ich weiß, dass es ein netter Weg, um die Anzahl auf AIX, zum Beispiel, aber ich bin auf der Suche nach einem tragbaren Methode.

Den Grund ich Frage ist, dass ich möchte, um zu schließen Sie alle geöffneten Datei-Deskriptoren. Mein Programm ist ein server, der als root läuft und die Gabeln und die execs Kind-Programme für nicht-root-Benutzer. Verlassen der privilegierten Dateideskriptoren geöffnet in der Kind-Prozess ist ein Sicherheits-problem. Einige Dateideskriptoren geöffnet werden kann durch den code, den ich nicht kontrollieren kann (die C-Bibliothek, Bibliotheken von Drittanbietern, etc.), so kann ich nicht verlassen sich auf FD_CLOEXEC.

InformationsquelleAutor der Frage Ville Laurikari | 2009-05-22

Schreibe einen Kommentar