- destroy and initialize spawn attributes object
#include <spawn.h> int posix_spawnattr_destroy(posix_spawnattr_t *attr);
int posix_spawnattr_init(posix_spawnattr_t *attr);
The posix_spawnattr_destroy() function destroys a spawn attributes object. A destroyed attr attributes object can be reinitialized using posix_spawnattr_init(). The results of otherwise referencing the object after it has been destroyed are undefined. An implementation can cause posix_spawnattr_destroy() to set the object referenced by attr to an invalid value.
The posix_spawnattr_init() function initializes a spawn attributes object attr with the default value for all of the individual attributes used by the implementation. Results are undefined if posix_spawnattr_init() is called specifying an already initialized attr attributes object.
A spawn attributes object is of type posix_spawnattr_t (defined in <spawn.h>) and is used to specify the inheritance of process attributes across a spawn operation.
No attributes other than those defined by IEEE Std 1003.1-200x are provided.
The resulting spawn attributes object (possibly modified by setting individual attribute values), is used to modify the behavior of posix_spawn(3C) or posix_spawnp(3C). After a spawn attributes object has been used to spawn a process by a call to posix_spawn() or posix_spawnp(), any function affecting the attributes object (including destruction) will not affect any process that has been spawned in this way.
Upon successful completion, posix_spawnattr_destroy() and posix_spawnattr_init() return 0. Otherwise, an error number is returned to indicate the error.
The posix_spawnattr_init() function will fail if:
Insufficient memory exists to initialize the spawn attributes object.
The posix_spawnattr_destroy() function may fail if:
The value specified by attr is invalid.
See attributes(5) for descriptions of the following attributes:
posix_spawn(3C), posix_spawnattr_getflags(3C), posix_spawnattr_getpgroup(3C), posix_spawnattr_getschedparam(3C), posix_spawnattr_getschedpolicy(3C), posix_spawnattr_getsigdefault(3C), posix_spawnattr_getsigmask(3C), attributes(5), standards(5)