posix_spawnattr_init()

Updated: April 19, 2023

Initialize a spawn attributes object

Synopsis:

#include <spawn.h>

int posix_spawnattr_init( posix_spawnattr_t *attrp );

Arguments:

attrp
A pointer to the spawn attributes object that you want to initialize.

Library:

libc

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

Description:

The posix_spawnattr_init() function initializes the given spawn attributes object with the default value for all the attributes. A spawn attributes object is an opaque object of type posix_spawnattr_t (defined in <spawn.h>) that you can use to modify the behavior of posix_spawn() or posix_spawnp(). Changes that you make to the spawn attributes object don't affect any processes that you've already spawned.

You can also use this function to reinitialize a spawn attributes object that you've destroyed by calling posix_spawnattr_destroy().

Note:
  • The posix_spawnattr_destroy() function renders the posix_spawnattr_t object unusable. Before you can reuse it (which includes calling posix_spawnattr_destroy() on an already destroyed object), you must reinitialize the object with posix_spawnattr_init().
  • POSIX indicates that the results of reinitializing an already initialized posix_spawnattr_t object are undefined. The QNX Neutrino implementation doesn't support the reinitialization of a posix_spawnattr_t object without an intervening destruction of the object. Repeated calls to posix_spawnattr_init() with the same posix_spawnattr_t object could result in a memory leak.

Returns:

EOK
Success.
ENOMEM
Insufficient memory exists to initialize the spawn attributes object.

Examples:

See posix_spawn().

Classification:

POSIX 1003.1 SPN

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