总结
将调度配置文件应用于线程。
声明
#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
。
目前仅支持两种 target 对象类型: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
target 不是线程或 vmar 句柄。
ZX_ERR_ACCESS_DENIED
target 没有 ZX_RIGHT_MANAGE_THREAD
权限。
ZX_ERR_BAD_STATE
当 target 是仍在创建、即将终止或终止的线程,并且无法对其应用配置文件,或者 target 是 VMAR 且 profile 包含无效优先级时。