CLOSE
Section: Manuel du programmeur Linux (2) Updated: 18 juillet 2003 Index
NOM
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
ERREURS
CONFORMITÉ
NOTES
VOIR AUSSI
TRADUCTION
NOM
close - Fermer un descripteur de fichier.
SYNOPSIS
DESCRIPTION
close
ferme le descripteur
fd,
de manière à ce qu'il ne référence plus
aucun fichier, et puisse être réutilisé. Tous les verrouillages sur le
fichier qui lui était associé, appartenant au processus, sont supprimés
(quelque soit le descripteur qui fut utilisé pour obtenir le verrouillage).
Si
fd
est la dernière copie d'un descripteur de fichier donné, les ressources
qui lui sont associées sont libérées.
Si le descripteur était 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
- EINTR
-
L'appel-système
close()
a été interrompu par un signal.
- EIO
-
Une erreur d'entrée-sortie s'est produit.
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 pratique courante
mais également une grave erreur de programmation. Il est possible qu'une erreur
correspondant à un appel
write(2)
antérieur ne soit rapportée que lors du
close
final.
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.
Une fermeture sans erreur ne garantit pas que les données on été vraiment écrites sur le disque, car le noyau
repousse les écritures le plus tard possible. Il n'est pas fréquent qu'un système de fichiers vide les buffers
dès la fermeture d'un flux. Si vous désirez vous assurer que les informations sont en sûreté sur le disque,
utilisez
fsync(2)
(mais des considérations matérielles entrent en jeu à ce moment).
VOIR AUSSI
TRADUCTION
Christophe Blaess, 1996-2003.
|