Provided by: manpages-posix-dev_2.16-1_all bug

NAME

       posix_spawnattr_destroy,  posix_spawnattr_init - destroy and initialize spawn attributes object (ADVANCED
       REALTIME)

SYNOPSIS

       #include <spawn.h>

       int posix_spawnattr_destroy(posix_spawnattr_t *attr);
       int posix_spawnattr_init(posix_spawnattr_t *attr);

DESCRIPTION

       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.  IEEE Std 1003.1-2001  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 IEEE Std 1003.1-2001. Attributes not defined by IEEE Std 1003.1-2001, 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.

RETURN VALUE

       Upon  successful  completion,  posix_spawnattr_destroy()  and  posix_spawnattr_init()  shall return zero;
       otherwise, an error number shall be returned to indicate the error.

ERRORS

       The posix_spawnattr_init() function shall fail if:

       ENOMEM Insufficient memory exists to initialize the spawn attributes object.

       The posix_spawnattr_destroy() function may fail if:

       EINVAL The value specified by attr is invalid.

       The following sections are informative.

EXAMPLES

       None.

APPLICATION USAGE

       These functions are part of the Spawn option and need not be provided on all implementations.

RATIONALE

       The original spawn interface proposed in IEEE Std 1003.1-2001 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 implement.

FUTURE DIRECTIONS

       None.

SEE ALSO

       posix_spawn()       ,       posix_spawnattr_getsigdefault()      ,      posix_spawnattr_getflags()      ,
       posix_spawnattr_getpgroup()  ,  posix_spawnattr_getschedparam()  ,   posix_spawnattr_getschedpolicy()   ,
       posix_spawnattr_getsigmask()    ,    posix_spawnattr_setsigdefault()   ,   posix_spawnattr_setflags()   ,
       posix_spawnattr_setpgroup()   ,   posix_spawnattr_setsigmask()   ,   posix_spawnattr_setschedpolicy()   ,
       posix_spawnattr_setschedparam()  ,  posix_spawnp() , the Base Definitions volume of IEEE Std 1003.1-2001,
       <spawn.h>

COPYRIGHT

       Portions of this text are reprinted and reproduced in electronic form from IEEE Std 1003.1, 2003 Edition,
       Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open  Group  Base
       Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of Electrical and Electronics Engineers,
       Inc  and  The  Open Group. 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.opengroup.org/unix/online.html .

IEEE/The Open Group                                   2003                            POSIX_SPAWNATTR_DESTROY(P)