| Index: webrtc/system_wrappers/source/rw_lock_winxp_win.cc
|
| diff --git a/webrtc/system_wrappers/source/rw_lock_winxp_win.cc b/webrtc/system_wrappers/source/rw_lock_winxp_win.cc
|
| deleted file mode 100644
|
| index 9393c9f91a7af89a26c84c579ba57b6f5ca68919..0000000000000000000000000000000000000000
|
| --- a/webrtc/system_wrappers/source/rw_lock_winxp_win.cc
|
| +++ /dev/null
|
| @@ -1,79 +0,0 @@
|
| -/*
|
| - * Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
|
| - *
|
| - * Use of this source code is governed by a BSD-style license
|
| - * that can be found in the LICENSE file in the root of the source
|
| - * tree. An additional intellectual property rights grant can be found
|
| - * in the file PATENTS. All contributing project authors may
|
| - * be found in the AUTHORS file in the root of the source tree.
|
| - */
|
| -
|
| -#include "webrtc/system_wrappers/source/rw_lock_winxp_win.h"
|
| -
|
| -namespace webrtc {
|
| -namespace {
|
| -class ScopedLock {
|
| - public:
|
| - ScopedLock(CRITICAL_SECTION* lock) : lock_(lock) {
|
| - EnterCriticalSection(lock_);
|
| - }
|
| - ~ScopedLock() {
|
| - LeaveCriticalSection(lock_);
|
| - }
|
| - private:
|
| - CRITICAL_SECTION* const lock_;
|
| -};
|
| -}
|
| -
|
| -RWLockWinXP::RWLockWinXP() {
|
| - InitializeCriticalSection(&critical_section_);
|
| -}
|
| -
|
| -RWLockWinXP::~RWLockWinXP() {
|
| - DeleteCriticalSection(&critical_section_);
|
| -}
|
| -
|
| -void RWLockWinXP::AcquireLockExclusive() {
|
| - ScopedLock cs(&critical_section_);
|
| - if (writer_active_ || readers_active_ > 0) {
|
| - ++writers_waiting_;
|
| - while (writer_active_ || readers_active_ > 0) {
|
| - write_condition_.SleepCS(&critical_section_);
|
| - }
|
| - --writers_waiting_;
|
| - }
|
| - writer_active_ = true;
|
| -}
|
| -
|
| -void RWLockWinXP::ReleaseLockExclusive() {
|
| - ScopedLock cs(&critical_section_);
|
| - writer_active_ = false;
|
| - if (writers_waiting_ > 0) {
|
| - write_condition_.Wake();
|
| - } else if (readers_waiting_ > 0) {
|
| - read_condition_.WakeAll();
|
| - }
|
| -}
|
| -
|
| -void RWLockWinXP::AcquireLockShared() {
|
| - ScopedLock cs(&critical_section_);
|
| - if (writer_active_ || writers_waiting_ > 0) {
|
| - ++readers_waiting_;
|
| -
|
| - while (writer_active_ || writers_waiting_ > 0) {
|
| - read_condition_.SleepCS(&critical_section_);
|
| - }
|
| - --readers_waiting_;
|
| - }
|
| - ++readers_active_;
|
| -}
|
| -
|
| -void RWLockWinXP::ReleaseLockShared() {
|
| - ScopedLock cs(&critical_section_);
|
| - --readers_active_;
|
| - if (readers_active_ == 0 && writers_waiting_ > 0) {
|
| - write_condition_.Wake();
|
| - }
|
| -}
|
| -
|
| -} // namespace webrtc
|
|
|