diff options
Diffstat (limited to 'cpp/src/Ice/DispatchInterceptor.cpp')
-rw-r--r-- | cpp/src/Ice/DispatchInterceptor.cpp | 28 |
1 files changed, 4 insertions, 24 deletions
diff --git a/cpp/src/Ice/DispatchInterceptor.cpp b/cpp/src/Ice/DispatchInterceptor.cpp index 7b0867b0645..0bf4c4c78c0 100644 --- a/cpp/src/Ice/DispatchInterceptor.cpp +++ b/cpp/src/Ice/DispatchInterceptor.cpp @@ -14,36 +14,16 @@ using namespace Ice; using namespace IceInternal; -DispatchStatus -Ice::DispatchInterceptor::__dispatch(IceInternal::Incoming& in, const Current& /*current*/) +bool +Ice::DispatchInterceptor::_iceDispatch(IceInternal::Incoming& in, const Current& /*current*/) { try { IncomingRequest request(in); - DispatchStatus status = dispatch(request); - if(status != DispatchAsync) - { - // - // Make sure 'in' owns the connection etc. - // - in.killAsync(); - } - return status; + return dispatch(request); } catch(const ResponseSentException&) { - return DispatchAsync; - } - catch(...) - { - try - { - in.killAsync(); - } - catch(const ResponseSentException&) - { - return DispatchAsync; - } - throw; + return false; } } |