From: Ondřej Surý Date: Sat, 25 Aug 2018 11:29:27 +0000 (+0200) Subject: Use __declspec( thread ) for thread local storage when compiling with Visual Studio... X-Git-Tag: v9.13.3~38^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7ab228cf7187b2eb76e197f6be4cb686f3e39820;p=thirdparty%2Fbind9.git Use __declspec( thread ) for thread local storage when compiling with Visual Studio 2015 and higher --- diff --git a/lib/isc/random.c b/lib/isc/random.c index 9cf635a37f1..3f49cb512f7 100644 --- a/lib/isc/random.c +++ b/lib/isc/random.c @@ -67,6 +67,8 @@ static thread_local isc_once_t isc_random_once = ISC_ONCE_INIT; #elif defined(HAVE___THREAD) static __thread isc_once_t isc_random_once = ISC_ONCE_INIT; +#elif defined(HAVE___DECLSPEC_THREAD) +static __declspec( thread ) isc_once_t isc_random_once = ISC_ONCE_INIT; #else #error "Unknown method for defining a TLS variable!" #endif diff --git a/lib/isc/win32/include/isc/platform.h.in b/lib/isc/win32/include/isc/platform.h.in index 7f2bdbfb6b2..691ac001226 100644 --- a/lib/isc/win32/include/isc/platform.h.in +++ b/lib/isc/win32/include/isc/platform.h.in @@ -16,6 +16,11 @@ ***** Platform-dependent defines. *****/ +#if _MSC_VER > 1400 +#define HAVE_TLS 1 +#define HAVE___DECLSPEC_THREAD 1 +#endif + /* * Some compatibility cludges */ diff --git a/lib/isc/xoshiro128starstar.c b/lib/isc/xoshiro128starstar.c index bc08e6740f2..fb71a244190 100644 --- a/lib/isc/xoshiro128starstar.c +++ b/lib/isc/xoshiro128starstar.c @@ -42,6 +42,8 @@ static thread_local uint32_t seed[4]; #elif defined(HAVE___THREAD) static __thread uint32_t seed[4]; +#elif defined(HAVE___DECLSPEC_THREAD) +static __declspec( thread ) uint32_t seed[4]; #else #error "Unknown method for defining a TLS variable!" #endif