NAME
posix_spawn_file_actions_addchdir,
posix_spawn_file_actions_addclose,
posix_spawn_file_actions_adddup2,
posix_spawn_file_actions_addfchdir,
posix_spawn_file_actions_addopen —
add action to change directory, close,
dup2 or open file descriptor to file actions object
SYNOPSIS
#include
<spawn.h>
int
posix_spawn_file_actions_addchdir(posix_spawn_file_actions_t
*file_actions, const char
*restrict path);
int
posix_spawn_file_actions_addclose(posix_spawn_file_actions_t
*file_actions, int
fildes);
int
posix_spawn_file_actions_adddup2(posix_spawn_file_actions_t
*file_actions, int
fildes, int
newfildes);
int
posix_spawn_file_actions_addfchdir(posix_spawn_file_actions_t
*file_actions, int
fildes);
int
posix_spawn_file_actions_addopen(posix_spawn_file_actions_t
*file_actions, int
fildes, const char
*restrict path, int
oflag, mode_t
mode);
DESCRIPTION
These functions add an action to chdir(2), close(2), dup2(2), fchdir(2), or open(2) a file descriptor to a posix_spawn(3) file actions object.
Actions are executed in order in the child process:
- The
posix_spawn_file_actions_addchdir() function adds an action that causeschdir(path);
to be called.
- The
posix_spawn_file_actions_addclose() function adds an action that causesclose(fildes);
to be called.
- The
posix_spawn_file_actions_adddup2() function adds an action that causesdup2(fildes, newfildes);
to be called. In addition, the action will cause the close-on-exec flag to be cleared on newfildes, even if newfildes equals fildes.
- The
posix_spawn_file_actions_addfchdir() function adds an action that causesfchdir(fildes);
to be called.
- The
posix_spawn_file_actions_addopen() function adds an action that causesopen(path, oflag, mode);
to be called and the result to be forced as fildes (if fildes was already open before this action, the old file descriptor is closed before the action is performed).
Note that
posix_spawn_file_actions_addopen() makes a copy of the path argument.
RETURN VALUES
Upon successful completion, these functions return zero. Otherwise
they may return EBADF for negative file descriptors,
or ENOMEM if they run out of memory.
SEE ALSO
posix_spawn(3), posix_spawn_file_actions_init(3), posix_spawnp(3)
STANDARDS
These functions conform to IEEE Std 1003.1-2024 (“POSIX.1”).
AUTHORS
Ed Schouten <ed@FreeBSD.org>