Provided by: manpages-es_1.55-10_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)