Destroy a spawn attributes object


#include <spawn.h>

int posix_spawnattr_destroy( posix_spawnattr_t *attrp);


A pointer to the spawn attributes object that you want to destroy.



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


The posix_spawnattr_destroy() function destroys a spawn attributes object. You can reinitialize a destroyed attrp attributes object by using posix_spawnattr_init(); the results of referencing the object after you've destroyed it are undefined.

A spawn attributes object is an opaque object of type posix_spawnattr_t (defined in <spawn.h>), and it specifies the inheritance of process attributes across a spawn operation.

The resulting spawn attributes object (possibly modified by setting individual attribute values), is used 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.

Note: The posix_spawnattr_destroy() function renders the posix_spawnattr_t unusable. Before you can reuse the object, you must initialize it with posix_spawnattr_init(). POSIX specifies that results are undefined if you use a posix_spawnattr_t object after it has been destroyed, including calling posix_spawnattr_destroy() on an already destroyed object. If you attempt to reference a destroyed attributes object, all of the posix_spawnattr_get*() and posix_spawnattr_set*() operations, as well as posix_spawn(), return EINVAL.


The value specified by attrp is invalid.


POSIX 1003.1 SPN

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_spawn_file_actions_init(), posix_spawnattr_addpartid(), posix_spawnattr_addpartition(), 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_setrunmask(), posix_spawnattr_setschedparam(), posix_spawnattr_setschedpolicy(), posix_spawnattr_setsigdefault(), posix_spawnattr_setsigignore(), posix_spawnattr_setsigmask(), posix_spawnattr_setstackmax(), posix_spawnattr_setxflags(), posix_spawnp()