aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/System
diff options
context:
space:
mode:
authorOwen Anderson <resistor@mac.com>2009-07-07 18:33:04 +0000
committerOwen Anderson <resistor@mac.com>2009-07-07 18:33:04 +0000
commita9d1f2c559ef4b2549e29288fe6944e68913ba0f (patch)
tree79e3d7e0aafc4352dafe175986671f4353c0c5e2 /include/llvm/System
parentfd15beefeedcb8108913e75e7c736dfcc17b433a (diff)
downloadexternal_llvm-a9d1f2c559ef4b2549e29288fe6944e68913ba0f.zip
external_llvm-a9d1f2c559ef4b2549e29288fe6944e68913ba0f.tar.gz
external_llvm-a9d1f2c559ef4b2549e29288fe6944e68913ba0f.tar.bz2
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')
-rw-r--r--include/llvm/System/Mutex.h8
-rw-r--r--include/llvm/System/RWMutex.h18
2 files changed, 12 insertions, 14 deletions
diff --git a/include/llvm/System/Mutex.h b/include/llvm/System/Mutex.h
index d2c457d..9ef5942 100644
--- a/include/llvm/System/Mutex.h
+++ b/include/llvm/System/Mutex.h
@@ -131,15 +131,15 @@ namespace llvm
template<bool mt_only>
class SmartScopedLock {
- SmartMutex<mt_only>* mtx;
+ SmartMutex<mt_only>& mtx;
public:
- SmartScopedLock(SmartMutex<mt_only>* m) : mtx(m) {
- mtx->acquire();
+ SmartScopedLock(SmartMutex<mt_only>& m) : mtx(m) {
+ mtx.acquire();
}
~SmartScopedLock() {
- mtx->release();
+ mtx.release();
}
};
diff --git a/include/llvm/System/RWMutex.h b/include/llvm/System/RWMutex.h
index e577d45..3a28818 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;