posix_spawnattr_setrunmask()
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_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().
Returns:
- EOK
- Success.
- EINVAL
- The attrp pointer does not refer to a valid attribute structure.
Classification:
Safety: | |
---|---|
Cancellation point | No |
Signal handler | Yes |
Thread | Yes |