posix_spawnattr_setrunmask()

QNX SDP8.0C Library ReferenceAPIDeveloper

Set the runmask attribute in a spawn attributes object

Note:
This function is now deprecated due to its support for only up to 32 CPUs. Instead, use pthread_spawnattr_setrunmask_np(), which supports up to 64 CPUs.

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_setrunmask() routine sets the value of the runmask attribute in the given spawn attributes object. You must have already initialized this object by calling posix_spawnattr_init().

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.

This attribute is a bitmask representing the set of processors that a spawned process can run on. Processor numbering starts at 0, with each processor corresponding to a bit in the runmask. For example, a runmask of 0x00000005 means the spawned process is restricted to CPUs 0 and 2. For a detailed explanation about runmasks and how this attribute setting affects new processes, read the Processor affinity, clusters, runmasks, and inherit masks discussion in the QNX OS Programmer's Guide.

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 OS extension.

Returns:

EOK
Success.
EINVAL
The attrp pointer does not refer to a valid attribute structure.

Classification:

QNX OS

Safety:
Cancellation point No
Signal handler Yes
Thread Yes
Page updated: