about summary refs log tree commit diff
path: root/absl/base/internal/spinlock.h
diff options
context:
space:
mode:
authorAbseil Team <absl-team@google.com>2017-11-13T18·04-0800
committerJohn Olson <jolson@google.com>2017-11-13T21·52-0500
commit95ddf85f8075d5645a754bac5742b72ec9c81f2a (patch)
tree71008ea1f200d829507e651f49a5fdb6d92cf1c2 /absl/base/internal/spinlock.h
parent9e94e488f5006172245b2f977ab207ee140aca43 (diff)
Changes imported from Abseil "staging" branch:
  - 5677afe8f626bb9db6d8bf9f25ba3d835ffa12d6 Internal TSAN bookkeeping change. by Greg Falcon <gfalcon@google.com>
  - c7492bad6fe6c8f106d3fcb1f8a939ea73b1a962 MSVC fix. by Alex Strelnikov <strel@google.com>

GitOrigin-RevId: 5677afe8f626bb9db6d8bf9f25ba3d835ffa12d6
Change-Id: I1b8497508c8005a094824b4ccf9b220812b81bdb
Diffstat (limited to 'absl/base/internal/spinlock.h')
-rw-r--r--absl/base/internal/spinlock.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/absl/base/internal/spinlock.h b/absl/base/internal/spinlock.h
index 1f50d745919b..f486f68a04f9 100644
--- a/absl/base/internal/spinlock.h
+++ b/absl/base/internal/spinlock.h
@@ -50,7 +50,7 @@ namespace base_internal {
 class LOCKABLE SpinLock {
  public:
   SpinLock() : lockword_(kSpinLockCooperative) {
-    ABSL_TSAN_MUTEX_CREATE(this, 0);
+    ABSL_TSAN_MUTEX_CREATE(this, __tsan_mutex_not_static);
   }
 
   // Special constructor for use with static SpinLock objects.  E.g.,
@@ -64,7 +64,7 @@ class LOCKABLE SpinLock {
   // initializers run.
   explicit SpinLock(base_internal::LinkerInitialized) {
     // Does nothing; lockword_ is already initialized
-    ABSL_TSAN_MUTEX_CREATE(this, __tsan_mutex_linker_init);
+    ABSL_TSAN_MUTEX_CREATE(this, 0);
   }
 
   // Constructors that allow non-cooperative spinlocks to be created for use
@@ -73,7 +73,7 @@ class LOCKABLE SpinLock {
   SpinLock(base_internal::LinkerInitialized,
            base_internal::SchedulingMode mode);
 
-  ~SpinLock() { ABSL_TSAN_MUTEX_DESTROY(this, 0); }
+  ~SpinLock() { ABSL_TSAN_MUTEX_DESTROY(this, __tsan_mutex_not_static); }
 
   // Acquire this SpinLock.
   inline void Lock() EXCLUSIVE_LOCK_FUNCTION() {