zxport_cancel

摘要

取消对象的异步端口通知。

声明

#include <zircon/syscalls.h>

zx_status_t zx_port_cancel(zx_handle_t handle,
                           zx_handle_t source,
                           uint64_t key);

说明

zx_port_cancel() 是一个可取消的非阻塞系统调用 使用来源执行的所有待处理 zx_object_wait_async() 操作。

此调用成功后, 具有 keysource 将传递给 handle,且待处理排入队列 与 sourcekey 匹配的数据包会从端口中移除。

权限

handle 的类型必须为 ZX_OBJ_TYPE_PORT 且包含 ZX_RIGHT_WRITE

返回值

如果取消成功,则 zx_port_cancel() 会返回 ZX_OK,并且 排队的数据包已被移除或待处理 zx_object_wait_async() 已取消。

错误

ZX_ERR_BAD_HANDLE sourcehandle 不是有效的句柄。

ZX_ERR_WRONG_TYPE handle 不是端口句柄。

ZX_ERR_ACCESS_DENIED 来源句柄没有 ZX_RIGHT_WRITE

ZX_ERR_NOT_SUPPORTED 来源是不能等待的句柄。

如果没有待处理的数据包或待处理数据包,则返回 ZX_ERR_NOT_FOUND 找到了使用 sourcekeyzx_object_wait_async() 调用。

另请参阅