GC_INNER void GC_acquire_mark_lock(void)
{
-# ifdef NUMERIC_THREAD_ID_UNIQUE
+# if defined(NUMERIC_THREAD_ID_UNIQUE) && !defined(THREAD_SANITIZER)
GC_ASSERT(GC_mark_lock_holder != NUMERIC_THREAD_ID(pthread_self()));
# endif
GC_generic_lock(&mark_mutex);
GC_INNER void GC_acquire_mark_lock(void)
{
-# ifdef NUMERIC_THREAD_ID_UNIQUE
+# if defined(NUMERIC_THREAD_ID_UNIQUE) && !defined(THREAD_SANITIZER)
GC_ASSERT(GC_mark_lock_holder != NUMERIC_THREAD_ID(pthread_self()));
# endif
if (pthread_mutex_lock(&mark_mutex) != 0) {
GC_INNER void GC_acquire_mark_lock(void)
{
- GC_ASSERT(GC_mark_lock_holder != GetCurrentThreadId());
+# ifndef THREAD_SANITIZER
+ GC_ASSERT(GC_mark_lock_holder != GetCurrentThreadId());
+# endif
if (InterlockedExchange(&GC_mark_mutex_state, 1 /* locked */) != 0) {
# ifdef LOCK_STATS
(void)AO_fetch_and_add1(&GC_block_count);