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

Unified Diff: webrtc/system_wrappers/source/condition_variable_native_win.cc

Issue 1601523009: Remove ConditionVariableWrapper. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Move include inside guard Created 4 years, 11 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
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

Powered by Google App Engine
This is Rietveld 408576698