zx_port_cancel


英文原文快照


名称

port_cancel —— 取消对象上的异步端口通知

概要

  1. #include <zircon/syscalls.h>
  2. zx_status_t zx_port_cancel(zx_handle_t port,
  3. zx_handle_t source,
  4. uint64_t key);

描述

port_cancel() 是一个非阻塞的系统调用,它用sourcekey取消待处理的object_wait_async() 调用。

当此调用成功时,由source对象发出且键值为key的新数据包将不再传递到port,并且与sourcekey匹配的待处理数据包也从端口中被删除。

权限

TODO(ZX-2399)

返回值

zx_port_cancel() 如果取消成功,并删除排队中的数据包,或待处理的object_wait_async() 调用被取消,则返回ZX_OK

错误码

ZX_ERR_BAD_HANDLEsourceport是无效句柄。

ZX_ERR_WRONG_TYPEport不是端口类型句柄。

ZX_ERR_ACCESS_DENIEDsourceport没有ZX_RIGHT_WRITE权限。

ZX_ERR_NOT_SUPPORTEDsource是一个不可等待的句柄。

ZX_ERR_NOT_FOUND:找不到待处理的数据包和待处理的以sourcekey为参数的object_wait_async调用。

另见

port_wait