summaryrefslogtreecommitdiff
path: root/lib/sanitizer_common/sanitizer_mutex.h
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2014-03-04 11:57:25 +0000
committerDmitry Vyukov <dvyukov@google.com>2014-03-04 11:57:25 +0000
commit6201688e08044e0e4fd1910e77116319de89636c (patch)
treef7c3b6f468f5aa89a40a2d6ad8f42710ee1b63b0 /lib/sanitizer_common/sanitizer_mutex.h
parent123c2a5038b994cf2fcffac4302ce6d96a3d3ce6 (diff)
tsan: fix windows build
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@202831 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/sanitizer_common/sanitizer_mutex.h')
-rw-r--r--lib/sanitizer_common/sanitizer_mutex.h14
1 files changed, 7 insertions, 7 deletions
diff --git a/lib/sanitizer_common/sanitizer_mutex.h b/lib/sanitizer_common/sanitizer_mutex.h
index 196c3f53e..c7589f76e 100644
--- a/lib/sanitizer_common/sanitizer_mutex.h
+++ b/lib/sanitizer_common/sanitizer_mutex.h
@@ -95,7 +95,7 @@ class RWMutex {
}
void Lock() {
- uptr cmp = kUnlocked;
+ u32 cmp = kUnlocked;
if (atomic_compare_exchange_strong(&state_, &cmp, kWriteLock,
memory_order_acquire))
return;
@@ -103,20 +103,20 @@ class RWMutex {
}
void Unlock() {
- uptr prev = atomic_fetch_sub(&state_, kWriteLock, memory_order_release);
+ u32 prev = atomic_fetch_sub(&state_, kWriteLock, memory_order_release);
DCHECK_NE(prev & kWriteLock, 0);
(void)prev;
}
void ReadLock() {
- uptr prev = atomic_fetch_add(&state_, kReadLock, memory_order_acquire);
+ u32 prev = atomic_fetch_add(&state_, kReadLock, memory_order_acquire);
if ((prev & kWriteLock) == 0)
return;
ReadLockSlow();
}
void ReadUnlock() {
- uptr prev = atomic_fetch_sub(&state_, kReadLock, memory_order_release);
+ u32 prev = atomic_fetch_sub(&state_, kReadLock, memory_order_release);
DCHECK_EQ(prev & kWriteLock, 0);
DCHECK_GT(prev & ~kWriteLock, 0);
(void)prev;
@@ -127,7 +127,7 @@ class RWMutex {
}
private:
- atomic_uintptr_t state_;
+ atomic_uint32_t state_;
enum {
kUnlocked = 0,
@@ -141,7 +141,7 @@ class RWMutex {
proc_yield(10);
else
internal_sched_yield();
- uptr cmp = atomic_load(&state_, memory_order_relaxed);
+ u32 cmp = atomic_load(&state_, memory_order_relaxed);
if (cmp == kUnlocked &&
atomic_compare_exchange_weak(&state_, &cmp, kWriteLock,
memory_order_acquire))
@@ -155,7 +155,7 @@ class RWMutex {
proc_yield(10);
else
internal_sched_yield();
- uptr prev = atomic_load(&state_, memory_order_acquire);
+ u32 prev = atomic_load(&state_, memory_order_acquire);
if ((prev & kWriteLock) == 0)
return;
}