摘要
销毁中断对象。
声明
#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。