Man page - ck_pr_fas(3)

Packages contains this manual

Manual


NAME

ck_pr_fas_ptr, ck_pr_fas_double, ck_pr_fas_char, ck_pr_fas_uint, ck_pr_fas_int, ck_pr_fas_64, ck_pr_fas_32, ck_pr_fas_16, ck_pr_fas_8 — atomic swap operations

LIBRARY

Concurrency Kit (libck, -lck)

SYNOPSIS

#include <ck_pr.h>

void *

ck_pr_fas_ptr ( void *target , void *new_value );

double

ck_pr_fas_double ( double *target , double new_value );

char

ck_pr_fas_char ( char *target , char new_value );

unsigned int

ck_pr_fas_uint ( unsigned int *target , unsigned int new_value );

int

ck_pr_fas_int ( int *target , int new_value );

uint64_t

ck_pr_fas_64 ( uint64_t *target , uint64_t new_value );

uint32_t

ck_pr_fas_32 ( uint32_t *target , uint32_t new_value );

uint16_t

ck_pr_fas_16 ( uint16_t *target , uint16_t new_value );

uint8_t

ck_pr_fas_8 ( uint8_t *target , uint8_t new_value );

DESCRIPTION

The ck_pr_fas ( 3 ) family of functions atomically fetch the value pointed to by target and replace the value pointed to by target with the value specified by new_value .

RETURN VALUES

This function returns the value pointed to by target at the time of operation invocation before it was atomically replaced with new_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_faa (3), ck_pr_inc (3), ck_pr_dec (3), ck_pr_neg (3), ck_pr_not (3), ck_pr_add (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 7, 2013 ck_pr_fas (3)