summaryrefslogtreecommitdiff
path: root/cpp/src/IceBox/ServiceManagerI.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/IceBox/ServiceManagerI.cpp')
-rw-r--r--cpp/src/IceBox/ServiceManagerI.cpp16
1 files changed, 6 insertions, 10 deletions
diff --git a/cpp/src/IceBox/ServiceManagerI.cpp b/cpp/src/IceBox/ServiceManagerI.cpp
index 1bfdb899f5d..d8f5c3cdcc0 100644
--- a/cpp/src/IceBox/ServiceManagerI.cpp
+++ b/cpp/src/IceBox/ServiceManagerI.cpp
@@ -839,6 +839,10 @@ IceBox::ServiceManagerI::stopAll()
// leak detector doesn't report potential leaks, and the communicator must be destroyed before
// the library is released since the library will destroy its global state.
//
+
+#ifdef ICE_CPP11_MAPPING
+ info.service = 0;
+#else
try
{
info.service = 0;
@@ -854,7 +858,7 @@ IceBox::ServiceManagerI::stopAll()
Warning out(_logger);
out << "ServiceManager: unknown exception while stopping service " << info.name;
}
-
+#endif
if(info.communicator)
{
removeAdminFacets("IceBox.Service." + info.name + ".");
@@ -884,15 +888,7 @@ IceBox::ServiceManagerI::stopAll()
{
removeAdminFacets("IceBox.SharedCommunicator.");
- try
- {
- _sharedCommunicator->destroy();
- }
- catch(const std::exception& ex)
- {
- Warning out(_logger);
- out << "ServiceManager: exception while destroying shared communicator:\n" << ex;
- }
+ _sharedCommunicator->destroy();
_sharedCommunicator = 0;
}