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

Issue 2480603004: Service Manager: Implement graceful service termination (Closed)

Created:
4 years, 1 month ago by Ken Rockot(use gerrit already)
Modified:
4 years, 1 month ago
CC:
Aaron Boodman, abarth-chromium, chromium-reviews, darin (slow to review), qsr+mojo_chromium.org, viettrungluu+watch_chromium.org, yzshen+watch_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Service Manager: Implement graceful service termination Adds a new ServiceControl client interface associated with a service's Service interface. This allows a service to notify the Service Manager that it's ready to be terminated by calling RequestQuit(). Adds an ack reply to Service.OnConnect. The Service Manager will ignore any RequestQuit() issued while an OnConnect is still pending acknowledgement. Fixes a race in existing service_manager_unittests which was causing some tests to hang fairly regularly, using RequestQuit() to avoid races between service shutdown and incoming connections. Also fixes incorrect base::SimpleThread usage in some tests. BUG=654986, 662177 Committed: https://crrev.com/5b9cb3df6c06015d79aeb688c2b8905016086b9e Committed: https://crrev.com/66ee2e33ec55e317dfbf11209b9a4c08ecac4c46 Cr-Original-Commit-Position: refs/heads/master@{#430414} Cr-Commit-Position: refs/heads/master@{#431354}

Patch Set 1 #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+141 lines, -40 lines) Patch
M chrome/test/base/mojo_test_connector.cc View 1 chunk +0 lines, -3 lines 0 comments Download
M services/service_manager/public/cpp/lib/service_context.cc View 3 chunks +9 lines, -3 lines 0 comments Download
M services/service_manager/public/cpp/service_context.h View 3 chunks +7 lines, -1 line 0 comments Download
M services/service_manager/public/interfaces/BUILD.gn View 1 chunk +1 line, -0 lines 0 comments Download
M services/service_manager/public/interfaces/service.mojom View 4 chunks +9 lines, -3 lines 0 comments Download
A services/service_manager/public/interfaces/service_control.mojom View 1 chunk +16 lines, -0 lines 0 comments Download
M services/service_manager/service_manager.cc View 10 chunks +32 lines, -4 lines 1 comment Download
M services/service_manager/tests/connect/connect_test_package.cc View 8 chunks +59 lines, -24 lines 0 comments Download
M services/service_manager/tests/lifecycle/app_client.h View 1 chunk +1 line, -0 lines 0 comments Download
M services/service_manager/tests/lifecycle/app_client.cc View 3 chunks +7 lines, -2 lines 0 comments Download

Dependent Patchsets:

Messages

Total messages: 33 (16 generated)
Ken Rockot(use gerrit already)
4 years, 1 month ago (2016-11-05 17:19:47 UTC) #9
Ben Goodger (Google)
lgtm
4 years, 1 month ago (2016-11-07 21:48:12 UTC) #10
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/2480603004/1
4 years, 1 month ago (2016-11-07 21:51:09 UTC) #12
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/298825)
4 years, 1 month ago (2016-11-07 21:58:52 UTC) #14
Ken Rockot(use gerrit already)
+tsepez for mojom
4 years, 1 month ago (2016-11-07 22:03:27 UTC) #16
Tom Sepez
mojom LGTM
4 years, 1 month ago (2016-11-07 22:23:51 UTC) #17
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/2480603004/1
4 years, 1 month ago (2016-11-07 22:40:54 UTC) #19
commit-bot: I haz the power
Committed patchset #1 (id:1)
4 years, 1 month ago (2016-11-07 23:27:53 UTC) #20
commit-bot: I haz the power
Patchset 1 (id:??) landed as https://crrev.com/5b9cb3df6c06015d79aeb688c2b8905016086b9e Cr-Commit-Position: refs/heads/master@{#430414}
4 years, 1 month ago (2016-11-07 23:36:09 UTC) #22
blundell
https://codereview.chromium.org/2480603004/diff/1/services/service_manager/service_manager.cc File services/service_manager/service_manager.cc (right): https://codereview.chromium.org/2480603004/diff/1/services/service_manager/service_manager.cc#newcode452 services/service_manager/service_manager.cc:452: if (!pending_service_connections_) If there are pending service connections, should ...
4 years, 1 month ago (2016-11-08 14:12:56 UTC) #24
Ken Rockot(use gerrit already)
On Nov 8, 2016 6:12 AM, <blundell@chromium.org> wrote: > > > https://codereview.chromium.org/2480603004/diff/1/services/service_manager/service_manager.cc > File services/service_manager/service_manager.cc ...
4 years, 1 month ago (2016-11-08 14:17:40 UTC) #25
blundell
On 2016/11/08 14:17:40, Ken Rockot wrote: > On Nov 8, 2016 6:12 AM, <mailto:blundell@chromium.org> wrote: ...
4 years, 1 month ago (2016-11-08 14:22:58 UTC) #26
benwells
A revert of this CL (patchset #1 id:1) has been created in https://codereview.chromium.org/2486073003/ by benwells@chromium.org. ...
4 years, 1 month ago (2016-11-09 03:45:04 UTC) #27
Ken Rockot(use gerrit already)
LOI has been fixed by https://codereview.chromium.org/2494483003, so I'm going to reland this as-is.
4 years, 1 month ago (2016-11-10 20:09:19 UTC) #28
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/2480603004/1
4 years, 1 month ago (2016-11-10 20:09:48 UTC) #30
commit-bot: I haz the power
Committed patchset #1 (id:1)
4 years, 1 month ago (2016-11-10 21:16:57 UTC) #31
commit-bot: I haz the power
4 years, 1 month ago (2016-11-10 21:23:41 UTC) #33
Message was sent while issue was closed.
Patchset 1 (id:??) landed as
https://crrev.com/66ee2e33ec55e317dfbf11209b9a4c08ecac4c46
Cr-Commit-Position: refs/heads/master@{#431354}

Powered by Google App Engine
This is Rietveld 408576698