summaryrefslogtreecommitdiff
path: root/TAO/tao/ClientRequestInfo.inl
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/ClientRequestInfo.inl')
-rw-r--r--TAO/tao/ClientRequestInfo.inl9
1 files changed, 7 insertions, 2 deletions
diff --git a/TAO/tao/ClientRequestInfo.inl b/TAO/tao/ClientRequestInfo.inl
index 0fed4cfe47c..50bd99d0a2c 100644
--- a/TAO/tao/ClientRequestInfo.inl
+++ b/TAO/tao/ClientRequestInfo.inl
@@ -46,7 +46,7 @@ TAO_ClientRequestInfo::reply_status (int invoke_status)
ACE_INLINE void
TAO_ClientRequestInfo::forward_reference (
- PortableInterceptor::ForwardRequest &)
+ PortableInterceptor::ForwardRequest &exc)
{
// Note that we're converting the ForwardRequest exception in to a
// LOCATION_FORWARD reply, so we do not set the exception status.
@@ -55,5 +55,10 @@ TAO_ClientRequestInfo::forward_reference (
// handled by the TAO_GIOP_Invocation object so that its profiles
// can be added to the list of forward profiles.
- this->reply_status_ = PortableInterceptor::LOCATION_FORWARD;
+ if (exc.permanent)
+ this->reply_status_ =
+ PortableInterceptor::LOCATION_FORWARD_PERMANENT;
+ else
+ this->reply_status_ =
+ PortableInterceptor::LOCATION_FORWARD;
}