summaryrefslogtreecommitdiff
path: root/cpp
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2003-04-10 22:09:18 +0000
committerBenoit Foucher <benoit@zeroc.com>2003-04-10 22:09:18 +0000
commit900026552874ff319b5e1716d40e22db19bf21e2 (patch)
tree34e2fd2eaae19395c2f33976dd819d3ace015c2a /cpp
parentCompleted Solaris port (diff)
downloadice-900026552874ff319b5e1716d40e22db19bf21e2.tar.bz2
ice-900026552874ff319b5e1716d40e22db19bf21e2.tar.xz
ice-900026552874ff319b5e1716d40e22db19bf21e2.zip
Fix
Diffstat (limited to 'cpp')
-rw-r--r--cpp/src/Glacier/Request.cpp15
1 files changed, 11 insertions, 4 deletions
diff --git a/cpp/src/Glacier/Request.cpp b/cpp/src/Glacier/Request.cpp
index 221be673f2b..6167d4821c8 100644
--- a/cpp/src/Glacier/Request.cpp
+++ b/cpp/src/Glacier/Request.cpp
@@ -40,13 +40,20 @@ Glacier::Request::invoke()
if(_proxy->ice_isTwoway())
{
assert(_amiCB);
- if(_forwardContext)
+ try
{
- _proxy->ice_invoke_async(_amiCB, _current.operation, _current.mode, _inParams, _current.ctx);
+ if(_forwardContext)
+ {
+ _proxy->ice_invoke_async(_amiCB, _current.operation, _current.mode, _inParams, _current.ctx);
+ }
+ else
+ {
+ _proxy->ice_invoke_async(_amiCB, _current.operation, _current.mode, _inParams);
+ }
}
- else
+ catch(const Ice::Exception& ex)
{
- _proxy->ice_invoke_async(_amiCB, _current.operation, _current.mode, _inParams);
+ _amiCB->ice_exception(ex);
}
}
else