summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cpp/src/Ice/OutgoingAsync.cpp15
-rw-r--r--cpp/src/IceSSL/EndpointI.h1
-rw-r--r--cs/src/Ice/OutgoingAsync.cs17
-rw-r--r--java/src/IceInternal/CommunicatorBatchOutgoingAsync.java14
4 files changed, 35 insertions, 12 deletions
diff --git a/cpp/src/Ice/OutgoingAsync.cpp b/cpp/src/Ice/OutgoingAsync.cpp
index 126fa243ddc..5dd2238944f 100644
--- a/cpp/src/Ice/OutgoingAsync.cpp
+++ b/cpp/src/Ice/OutgoingAsync.cpp
@@ -1043,7 +1043,6 @@ IceInternal::CommunicatorBatchOutgoingAsync::flushConnection(const ConnectionIPt
using BatchOutgoingAsync::__sent;
#endif
-
virtual void __finished(const Ice::LocalException& ex, bool)
{
_remoteObserver.failed(ex.ice_name());
@@ -1067,10 +1066,18 @@ IceInternal::CommunicatorBatchOutgoingAsync::flushConnection(const ConnectionIPt
++_useCount;
}
- AsyncStatus status = con->flushAsyncBatchRequests(new BatchOutgoingAsyncI(this, _instance, _observer));
- if(!(status & AsyncStatusSent))
+ try
{
- _sentSynchronously = false;
+ AsyncStatus status = con->flushAsyncBatchRequests(new BatchOutgoingAsyncI(this, _instance, _observer));
+ if(!(status & AsyncStatusSent))
+ {
+ _sentSynchronously = false;
+ }
+ }
+ catch(const Ice::LocalException&)
+ {
+ check(false);
+ throw;
}
}
diff --git a/cpp/src/IceSSL/EndpointI.h b/cpp/src/IceSSL/EndpointI.h
index 0115fb71fbb..4eec180dfa8 100644
--- a/cpp/src/IceSSL/EndpointI.h
+++ b/cpp/src/IceSSL/EndpointI.h
@@ -65,7 +65,6 @@ private:
const std::string _host;
const Ice::Int _port;
const Ice::Int _timeout;
- const std::string _connectionId;
const bool _compress;
};
diff --git a/cs/src/Ice/OutgoingAsync.cs b/cs/src/Ice/OutgoingAsync.cs
index a4eaa5684b0..80d5dacbe09 100644
--- a/cs/src/Ice/OutgoingAsync.cs
+++ b/cs/src/Ice/OutgoingAsync.cs
@@ -1689,12 +1689,21 @@ namespace IceInternal
monitor_.Unlock();
}
- Ice.AsyncCallback sentCallback;
- if(!con.flushAsyncBatchRequests(new BatchOutgoingAsyncI(this), out sentCallback))
+
+ try
{
- sentSynchronously_ = false;
+ Ice.AsyncCallback sentCallback;
+ if(!con.flushAsyncBatchRequests(new BatchOutgoingAsyncI(this), out sentCallback))
+ {
+ sentSynchronously_ = false;
+ }
+ Debug.Assert(sentCallback == null);
+ }
+ catch(Ice.LocalException)
+ {
+ check(false);
+ throw;
}
- Debug.Assert(sentCallback == null);
}
public void ready()
diff --git a/java/src/IceInternal/CommunicatorBatchOutgoingAsync.java b/java/src/IceInternal/CommunicatorBatchOutgoingAsync.java
index 014d6e041e6..a2c9514ebdd 100644
--- a/java/src/IceInternal/CommunicatorBatchOutgoingAsync.java
+++ b/java/src/IceInternal/CommunicatorBatchOutgoingAsync.java
@@ -90,10 +90,18 @@ public class CommunicatorBatchOutgoingAsync extends Ice.AsyncResult
++_useCount;
}
- int status = con.flushAsyncBatchRequests(new BatchOutgoingAsyncI());
- if((status & AsyncStatus.Sent) > 0)
+ try
{
- _sentSynchronously = false;
+ int status = con.flushAsyncBatchRequests(new BatchOutgoingAsyncI());
+ if((status & AsyncStatus.Sent) > 0)
+ {
+ _sentSynchronously = false;
+ }
+ }
+ catch(Ice.LocalException ex)
+ {
+ check(false);
+ throw ex;
}
}