summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOssama Othman <ossama-othman@users.noreply.github.com>2005-03-01 09:48:34 +0000
committerOssama Othman <ossama-othman@users.noreply.github.com>2005-03-01 09:48:34 +0000
commit2e49ce00ff28f1a16c6054a9a28287aea911243f (patch)
tree1d4e36d36e1f86f04aee0a06205150eb80f82e2e
parent8708e6d4db76d5656e31e466ffae146e8a6567f3 (diff)
downloadATCD-2e49ce00ff28f1a16c6054a9a28287aea911243f.tar.gz
ChangeLogTag:Tue Mar 1 01:46:22 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
-rw-r--r--TAO/ChangeLog9
-rw-r--r--TAO/TAO_IDL/be/be_visitor_interface/amh_si.cpp59
-rw-r--r--TAO/TAO_IDL/be/be_visitor_operation/amh_ss.cpp4
-rw-r--r--TAO/tao/PortableServer/Servant_Base.cpp10
4 files changed, 43 insertions, 39 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog
index c1be20339c6..0cc799ae8a5 100644
--- a/TAO/ChangeLog
+++ b/TAO/ChangeLog
@@ -1,3 +1,12 @@
+Tue Mar 1 01:46:22 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ * TAO_IDL/be/be_visitor_interface/amh_si.cpp:
+ * TAO_IDL/be/be_visitor_operation/amh_ss.cpp:
+ * tao/PortableServer/Servant_Base.cpp:
+
+ Fixed inconsistencies in AMH skeleton function parameter order.
+ Addresses regressions in the Bug_1670_Regression test.
+
Tue Mar 1 00:47:51 2005 Ossama Othman <ossama@dre.vanderbilt.edu>
* tao/CORBALOC_Parser.cpp:
diff --git a/TAO/TAO_IDL/be/be_visitor_interface/amh_si.cpp b/TAO/TAO_IDL/be/be_visitor_interface/amh_si.cpp
index b65470e9acd..9eb1cf610bd 100644
--- a/TAO/TAO_IDL/be/be_visitor_interface/amh_si.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_interface/amh_si.cpp
@@ -133,23 +133,22 @@ be_visitor_amh_interface_si::gen_skel_helper (be_interface *derived,
<< derived_amh_name << "::"
<< d->local_name ()
<< "_skel (" << be_idt << be_idt_nl
- << "TAO_ServerRequest &req," << be_nl
- << "void *obj," << be_nl
- << "void *context" << be_nl
+ << "TAO_ServerRequest & req," << be_nl
+ << "void * context," << be_nl
+ << "void * obj" << be_nl
<< "ACE_ENV_ARG_DECL" << be_uidt_nl
<< ")" << be_uidt_nl
<< "{" << be_idt_nl;
*os << ancestor_amh_name
- << "_ptr impl = ("
+ << "* const impl = static_cast<"
<< derived_amh_name
- << "_ptr) obj;" << be_nl;
+ << " *> (obj);" << be_nl;
*os << ancestor_amh_name
<< "::" << d->local_name ()
<< "_skel (" << be_idt << be_idt_nl
<< "req," << be_nl
- << "(" << ancestor_amh_name
- << "_ptr) impl," << be_nl
- << "context" << be_nl
+ << "context," << be_nl
+ << "impl" << be_nl
<< "ACE_ENV_ARG_PARAMETER" << be_uidt_nl
<< ");" << be_uidt << be_uidt_nl
<< "}";
@@ -172,23 +171,24 @@ be_visitor_amh_interface_si::gen_skel_helper (be_interface *derived,
<< derived_amh_name << "::_get_"
<< d->local_name ()
<< "_skel (" << be_idt << be_idt_nl
- << "TAO_ServerRequest &req," << be_nl
- << "void *obj," << be_nl
- << "void *context" << be_nl
+ << "TAO_ServerRequest & req," << be_nl
+ << "void * context," << be_nl
+ << "void * obj" << be_nl
<< "ACE_ENV_ARG_DECL" << be_uidt_nl
<< ")" << be_uidt_nl
- << "{" << be_idt_nl
- << ancestor_amh_name
- << "_ptr impl = ("
+ << "{" << be_idt_nl;
+
+ *os << ancestor_amh_name
+ << "* const impl = static_cast<"
<< derived_amh_name
- << "_ptr) obj;" << be_nl;
+ << " *> (obj);" << be_nl;
+
*os << ancestor_amh_name
<< "::_get_" << d->local_name ()
<< "_skel (" << be_idt << be_idt_nl
<< "req," << be_nl
- << "(" << ancestor_amh_name
- << "_ptr) impl," << be_nl
- << "context" << be_nl
+ << "context," << be_nl
+ << "impl" << be_nl
<< "ACE_ENV_ARG_PARAMETER" << be_uidt_nl
<< ");" << be_uidt << be_uidt_nl
<< "}";
@@ -205,23 +205,24 @@ be_visitor_amh_interface_si::gen_skel_helper (be_interface *derived,
<< derived_amh_name
<< "::_set_" << d->local_name ()
<< "_skel (" << be_idt << be_idt_nl
- << "TAO_ServerRequest &req," << be_nl
- << "void *obj," << be_nl
- << "void *context" << be_nl
+ << "TAO_ServerRequest & req," << be_nl
+ << "void * context," << be_nl
+ << "void * obj" << be_nl
<< "ACE_ENV_ARG_DECL" << be_uidt_nl
<< ")" << be_uidt_nl
- << "{" << be_idt_nl
- << ancestor_amh_name
- << "_ptr impl = ("
- << derived_amh_name
- << "_ptr) obj;" << be_nl;
+ << "{" << be_idt_nl;
+
+ *os << ancestor_amh_name
+ << "* const impl = static_cast<"
+ << derived_amh_name
+ << " *> (obj);" << be_nl;
+
*os << ancestor_amh_name
<< "::_set_" << d->local_name ()
<< "_skel (" << be_idt << be_idt_nl
<< "req," << be_nl
- << "(" << ancestor_amh_name
- << "_ptr) impl," << be_nl
- << "context" << be_nl
+ << "context," << be_nl
+ << "impl" << be_nl
<< "ACE_ENV_ARG_PARAMETER" << be_uidt_nl
<< ");" << be_uidt << be_uidt_nl
<< "}";
diff --git a/TAO/TAO_IDL/be/be_visitor_operation/amh_ss.cpp b/TAO/TAO_IDL/be/be_visitor_operation/amh_ss.cpp
index 38ccf0a282b..57ebb57817c 100644
--- a/TAO/TAO_IDL/be/be_visitor_operation/amh_ss.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_operation/amh_ss.cpp
@@ -331,8 +331,8 @@ be_visitor_amh_operation_ss::generate_shared_prologue (be_decl *node,
<< node->local_name ()
<< "_skel (" << be_idt << be_idt_nl
<< "TAO_ServerRequest & _tao_server_request," << be_nl
- << "void * _tao_servant, " << be_nl
- << "void * /* context */ " << be_nl
+ << "void * /* context */," << be_nl
+ << "void * _tao_servant" << be_nl
<< "ACE_ENV_ARG_DECL" << be_uidt_nl
<< ")" << be_uidt_nl;
diff --git a/TAO/tao/PortableServer/Servant_Base.cpp b/TAO/tao/PortableServer/Servant_Base.cpp
index e9fc8e5c38b..916fbe4554c 100644
--- a/TAO/tao/PortableServer/Servant_Base.cpp
+++ b/TAO/tao/PortableServer/Servant_Base.cpp
@@ -300,15 +300,9 @@ void TAO_ServantBase::asynchronous_upcall_dispatch (TAO_ServerRequest & req,
// the right operation on the skeleton class, and marshal any
// results. De/marshaling will only occur in the uncollocated
// case.
-
- // @@ Why does AMH have to swap the servant_upcall and
- // derived_this arguments relative to synchronous upcall
- // argument order? Inconsistencies for no good reason!
- // *sigh*
- // -Ossama
skel (req,
- derived_this,
- servant_upcall
+ servant_upcall,
+ derived_this
ACE_ENV_ARG_PARAMETER);
ACE_TRY_CHECK;