Wie kann überprüft werden, ob ein bestimmter in einer Variablen gespeicherter Dateideskriptor noch gültig ist?

Ich habe ein file-descriptor, gespeichert in einer Variablen sagen, var. Wie kann ich überprüfen, ob dieser Deskriptor gilt zu einem späteren Zeitpunkt?

  fdvar1= open(.....);
  fdvar2 = fdvar1;       //Please ignore the bad design

  ....
  //lots of loops , conditionals and threads. It can call close(fdvar2) also.  
  ....

  if(CheckValid(fdvar1)) //How can I do this check  ?
    write(fdvar1, ....);

Nun möchte ich prüfen, ob var1 (was immer noch hält die geöffnete Deskriptor) ist immer noch gültig.
Alle API ' s ?

Kommentar zu dem Problem
Warum ist die FD kopiert auf C-Ebene statt auf Betriebssystemebene? Kommentarautor: Ignacio Vazquez-Abrams
Finden Sie in der Handbuch-Seite zum dup. Kommentarautor: Some programmer dude
Auch wenn Sie können überprüfen, die Gültigkeit, das Ergebnis ist meist wertlos, denn es ist möglich, dass andere geöffnete Datei erhalten Sie das gleiche descriptor, nachdem das original wurde geschlossen. Kommentarautor: interjay
Diese wird wie erwähnt in TLPI übung 5.4 Recht deutlich. Kommentarautor: Eric Wang

InformationsquelleAutor der Frage Lunar Mushrooms | 2012-09-09

Schreibe einen Kommentar