diff --git a/bin/named/client.c b/bin/named/client.c index 4a50ad9bae..38e056fd77 100644 --- a/bin/named/client.c +++ b/bin/named/client.c @@ -3861,7 +3861,7 @@ ns_clientmgr_destroy(ns_clientmgr_t **managerp) { * the taillock every time ISC_QUEUE_POP is called. * Isolate ISC_QUEUE_POP from tsan analysis. */ -ISC_NO_SANITIZE_THREAD static ns_client_t * +ISC_NO_SANITIZE_THREAD static ISC_NO_SANITIZE_INLINE ns_client_t * queue_pop(ns_clientmgr_t *manager) { ns_client_t *client = NULL; diff --git a/lib/isc/include/isc/util.h b/lib/isc/include/isc/util.h index 2b369abc5e..9111c2a030 100644 --- a/lib/isc/include/isc/util.h +++ b/lib/isc/include/isc/util.h @@ -227,9 +227,11 @@ #endif #if __SANITIZE_THREAD__ -#define ISC_NO_SANITIZE_THREAD __attribute__((no_sanitize("thread"))) +#define ISC_NO_SANITIZE_THREAD __attribute__((no_sanitize("thread"))) __attribute__((noinline)) +#define ISC_NO_SANITIZE_INLINE #else /* if __SANITIZE_THREAD__ */ #define ISC_NO_SANITIZE_THREAD +#define ISC_NO_SANITIZE_INLINE inline #endif /* if __SANITIZE_THREAD__ */ #ifdef UNIT_TESTING