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 .