aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/System/Win32/RWMutex.inc19
1 files changed, 7 insertions, 12 deletions
diff --git a/lib/System/Win32/RWMutex.inc b/lib/System/Win32/RWMutex.inc
index 08c31f1eb7..5360b41b0e 100644
--- a/lib/System/Win32/RWMutex.inc
+++ b/lib/System/Win32/RWMutex.inc
@@ -18,36 +18,31 @@
#include "Win32.h"
+// FIXME: THIS IS NOT THREAD-SAFE!!
+// Windows does not have reader-writer locks pre-Vista. If you want to have
+// thread-safe LLVM on Windows, for now at least, you need to use a pthreads
+// replacement library.
+
namespace llvm {
using namespace sys;
-RWMutex::RWMutex() {
- data_ = new PSRWLOCK;
- InitializeSRWLock((PSRWLOCK*)data_);
-}
+RWMutex::RWMutex() { }
-RWMutex::~RWMutex() {
- delete (PSRWLOCK*)data_;
- data_ = 0;
-}
+RWMutex::~RWMutex() { }
bool RWMutex::reader_acquire() {
- AcquireSRWLockShared((PSRWLOCK*)data_);
return true;
}
bool RWMutex::reader_release() {
- ReleaseSRWLockShared((PSRWLOCK*)data_);
return true;
}
bool RWMutex::writer_acquire() {
- AcquireSRWLockExclusive((PSRWLOCK*)data_);
return true;
}
bool RWMutex::writer_release() {
- ReleaseSRWLockExclusive((PSRWLOCK*)data_);
return true;
}