summaryrefslogtreecommitdiffstats
path: root/chrome/browser/child_process_launcher.cc
diff options
context:
space:
mode:
authorthakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-01-10 05:23:49 +0000
committerthakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-01-10 05:23:49 +0000
commit474f059570ce28bc9f93a140e4396d5e35d9c09c (patch)
tree5d7b7fdaf4b6a3833f5b254a182804b30df8d7ad /chrome/browser/child_process_launcher.cc
parentee02c43e7c8d7074e2fa620bfb59d33bda51b230 (diff)
downloadchromium_src-474f059570ce28bc9f93a140e4396d5e35d9c09c.zip
chromium_src-474f059570ce28bc9f93a140e4396d5e35d9c09c.tar.gz
chromium_src-474f059570ce28bc9f93a140e4396d5e35d9c09c.tar.bz2
Mac: Other approach for IPCing child task_ts.
Based on http://www.foldr.org/~michaelw/log/2009/03/13/ , right now in proof-of-concept quality. Works for worker processes too and seems more reliable in general. Makes it impossible to call LaunchApp() concurrently though. Next try: Submitting to get perf numbers, will revert. Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=35883 Review URL: http://codereview.chromium.org/549002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35888 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/child_process_launcher.cc')
-rw-r--r--chrome/browser/child_process_launcher.cc12
1 files changed, 12 insertions, 0 deletions
diff --git a/chrome/browser/child_process_launcher.cc b/chrome/browser/child_process_launcher.cc
index 1ab66c6..be2b801 100644
--- a/chrome/browser/child_process_launcher.cc
+++ b/chrome/browser/child_process_launcher.cc
@@ -23,6 +23,10 @@
#include "chrome/browser/renderer_host/render_sandbox_host_linux.h"
#endif
+#if defined(OS_MACOSX)
+#include "chrome/browser/mach_broker_mac.h"
+#endif
+
#if defined(OS_POSIX)
#include "base/global_descriptors_posix.h"
#endif
@@ -163,6 +167,14 @@ class ChildProcessLauncher::Context
// Actually launch the app.
if (!base::LaunchApp(cmd_line->argv(), env, fds_to_map, false, &handle))
handle = base::kNullProcessHandle;
+
+
+#if defined(OS_MACOSX)
+task_t foobar(pid_t pid);
+ MachBroker::instance()->RegisterPid(
+ handle,
+ MachBroker::MachInfo().SetTask(foobar(handle)));
+#endif
}
#endif