diff options
author | Dmitry Vyukov <dvyukov@google.com> | 2013-01-14 07:51:39 +0000 |
---|---|---|
committer | Dmitry Vyukov <dvyukov@google.com> | 2013-01-14 07:51:39 +0000 |
commit | f4f51f2cc6fa936f0c65577f82e6b62989d546ee (patch) | |
tree | 34d2da3ba388fe5080f454868838454beab686b8 /lib/sanitizer_common/sanitizer_mutex.h | |
parent | 4785a776d09fb36bb2b162c3be40cd7ca017fce0 (diff) | |
download | compiler-rt-f4f51f2cc6fa936f0c65577f82e6b62989d546ee.tar.gz |
asan/tsan: move blocking mutex from asan to sanitizer_common
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@172380 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/sanitizer_common/sanitizer_mutex.h')
-rw-r--r-- | lib/sanitizer_common/sanitizer_mutex.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/sanitizer_common/sanitizer_mutex.h b/lib/sanitizer_common/sanitizer_mutex.h index 4372a73c1..15e1caa1b 100644 --- a/lib/sanitizer_common/sanitizer_mutex.h +++ b/lib/sanitizer_common/sanitizer_mutex.h @@ -67,6 +67,15 @@ class SpinMutex : public StaticSpinMutex { void operator=(const SpinMutex&); }; +class BlockingMutex { + public: + explicit BlockingMutex(LinkerInitialized); + void Lock(); + void Unlock(); + private: + uptr opaque_storage_[10]; +}; + template<typename MutexType> class GenericScopedLock { public: @@ -106,6 +115,7 @@ class GenericScopedReadLock { }; typedef GenericScopedLock<StaticSpinMutex> SpinMutexLock; +typedef GenericScopedLock<BlockingMutex> BlockingMutexLock; } // namespace __sanitizer |