Specify the name of a resource partition that the spawned process should be associated with
#include <spawn.h> int posix_spawnattr_addpartition( posix_spawnattr_t *_Restrict attrp, const char *partition_path, part_dcmd_flags_t part_flags);
Use the -l c option to qcc to link against this library. This library is usually included automatically.
The posix_spawnattr_addpartition() function specifies a resource partition that the spawned process should be associated, and it's the most convenient form of adding partition associations because it accepts a partition name rather than an ID. You must have already initialized the spawn attributes object by calling posix_spawnattr_init().
Partition names can either be group names, pseudo-partitions or real partitions, and are always resolved to a “real” partition; otherwise, an error is returned.
|If partition_path doesn't refer to a real partition, then the part_flags argument applies to all resolved real partitions referred to by the group name or pseudo-partition. This may result in an error if the flag doesn't apply to the partition type (as reported by the PART_TYPE() macro defined in <sys/part.h>).|
The partition association takes effect only if the POSIX_SPAWN_SETSPART flag is set in the spawn attributes; to set this flag, call posix_spawnattr_setxflags(). Setting this flag without specifying a scheduling partition may produce unintended results.
For information about inheritance rules as they apply to partition association, see the Adaptive Partitioning Users Guide.
|This function is a QNX Neutrino extension.|
|If this function fails and the partition_name provided is a group name, then it's 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.|
|Some partition association errors may not be reported until the posix_spawn() call is made.|
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_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_setrunmask(), posix_spawnattr_setschedparam(), posix_spawnattr_setschedpolicy(), posix_spawnattr_setsigdefault(), posix_spawnattr_setsigignore(), posix_spawnattr_setsigmask(), posix_spawnattr_setstackmax(), posix_spawnattr_setxflags(), posix_spawnp()