port_cancel - cancels async port notifications on an object
#include <zircon/syscalls.h>
zx_status_t zx_port_cancel(zx_handle_t port,
zx_handle_t source,
uint64_t key);
port_cancel() is a non-blocking syscall which cancels pending object_wait_async() calls done with handle and key.
When this call succeeds no new packets from the object pointed by handle with key will be delivered to port, and pending queued packets that match source and key are removed from the port.
zx_port_cancel() returns ZX_OK if cancellation succeeded and either queued packets were removed or pending object_wait_async() were canceled.
ZX_ERR_BAD_HANDLE handle or port is not a valid handle.
ZX_ERR_WRONG_TYPE port is not a port handle.
ZX_ERR_ACCESS_DENIED handle or port does not have ZX_RIGHT_WRITE.
ZX_ERR_NOT_SUPPORTED handle is a handle that cannot be waited on.
ZX_ERR_NOT_FOUND if either no pending packets or pending object_wait_async calls with source and key were found.