CLOSE(S) UNIX System V CLOSE(S)
Name
close - close a file descriptor
Syntax
int close (fildes)
int fildes;
Description
The fildes argument is a file descriptor obtained from a
creat, open, dup, fcntl, or pipe system call. The close
system call closes the file descriptor indicated by fildes.
All outstanding record locks owned by the process (on the
file indicated by fildes) are removed.
If a STREAMS (see intro(S)) file is closed, and the calling
process had previously registered to receive a SIGPOLL
signal (see signal(S) and sigset(S)) for events associated
with that file, the calling process will be unregistered for
events associated with the file. The last close for a
stream causes the stream associated with fildes to be
dismantled. If O_NDELAY is not set and there have been no
signals posted for the stream, close waits up to 15 seconds,
for each module and driver, for any output to drain before
dismantling the stream. If the O_NDELAY flag is set or if
there are any pending signals, close does not wait for
output to drain and dismantles the stream immediately.
The named file is closed unless one or more of the following
is true:
[EBADF] The fildes argument is not a valid open file
descriptor.
[EINTR] A signal was caught during the close system
call.
[ENOLINK] fildes is on a remote machine and the link to
that machine is no longer active.
See Also
creat(S), dup(S), exec(S), fcntl(S), intro(S), open(S),
pipe(S), signal(S), sigset(S).
Diagnostics
Upon successful completion, a value of 0 is returned.
Otherwise, a value of -1 is returned, and errno is set to
indicate the error.
Standards Conformance
close is conformant with:
AT&T SVID Issue 2, Select Code 307-127;
The X/Open Portability Guide II of January 1987;
IEEE POSIX Std 1003.1-1988 with C Standard Language-
Dependent System Support;
and NIST FIPS 151-1.
(printed 6/20/89)