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

Side by Side Diff: mojo/shell/out_of_process_dynamic_service_runner.cc

Issue 491443005: Get rid of KeepAlive. Quit shell when all urls run directly by Context are closed. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Cleanup Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "mojo/shell/out_of_process_dynamic_service_runner.h" 5 #include "mojo/shell/out_of_process_dynamic_service_runner.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/callback_helpers.h" 8 #include "base/callback_helpers.h"
9 #include "base/file_util.h" 9 #include "base/file_util.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
11 #include "base/scoped_native_library.h" 11 #include "base/scoped_native_library.h"
12 12
13 namespace mojo { 13 namespace mojo {
14 namespace shell { 14 namespace shell {
15 15
16 OutOfProcessDynamicServiceRunner::OutOfProcessDynamicServiceRunner( 16 OutOfProcessDynamicServiceRunner::OutOfProcessDynamicServiceRunner(
17 Context* context) 17 Context* context)
18 : context_(context), 18 : context_(context) {
19 keep_alive_(context) {
20 } 19 }
21 20
22 OutOfProcessDynamicServiceRunner::~OutOfProcessDynamicServiceRunner() { 21 OutOfProcessDynamicServiceRunner::~OutOfProcessDynamicServiceRunner() {
23 if (app_child_process_host_) { 22 if (app_child_process_host_) {
24 // TODO(vtl): Race condition: If |AppChildProcessHost::DidStart()| hasn't 23 // TODO(vtl): Race condition: If |AppChildProcessHost::DidStart()| hasn't
25 // been called yet, we shouldn't call |Join()| here. (Until |DidStart()|, we 24 // been called yet, we shouldn't call |Join()| here. (Until |DidStart()|, we
26 // may not have a child process to wait on.) Probably we should fix 25 // may not have a child process to wait on.) Probably we should fix
27 // |Join()|. 26 // |Join()|.
28 app_child_process_host_->Join(); 27 app_child_process_host_->Join();
29 } 28 }
(...skipping 25 matching lines...) Expand all
55 DVLOG(2) << "OutOfProcessDynamicServiceRunner::AppCompleted(" << result 54 DVLOG(2) << "OutOfProcessDynamicServiceRunner::AppCompleted(" << result
56 << ")"; 55 << ")";
57 56
58 app_completed_callback_.Run(); 57 app_completed_callback_.Run();
59 app_completed_callback_.Reset(); 58 app_completed_callback_.Reset();
60 app_child_process_host_.reset(); 59 app_child_process_host_.reset();
61 } 60 }
62 61
63 } // namespace shell 62 } // namespace shell
64 } // namespace mojo 63 } // namespace mojo
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698