摘要
销毁中断对象。
声明
#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
。
另请参阅
zx_handle_close()
zx_interrupt_ack()
zx_interrupt_bind()
zx_interrupt_create()
zx_interrupt_trigger()
zx_interrupt_wait()
zx_port_wait()