summaryrefslogtreecommitdiff
path: root/cpp/src/Ice
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2015-09-08 14:43:04 +0200
committerBenoit Foucher <benoit@zeroc.com>2015-09-08 14:43:04 +0200
commita13ed5c595fd7492a4ecb2c0712efff4f2af807c (patch)
tree021afa5085f74a58d461ccae6471a38dd13a7170 /cpp/src/Ice
parentFixed ICE-6777 - Increased IceGrid session timeout (diff)
downloadice-a13ed5c595fd7492a4ecb2c0712efff4f2af807c.tar.bz2
ice-a13ed5c595fd7492a4ecb2c0712efff4f2af807c.tar.xz
ice-a13ed5c595fd7492a4ecb2c0712efff4f2af807c.zip
Fixed ICE-6778 - background test failure
Diffstat (limited to 'cpp/src/Ice')
-rw-r--r--cpp/src/Ice/ConnectRequestHandler.cpp29
1 files changed, 12 insertions, 17 deletions
diff --git a/cpp/src/Ice/ConnectRequestHandler.cpp b/cpp/src/Ice/ConnectRequestHandler.cpp
index d69448743a9..caabcbd3e75 100644
--- a/cpp/src/Ice/ConnectRequestHandler.cpp
+++ b/cpp/src/Ice/ConnectRequestHandler.cpp
@@ -41,24 +41,9 @@ RequestHandlerPtr
ConnectRequestHandler::connect(const Ice::ObjectPrx& proxy)
{
Lock sync(*this);
- try
- {
- if(!initialized())
- {
- _proxies.insert(proxy);
- }
- }
- catch(const Ice::LocalException&)
+ if(!initialized())
{
- //
- // Only throw if the connection didn't get established. If
- // it died after being established, we allow the caller to
- // retry the connection establishment by not throwing here.
- //
- if(!_connection)
- {
- throw;
- }
+ _proxies.insert(proxy);
}
return _requestHandler ? _requestHandler : this;
}
@@ -302,6 +287,16 @@ ConnectRequestHandler::initialized()
if(_exception.get())
{
+ if(_connection)
+ {
+ //
+ // Only throw if the connection didn't get established. If
+ // it died after being established, we allow the caller to
+ // retry the connection establishment by not throwing here
+ // (the connection will throw RetryException).
+ //
+ return true;
+ }
_exception->ice_throw();
return false; // Keep the compiler happy.
}