mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-31 06:25:31 +00:00
Add and use ISC_THREAD_LOCAL macro
The new ISC_THREAD_LOCAL macro unifies usage of platform dependent Thread Local Storage definition thread_local vs __thread vs __declspec(thread) to a single macro. The commit also unifies the required level of support for TLS as for some parts of the code it was mandatory and for some parts of the code it wasn't.
This commit is contained in:
@@ -40,20 +40,7 @@
|
||||
* request using async_cb.
|
||||
*/
|
||||
|
||||
#if defined(HAVE_TLS)
|
||||
#if defined(HAVE_THREAD_LOCAL)
|
||||
#include <threads.h>
|
||||
static thread_local int isc__nm_tid_v = ISC_NETMGR_TID_UNKNOWN;
|
||||
#elif defined(HAVE___THREAD)
|
||||
static __thread int isc__nm_tid_v = ISC_NETMGR_TID_UNKNOWN;
|
||||
#elif defined(HAVE___DECLSPEC_THREAD)
|
||||
static __declspec( thread ) int isc__nm_tid_v = ISC_NETMGR_TID_UNKNOWN;
|
||||
#else /* if defined(HAVE_THREAD_LOCAL) */
|
||||
#error "Unknown method for defining a TLS variable!"
|
||||
#endif /* if defined(HAVE_THREAD_LOCAL) */
|
||||
#else /* if defined(HAVE_TLS) */
|
||||
static int isc__nm_tid_v = ISC_NETMGR_TID_NOTLS;
|
||||
#endif /* if defined(HAVE_TLS) */
|
||||
ISC_THREAD_LOCAL int isc__nm_tid_v = ISC_NETMGR_TID_UNKNOWN;
|
||||
|
||||
static void
|
||||
nmsocket_maybe_destroy(isc_nmsocket_t *sock);
|
||||
|
Reference in New Issue
Block a user