Index: webrtc/system_wrappers/source/condition_variable_native_win.cc |
diff --git a/webrtc/system_wrappers/source/condition_variable_native_win.cc b/webrtc/system_wrappers/source/condition_variable_native_win.cc |
deleted file mode 100644 |
index 3c0723090764962353aa57285beb75e46cbde9a6..0000000000000000000000000000000000000000 |
--- a/webrtc/system_wrappers/source/condition_variable_native_win.cc |
+++ /dev/null |
@@ -1,102 +0,0 @@ |
-/* |
- * Copyright (c) 2013 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/include/critical_section_wrapper.h" |
-#include "webrtc/system_wrappers/include/trace.h" |
-#include "webrtc/system_wrappers/source/condition_variable_native_win.h" |
- |
-namespace webrtc { |
- |
-static HMODULE library = NULL; |
-static bool win_support_condition_variables_primitive = false; |
- |
-PInitializeConditionVariable PInitializeConditionVariable_; |
-PSleepConditionVariableCS PSleepConditionVariableCS_; |
-PWakeConditionVariable PWakeConditionVariable_; |
-PWakeAllConditionVariable PWakeAllConditionVariable_; |
- |
-typedef void (WINAPI *PInitializeConditionVariable)(PCONDITION_VARIABLE); |
-typedef BOOL (WINAPI *PSleepConditionVariableCS)(PCONDITION_VARIABLE, |
- PCRITICAL_SECTION, DWORD); |
-typedef void (WINAPI *PWakeConditionVariable)(PCONDITION_VARIABLE); |
-typedef void (WINAPI *PWakeAllConditionVariable)(PCONDITION_VARIABLE); |
- |
-ConditionVariableNativeWin::ConditionVariableNativeWin() { |
-} |
- |
-ConditionVariableNativeWin::~ConditionVariableNativeWin() { |
-} |
- |
-ConditionVariableWrapper* ConditionVariableNativeWin::Create() { |
- ConditionVariableNativeWin* ret_val = new ConditionVariableNativeWin(); |
- if (!ret_val->Init()) { |
- delete ret_val; |
- return NULL; |
- } |
- return ret_val; |
-} |
- |
-bool ConditionVariableNativeWin::Init() { |
- if (!library) { |
- // Native implementation is supported on Vista+. |
- library = LoadLibrary(TEXT("Kernel32.dll")); |
- // TODO(henrike): this code results in an attempt to load the above dll |
- // every time the previous attempt failed. Only try to load once. |
- if (library) { |
- // TODO(henrike): not thread safe as reading and writing to library is not |
- // serialized. Fix. |
- WEBRTC_TRACE(kTraceStateInfo, kTraceUtility, -1, "Loaded Kernel.dll"); |
- |
- PInitializeConditionVariable_ = |
- (PInitializeConditionVariable) GetProcAddress( |
- library, "InitializeConditionVariable"); |
- PSleepConditionVariableCS_ = (PSleepConditionVariableCS) GetProcAddress( |
- library, "SleepConditionVariableCS"); |
- PWakeConditionVariable_ = (PWakeConditionVariable) GetProcAddress( |
- library, "WakeConditionVariable"); |
- PWakeAllConditionVariable_ = (PWakeAllConditionVariable) GetProcAddress( |
- library, "WakeAllConditionVariable"); |
- |
- if (PInitializeConditionVariable_ && PSleepConditionVariableCS_ |
- && PWakeConditionVariable_ && PWakeAllConditionVariable_) { |
- WEBRTC_TRACE( |
- kTraceStateInfo, kTraceUtility, -1, |
- "Loaded native condition variables"); |
- win_support_condition_variables_primitive = true; |
- } |
- } |
- } |
- if (!win_support_condition_variables_primitive) { |
- return false; |
- } |
- PInitializeConditionVariable_(&condition_variable_); |
- return true; |
-} |
- |
-void ConditionVariableNativeWin::SleepCS(CriticalSectionWrapper& crit_sect) { |
- SleepCS(crit_sect, INFINITE); |
-} |
- |
-bool ConditionVariableNativeWin::SleepCS(CriticalSectionWrapper& crit_sect, |
- unsigned long max_time_in_ms) { |
- BOOL ret_val = PSleepConditionVariableCS_(&condition_variable_, |
- &crit_sect.crit_, max_time_in_ms); |
- return ret_val != 0; |
-} |
- |
-void ConditionVariableNativeWin::Wake() { |
- PWakeConditionVariable_(&condition_variable_); |
-} |
- |
-void ConditionVariableNativeWin::WakeAll() { |
- PWakeAllConditionVariable_(&condition_variable_); |
-} |
- |
-} // namespace webrtc |