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

Issue 1713203002: Mojo C++ bindings: support sync methods - part 2 (Closed)

Created:
4 years, 10 months ago by yzshen1
Modified:
4 years, 10 months ago
Reviewers:
jam
CC:
chromium-reviews, 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://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Mojo C++ bindings: support sync methods - part 2 This CL introduces the correct re-entrancy behavior: when a sync call is waiting for response, allow incoming sync requests on the same thread to re-enter, async messages are queued until the sync call completes. The following will be in future CLs: - Support sync calls with associated interfaces. BUG=577699 Committed: https://crrev.com/083f46638041ba7d7620e47a7f9edf06982a9340 Cr-Commit-Position: refs/heads/master@{#376751}

Patch Set 1 #

Patch Set 2 : cleanup #

Patch Set 3 : #

Total comments: 2

Patch Set 4 : #

Patch Set 5 : #

Patch Set 6 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+725 lines, -92 lines) Patch
M mojo/mojo_public.gyp View 1 1 chunk +2 lines, -0 lines 0 comments Download
M mojo/public/cpp/bindings/BUILD.gn View 1 chunk +2 lines, -0 lines 0 comments Download
M mojo/public/cpp/bindings/lib/binding_state.h View 1 chunk +2 lines, -2 lines 0 comments Download
M mojo/public/cpp/bindings/lib/connector.h View 1 3 chunks +34 lines, -6 lines 0 comments Download
M mojo/public/cpp/bindings/lib/connector.cc View 1 8 chunks +89 lines, -22 lines 0 comments Download
M mojo/public/cpp/bindings/lib/interface_ptr_state.h View 1 chunk +2 lines, -1 line 0 comments Download
M mojo/public/cpp/bindings/lib/router.h View 1 2 4 chunks +31 lines, -5 lines 0 comments Download
M mojo/public/cpp/bindings/lib/router.cc View 1 2 3 4 5 8 chunks +100 lines, -28 lines 0 comments Download
A mojo/public/cpp/bindings/lib/sync_handle_watcher.h View 1 2 3 1 chunk +73 lines, -0 lines 0 comments Download
A mojo/public/cpp/bindings/lib/sync_handle_watcher.cc View 1 1 chunk +124 lines, -0 lines 0 comments Download
M mojo/public/cpp/bindings/message.h View 2 chunks +2 lines, -0 lines 0 comments Download
M mojo/public/cpp/bindings/tests/router_unittest.cc View 7 chunks +14 lines, -12 lines 0 comments Download
M mojo/public/cpp/bindings/tests/sync_method_unittest.cc View 1 3 chunks +228 lines, -13 lines 0 comments Download
M mojo/public/interfaces/bindings/tests/test_sync_methods.mojom View 1 chunk +13 lines, -3 lines 0 comments Download
M mojo/public/tools/bindings/generators/cpp_templates/interface_declaration.tmpl View 1 chunk +1 line, -0 lines 0 comments Download
M mojo/public/tools/bindings/generators/mojom_cpp_generator.py View 1 chunk +1 line, -0 lines 0 comments Download
M mojo/public/tools/bindings/pylib/mojom/generate/module.py View 1 chunk +7 lines, -0 lines 0 comments Download

Messages

Total messages: 21 (10 generated)
yzshen1
Hi, John. Would you please take a look? Thanks!
4 years, 10 months ago (2016-02-20 00:40:22 UTC) #2
jam
lgtm https://codereview.chromium.org/1713203002/diff/40001/mojo/public/cpp/bindings/lib/sync_handle_watcher.h File mojo/public/cpp/bindings/lib/sync_handle_watcher.h (right): https://codereview.chromium.org/1713203002/diff/40001/mojo/public/cpp/bindings/lib/sync_handle_watcher.h#newcode39 mojo/public/cpp/bindings/lib/sync_handle_watcher.h:39: // Waits on all the registered handles and ...
4 years, 10 months ago (2016-02-20 02:02:05 UTC) #3
yzshen1
Thanks! https://codereview.chromium.org/1713203002/diff/40001/mojo/public/cpp/bindings/lib/sync_handle_watcher.h File mojo/public/cpp/bindings/lib/sync_handle_watcher.h (right): https://codereview.chromium.org/1713203002/diff/40001/mojo/public/cpp/bindings/lib/sync_handle_watcher.h#newcode39 mojo/public/cpp/bindings/lib/sync_handle_watcher.h:39: // Waits on all the registered handles and ...
4 years, 10 months ago (2016-02-21 22:13:53 UTC) #4
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1713203002/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1713203002/60001
4 years, 10 months ago (2016-02-21 22:14:25 UTC) #7
commit-bot: I haz the power
Try jobs failed on following builders: cast_shell_linux on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/cast_shell_linux/builds/119044)
4 years, 10 months ago (2016-02-21 22:30:25 UTC) #9
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1713203002/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1713203002/80001
4 years, 10 months ago (2016-02-22 01:06:46 UTC) #12
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_rel_ng/builds/184438)
4 years, 10 months ago (2016-02-22 02:17:55 UTC) #14
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1713203002/100001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1713203002/100001
4 years, 10 months ago (2016-02-22 16:23:19 UTC) #17
commit-bot: I haz the power
Committed patchset #6 (id:100001)
4 years, 10 months ago (2016-02-22 17:25:19 UTC) #18
commit-bot: I haz the power
Patchset 6 (id:??) landed as https://crrev.com/083f46638041ba7d7620e47a7f9edf06982a9340 Cr-Commit-Position: refs/heads/master@{#376751}
4 years, 10 months ago (2016-02-22 17:26:44 UTC) #20
Reilly Grant (use Gerrit)
4 years, 10 months ago (2016-02-22 20:13:36 UTC) #21
Message was sent while issue was closed.
A revert of this CL (patchset #6 id:100001) has been created in
https://codereview.chromium.org/1720093002/ by reillyg@chromium.org.

The reason for reverting is: This change is triggering a
use-of-uninitialized-value error on the Linux and Chrome OS MSan bots:

https://build.chromium.org/p/chromium.memory.fyi/builders/Linux%20ChromeOS%20....

Powered by Google App Engine
This is Rietveld 408576698