summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/ThreadPool.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Ice/ThreadPool.cpp')
-rw-r--r--cpp/src/Ice/ThreadPool.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/cpp/src/Ice/ThreadPool.cpp b/cpp/src/Ice/ThreadPool.cpp
index 50b9adf3581..5f4f6dfb6f2 100644
--- a/cpp/src/Ice/ThreadPool.cpp
+++ b/cpp/src/Ice/ThreadPool.cpp
@@ -488,8 +488,12 @@ IceInternal::ThreadPool::run()
//
// Initiate server shutdown.
//
- ObjectAdapterFactoryPtr factory = _instance->objectAdapterFactory();
- if(!factory)
+ ObjectAdapterFactoryPtr factory;
+ try
+ {
+ factory = _instance->objectAdapterFactory();
+ }
+ catch(const Ice::CommunicatorDestroyedException&)
{
continue;
}