中断时间等待

摘要

等待中断。

声明

#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_ARGSout_timestamp 参数是无效的指针。

另请参阅