= zmq_atomic_counter_dec(3) == NAME zmq_atomic_counter_dec - decrement an atomic counter == SYNOPSIS *int zmq_atomic_counter_dec (void *counter);* == DESCRIPTION The _zmq_atomic_counter_dec_ function decrements an atomic counter in a threadsafe fashion. This function uses platform specific atomic operations. == RETURN VALUE The _zmq_atomic_counter_dec()_ function returns 1 if the counter is greater than zero after decrementing, or zero if the counter reached zero. == 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 * xref:zmq_atomic_counter_new.adoc[zmq_atomic_counter_new] * xref:zmq_atomic_counter_set.adoc[zmq_atomic_counter_set] * xref:zmq_atomic_counter_inc.adoc[zmq_atomic_counter_inc] * xref:zmq_atomic_counter_value.adoc[zmq_atomic_counter_value] * xref:zmq_atomic_counter_destroy.adoc[zmq_atomic_counter_destroy] == AUTHORS This page was written by the 0MQ community. To make a change please read the 0MQ Contribution Policy at .