中断时间等待

总结

等待中断。

声明

#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,如果为非 NULL,则返回 out_timestamp(如果为非 NULL),返回触发中断时的时间戳(相对于 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 参数是无效的指针。

另请参阅