diff options
author | Owen Anderson <resistor@mac.com> | 2009-07-07 18:33:04 +0000 |
---|---|---|
committer | Owen Anderson <resistor@mac.com> | 2009-07-07 18:33:04 +0000 |
commit | a9d1f2c559ef4b2549e29288fe6944e68913ba0f (patch) | |
tree | 79e3d7e0aafc4352dafe175986671f4353c0c5e2 /include/llvm/System/RWMutex.h | |
parent | fd15beefeedcb8108913e75e7c736dfcc17b433a (diff) | |
download | llvm-a9d1f2c559ef4b2549e29288fe6944e68913ba0f.tar.gz llvm-a9d1f2c559ef4b2549e29288fe6944e68913ba0f.tar.bz2 llvm-a9d1f2c559ef4b2549e29288fe6944e68913ba0f.tar.xz |
Have scoped mutexes take referenes instead of pointers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74931 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/System/RWMutex.h')
-rw-r--r-- | include/llvm/System/RWMutex.h | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/include/llvm/System/RWMutex.h b/include/llvm/System/RWMutex.h index e577d457af..3a288180bf 100644 --- a/include/llvm/System/RWMutex.h +++ b/include/llvm/System/RWMutex.h @@ -141,15 +141,14 @@ namespace llvm /// ScopedReader - RAII acquisition of a reader lock template<bool mt_only> struct SmartScopedReader { - SmartRWMutex<mt_only>* mutex; + SmartRWMutex<mt_only>& mutex; - explicit SmartScopedReader(SmartRWMutex<mt_only>* m) { - mutex = m; - mutex->reader_acquire(); + explicit SmartScopedReader(SmartRWMutex<mt_only>& m) : mutex(m) { + mutex.reader_acquire(); } ~SmartScopedReader() { - mutex->reader_release(); + mutex.reader_release(); } }; typedef SmartScopedReader<false> ScopedReader; @@ -157,15 +156,14 @@ namespace llvm /// ScopedWriter - RAII acquisition of a writer lock template<bool mt_only> struct SmartScopedWriter { - SmartRWMutex<mt_only>* mutex; + SmartRWMutex<mt_only>& mutex; - explicit SmartScopedWriter(SmartRWMutex<mt_only>* m) { - mutex = m; - mutex->writer_acquire(); + explicit SmartScopedWriter(SmartRWMutex<mt_only>& m) : mutex(m) { + mutex.writer_acquire(); } ~SmartScopedWriter() { - mutex->writer_release(); + mutex.writer_release(); } }; typedef SmartScopedWriter<false> ScopedWriter; |