CLOSE(2)

NOM
close - Fermer un descripteur de fichier.

SYNOPSIS
#include <unistd.h>

int close(int fd);

DESCRIPTION
close ferme le descripteur fd, de maniere a ce qu'il ne reference plus aucun fichier, et puisse etre reutilise.

Si fd est la derniere copie d'un descripteur de fichier donne, les ressources qui lui sont associees sont liberees. Par exemple tous les verrouillages sont supprimes et si le descripteur etait la derniere reference sur un fichier supprime avec unlink, le fichier est effectivement efface.

VALEUR RENVOYEE
close renvoie 0 s'il reussit, ou -1 en cas d'echec, auquel cas errno contient le code d'erreur.

ERREURS

EBADF
    Le descripteur de fichier fd est invalide

CONFORMITE
SVr4, SVID, POSIX, X/OPEN, BSD 4.3. SVr4 documente une condition d'erreur supplementaire ENOLINK.

NOTES
Ne pas verifier la valeur de retour de close est une pratique courante mais egalement une grave erreur de programmation. Les systemes de fichiers utilisant des techniques d'ecriture differee pour augmenter les performances peuvent conduire a des situations ou write(2) semble reussir bien que les donnees n'aient pas encore ete reellement ecrites. Une erreur se produisant lors de l'ecriture physique peut etre eventuellement rapportee lors d'un write ulterieur, mais est surtout garantie lors de la fermeture du fichier. Ne pas verifier la valeur de retour lorsque l'on ferme un fichier peut conduire a une perte silencieuse de donnees. Ceci est principalement vrai dans le cas de systemes de fichiers NFS, ou avec l'utilisation des quotas de disques.

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