Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(365)

Unified Diff: webrtc/base/sharedexclusivelock.h

Issue 2865083002: Delete unused class SharedExclusiveLock. (Closed)
Patch Set: Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « webrtc/base/BUILD.gn ('k') | webrtc/base/sharedexclusivelock.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/base/sharedexclusivelock.h
diff --git a/webrtc/base/sharedexclusivelock.h b/webrtc/base/sharedexclusivelock.h
deleted file mode 100644
index a6ca5735a21fa3b5b7114f5e3433ca86e6c24964..0000000000000000000000000000000000000000
--- a/webrtc/base/sharedexclusivelock.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Copyright 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.
- */
-
-#ifndef WEBRTC_BASE_SHAREDEXCLUSIVELOCK_H_
-#define WEBRTC_BASE_SHAREDEXCLUSIVELOCK_H_
-
-#include "webrtc/base/constructormagic.h"
-#include "webrtc/base/criticalsection.h"
-#include "webrtc/base/event.h"
-
-namespace rtc {
-
-// This class provides shared-exclusive lock. It can be used in cases like
-// multiple-readers/single-writer model.
-class LOCKABLE SharedExclusiveLock {
- public:
- SharedExclusiveLock();
-
- // Locking/unlocking methods. It is encouraged to use SharedScope or
- // ExclusiveScope for protection.
- void LockExclusive() EXCLUSIVE_LOCK_FUNCTION();
- void UnlockExclusive() UNLOCK_FUNCTION();
- void LockShared();
- void UnlockShared();
-
- private:
- rtc::CriticalSection cs_exclusive_;
- rtc::CriticalSection cs_shared_;
- rtc::Event shared_count_is_zero_;
- int shared_count_;
-
- RTC_DISALLOW_COPY_AND_ASSIGN(SharedExclusiveLock);
-};
-
-class SCOPED_LOCKABLE SharedScope {
- public:
- explicit SharedScope(SharedExclusiveLock* lock) SHARED_LOCK_FUNCTION(lock)
- : lock_(lock) {
- lock_->LockShared();
- }
-
- ~SharedScope() UNLOCK_FUNCTION() { lock_->UnlockShared(); }
-
- private:
- SharedExclusiveLock* lock_;
-
- RTC_DISALLOW_COPY_AND_ASSIGN(SharedScope);
-};
-
-class SCOPED_LOCKABLE ExclusiveScope {
- public:
- explicit ExclusiveScope(SharedExclusiveLock* lock)
- EXCLUSIVE_LOCK_FUNCTION(lock)
- : lock_(lock) {
- lock_->LockExclusive();
- }
-
- ~ExclusiveScope() UNLOCK_FUNCTION() { lock_->UnlockExclusive(); }
-
- private:
- SharedExclusiveLock* lock_;
-
- RTC_DISALLOW_COPY_AND_ASSIGN(ExclusiveScope);
-};
-
-} // namespace rtc
-
-#endif // WEBRTC_BASE_SHAREDEXCLUSIVELOCK_H_
« no previous file with comments | « webrtc/base/BUILD.gn ('k') | webrtc/base/sharedexclusivelock.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698