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

Issue 2744943002: Mojo: Move waiting APIs to public library (Closed)

Created:
3 years, 9 months ago by Ken Rockot(use gerrit already)
Modified:
3 years, 9 months ago
Reviewers:
yzshen1
CC:
Aaron Boodman, abarth-chromium, agrieve+watch_chromium.org, chromium-reviews, darin (slow to review), darin-cc_chromium.org, Eugene But (OOO till 7-30), ios-reviews_chromium.org, ios-reviews+web_chromium.org, jam, oshima+watch_chromium.org, qsr+mojo_chromium.org, viettrungluu+watch_chromium.org, yzshen+watch_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Mojo: Move waiting APIs to public library This wipes out all blocking wait primitives from the core API and reimplements them in the public C++ library on top of the core Watcher API. This gives us the freedom to more efficiently integrate with other non-Mojo sync operations in the system. The new public wait APIs omit any notion of timeout as it was never used in practice. All waits are indefinite. (It is still possible to implement timed waiters if/when needed.) BUG=700171 Review-Url: https://codereview.chromium.org/2744943002 Cr-Commit-Position: refs/heads/master@{#457856} Committed: https://chromium.googlesource.com/chromium/src/+/a9d566a1d6b27589589dcfeb81ad7694479df3a5

Patch Set 1 #

Patch Set 2 : . #

Patch Set 3 : . #

Patch Set 4 : rebase #

Patch Set 5 : rebase #

Patch Set 6 : . #

Patch Set 7 : . #

Patch Set 8 : . #

Patch Set 9 : rebase #

Patch Set 10 : rebase #

Patch Set 11 : . #

Patch Set 12 : . #

Patch Set 13 : . #

Patch Set 14 : . #

Total comments: 10

Patch Set 15 : . #

Patch Set 16 : . #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1480 lines, -3867 lines) Patch
M ipc/ipc_channel_mojo_unittest.cc View 3 chunks +3 lines, -4 lines 0 comments Download
M mojo/common/data_pipe_utils.cc View 3 chunks +3 lines, -6 lines 0 comments Download
M mojo/edk/embedder/configuration.h View 1 chunk +0 lines, -4 lines 0 comments Download
M mojo/edk/embedder/embedder_unittest.cc View 1 10 chunks +15 lines, -74 lines 0 comments Download
M mojo/edk/embedder/entrypoints.cc View 5 chunks +0 lines, -48 lines 0 comments Download
M mojo/edk/js/core.cc View 1 2 3 5 chunks +4 lines, -42 lines 0 comments Download
M mojo/edk/js/tests/js_to_cpp_tests.cc View 2 chunks +2 lines, -3 lines 0 comments Download
M mojo/edk/system/BUILD.gn View 5 chunks +1 line, -12 lines 0 comments Download
D mojo/edk/system/awakable.h View 1 chunk +0 lines, -34 lines 0 comments Download
D mojo/edk/system/awakable_list.h View 1 chunk +0 lines, -59 lines 0 comments Download
D mojo/edk/system/awakable_list.cc View 1 chunk +0 lines, -73 lines 0 comments Download
D mojo/edk/system/awakable_list_unittest.cc View 1 chunk +0 lines, -356 lines 0 comments Download
M mojo/edk/system/configuration.cc View 1 chunk +0 lines, -1 line 0 comments Download
M mojo/edk/system/core.h View 1 3 chunks +0 lines, -31 lines 0 comments Download
M mojo/edk/system/core.cc View 1 4 chunks +0 lines, -189 lines 0 comments Download
M mojo/edk/system/core_test_base.h View 4 chunks +0 lines, -17 lines 0 comments Download
M mojo/edk/system/core_test_base.cc View 4 chunks +1 line, -72 lines 0 comments Download
M mojo/edk/system/core_unittest.cc View 1 28 chunks +56 lines, -346 lines 0 comments Download
M mojo/edk/system/data_pipe_consumer_dispatcher.h View 1 3 chunks +0 lines, -8 lines 0 comments Download
M mojo/edk/system/data_pipe_consumer_dispatcher.cc View 1 2 3 5 chunks +3 lines, -50 lines 0 comments Download
M mojo/edk/system/data_pipe_producer_dispatcher.h View 1 3 chunks +0 lines, -8 lines 0 comments Download
M mojo/edk/system/data_pipe_producer_dispatcher.cc View 1 7 chunks +4 lines, -55 lines 0 comments Download
M mojo/edk/system/data_pipe_unittest.cc View 1 1 chunk +0 lines, -1 line 0 comments Download
M mojo/edk/system/dispatcher.h View 2 chunks +1 line, -29 lines 0 comments Download
M mojo/edk/system/dispatcher.cc View 1 chunk +0 lines, -12 lines 0 comments Download
M mojo/edk/system/message_pipe_dispatcher.h View 3 chunks +0 lines, -8 lines 0 comments Download
M mojo/edk/system/message_pipe_dispatcher.cc View 6 chunks +2 lines, -68 lines 0 comments Download
M mojo/edk/system/multiprocess_message_pipe_unittest.cc View 3 chunks +11 lines, -11 lines 0 comments Download
D mojo/edk/system/wait_set_dispatcher.h View 1 chunk +0 lines, -103 lines 0 comments Download
D mojo/edk/system/wait_set_dispatcher.cc View 1 chunk +0 lines, -312 lines 0 comments Download
D mojo/edk/system/wait_set_dispatcher_unittest.cc View 1 chunk +0 lines, -493 lines 0 comments Download
D mojo/edk/system/waiter.h View 1 chunk +0 lines, -80 lines 0 comments Download
D mojo/edk/system/waiter.cc View 1 chunk +0 lines, -102 lines 0 comments Download
D mojo/edk/system/waiter_test_utils.h View 1 chunk +0 lines, -104 lines 0 comments Download
D mojo/edk/system/waiter_test_utils.cc View 1 chunk +0 lines, -70 lines 0 comments Download
D mojo/edk/system/waiter_unittest.cc View 1 chunk +0 lines, -298 lines 0 comments Download
M mojo/edk/test/mojo_test_base.cc View 1 2 3 4 5 6 7 3 chunks +2 lines, -100 lines 0 comments Download
M mojo/public/c/system/BUILD.gn View 1 chunk +0 lines, -1 line 0 comments Download
M mojo/public/c/system/core.h View 1 chunk +0 lines, -1 line 0 comments Download
M mojo/public/c/system/functions.h View 2 chunks +2 lines, -86 lines 0 comments Download
M mojo/public/c/system/tests/BUILD.gn View 1 chunk +1 line, -0 lines 0 comments Download
M mojo/public/c/system/tests/core_perftest.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M mojo/public/c/system/tests/core_unittest.cc View 1 9 chunks +18 lines, -32 lines 0 comments Download
M mojo/public/c/system/tests/core_unittest_pure_c.c View 2 chunks +0 lines, -29 lines 0 comments Download
M mojo/public/c/system/thunks.h View 2 chunks +0 lines, -22 lines 0 comments Download
M mojo/public/c/system/thunks.cc View 2 chunks +0 lines, -46 lines 0 comments Download
M mojo/public/c/system/types.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 3 chunks +7 lines, -6 lines 0 comments Download
D mojo/public/c/system/wait_set.h View 1 chunk +0 lines, -137 lines 0 comments Download
M mojo/public/cpp/bindings/lib/connector.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 chunks +17 lines, -8 lines 0 comments Download
M mojo/public/cpp/bindings/lib/sync_handle_registry.cc View 1 2 3 4 5 5 chunks +12 lines, -30 lines 0 comments Download
M mojo/public/cpp/bindings/sync_handle_registry.h View 2 chunks +2 lines, -1 line 0 comments Download
M mojo/public/cpp/bindings/tests/handle_passing_unittest.cc View 1 2 chunks +2 lines, -2 lines 0 comments Download
M mojo/public/cpp/bindings/tests/struct_traits_unittest.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M mojo/public/cpp/system/BUILD.gn View 1 chunk +4 lines, -0 lines 0 comments Download
M mojo/public/cpp/system/functions.h View 1 chunk +0 lines, -6 lines 0 comments Download
M mojo/public/cpp/system/handle.h View 1 2 3 4 5 1 chunk +0 lines, -97 lines 0 comments Download
M mojo/public/cpp/system/tests/BUILD.gn View 1 chunk +2 lines, -0 lines 0 comments Download
M mojo/public/cpp/system/tests/core_unittest.cc View 8 chunks +19 lines, -33 lines 0 comments Download
A mojo/public/cpp/system/tests/wait_set_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +260 lines, -0 lines 0 comments Download
A mojo/public/cpp/system/tests/wait_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +321 lines, -0 lines 0 comments Download
A mojo/public/cpp/system/wait.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +75 lines, -0 lines 0 comments Download
A mojo/public/cpp/system/wait.cc View 1 2 3 4 5 1 chunk +200 lines, -0 lines 0 comments Download
A mojo/public/cpp/system/wait_set.h View 1 2 3 4 5 1 chunk +95 lines, -0 lines 0 comments Download
A mojo/public/cpp/system/wait_set.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +313 lines, -0 lines 0 comments Download
M mojo/public/cpp/test_support/lib/test_utils.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M mojo/public/js/connector.js View 1 chunk +1 line, -2 lines 0 comments Download
M mojo/public/js/core.js View 1 2 3 2 chunks +2 lines, -23 lines 0 comments Download
M mojo/public/js/new_bindings/connector.js View 1 chunk +1 line, -2 lines 0 comments Download
M mojo/public/js/tests/core_unittest.js View 1 2 3 2 chunks +2 lines, -4 lines 0 comments Download
M services/tracing/service.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 4 chunks +10 lines, -10 lines 0 comments Download

Dependent Patchsets:

Messages

Total messages: 74 (69 generated)
Ken Rockot(use gerrit already)
Last big one, though the size is deceptive. Mostly deletion and mechanical call site updates. ...
3 years, 9 months ago (2017-03-15 23:34:20 UTC) #26
yzshen1
LGTM with a few nits. Thanks! https://codereview.chromium.org/2744943002/diff/250001/mojo/public/c/system/types.h File mojo/public/c/system/types.h (right): https://codereview.chromium.org/2744943002/diff/250001/mojo/public/c/system/types.h#newcode148 mojo/public/c/system/types.h:148: // watching for ...
3 years, 9 months ago (2017-03-17 17:10:28 UTC) #63
Ken Rockot(use gerrit already)
Thank you! https://codereview.chromium.org/2744943002/diff/250001/mojo/public/c/system/types.h File mojo/public/c/system/types.h (right): https://codereview.chromium.org/2744943002/diff/250001/mojo/public/c/system/types.h#newcode148 mojo/public/c/system/types.h:148: // watching for this |MOJO_RESULT_FAILED_PRECONDITION|. On 2017/03/17 ...
3 years, 9 months ago (2017-03-17 17:58:52 UTC) #66
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2744943002/290001
3 years, 9 months ago (2017-03-17 17:59:21 UTC) #70
commit-bot: I haz the power
3 years, 9 months ago (2017-03-17 19:41:46 UTC) #74
Message was sent while issue was closed.
Committed patchset #16 (id:290001) as
https://chromium.googlesource.com/chromium/src/+/a9d566a1d6b27589589dcfeb81ad...

Powered by Google App Engine
This is Rietveld 408576698