這個函式取代了 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_THREAD
或 ZX_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
工作未處於可暫停的狀態。
限制
目前僅支援執行緒帳號代碼。