Repo created
This commit is contained in:
parent
81b91f4139
commit
f8c34fa5ee
22732 changed files with 4815320 additions and 2 deletions
|
|
@ -0,0 +1,50 @@
|
|||
// Copyright 2018 The Chromium Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
#include "base/threading/platform_thread.h"
|
||||
|
||||
#include <memory>
|
||||
|
||||
#include "base/feature_list.h"
|
||||
|
||||
namespace base {
|
||||
|
||||
namespace {
|
||||
|
||||
// Whether thread priorities should be used. When disabled,
|
||||
// PlatformThread::SetCurrentThreadPriority() no-ops.
|
||||
const Feature kThreadPrioritiesFeature{"ThreadPriorities",
|
||||
FEATURE_ENABLED_BY_DEFAULT};
|
||||
|
||||
// Whether thread priorities should be used.
|
||||
//
|
||||
// PlatformThread::SetCurrentThreadPriority() doesn't query the state of the
|
||||
// feature directly because FeatureList initialization is not always
|
||||
// synchronized with PlatformThread::SetCurrentThreadPriority().
|
||||
std::atomic<bool> g_use_thread_priorities(true);
|
||||
|
||||
} // namespace
|
||||
|
||||
// static
|
||||
void PlatformThread::SetCurrentThreadPriority(ThreadPriority priority) {
|
||||
if (g_use_thread_priorities.load())
|
||||
SetCurrentThreadPriorityImpl(priority);
|
||||
}
|
||||
|
||||
namespace internal {
|
||||
|
||||
void InitializeThreadPrioritiesFeature() {
|
||||
// A DCHECK is triggered on FeatureList initialization if the state of a
|
||||
// feature has been checked before. To avoid triggering this DCHECK in unit
|
||||
// tests that call this before initializing the FeatureList, only check the
|
||||
// state of the feature if the FeatureList is initialized.
|
||||
if (FeatureList::GetInstance() &&
|
||||
!FeatureList::IsEnabled(kThreadPrioritiesFeature)) {
|
||||
g_use_thread_priorities.store(false);
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace internal
|
||||
|
||||
} // namespace base
|
||||
Loading…
Add table
Add a link
Reference in a new issue