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

Issue 2033243003: Use Mojo pipes to signal sync IPC events (Closed)

Created:
4 years, 6 months ago by Ken Rockot(use gerrit already)
Modified:
4 years, 6 months ago
CC:
Aaron Boodman, abarth-chromium, ben+mojo_chromium.org, chromium-reviews, darin (slow to review), darin-cc_chromium.org, jam, qsr+mojo_chromium.org, viettrungluu+watch_chromium.org, yzshen+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Use Mojo pipes to signal sync IPC events This transitions legacy sync IPC to use Mojo message pipe handles for all of its sync event waiting. This is a necessary precursor to mixing sync legacy IPC with sync Mojo IPC, and is also required to support correct FIFO between ChannelProxy and Mojo Channel associated interfaces. Specifically: - Introduces a new IPC::MojoEvent type which is a WaitableEvent-like interface around a local message pipe. - Moves mojo::SyncHandleRegistry out of internal bindings API and exposes it publicly. - Replaces most uses of WaitableEvent with MojoEvent for sync IPC - Replaces all use of WaitableEvent::WaitMany for sync IPC with mojo::SyncHandleRegistry::WatchAllHandles. - Cleans up some unnecessary complexity in SyncMessage since pump_messages_event() was only being used with a single global event that's always signaled. The system's behavior should be effectively unchanged by this CL, but legacy sync IPC and mojo sync IPC can now be mixed freely. BUG=612500 CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_optional_gpu_tests_rel;tryserver.chromium.mac:mac_optional_gpu_tests_rel;tryserver.chromium.win:win_optional_gpu_tests_rel Committed: https://crrev.com/97912711c72d91e50bf6999f6842f9de1c05fab1 Committed: https://crrev.com/6d7be626fdfc8e1e85bc2faa789a12a3ae3960a1 Cr-Original-Commit-Position: refs/heads/master@{#399848} Cr-Commit-Position: refs/heads/master@{#399963}

Patch Set 1 : #

Total comments: 2

Patch Set 2 : #

Patch Set 3 : happy gn check #

Patch Set 4 : fix gyp #

Patch Set 5 : #

Patch Set 6 : #

Patch Set 7 : #

Patch Set 8 : #

Patch Set 9 : #

Patch Set 10 : #

Patch Set 11 : #

Patch Set 12 : #

Patch Set 13 : #

Patch Set 14 : #

Patch Set 15 : fix non sfi #

Patch Set 16 : rebase #

Patch Set 17 : #

Patch Set 18 : #

Patch Set 19 : windows gyp #

Patch Set 20 : #

Patch Set 21 : . #

Patch Set 22 : . #

Patch Set 23 : rebase #

Patch Set 24 : . #

Total comments: 7

Patch Set 25 : remove redundant EDK init #

Patch Set 26 : . #

Patch Set 27 : fix nacl zygote #

Patch Set 28 : . #

Patch Set 29 : make GN check happy #

Patch Set 30 : undo accidental nonsfi test enable #

Patch Set 31 : fix gyp #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1151 lines, -554 lines) Patch
M chrome/browser/printing/cloud_print/test/DEPS View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +2 lines, -0 lines 0 comments Download
M chrome/browser/printing/cloud_print/test/cloud_print_proxy_process_browsertest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 2 chunks +4 lines, -0 lines 0 comments Download
M components/nacl.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2 chunks +2 lines, -0 lines 0 comments Download
M components/nacl/loader/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 3 chunks +3 lines, -0 lines 0 comments Download
M components/nacl/loader/DEPS View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +2 lines, -0 lines 0 comments Download
M components/nacl/loader/nacl_helper_linux.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 2 chunks +4 lines, -0 lines 0 comments Download
M components/nacl/loader/nacl_main.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 1 chunk +4 lines, -0 lines 0 comments Download
M components/nacl_nonsfi.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 4 chunks +16 lines, -0 lines 0 comments Download
M gpu/gpu.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -1 line 0 comments Download
M gpu/ipc/service/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -1 line 0 comments Download
M ipc/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 5 chunks +19 lines, -1 line 0 comments Download
M ipc/DEPS View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +8 lines, -0 lines 0 comments Download
M ipc/ipc.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 4 chunks +21 lines, -1 line 0 comments Download
M ipc/ipc.gypi View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +2 lines, -0 lines 0 comments Download
M ipc/ipc_nacl.gyp View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +4 lines, -0 lines 0 comments Download
M ipc/ipc_sync_channel.h View 1 7 chunks +18 lines, -15 lines 0 comments Download
M ipc/ipc_sync_channel.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 17 chunks +177 lines, -85 lines 0 comments Download
M ipc/ipc_sync_message.h View 1 4 chunks +12 lines, -25 lines 0 comments Download
M ipc/ipc_sync_message.cc View 3 chunks +1 line, -22 lines 0 comments Download
M ipc/ipc_sync_message_filter.h View 1 3 chunks +15 lines, -3 lines 0 comments Download
M ipc/ipc_sync_message_filter.cc View 1 5 chunks +53 lines, -11 lines 0 comments Download
A ipc/mojo_event.h View 1 1 chunk +45 lines, -0 lines 0 comments Download
A ipc/mojo_event.cc View 1 1 chunk +39 lines, -0 lines 0 comments Download
M ipc/run_all_unittests.cc View 2 chunks +2 lines, -0 lines 0 comments Download
M mojo/edk/system/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +1 line, -0 lines 0 comments Download
M mojo/mojo_edk.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 4 chunks +57 lines, -101 lines 0 comments Download
A mojo/mojo_edk.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +115 lines, -0 lines 0 comments Download
M mojo/mojo_edk_tests.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 5 chunks +10 lines, -10 lines 0 comments Download
M mojo/mojo_public.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 7 chunks +57 lines, -266 lines 0 comments Download
A mojo/mojo_public.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +150 lines, -0 lines 0 comments Download
A mojo/mojo_public_nacl.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +88 lines, -0 lines 0 comments Download
A mojo/mojo_public_tests.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 1 chunk +162 lines, -0 lines 0 comments Download
M mojo/public/cpp/bindings/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2 chunks +1 line, -1 line 0 comments Download
M mojo/public/cpp/bindings/lib/sync_handle_registry.cc View 3 chunks +1 line, -3 lines 0 comments Download
M mojo/public/cpp/bindings/lib/sync_handle_watcher.h View 1 chunk +1 line, -1 line 0 comments Download
A + mojo/public/cpp/bindings/sync_handle_registry.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 3 chunks +3 lines, -5 lines 0 comments Download
M mojo/public/cpp/system/watcher.h View 1 chunk +3 lines, -0 lines 0 comments Download
M ppapi/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +2 lines, -1 line 0 comments Download
M ppapi/nacl_irt/DEPS View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +2 lines, -0 lines 0 comments Download
M ppapi/nacl_irt/plugin_startup.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 2 chunks +4 lines, -0 lines 0 comments Download
M ppapi/native_client/native_client.gyp View 1 2 3 4 5 6 7 8 9 10 11 6 chunks +24 lines, -0 lines 0 comments Download
M ppapi/ppapi_internal.gyp View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +2 lines, -0 lines 0 comments Download
M ppapi/ppapi_proxy_nacl.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +1 line, -0 lines 0 comments Download
M ppapi/ppapi_tests.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 3 chunks +3 lines, -1 line 0 comments Download
M ppapi/proxy/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +1 line, -0 lines 0 comments Download
M ppapi/proxy/DEPS View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +6 lines, -0 lines 0 comments Download
M ppapi/proxy/ppapi_perftests.cc View 1 2 3 4 5 6 7 1 chunk +2 lines, -0 lines 0 comments Download

Messages

Total messages: 68 (33 generated)
Ken Rockot(use gerrit already)
OK - I think this is ready. Pardon the dust, introducing a Mojo dependency in ...
4 years, 6 months ago (2016-06-06 19:32:44 UTC) #13
yzshen1
On Mon, Jun 6, 2016 at 12:32 PM, <rockot@chromium.org> wrote: > Reviewers: jam, yzshen1 > ...
4 years, 6 months ago (2016-06-06 21:23:38 UTC) #16
Ken Rockot(use gerrit already)
On Mon, Jun 6, 2016 at 2:23 PM, Yuzhu Shen <yzshen@chromium.org> wrote: > > > ...
4 years, 6 months ago (2016-06-06 21:30:24 UTC) #17
Ken Rockot(use gerrit already)
On 2016/06/06 at 21:30:24, Ken Rockot wrote: > On Mon, Jun 6, 2016 at 2:23 ...
4 years, 6 months ago (2016-06-07 04:14:08 UTC) #18
yzshen1
LGTM https://codereview.chromium.org/2033243003/diff/180001/mojo/public/cpp/system/event.h File mojo/public/cpp/system/event.h (right): https://codereview.chromium.org/2033243003/diff/180001/mojo/public/cpp/system/event.h#newcode19 mojo/public/cpp/system/event.h:19: Event(); Please comment on the initial state, whether ...
4 years, 6 months ago (2016-06-07 17:14:51 UTC) #19
Ken Rockot(use gerrit already)
OK, I've moved mojo::Event to IPC::MojoEvent. Note: I didn't put MojoEvent in an internal namespace ...
4 years, 6 months ago (2016-06-07 18:02:25 UTC) #21
jam
lgtm
4 years, 6 months ago (2016-06-07 21:05:05 UTC) #26
Ken Rockot(use gerrit already)
+sievers could you please take a look at GPU. Just moves from using base's run_all_unittests ...
4 years, 6 months ago (2016-06-08 21:30:22 UTC) #28
no sievers
gpu lgtm (ipc/ seems a bit odd for the main() function for run_all_unittests, but then ...
4 years, 6 months ago (2016-06-08 21:57:19 UTC) #29
Ken Rockot(use gerrit already)
On Wed, Jun 8, 2016 at 2:57 PM, <sievers@chromium.org> wrote: > gpu lgtm > > ...
4 years, 6 months ago (2016-06-08 22:01:24 UTC) #30
no sievers
On 2016/06/08 22:01:24, Ken Rockot wrote: > On Wed, Jun 8, 2016 at 2:57 PM, ...
4 years, 6 months ago (2016-06-08 22:10:14 UTC) #31
raymes
lgtm but please chat with bbudge about the changes in ppapi/nacl_irt/irt_ppapi.cc. I know nothing about ...
4 years, 6 months ago (2016-06-09 00:54:28 UTC) #33
Ken Rockot(use gerrit already)
On Wed, Jun 8, 2016 at 5:54 PM, <raymes@chromium.org> wrote: > lgtm but please chat ...
4 years, 6 months ago (2016-06-09 01:07:54 UTC) #34
bbudge
On 2016/06/09 01:07:54, Ken Rockot wrote: > On Wed, Jun 8, 2016 at 5:54 PM, ...
4 years, 6 months ago (2016-06-09 17:16:58 UTC) #35
Ken Rockot(use gerrit already)
On 2016/06/09 at 17:16:58, bbudge wrote: > On 2016/06/09 01:07:54, Ken Rockot wrote: > > ...
4 years, 6 months ago (2016-06-09 17:19:56 UTC) #36
bbudge
On 2016/06/09 17:19:56, Ken Rockot wrote: > On 2016/06/09 at 17:16:58, bbudge wrote: > > ...
4 years, 6 months ago (2016-06-09 17:25:45 UTC) #37
Ken Rockot(use gerrit already)
On 2016/06/09 at 17:25:45, bbudge wrote: > On 2016/06/09 17:19:56, Ken Rockot wrote: > > ...
4 years, 6 months ago (2016-06-09 17:47:05 UTC) #38
Ken Rockot(use gerrit already)
+mseaborn for components/nacl OWNERS and a question: it looks like I'll need to increase the ...
4 years, 6 months ago (2016-06-09 20:01:50 UTC) #40
Ken Rockot(use gerrit already)
Friendly ping mseaborn@ for components/nacl
4 years, 6 months ago (2016-06-14 00:29:33 UTC) #41
Ken Rockot(use gerrit already)
Adding other components/nacl OWNERS. Could someone please take a look at this? The change is ...
4 years, 6 months ago (2016-06-14 16:43:52 UTC) #44
Mark Seaborn
https://codereview.chromium.org/2033243003/diff/640001/ppapi/nacl_irt/irt_ppapi.cc File ppapi/nacl_irt/irt_ppapi.cc (right): https://codereview.chromium.org/2033243003/diff/640001/ppapi/nacl_irt/irt_ppapi.cc#newcode36 ppapi/nacl_irt/irt_ppapi.cc:36: mojo::edk::Init(); It looks like you're doing this twice, once ...
4 years, 6 months ago (2016-06-14 19:30:21 UTC) #45
Ken Rockot(use gerrit already)
Thanks! https://codereview.chromium.org/2033243003/diff/640001/ppapi/nacl_irt/irt_ppapi.cc File ppapi/nacl_irt/irt_ppapi.cc (right): https://codereview.chromium.org/2033243003/diff/640001/ppapi/nacl_irt/irt_ppapi.cc#newcode36 ppapi/nacl_irt/irt_ppapi.cc:36: mojo::edk::Init(); On 2016/06/14 at 19:30:21, Mark Seaborn wrote: ...
4 years, 6 months ago (2016-06-14 20:17:03 UTC) #46
Mark Seaborn
LGTM https://codereview.chromium.org/2033243003/diff/640001/components/nacl/loader/nacl_listener.cc File components/nacl/loader/nacl_listener.cc (right): https://codereview.chromium.org/2033243003/diff/640001/components/nacl/loader/nacl_listener.cc#newcode171 components/nacl/loader/nacl_listener.cc:171: mojo::edk::Init(); NaClMain() in components/nacl/loader/nacl_main.cc is probably a more ...
4 years, 6 months ago (2016-06-14 20:43:15 UTC) #47
Ken Rockot(use gerrit already)
Thanks again https://codereview.chromium.org/2033243003/diff/640001/components/nacl/loader/nacl_listener.cc File components/nacl/loader/nacl_listener.cc (right): https://codereview.chromium.org/2033243003/diff/640001/components/nacl/loader/nacl_listener.cc#newcode171 components/nacl/loader/nacl_listener.cc:171: mojo::edk::Init(); On 2016/06/14 at 20:43:14, Mark Seaborn ...
4 years, 6 months ago (2016-06-14 20:53:08 UTC) #48
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2033243003/680001
4 years, 6 months ago (2016-06-14 20:53:39 UTC) #51
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_chromeos_ozone_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_ozone_rel_ng/builds/185829)
4 years, 6 months ago (2016-06-14 22:12:03 UTC) #53
Mark Seaborn
https://codereview.chromium.org/2033243003/diff/640001/components/nacl/loader/nacl_listener.cc File components/nacl/loader/nacl_listener.cc (right): https://codereview.chromium.org/2033243003/diff/640001/components/nacl/loader/nacl_listener.cc#newcode171 components/nacl/loader/nacl_listener.cc:171: mojo::edk::Init(); On 2016/06/14 20:43:14, Mark Seaborn wrote: > NaClMain() ...
4 years, 6 months ago (2016-06-15 00:35:49 UTC) #54
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2033243003/760001
4 years, 6 months ago (2016-06-15 03:33:12 UTC) #57
commit-bot: I haz the power
Committed patchset #30 (id:760001)
4 years, 6 months ago (2016-06-15 05:29:01 UTC) #58
commit-bot: I haz the power
Patchset 30 (id:??) landed as https://crrev.com/97912711c72d91e50bf6999f6842f9de1c05fab1 Cr-Commit-Position: refs/heads/master@{#399848}
4 years, 6 months ago (2016-06-15 05:30:52 UTC) #60
tommycli
A revert of this CL (patchset #30 id:760001) has been created in https://codereview.chromium.org/2067233002/ by tommycli@chromium.org. ...
4 years, 6 months ago (2016-06-15 15:53:04 UTC) #61
Ken Rockot(use gerrit already)
On 2016/06/15 at 15:53:04, tommycli wrote: > A revert of this CL (patchset #30 id:760001) ...
4 years, 6 months ago (2016-06-15 16:33:46 UTC) #62
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2033243003/780001
4 years, 6 months ago (2016-06-15 16:34:18 UTC) #65
commit-bot: I haz the power
Committed patchset #31 (id:780001)
4 years, 6 months ago (2016-06-15 18:26:50 UTC) #66
commit-bot: I haz the power
4 years, 6 months ago (2016-06-15 18:28:48 UTC) #68
Message was sent while issue was closed.
Patchset 31 (id:??) landed as
https://crrev.com/6d7be626fdfc8e1e85bc2faa789a12a3ae3960a1
Cr-Commit-Position: refs/heads/master@{#399963}

Powered by Google App Engine
This is Rietveld 408576698