摘要
等待中断。
声明
#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
非 NULL,返回中断触发时的时间戳(相对时间
至 ZX_CLOCK_MONOTONIC
)
错误
ZX_ERR_BAD_HANDLE
handle 是无效的句柄。
ZX_ERR_WRONG_TYPE
handle 不是中断对象的句柄。
ZX_ERR_BAD_STATE
表示中断对象会绑定到端口。
ZX_ERR_ACCESS_DENIED
handle 缺少 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()