GRPC Core  0.11.0.0
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Macros | Typedefs
atm_gcc_sync.h File Reference
#include <grpc/support/port_platform.h>

Go to the source code of this file.

Macros

#define GPR_ATM_COMPILE_BARRIER_()   __asm__ __volatile__("" : : : "memory")
 
#define GPR_ATM_LS_BARRIER_()   gpr_atm_full_barrier()
 
#define gpr_atm_full_barrier()   (__sync_synchronize())
 
#define gpr_atm_no_barrier_fetch_add(p, delta)   gpr_atm_full_fetch_add((p), (delta))
 
#define gpr_atm_full_fetch_add(p, delta)   (__sync_fetch_and_add((p), (delta)))
 
#define gpr_atm_no_barrier_cas(p, o, n)   gpr_atm_acq_cas((p), (o), (n))
 
#define gpr_atm_acq_cas(p, o, n)   (__sync_bool_compare_and_swap((p), (o), (n)))
 
#define gpr_atm_rel_cas(p, o, n)   gpr_atm_acq_cas((p), (o), (n))
 

Typedefs

typedef gpr_intptr gpr_atm
 

Macro Definition Documentation

#define gpr_atm_acq_cas (   p,
  o,
 
)    (__sync_bool_compare_and_swap((p), (o), (n)))
#define GPR_ATM_COMPILE_BARRIER_ ( )    __asm__ __volatile__("" : : : "memory")
#define gpr_atm_full_barrier ( )    (__sync_synchronize())
#define gpr_atm_full_fetch_add (   p,
  delta 
)    (__sync_fetch_and_add((p), (delta)))
#define GPR_ATM_LS_BARRIER_ ( )    gpr_atm_full_barrier()
#define gpr_atm_no_barrier_cas (   p,
  o,
 
)    gpr_atm_acq_cas((p), (o), (n))
#define gpr_atm_no_barrier_fetch_add (   p,
  delta 
)    gpr_atm_full_fetch_add((p), (delta))
#define gpr_atm_rel_cas (   p,
  o,
 
)    gpr_atm_acq_cas((p), (o), (n))

Typedef Documentation