NAME¶
ck_pr_store_ptr
,
ck_pr_store_double
,
ck_pr_store_uint
,
ck_pr_store_int
,
ck_pr_store_char
,
ck_pr_store_64
,
ck_pr_store_32
,
ck_pr_store_16
,
ck_pr_store_8
—
atomic volatile store operations
LIBRARY¶
Concurrency Kit (libck, -lck)
SYNOPSIS¶
#include
<ck_pr.h>
void
ck_pr_store_ptr
(
void
*target,
void
*value);
void
ck_pr_store_double
(
double
*target,
double
value);
void
ck_pr_store_uint
(
unsigned
int *target,
unsigned int
value);
void
ck_pr_store_int
(
int
*target,
int
value);
void
ck_pr_store_char
(
char
*target,
char
value);
void
ck_pr_store_64
(
uint64_t
*target,
uint64_t value);
void
ck_pr_store_32
(
uint32_t
*target,
uint32_t value);
void
ck_pr_store_16
(
uint16_t
*target,
uint16_t value);
void
ck_pr_store_8
(
uint8_t
*target,
uint8_t
value);
DESCRIPTION¶
The
ck_pr_store
(
3)
family of functions atomically stores the value specified by
value into the location pointed to by
target. This family of functions always
serves as an implicit compiler barrier and is not susceptible to compiler
re-ordering.
RETURN VALUES¶
This family of functions has no return value.
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_load(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/