NAME
zmq_atomic_counter_inc - increment an atomic counter
SYNOPSIS
int zmq_atomic_counter_inc (void *counter);
DESCRIPTION
The zmq_atomic_counter_inc function increments an atomic counter in a threadsafe fashion. This function uses platform specific atomic operations.
RETURN VALUE
The zmq_atomic_counter_inc() function returns the old value of the counter, before incrementing.
EXAMPLE
Test code for atomic counters
void *counter = zmq_atomic_counter_new (); assert (zmq_atomic_counter_value (counter) == 0); assert (zmq_atomic_counter_inc (counter) == 0); assert (zmq_atomic_counter_inc (counter) == 1); assert (zmq_atomic_counter_inc (counter) == 2); assert (zmq_atomic_counter_value (counter) == 3); assert (zmq_atomic_counter_dec (counter) == 1); assert (zmq_atomic_counter_dec (counter) == 1); assert (zmq_atomic_counter_dec (counter) == 0); zmq_atomic_counter_set (counter, 2); assert (zmq_atomic_counter_dec (counter) == 1); assert (zmq_atomic_counter_dec (counter) == 0); zmq_atomic_counter_destroy (&counter); return 0;
SEE ALSO
AUTHORS
This page was written by the 0MQ community. To make a change please read the 0MQ Contribution Policy at https://zeromq.org/how-to-contribute/.