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 .