ck_pr_faa(3)

NAME
ck_pr_faa_ptr, ck_pr_faa_double, ck_pr_faa_char, ck_pr_faa_uint, ck_pr_faa_int, ck_pr_faa_64, ck_pr_faa_32, ck_pr_faa_16, ck_pr_faa_8 - atomic fetch-and-add operations

LIBRARY
Concurrency Kit (libck, -lck)

SYNOPSIS
#include <ck_pr.h>
uintptr_t
ck_pr_faa_ptr(void *target, uintptr_t delta);
double
ck_pr_faa_double(double *target, double delta);
char
ck_pr_faa_char(char *target, char delta);
unsigned int
ck_pr_faa_uint(unsigned int *target, unsigned int delta);
int
ck_pr_faa_int(int *target, int delta);
uint64_t
ck_pr_faa_64(uint64_t *target, uint64_t delta);
uint32_t
ck_pr_faa_32(uint32_t *target, uint32_t delta);
uint16_t
ck_pr_faa_16(uint16_t *target, uint16_t delta);
uint8_t
ck_pr_faa_8(uint8_t *target, uint8_t delta);

DESCRIPTION
The ck_pr_faa(3) family of functions atomically fetch the value pointed to by target and add the value specified by delta to the value pointed to by target.

RETURN VALUES
This function returns the value pointed to by target at the time of operation invocation before the addition operation is applied.

SEE ALSO
ck_pr_fence_load(3), ck_pr_fence_load_depends(3), ck_pr_fence_store(3), ck_pr_fence_memory(3), ck_pr_load(3), ck_pr_store(3), ck_pr_fas(3), ck_pr_inc(3), ck_pr_dec(3), ck_pr_neg(3), ck_pr_not(3), ck_pr_add(3), ck_pr_sub(3), ck_pr_and(3), ck_pr_or(3), ck_pr_xor(3), ck_pr_cas(3), ck_pr_btc(3), ck_pr_bts(3), ck_pr_btr(3)

Additional information available at http://concurrencykit.org/