Summary
Cancels all async port notifications matching a key.
Declaration
#include <zircon/syscalls.h>
zx_status_t zx_port_cancel_key(zx_handle_t handle,
uint32_t options,
uint64_t key);
Description
zx_port_cancel_key()
is a non-blocking syscall that cancels all
pending zx_object_wait_async()
operations on this port registered
with key.
When this call succeeds no new packets from operations registered with key will be delivered to handle, and pending queued packets that key are removed from the port.
Rights
handle must be of type ZX_OBJ_TYPE_PORT
and have ZX_RIGHT_WRITE
.
Return value
zx_port_cancel_key()
returns ZX_OK
if cancellation succeeded and
either queued packets were removed or pending zx_object_wait_async()
were
canceled.
Errors
ZX_ERR_BAD_HANDLE
handle is not a valid handle.
ZX_ERR_WRONG_TYPE
handle is not a port handle.
ZX_ERR_INVALID_ARGS
options has an invalid value.
ZX_ERR_ACCESS_DENIED
handle does not have ZX_RIGHT_WRITE
.
ZX_ERR_NOT_FOUND
if either no pending packets or pending
zx_object_wait_async()
calls matching key were found.