From: Ondřej Surý Date: Mon, 13 Aug 2018 12:56:27 +0000 (+0200) Subject: Drop the requirement for lock free stdatomic, it was used incorrectly anyway as the... X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ee8d78a4755cb882a47a1cb9d443064888104bee;p=thirdparty%2Fbind9.git Drop the requirement for lock free stdatomic, it was used incorrectly anyway as the value can be 0, 1, or 2 --- diff --git a/lib/isc/include/isc/refcount.h b/lib/isc/include/isc/refcount.h index 3b151d033bf..26e84630018 100644 --- a/lib/isc/include/isc/refcount.h +++ b/lib/isc/include/isc/refcount.h @@ -95,9 +95,10 @@ ISC_LANG_BEGINDECLS * Sample implementations */ #ifdef ISC_PLATFORM_USETHREADS -#if (defined(ISC_PLATFORM_HAVESTDATOMIC) && defined(ATOMIC_INT_LOCK_FREE)) || defined(ISC_PLATFORM_HAVEXADD) + +#if defined(ISC_PLATFORM_HAVESTDATOMIC) || defined(ISC_PLATFORM_HAVEXADD) #define ISC_REFCOUNT_HAVEATOMIC 1 -#if (defined(ISC_PLATFORM_HAVESTDATOMIC) && defined(ATOMIC_INT_LOCK_FREE)) +#if defined(ISC_PLATFORM_HAVESTDATOMIC) #define ISC_REFCOUNT_HAVESTDATOMIC 1 #endif diff --git a/lib/isc/include/isc/rwlock.h b/lib/isc/include/isc/rwlock.h index fcd72cab2f7..f0670c0088e 100644 --- a/lib/isc/include/isc/rwlock.h +++ b/lib/isc/include/isc/rwlock.h @@ -35,9 +35,9 @@ typedef enum { } isc_rwlocktype_t; #ifdef ISC_PLATFORM_USETHREADS -#if (defined(ISC_PLATFORM_HAVESTDATOMIC) && defined(ATOMIC_INT_LOCK_FREE)) || (defined(ISC_PLATFORM_HAVEXADD) && defined(ISC_PLATFORM_HAVECMPXCHG)) +#if defined(ISC_PLATFORM_HAVESTDATOMIC) || (defined(ISC_PLATFORM_HAVEXADD) && defined(ISC_PLATFORM_HAVECMPXCHG)) #define ISC_RWLOCK_USEATOMIC 1 -#if (defined(ISC_PLATFORM_HAVESTDATOMIC) && defined(ATOMIC_INT_LOCK_FREE)) +#if defined(ISC_PLATFORM_HAVESTDATOMIC) #define ISC_RWLOCK_USESTDATOMIC 1 #endif #endif diff --git a/lib/isc/stats.c b/lib/isc/stats.c index 0ecf2048de5..286b1c0b7a6 100644 --- a/lib/isc/stats.c +++ b/lib/isc/stats.c @@ -39,10 +39,10 @@ * increment and store operations, just to make * the later macros simpler */ -#if (defined(ISC_PLATFORM_HAVESTDATOMIC) && defined(ATOMIC_LONG_LOCK_FREE)) || \ +#if defined(ISC_PLATFORM_HAVESTDATOMIC) || \ (defined(ISC_PLATFORM_HAVEXADDQ) && defined(ISC_PLATFORM_HAVEATOMICSTOREQ)) #define ISC_STATS_HAVEATOMICQ 1 -#if (defined(ISC_PLATFORM_HAVESTDATOMIC) && defined(ATOMIC_LONG_LOCK_FREE)) +#if defined(ISC_PLATFORM_HAVESTDATOMIC) #define ISC_STATS_HAVESTDATOMICQ 1 #endif #else @@ -72,9 +72,9 @@ * Otherwise, just rely on standard 64-bit data types * and operations */ -#if !ISC_STATS_HAVEATOMICQ && ((defined(ISC_PLATFORM_HAVESTDATOMIC) && defined(ATOMIC_INT_LOCK_FREE)) || defined(ISC_PLATFORM_HAVEXADD)) +#if !ISC_STATS_HAVEATOMICQ && (defined(ISC_PLATFORM_HAVESTDATOMIC) || defined(ISC_PLATFORM_HAVEXADD)) #define ISC_STATS_USEMULTIFIELDS 1 -#if (defined(ISC_PLATFORM_HAVESTDATOMIC) && defined(ATOMIC_INT_LOCK_FREE)) +#if defined(ISC_PLATFORM_HAVESTDATOMIC) #define ISC_STATS_HAVESTDATOMIC 1 #endif #else