PostgreSQL Source Code
git master
|
Go to the source code of this file.
Data Structures | |
struct | pg_atomic_uint64 |
Macros | |
#define | PG_HAVE_ATOMIC_U64_SIMULATION |
#define | PG_HAVE_ATOMIC_U64_SUPPORT |
#define | PG_HAVE_ATOMIC_INIT_U64 |
#define | PG_HAVE_ATOMIC_COMPARE_EXCHANGE_U64 |
#define | PG_HAVE_ATOMIC_FETCH_ADD_U64 |
Typedefs | |
typedef struct pg_atomic_uint64 | pg_atomic_uint64 |
Functions | |
void | pg_atomic_init_u64_impl (volatile pg_atomic_uint64 *ptr, uint64 val_) |
bool | pg_atomic_compare_exchange_u64_impl (volatile pg_atomic_uint64 *ptr, uint64 *expected, uint64 newval) |
uint64 | pg_atomic_fetch_add_u64_impl (volatile pg_atomic_uint64 *ptr, int64 add_) |
#define PG_HAVE_ATOMIC_COMPARE_EXCHANGE_U64 |
Definition at line 35 of file fallback.h.
#define PG_HAVE_ATOMIC_FETCH_ADD_U64 |
Definition at line 39 of file fallback.h.
#define PG_HAVE_ATOMIC_INIT_U64 |
Definition at line 32 of file fallback.h.
#define PG_HAVE_ATOMIC_U64_SIMULATION |
Definition at line 23 of file fallback.h.
#define PG_HAVE_ATOMIC_U64_SUPPORT |
Definition at line 25 of file fallback.h.
typedef struct pg_atomic_uint64 pg_atomic_uint64 |
bool pg_atomic_compare_exchange_u64_impl | ( | volatile pg_atomic_uint64 * | ptr, |
uint64 * | expected, | ||
uint64 | newval | ||
) |
Definition at line 34 of file atomics.c.
References newval, pg_atomic_uint64::sema, SpinLockAcquire, SpinLockRelease, and pg_atomic_uint64::value.
Referenced by pg_atomic_compare_exchange_u64(), and pg_atomic_read_u64_impl().
uint64 pg_atomic_fetch_add_u64_impl | ( | volatile pg_atomic_uint64 * | ptr, |
int64 | add_ | ||
) |
Definition at line 62 of file atomics.c.
References pg_atomic_uint64::sema, SpinLockAcquire, SpinLockRelease, and pg_atomic_uint64::value.
Referenced by pg_atomic_fetch_add_u64().
void pg_atomic_init_u64_impl | ( | volatile pg_atomic_uint64 * | ptr, |
uint64 | val_ | ||
) |
Definition at line 24 of file atomics.c.
References pg_atomic_uint64::sema, SpinLockInit, StaticAssertDecl, and pg_atomic_uint64::value.
Referenced by pg_atomic_init_u64().