summaryrefslogtreecommitdiff
path: root/TAO/tao/Invocation_Adapter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/Invocation_Adapter.cpp')
-rw-r--r--TAO/tao/Invocation_Adapter.cpp18
1 files changed, 11 insertions, 7 deletions
diff --git a/TAO/tao/Invocation_Adapter.cpp b/TAO/tao/Invocation_Adapter.cpp
index 0ee4d82540a..2fd03f25714 100644
--- a/TAO/tao/Invocation_Adapter.cpp
+++ b/TAO/tao/Invocation_Adapter.cpp
@@ -127,13 +127,15 @@ namespace TAO
ACE_ENV_ARG_PARAMETER);
ACE_CHECK;
- if (status == TAO_INVOKE_RESTART)
+ if (status == TAO_INVOKE_RESTART &&
+ coll_inv.is_forwarded ())
{
- effective_target = coll_inv.steal_forwarded_reference ();
+ effective_target =
+ coll_inv.steal_forwarded_reference ();
- this->object_forwarded (effective_target,
- stub
- ACE_ENV_ARG_PARAMETER);
+ (void) this->object_forwarded (effective_target,
+ stub
+ ACE_ENV_ARG_PARAMETER);
ACE_CHECK;
}
}
@@ -289,7 +291,8 @@ namespace TAO
ACE_ENV_ARG_PARAMETER);
ACE_CHECK_RETURN (TAO_INVOKE_FAILURE);
- if (status == TAO_INVOKE_RESTART)
+ if (status == TAO_INVOKE_RESTART &&
+ synch.is_forwarded ())
{
effective_target = synch.steal_forwarded_reference ();
@@ -331,7 +334,8 @@ namespace TAO
ACE_ENV_ARG_PARAMETER);
ACE_CHECK_RETURN (TAO_INVOKE_FAILURE);
- if (s == TAO_INVOKE_RESTART)
+ if (s == TAO_INVOKE_RESTART &&
+ synch.is_forwarded ())
{
effective_target = synch.steal_forwarded_reference ();