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)

Linux                                           13 Diciembre 2001                                       CLOSE(2)