Caution: This version of this document is no longer maintained. For the latest documentation, see


Specify a resource partition identifier that the spawned process should be associated with


#include <posix_spawnattr.h>

int posix_spawnattr_addpartid(
       posix_spawnattr_t *_Restrict attrp,
       part_id_t part_id,
       part_dcmd_flags_t part_flags);


The posix_spawnattr_addpartid() function initializes a spawn attributes object attrp with the default value for all of the individual attributes used by the implementation.
If the partition_path parameter does not refer to a real partition, then the part_flags argument will apply to all resolved “real” partitions referred to by the group name, or pseudo partition. This might result in an error if the flag does not apply to the partition type (as reported by the PART_TYPE() macro defined in part.h).
The partition identifier for the named partition.



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


Specify a resource partition that the spawned process should be associated with by its partition identifier. If an ID is specified for a non-existent partition, it will not be known until the posix_spawn() call is made.


Two additional forms for this call, addmempartid() and addschedpartid(), are implemented as macros in spawn.h. The partition association only takes effect if the corresponding POSIX_SPAWN_SETMPART or POSIX_SPAWN_SETSPART flag is set. Setting one of these flags without providing a partition of that type may give unintended results.

This function is a QNX Neutrino extension to posix_spawnattr_t().

For information about inheritance rules as they apply to partition association, see the Adaptive Partitioning User Guide.


The process ID of the child process, or -1 if an error occurs (errno is set).


For any invalid parameter.
If the partition Id couldn't be added to the attributes object.

Note: If this function fails and the partition_name provided is a group name, then it is unspecified how many of the pseudo partitions within the group name are added to the attributes object pointed to by attrp. For this scenario, we recommend that you destroy the attributes object, and initialize a new attributes object.


Note: Some partition association errors may not be reported until the posix_spawn() call is made.

If you add the partition identified by part_id posix_spawnattr_t object attrp, you'll get the following messages:

For any invalid parameter.
If the partition Id couldn't be added to the attributes object.


QNX Neutrino RTS

Cancellation point No
Interrupt handler Yes
Signal handler Yes
Thread Yes

See also:

posix_spawn(), posix_spawn_file_actions_addclose(), posix_spawn_file_actions_adddup2(), posix_spawn_file_actions_addopen(), posix_spawn_file_actions_destroy(), posix_spawn_file_actions_init(), posix_spawnattr_addpartid(), posix_spawnattr_addpartition(), posix_spawnattr_destroy(), posix_spawnattr_getcred(), posix_spawnattr_getflags(), posix_spawnattr_getnode(), posix_spawnattr_getpartid(), posix_spawnattr_getpgroup(), posix_spawnattr_getrunmask(), posix_spawnattr_getschedparam(), posix_spawnattr_getschedpolicy(), posix_spawnattr_getsigdefault(), posix_spawnattr_getsigignore(), posix_spawnattr_getsigmask(), posix_spawnattr_getstackmax(), posix_spawnattr_getxflags(), posix_spawnattr_init(), posix_spawnattr_setcred(), posix_spawnattr_setflags(), posix_spawnattr_setnode(), posix_spawnattr_setpgroup(), posix_spawnattr_setschedparam(), posix_spawnattr_setrunmask(), posix_spawnattr_setschedpolicy(), posix_spawnattr_setsigdefault(), posix_spawnattr_setsigignore(), posix_spawnattr_setsigmask(), posix_spawnattr_setstackmax(), posix_spawnattr_setxflags(), posix_spawnp()