Risk-Aware AI Code Review for Business-Critical Systems
LiveReview LiveReview Explore LiveReview

ck_pr_load_ptr, ck_pr_load_double, ck_pr_load_uint, ck_pr_load_int, ck_pr_load_char, ck_pr_load_64,

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.

Library

       Concurrency Kit (libck, -lck)

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

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                                    ck_pr_load(3)

Synopsis

#include<ck_pr.h>void*ck_pr_load_ptr(constvoid*target);

       doubleck_pr_load_double(constdouble*target);

       unsignedintck_pr_load_uint(constunsignedint*target);

       intck_pr_load_int(constint*target);

       charck_pr_load_char(constchar*target);

       uint64_tck_pr_load_64(constuint64_t*target);

       uint32_tck_pr_load_32(constuint32_t*target);

       uint16_tck_pr_load_16(constuint16_t*target);

       uint8_tck_pr_load_8(constuint8_t*target);

See Also