* atomic.h (atomic_compare_and_exchange_acq): Use
	__arch_compare_and_exchange_32_acq in return value definition.  It
	always exists.
	(atomic_bit_set): Renamed from atomic_set_bit.
This commit is contained in:
Ulrich Drepper 2003-02-05 07:10:33 +00:00
parent 0289bef9a6
commit d45e874013
2 changed files with 12 additions and 9 deletions

View File

@ -1,6 +1,9 @@
2003-02-04 Ulrich Drepper <drepper@redhat.com>
* atomic.h (atomic_bit_set): Renamed from atomic_set_bit.
* atomic.h (atomic_compare_and_exchange_acq): Use
__arch_compare_and_exchange_32_acq in return value definition. It
always exists.
(atomic_bit_set): Renamed from atomic_set_bit.
Add missing atomic_ prefixes.
* sysdeps/pthread/bits/libc-lock.h (__libc_once): In case no

View File

@ -27,7 +27,7 @@
#ifndef atomic_compare_and_exchange_acq
# define atomic_compare_and_exchange_acq(mem, newval, oldval) \
({ __typeof (__arch_compare_and_exchange_8_acq (mem, newval, oldval)) \
({ __typeof (__arch_compare_and_exchange_32_acq (mem, newval, oldval)) \
__result; \
if (sizeof (*mem) == 1) \
__result = __arch_compare_and_exchange_8_acq (mem, newval, oldval); \
@ -82,14 +82,14 @@
#ifndef atomic_bit_set
# define atomic_bit_set(mem, bit) \
(void) ({ __typeof (mem) __memp = (mem); \
while (1) \
{ \
__typeof (*mem) __oldval = *__memp; \
__typeof (*mem) __mask = (1 << (bit)); \
__typeof (*mem) __oldval; \
\
if (atomic_compare_and_exchange_acq (__memp, \
__oldval | 1 << bit, \
__oldval) == 0) \
break; \
do \
__oldval = *__memp; \
while (atomic_compare_and_exchange_acq (__memp, \
__oldval | __mask, \
__oldval)); \
}})
#endif