summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/OutgoingAsync.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Ice/OutgoingAsync.cpp')
-rw-r--r--cpp/src/Ice/OutgoingAsync.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/cpp/src/Ice/OutgoingAsync.cpp b/cpp/src/Ice/OutgoingAsync.cpp
index c1dcb5f3871..6145e542267 100644
--- a/cpp/src/Ice/OutgoingAsync.cpp
+++ b/cpp/src/Ice/OutgoingAsync.cpp
@@ -18,6 +18,7 @@
#include <Ice/LocatorInfo.h>
#include <Ice/ProxyFactory.h>
#include <Ice/RouterInfo.h>
+#include <Ice/Outgoing.h> // For LocalExceptionWrapper.
using namespace std;
using namespace Ice;
@@ -373,6 +374,13 @@ IceInternal::OutgoingAsync::__send()
//
return;
}
+ catch(const LocalExceptionWrapper& ex)
+ {
+ if(!ex.retry())
+ {
+ ex.get()->ice_throw();
+ }
+ }
catch(const LocalException& ex)
{
ProxyFactoryPtr proxyFactory = _reference->getInstance()->proxyFactory();