summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/Incoming.cpp
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2014-07-24 14:32:00 +0200
committerBenoit Foucher <benoit@zeroc.com>2014-07-24 14:32:00 +0200
commit2d88aac37141b6649155bf7cefd926af944be132 (patch)
treea67642698dda213f0b212d6475992e02c3dcc4d7 /cpp/src/Ice/Incoming.cpp
parentanother update to CHANGES for ICE-5515 (diff)
downloadice-2d88aac37141b6649155bf7cefd926af944be132.tar.bz2
ice-2d88aac37141b6649155bf7cefd926af944be132.tar.xz
ice-2d88aac37141b6649155bf7cefd926af944be132.zip
Fixed bug with system exceptions not being propagated correctly with collocation optimization + AMD
Diffstat (limited to 'cpp/src/Ice/Incoming.cpp')
-rw-r--r--cpp/src/Ice/Incoming.cpp9
1 files changed, 2 insertions, 7 deletions
diff --git a/cpp/src/Ice/Incoming.cpp b/cpp/src/Ice/Incoming.cpp
index 5288c393e4a..7a6f216b041 100644
--- a/cpp/src/Ice/Incoming.cpp
+++ b/cpp/src/Ice/Incoming.cpp
@@ -260,14 +260,9 @@ IceInternal::IncomingBase::__handleException(const std::exception& exc)
if(const SystemException* ex = dynamic_cast<const SystemException*>(&exc))
{
- //
- // Only rethrow the system exception if it's a collocated
- // call. For now, on-the-wire system exceptions aren't
- // supported.
- //
- if(!_current.con)
+ if(_responseHandler->systemException(_current.requestId, *ex))
{
- ex->ice_throw();
+ return;
}
}