Index: base/threading/platform_thread.h |
diff --git a/base/threading/platform_thread.h b/base/threading/platform_thread.h |
index 3468f45f91efd4929ea838f91559251a2d75a4ef..0b922650f0cf405878b6d345bb98f6c2959333c3 100644 |
--- a/base/threading/platform_thread.h |
+++ b/base/threading/platform_thread.h |
@@ -89,6 +89,7 @@ class PlatformThreadHandle { |
id_(id) { |
} |
+ // TODO(toyoshim): Remove id() and use PlatformThread::CurrentId() instead. |
PlatformThreadId id() const { |
return id_; |
} |
@@ -112,8 +113,8 @@ class PlatformThreadHandle { |
const PlatformThreadId kInvalidThreadId(0); |
-// Valid values for SetThreadPriority(), listed in increasing order of |
-// importance. |
+// Valid values for priority of Thread::Options and SimpleThread::Options, and |
+// SetCurrentThreadPriority(), listed in increasing order of importance. |
enum class ThreadPriority { |
// Suitable for threads that shouldn't disrupt high priority work. |
BACKGROUND, |
@@ -176,8 +177,7 @@ class BASE_EXPORT PlatformThread { |
PlatformThreadHandle* thread_handle); |
// CreateWithPriority() does the same thing as Create() except the priority of |
- // the thread is set based on |priority|. Can be used in place of Create() |
- // followed by SetThreadPriority(). |
+ // the thread is set based on |priority|. |
static bool CreateWithPriority(size_t stack_size, Delegate* delegate, |
PlatformThreadHandle* thread_handle, |
ThreadPriority priority); |
@@ -192,15 +192,15 @@ class BASE_EXPORT PlatformThread { |
// |thread_handle|. |
static void Join(PlatformThreadHandle thread_handle); |
- // Toggles the target thread's priority at runtime. Prefer |
- // CreateWithPriority() to set the thread's initial priority. |
- // NOTE: The call may fail if the caller thread is not the same as the |
- // target thread on POSIX. For example, seccomp-bpf blocks it by default |
- // in the sandbox. |
- static void SetThreadPriority(PlatformThreadHandle handle, |
- ThreadPriority priority); |
+ // Toggles the current thread's priority at runtime. A thread may not be able |
+ // to raise its priority back up after lowering it if the process does not |
+ // have a proper permission, e.g. CAP_SYS_NICE on Linux. |
+ // Since changing other threads' priority is not permitted in favor of |
+ // security, this interface is restricted to change only the current thread |
+ // priority (https://crbug.com/399473). |
+ static void SetCurrentThreadPriority(ThreadPriority priority); |
- static ThreadPriority GetThreadPriority(PlatformThreadHandle handle); |
+ static ThreadPriority GetCurrentThreadPriority(); |
private: |
DISALLOW_IMPLICIT_CONSTRUCTORS(PlatformThread); |