mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
46 lines
1.7 KiB
C++
46 lines
1.7 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/threading/platform_thread.h"
|
|
|
|
namespace base {
|
|
|
|
namespace internal {
|
|
|
|
struct ThreadPriorityToNiceValuePair {
|
|
ThreadPriority priority;
|
|
int nice_value;
|
|
};
|
|
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.
|
|
ThreadPriority NiceValueToThreadPriority(int nice_value);
|
|
|
|
// Allows platform specific tweaks to the generic POSIX solution for
|
|
// SetThreadPriority. Returns true if the platform-specific implementation
|
|
// handled this |priority| change, false if the generic implementation should
|
|
// instead proceed.
|
|
bool SetThreadPriorityForPlatform(PlatformThreadHandle handle,
|
|
ThreadPriority priority);
|
|
|
|
// Returns true if there is a platform-specific ThreadPriority set on |handle|
|
|
// (and returns the actual ThreadPriority via |priority|). Returns false
|
|
// otherwise, leaving |priority| untouched.
|
|
bool GetThreadPriorityForPlatform(PlatformThreadHandle handle,
|
|
ThreadPriority* priority);
|
|
|
|
} // namespace internal
|
|
|
|
} // namespace base
|
|
|
|
#endif // BASE_THREADING_PLATFORM_THREAD_INTERNAL_POSIX_H_
|