摘要
確認幹擾並重新開始。
宣告
#include <zircon/syscalls.h>
zx_status_t zx_interrupt_ack(zx_handle_t handle);
說明
zx_interrupt_ack()
會確認中斷物件,使物件能夠再次觸發 (並傳送封包至繫結的通訊埠)。
如果中斷物件屬於實體中斷、仍視為層級中斷且仍宣告的邊緣中斷,或者是在上次觸發後才宣告的邊緣中斷,中斷就會立即觸發,並將封包傳送至繫結的通訊埠。
虛擬中斷行為與邊緣中斷相同。
這個系統呼叫只會在與通訊埠繫結的中斷時運作。等待與 zx_interrupt_wait()
等待的干擾則不需要用此呼叫重新驗證,它會在呼叫 zx_interrupt_wait()
時自動發生。
權限
handle 必須是 ZX_OBJ_TYPE_INTERRUPT
類型,且具有 ZX_RIGHT_WRITE
。
傳回值
zx_interrupt_ack()
會在成功時傳回 ZX_OK
。如果失敗,系統會傳回負值的錯誤值。
錯誤
ZX_ERR_BAD_HANDLE
帳號代碼是無效的帳號代碼。
ZX_ERR_WRONG_TYPE
處理常式不是中斷物件。
ZX_ERR_BAD_STATE
處理常式未繫結至通訊埠。
ZX_ERR_CANCELED
zx_interrupt_destroy()
已在帳號代碼上呼叫。
ZX_ERR_ACCESS_DENIED
帳號代碼缺少 ZX_RIGHT_WRITE
。
另請參閱
zx_handle_close()
zx_interrupt_bind()
zx_interrupt_create()
zx_interrupt_destroy()
zx_interrupt_trigger()
zx_interrupt_wait()
zx_port_wait()