webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Macros
user_atomic.h File Reference
#include <stdio.h>
#include <sys/types.h>

Go to the source code of this file.

Macros

#define atomic_add_int(P, V)   (void) __sync_fetch_and_add(P, V)
 
#define atomic_subtract_int(P, V)   (void) __sync_fetch_and_sub(P, V)
 
#define atomic_fetchadd_int(p, v)   __sync_fetch_and_add(p, v)
 
#define atomic_cmpset_int(dst, exp, src)   __sync_bool_compare_and_swap(dst, exp, src)
 
#define SCTP_DECREMENT_AND_CHECK_REFCOUNT(addr)   (atomic_fetchadd_int(addr, -1) == 1)
 
#define SCTP_SAVE_ATOMIC_DECREMENT(addr, val)
 

Macro Definition Documentation

◆ atomic_add_int

#define atomic_add_int (   P,
 
)    (void) __sync_fetch_and_add(P, V)

◆ atomic_cmpset_int

#define atomic_cmpset_int (   dst,
  exp,
  src 
)    __sync_bool_compare_and_swap(dst, exp, src)

◆ atomic_fetchadd_int

#define atomic_fetchadd_int (   p,
  v 
)    __sync_fetch_and_add(p, v)

◆ atomic_subtract_int

#define atomic_subtract_int (   P,
 
)    (void) __sync_fetch_and_sub(P, V)

◆ SCTP_DECREMENT_AND_CHECK_REFCOUNT

#define SCTP_DECREMENT_AND_CHECK_REFCOUNT (   addr)    (atomic_fetchadd_int(addr, -1) == 1)

◆ SCTP_SAVE_ATOMIC_DECREMENT

#define SCTP_SAVE_ATOMIC_DECREMENT (   addr,
  val 
)
Value:
{ \
int32_t oldval; \
oldval = atomic_fetchadd_int(addr, -val); \
if (oldval < val) { \
*addr = 0; \
} \
}
#define atomic_fetchadd_int(p, v)
Definition: user_atomic.h:103
GLuint GLsizei GLsizei GLfloat * val
Definition: gl2ext.h:3301