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 // This file/namespace contains utility functions for enumerating, ending and | 5 // This file/namespace contains utility functions for enumerating, ending and |
6 // computing statistics of processes. | 6 // computing statistics of processes. |
7 | 7 |
8 #ifndef BASE_PROCESS_UTIL_H_ | 8 #ifndef BASE_PROCESS_UTIL_H_ |
9 #define BASE_PROCESS_UTIL_H_ | 9 #define BASE_PROCESS_UTIL_H_ |
10 #pragma once | 10 #pragma once |
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
218 LaunchOptions() : wait(false), | 218 LaunchOptions() : wait(false), |
219 #if defined(OS_WIN) | 219 #if defined(OS_WIN) |
220 start_hidden(false), inherit_handles(false), as_user(NULL), | 220 start_hidden(false), inherit_handles(false), as_user(NULL), |
221 empty_desktop_name(false), job_handle(NULL) | 221 empty_desktop_name(false), job_handle(NULL) |
222 #else | 222 #else |
223 environ(NULL), fds_to_remap(NULL), maximize_rlimits(NULL), | 223 environ(NULL), fds_to_remap(NULL), maximize_rlimits(NULL), |
224 new_process_group(false) | 224 new_process_group(false) |
225 #if defined(OS_LINUX) | 225 #if defined(OS_LINUX) |
226 , clone_flags(0) | 226 , clone_flags(0) |
227 #endif // OS_LINUX | 227 #endif // OS_LINUX |
| 228 #if defined(OS_CHROMEOS) |
| 229 , ctrl_terminal_fd(-1) |
| 230 #endif // OS_CHROMEOS |
228 #if defined(OS_MACOSX) | 231 #if defined(OS_MACOSX) |
229 , synchronize(NULL) | 232 , synchronize(NULL) |
230 #endif // defined(OS_MACOSX) | 233 #endif // defined(OS_MACOSX) |
231 #endif // !defined(OS_WIN) | 234 #endif // !defined(OS_WIN) |
232 {} | 235 {} |
233 | 236 |
234 // If true, wait for the process to complete. | 237 // If true, wait for the process to complete. |
235 bool wait; | 238 bool wait; |
236 | 239 |
237 #if defined(OS_WIN) | 240 #if defined(OS_WIN) |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
275 // If true, start the process in a new process group, instead of | 278 // If true, start the process in a new process group, instead of |
276 // inheriting the parent's process group. The pgid of the child process | 279 // inheriting the parent's process group. The pgid of the child process |
277 // will be the same as its pid. | 280 // will be the same as its pid. |
278 bool new_process_group; | 281 bool new_process_group; |
279 | 282 |
280 #if defined(OS_LINUX) | 283 #if defined(OS_LINUX) |
281 // If non-zero, start the process using clone(), using flags as provided. | 284 // If non-zero, start the process using clone(), using flags as provided. |
282 int clone_flags; | 285 int clone_flags; |
283 #endif // defined(OS_LINUX) | 286 #endif // defined(OS_LINUX) |
284 | 287 |
| 288 #if defined(OS_CHROMEOS) |
| 289 // If non-negative, the specified file descriptor will be set as the launched |
| 290 // process' controlling terminal. |
| 291 int ctrl_terminal_fd; |
| 292 #endif // defined(OS_CHROMEOS) |
| 293 |
285 #if defined(OS_MACOSX) | 294 #if defined(OS_MACOSX) |
286 // When non-NULL, a new LaunchSynchronizationHandle will be created and | 295 // When non-NULL, a new LaunchSynchronizationHandle will be created and |
287 // stored in *synchronize whenever LaunchProcess returns true in the parent | 296 // stored in *synchronize whenever LaunchProcess returns true in the parent |
288 // process. The child process will have been created (with fork) but will | 297 // process. The child process will have been created (with fork) but will |
289 // be waiting (before exec) for the parent to call LaunchSynchronize with | 298 // be waiting (before exec) for the parent to call LaunchSynchronize with |
290 // this handle. Only when LaunchSynchronize is called will the child be | 299 // this handle. Only when LaunchSynchronize is called will the child be |
291 // permitted to continue execution and call exec. LaunchSynchronize | 300 // permitted to continue execution and call exec. LaunchSynchronize |
292 // destroys the handle created by LaunchProcess. | 301 // destroys the handle created by LaunchProcess. |
293 // | 302 // |
294 // When synchronize is non-NULL, the parent must call LaunchSynchronize | 303 // When synchronize is non-NULL, the parent must call LaunchSynchronize |
(...skipping 519 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
814 // instance running inside the parent. The parent's Breakpad instance should | 823 // instance running inside the parent. The parent's Breakpad instance should |
815 // not handle the child's exceptions. Calling RestoreDefaultExceptionHandler | 824 // not handle the child's exceptions. Calling RestoreDefaultExceptionHandler |
816 // in the child after forking will restore the standard exception handler. | 825 // in the child after forking will restore the standard exception handler. |
817 // See http://crbug.com/20371/ for more details. | 826 // See http://crbug.com/20371/ for more details. |
818 void RestoreDefaultExceptionHandler(); | 827 void RestoreDefaultExceptionHandler(); |
819 #endif // defined(OS_MACOSX) | 828 #endif // defined(OS_MACOSX) |
820 | 829 |
821 } // namespace base | 830 } // namespace base |
822 | 831 |
823 #endif // BASE_PROCESS_UTIL_H_ | 832 #endif // BASE_PROCESS_UTIL_H_ |
OLD | NEW |