summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohnny Willemsen <jwillemsen@remedy.nl>2007-01-03 19:00:47 +0000
committerJohnny Willemsen <jwillemsen@remedy.nl>2007-01-03 19:00:47 +0000
commit5923433ddfe646b49ab9c6ed0ee81f25d476b088 (patch)
tree2ba5f47425dbce76b7dea6775d6c9d380ea4de13
parentd0c30b1de636230e036dfbe5b00be0395a7c4fd7 (diff)
downloadATCD-5923433ddfe646b49ab9c6ed0ee81f25d476b088.tar.gz
-rw-r--r--TAO/ChangeLog14
-rw-r--r--TAO/tao/Invocation_Adapter.cpp6
-rw-r--r--TAO/tao/Invocation_Base.cpp12
-rw-r--r--TAO/tao/Messaging/Asynch_Invocation.cpp2
-rw-r--r--TAO/tao/PI/ClientRequestInterceptor_Adapter_Impl.cpp12
-rw-r--r--TAO/tao/Synch_Invocation.cpp4
6 files changed, 35 insertions, 15 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog
index 415b6f09e33..c3135e31bf8 100644
--- a/TAO/ChangeLog
+++ b/TAO/ChangeLog
@@ -1,3 +1,17 @@
+
+ * tao/Invocation_Adapter.cpp:
+ * tao/Messaging/Asynch_Invocation.cpp:
+ * tao/PI/ClientRequestInterceptor_Adapter_Impl.cpp:
+ Const improvements
+
+ * tao/Invocation_Base.cpp (handle_any_exception):
+ Check whether we had a location forward, if so, return
+ LOCATION_FORWARD. This fixes bugzilla bug 2763. Thanks to
+ Jaiganesh Balasubramanian for reporting this and testing
+ the patch
+
+ * tao/Synch_Invocation.cpp:
+
Wed Jan 3 18:47:36 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
* tests/Portable_Interceptors/Redirection/test.idl:
diff --git a/TAO/tao/Invocation_Adapter.cpp b/TAO/tao/Invocation_Adapter.cpp
index 1072cb12636..b3577fb9e7e 100644
--- a/TAO/tao/Invocation_Adapter.cpp
+++ b/TAO/tao/Invocation_Adapter.cpp
@@ -68,7 +68,7 @@ namespace TAO
// there are multiple ORB instances in the process, each with its
// own, local configuration.
ACE_Service_Config_Guard scg (stub->orb_core ()->configuration ());
-
+
// Cache the target to a local variable.
CORBA::Object_var effective_target =
CORBA::Object::_duplicate (this->target_);
@@ -344,7 +344,7 @@ namespace TAO
r,
details);
- Invocation_Status status =
+ Invocation_Status const status =
synch.remote_twoway (max_wait_time
ACE_ENV_ARG_PARAMETER);
ACE_CHECK_RETURN (TAO_INVOKE_FAILURE);
@@ -383,7 +383,7 @@ namespace TAO
r,
details);
- Invocation_Status s =
+ Invocation_Status const s =
synch.remote_oneway (max_wait_time
ACE_ENV_ARG_PARAMETER);
ACE_CHECK_RETURN (TAO_INVOKE_FAILURE);
diff --git a/TAO/tao/Invocation_Base.cpp b/TAO/tao/Invocation_Base.cpp
index dd2ab25d2cf..7f306a4231a 100644
--- a/TAO/tao/Invocation_Base.cpp
+++ b/TAO/tao/Invocation_Base.cpp
@@ -155,7 +155,7 @@ namespace TAO
ACE_ENDTRY;
ACE_CHECK_RETURN (TAO_INVOKE_FAILURE);
- const PortableInterceptor::ReplyStatus status =
+ PortableInterceptor::ReplyStatus const status =
this->adapter_->reply_status (*this);
if (status == PortableInterceptor::LOCATION_FORWARD ||
@@ -222,8 +222,14 @@ namespace TAO
ACE_ENV_ARG_PARAMETER);
ACE_CHECK_RETURN (PortableInterceptor::UNKNOWN);
- status =
- this->adapter_->reply_status (*this);
+ if (this->forwarded_to_.in ())
+ {
+ status = PortableInterceptor::LOCATION_FORWARD;
+ }
+ else
+ {
+ status = this->adapter_->reply_status (*this);
+ }
}
return status;
diff --git a/TAO/tao/Messaging/Asynch_Invocation.cpp b/TAO/tao/Messaging/Asynch_Invocation.cpp
index 619de3ed97b..7296456a0ad 100644
--- a/TAO/tao/Messaging/Asynch_Invocation.cpp
+++ b/TAO/tao/Messaging/Asynch_Invocation.cpp
@@ -155,7 +155,7 @@ namespace TAO
ACE_CATCHANY
{
#if TAO_HAS_INTERCEPTORS == 1
- PortableInterceptor::ReplyStatus status =
+ PortableInterceptor::ReplyStatus const status =
this->handle_any_exception (&ACE_ANY_EXCEPTION
ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
diff --git a/TAO/tao/PI/ClientRequestInterceptor_Adapter_Impl.cpp b/TAO/tao/PI/ClientRequestInterceptor_Adapter_Impl.cpp
index 741d185e2b9..ee0c9b17a75 100644
--- a/TAO/tao/PI/ClientRequestInterceptor_Adapter_Impl.cpp
+++ b/TAO/tao/PI/ClientRequestInterceptor_Adapter_Impl.cpp
@@ -72,7 +72,7 @@ namespace TAO
// This is an "ending" interception point so we only process the
// interceptors pushed on to the flow stack.
- bool is_remote_request = invocation.is_remote_request();
+ bool const is_remote_request = invocation.is_remote_request();
// Notice that the interceptors are processed in the opposite order
// they were pushed onto the stack since this is an "ending"
@@ -81,7 +81,7 @@ namespace TAO
TAO_ClientRequestInfo ri (&invocation);
// Unwind the stack.
- const size_t len = invocation.stack_size ();
+ size_t const len = invocation.stack_size ();
for (size_t i = 0; i < len; ++i)
{
// Pop the interceptor off of the flow stack before it is
@@ -117,7 +117,7 @@ namespace TAO
// This is an "ending" interception point so we only process the
// interceptors pushed on to the flow stack.
- bool is_remote_request = invocation.is_remote_request();
+ bool const is_remote_request = invocation.is_remote_request();
// Notice that the interceptors are processed in the opposite order
// they were pushed onto the stack since this is an "ending"
@@ -127,7 +127,7 @@ namespace TAO
TAO_ClientRequestInfo ri (&invocation);
// Unwind the flow stack.
- const size_t len = invocation.stack_size ();
+ size_t const len = invocation.stack_size ();
for (size_t i = 0; i < len; ++i)
{
// Pop the interceptor off of the flow stack before it is
@@ -196,7 +196,7 @@ namespace TAO
// This is an "ending" interception point so we only process the
// interceptors pushed on to the flow stack.
- bool is_remote_request = invocation.is_remote_request();
+ bool const is_remote_request = invocation.is_remote_request();
// Notice that the interceptors are processed in the opposite order
// they were pushed onto the stack since this is an "ending"
@@ -207,7 +207,7 @@ namespace TAO
TAO_ClientRequestInfo ri (&invocation);
// Unwind the stack.
- const size_t len = invocation.stack_size ();
+ size_t const len = invocation.stack_size ();
for (size_t i = 0; i < len; ++i)
{
// Pop the interceptor off of the flow stack before it is
diff --git a/TAO/tao/Synch_Invocation.cpp b/TAO/tao/Synch_Invocation.cpp
index 817e221df50..abe453e0d0c 100644
--- a/TAO/tao/Synch_Invocation.cpp
+++ b/TAO/tao/Synch_Invocation.cpp
@@ -785,7 +785,7 @@ namespace TAO
ACE_CATCHANY
{
#if TAO_HAS_INTERCEPTORS == 1
- PortableInterceptor::ReplyStatus status =
+ PortableInterceptor::ReplyStatus const status =
this->handle_any_exception (&ACE_ANY_EXCEPTION
ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;
@@ -803,7 +803,7 @@ namespace TAO
ACE_CATCHALL
{
#if TAO_HAS_INTERCEPTORS == 1
- PortableInterceptor::ReplyStatus st =
+ PortableInterceptor::ReplyStatus const st =
this->handle_all_exception (ACE_ENV_SINGLE_ARG_PARAMETER);
ACE_TRY_CHECK;