Summary
Signal an object.
Declaration
#include <zircon/syscalls.h>
zx_status_t zx_object_signal(zx_handle_t handle,
uint32_t clear_mask,
uint32_t set_mask);
Description
zx_object_signal()
asserts and deasserts the userspace-accessible signal
bits on an object.
The effects of this call on an object's signal bits are guaranteed to become visible before the call has completed.
Most of the 32 signals are reserved for system use and are assigned to
per-object functions, like ZX_CHANNEL_READABLE
or ZX_TASK_TERMINATED
. There
are 8 signal bits available for userspace processes to use as they see fit:
ZX_USER_SIGNAL_0
through ZX_USER_SIGNAL_7
.
Event objects also allow control over the ZX_EVENT_SIGNALED
bit.
Eventpair objects also allow control over the ZX_EVENTPAIR_SIGNALED
bit.
Counter objects also allow control over the ZX_COUNTER_SIGNALED
bit.
The clear_mask is first used to clear any bits indicated, and then the set_mask is used to set any bits indicated.
Rights
handle must have ZX_RIGHT_SIGNAL
.
Return value
zx_object_signal()
returns ZX_OK
on success. In the event of failure, a
negative error value is returned.
Errors
ZX_ERR_BAD_HANDLE
handle is not a valid handle.
ZX_ERR_ACCESS_DENIED
handle lacks the right ZX_RIGHT_SIGNAL
.
ZX_ERR_INVALID_ARGS
clear_mask or set_mask contain bits that are not allowed.