Reference

close_range(2)

delete open file descriptors

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

close(2)

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.

History