DragonFly On-Line Manual Pages

Search: Section:  


ck_pr_load(3)         DragonFly Library Functions Manual         ck_pr_load(3)

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

LIBRARY

Concurrency Kit (libck, -lck)

SYNOPSIS

#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);

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.

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

Search: Section: