![]() |
![]()
| ![]() |
![]()
NAME
LIBRARYConcurrency Kit (libck, -lck) SYNOPSIS
bool
DESCRIPTIONThe
EXAMPLE#include <ck_ring.h> /* This ring was previously initialized with ck_ring_init. */ ck_ring_t ring; /* The ring was initialized for 1023 elements. */ ck_ring_buffer_t buffer[1024]; void dequeue(void) { void *result; /* Dequeue from ring until it is empty. */ while (ck_ring_dequeue_spmc(&ring, &buffer, &result) == true) { /* * Results contains the oldest pointer in ring * since the dequeue operation returned true. */ operation(result); } /* An empty ring was encountered, leave. */ return; } RETURN VALUESThe function returns true if the buffer was non-empty. The result of the dequeue operation is stored in the value pointed to by result. The function will return false if the buffer was empty and the value in result will be undefined. SEE ALSOck_ring_init(3), ck_ring_trydequeue_spmc(3), ck_ring_enqueue_spmc(3), ck_ring_enqueue_spmc_size(3), ck_ring_dequeue_spsc(3), ck_ring_enqueue_spsc(3), ck_ring_enqueue_spsc_size(3), ck_ring_capacity(3), ck_ring_size(3) Additional information available at http://concurrencykit.org/
|