摘要
确认中断并重新开启它。
声明
#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 handle 是无效的句柄。
ZX_ERR_WRONG_TYPE 句柄不是中断对象。
ZX_ERR_BAD_STATE handle 未绑定到端口。
ZX_ERR_CANCELED 在 handle 上调用了 zx_interrupt_destroy()。
ZX_ERR_ACCESS_DENIED handle 缺少 ZX_RIGHT_WRITE。