diff options
author | Dwayne Boone <dwayne@zeroc.com> | 2006-11-22 16:50:02 +0000 |
---|---|---|
committer | Dwayne Boone <dwayne@zeroc.com> | 2006-11-22 16:50:02 +0000 |
commit | b672da336b4249f05a8e29ba0f43e58518390c45 (patch) | |
tree | cba0c0b05baa3db31818a4240640c5be01c01dff /cpp | |
parent | Deprecated Ice.Logger.Timestamp (diff) | |
download | ice-b672da336b4249f05a8e29ba0f43e58518390c45.tar.bz2 ice-b672da336b4249f05a8e29ba0f43e58518390c45.tar.xz ice-b672da336b4249f05a8e29ba0f43e58518390c45.zip |
Bug 929
Diffstat (limited to 'cpp')
-rw-r--r-- | cpp/src/Ice/Proxy.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/cpp/src/Ice/Proxy.cpp b/cpp/src/Ice/Proxy.cpp index 50bac167724..73e5efa5627 100644 --- a/cpp/src/Ice/Proxy.cpp +++ b/cpp/src/Ice/Proxy.cpp @@ -908,18 +908,21 @@ IceProxy::Ice::Object::__handleException(const LocalException& ex, int& cnt) _delegate = 0; } - ProxyFactoryPtr proxyFactory = _reference->getInstance()->proxyFactory(); - if(proxyFactory) + ProxyFactoryPtr proxyFactory; + try { - proxyFactory->checkRetryAfterException(ex, _reference, cnt); + proxyFactory = _reference->getInstance()->proxyFactory(); } - else + catch(const CommunicatorDestroyedException&) { // // The communicator is already destroyed, so we cannot retry. // ex.ice_throw(); + } + + proxyFactory->checkRetryAfterException(ex, _reference, cnt); } void |