NAME
closefrom, close_range – delete open file descriptors
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <unistd.h>
void
closefrom(int lowfd);
int
close_range(u_int lowfd, u_int highfd, int flags);
DESCRIPTION
The closefrom() system call deletes all open file descriptors greater than or equal to lowfd from the per-process object reference table. Any errors encountered while closing file descriptors are ignored.
The close_range() system call deletes all open file descriptors between lowfd and highfd inclusive, clamped to the range of open file descriptors. Any errors encountered while closing file descriptors are ignored. Supported flags:
- CLOSE_RANGE_CLOEXEC
-
Set the close-on-exec flag on descriptors in the range instead of closing them.
- CLOSE_RANGE_CLOFORK
-
Set the close-on-fork flag on descriptors in the range instead of closing them.
RETURN VALUES
Upon successful completion, close_range() returns a value of 0. Otherwise, a value of -1 is returned and the global variable errno is set to indicate the error.
ERRORS
The close_range() system call will fail if:
- [EINVAL]
-
The highfd argument is lower than the lowfd argument.
- [EINVAL]
-
An invalid flag was set.
SEE ALSO
HISTORY
The closefrom() function first appeared in FreeBSD 8.0.
The close_range() function first appeared in FreeBSD 12.2.
The CLOSE_RANGE_CLOFORK flag appeared in FreeBSD 15.0.