摘要
等待中斷。
宣告
#include <zircon/syscalls.h>
zx_status_t zx_interrupt_wait(zx_handle_t handle, zx_time_t* out_timestamp);
說明
zx_interrupt_wait()
是造成呼叫端的阻斷系統呼叫
直到觸發中斷為止只能在中斷時使用
尚未透過 zx_interrupt_bind()
繫結至通訊埠的物件
同樣,在等待開始之前,它將會確認中斷物件
就像在其上呼叫 zx_interrupt_ack()
一樣。
使用 zx_interrupt_destroy()
或關閉帳號代碼時,可以取消等待時間。
權限
handle 必須是 ZX_OBJ_TYPE_INTERRUPT
類型,且包含 ZX_RIGHT_WAIT
。
傳回值
zx_interrupt_wait()
會在成功時傳回 ZX_OK
,如果為,則會傳回 out_timestamp
非空值,會傳回中斷情形的時間戳記 (相對
至 ZX_CLOCK_MONOTONIC
)
錯誤
ZX_ERR_BAD_HANDLE
帳號代碼是無效的帳號代碼。
ZX_ERR_WRONG_TYPE
處理常式不是中斷物件的控制代碼。
ZX_ERR_BAD_STATE
:中斷物件會繫結至通訊埠。
ZX_ERR_ACCESS_DENIED
帳號代碼缺少 ZX_RIGHT_WAIT
。
「ZX_ERR_CANCELED
」帳號代碼在等待期間關閉,或已呼叫 zx_interrupt_destroy()
。
ZX_ERR_INVALID_ARGS
out_timestamp 參數是無效的指標。
另請參閱
zx_handle_close()
zx_interrupt_ack()
zx_interrupt_bind()
zx_interrupt_create()
zx_interrupt_destroy()
zx_interrupt_trigger()
zx_port_wait()