posix_spawnattr_setxflags()

Updated: April 19, 2023

Set the POSIX flags and the QNX Neutrino extended flags in a spawn attributes object

Synopsis:

#include <spawn.h>

int posix_spawnattr_setxflags(
       posix_spawnattr_t *attrp,
       uint32_t flags);

Arguments:

attrp
A pointer to the spawn attributes object that you want to modify.
flags
A bitwise OR of the flags you want to store in the spawn attributes.

POSIX defines the following flags:

  • POSIX_SPAWN_SETPGROUP
  • POSIX_SPAWN_SETSIGMASK
  • POSIX_SPAWN_SETSIGDEF
  • POSIX_SPAWN_SETSCHEDULER
  • POSIX_SPAWN_SETSCHEDPARAM
  • POSIX_SPAWN_RESETIDS

QNX Neutrino defines the following extended flags:

  • POSIX_SPAWN_ALIGN_DEFAULT
  • POSIX_SPAWN_ALIGN_FAULT
  • POSIX_SPAWN_ALIGN_NOFAULT
  • POSIX_SPAWN_ASLR_INVERT — we recommend that you use posix_spawnattr_setaslr() instead of this flag
  • POSIX_SPAWN_CHECK_SCRIPT
  • POSIX_SPAWN_CRITICAL (QNX Neutrino 7.0.4 or later)
  • POSIX_SPAWN_DEBUG
  • POSIX_SPAWN_EXEC
  • POSIX_SPAWN_EXPLICIT_CPU
  • POSIX_SPAWN_HOLD
  • POSIX_SPAWN_NEWAPP
  • POSIX_SPAWN_NOZOMBIE
  • POSIX_SPAWN_SEARCH_PATH
  • POSIX_SPAWN_SETASID (QNX Neutrino 7.0.4 or later)
  • POSIX_SPAWN_SETCRED
  • POSIX_SPAWN_SETCWD (QNX Neutrino 7.1 or later)
  • POSIX_SPAWN_SETND
  • POSIX_SPAWN_SETSID
  • POSIX_SPAWN_SETSIGIGN
  • POSIX_SPAWN_SETSTACKMAX
  • POSIX_SPAWN_SETTYPEID (QNX Neutrino 7.0 or later)
  • POSIX_SPAWN_TCSETPGROUP

Library:

libc

Use the -l c option to qcc to link against this library. This library is usually included automatically.

Description:

The posix_spawnattr_setxflags() function stores the POSIX flags and QNX Neutrino extended flags in the spawn attributes object pointed to by attrp, overwriting any previously saved flags. You must have already initialized the spawn attributes object by calling posix_spawnattr_init().

These flags indicate which process attributes you want to change in the new process image when you invoke posix_spawn() or posix_spawnp(). For detailed information about the flags, see the entry for posix_spawn().

Note: The posix_spawnattr_setxflags() function is a QNX Neutrino extension. POSIX specifies the posix_spawnattr_getflags() and posix_spawnattr_setflags() routines, which get and set only the POSIX flags.

Returns:

EOK
Success.
EINVAL
An argument was invalid.

Classification:

QNX Neutrino

Safety:  
Cancellation point No
Interrupt handler No
Signal handler No
Thread Yes