*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->IRIX man pages -> standard/close (2)              


close(2)							      close(2)

NAME    [Toc]    [Back]

     close - close a file descriptor

SYNOPSIS    [Toc]    [Back]

     #include <unistd.h>
     int close(int fildes<b>);

DESCRIPTION    [Toc]    [Back]

     fildes is a file descriptor obtained from a creat,	open, dup, fcntl,
     pipe, or iocntl system call.  close closes	the file descriptor indicated
     by	fildes.	 All outstanding record	locks owned by the process (on the
     file indicated by fildes) are removed.

     If	the link count of the file is zero, when all file descriptors
     associated	with the file have been	closed,	the space occupied by the file
     is	freed and the file is no longer	accessible.

     If	a STREAMS-based	[see intro(2)] fildes is closed, and the calling
     process had previously registered to receive a SIGPOLL signal [see
     signal(5)]	for events associated with that	stream [see I_SETSIG in
     streamio(7)], the calling process will be unregistered for	events
     associated	with the stream.  The last close for a stream causes the
     stream associated with fildes to be dismantled.  If O_NDELAY and
     O_NONBLOCK	are clear and there have been no signals posted	for the
     stream, and if there are data on the module's write queue,	close waits up
     to	15 seconds (for	each module and	driver)	for any	output to drain	before
     dismantling the stream.  The time delay can be changed via	an I_SETCLTIME
     ioctl request [see	streamio(7)].  If O_NDELAY or O_NONBLOCK is set, or if
     there are any pending signals, close does not wait	for output to drain,
     and dismantles the	stream immediately.

     If	fildes is associated with one end of a pipe, the last close causes a
     hangup to occur on	the other end of the pipe.  In addition, if the	other
     end of the	pipe has been named [see fattach(3C)], the last	close forces
     the named end to be detached [see fdetach(3C)].  If the named end has no
     open processes associated with it and becomes detached, the stream
     associated	with that end is also dismantled.

     When closing all (or most)	of a process's open file descriptors, it is
     best not to close all descriptors up to the system	maximum, as this value
     can be large.  See	getdtablehi(3C).

     The named file is closed unless one or more of the	following are true:

     EBADF	    fildes is not a valid open file descriptor.

     EINTR	    A signal was caught	during the close system	call.

     ETIMEDOUT	    The	object of the close is located on a remote system
		    which is not available [see	intro(2)].

									Page 1

close(2)							      close(2)

     If	the named file is a remote object accessed via NFS, close may return
     errors from a buffered write call.

SEE ALSO    [Toc]    [Back]

     creat(2), dup(2), exec(2),	fattach(3C), fcntl(2), fdetach(3C),
     getdtablehi(3C), intro(2),	open(2), pipe(2), signal(2), signal(5),

DIAGNOSTICS    [Toc]    [Back]

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

									PPPPaaaaggggeeee 2222
[ Back ]
 Similar pages
Name OS Title
close Tru64 Close the file associated with a file descriptor
cr_close HP-UX close a crash dump descriptor
mq_close HP-UX close a message queue descriptor
mq_close IRIX close a message queue descriptor
pxfisatty IRIX Determines if file descriptor corresponds to a valid file descriptor
AFclosefile IRIX close an audio file, update file header if file was opened for write access.
fdetach Tru64 Detach a STREAMS-based file descriptor from a file in the file system name space
fattach Tru64 Attach a STREAMS-based file descriptor to a file in the file system name space
VOP_OPENCLOSE FreeBSD open or close a file
VOP_CLOSE FreeBSD open or close a file
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service