CLOSE(2)           Manuel du programmeur Linux           CLOSE(2)


NOM
       close - Fermer un descripteur de fichier.

SYNOPSIS
       #include <unistd.h>

       int close(int fd);

DESCRIPTION
       close  ferme  le  descripteur fd, de manière à ce qu'il ne
       référence plus aucun fichier, et puisse être réutilisé.

       Si fd est la dernière copie d'un  descripteur  de  fichier
       donné,   les   ressources  qui  lui  sont  associées  sont
       libérées. Par exemple tous  les  verrouillages  sont  sup­
       primés  et  si  le descripteur etait la dernière référence
       sur un fichier supprimé avec  unlink(2),  le  fichier  est
       effectivement effacé.

VALEUR RENVOYÉE
       close renvoie 0 s'il réussit, ou -1 en cas d'échec, auquel
       cas errno contient le code d'erreur.

ERREURS
       EBADF  Le descripteur de fichier fd est invalide

CONFORMITÉ
       SVr4, SVID, POSIX, X/OPEN, BSD  4.3.  SVr4  documente  une
       condition d'erreur supplémentaire ENOLINK.

NOTES
       Ne  pas vérifier la valeur de retour de close est une pra­
       tique courante mais également une grave erreur de program­
       mation.  Les systèmes de fichiers utilisant des techniques
       d'écriture différée pour augmenter les  performances  peu­
       vent  conduire à des situations où write(2) semble reussir
       bien que les données n'aient  pas  encore  été  réellement
       écrites.

       Une  erreur se produisant lors de l'écriture physique peut
       être éventuellement rapportée lors d'un  write  ultérieur,
       mais est surtout garantie lors de la fermeture du fichier.

       Ne pas vérifier la valeur de retour lorsque l'on ferme  un
       fichier  peut conduire à une perte silencieuse de données.
       Ceci est principalement vrai dans le cas  de  systèmes  de
       fichiers NFS, ou avec l'utilisation des quotas de disques.

VOIR AUSSI
       open(2), fcntl(2), shutdown(2), unlink(2), fclose(3).


TRADUCTION
       Christophe Blaess, 1997.



Linux                       5 Mai 1999                          1