posix_spawnattr_setasid()
Set the address space ID attribute in a spawn attributes object
Synopsis:
#include <spawn.h>
int posix_spawnattr_setasid(
posix_spawnattr_t* attrp,
uint32_t asid);
Arguments:
- attrp
- A pointer to the spawn attributes object that you want to modify.
- asid
- The address space ID that you want to use for spawned processes. On aarch64 targets, this value must be 0 or the subsequent process creation via posix_spawn() or posix_spawnp() will fail with ENOTSUP. On x86_64 targets, the value of this setting is ignored because the kernel independently selects an address space ID for the spawn attributes object.
Library:
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
Description:
The posix_spawnattr_setasid() function sets the value of the address space ID in the spawn attributes object pointed to by attrp. You must have already initialized this object by calling posix_spawnattr_init().
The asid value is used as the address space ID of the child process created by a spawn operation if POSIX_SPAWN_SETASID is set in the spawn flags. By default, a process spawned with posix_spawn() or posix_spawnp() inherits the address space ID from the parent process.
In order for the asid setting to take effect:
- You must set POSIX_SPAWN_SETASID in the spawn flags by calling posix_spawnattr_setxflags().
- You must pass the posix_spawnattr_t attributes object as a parameter to posix_spawn().
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 |