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

Side by Side Diff: base/threading/platform_thread_internal_posix.h

Issue 1870033002: Fix NiceValueToThreadPriority failing on an unknown nice value. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Apply gab's comments. Created 4 years, 8 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef BASE_THREADING_PLATFORM_THREAD_INTERNAL_POSIX_H_ 5 #ifndef BASE_THREADING_PLATFORM_THREAD_INTERNAL_POSIX_H_
6 #define BASE_THREADING_PLATFORM_THREAD_INTERNAL_POSIX_H_ 6 #define BASE_THREADING_PLATFORM_THREAD_INTERNAL_POSIX_H_
7 7
8 #include "base/base_export.h"
8 #include "base/threading/platform_thread.h" 9 #include "base/threading/platform_thread.h"
9 10
10 namespace base { 11 namespace base {
11 12
12 namespace internal { 13 namespace internal {
13 14
14 struct ThreadPriorityToNiceValuePair { 15 struct ThreadPriorityToNiceValuePair {
15 ThreadPriority priority; 16 ThreadPriority priority;
16 int nice_value; 17 int nice_value;
17 }; 18 };
19 // The elements must be listed in the order of increasing priority (lowest
20 // priority first), that is, in the order of decreasing nice values (highest
21 // nice value first).
18 extern const ThreadPriorityToNiceValuePair kThreadPriorityToNiceValueMap[4]; 22 extern const ThreadPriorityToNiceValuePair kThreadPriorityToNiceValueMap[4];
19 23
20 // Returns the nice value matching |priority| based on the platform-specific 24 // Returns the nice value matching |priority| based on the platform-specific
21 // implementation of kThreadPriorityToNiceValueMap. 25 // implementation of kThreadPriorityToNiceValueMap.
22 int ThreadPriorityToNiceValue(ThreadPriority priority); 26 int ThreadPriorityToNiceValue(ThreadPriority priority);
23 27
24 // Returns the ThreadPrioirty matching |nice_value| based on the platform- 28 // Returns the ThreadPrioirty matching |nice_value| based on the platform-
25 // specific implementation of kThreadPriorityToNiceValueMap. 29 // specific implementation of kThreadPriorityToNiceValueMap.
26 ThreadPriority NiceValueToThreadPriority(int nice_value); 30 BASE_EXPORT ThreadPriority NiceValueToThreadPriority(int nice_value);
27 31
28 // Allows platform specific tweaks to the generic POSIX solution for 32 // Allows platform specific tweaks to the generic POSIX solution for
29 // SetCurrentThreadPriority. Returns true if the platform-specific 33 // SetCurrentThreadPriority. Returns true if the platform-specific
30 // implementation handled this |priority| change, false if the generic 34 // implementation handled this |priority| change, false if the generic
31 // implementation should instead proceed. 35 // implementation should instead proceed.
32 bool SetCurrentThreadPriorityForPlatform(ThreadPriority priority); 36 bool SetCurrentThreadPriorityForPlatform(ThreadPriority priority);
33 37
34 // Returns true if there is a platform-specific ThreadPriority set on the 38 // Returns true if there is a platform-specific ThreadPriority set on the
35 // current thread (and returns the actual ThreadPriority via |priority|). 39 // current thread (and returns the actual ThreadPriority via |priority|).
36 // Returns false otherwise, leaving |priority| untouched. 40 // Returns false otherwise, leaving |priority| untouched.
37 bool GetCurrentThreadPriorityForPlatform(ThreadPriority* priority); 41 bool GetCurrentThreadPriorityForPlatform(ThreadPriority* priority);
38 42
39 } // namespace internal 43 } // namespace internal
40 44
41 } // namespace base 45 } // namespace base
42 46
43 #endif // BASE_THREADING_PLATFORM_THREAD_INTERNAL_POSIX_H_ 47 #endif // BASE_THREADING_PLATFORM_THREAD_INTERNAL_POSIX_H_
OLDNEW
« no previous file with comments | « no previous file | base/threading/platform_thread_internal_posix.cc » ('j') | base/threading/platform_thread_internal_posix.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698