The world's most popular open source database
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.
Classes | |
| struct | my_atomic_rwlock_t |
Defines | |
| #define | my_atomic_rwlock_destroy(name) pthread_rwlock_destroy(& (name)->rw) |
| #define | my_atomic_rwlock_init(name) pthread_rwlock_init(& (name)->rw, 0) |
| #define | my_atomic_rwlock_rdlock(name) pthread_rwlock_rdlock(& (name)->rw) |
| #define | my_atomic_rwlock_wrlock(name) pthread_rwlock_wrlock(& (name)->rw) |
| #define | my_atomic_rwlock_rdunlock(name) pthread_rwlock_unlock(& (name)->rw) |
| #define | my_atomic_rwlock_wrunlock(name) pthread_rwlock_unlock(& (name)->rw) |
| #define | MY_ATOMIC_MODE "rwlocks" |
| #define | make_atomic_add_body(S) int ## S sav; sav= *a; *a+= v; v=sav; |
| #define | make_atomic_swap_body(S) int ## S sav; sav= *a; *a= v; v=sav; |
| #define | make_atomic_cas_body(S) if ((ret= (*a == *cmp))) *a= set; else *cmp=*a; |
| #define | make_atomic_load_body(S) ret= *a; |
| #define | make_atomic_store_body(S) *a= v; |
| #define make_atomic_add_body | ( | S | ) | int ## S sav; sav= *a; *a+= v; v=sav; |
| #define make_atomic_cas_body | ( | S | ) | if ((ret= (*a == *cmp))) *a= set; else *cmp=*a; |
| #define make_atomic_swap_body | ( | S | ) | int ## S sav; sav= *a; *a= v; v=sav; |
Definition at line 38 of file rwlock.h.
Referenced by test_atomic_add_handler(), test_atomic_cas_handler(), and test_atomic_swap_handler().
Definition at line 40 of file rwlock.h.
Referenced by test_atomic_add_handler(), test_atomic_cas_handler(), and test_atomic_swap_handler().
1.4.7

