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