diff options
author | jam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-11-21 20:32:30 +0000 |
---|---|---|
committer | jam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-11-21 20:32:30 +0000 |
commit | fb1277e8766d447b967cfa959020b14c388e806e (patch) | |
tree | 1414679bfc830ff403c90fb1e8aa56a0180b514b /chrome/browser/child_process_launcher.h | |
parent | 51549da314ab40bfce645bb6c5875c4e5ec12f67 (diff) | |
download | chromium_src-fb1277e8766d447b967cfa959020b14c388e806e.zip chromium_src-fb1277e8766d447b967cfa959020b14c388e806e.tar.gz chromium_src-fb1277e8766d447b967cfa959020b14c388e806e.tar.bz2 |
Launch all child processes asynchronously so as not to block the IO thread.
BUG=6844, 27935
Review URL: http://codereview.chromium.org/402097
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32750 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/child_process_launcher.h')
-rw-r--r-- | chrome/browser/child_process_launcher.h | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/chrome/browser/child_process_launcher.h b/chrome/browser/child_process_launcher.h index 7c4202f..d37cb57 100644 --- a/chrome/browser/child_process_launcher.h +++ b/chrome/browser/child_process_launcher.h @@ -6,15 +6,11 @@ #define CHROME_BROWSER_CHILD_PROCESS_LAUNCHER_H_ #include "base/basictypes.h" -#include "base/process.h" +#include "base/process_util.h" #include "base/ref_counted.h" class CommandLine; -namespace IPC { -class SyncChannel; -} - // Launches a process asynchronously and notifies the client of the process // handle when it's available. It's used to avoid blocking the calling thread // on the OS since often it can take > 100 ms to create the process. @@ -32,9 +28,15 @@ class ChildProcessLauncher { // the callback won't be called. If the process is still running by the time // this object destructs, it will be terminated. // Takes ownership of cmd_line. - ChildProcessLauncher(CommandLine* cmd_line, - IPC::SyncChannel* channel, - Client* client); + ChildProcessLauncher( +#if defined(OS_WIN) + const FilePath& exposed_dir, +#elif defined(OS_POSIX) + const base::environment_vector& environ, + int ipcfd, +#endif + CommandLine* cmd_line, + Client* client); ~ChildProcessLauncher(); // True if the process is being launched and so the handle isn't available. |