Acknowledge an interrupt and re-arm it.
#include <zircon/syscalls.h> zx_status_t zx_interrupt_ack(zx_handle_t handle);
zx_interrupt_ack() acknowledges an interrupt object, causing it to be eligible
to trigger again (and delivering a packet to the port it is bound to).
If the interrupt object is a physical interrupt, if it is a level interrupt and still asserted, or is an edge interrupt that has been asserted since it last triggered, the interrupt will trigger immediately, delivering a packet to the port it is bound to.
Virtual interrupts behave as edge interrupts.
This syscall only operates on interrupts which are bound to a port. Interrupts
being waited upon with
zx_interrupt_wait() do not need to be re-armed with this
call -- it happens automatically when
zx_interrupt_wait() is called.
handle must be of type ZX_OBJ_TYPE_INTERRUPT and have ZX_RIGHT_WRITE.
zx_interrupt_ack() returns ZX_OK on success. In the event
of failure, a negative error value is returned.
ZX_ERR_BAD_HANDLE handle is an invalid handle.
ZX_ERR_WRONG_TYPE handle is not an interrupt object.
ZX_ERR_BAD_STATE handle is not bound to a port.
zx_interrupt_destroy() was called on handle.
ZX_ERR_ACCESS_DENIED handle lacks ZX_RIGHT_WRITE.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2019-11-21.