OLD | NEW |
---|---|
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 #include "base/process/process.h" | 5 #include "base/process/process.h" |
6 | 6 |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
9 #include "base/win/windows_version.h" | 9 #include "base/win/windows_version.h" |
10 | 10 |
(...skipping 21 matching lines...) Expand all Loading... | |
32 } | 32 } |
33 | 33 |
34 // static | 34 // static |
35 Process Process::Current() { | 35 Process Process::Current() { |
36 Process process; | 36 Process process; |
37 process.is_current_process_ = true; | 37 process.is_current_process_ = true; |
38 return process.Pass(); | 38 return process.Pass(); |
39 } | 39 } |
40 | 40 |
41 // static | 41 // static |
42 Process Process::DeprecatedGetProcessFromHandle(ProcessHandle handle) { | |
43 DCHECK_NE(handle, ::GetCurrentProcess()); | |
44 ProcessHandle out_handle; | |
45 if (!::DuplicateHandle(GetCurrentProcess(), handle, | |
46 GetCurrentProcess(), &out_handle, | |
47 0, FALSE, DUPLICATE_SAME_ACCESS)) { | |
48 return Process(); | |
cpu_(ooo_6.6-7.5)
2014/11/18 01:40:42
no dcheck before returning at 48?
rvargas (doing something else)
2014/11/18 01:52:34
I don't think so. I'm mostly going by what we do a
| |
49 } | |
50 return Process(out_handle); | |
51 } | |
52 | |
53 // static | |
42 bool Process::CanBackgroundProcesses() { | 54 bool Process::CanBackgroundProcesses() { |
43 return true; | 55 return true; |
44 } | 56 } |
45 | 57 |
46 bool Process::IsValid() const { | 58 bool Process::IsValid() const { |
47 return process_.IsValid() || is_current(); | 59 return process_.IsValid() || is_current(); |
48 } | 60 } |
49 | 61 |
50 ProcessHandle Process::Handle() const { | 62 ProcessHandle Process::Handle() const { |
51 return is_current_process_ ? GetCurrentProcess() : process_.Get(); | 63 return is_current_process_ ? GetCurrentProcess() : process_.Get(); |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
122 | 134 |
123 return (::SetPriorityClass(Handle(), priority) != 0); | 135 return (::SetPriorityClass(Handle(), priority) != 0); |
124 } | 136 } |
125 | 137 |
126 int Process::GetPriority() const { | 138 int Process::GetPriority() const { |
127 DCHECK(IsValid()); | 139 DCHECK(IsValid()); |
128 return ::GetPriorityClass(Handle()); | 140 return ::GetPriorityClass(Handle()); |
129 } | 141 } |
130 | 142 |
131 } // namespace base | 143 } // namespace base |
OLD | NEW |