| Index: trunk/src/mojo/service_manager/background_shell_service_loader.cc
|
| ===================================================================
|
| --- trunk/src/mojo/service_manager/background_shell_service_loader.cc (revision 287751)
|
| +++ trunk/src/mojo/service_manager/background_shell_service_loader.cc (working copy)
|
| @@ -35,7 +35,8 @@
|
| scoped_ptr<ServiceLoader> real_loader,
|
| const std::string& thread_name,
|
| base::MessageLoop::Type message_loop_type)
|
| - : loader_(real_loader.Pass()),
|
| + : quit_on_shutdown_(false),
|
| + loader_(real_loader.Pass()),
|
| message_loop_type_(message_loop_type),
|
| thread_name_(thread_name),
|
| message_loop_created_(true, false),
|
| @@ -43,8 +44,11 @@
|
| }
|
|
|
| BackgroundShellServiceLoader::~BackgroundShellServiceLoader() {
|
| - if (thread_)
|
| + if (thread_) {
|
| + if (quit_on_shutdown_)
|
| + task_runner_->PostTask(FROM_HERE, quit_closure_);
|
| thread_->Join();
|
| + }
|
| }
|
|
|
| void BackgroundShellServiceLoader::LoadService(
|
|
|