zx_break_作業

摘要

刪除中斷物件。

宣告

#include <zircon/syscalls.h>

zx_status_t zx_interrupt_destroy(zx_handle_t handle);

說明

zx_interrupt_destroy() 會「刪除」中斷物件,讓物件進入該物件中的任何 zx_interrupt_wait() 作業都會傳回 ZX_ERR_CANCELED,且該物件與任何已繫結的通訊埠解除繫結。

提供簡潔的關閉機制。關閉中斷物件的最後一個控制代碼會導致類似的取消作業,但可能會導致控制代碼關閉後使用。

如果中斷物件在取消發生時繫結至通訊埠,且該物件尚未觸發或已觸發,但 zx_port_wait() 的呼叫端尚未收到封包,系統會傳回成功,並將傳輸中的所有封包移除。否則,系統會傳回 ZX_ERR_NOT_FOUND,表示已讀取封包,但尚未透過呼叫 zx_interrupt_ack() 重啟中斷情形。

權限

TODO(https://fxbug.dev/42107318)

傳回值

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

錯誤

ZX_ERR_BAD_HANDLE」的帳號代碼是無效帳號代碼,

ZX_ERR_WRONG_TYPE 處理常式不是中斷物件。

ZX_ERR_NOT_FOUND 帳號代碼已繫結 (現已停止),但未等待。

ZX_ERR_ACCESS_DENIED 帳號代碼缺少 ZX_RIGHT_WRITE

另請參閱