摘要
将调度配置文件应用于线程。
声明
#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。未来可能会支持其他对象类型。
权限
句柄必须是 ZX_OBJ_TYPE_THREAD 类型,并且具有 ZX_RIGHT_MANAGE_THREAD。
配置文件必须是 ZX_OBJ_TYPE_PROFILE 类型,并且具有 ZX_RIGHT_APPLY_PROFILE。
返回值
成功时返回 ZX_OK。如果失败,则返回负错误值。
错误
ZX_ERR_BAD_HANDLE 目标不是有效的句柄。
ZX_ERR_WRONG_TYPE target 不是线程或 VMAR 句柄。
ZX_ERR_ACCESS_DENIED target 没有 ZX_RIGHT_MANAGE_THREAD 权限。
ZX_ERR_BAD_STATE 当 target 是仍在创建、正在消亡或已消亡的线程,并且无法对其应用 profile 时;或者当 target 是 VMAR 且 profile 包含无效的优先级时。