zx_task_suspend_token

這個函式取代了 task_suspend。所有來電者均是時 已更新,zx_task_suspend() 將遭到刪除,並重新命名這個函式 zx_task_suspend()

摘要

暫停指定工作。目前只有執行緒或程序帳號可能遭到停權。

宣告

#include <zircon/syscalls.h>

zx_status_t zx_task_suspend_token(zx_handle_t handle, zx_handle_t* token);

說明

zx_task_suspend_token() 會使要求的工作暫停執行。工作 停權並非同步,而且工作可能會在 呼叫。zx_task_suspend_token()後,工作就會暫停 會叫用此方法,但如果目前在核心中遭到封鎖,則 遭到停權。

如果對已暫停的工作叫用 zx_task_kill(),就會成功終止工作 執行工作

恢復中

允許工作繼續執行,關閉暫停權杖控制代碼。工作 就會維持在停權狀態。就像暫停一樣 恢復為非同步狀態,因此當執行緒呼叫時,執行緒可能並非處於執行中狀態。 即使沒有其他暫停權杖,zx_handle_close() 呼叫也會傳回 已開啟。

權限

handle 必須是 ZX_OBJ_TYPE_THREADZX_OBJ_TYPE_PROCESS 類型,且具有 ZX_RIGHT_WRITE

傳回值

zx_task_suspend() 會在成功時傳回 ZX_OK。 如果失敗,系統會傳回負的錯誤值。

錯誤

ZX_ERR_BAD_HANDLE 帳號代碼不是有效的帳號代碼。

ZX_ERR_WRONG_TYPE 處理常式不是執行緒控制代碼。

ZX_ERR_INVALID_ARGS token 是無效的指標。

ZX_ERR_BAD_STATE 工作未處於可暫停的狀態。

限制

目前僅支援執行緒帳號代碼。