Manual Pages


ck_pr_faa(3)             BSD Library Functions Manual             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 oper-
     ation 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/

                                 April 7, 2013