qb_atomic_int_exchange_and_add - Man Page

Atomically adds val to the integer pointed to by atomic.

Synopsis

#include <qb/qbatomic.h>

int32_t qb_atomic_int_exchange_and_add(
    volatile int32_t QB_GNUC_MAY_ALIAS   *atomic,  /* a pointer to an integer */
    int32_t                               val      /* the value to add to *atomic */
);

Params

atomic a pointer to an integer

val    the value to add to *atomic

Description

It returns the value of *atomic just before the addition took place. Also acts as a memory barrier.

Return Value

the value of *atomic before the addition.

See Also

qb_atomic_int_set(3), qb_atomic_int_compare_and_exchange(3), qb_atomic_int_get(3), qb_atomic_int_add(3), qb_atomic_init(3), qb_atomic_pointer_get(3), qb_atomic_pointer_compare_and_exchange(3), qb_atomic_pointer_set(3)

Referenced By

qbatomic.h(3), qb_atomic_init(3), qb_atomic_int_add(3), qb_atomic_int_compare_and_exchange(3), qb_atomic_int_get(3), qb_atomic_int_set(3), qb_atomic_pointer_compare_and_exchange(3), qb_atomic_pointer_get(3), qb_atomic_pointer_set(3).

2023-07-21 libqb Programmer's Manual