summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/Proxy.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Ice/Proxy.cpp')
-rw-r--r--cpp/src/Ice/Proxy.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/cpp/src/Ice/Proxy.cpp b/cpp/src/Ice/Proxy.cpp
index a5506007a83..a1fe9f11909 100644
--- a/cpp/src/Ice/Proxy.cpp
+++ b/cpp/src/Ice/Proxy.cpp
@@ -1246,10 +1246,11 @@ IceProxy::Ice::Object::__handleException(const ::IceInternal::Handle< ::IceDeleg
{
ex.ice_throw();
}
-
+
+ int interval;
try
{
- return _reference->getInstance()->proxyFactory()->checkRetryAfterException(ex, _reference, sleep, cnt);
+ interval = _reference->getInstance()->proxyFactory()->checkRetryAfterException(ex, _reference, sleep, cnt);
}
catch(const CommunicatorDestroyedException&)
{
@@ -1258,7 +1259,8 @@ IceProxy::Ice::Object::__handleException(const ::IceInternal::Handle< ::IceDeleg
//
ex.ice_throw();
}
- observer.retry();
+ observer.retried();
+ return interval;
}
catch(const ::Ice::LocalException& ex)
{
@@ -1288,7 +1290,7 @@ IceProxy::Ice::Object::__handleExceptionWrapper(const ::IceInternal::Handle< ::I
}
else
{
- observer.retry();
+ observer.retried();
}
return 0;
@@ -1314,7 +1316,7 @@ IceProxy::Ice::Object::__handleExceptionWrapperRelaxed(const ::IceInternal::Hand
_delegate = 0;
}
}
- observer.retry();
+ observer.retried();
return 0;
}
}