Man page - ck_pr_load(3)

Packages contains this manual

Manual


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