Create an event pair.
#include <zircon/syscalls.h> zx_status_t zx_eventpair_create(uint32_t options, zx_handle_t* out0, zx_handle_t* out1);
zx_eventpair_create() creates an event pair, which is a pair of objects that
are mutually signalable.
The signals ZX_EVENTPAIR_SIGNALED and ZX_USER_SIGNAL_n (where n is 0 through 7)
may be set or cleared using
zx_object_signal(), which modifies the signals on the
object itself, or
zx_object_signal_peer(), which modifies the signals on its
When all the handles to one of the objects have been closed, the ZX_EVENTPAIR_PEER_CLOSED signal will be asserted on the opposing object.
The newly-created handles will have the ZX_RIGHT_TRANSFER, ZX_RIGHT_DUPLICATE, ZX_RIGHT_READ, ZX_RIGHT_WRITE, ZX_RIGHT_SIGNAL, and ZX_RIGHT_SIGNAL_PEER rights.
Currently, no options are supported, so options must be set to 0.
zx_eventpair_create() returns ZX_OK on success. On failure, a (negative)
error code is returned.
ZX_ERR_INVALID_ARGS out0 or out1 is an invalid pointer or NULL.
ZX_ERR_NOT_SUPPORTED options has an unsupported flag set (i.e., is not 0).
ZX_ERR_NO_MEMORY Failure due to lack of memory. There is no good way for userspace to handle this (unlikely) error. In a future build this error will no longer occur.
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.