close [ MPE/iX Developer's Kit Reference Manual Volume I ] MPE/iX 5.0 Documentation
MPE/iX Developer's Kit Reference Manual Volume I
close
Closes a file.
Syntax
#include <unistd.h>
int close (int fildes);
Parameters
fildes An open file descriptor.
Return Values
0 Success. The file is closed.
-1 An error occurred. The file is not closed, and errno is set
to indicate the error condition.
Description
The close() function closes the file specified by fildes. Upon the
close, all record locks held by the calling process on the file
associated with fildes are removed.
When all file descriptors associated with an open file description have
been closed, the open file description is freed and is no longer
accessible.
If the link count of the file is zero upon closing, when all open file
descriptors associated with the file are closed, the file is purged from
the system.
The close() function updates the following file time fields to the
current time:
* All time fields that have been previously marked for update. All
update marks are removed.
* The st_atime time field.
* The st_mtime time field only if the file was opened O_WRONLY or
O_RDWR.
Implementation Considerations
Refer to the ESYSERR error description below.
Signals generated for the calling process during the execution of close()
are deferred from delivery until the completion of close().
Errors
If an error occurs, errno is set to one of the following values:
EBADF CAUSE The fildes parameter is not a valid open file
descriptor.
ACTION Check to see if fildes has been altered or is not
initialized.
ESYSERR CAUSE An operating system error has occurred that does not
map directly to any of the above errors.
ACTION Examine the MPE/iX error stack for the type of system
error.
See Also
creat(), dup(), execl(), execv(), fork(), open(), unlink(), POSIX.1
(Section 6.3.1)
MPE/iX 5.0 Documentation