Lines Matching defs:mem
25 # define DECLARE_MUTEX_LOCKED(name, mem) \
26 apr_thread_mutex_t *name = mutex_hash(mem)
33 # define DECLARE_MUTEX_LOCKED(name, mem)
77 static APR_INLINE apr_thread_mutex_t *mutex_hash(volatile apr_uint64_t *mem)
79 apr_thread_mutex_t *mutex = hash_mutex[ATOMIC_HASH(mem)];
97 APR_DECLARE(apr_uint64_t) apr_atomic_read64(volatile apr_uint64_t *mem)
99 return *mem;
102 APR_DECLARE(void) apr_atomic_set64(volatile apr_uint64_t *mem, apr_uint64_t val)
104 DECLARE_MUTEX_LOCKED(mutex, mem);
106 *mem = val;
111 APR_DECLARE(apr_uint64_t) apr_atomic_add64(volatile apr_uint64_t *mem, apr_uint64_t val)
114 DECLARE_MUTEX_LOCKED(mutex, mem);
116 old_value = *mem;
117 *mem += val;
124 APR_DECLARE(void) apr_atomic_sub64(volatile apr_uint64_t *mem, apr_uint64_t val)
126 DECLARE_MUTEX_LOCKED(mutex, mem);
127 *mem -= val;
131 APR_DECLARE(apr_uint64_t) apr_atomic_inc64(volatile apr_uint64_t *mem)
133 return apr_atomic_add64(mem, 1);
136 APR_DECLARE(int) apr_atomic_dec64(volatile apr_uint64_t *mem)
139 DECLARE_MUTEX_LOCKED(mutex, mem);
141 (*mem)--;
142 new = *mem;
149 APR_DECLARE(apr_uint64_t) apr_atomic_cas64(volatile apr_uint64_t *mem, apr_uint64_t with,
153 DECLARE_MUTEX_LOCKED(mutex, mem);
155 prev = *mem;
157 *mem = with;
165 APR_DECLARE(apr_uint64_t) apr_atomic_xchg64(volatile apr_uint64_t *mem, apr_uint64_t val)
168 DECLARE_MUTEX_LOCKED(mutex, mem);
170 prev = *mem;
171 *mem = val;