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( |