summaryrefslogtreecommitdiff
path: root/cpp/src
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src')
-rw-r--r--cpp/src/Ice/Proxy.cpp4
-rw-r--r--cpp/src/slice2cpp/Gen.cpp1
2 files changed, 4 insertions, 1 deletions
diff --git a/cpp/src/Ice/Proxy.cpp b/cpp/src/Ice/Proxy.cpp
index a096a2a08cf..52fb90a671a 100644
--- a/cpp/src/Ice/Proxy.cpp
+++ b/cpp/src/Ice/Proxy.cpp
@@ -303,6 +303,7 @@ IceProxy::Ice::Object::__handleException(const LocalException& ex, int& cnt)
JTCSyncT<JTCMutex> sync(*this);
_delegate = 0;
+
static const int max = 1; // TODO: Make number of retries configurable
try
@@ -364,12 +365,13 @@ IceProxy::Ice::Object::__locationForward(const LocationForward& ex)
{
JTCSyncT<JTCMutex> sync(*this);
+ _delegate = 0;
+
if (_reference->identity != ex._prx->_reference->identity)
{
throw ReferenceIdentityException(__FILE__, __LINE__);
}
- _delegate = 0;
_reference = _reference->changeEndpoints(ex._prx->_reference->endpoints);
/*
diff --git a/cpp/src/slice2cpp/Gen.cpp b/cpp/src/slice2cpp/Gen.cpp
index a27b87f263f..28326387ee8 100644
--- a/cpp/src/slice2cpp/Gen.cpp
+++ b/cpp/src/slice2cpp/Gen.cpp
@@ -803,6 +803,7 @@ Slice::Gen::ProxyVisitor::visitOperation(const OperationPtr& p)
}
else
{
+ C << nl << "_delegate = 0;";
C << nl << "__ex.raise();";
}
C << eb;