NAME
close - close a file descriptor
SYNOPSIS
#include <unistd.h>
int close(int fd));
DESCRIPTION
close closes a file descriptor, so that it no longer refers
to any file and may be reused. Any locks held on the file it
was associated with, and owned by the process, are removed
(regardless of the file descriptor that was used to obtain
the lock).
If fd is the last copy of a particular file descriptor the
resources associated with it are freed; if the descriptor
was the last reference to a file which has been removed
using unlink the file is deleted.
RETURN VALUE
close returns zero on success, or -1 if an error occurred.
ERRORS
EBADF
fd isn't a valid open file descriptor.
CONFORMING TO
SVr4, SVID, POSIX, X/OPEN, BSD 4.3. SVr4 documents an addi-
tional ENOLINK error condition.
NOTES
Not checking the return value of close is a common but
nevertheless serious programming error. File system imple-
mentations which use techniques as ``write-behind'' to
increase performance may lead to write(2) succeeding,
although the data has not been written yet. The error
status may be reported at a later write operation, but it is
guaranteed to be reported on closing the file. Not checking
the return value when closing the file may lead to silent
loss of data. This can especially be observed with NFS and
disk quotas.
SEE ALSO
open(2), fcntl(2), shutdown(2), unlink(2), fclose(3).