1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef BASE_THREADING_PLATFORM_THREAD_INTERNAL_POSIX_H_
6 #define BASE_THREADING_PLATFORM_THREAD_INTERNAL_POSIX_H_
8 #include "base/threading/platform_thread.h"
14 struct ThreadPriorityToNiceValuePair
{
15 ThreadPriority priority
;
18 extern const ThreadPriorityToNiceValuePair kThreadPriorityToNiceValueMap
[4];
20 // Returns the nice value matching |priority| based on the platform-specific
21 // implementation of kThreadPriorityToNiceValueMap.
22 int ThreadPriorityToNiceValue(ThreadPriority priority
);
24 // Returns the ThreadPrioirty matching |nice_value| based on the platform-
25 // specific implementation of kThreadPriorityToNiceValueMap.
26 ThreadPriority
NiceValueToThreadPriority(int nice_value
);
28 // Allows platform specific tweaks to the generic POSIX solution for
29 // SetThreadPriority. Returns true if the platform-specific implementation
30 // handled this |priority| change, false if the generic implementation should
32 bool SetThreadPriorityForPlatform(PlatformThreadHandle handle
,
33 ThreadPriority priority
);
35 // Returns true if there is a platform-specific ThreadPriority set on |handle|
36 // (and returns the actual ThreadPriority via |priority|). Returns false
37 // otherwise, leaving |priority| untouched.
38 bool GetThreadPriorityForPlatform(PlatformThreadHandle handle
,
39 ThreadPriority
* priority
);
41 } // namespace internal
45 #endif // BASE_THREADING_PLATFORM_THREAD_INTERNAL_POSIX_H_