摘要
將排程設定檔套用至執行緒。
宣告
#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()
建立的設定檔物件的控制代碼。
目前忽略了 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
target 不是執行緒或 vmar 控制代碼。
ZX_ERR_ACCESS_DENIED
target 沒有 ZX_RIGHT_MANAGE_THREAD
正確值。
ZX_ERR_BAD_STATE
當「target」是指仍在建立、即將失效或死的執行緒時,
無法為其套用設定檔,或者 target 為 VMAR,設定檔包含
優先順序無效。