Index: webrtc/system_wrappers/include/critical_section_wrapper.h |
diff --git a/webrtc/system_wrappers/include/critical_section_wrapper.h b/webrtc/system_wrappers/include/critical_section_wrapper.h |
index 777dec5cf0aae767af10823cea8801abeec09ccb..0858b4f6d1a58ad9f3d6c7dceccfa3fec4fe22c5 100644 |
--- a/webrtc/system_wrappers/include/critical_section_wrapper.h |
+++ b/webrtc/system_wrappers/include/critical_section_wrapper.h |
@@ -11,15 +11,7 @@ |
#ifndef WEBRTC_SYSTEM_WRAPPERS_INCLUDE_CRITICAL_SECTION_WRAPPER_H_ |
#define WEBRTC_SYSTEM_WRAPPERS_INCLUDE_CRITICAL_SECTION_WRAPPER_H_ |
-// If the critical section is heavily contended it may be beneficial to use |
-// read/write locks instead. |
- |
-#if defined (WEBRTC_WIN) |
-#include <windows.h> |
-#else |
-#include <pthread.h> |
-#endif |
- |
+#include "webrtc/base/criticalsection.h" |
#include "webrtc/base/thread_annotations.h" |
#include "webrtc/common_types.h" |
@@ -29,26 +21,23 @@ class LOCKABLE CriticalSectionWrapper { |
public: |
// Legacy factory method, being deprecated. Please use the constructor. |
// TODO(tommi): Remove the CriticalSectionWrapper class and move users over |
- // to using rtc::CriticalSection. Before we can do that though, we need to |
- // fix the problem with the ConditionVariable* classes (see below). |
- static CriticalSectionWrapper* CreateCriticalSection(); |
+ // to using rtc::CriticalSection. |
+ static CriticalSectionWrapper* CreateCriticalSection() { |
+ return new CriticalSectionWrapper(); |
+ } |
- CriticalSectionWrapper(); |
- ~CriticalSectionWrapper(); |
+ CriticalSectionWrapper() {} |
+ ~CriticalSectionWrapper() {} |
// Tries to grab lock, beginning of a critical section. Will wait for the |
// lock to become available if the grab failed. |
- void Enter() EXCLUSIVE_LOCK_FUNCTION(); |
+ void Enter() EXCLUSIVE_LOCK_FUNCTION() { lock_.Enter(); } |
// Returns a grabbed lock, end of critical section. |
- void Leave() UNLOCK_FUNCTION(); |
+ void Leave() UNLOCK_FUNCTION() { lock_.Leave(); } |
-private: |
-#if defined (WEBRTC_WIN) |
- CRITICAL_SECTION crit_; |
-#else |
- pthread_mutex_t mutex_; |
-#endif |
+ private: |
+ rtc::CriticalSection lock_; |
}; |
// RAII extension of the critical section. Prevents Enter/Leave mismatches and |