port_cancel - cancels async port notifications on an object
#include <magenta/syscalls.h> mx_status_t mx_port_cancel(mx_handle_t port, mx_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.
mx_port_cancel() returns MX_OK if cancellation succeeded and either queued packets were removed or pending object_wait_async() were canceled.
MX_ERR_BAD_HANDLE handle or port is not a valid handle.
MX_ERR_WRONG_TYPE port is not a port handle.
MX_ERR_ACCESS_DENIED handle or port does not have MX_RIGHT_WRITE.
MX_ERR_NOT_SUPPORTED handle is a handle that cannot be waited on.
MX_ERR_NOT_FOUND if either no pending packets or pending object_wait_async calls with source and key were found.