Index: webrtc/system_wrappers/source/rw_lock_generic.cc |
diff --git a/webrtc/system_wrappers/source/rw_lock_generic.cc b/webrtc/system_wrappers/source/rw_lock_generic.cc |
deleted file mode 100644 |
index 9786155a634ba18b5a27920046514c68129999ed..0000000000000000000000000000000000000000 |
--- a/webrtc/system_wrappers/source/rw_lock_generic.cc |
+++ /dev/null |
@@ -1,77 +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_generic.h" |
- |
-#include "webrtc/system_wrappers/include/condition_variable_wrapper.h" |
-#include "webrtc/system_wrappers/include/critical_section_wrapper.h" |
- |
-namespace webrtc { |
- |
-RWLockGeneric::RWLockGeneric() |
- : readers_active_(0), |
- writer_active_(false), |
- readers_waiting_(0), |
- writers_waiting_(0) { |
- critical_section_ = CriticalSectionWrapper::CreateCriticalSection(); |
- read_condition_ = ConditionVariableWrapper::CreateConditionVariable(); |
- write_condition_ = ConditionVariableWrapper::CreateConditionVariable(); |
-} |
- |
-RWLockGeneric::~RWLockGeneric() { |
- delete write_condition_; |
- delete read_condition_; |
- delete critical_section_; |
-} |
- |
-void RWLockGeneric::AcquireLockExclusive() { |
- CriticalSectionScoped 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 RWLockGeneric::ReleaseLockExclusive() { |
- CriticalSectionScoped cs(critical_section_); |
- writer_active_ = false; |
- if (writers_waiting_ > 0) { |
- write_condition_->Wake(); |
- } else if (readers_waiting_ > 0) { |
- read_condition_->WakeAll(); |
- } |
-} |
- |
-void RWLockGeneric::AcquireLockShared() { |
- CriticalSectionScoped 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 RWLockGeneric::ReleaseLockShared() { |
- CriticalSectionScoped cs(critical_section_); |
- --readers_active_; |
- if (readers_active_ == 0 && writers_waiting_ > 0) { |
- write_condition_->Wake(); |
- } |
-} |
- |
-} // namespace webrtc |