diff options
author | thakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-01-10 05:23:49 +0000 |
---|---|---|
committer | thakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-01-10 05:23:49 +0000 |
commit | 474f059570ce28bc9f93a140e4396d5e35d9c09c (patch) | |
tree | 5d7b7fdaf4b6a3833f5b254a182804b30df8d7ad /chrome/browser/child_process_launcher.cc | |
parent | ee02c43e7c8d7074e2fa620bfb59d33bda51b230 (diff) | |
download | chromium_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.cc | 12 |
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 |