posix_spawn_file_actions_destroy()

Destroy a spawn file actions object

Synopsis:

#include <posix_spawn_file_actions.h>

int posix_spawn_file_actions_destroy(
       posix_spawn_file_actions_t *fact_p);

Arguments:

fact_p
The posix_spawn_file_actions_destroy() function destroys a spawn file action object fact_p.

Library:

libc

Use the -l c option to qcc to link against this library. This library is usually included automatically.

Description:

The posix_spawn_file_actions_destroy() function destroys the object referenced by fact_p; in effect, the object becomes uninitialized. An implementation may cause the destroyed spawn file actions object to be reinitialized using posix_spawn_file_actions_init(); the results of otherwise referencing the object after its been destroyed are undefined.

The posix_spawn_file_actions_init() function initializes the object referenced by fact_p such that it contains no file actions for posix_spawn() or posix_spawnp() to perform. A spawn file actions object is as defined in posix_spawn_file_actions_addclose(). The effect of initializing an already initialized spawn file actions object is undefined.


Note:

The posix_spawn_file_actions_destroy() function will render the posix_spawn_file_actions_t unusable. Before reusing the object, it must be initialized with posix_spawn_file_actions_init(), which includes calling posix_spawn_file_actions_destroy() on an already destroyed object. POSIX specifies that results are undefined when using a posix_spawnattr_t object after it has been destroyed. The QNX implementation will cause all get() and set() operations, as well as posix_spawn(), to return EINVAL when attempting to reference a destroyed attributes object.


Returns:

Upon successful completion, posix_spawnattr_destroy() returns zero; otherwise, an error number is returned to indicate the error (errno).

Errors:

EINVAL
For any invalid parameter, or the value specified by fact_p is invalid.
EOK
Success.

Classification:

POSIX 1003.1 RTS

Safety:
Cancellation point No
Interrupt handler Yes
Signal handler Yes
Thread Yes

See also:

posix_spawn(), posix_spawn_file_actions_addclose(), posix_spawn_file_actions_adddup2(), posix_spawn_file_actions_addopen(), posix_spawn_file_actions_init(), posix_spawnattr_addpartid(), posix_spawnattr_addpartition(), posix_spawnattr_destroy(), posix_spawnattr_getcred(), posix_spawnattr_getflags(), posix_spawnattr_getnode(), posix_spawnattr_getpartid(), posix_spawnattr_getpgroup(), posix_spawnattr_getrunmask(), posix_spawnattr_getschedparam(), posix_spawnattr_getschedpolicy(), posix_spawnattr_getsigdefault(), posix_spawnattr_getsigignore(), posix_spawnattr_getsigmask(), posix_spawnattr_getstackmax(), posix_spawnattr_getxflags(), posix_spawnattr_init(), posix_spawnattr_setcred(), posix_spawnattr_setflags(), posix_spawnattr_setnode(), posix_spawnattr_setpgroup(), posix_spawnattr_setschedparam(), posix_spawnattr_setrunmask(), posix_spawnattr_setschedpolicy(), posix_spawnattr_setsigdefault(), posix_spawnattr_setsigignore(), posix_spawnattr_setsigmask(), posix_spawnattr_setstackmax(), posix_spawnattr_setxflags(), posix_spawnp()