table of contents
        
      
      
    | ck_pr_load(3) | Library Functions Manual | ck_pr_load(3) | 
NAME¶
ck_pr_load_ptr,
    ck_pr_load_double,
    ck_pr_load_uint,
    ck_pr_load_int,
    ck_pr_load_char,
    ck_pr_load_64,
    ck_pr_load_32,
    ck_pr_load_16, ck_pr_load_8
    — atomic volatile load operations
LIBRARY¶
Concurrency Kit (libck, -lck)
SYNOPSIS¶
#include
  <ck_pr.h>
void *
  
  ck_pr_load_ptr(const
    void *target);
double
  
  ck_pr_load_double(const
    double *target);
unsigned int
  
  ck_pr_load_uint(const
    unsigned int *target);
int
  
  ck_pr_load_int(const
    int *target);
char
  
  ck_pr_load_char(const
    char *target);
uint64_t
  
  ck_pr_load_64(const
    uint64_t *target);
uint32_t
  
  ck_pr_load_32(const
    uint32_t *target);
uint16_t
  
  ck_pr_load_16(const
    uint16_t *target);
uint8_t
  
  ck_pr_load_8(const
    uint8_t *target);
DESCRIPTION¶
The
    ck_pr_load(3)
    family of functions atomically loads the value pointed to by
    target and returns it. This family of functions always
    serves as an implicit compiler barrier and is not susceptible to re-ordering
    by the compiler.
RETURN VALUES¶
This family of functions returns the value contained in the location pointed to by the first argument.
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_add(3), ck_pr_store(3), ck_pr_fas(3), ck_pr_faa(3), ck_pr_inc(3), ck_pr_dec(3), ck_pr_neg(3), ck_pr_not(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 15, 2013 |