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

NAME

4     ck_pr_load_ptr, ck_pr_load_double, ck_pr_load_uint, ck_pr_load_int,
5     ck_pr_load_char, ck_pr_load_64, ck_pr_load_32, ck_pr_load_16,
6     ck_pr_load_8 — atomic volatile load operations
7

LIBRARY

9     Concurrency Kit (libck, -lck)
10

SYNOPSIS

12     #include <ck_pr.h>
13
14     void *
15     ck_pr_load_ptr(const void *target);
16
17     double
18     ck_pr_load_double(const double *target);
19
20     unsigned int
21     ck_pr_load_uint(const unsigned int *target);
22
23     int
24     ck_pr_load_int(const int *target);
25
26     char
27     ck_pr_load_char(const char *target);
28
29     uint64_t
30     ck_pr_load_64(const uint64_t *target);
31
32     uint32_t
33     ck_pr_load_32(const uint32_t *target);
34
35     uint16_t
36     ck_pr_load_16(const uint16_t *target);
37
38     uint8_t
39     ck_pr_load_8(const uint8_t *target);
40

DESCRIPTION

42     The ck_pr_load(3) family of functions atomically loads the value pointed
43     to by target and returns it. This family of functions always serves as an
44     implicit compiler barrier and is not susceptible to re-ordering by the
45     compiler.
46

RETURN VALUES

48     This family of functions returns the value contained in the location
49     pointed to by the first argument.
50

SEE ALSO

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