CLOSE(2)                                                              CLOSE(2)


NAME
       close - delete a descriptor

SYNOPSIS
       close(d)
       int d;

DESCRIPTION
       The  close call deletes a descriptor from the per-process object refer‐
       ence table.  If this is the last reference to  the  underlying  object,
       then  it will be deactivated.  For example, on the last close of a file
       the current seek pointer associated with the file is lost; on the  last
       close  of a socket(2) associated naming information and queued data are
       discarded; on the last close of a file holding  an  advisory  lock  the
       lock is released (see further flock(2)).

       A  close  of  all  of a process’s descriptors is automatic on exit, but
       since there is a limit on the number of active descriptors per process,
       close is necessary for programs that deal with many descriptors.

       When  a  process forks (see fork(2)), all descriptors for the new child
       process reference the same objects as they did in the parent before the
       fork.   If a new process is then to be run using execve(2), the process
       would normally inherit these descriptors.  Most of the descriptors  can
       be  rearranged  with dup2(2) or deleted with close before the execve is
       attempted, but if some of these descriptors will still be needed if the
       execve  fails,  it is necessary to arrange for them to be closed if the
       execve succeeds.  For this reason, the call ‘‘fcntl(d, F_SETFD, 1)’’ is
       provided,  which arranges that a descriptor will be closed after a suc‐
       cessful execve; the call ‘‘fcntl(d, F_SETFD, 0)’’ restores the default,
       which is to not close the descriptor.

RETURN VALUE
       Upon  successful  completion,  a  value of 0 is returned.  Otherwise, a
       value of -1 is returned and the global integer variable errno is set to
       indicate the error.

ERRORS
       Close will fail if:

       [EBADF]        D is not an active descriptor.

SEE ALSO
       accept(2),   flock(2),   open(2),  pipe(2),  socket(2),  socketpair(2),
       execve(2), fcntl(2)


4th Berkeley Distribution        May 22, 1986                         CLOSE(2)
 
Generated: 2016-12-26
Generated by man2html V0.25
page hit count: 830
Valid CSS Valid XHTML 1.0 Strict