diff options
Diffstat (limited to 'cpp/src')
-rw-r--r-- | cpp/src/Ice/Proxy.cpp | 4 | ||||
-rw-r--r-- | cpp/src/slice2cpp/Gen.cpp | 1 |
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; |