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
This commit is contained in:
Abseil Team 2017-11-13 10:04:29 -08:00 committed by John Olson
parent 9e94e488f5
commit 95ddf85f80
4 changed files with 20 additions and 20 deletions

View file

@ -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() {