Caution: This version of this document is no longer maintained. For the latest documentation, see http://www.qnx.com/developers/docs.

posix_spawnattr_setrunmask()

Set a bitmask of processors on which to run the spawned program

Synopsis:

#include <posix_spawnattr.h>

int posix_spawnattr_setrunmask(
       posix_spawnattr_t *attrp,
       uint32_t runmask);

Arguments:

attrp
A spawn attribute object.
runmask
If you specify POSIX_SPAWN_EXPLICIT_CPU in the flags member, the child process's runmask and inherit mask are set to the value of this member. For more information, see the Multicore Processing User's Guide.

Library:

libc

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

Description:

Specifies a bit mask of processors on which the spawned program will be restricted to run on. Processor numbering starts at 0, with each processor corresponding to a bit in the runmask.

This setting only takes effect if the POSIX_SPAWN_EXPLICIT_CPU flag is set. The default mask is 0xFFFFFFFFU, indicating that the spawned process can run on any processor. The default value can also be retrieved with a function call to posix_spawnattr_getrunmask() using an initialized posix_spawnattr_t object.

For example, runmask == 0x00000005 would indicate that the spawned process is restricted to CPUs 0 and 2.


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

Returns:

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

Errors:

EINVAL
If there are any parameter errors.
ENOMEM
Insufficient memory available to create the child process.
EOK
Success.

Classification:

QNX Neutrino RTS

Safety:
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_setschedpolicy(), posix_spawnattr_setsigdefault(), posix_spawnattr_setsigignore(), posix_spawnattr_setsigmask(), posix_spawnattr_setstackmax(), posix_spawnattr_setxflags(), posix_spawnp()