posix_spawn_file_actions_init()

Initialize the spawn file actions object

Synopsis:

#include  <posix_spawn_file_actions.h>

int posix_spawn_file_actions_init(
       posix_spawn_file_actions_t *fact_p);

Arguments:

fact_p
The posix_spawn_file_actions_init() function will initialize 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_init() function will initialize the object referenced by fact_p to contain 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:

POSIX indicates that results are undefined when reinitializing an already initialized posix_spawn_file_actions_t object. The QNX implementation defines the behavior as identical to the case when the previous object is destroyed and then reinitialized, which means that it's safe to reinitialize an already initialized posix_spawn_file_actions_t object; however, it doesn't support the re-initialization of a posix_spawn_file_actions_t object without an intervening destruction of the object. Repeated calls to posix_spawn_file_actions_init() with the same posix_spawn_file_actions_t object could result in a memory leak.


The posix_spawn_file_actions_destroy() function will render the posix_spawn_file_actions_t unusable. Before the object can be reused, it must be initialized with posix_spawn_file_actions_init(), which includes calling posix_spawn_file_actions_destroy() on an already destroyed object.

Returns:

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

Errors:

EINVAL
For any invalid parameter.
ENOMEM
Insufficient memory exists to initialize the spawn file actions object.
EOK
Success.

Classification:

QNX Neutrino

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_destroy(), 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()