Index: mojo/service_manager/service_manager.cc |
diff --git a/mojo/service_manager/service_manager.cc b/mojo/service_manager/service_manager.cc |
index 0f13cfde6b375231d69db0fdd336a8d5a1f18788..593b9e9b7a10c65c1bd852447bacc314725fa0bc 100644 |
--- a/mojo/service_manager/service_manager.cc |
+++ b/mojo/service_manager/service_manager.cc |
@@ -94,13 +94,15 @@ ServiceManager::ServiceManager() : interceptor_(NULL) { |
} |
ServiceManager::~ServiceManager() { |
- TerminateShellConnections(); |
+ STLDeleteValues(&url_to_shell_impl_); |
STLDeleteValues(&url_to_loader_); |
STLDeleteValues(&scheme_to_loader_); |
} |
void ServiceManager::TerminateShellConnections() { |
- STLDeleteValues(&url_to_shell_impl_); |
+ URLToShellImplMap::iterator it; |
+ for (it = url_to_shell_impl_.begin(); it != url_to_shell_impl_.end(); ++it) |
+ it->second->client()->Terminate(); |
} |
// static |