OLD | NEW |
1 // Copyright 2014 The Crashpad Authors. All rights reserved. | 1 // Copyright 2014 The Crashpad Authors. All rights reserved. |
2 // | 2 // |
3 // Licensed under the Apache License, Version 2.0 (the "License"); | 3 // Licensed under the Apache License, Version 2.0 (the "License"); |
4 // you may not use this file except in compliance with the License. | 4 // you may not use this file except in compliance with the License. |
5 // You may obtain a copy of the License at | 5 // You may obtain a copy of the License at |
6 // | 6 // |
7 // http://www.apache.org/licenses/LICENSE-2.0 | 7 // http://www.apache.org/licenses/LICENSE-2.0 |
8 // | 8 // |
9 // Unless required by applicable law or agreed to in writing, software | 9 // Unless required by applicable law or agreed to in writing, software |
10 // distributed under the License is distributed on an "AS IS" BASIS, | 10 // distributed under the License is distributed on an "AS IS" BASIS, |
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
125 all_groups.insert(EffectiveGroupID()); | 125 all_groups.insert(EffectiveGroupID()); |
126 all_groups.insert(SavedGroupID()); | 126 all_groups.insert(SavedGroupID()); |
127 return all_groups; | 127 return all_groups; |
128 } | 128 } |
129 | 129 |
130 bool ProcessInfo::DidChangePrivileges() const { | 130 bool ProcessInfo::DidChangePrivileges() const { |
131 INITIALIZATION_STATE_DCHECK_VALID(initialized_); | 131 INITIALIZATION_STATE_DCHECK_VALID(initialized_); |
132 return kern_proc_info_.kp_proc.p_flag & P_SUGID; | 132 return kern_proc_info_.kp_proc.p_flag & P_SUGID; |
133 } | 133 } |
134 | 134 |
135 bool ProcessInfo::Is64Bit() const { | 135 bool ProcessInfo::Is64Bit(bool* is_64_bit) const { |
136 INITIALIZATION_STATE_DCHECK_VALID(initialized_); | 136 INITIALIZATION_STATE_DCHECK_VALID(initialized_); |
137 return kern_proc_info_.kp_proc.p_flag & P_LP64; | 137 *is_64_bit = kern_proc_info_.kp_proc.p_flag & P_LP64; |
| 138 return true; |
138 } | 139 } |
139 | 140 |
140 void ProcessInfo::StartTime(timeval* start_time) const { | 141 bool ProcessInfo::StartTime(timeval* start_time) const { |
141 INITIALIZATION_STATE_DCHECK_VALID(initialized_); | 142 INITIALIZATION_STATE_DCHECK_VALID(initialized_); |
142 *start_time = kern_proc_info_.kp_proc.p_starttime; | 143 *start_time = kern_proc_info_.kp_proc.p_starttime; |
| 144 return true; |
143 } | 145 } |
144 | 146 |
145 bool ProcessInfo::Arguments(std::vector<std::string>* argv) const { | 147 bool ProcessInfo::Arguments(std::vector<std::string>* argv) const { |
146 INITIALIZATION_STATE_DCHECK_VALID(initialized_); | 148 INITIALIZATION_STATE_DCHECK_VALID(initialized_); |
147 | 149 |
148 // The format of KERN_PROCARGS2 is explained in 10.9.2 adv_cmds-153/ps/print.c | 150 // The format of KERN_PROCARGS2 is explained in 10.9.2 adv_cmds-153/ps/print.c |
149 // getproclline(). It is an int (argc) followed by the executable’s string | 151 // getproclline(). It is an int (argc) followed by the executable’s string |
150 // area. The string area consists of NUL-terminated strings, beginning with | 152 // area. The string area consists of NUL-terminated strings, beginning with |
151 // the executable path, and then starting on an aligned boundary, all of the | 153 // the executable path, and then starting on an aligned boundary, all of the |
152 // elements of argv, envp, and applev. | 154 // elements of argv, envp, and applev. |
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
224 // Not every argument was recovered. | 226 // Not every argument was recovered. |
225 LOG(ERROR) << "did not recover all arguments"; | 227 LOG(ERROR) << "did not recover all arguments"; |
226 return false; | 228 return false; |
227 } | 229 } |
228 | 230 |
229 argv->swap(local_argv); | 231 argv->swap(local_argv); |
230 return true; | 232 return true; |
231 } | 233 } |
232 | 234 |
233 } // namespace crashpad | 235 } // namespace crashpad |
OLD | NEW |