posix_spawnattr_setrunmask()

Updated: April 19, 2023

Set the runmask attribute in a spawn attributes object

Synopsis:

#include <spawn.h>

int posix_spawnattr_setrunmask(
       posix_spawnattr_t *attrp,
       uint32_t runmask);

Arguments:

attrp
A pointer to the spawn attributes object that you want to modify.
runmask
The runmask that you want to use for the spawned processes.

Library:

libc

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

Description:

The posix_spawnattr_getrunmask() routine sets the value of the runmask attribute in the given spawn attributes object. You must have already initialized the spawn attributes object by calling posix_spawnattr_init().

This attribute is a bitmask of the processors that the spawned program can run on. Processor numbering starts at 0, with each processor corresponding to a bit in the runmask. For example, a runmask of 0x00000005 indicates that the spawned process is restricted to CPUs 0 and 2. For more information, see the Multicore Processing chapter of the QNX Neutrino Programmer's Guide.

This setting takes effect only if the POSIX_SPAWN_EXPLICIT_CPU flag is set; to set this flag, call posix_spawnattr_setxflags(). The default mask is 0xFFFFFFFFU, indicating that the spawned process can run on any processor.

To get the value of this attribute, call posix_spawnattr_getrunmask().

For more information about spawn attributes, see the entry for posix_spawn().

Note: This function is a QNX Neutrino extension.

Returns:

EOK
Success.
EINVAL
An argument was invalid.

Classification:

QNX Neutrino

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