Reference

posix_spawn_file_actions_init(3)

initialize or destroy spawn file actions objects

NAME

posix_spawn_file_actions_init posix_spawn_file_actions_destroy – initialize or destroy spawn file actions objects

SYNOPSIS

#include <spawn.h>

int

posix_spawn_file_actions_init(posix_spawn_file_actions_t *file_actions);

int

posix_spawn_file_actions_destroy(posix_spawn_file_actions_t *file_actions);

DESCRIPTION

The posix_spawn_file_actions_init() function initializes the object referenced by file_actions, to an empty set of file actions for subsequent use in a call to posix_spawn(2) or posix_spawnp(2). A posix_spawn_file_actions_t object is an opaque type that is used to collect set of file actions specified by calls to posix_spawn_file_actions_addclose(3) and posix_spawn_file_actions_addopen(3) such that once the spawn operation is complete, the child process will have a different set of file descriptors than the parent, in the order that the operations were added to the posix_spawn_file_actions_t.

Additionally, any descriptor in the parent not modified by a file action, and which has the FD_CLOEXEC flag set, will be closed in the child.

The posix_spawn_file_actions_destroy() function destroys the object referenced by file_actions which was previously intialized by posix_spawn_file_actions_init(), returning any resources obtained at the time of initialization to the system for subsequent reuse. A posix_spawn_file_actions_t may be reinitialized after having been destroyed, but must not be reused after destruction, unless it has been reinitialized.

RETURN VALUES

On success, these functions return 0; on failure they return an error number from ⟨errno.h⟩.

ERRORS

These functions will fail and return an error if:

[ENOMEM]

Insufficient resources to initialize the posix_spawn_file_actions_t object.

[EINVAL]

The posix_spawn_file_actions_t being destroyed is invalid.

SEE ALSO

posix_spawn(2), posix_spawnp(2), posix_spawn_file_actions_addclose(3), posix_spawn_file_actions_addopen(3), posix_spawn_file_actions_adddup2(3)

STANDARDS

Version 3 of the Single UNIX Specification (“SUSv3”)

HISTORY

The posix_spawn_file_actions_init() and posix_spawn_file_actions_destroy() function calls appeared in Version 3 of the Single UNIX Specification (“SUSv3”).