ck_pr_store - Man Page

atomic volatile store operations

Library

Concurrency Kit (libck, -lck)

Synopsis

#include <ck_pr.h>

void
ck_pr_store_ptr(void *target, void *value);

void
ck_pr_store_double(double *target, double value);

void
ck_pr_store_uint(unsigned int *target, unsigned int value);

void
ck_pr_store_int(int *target, int value);

void
ck_pr_store_char(char *target, char value);

void
ck_pr_store_64(uint64_t *target, uint64_t value);

void
ck_pr_store_32(uint32_t *target, uint32_t value);

void
ck_pr_store_16(uint16_t *target, uint16_t value);

void
ck_pr_store_8(uint8_t *target, uint8_t value);

Description

The ck_pr_store(3) family of functions atomically stores the value specified by value into the location pointed to by target. This family of functions always serves as an implicit compiler barrier and is not susceptible to compiler re-ordering.

Return Values

This family of functions has no return value.

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_load(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/

Referenced By

ck_pr(3), ck_pr_add(3), ck_pr_and(3), ck_pr_barrier(3), ck_pr_btc(3), ck_pr_btr(3), ck_pr_bts(3), ck_pr_cas(3), ck_pr_dec(3), ck_pr_faa(3), ck_pr_fas(3), ck_pr_fence_acquire(3), ck_pr_fence_atomic(3), ck_pr_fence_atomic_load(3), ck_pr_fence_atomic_store(3), ck_pr_fence_load(3), ck_pr_fence_load_atomic(3), ck_pr_fence_load_depends(3), ck_pr_fence_load_store(3), ck_pr_fence_memory(3), ck_pr_fence_release(3), ck_pr_fence_store(3), ck_pr_fence_store_atomic(3), ck_pr_fence_store_load(3), ck_pr_inc(3), ck_pr_load(3), ck_pr_neg(3), ck_pr_not(3), ck_pr_or(3), ck_pr_rtm(3), ck_pr_stall(3), ck_pr_sub(3), ck_pr_xor(3).

April 15, 2013