about summary refs log tree commit diff
path: root/absl/synchronization/mutex.h
diff options
context:
space:
mode:
authorAbseil Team <absl-team@google.com>2018-01-29T06·33-0800
committerjueminyang <jueminyang@google.com>2018-01-29T15·41-0500
commit46ed9d96d1412223d22430ca2aed4411894c2d63 (patch)
treed6d162ed8946b141c6b7d7c54f15ad763af74b76 /absl/synchronization/mutex.h
parentb301ce157fa252c93ffbaeeed525304c80815269 (diff)
Changes imported from Abseil "staging" branch:
  - bf0a6e6c8e5baf66a041741588e19ddf68180879 Inline Mutex constructor. by Abseil Team <absl-team@google.com>
  - d53a9c76bc8a16bf79ed7118ca279ca8bebdf18b Internal merge of https://github.com/abseil/abseil-cpp/pu... by Jon Cohen <cohenjon@google.com>

GitOrigin-RevId: bf0a6e6c8e5baf66a041741588e19ddf68180879
Change-Id: Iebb4f88f59b7476012e19895ea6f348a2af4a1ae
Diffstat (limited to 'absl/synchronization/mutex.h')
-rw-r--r--absl/synchronization/mutex.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/absl/synchronization/mutex.h b/absl/synchronization/mutex.h
index b09802b523bc..374cf57d2e94 100644
--- a/absl/synchronization/mutex.h
+++ b/absl/synchronization/mutex.h
@@ -64,6 +64,7 @@
 #include "absl/base/internal/identity.h"
 #include "absl/base/internal/low_level_alloc.h"
 #include "absl/base/internal/thread_identity.h"
+#include "absl/base/internal/tsan_mutex_interface.h"
 #include "absl/base/port.h"
 #include "absl/base/thread_annotations.h"
 #include "absl/synchronization/internal/kernel_timeout.h"
@@ -860,6 +861,9 @@ class SCOPED_LOCKABLE ReleasableMutexLock {
 
 #ifdef ABSL_INTERNAL_USE_NONPROD_MUTEX
 #else
+inline Mutex::Mutex() : mu_(0) {
+  ABSL_TSAN_MUTEX_CREATE(this, __tsan_mutex_not_static);
+}
 
 inline CondVar::CondVar() : cv_(0) {}
 #endif