summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/Incoming.cpp
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2008-01-09 21:27:15 +0100
committerBenoit Foucher <benoit@zeroc.com>2008-01-09 21:27:15 +0100
commit5b2cdfebdd59ca3f99eb306e0ccf775fc0a81b83 (patch)
tree3414c09ed68bbbda6d446a76c552e065c9e91108 /cpp/src/Ice/Incoming.cpp
parentAdded info on mcpp (diff)
downloadice-5b2cdfebdd59ca3f99eb306e0ccf775fc0a81b83.tar.bz2
ice-5b2cdfebdd59ca3f99eb306e0ccf775fc0a81b83.tar.xz
ice-5b2cdfebdd59ca3f99eb306e0ccf775fc0a81b83.zip
- Fixed bug 1619, part of 2632.
Diffstat (limited to 'cpp/src/Ice/Incoming.cpp')
-rw-r--r--cpp/src/Ice/Incoming.cpp10
1 files changed, 1 insertions, 9 deletions
diff --git a/cpp/src/Ice/Incoming.cpp b/cpp/src/Ice/Incoming.cpp
index d7d4bd253b0..cddef9f98e4 100644
--- a/cpp/src/Ice/Incoming.cpp
+++ b/cpp/src/Ice/Incoming.cpp
@@ -296,7 +296,7 @@ IceInternal::Incoming::startOver()
//
// That's the first startOver, so almost nothing to do
//
- _inParamPos = _is.i - 6; // 6 bytes for the start of the encaps
+ _inParamPos = _is.i;
}
else
{
@@ -305,9 +305,7 @@ IceInternal::Incoming::startOver()
//
// Let's rewind _is and clean-up _os
//
- _is.endReadEncaps();
_is.i = _inParamPos;
- _is.startReadEncaps();
if(_response)
{
@@ -384,8 +382,6 @@ IceInternal::Incoming::invoke(const ServantManagerPtr& servantManager)
_current.ctx.insert(_current.ctx.end(), pr);
}
- _is.startReadEncaps();
-
if(_response)
{
assert(_os.b.size() == headerSize + 4); // Reply status position.
@@ -508,13 +504,11 @@ IceInternal::Incoming::invoke(const ServantManagerPtr& servantManager)
}
catch(const std::exception& ex)
{
- _is.endReadEncaps();
__handleException(ex);
return;
}
catch(...)
{
- _is.endReadEncaps();
__handleException();
return;
}
@@ -524,8 +518,6 @@ IceInternal::Incoming::invoke(const ServantManagerPtr& servantManager)
// in the code below are considered fatal, and must propagate to
// the caller of this operation.
//
-
- _is.endReadEncaps();
//
// DispatchAsync is "pseudo dispatch status", used internally only