ck_pr_fas_ptr(3) atomic swap operations

Other Alias

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


Concurrency Kit (libck, -lck)


In ck_pr.h Ft void * Fn ck_pr_fas_ptr void *target void *new_value Ft double Fn ck_pr_fas_double double *target double new_value Ft char Fn ck_pr_fas_char char *target char new_value Ft unsigned int Fn ck_pr_fas_uint unsigned int *target unsigned int new_value Ft int Fn ck_pr_fas_int int *target int new_value Ft uint64_t Fn ck_pr_fas_64 uint64_t *target uint64_t new_value Ft uint32_t Fn ck_pr_fas_32 uint32_t *target uint32_t new_value Ft uint16_t Fn ck_pr_fas_16 uint16_t *target uint16_t new_value Ft uint8_t Fn ck_pr_fas_8 uint8_t *target uint8_t new_value


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


This function returns the value pointed to by Fa target at the time of operation invocation before it was atomically replaced with Fa new_value .