diff options
Diffstat (limited to 'cpp/src/Ice/ProxyFactory.cpp')
-rw-r--r-- | cpp/src/Ice/ProxyFactory.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/cpp/src/Ice/ProxyFactory.cpp b/cpp/src/Ice/ProxyFactory.cpp index b38e281622a..68ca8b02598 100644 --- a/cpp/src/Ice/ProxyFactory.cpp +++ b/cpp/src/Ice/ProxyFactory.cpp @@ -211,6 +211,16 @@ IceInternal::ProxyFactory::checkRetryAfterException(const LocalException& ex, co } // + // Don't retry if the communicator is destroyed or object adapter + // deactivated. + // + if(dynamic_cast<const CommunicatorDestroyedException*>(&ex) || + dynamic_cast<const ObjectAdapterDeactivatedException*>(&ex)) + { + ex.ice_throw(); + } + + // // Don't retry invocation timeouts. // if(dynamic_cast<const InvocationTimeoutException*>(&ex)) |