Man Linux: Main Page and Category List

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 .