Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(196)

Issue 973203004: Make the shell work in multiprocess mode some apps. (Closed)

Created:
5 years, 9 months ago by viettrungluu
Modified:
5 years, 9 months ago
Reviewers:
jamesr
CC:
mojo-reviews_chromium.org, qsr+mojo_chromium.org, viettrungluu+watch_chromium.org, yzshen+watch_chromium.org, abarth-chromium, Aaron Boodman, darin (slow to review), ben+mojo_chromium.org
Base URL:
https://github.com/domokit/mojo.git@master
Target Ref:
refs/heads/master
Project:
mojo
Visibility:
Public.

Description

Make the shell work in multiprocess mode some apps. $ out/Debug/mojo_shell mojo:wget --enable-multiprocess \ --args-for="mojo:wget http://www.google.com/" works. Modifying wget to not quit, I can do: $ ps -ef | grep mojo_shell vtl 12159 9625 0 13:40 pts/13 00:00:00 out/Debug/mojo_shell mojo:wget --enable-multiprocess --args-for=mojo:wget http://www.google.com/ vtl 12163 12159 0 13:40 pts/13 00:00:00 out/Debug/mojo_shell --child-process-type=1 --mojo-platform-channel-handle=3 vtl 12164 12159 0 13:40 pts/13 00:00:00 out/Debug/mojo_shell --child-process-type=1 --mojo-platform-channel-handle=3 vtl 12169 12159 0 13:40 pts/13 00:00:00 out/Debug/mojo_shell --child-process-type=1 --mojo-platform-channel-handle=3 Notes: * It doesn't work without the "--args-for", since then wget would try to read the URL from stdin (and fail) and pass on an empty URL. * wget and its process actually shut down cleanly. * However, the end of the last "interactive" app leads the shell to terminate with extreme prejudice, just cutting off the feet of the other processes. This is why we get messages like: [WARNING:child_process_host.cc(35)] Destroying ChildProcessHost with unjoined child [ERROR:app_child_process.cc(208)] Connection error to the shell. * spinning_cube doesn't work yet, since we'll need to specially load some apps in-process. * I made the command-line argument checking only apply to the main process (i.e., when --child-process-type is NOT present). Otherwise, I'd have to plumb through another flag (from platform_channel_pair.*) and not choke when there are no positional command-line arguments. R=jamesr@chromium.org Committed: https://chromium.googlesource.com/external/mojo/+/f3e4e33c1983dc8cf74375285b0608eb5d931b71

Patch Set 1 #

Total comments: 1

Patch Set 2 : better (?) comment #

Unified diffs Side-by-side diffs Delta from patch set Stats (+72 lines, -47 lines) Patch
M shell/app_child_process.cc View 9 chunks +36 lines, -15 lines 0 comments Download
M shell/context.h View 1 chunk +2 lines, -1 line 0 comments Download
M shell/desktop/mojo_main.cc View 2 chunks +30 lines, -28 lines 0 comments Download
M shell/switches.cc View 1 2 chunks +4 lines, -3 lines 0 comments Download

Messages

Total messages: 4 (0 generated)
viettrungluu
5 years, 9 months ago (2015-03-03 21:45:47 UTC) #1
jamesr
lgtm https://codereview.chromium.org/973203004/diff/1/shell/switches.cc File shell/switches.cc (right): https://codereview.chromium.org/973203004/diff/1/shell/switches.cc#newcode65 shell/switches.cc:65: // |kChildProcessType| not for user use. if it's ...
5 years, 9 months ago (2015-03-03 21:56:24 UTC) #2
viettrungluu
Thanks. On 2015/03/03 21:56:24, jamesr wrote: > lgtm > > https://codereview.chromium.org/973203004/diff/1/shell/switches.cc > File shell/switches.cc (right): ...
5 years, 9 months ago (2015-03-03 22:07:17 UTC) #3
viettrungluu
5 years, 9 months ago (2015-03-03 22:11:20 UTC) #4
Message was sent while issue was closed.
Committed patchset #2 (id:20001) manually as
f3e4e33c1983dc8cf74375285b0608eb5d931b71 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698