ck_pr_cas man page on DragonFly

Man page or keyword search:  
man Server   44335 pages
apropos Keyword Search (all sections)
Output format
DragonFly logo
[printable version]

ck_pr_cas(3)		 BSD Library Functions Manual		  ck_pr_cas(3)

NAME
     ck_pr_cas_ptr, ck_pr_cas_ptr_value, ck_pr_cas_ptr_2,
     ck_pr_cas_ptr_2_value, ck_pr_cas_double, ck_pr_cas_double_value,
     ck_pr_cas_char, ck_pr_cas_char_value, ck_pr_cas_uint,
     ck_pr_cas_uint_value, ck_pr_cas_int, ck_pr_cas_int_value, ck_pr_cas_64_2,
     ck_pr_cas_64_2_value, ck_pr_cas_64, ck_pr_cas_64_value, ck_pr_cas_32,
     ck_pr_cas_32_value, ck_pr_cas_16, ck_pr_cas_16_value, ck_pr_cas_8,
     ck_pr_cas_8_value — atomic compare-and-swap operations

LIBRARY
     Concurrency Kit (libck, -lck)

SYNOPSIS
     #include <ck_pr.h>

     bool
     ck_pr_cas_ptr(void *target, void *old_value, void *new_value);

     bool
     ck_pr_cas_ptr_value(void *target, void *old_value, void *new_value,
	 void *original_value);

     bool
     ck_pr_cas_ptr_2(void *target, void *old_value, void *new_value);

     bool
     ck_pr_cas_ptr_2_value(void *target, void *old_value, void *new_value,
	 void *original_value);

     bool
     ck_pr_cas_double(double *target, double old_value, double new_value);

     bool
     ck_pr_cas_double_value(double *target, double old_value,
	 double new_value, double *original_value);

     bool
     ck_pr_cas_char(char *target, char old_value, char new_value);

     bool
     ck_pr_cas_char_value(char *target, char old_value, char new_value,
	 char *original_value);

     bool
     ck_pr_cas_uint(unsigned int *target, unsigned int old_value,
	 unsigned int new_value);

     bool
     ck_pr_cas_uint_value(unsigned int *target, unsigned int old_value,
	 unsigned int new_value, unsigned int *original_value);

     bool
     ck_pr_cas_int(int *target, int old_value, int new_value);

     bool
     ck_pr_cas_int_value(int *target, int old_value, int new_value,
	 int *original_value);

     bool
     ck_pr_cas_64_2(uint64_t target[static 2], uint64_t old_value[static 2],
	 uint64_t new_value[static 2]);

     bool
     ck_pr_cas_64_2_value(uint64_t target[static 2],
	 uint64_t old_value[static 2], uint64_t new_value[static 2],
	 uint64_t original_value[static 2]);

     bool
     ck_pr_cas_64(uint64_t *target, uint64_t old_value, uint64_t new_value);

     bool
     ck_pr_cas_64_value(uint64_t *target, uint64_t old_value,
	 uint64_t new_value, uint64_t *original_value);

     bool
     ck_pr_cas_32(uint32_t *target, uint32_t old_value, uint32_t new_value);

     bool
     ck_pr_cas_32_value(uint32_t *target, uint32_t old_value,
	 uint32_t new_value, uint32_t *original_value);

     bool
     ck_pr_cas_16(uint16_t *target, uint16_t old_value, uint16_t new_value);

     bool
     ck_pr_cas_16_value(uint16_t *target, uint16_t old_value,
	 uint16_t new_value, uint16_t *original_value);

     bool
     ck_pr_cas_8(uint8_t *target, uint8_t old_value, uint8_t new_value);

     bool
     ck_pr_cas_8_value(uint8_t *target, uint8_t old_value, uint8_t new_value,
	 uint8_t *original_value);

DESCRIPTION
     The ck_pr_cas(3) family of functions atomically compare the value in
     target for equality with old_value and if so, replace the value pointed
     to by target with the value specified by new_value.  If the value in
     target was not equal to the value specified by old_value then no modifi‐
     cations occur to the value in target.  The *_value form of these func‐
     tions unconditionally update original_value.

RETURN VALUES
     This family of functions return true if the value in target was modified
     as a result of the operation. Otherwise, they return false.

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_sub(3), ck_pr_and(3), ck_pr_or(3), ck_pr_xor(3), ck_pr_add(3),
     ck_pr_btc(3), ck_pr_bts(3), ck_pr_btr(3)

     Additional information available at http://concurrencykit.org/

				April 11, 2013
[top]

List of man pages available for DragonFly

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net