Ruby 3.5.0dev (2025-01-10 revision 5fab31b15e32622c4b71d1d347a41937e9f9c212)
ruby_atomic.h (5fab31b15e32622c4b71d1d347a41937e9f9c212)
1#include "ruby/atomic.h"
2
3/* shim macros only */
4#define ATOMIC_ADD(var, val) RUBY_ATOMIC_ADD(var, val)
5#define ATOMIC_CAS(var, oldval, newval) RUBY_ATOMIC_CAS(var, oldval, newval)
6#define ATOMIC_DEC(var) RUBY_ATOMIC_DEC(var)
7#define ATOMIC_EXCHANGE(var, val) RUBY_ATOMIC_EXCHANGE(var, val)
8#define ATOMIC_FETCH_ADD(var, val) RUBY_ATOMIC_FETCH_ADD(var, val)
9#define ATOMIC_FETCH_SUB(var, val) RUBY_ATOMIC_FETCH_SUB(var, val)
10#define ATOMIC_INC(var) RUBY_ATOMIC_INC(var)
11#define ATOMIC_OR(var, val) RUBY_ATOMIC_OR(var, val)
12#define ATOMIC_PTR_CAS(var, oldval, newval) RUBY_ATOMIC_PTR_CAS(var, oldval, newval)
13#define ATOMIC_PTR_EXCHANGE(var, val) RUBY_ATOMIC_PTR_EXCHANGE(var, val)
14#define ATOMIC_SET(var, val) RUBY_ATOMIC_SET(var, val)
15#define ATOMIC_SIZE_ADD(var, val) RUBY_ATOMIC_SIZE_ADD(var, val)
16#define ATOMIC_SIZE_CAS(var, oldval, newval) RUBY_ATOMIC_SIZE_CAS(var, oldval, newval)
17#define ATOMIC_SIZE_DEC(var) RUBY_ATOMIC_SIZE_DEC(var)
18#define ATOMIC_SIZE_EXCHANGE(var, val) RUBY_ATOMIC_SIZE_EXCHANGE(var, val)
19#define ATOMIC_SIZE_INC(var) RUBY_ATOMIC_SIZE_INC(var)
20#define ATOMIC_SIZE_SUB(var, val) RUBY_ATOMIC_SIZE_SUB(var, val)
21#define ATOMIC_SUB(var, val) RUBY_ATOMIC_SUB(var, val)
22#define ATOMIC_VALUE_CAS(var, oldval, val) RUBY_ATOMIC_VALUE_CAS(var, oldval, val)
23#define ATOMIC_VALUE_EXCHANGE(var, val) RUBY_ATOMIC_VALUE_EXCHANGE(var, val)
Atomic operations.