ck_pr_load(3) | Library Functions Manual | ck_pr_load(3) |
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
Concurrency Kit (libck, -lck)
#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);
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.
This family of functions returns the value contained in the location pointed to by the first argument.
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 |