Zx_中断中断

摘要

销毁中断对象。

声明

#include <zircon/syscalls.h>

zx_status_t zx_interrupt_destroy(zx_handle_t handle);

说明

zx_interrupt_destroy()“销毁”中断对象,将其置于状态 其中任何 zx_interrupt_wait() 操作都将返回 ZX_ERR_CANCELED, 并且它不再与它所绑定的任何端口绑定

这提供了一种干净的关闭机制。关闭 中断对象会导致类似的取消,但可能导致关闭后使用 。

如果在取消发生时中断对象绑定到端口,如果它 尚未触发;或已触发,但数据包尚未触发 zx_port_wait() 的调用方收到消息,将返回成功消息,并且所有数据包 已移除否则,系统会返回 ZX_ERR_NOT_FOUND,指明 已读取数据包,但是尚未通过调用 zx_interrupt_ack()

权限

TODO(https://fxbug.dev/42107318)

返回值

如果成功,zx_interrupt_destroy() 会返回 ZX_OK。在活动中 则会返回负的错误值。

错误

ZX_ERR_BAD_HANDLE handle 是无效的句柄。

ZX_ERR_WRONG_TYPE 句柄不是中断对象。

ZX_ERR_NOT_FOUND handle 已绑定(现已不再绑定),但未绑定 等待的时间点。

ZX_ERR_ACCESS_DENIED handle 缺少 ZX_RIGHT_WRITE

另请参阅