Tengo un descriptor de archivo almacenado en una variable, por ejemplo var. ¿Cómo puedo verificar si ese descriptor es válido en una etapa posterior?¿Cómo verificar si un descriptor de archivo dado almacenado en una variable sigue siendo válido?
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, ....);
Ahora quiero comprobar si var1 (que aún conserva el descriptor abierto) sigue siendo válido. ¿Alguna API para eso?
¿Por qué la FD copiado en el nivel C en lugar de a nivel de sistema operativo? –
Consulte la página del manual para ['dup'] (http://linux.die.net/man/2/dup). –
Incluso si puede verificar la validez, el resultado es prácticamente inútil, porque es posible que otro archivo abierto reciba el mismo descriptor después de que se cerró el original. – interjay