From 6a6dfe829d8aa55bede0b793b7c270203a06f6db Mon Sep 17 00:00:00 2001 From: Ivan Maidanski Date: Mon, 23 May 2022 20:22:26 +0300 Subject: Remove useless TSan W/A about read of mark_lock_holder for Windows (fix of commit 0fbe44656) TSan itself is not supported on Windows (native and Cygwin) yet. * win32_threads.c [PARALLEL_MARK && (!GC_PTHREADS_PARAMARK || NUMERIC_THREAD_ID_UNIQUE)] (GC_acquire_mark_lock): Assertion about GC_mark_lock_holder regardless of THREAD_SANITIZER. --- win32_threads.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/win32_threads.c b/win32_threads.c index 196bc7bf..788134c5 100644 --- a/win32_threads.c +++ b/win32_threads.c @@ -2095,7 +2095,7 @@ GC_INNER void GC_get_next_stack(char *start, char *limit, GC_INNER void GC_acquire_mark_lock(void) { -# if defined(NUMERIC_THREAD_ID_UNIQUE) && !defined(THREAD_SANITIZER) +# ifdef NUMERIC_THREAD_ID_UNIQUE GC_ASSERT(GC_mark_lock_holder != NUMERIC_THREAD_ID(pthread_self())); # endif if (pthread_mutex_lock(&mark_mutex) != 0) { @@ -2274,9 +2274,7 @@ GC_INNER void GC_get_next_stack(char *start, char *limit, GC_INNER void GC_acquire_mark_lock(void) { -# ifndef THREAD_SANITIZER - GC_ASSERT(GC_mark_lock_holder != GetCurrentThreadId()); -# endif + GC_ASSERT(GC_mark_lock_holder != GetCurrentThreadId()); if (InterlockedExchange(&GC_mark_mutex_state, 1 /* locked */) != 0) { # ifdef LOCK_STATS (void)AO_fetch_and_add1(&GC_block_count); -- cgit v1.2.1