Chromium Code Reviews| Index: base/threading/platform_thread.h |
| diff --git a/base/threading/platform_thread.h b/base/threading/platform_thread.h |
| index 3468f45f91efd4929ea838f91559251a2d75a4ef..786077266aac4b01c65654c2d37a1df4d3923053 100644 |
| --- a/base/threading/platform_thread.h |
| +++ b/base/threading/platform_thread.h |
| @@ -73,25 +73,9 @@ class PlatformThreadHandle { |
| typedef pthread_t Handle; |
| #endif |
| - PlatformThreadHandle() |
| - : handle_(0), |
| - id_(0) { |
| - } |
| - |
| - explicit PlatformThreadHandle(Handle handle) |
| - : handle_(handle), |
| - id_(0) { |
| - } |
| + PlatformThreadHandle() : handle_(0) {} |
| - PlatformThreadHandle(Handle handle, |
| - PlatformThreadId id) |
| - : handle_(handle), |
| - id_(id) { |
| - } |
| - |
| - PlatformThreadId id() const { |
| - return id_; |
| - } |
| + explicit PlatformThreadHandle(Handle handle) : handle_(handle) {} |
| bool is_equal(const PlatformThreadHandle& other) const { |
| return handle_ == other.handle_; |
| @@ -107,13 +91,12 @@ class PlatformThreadHandle { |
| private: |
| Handle handle_; |
| - PlatformThreadId id_; |
| }; |
| 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 +159,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 +174,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); |
|
gab
2015/07/08 18:35:20
I'm confused, why has the change from SetThreadPri
Takashi Toyoshima
2015/07/09 03:39:22
This patch set 5 contains the CL for SetCurrentThr
|
| - static ThreadPriority GetThreadPriority(PlatformThreadHandle handle); |
| + static ThreadPriority GetCurrentThreadPriority(); |
| private: |
| DISALLOW_IMPLICIT_CONSTRUCTORS(PlatformThread); |