diff options
-rw-r--r-- | cpp/src/Ice/OutgoingAsync.cpp | 15 | ||||
-rw-r--r-- | cpp/src/IceSSL/EndpointI.h | 1 | ||||
-rw-r--r-- | cs/src/Ice/OutgoingAsync.cs | 17 | ||||
-rw-r--r-- | java/src/IceInternal/CommunicatorBatchOutgoingAsync.java | 14 |
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; } } |