Summary
Apply a scheduling profile to a thread.
Declaration
#include <zircon/syscalls.h>
zx_status_t zx_object_set_profile(zx_handle_t handle,
zx_handle_t profile,
uint32_t options);
Description
zx_object_set_profile()
applies a profile to the object specified by target.
The parameter profile is a handle to a profile object created with zx_profile_create()
.
options is currently ignored, and should be set to 0
by callers.
Currently, the the only two supported target object types are thread and vmar. Other object types may be supported in the future.
Rights
handle must be of type ZX_OBJ_TYPE_THREAD
and have ZX_RIGHT_MANAGE_THREAD
.
profile must be of type ZX_OBJ_TYPE_PROFILE
and have ZX_RIGHT_APPLY_PROFILE
.
Return value
Returns ZX_OK
on success. In the event of failure, a negative error value is returned.
Errors
ZX_ERR_BAD_HANDLE
target is not a valid handle.
ZX_ERR_WRONG_TYPE
target is not a thread or vmar handle.
ZX_ERR_ACCESS_DENIED
target does not have ZX_RIGHT_MANAGE_THREAD
right.
ZX_ERR_BAD_STATE
When target is a thread that is still being created, is dying, or dead, and
cannot have a profile applied to it, or target is a VMAR and profile contains an
invalid priority.