eventfd_ctx_read — Reads the eventfd counter or wait if it is zero.


ssize_t eventfd_ctx_read (struct eventfd_ctx * ctx,
 int no_wait,
 __u64 * cnt);


struct eventfd_ctx * ctx

[in] Pointer to eventfd context.

int no_wait

[in] Different from zero if the operation should not block.

__u64 * cnt

[out] Pointer to the 64-bit counter value.


Returns 0 if successful, or the following error codes:

-EAGAIN : The operation would have blocked but no_wait was non-zero. -ERESTARTSYS : A signal interrupted the wait operation.

If no_wait is zero, the function might sleep until the eventfd internal counter becomes greater than zero.