From a28f465ca4e03fe2e4bcd6f7a10be0e5b0650106 Mon Sep 17 00:00:00 2001 From: Phil Mesnier Date: Mon, 28 Oct 2013 21:54:55 +0000 Subject: Mon Oct 28 21:27:19 UTC 2013 Phil Mesnier * NEWS: * TAO_IDL/ast/ast_operation.cpp: * TAO_IDL/be/be_visitor_operation/ami_cs.cpp: * TAO_IDL/be/be_visitor_operation/operation.cpp: * TAO_IDL/include/ast_operation.h: Add explicit detection of IN or INOUT operation arguments. If there are none, then extend the Invocation Adatpter constructor call to set the new has_in_args flag to false. For backwards compatibility that flag is defaulted to true. * interop-tests/CdrOutArg: Added a new test to demonstrate the fix. There is no explicit regression test for this problem since every CORBA request invokes this code. * tao/GIOP_Message_Generator_Parser_12.cpp: * tao/Invocation_Adapter.h: * tao/Invocation_Adapter.inl: * tao/Invocation_Adapter.cpp: * tao/Messaging/Asynch_Invocation_Adapter.h: * tao/Messaging/Asynch_Invocation_Adapter.cpp: * tao/operation_details.h: * tao/operation_details.inl: Add a new flag, has_in_args, which is true if any of the operation aguments send data with the request. The CDR buffer taking the request is aligned after the header only if there is an IN argument. --- TAO/tao/Invocation_Adapter.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'TAO/tao/Invocation_Adapter.cpp') diff --git a/TAO/tao/Invocation_Adapter.cpp b/TAO/tao/Invocation_Adapter.cpp index f72485b9884..5ea580f11b1 100644 --- a/TAO/tao/Invocation_Adapter.cpp +++ b/TAO/tao/Invocation_Adapter.cpp @@ -41,6 +41,7 @@ namespace TAO this->op_len_, this->args_, this->number_args_, + this->has_in_args_, ex_data, ex_count); -- cgit v1.2.1