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'ON

       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 que  descriptor  de  fichero  fue
       utilizado para obtener el bloqueo).

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

VALOR DEVUELTO

       close devuelve 0 en caso de exito y -1 si ocurre algun error.

ERRORES

       EBADF  fd no es un descriptor de fichero abierto valido.

       EINTR  La llamada close() fue interrumpida por una senal.

       EIO    Ocurrio un error de E/S.

CONFORME A

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

NOTA

       El no comprobar el valor devuelto por close es un error de programacion
       comun y no obstante serio. Es bastante posible que los errores  de  una
       operacion write(2) previa sean informados por primera vez con la ultima
       llamada close.

       Una llamada a close con exito no garantiza que  los  datos  hayan  sido
       guardados a disco con exito, ya que el nucleo 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
       fisicamente almacenados use fsync(2).  (Esto dependera del hardware  de
       disco.)   No  comprobar  el  valor devuelto cuando se cierra un fichero
       puede dar lugar a una perdida silenciosa de  datos.   Esto  se  observa
       especialmente en NFS y con las cuotas de discos.

V'EASE TAMBI'EN

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