zx_object_set_profile

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.

See also