summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/Proxy.cpp
diff options
context:
space:
mode:
authorDwayne Boone <dwayne@zeroc.com>2006-11-22 16:50:02 +0000
committerDwayne Boone <dwayne@zeroc.com>2006-11-22 16:50:02 +0000
commitb672da336b4249f05a8e29ba0f43e58518390c45 (patch)
treecba0c0b05baa3db31818a4240640c5be01c01dff /cpp/src/Ice/Proxy.cpp
parentDeprecated Ice.Logger.Timestamp (diff)
downloadice-b672da336b4249f05a8e29ba0f43e58518390c45.tar.bz2
ice-b672da336b4249f05a8e29ba0f43e58518390c45.tar.xz
ice-b672da336b4249f05a8e29ba0f43e58518390c45.zip
Bug 929
Diffstat (limited to 'cpp/src/Ice/Proxy.cpp')
-rw-r--r--cpp/src/Ice/Proxy.cpp11
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