摘要
將程序設為對工作至關重要。
宣告
#include <zircon/syscalls.h>
zx_status_t zx_job_set_critical(zx_handle_t job,
uint32_t options,
zx_handle_t process);
說明
將程序設為對 job 的重要性。當「程序」終止時,工作就會
已終止,就像在其呼叫 zx_task_kill() 一樣。使用的退貨代碼
為 ZX_TASK_RETCODE_CRITICAL_PROCESS_KILL。
指定的 job 必須是 process 的父項或祖系。
如果 options 為 ZX_JOB_CRITICAL_PROCESS_RETCODE_NONZERO,則 job 就會
當 process 的傳回碼不是零時,才會終止。
權限
job 必須為 ZX_RIGHT_DESTROY。
process 必須具備 ZX_RIGHT_WAIT。
傳回值
zx_job_set_critical() 會在成功時傳回 ZX_OK。故障時,
會傳回負錯誤值。
錯誤
ZX_ERR_BAD_HANDLE job 或 process 不是有效的帳號代碼。
ZX_ERR_WRONG_TYPE job 或 process 並非工作控制代碼。
ZX_ERR_INVALID_ARGS 選項不是 0 或
ZX_JOB_CRITICAL_PROCESS_RETCODE_NONZERO 或 job 不是
process 或祖系。
已將「ZX_ERR_ALREADY_BOUND」程序設為一項工作的重要性。
ZX_ERR_ACCESS_DENIED job 沒有 ZX_RIGHT_DESTROY 或 程序
沒有 ZX_RIGHT_WAIT。