summaryrefslogtreecommitdiffstats
path: root/chrome/browser/child_process_launcher.h
diff options
context:
space:
mode:
authorjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-11-21 20:32:30 +0000
committerjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-11-21 20:32:30 +0000
commitfb1277e8766d447b967cfa959020b14c388e806e (patch)
tree1414679bfc830ff403c90fb1e8aa56a0180b514b /chrome/browser/child_process_launcher.h
parent51549da314ab40bfce645bb6c5875c4e5ec12f67 (diff)
downloadchromium_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.h18
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.