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 21:15:09 +0000
committerjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-11-21 21:15:09 +0000
commitb7315211fa8a8468102ac3675f21c875a6c83d0b (patch)
tree02d499f93080e86990cae70d40732ebf5dfe6677 /chrome/browser/child_process_launcher.h
parentdf0dcd4a244db43f760872c3e607e642ccde2a25 (diff)
downloadchromium_src-b7315211fa8a8468102ac3675f21c875a6c83d0b.zip
chromium_src-b7315211fa8a8468102ac3675f21c875a6c83d0b.tar.gz
chromium_src-b7315211fa8a8468102ac3675f21c875a6c83d0b.tar.bz2
Merge 32750 - Launch all child processes asynchronously so as not to block the IO thread.
BUG=6844, 27935 Review URL: http://codereview.chromium.org/402097 TBR=jam@chromium.org Review URL: http://codereview.chromium.org/418046 git-svn-id: svn://svn.chromium.org/chrome/branches/249/src@32753 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.