mirror of
https://github.com/klzgrad/naiveproxy.git
synced 2024-12-01 01:36:09 +03:00
49 lines
1.8 KiB
C++
49 lines
1.8 KiB
C++
// Copyright 2015 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.
|
|
|
|
#ifndef BASE_THREADING_PLATFORM_THREAD_INTERNAL_POSIX_H_
|
|
#define BASE_THREADING_PLATFORM_THREAD_INTERNAL_POSIX_H_
|
|
|
|
#include "base/base_export.h"
|
|
#include "base/threading/platform_thread.h"
|
|
|
|
namespace base {
|
|
|
|
namespace internal {
|
|
|
|
struct ThreadPriorityToNiceValuePair {
|
|
ThreadPriority priority;
|
|
int nice_value;
|
|
};
|
|
// The elements must be listed in the order of increasing priority (lowest
|
|
// priority first), that is, in the order of decreasing nice values (highest
|
|
// nice value first).
|
|
BASE_EXPORT extern
|
|
const ThreadPriorityToNiceValuePair kThreadPriorityToNiceValueMap[4];
|
|
|
|
// Returns the nice value matching |priority| based on the platform-specific
|
|
// implementation of kThreadPriorityToNiceValueMap.
|
|
int ThreadPriorityToNiceValue(ThreadPriority priority);
|
|
|
|
// Returns the ThreadPrioirty matching |nice_value| based on the platform-
|
|
// specific implementation of kThreadPriorityToNiceValueMap.
|
|
BASE_EXPORT ThreadPriority NiceValueToThreadPriority(int nice_value);
|
|
|
|
// Allows platform specific tweaks to the generic POSIX solution for
|
|
// SetCurrentThreadPriority. Returns true if the platform-specific
|
|
// implementation handled this |priority| change, false if the generic
|
|
// implementation should instead proceed.
|
|
bool SetCurrentThreadPriorityForPlatform(ThreadPriority priority);
|
|
|
|
// Returns true if there is a platform-specific ThreadPriority set on the
|
|
// current thread (and returns the actual ThreadPriority via |priority|).
|
|
// Returns false otherwise, leaving |priority| untouched.
|
|
bool GetCurrentThreadPriorityForPlatform(ThreadPriority* priority);
|
|
|
|
} // namespace internal
|
|
|
|
} // namespace base
|
|
|
|
#endif // BASE_THREADING_PLATFORM_THREAD_INTERNAL_POSIX_H_
|