CLOSE(2)            Linux Programmer's Manual            CLOSE(2)

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(2) 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
       additional ENOLINK error condition.

NOTES
       Not checking the return value of close  is  a  common  but
       nevertheless   serious  programming  error.   File  system
       implementations 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)

                          April 14, 1996                        1