summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/DispatchInterceptor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Ice/DispatchInterceptor.cpp')
-rw-r--r--cpp/src/Ice/DispatchInterceptor.cpp28
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;
}
}