Provided by: manpages-es_1.55-8_all bug

NOMBRE

       close - cierra un descriptor de fichero

SINOPSIS

       #include <unistd.h>

       int close(int fd);

DESCRIPCIÓN

       close  cierra  un descriptor de fichero de forma que ya no se refiera a
       fichero  alguno  y  pueda  ser   reutilizado.   Cualesquiera   bloqueos
       mantenidos sobre el fichero con el que estaba asociado, y propiedad del
       proceso, son eliminados (sin importar qué  descriptor  de  fichero  fue
       utilizado para obtener el bloqueo).

       Si  fd es la última copia de cierto descriptor de fichero, los recursos
       asociados con dicho descriptor son liberados; si el descriptor fuera la
       última  referencia  a  un  fichero  que  haya  sido  eliminada mediante
       unlink(2) entonces el fichero es borrado.

VALOR DEVUELTO

       close devuelve 0 en caso de éxito y -1 si ocurre algún error.

ERRORES

       EBADF  fd no es un descriptor de fichero abierto válido.

       EINTR  La llamada close() fue interrumpida por una señal.

       EIO    Ocurrió un error de E/S.

CONFORME A

       SVID, AT&T, POSIX, X/OPEN, BSD 4.3.  SVr4 documenta  una  condición  de
       error ENOLINK adicional.

NOTA

       El no comprobar el valor devuelto por close es un error de programación
       común y no obstante serio. Es bastante posible que los errores  de  una
       operación write(2) previa sean informados por primera vez con la última
       llamada close.

       Una llamada a close con éxito no garantiza que  los  datos  hayan  sido
       guardados a disco con éxito, ya que el núcleo aplaza las escrituras. No
       es habitual en un sistema de ficheros  vaciar  los  buffers  cuando  se
       cierra  el flujo de datos. Si necesita asegurarse de que los datos sean
       físicamente almacenados use fsync(2).  (Ésto dependerá del hardware  de
       disco.)   No  comprobar  el  valor devuelto cuando se cierra un fichero
       puede dar lugar a una pérdida silenciosa de  datos.   Esto  se  observa
       especialmente en NFS y con las cuotas de discos.

VÉASE TAMBIÉN

       open(2), fcntl(2), shutdown(2), unlink(2), fclose(3), fsync(2)