diff options
author | wolfbeast <mcwerewolf@gmail.com> | 2018-04-28 15:45:56 +0200 |
---|---|---|
committer | wolfbeast <mcwerewolf@gmail.com> | 2018-04-28 15:45:56 +0200 |
commit | 8d6b34f8630d6802e3570e8c6adcd2ad6fe4ddbe (patch) | |
tree | ea31afeae4f34af1f30a54898ed1ecc4b86d136c /js/src/threading/windows/ConditionVariable.cpp | |
parent | 46a069ec79c9342dc1bb1c2f1b450dad412aeb3f (diff) | |
download | UXP-8d6b34f8630d6802e3570e8c6adcd2ad6fe4ddbe.tar UXP-8d6b34f8630d6802e3570e8c6adcd2ad6fe4ddbe.tar.gz UXP-8d6b34f8630d6802e3570e8c6adcd2ad6fe4ddbe.tar.lz UXP-8d6b34f8630d6802e3570e8c6adcd2ad6fe4ddbe.tar.xz UXP-8d6b34f8630d6802e3570e8c6adcd2ad6fe4ddbe.zip |
Use SRWlocks for js mutexes on Windows.
Diffstat (limited to 'js/src/threading/windows/ConditionVariable.cpp')
-rw-r--r-- | js/src/threading/windows/ConditionVariable.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/js/src/threading/windows/ConditionVariable.cpp b/js/src/threading/windows/ConditionVariable.cpp index 3c75a0f27..92e0249b7 100644 --- a/js/src/threading/windows/ConditionVariable.cpp +++ b/js/src/threading/windows/ConditionVariable.cpp @@ -54,8 +54,8 @@ js::ConditionVariable::notify_all() void js::ConditionVariable::wait(UniqueLock<Mutex>& lock) { - CRITICAL_SECTION* cs = &lock.lock.platformData()->criticalSection; - bool r = SleepConditionVariableCS(&platformData()->cv_, cs, INFINITE); + SRWLOCK* srwlock = &lock.lock.platformData()->lock; + bool r = SleepConditionVariableSRW(&platformData()->cv_, srwlock, INFINITE, 0); MOZ_RELEASE_ASSERT(r); } @@ -70,7 +70,7 @@ js::CVStatus js::ConditionVariable::wait_for(UniqueLock<Mutex>& lock, const mozilla::TimeDuration& rel_time) { - CRITICAL_SECTION* cs = &lock.lock.platformData()->criticalSection; + SRWLOCK* srwlock = &lock.lock.platformData()->lock; // Note that DWORD is unsigned, so we have to be careful to clamp at 0. // If rel_time is Forever, then ToMilliseconds is +inf, which evaluates as @@ -82,7 +82,7 @@ js::ConditionVariable::wait_for(UniqueLock<Mutex>& lock, ? INFINITE : static_cast<DWORD>(msecd); - BOOL r = SleepConditionVariableCS(&platformData()->cv_, cs, msec); + BOOL r = SleepConditionVariableSRW(&platformData()->cv_, srwlock, msec, 0); if (r) return CVStatus::NoTimeout; MOZ_RELEASE_ASSERT(GetLastError() == ERROR_TIMEOUT); |