From ee8d78a4755cb882a47a1cb9d443064888104bee Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ond=C5=99ej=20Sur=C3=BD?= Date: Mon, 13 Aug 2018 14:56:27 +0200 Subject: [PATCH] Drop the requirement for lock free stdatomic, it was used incorrectly anyway as the value can be 0, 1, or 2 --- lib/isc/include/isc/refcount.h | 5 +++-- lib/isc/include/isc/rwlock.h | 4 ++-- lib/isc/stats.c | 8 ++++---- 3 files changed, 9 insertions(+), 8 deletions(-) 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 -- 2.47.3