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.cpp14
1 files changed, 9 insertions, 5 deletions
diff --git a/cpp/src/Ice/Proxy.cpp b/cpp/src/Ice/Proxy.cpp
index 13e08cb29bd..19a0b156ab9 100644
--- a/cpp/src/Ice/Proxy.cpp
+++ b/cpp/src/Ice/Proxy.cpp
@@ -694,13 +694,17 @@ IceProxy::Ice::Object::__handleException(const LocalException& ex, int& cnt)
ir->getLocatorInfo()->clearObjectCache(ir);
}
- if(ice_isBatchOneway() || ice_isBatchDatagram())
+ if(ice_isOneway() || ice_isBatchOnway())
{
//
- // We do not retry batch requests (except for problems during
- // connection establishment, which are not handled here
- // anyway). If we retry a batch request, previous requests
- // from the same batch are silently thrown away.
+ // We do not retry oneway or batch oneway requests (except for
+ // problems during connection establishment, which are not
+ // handled here anyway). If we retry a oneway or batch oneway,
+ // previous oneways from the same batch, or previous oneways
+ // that are buffered by the IP stack implementation, are
+ // silently thrown away. This can lead to a situation where
+ // the latest oneway succeeds due to retry, but former oneways
+ // are discarded.
//
ex.ice_throw();
}