DOKK / manpages / debian 12 / libqb-dev / qb_atomic_int_exchange_and_add.3.en
QB_ATOMIC_INT_EXCHANGE_AND_ADD(3) libqb Programmer's Manual QB_ATOMIC_INT_EXCHANGE_AND_ADD(3)

qb_atomic_int_exchange_and_add - Atomically adds val to the integer pointed to by atomic.

#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 */ );

atomic a pointer to an integer

val the value to add to *atomic

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

the value of *atomic before the addition.

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)

Copyright (C) 2003 Sebastian Wilhelmi

2022-03-23 LIBQB