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