摘要
将调度配置文件应用于线程。
声明
#include <zircon/syscalls.h>
zx_status_t zx_object_set_profile(zx_handle_t handle,
zx_handle_t profile,
uint32_t options);
说明
zx_object_set_profile()
会将配置文件应用于 target 指定的对象。
参数 profile 是使用 zx_profile_create()
创建的 profile 对象的句柄。
options 目前被忽略,并且应由调用方设置为 0
。
目前,仅支持两种目标对象类型:thread 和 vmar。其他 对象类型未来可能会受支持。
权限
handle 的类型必须为 ZX_OBJ_TYPE_THREAD
且包含 ZX_RIGHT_MANAGE_THREAD
。
profile 的类型必须为 ZX_OBJ_TYPE_PROFILE
且包含 ZX_RIGHT_APPLY_PROFILE
。
返回值
成功时返回 ZX_OK
。如果失败,则返回负的错误值。
错误
ZX_ERR_BAD_HANDLE
target 不是有效的句柄。
ZX_ERR_WRONG_TYPE
目标不是线程或 vmar 句柄。
ZX_ERR_ACCESS_DENIED
目标没有 ZX_RIGHT_MANAGE_THREAD
权限。
ZX_ERR_BAD_STATE
如果 target 是仍在创建、即将终止或已终止的线程,并且
不能应用配置文件,或者目标是 VMAR 且配置文件包含
无效的优先级。