NAME¶
ck_pr_sub_ptr,
  
ck_pr_sub_double,
  
ck_pr_sub_char,
  
ck_pr_sub_uint,
  
ck_pr_sub_int,
  
ck_pr_sub_64,
  
ck_pr_sub_32,
  
ck_pr_sub_16,
  
ck_pr_sub_8 —
atomic subtraction operations
LIBRARY¶
Concurrency Kit (libck, -lck)
SYNOPSIS¶
#include
  <ck_pr.h>
void
ck_pr_sub_ptr(
void
  *target,
  
uintptr_t
  delta);
void
ck_pr_sub_double(
double
  *target, 
double
  delta);
void
ck_pr_sub_char(
char
  *target, 
char
  delta);
void
ck_pr_sub_uint(
unsigned
  int *target,
  
unsigned int
  delta);
void
ck_pr_sub_int(
int
  *target, 
int
  delta);
void
ck_pr_sub_64(
uint64_t
  *target,
  
uint64_t delta);
void
ck_pr_sub_32(
uint32_t
  *target,
  
uint32_t delta);
void
ck_pr_sub_16(
uint16_t
  *target,
  
uint16_t delta);
void
ck_pr_sub_8(
uint8_t
  *target, 
uint8_t
  delta);
DESCRIPTION¶
The
  
ck_pr_sub(
3)
  family of functions atomically subtract the value specified by
  
delta from the value pointed to by
  
target.
RETURN VALUES¶
This family of functions does not have a 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_load(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_add(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/