summaryrefslogtreecommitdiff
path: root/win32_threads.c
diff options
context:
space:
mode:
authorIvan Maidanski <ivmai@mail.ru>2022-05-23 20:22:26 +0300
committerIvan Maidanski <ivmai@mail.ru>2022-05-23 20:22:26 +0300
commit218e2571035ac6cea9633f713b5a4137bc8f3372 (patch)
tree6714036a63a406dd7ee98f2912734ee4768a4dc5 /win32_threads.c
parent0d465ef3937b8680fe3bf4dd2149f3ab14ac8e9e (diff)
downloadbdwgc-218e2571035ac6cea9633f713b5a4137bc8f3372.tar.gz
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.
Diffstat (limited to 'win32_threads.c')
-rw-r--r--win32_threads.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/win32_threads.c b/win32_threads.c
index 96f82068..f41bf46b 100644
--- a/win32_threads.c
+++ b/win32_threads.c
@@ -2219,7 +2219,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) {
@@ -2398,9 +2398,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);