This manual page is part of the POSIX Programmer's Manual. The Linux
implementation of this interface may differ (consult the
corresponding Linux manual page for details of Linux behavior), or
the interface may not be implemented on Linux.
The posix_spawnattr_destroy() function shall destroy 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 may cause posix_spawnattr_destroy() to set the object
referenced by attr to an invalid value.
The posix_spawnattr_init() function shall initialize 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. POSIX.1‐2008 does not define
comparison or assignment operators for the type posix_spawnattr_t.
Each implementation shall document the individual attributes it uses
and their default values unless these values are defined by
POSIX.1‐2008. Attributes not defined by POSIX.1‐2008, their default
values, and the names of the associated functions to get and set
those attribute values are implementation-defined.
The resulting spawn attributes object (possibly modified by setting
individual attribute values), is used to modify the behavior of
posix_spawn() or posix_spawnp(). After a spawn attributes object has
been used to spawn a process by a call to a posix_spawn() or
posix_spawnp(), any function affecting the attributes object
(including destruction) shall not affect any process that has been
spawned in this way.
The posix_spawnattr_init() function shall fail if:
ENOMEM Insufficient memory exists to initialize the spawn attributes
The posix_spawnattr_destroy() function may fail if:
EINVAL The value specified by attr is invalid.
The following sections are informative.
The original spawn interface proposed in POSIX.1‐2008 defined the
attributes that specify the inheritance of process attributes across
a spawn operation as a structure. In order to be able to separate
optional individual attributes under their appropriate options (that
is, the spawn-schedparam and spawn-schedpolicy attributes depending
upon the Process Scheduling option), and also for extensibility and
consistency with the newer POSIX interfaces, the attributes interface
has been changed to an opaque data type. This interface now consists
of the type posix_spawnattr_t, representing a spawn attributes
object, together with associated functions to initialize or destroy
the attributes object, and to set or get each individual attribute.
Although the new object-oriented interface is more verbose than the
original structure, it is simple to use, more extensible, and easy to
Portions of this text are reprinted and reproduced in electronic form
from IEEE Std 1003.1, 2013 Edition, Standard for Information
Technology -- Portable Operating System Interface (POSIX), The Open
Group Base Specifications Issue 7, Copyright (C) 2013 by the
Institute of Electrical and Electronics Engineers, Inc and The Open
Group. (This is POSIX.1-2008 with the 2013 Technical Corrigendum 1
applied.) In the event of any discrepancy between this version and
the original IEEE and The Open Group Standard, the original IEEE and
The Open Group Standard is the referee document. The original
Standard can be obtained online at http://www.unix.org/online.html .
Any typographical or formatting errors that appear in this page are
most likely to have been introduced during the conversion of the
source files to man page format. To report such errors, see
IEEE/The Open Group 2013 POSIX_SPAWNATTR_DESTROY(3P)