1ck_pr_store(3)           BSD Library Functions Manual           ck_pr_store(3)
2

NAME

4     ck_pr_store_ptr, ck_pr_store_double, ck_pr_store_uint, ck_pr_store_int,
5     ck_pr_store_char, ck_pr_store_64, ck_pr_store_32, ck_pr_store_16,
6     ck_pr_store_8 — atomic volatile store operations
7

LIBRARY

9     Concurrency Kit (libck, -lck)
10

SYNOPSIS

12     #include <ck_pr.h>
13
14     void
15     ck_pr_store_ptr(void *target, void *value);
16
17     void
18     ck_pr_store_double(double *target, double value);
19
20     void
21     ck_pr_store_uint(unsigned int *target, unsigned int value);
22
23     void
24     ck_pr_store_int(int *target, int value);
25
26     void
27     ck_pr_store_char(char *target, char value);
28
29     void
30     ck_pr_store_64(uint64_t *target, uint64_t value);
31
32     void
33     ck_pr_store_32(uint32_t *target, uint32_t value);
34
35     void
36     ck_pr_store_16(uint16_t *target, uint16_t value);
37
38     void
39     ck_pr_store_8(uint8_t *target, uint8_t value);
40

DESCRIPTION

42     The ck_pr_store(3) family of functions atomically stores the value speci‐
43     fied by value into the location pointed to by target.  This family of
44     functions always serves as an implicit compiler barrier and is not sus‐
45     ceptible to compiler re-ordering.
46

RETURN VALUES

48     This family of functions has no return value.
49

SEE ALSO

51     ck_pr_fence_load(3), ck_pr_fence_load_depends(3), ck_pr_fence_store(3),
52     ck_pr_fence_memory(3), ck_pr_add(3), ck_pr_load(3), ck_pr_fas(3),
53     ck_pr_faa(3), ck_pr_inc(3), ck_pr_dec(3), ck_pr_neg(3), ck_pr_not(3),
54     ck_pr_sub(3), ck_pr_and(3), ck_pr_or(3), ck_pr_xor(3), ck_pr_cas(3),
55     ck_pr_btc(3), ck_pr_bts(3), ck_pr_btr(3)
56
57     Additional information available at http://concurrencykit.org/
58
59                                April 15, 2013
Impressum