Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(321)

Side by Side Diff: base/process/launch.h

Issue 2338133005: Add real_path option to LaunchProcess (Closed)
Patch Set: Make real_path posix only Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | base/process/launch_posix.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 contains functions for launching subprocesses. 5 // This file contains functions for launching subprocesses.
6 6
7 #ifndef BASE_PROCESS_LAUNCH_H_ 7 #ifndef BASE_PROCESS_LAUNCH_H_
8 #define BASE_PROCESS_LAUNCH_H_ 8 #define BASE_PROCESS_LAUNCH_H_
9 9
10 #include <stddef.h> 10 #include <stddef.h>
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
147 147
148 // By default, child processes will have the PR_SET_NO_NEW_PRIVS bit set. If 148 // By default, child processes will have the PR_SET_NO_NEW_PRIVS bit set. If
149 // true, then this bit will not be set in the new child process. 149 // true, then this bit will not be set in the new child process.
150 bool allow_new_privs = false; 150 bool allow_new_privs = false;
151 151
152 // Sets parent process death signal to SIGKILL. 152 // Sets parent process death signal to SIGKILL.
153 bool kill_on_parent_death = false; 153 bool kill_on_parent_death = false;
154 #endif // defined(OS_LINUX) 154 #endif // defined(OS_LINUX)
155 155
156 #if defined(OS_POSIX) 156 #if defined(OS_POSIX)
157 // If not empty, launch the specified executable instead of
158 // cmdline.GetProgram(). This is useful when it is necessary to pass a custom
159 // argv[0].
160 base::FilePath real_path;
161
157 // If non-null, a delegate to be run immediately prior to executing the new 162 // If non-null, a delegate to be run immediately prior to executing the new
158 // program in the child process. 163 // program in the child process.
159 // 164 //
160 // WARNING: If LaunchProcess is called in the presence of multiple threads, 165 // WARNING: If LaunchProcess is called in the presence of multiple threads,
161 // code running in this delegate essentially needs to be async-signal safe 166 // code running in this delegate essentially needs to be async-signal safe
162 // (see man 7 signal for a list of allowed functions). 167 // (see man 7 signal for a list of allowed functions).
163 PreExecDelegate* pre_exec_delegate = nullptr; 168 PreExecDelegate* pre_exec_delegate = nullptr;
164 #endif // defined(OS_POSIX) 169 #endif // defined(OS_POSIX)
165 170
166 #if defined(OS_CHROMEOS) 171 #if defined(OS_CHROMEOS)
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
299 // multiple threads are running, since at the time the fork happened, the 304 // multiple threads are running, since at the time the fork happened, the
300 // threads could have been in any state (potentially holding locks, etc.). 305 // threads could have been in any state (potentially holding locks, etc.).
301 // Callers should most likely call execve() in the child soon after calling 306 // Callers should most likely call execve() in the child soon after calling
302 // this. 307 // this.
303 BASE_EXPORT pid_t ForkWithFlags(unsigned long flags, pid_t* ptid, pid_t* ctid); 308 BASE_EXPORT pid_t ForkWithFlags(unsigned long flags, pid_t* ptid, pid_t* ctid);
304 #endif 309 #endif
305 310
306 } // namespace base 311 } // namespace base
307 312
308 #endif // BASE_PROCESS_LAUNCH_H_ 313 #endif // BASE_PROCESS_LAUNCH_H_
OLDNEW
« no previous file with comments | « no previous file | base/process/launch_posix.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698