diff options
Diffstat (limited to 'cpp/src/Glacier2/Blobject.cpp')
-rw-r--r-- | cpp/src/Glacier2/Blobject.cpp | 28 |
1 files changed, 9 insertions, 19 deletions
diff --git a/cpp/src/Glacier2/Blobject.cpp b/cpp/src/Glacier2/Blobject.cpp index a0688d89b97..ae3ae5441b6 100644 --- a/cpp/src/Glacier2/Blobject.cpp +++ b/cpp/src/Glacier2/Blobject.cpp @@ -53,11 +53,9 @@ public: // if(_connection) { - try - { - ex.ice_throw(); - } - catch(const Ice::ConnectionLostException&) + if(dynamic_cast<const Ice::SocketException*>(&ex) || + dynamic_cast<const Ice::TimeoutException*>(&ex) || + dynamic_cast<const Ice::ProtocolException*>(&ex)) { try { @@ -67,9 +65,6 @@ public: { } } - catch(const Exception&) - { - } } _amdCB->ice_exception(ex); @@ -115,11 +110,9 @@ public: // if(_connection) { - try - { - ex.ice_throw(); - } - catch(const Ice::ConnectionLostException&) + if(dynamic_cast<const Ice::SocketException*>(&ex) || + dynamic_cast<const Ice::TimeoutException*>(&ex) || + dynamic_cast<const Ice::ProtocolException*>(&ex)) { try { @@ -129,9 +122,6 @@ public: { } } - catch(const Exception&) - { - } } _amdCB->ice_exception(ex); @@ -168,7 +158,7 @@ Glacier2::Blobject::Blobject(const InstancePtr& instance, const ConnectionPtr& r _instance->clientRequestQueueThread(); if(t) { - const_cast<RequestQueuePtr&>(_requestQueue) = new RequestQueue(t, _instance); + const_cast<RequestQueuePtr&>(_requestQueue) = new RequestQueue(t, _instance, _reverseConnection); } } @@ -347,8 +337,8 @@ Glacier2::Blobject::invoke(ObjectPrx& proxy, const AMD_Array_Object_ice_invokePt bool override; try { - override = _requestQueue->addRequest( - new Request(proxy, inParams, current, _forwardContext, _sslContext, amdCB, _reverseConnection)); + override = _requestQueue->addRequest(new Request(proxy, inParams, current, _forwardContext, _sslContext, + amdCB)); } catch(const ObjectNotExistException& ex) { |