diff options
author | Joe George <joe@zeroc.com> | 2015-09-11 14:30:00 -0400 |
---|---|---|
committer | Joe George <joe@zeroc.com> | 2015-09-11 14:30:00 -0400 |
commit | b9c2a6f6628476f11c78a7de2adc90edca1e209e (patch) | |
tree | df192d87dfbc594a7a2b52a96b5145ad3156d26f /cpp/src/Ice/ConnectRequestHandler.cpp | |
parent | ICE-6645 Removed hack to keep binary compatibility in Ice 3.6.1 (diff) | |
parent | Removed ARM configuraton from WinRT testsuite solutions (diff) | |
download | ice-b9c2a6f6628476f11c78a7de2adc90edca1e209e.tar.bz2 ice-b9c2a6f6628476f11c78a7de2adc90edca1e209e.tar.xz ice-b9c2a6f6628476f11c78a7de2adc90edca1e209e.zip |
Merge remote-tracking branch 'origin/3.6'
Diffstat (limited to 'cpp/src/Ice/ConnectRequestHandler.cpp')
-rw-r--r-- | cpp/src/Ice/ConnectRequestHandler.cpp | 29 |
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. } |