A close system call is a
system call used to close a
file descriptor by the
kernel. For most
file systems, a
program terminates access to a
file in a filesystem using the close system call. This flushes file buffers, updates file
metadata, which may include and
end-of-file indicator in the data; de-allocates resources associated with the file (including the
file descriptor) and updates the system wide table of files in use. Some
programming languages maintain a
data structure of files opened by their
runtime library and may close when the program terminates. This practice is known as
resource acquisition is initialization (RAII). Some operating systems will invoke the close
on files held by a program if it terminates. Some operating systems will invoke the close
syscall as part of an operating system recovery as a result of a system failure.
The close call is standardized by the POSIX specification
int close (int filedes);
int fclose (FILE *stream);
The function returns zero to indicate the file was closed successfully. If any error occurs, a value of -1 is returned and errno is appropriately set.
The errors that can occur include:
EBADF
EINTR
EIO
A close system call is a
system call used to close a
file descriptor by the
kernel. For most
file systems, a
program terminates access to a
file in a filesystem using the close system call. This flushes file buffers, updates file
metadata, which may include and
end-of-file indicator in the data; de-allocates resources associated with the file (including the
file descriptor) and updates the system wide table of files in use. Some
programming languages maintain a
data structure of files opened by their
runtime library and may close when the program terminates. This practice is known as
resource acquisition is initialization (RAII). Some operating systems will invoke the close
on files held by a program if it terminates. Some operating systems will invoke the close
syscall as part of an operating system recovery as a result of a system failure.
The close call is standardized by the POSIX specification
int close (int filedes);
int fclose (FILE *stream);
The function returns zero to indicate the file was closed successfully. If any error occurs, a value of -1 is returned and errno is appropriately set.
The errors that can occur include:
EBADF
EINTR
EIO