Function

GLibfdwalk_set_cloexec

since: 2.80

Declaration

int
g_fdwalk_set_cloexec (
  int lowfd
)

Description

Mark every file descriptor equal to or greater than lowfd to be closed at the next execve() or similar, as if via the FD_CLOEXEC flag.

Typically lowfd will be 3, to leave standard input, standard output and standard error open after exec.

This is the same as Linux close_range (lowfd, ~0U, CLOSE_RANGE_CLOEXEC), but portable to other OSs and to older versions of Linux.

This function is async-signal safe, making it safe to call from a signal handler or a GSpawnChildSetupFunc, as long as lowfd is non-negative. See signal(7) and signal-safety(7) for more details.

Available since: 2.80

Parameters

lowfd

Type: int

Minimum fd to act on, which must be non-negative.

Return value

Type: int

0 on success, -1 with errno set on error.