Mon Dec 31 16:51:27 2001 Jeff Parsons * TAO_IDL/util/utl_scope.cpp (add_to_scope): Modified check for redefinition error, caused by the newly added addition of a forward declared interface to a module's scope in Mon Dec 31 15:55:19 2001 Jeff Parsons . Mon Dec 31 16:46:06 2001 Venkita Subramonian * examples/RTCORBA/Activity/Periodic_Task.cpp: examples/RTCORBA/Activity/Periodic_Task.h: examples/RTCORBA/Activity/Thread_Task.cpp: examples/RTCORBA/Activity/Thread_Task.h: Fixed compiler warnings. Mon Dec 31 15:55:19 2001 Jeff Parsons * TAO_IDL/ast/ast_module.cpp: * tests/IDL_Test/reopened_modules.idl: * tests/IDL_Test/reopen_include2.idl: Removed empty module declarations from IDL_Test IDL files. Carlos recently brought to my attention that empty modules are illegal in IDL. Also fixed a bug in the IDL compiler related to this. In the case where a module contains a full interface definition, and then is reopened and contains a forward declaration of the same interface (legal but useless), the IDL compiler was seeing the second module as empty. Now the forward declared interface is added to the module's scope. * tests/IDL_Test/union.idl: Removed union with wchar discriminator, since it was recently brought to my attention by Carlos that such a thing is illegal IDL. Mon Dec 31 11:48:26 2001 Johnny Willemsen * TAO_IDL/TAO_IDL_FE.bor: Added new ast_factory file * TAO_IDL/TAO_IDL_BE.bor: Added new be_factory file Mon Dec 31 11:39:12 2001 Johnny Willemsen * tests/OBV/Makefile.bor: Added new BCB makefile to build subdirectories * tests/Makefile.bor: Added new OBV directory Mon Dec 31 11:01:29 2001 Jeff Parsons * tao/Sequence_T.h: * tao/Sequence_T.i: * tao/Sequence_T.cpp: Changes by Nanbor Wang for support of sequences of valuetypes. * tests/OBV/Factory/client.bor: * tests/OBV/Factory/client.cpp: * tests/OBV/Factory/client.dsp: * tests/OBV/Factory/Factory.dsw: * tests/OBV/Factory/Factory.idl: * tests/OBV/Factory/FactoryC_impl.cpp: * tests/OBV/Factory/FactoryC_impl.h: * tests/OBV/Factory/FactoryS_impl.cpp: * tests/OBV/Factory/FactoryS_impl.h: * tests/OBV/Factory/Makefile: * tests/OBV/Factory/Makefile.bor: * tests/OBV/Factory/README: * tests/OBV/Factory/run_test.pl: * tests/OBV/Factory/server.bor: * tests/OBV/Factory/server.dsp: * tests/OBV/Factory/server.cpp: * tests/OBV/Forward/client.bor: * tests/OBV/Forward/client.cpp: * tests/OBV/Forward/client.dsp: * tests/OBV/Forward/Forward.dsw: * tests/OBV/Forward/Makefile: * tests/OBV/Forward/Makefile.bor: * tests/OBV/Forward/README: * tests/OBV/Forward/run_test.pl: * tests/OBV/Forward/server.bor: * tests/OBV/Forward/server.dsp: * tests/OBV/Forward/server.cpp: * tests/OBV/Forward/Test_impl.cpp: * tests/OBV/Forward/Test_impl.h: * tests/OBV/Forward/TreeBase.idl: * tests/OBV/Forward/TreeController.idl: * tests/OBV/Forward/TreeNode.idl: New value type tests, written by Boris Kolpackov . * TAO_IDL/be/be_tmplinst.cpp: * TAO_IDL/fe/fe_tmplinst.cpp: New files containing the explicit template instantiations gathered from the several files where they were previously located. * TAO_IDL/ast/ast_factory.cpp: * TAO_IDL/be/be_factory.cpp: * TAO_IDL/be/be_visitor_valuetype/valuetype_init.cpp: * TAO_IDL/be/be_visitor_valuetype/valuetype_init_arglist_ch.cpp: * TAO_IDL/be/be_visitor_valuetype/valuetype_init_ch.cpp: * TAO_IDL/be/be_visitor_valuetype/valuetype_init_ci.cpp: * TAO_IDL/be/be_visitor_valuetype/valuetype_init_cs.cpp: * TAO_IDL/be/be_visitor_valuetype/cdr_op_cs.cpp: * TAO_IDL/be/be_visitor_valuetype_fwd/cdr_op_ch.cpp: * TAO_IDL/be_include/be_factory.h: * TAO_IDL/be_include/be_visitor_valuetype/valuetype_init.h: * TAO_IDL/be_include/be_visitor_valuetype/valuetype_init_arglist_ch.h: * TAO_IDL/be_include/be_visitor_valuetype/valuetype_init_ch.h: * TAO_IDL/be_include/be_visitor_valuetype/valuetype_init_ci.h: * TAO_IDL/be_include/be_visitor_valuetype/valuetype_init_cs.h: * TAO_IDL/be_include/be_visitor_valuetype/cdr_op_cs.h: * TAO_IDL/be_include/be_visitor_valuetype_fwd/cdr_op_ch.h: * TAO_IDL/include/ast_factory.h: New files that are part of the TAO IDL compiler's enhanced support of value types, written by Boris Kolpackov . * TAO_IDL/Makefile.BE: * TAO_IDL/Makefile.FE: * TAO_IDL/TAO_IDL_BE_DLL.dsp: * TAO_IDL/TAO_IDL_BE_LIB.dsp: * TAO_IDL/TAO_IDL_FE_DLL.dsp: * TAO_IDL/TAO_IDL_FE_LIB.dsp: * TAO_IDL/ast/ast_argument.cpp: * TAO_IDL/ast/ast_array.cpp: * TAO_IDL/ast/ast_attribute.cpp: * TAO_IDL/ast/ast_concrete_type.cpp: * TAO_IDL/ast/ast_constant.cpp: * TAO_IDL/ast/ast_decl.cpp: * TAO_IDL/ast/ast_enum.cpp: * TAO_IDL/ast/ast_enum_val.cpp: * TAO_IDL/ast/ast_exception.cpp: * TAO_IDL/ast/ast_field.cpp: * TAO_IDL/ast/ast_generator.cpp: * TAO_IDL/ast/ast_interface.cpp: * TAO_IDL/ast/ast_interface_fwd.cpp: * TAO_IDL/ast/ast_module.cpp: * TAO_IDL/ast/ast_native.cpp: * TAO_IDL/ast/ast_operation.cpp: * TAO_IDL/ast/ast_predefined_type.cpp: * TAO_IDL/ast/ast_redef.cpp: * TAO_IDL/ast/ast_root.cpp: * TAO_IDL/ast/ast_sequence.cpp: * TAO_IDL/ast/ast_string.cpp: * TAO_IDL/ast/ast_structure.cpp: * TAO_IDL/ast/ast_type.cpp: * TAO_IDL/ast/ast_typedef.cpp: * TAO_IDL/ast/ast_union.cpp: * TAO_IDL/ast/ast_union_branch.cpp: * TAO_IDL/be/Makefile.am: * TAO_IDL/be/be_argument.cpp: * TAO_IDL/be/be_array.cpp: * TAO_IDL/be/be_attribute.cpp: * TAO_IDL/be/be_codegen.cpp: * TAO_IDL/be/be_constant.cpp: * TAO_IDL/be/be_decl.cpp: * TAO_IDL/be/be_enum.cpp: * TAO_IDL/be/be_enum_val.cpp: * TAO_IDL/be/be_exception.cpp: * TAO_IDL/be/be_field.cpp: * TAO_IDL/be/be_generator.cpp: * TAO_IDL/be/be_global.cpp: * TAO_IDL/be/be_interface.cpp: * TAO_IDL/be/be_interface_fwd.cpp: * TAO_IDL/be/be_interface_strategy.cpp: * TAO_IDL/be/be_module.cpp: * TAO_IDL/be/be_native.cpp: * TAO_IDL/be/be_operation.cpp: * TAO_IDL/be/be_predefined_type.cpp: * TAO_IDL/be/be_root.cpp: * TAO_IDL/be/be_scope.cpp: * TAO_IDL/be/be_sequence.cpp: * TAO_IDL/be/be_string.cpp: * TAO_IDL/be/be_structure.cpp: * TAO_IDL/be/be_type.cpp: * TAO_IDL/be/be_typedef.cpp: * TAO_IDL/be/be_union.cpp: * TAO_IDL/be/be_union_branch.cpp: * TAO_IDL/be/be_valuetype.cpp: * TAO_IDL/be/be_valuetype_fwd.cpp: * TAO_IDL/be/be_visitor.cpp: * TAO_IDL/be/be_visitor_amh_pre_proc.cpp: * TAO_IDL/be/be_visitor_ami_pre_proc.cpp: * TAO_IDL/be/be_visitor_factory.cpp: * TAO_IDL/be/be_visitor_typecode.cpp: * TAO_IDL/be/be_visitor_valuetype.cpp: * TAO_IDL/be/be_visitor_valuetype_fwd.cpp: * TAO_IDL/be/be_visitor_array/array.cpp: * TAO_IDL/be/be_visitor_attribute/attribute.cpp: * TAO_IDL/be/be_visitor_module/module.cpp: * TAO_IDL/be/be_visitor_root/root.cpp: * TAO_IDL/be/be_visitor_sequence/buffer_type.cpp: * TAO_IDL/be/be_visitor_sequence/cdr_op_cs.cpp: * TAO_IDL/be/be_visitor_sequence/elemtype.cpp: * TAO_IDL/be/be_visitor_sequence/gen_bounded_obj_sequence_ch.cpp: * TAO_IDL/be/be_visitor_sequence/gen_bounded_obj_sequence_ci.cpp: * TAO_IDL/be/be_visitor_sequence/gen_bounded_obj_sequence_cs.cpp: * TAO_IDL/be/be_visitor_sequence/gen_unbounded_obj_sequence_ch.cpp: * TAO_IDL/be/be_visitor_sequence/gen_unbounded_obj_sequence_ci.cpp: * TAO_IDL/be/be_visitor_sequence/gen_unbounded_obj_sequence_cs.cpp: * TAO_IDL/be/be_visitor_sequence/sequence_base.cpp: * TAO_IDL/be/be_visitor_sequence/sequence_ch.cpp: * TAO_IDL/be/be_visitor_sequence/sequence_ci.cpp: * TAO_IDL/be/be_visitor_sequence/sequence_cs.cpp: * TAO_IDL/be/be_visitor_union/cdr_op_ci.cpp: * TAO_IDL/be/be_visitor_valuetype/ami_exception_holder_ch.cpp: * TAO_IDL/be/be_visitor_valuetype/ami_exception_holder_cs.cpp: * TAO_IDL/be/be_visitor_valuetype/arglist.cpp: * TAO_IDL/be/be_visitor_valuetype/cdr_op_ch.cpp: * TAO_IDL/be/be_visitor_valuetype/cdr_op_ci.cpp: * TAO_IDL/be/be_visitor_valuetype/field_cs.cpp: * TAO_IDL/be/be_visitor_valuetype/marshal_cs.cpp: * TAO_IDL/be/be_visitor_valuetype/valuetype.cpp: * TAO_IDL/be/be_visitor_valuetype/valuetype_ch.cpp: * TAO_IDL/be/be_visitor_valuetype/valuetype_ci.cpp: * TAO_IDL/be/be_visitor_valuetype/valuetype_cs.cpp: * TAO_IDL/be/be_visitor_valuetype/valuetype_obv_ch.cpp: * TAO_IDL/be/be_visitor_valuetype_fwd/cdr_op_ci.cpp: * TAO_IDL/be/be_visitor_valuetype_fwd/valuetype_fwd_ch.cpp: * TAO_IDL/be/be_visitor_valuetype_fwd/valuetype_fwd_ci.cpp: * TAO_IDL/be_include/be.h: * TAO_IDL/be_include/be_argument.h: * TAO_IDL/be_include/be_attribute.h: * TAO_IDL/be_include/be_codegen.h: * TAO_IDL/be_include/be_constant.h: * TAO_IDL/be_include/be_decl.h: * TAO_IDL/be_include/be_enum.h: * TAO_IDL/be_include/be_enum_val.h: * TAO_IDL/be_include/be_exception.h: * TAO_IDL/be_include/be_field.h: * TAO_IDL/be_include/be_generator.h: * TAO_IDL/be_include/be_interface.h: * TAO_IDL/be_include/be_interface_fwd.h: * TAO_IDL/be_include/be_interface_strategy.h: * TAO_IDL/be_include/be_module.h: * TAO_IDL/be_include/be_native.h: * TAO_IDL/be_include/be_operation.h: * TAO_IDL/be_include/be_predefined_type.h: * TAO_IDL/be_include/be_root.h: * TAO_IDL/be_include/be_sequence.h: * TAO_IDL/be_include/be_structure.h: * TAO_IDL/be_include/be_type.h: * TAO_IDL/be_include/be_typedef.h: * TAO_IDL/be_include/be_union.h: * TAO_IDL/be_include/be_union_branch.h: * TAO_IDL/be_include/be_valuetype.h: * TAO_IDL/be_include/be_valuetype_fwd.h: * TAO_IDL/be_include/be_visitor.h: * TAO_IDL/be_include/be_visitor_scope.h: * TAO_IDL/be_include/be_visitor_valuetype.h: * TAO_IDL/be_include/be_visitor_valuetype_fwd.h: * TAO_IDL/be_include/be_visitor_sequence/buffer_type.h: * TAO_IDL/be_include/be_visitor_sequence/cdr_op_cs.h: * TAO_IDL/be_include/be_visitor_sequence/elemtype.h: * TAO_IDL/be_include/be_visitor_sequence/sequence_base.h: * TAO_IDL/be_include/be_visitor_typecode/typecode_defn.h: * TAO_IDL/be_include/be_visitor_valuetype/cdr_op_ch.h: * TAO_IDL/be_include/be_visitor_valuetype/cdr_op_ci.h: * TAO_IDL/be_include/be_visitor_valuetype/valuetype.h: * TAO_IDL/be_include/be_visitor_valuetype_fwd/cdr_op_ci.h: * TAO_IDL/driver/drv_init.cpp: * TAO_IDL/fe/Makefile.am: * TAO_IDL/fe/fe_declarator.cpp: * TAO_IDL/fe/fe_init.cpp: * TAO_IDL/fe/idl.ll: * TAO_IDL/fe/idl.yy: * TAO_IDL/fe/lex.yy.cpp: * TAO_IDL/fe/lex.yy.cpp.diff: * TAO_IDL/fe/y.tab.cpp: * TAO_IDL/fe/y.tab.cpp.diff: * TAO_IDL/include/ast.h: * TAO_IDL/include/ast_argument.h: * TAO_IDL/include/ast_attribute.h: * TAO_IDL/include/ast_concrete_type.h: * TAO_IDL/include/ast_constant.h: * TAO_IDL/include/ast_decl.h: * TAO_IDL/include/ast_enum.h: * TAO_IDL/include/ast_enum_val.h: * TAO_IDL/include/ast_exception.h: * TAO_IDL/include/ast_field.h: * TAO_IDL/include/ast_generator.h: * TAO_IDL/include/ast_interface.h: * TAO_IDL/include/ast_interface_fwd.h: * TAO_IDL/include/ast_module.h: * TAO_IDL/include/ast_native.h: * TAO_IDL/include/ast_operation.h: * TAO_IDL/include/ast_predefined_type.h: * TAO_IDL/include/ast_root.h: * TAO_IDL/include/ast_structure.h: * TAO_IDL/include/ast_type.h: * TAO_IDL/include/ast_typedef.h: * TAO_IDL/include/ast_union.h: * TAO_IDL/include/ast_union_branch.h: * TAO_IDL/include/ast_visitor.h: * TAO_IDL/include/fe_declarator.h: * TAO_IDL/include/idl_global.h: * TAO_IDL/include/utl_decllist.h: * TAO_IDL/include/utl_err.h: * TAO_IDL/include/utl_exceptlist.h: * TAO_IDL/include/utl_exprlist.h: * TAO_IDL/include/utl_idlist.h: * TAO_IDL/include/utl_labellist.h: * TAO_IDL/include/utl_list.h: * TAO_IDL/include/utl_namelist.h: * TAO_IDL/include/utl_scope.h: * TAO_IDL/include/utl_strlist.h: * TAO_IDL/narrow/narrow.cpp: * TAO_IDL/util/utl_decllist.cpp: * TAO_IDL/util/utl_err.cpp: * TAO_IDL/util/utl_exceptlist.cpp: * TAO_IDL/util/utl_exprlist.cpp: * TAO_IDL/util/utl_global.cpp: * TAO_IDL/util/utl_idlist.cpp: * TAO_IDL/util/utl_labellist.cpp: * TAO_IDL/util/utl_list.cpp: * TAO_IDL/util/utl_namelist.cpp: * TAO_IDL/util/utl_scope.cpp: * TAO_IDL/util/utl_stack.cpp: * TAO_IDL/util/utl_strlist.cpp: Modified files that include the following changes -- - Enhanced support of value types, by Boris Kolpackov . Includes support for value type factories and forward declared value types. As yet, there is no generation of type codes or Any insertion/extraction operators for value types. - Support for sequences of value types, by Nanbor Wang . - Re-implementation of #pragma prefix. When the AST is created, the 'local' prefix, if any, is now cleared upon exit from a scope or included IDL file. A complete list of active prefixes seen so far is maintained in a global stack, but not also in each node, as was done previously. Each AST node now has knowledge only of its own prefix, if any. This means that a list of prefixes seen so far has been eliminated as an argument to the constructor of all AST node. classes. - Support for #pragma version and #pragma ID. Since these apply only to the IDL declaration immediately following, no scope maintenance is necessary. - Fix to bug that allowed illegal empty module declarations. - Fix to bug that allowed unions to have wchar discriminators. Thanks to Carlos for pointing out these last two items. Mon Dec 31 07:55:09 2001 Venkita Subramonian * orbsvcs/Notify_Service/Notify_Service.cpp: orbsvcs/Notify_Service/Notify_Service.h: orbsvcs/Notify_Service/Notify_Server.cpp: Fixed compile error in static build. Mon Dec 31 14:49:12 2001 Johnny Willemsen * orbsvcs/Notify_Service/Notify_Server.cpp: Added missing ACE_TRY_CHECK Sun Dec 30 19:34:26 2001 Venkita Subramonian * orbsvcs/Notify_Service/Notify_Service.cpp: Fixed a compile error in Static build. Sun Dec 30 17:02:24 2001 Douglas C. Schmidt * orbsvcs/IFR_Service/drv_preproc_ifr.cpp: * TAO_IDL/driver/drv_preproc.cpp (DRV_cpp_putarg): Now that ACE::strnew() checks for a NULL parameter, we can remove the checks in the TAO code. Sun Dec 30 20:30:12 2001 Johnny Willemsen * orbsvcs/orbsvcs/CosEvent.bor: Removed compiler flags and library of RTSched and RTEvent because they are not needed to build CosEvent * orbsvcs/Notify_Service/Notify_Service.bor: * orbsvcs/Notify_Service/NT_Notify_Service.bor: Removed the Trading library, this is not needed to build this service * orbsvcs/Notify_Service/NT_Notify_Service.cpp: Moved the include of its own header file out of the ACE_WIN32 define, change the argument of the notify_service.run method from ACE_TRY_ENV to TAO_ENV_SINGLE_ARG_PARAMETER Sun Dec 30 10:31:09 2001 Balachandran Natarajan * tests/BiDirectional/server.cpp (main): Removed some ambigous comments. * tests/BiDirectional/README: * tests/BiDirectional_NestedUpcall/README: Updated the above files. Thanks to Scott Harris pointing out. Sun Dec 30 09:14:04 2001 Venkita Subramonian * orbsvcs/Notify_Service/Notify_Server.cpp: orbsvcs/Notify_Service/Notify_Service.h: Fixed compile errors. Sat Dec 29 19:51:55 2001 Venkita Subramonian * orbsvcs/Notify_Service/Makefile: Fixes in addition to Doug's fixes. Defined $NOTIFY_OBJS. Sat Dec 29 18:32:03 2001 Douglas C. Schmidt * orbsvcs/Notify_Service/Notify_Server.cpp (main): Cleaned up the exception handling code to match the same format used in the ../Naming_Service/Naming_Server.cpp. Thanks to Venkita for reporting this. Sat Dec 29 15:53:30 2001 Douglas C. Schmidt * orbsvcs/Notify_Service/Makefile: Updated the Makefile to ensure that the Notify_Service executable is built using both the Notify_Server.cpp and Notify_Service.cpp files. Thanks to Venkita for noticing this. Fri Dec 28 15:30:40 2001 Mayur Deshpande * TAO_IDL/be/be_visitor_interface/interface.cpp: Removed an ACE_DEBUG statement that was causing SUN_OS builds to fail. The DEBUG statement should have been removed anyways before the file was initially commited. Thanks to Venkita for noticing this. Fri Dec 28 16:29:05 2001 Nanbor Wang * orbsvcs/Notify_Service/Notify_Service.dsp: Added Notify_Server.cpp. Fri Dec 28 15:41:18 2001 Jeff Parsons * TAO_IDL/be/be_visitor_typedef/typedef_ch.cpp (visit_array): Where there are multiple levels of typedefs for an array, some code generation was missing from the first level of typedef. An extra condition in an IF statement in visit_array() causes the ELSE branch to be taken in such a case, where before the statment blocks were skipped altogether. This fixes a compile error in files generated from typedef.idl in IDL_Test. Fri Dec 28 13:50:48 2001 Douglas C. Schmidt * orbsvcs/Notify_Service/README: Updated this document to explain how the new NT_Notify_Service works. * orbsvcs/Notify_Service/Makefile (SRC): Added Notify_Server.cpp. * TAO/orbsvcs/Notify/: Added support to allow the Notification Service to be installed as a Windows NT service just like the Naming Service. Thanks to David Robison for contributing this. Thu Dec 27 22:02:03 2001 Venkita Subramonian * orbsvcs/tests/Notify/performance-tests/Throughput/Throughput.dsp: Fixed formatting problems. MSVC was not recognizing the .dsp file. Thu Dec 27 08:34:54 2001 Venkita Subramonian * tao/TAO_AMH_Response_Handler.cpp: Fixed compile errors for Minimum compile. Added #include "tao/debug.h" Thu Dec 27 01:24:08 2001 Venkita Subramonian * orbsvcs/orbsvcs/Event/EC_Scheduling_Strategy.h: Fixed compiler errors. Removed '\' at EOF. Wed Dec 26 21:20:44 2001 Venkita Subramonian * orbsvcs/ImplRepo_Service/tao_imr_i.cpp: orbsvcs/ImplRepo_Service/tao_imr_i.h: Fixed compile errors caused by optarg changes. Wed Dec 26 14:33:33 2001 Carlos O'Ryan * tao/Makefile.bor: * tao/TAO.dsp: * tao/TAO_Static.dsp: Add new TAO_AMH_Response_Handler.{h,cpp} to the MSVC project files and Borland makefiles. Wed Dec 26 14:30:28 2001 Carlos O'Ryan * tao/Makefile: Add new file (TAO_AMH_Response_Handler) to the Makefile. * tao/TAO_Server_Request.cpp: * tao/TAO_AMH_Response_Handler.h: * tao/TAO_AMH_Response_Handler.cpp: Left a number of @@ comments for Mayur. Wed Dec 26 09:00:51 2001 Carlos O'Ryan * orbsvcs/orbsvcs/Event/ECG_UDP_Protocol.h: Removed incorrect #include for inline files. Tue Dec 25 22:57:38 2001 Carlos O'Ryan * orbsvcs/orbsvcs/RTEvent.bor: * orbsvcs/orbsvcs/RTEvent.dsp: * orbsvcs/orbsvcs/RTEvent_Static.dsp: Add new files to Borland makefiles and MSVC6 project files. Wed Dec 26 10:33:35 2001 Venkita Subramonian * orbsvcs/examples/RtEC/Schedule/Service.cpp: Removed a duplicate template instantiation. Wed Dec 26 10:19:59 2001 Balachandran Natarajan * orbsvcs/Scheduling_Service/Scheduling_Service.cpp: Removed a duplicate template instantiation. Wed Dec 26 09:16:45 2001 Douglas C. Schmidt * ./examples/AMI/FL_Callback/peer.cpp ./examples/AMI/FL_Callback/progress.cpp ./examples/OBV/Simple_util.cpp ./examples/Buffered_AMI/client.cpp ./examples/Buffered_AMI/server.cpp ./examples/Buffered_Oneways/client.cpp ./examples/Buffered_Oneways/server.cpp ./examples/Callback_Quoter/Consumer_Handler.cpp ./examples/Callback_Quoter/Notifier_Input_Handler.cpp ./examples/Callback_Quoter/Supplier_i.cpp ./examples/Load_Balancing/Identity_Client.cpp ./examples/Load_Balancing/Identity_Server.cpp ./examples/Load_Balancing/Load_Balancing_Service.cpp ./examples/Load_Balancing_persistent/Identity_Client.cpp ./examples/Load_Balancing_persistent/Identity_Server.cpp ./examples/Load_Balancing_persistent/Load_Balancing_Service.cpp ./examples/Logging/Logging_Service_i.cpp ./examples/POA/DSI/client.cpp ./examples/POA/DSI/server.cpp ./examples/POA/Adapter_Activator/server.cpp ./examples/POA/Default_Servant/client.cpp ./examples/POA/Default_Servant/server.cpp ./examples/POA/Explicit_Activation/server.cpp ./examples/POA/Forwarding/client.cpp ./examples/POA/Forwarding/server.cpp ./examples/POA/Generic_Servant/client.cpp ./examples/POA/Loader/Server_Manager.cpp ./examples/POA/On_Demand_Activation/server.cpp ./examples/POA/On_Demand_Loading/Server_Manager.cpp ./examples/POA/Reference_Counted_Servant/server.cpp ./examples/POA/TIE/client.cpp ./examples/Persistent_Grid/Grid_Client_i.cpp ./examples/Persistent_Grid/Persistent_Client_i.cpp ./examples/Persistent_Grid/Simple_util.cpp ./examples/PluggableUDP/tests/Basic/client.cpp ./examples/PluggableUDP/tests/Basic/server.cpp ./examples/PluggableUDP/tests/Performance/client.cpp ./examples/PluggableUDP/tests/Performance/server.cpp ./examples/Quoter/Factory_Finder.cpp ./examples/Quoter/Generic_Factory.cpp ./examples/Quoter/client.cpp ./examples/Quoter/server.cpp ./examples/Simple/chat/Client_i.cpp ./examples/Simple/chat/Server_i.cpp ./examples/Simple/Simple_util.cpp ./examples/Simple/grid/Grid_Client_i.cpp ./examples/Simple/time/Time_Client.java ./examples/Simple/time-date/Time_Date.cpp ./examples/Simulator/Event_Supplier/DualEC_Sup.cpp ./examples/Simulator/Event_Supplier/Event_Sup.cpp ./orbsvcs/Concurrency_Service/Concurrency_Service.cpp ./orbsvcs/Event_Service/Event_Service.cpp ./orbsvcs/IFR_Service/Options.cpp ./orbsvcs/ImplRepo_Service/tao_imr_i.cpp ./orbsvcs/LifeCycle_Service/LifeCycle_Service.cpp ./orbsvcs/LoadBalancer/LoadBalancer.cpp ./orbsvcs/Naming_Service/NT_Naming_Server.cpp ./orbsvcs/Naming_Service/Naming_Service.cpp ./orbsvcs/Scheduling_Service/Scheduling_Service.cpp ./orbsvcs/Time_Service/Clerk_i.cpp ./orbsvcs/Time_Service/Server_i.cpp ./orbsvcs/examples/CosEC/Factory/FactoryDriver.cpp ./orbsvcs/examples/CosEC/RtEC_Based/bin/RtEC_Based_CosEC.cpp ./orbsvcs/examples/CosEC/RtEC_Based/tests/Multiple/Consumer.cpp ./orbsvcs/examples/CosEC/RtEC_Based/tests/Multiple/Supplier.cpp ./orbsvcs/examples/CosEC/Simple/Service.cpp ./orbsvcs/examples/RtEC/MCast/MCast.cpp ./orbsvcs/examples/RtEC/Simple/Service.cpp ./orbsvcs/examples/Security/SecurityLevel1/client.cpp ./orbsvcs/examples/Security/Send_File/client.cpp ./orbsvcs/examples/Security/Send_File/server.cpp ./orbsvcs/orbsvcs/CosEvent/CEC_Event_Loader.cpp ./orbsvcs/orbsvcs/Naming/Naming_Utils.cpp ./orbsvcs/orbsvcs/Naming/.#Naming_Utils.cpp.1.77 ./orbsvcs/performance-tests/EC_Latency/client.cpp ./orbsvcs/performance-tests/EC_Latency/server.cpp ./orbsvcs/performance-tests/EC_Federated_Latency/client.cpp ./orbsvcs/performance-tests/EC_Federated_Latency/server.cpp ./orbsvcs/performance-tests/EC_Federated_Scalability/client.cpp ./orbsvcs/performance-tests/EC_Federated_Scalability/server.cpp ./orbsvcs/performance-tests/EC_Scalability/client.cpp ./orbsvcs/performance-tests/EC_Scalability/server.cpp ./orbsvcs/tests/AVStreams/Asynch_Three_Stage/distributer.cpp ./orbsvcs/tests/AVStreams/Asynch_Three_Stage/receiver.cpp ./orbsvcs/tests/AVStreams/Asynch_Three_Stage/sender.cpp ./orbsvcs/tests/AVStreams/Bidirectional_Flows/receiver.cpp ./orbsvcs/tests/AVStreams/Bidirectional_Flows/sender.cpp ./orbsvcs/tests/AVStreams/Component_Switching/distributer.cpp ./orbsvcs/tests/AVStreams/Component_Switching/receiver.cpp ./orbsvcs/tests/AVStreams/Component_Switching/sender.cpp ./orbsvcs/tests/AVStreams/Full_Profile/ftp.cpp ./orbsvcs/tests/AVStreams/Full_Profile/server.cpp ./orbsvcs/tests/AVStreams/Latency/control.cpp ./orbsvcs/tests/AVStreams/Latency/ping.cpp ./orbsvcs/tests/AVStreams/Latency/pong.cpp ./orbsvcs/tests/AVStreams/Modify_QoS/receiver.cpp ./orbsvcs/tests/AVStreams/Modify_QoS/sender.cpp ./orbsvcs/tests/AVStreams/Multicast/ftp.cpp ./orbsvcs/tests/AVStreams/Multicast/server.cpp ./orbsvcs/tests/AVStreams/Multicast_Full_Profile/ftp.cpp ./orbsvcs/tests/AVStreams/Multicast_Full_Profile/server.cpp ./orbsvcs/tests/AVStreams/Multiple_Flows/receiver.cpp ./orbsvcs/tests/AVStreams/Multiple_Flows/sender.cpp ./orbsvcs/tests/AVStreams/Pluggable/ftp.cpp ./orbsvcs/tests/AVStreams/Pluggable/server.cpp ./orbsvcs/tests/AVStreams/Pluggable_Flow_Protocol/receiver.cpp ./orbsvcs/tests/AVStreams/Pluggable_Flow_Protocol/sender.cpp ./orbsvcs/tests/AVStreams/Simple_Three_Stage/receiver.cpp ./orbsvcs/tests/AVStreams/Simple_Three_Stage/sender.cpp ./orbsvcs/tests/AVStreams/Simple_Two_Stage/receiver.cpp ./orbsvcs/tests/AVStreams/Simple_Two_Stage/sender.cpp ./orbsvcs/tests/AVStreams/Simple_Two_Stage_With_QoS/receiver.cpp ./orbsvcs/tests/AVStreams/Simple_Two_Stage_With_QoS/sender.cpp ./orbsvcs/tests/Concurrency/CC_client.cpp ./orbsvcs/tests/Concurrency/NS_client.cpp ./orbsvcs/tests/EC_Custom_Marshal/ECM_Consumer.cpp ./orbsvcs/tests/EC_Custom_Marshal/ECM_Supplier.cpp ./orbsvcs/tests/EC_Mcast/EC_Mcast.cpp ./orbsvcs/tests/EC_Multiple/EC_Multiple.cpp ./orbsvcs/tests/EC_Throughput/ECT_Consumer_Driver.cpp ./orbsvcs/tests/EC_Throughput/ECT_Supplier_Driver.cpp ./orbsvcs/tests/EC_Throughput/ECT_Throughput.cpp ./orbsvcs/tests/Event/Basic/Reconnect.cpp ./orbsvcs/tests/Event/Performance/Latency.cpp ./orbsvcs/tests/Event/Performance/Latency_Server.cpp ./orbsvcs/tests/FaultTolerance/IOGR/Manager.cpp ./orbsvcs/tests/FaultTolerance/IOGR/server.cpp ./orbsvcs/tests/IOR_MCast/server_i.cpp ./orbsvcs/tests/ImplRepo/airplane_client_i.cpp ./orbsvcs/tests/ImplRepo/airplane_server_i.cpp ./orbsvcs/tests/ImplRepo/nestea_client_i.cpp ./orbsvcs/tests/ImplRepo/nestea_server_i.cpp ./orbsvcs/tests/InterfaceRepo/IFR_Test/Admin_Client.cpp ./orbsvcs/tests/LoadBalancing/client.cpp ./orbsvcs/tests/LoadBalancing/server.cpp ./orbsvcs/tests/Sched_Conf/Sched_Conf.cpp ./orbsvcs/tests/Sched_Conf/Sched_Conf_Anomalies.cpp ./orbsvcs/tests/Security/Big_Request/client.cpp ./orbsvcs/tests/Security/Big_Request/server.cpp ./orbsvcs/tests/Security/MT_SSLIOP/client.cpp ./orbsvcs/tests/Security/MT_SSLIOP/server.cpp ./orbsvcs/tests/Security/Secure_Invocation/client.cpp ./orbsvcs/tests/Security/Secure_Invocation/server.cpp ./orbsvcs/tests/Security/SecurityLevel1/client.cpp ./orbsvcs/tests/Security/SecurityLevel1/server.cpp ./orbsvcs/tests/Simple_Naming/client.cpp ./orbsvcs/tests/Time/Client_i.cpp ./performance-tests/AMI_Latency/client.cpp ./performance-tests/AMI_Latency/server.cpp ./performance-tests/Callback/client.cpp ./performance-tests/Callback/server.cpp ./performance-tests/POA/Demux/demux_stats.cpp ./performance-tests/POA/Demux/demux_test_client.cpp ./performance-tests/POA/Demux/demux_test_server.cpp ./performance-tests/POA/Create_Reference/create_reference.cpp ./performance-tests/POA/Implicit_Activation/client.cpp ./performance-tests/POA/Implicit_Activation/collocated.cpp ./performance-tests/POA/Implicit_Activation/server.cpp ./performance-tests/POA/Object_Creation_And_Registration/registration.cpp ./performance-tests/Cubit/TAO/DII_Cubit/client.cpp ./performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Client.cpp ./performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Server.cpp ./performance-tests/Cubit/TAO/IDL_Cubit/collocation_test.cpp ./performance-tests/Cubit/TAO/MT_Cubit/Task_Client.cpp ./performance-tests/Cubit/TAO/MT_Cubit/Globals.cpp ./performance-tests/DII_Latency/client.cpp ./performance-tests/DII_Latency/server.cpp ./performance-tests/DSI_Latency/client.cpp ./performance-tests/DSI_Latency/server.cpp ./performance-tests/Deferred_Latency/client.cpp ./performance-tests/Deferred_Latency/server.cpp ./performance-tests/Pluggable/PP_Test_Client.cpp ./performance-tests/Pluggable/PP_Test_Server.cpp ./performance-tests/RTCorba/Multiple_Endpoints/Orb_Per_Priority/client.cpp ./performance-tests/RTCorba/Multiple_Endpoints/Orb_Per_Priority/server.cpp ./performance-tests/RTCorba/Multiple_Endpoints/Single_Endpoint/client.cpp ./performance-tests/RTCorba/Multiple_Endpoints/Single_Endpoint/server.cpp ./performance-tests/RTCorba/Oneways/Reliable/client.cpp ./performance-tests/RTCorba/Oneways/Reliable/server.cpp ./performance-tests/RTCorba/Thread_Pool/client.cpp ./performance-tests/RTCorba/Thread_Pool/server.cpp ./performance-tests/Single_Threaded_Latency/client.cpp ./performance-tests/Single_Threaded_Latency/server.cpp ./performance-tests/Thread_Per_Connection_Latency/client.cpp ./performance-tests/Thread_Per_Connection_Latency/server.cpp ./performance-tests/Thread_Pool_Latency/client.cpp ./performance-tests/Thread_Pool_Latency/server.cpp ./performance-tests/Throughput/client.cpp ./performance-tests/Throughput/server.cpp ./tests/AMI/client.cpp ./tests/AMI/server.cpp ./tests/AMI/simple_client.cpp ./tests/AMI_Buffering/admin.cpp ./tests/AMI_Buffering/client.cpp ./tests/AMI_Buffering/server.cpp ./tests/AMI_Timeouts/client.cpp ./tests/AMI_Timeouts/server.cpp ./tests/BiDirectional/client.cpp ./tests/BiDirectional/server.cpp ./tests/BiDirectional_NestedUpcall/client.cpp ./tests/BiDirectional_NestedUpcall/server.cpp ./tests/Big_Oneways/client.cpp ./tests/Big_Oneways/server.cpp ./tests/Big_Reply/client.cpp ./tests/Big_Reply/server.cpp ./tests/Big_Request_Muxing/client.cpp ./tests/Big_Request_Muxing/server.cpp ./tests/Big_Twoways/client.cpp ./tests/Big_Twoways/server.cpp ./tests/Blocking_Sync_None/client.cpp ./tests/Blocking_Sync_None/server.cpp ./tests/CDR/growth.cpp ./tests/CDR/basic_types.cpp ./tests/CDR/allocator.cpp ./tests/Cache_Growth_Test/client.cpp ./tests/Cache_Growth_Test/server.cpp ./tests/Client_Leaks/client.cpp ./tests/Client_Leaks/server.cpp ./tests/Connection_Purging/client.cpp ./tests/Connection_Purging/server.cpp ./tests/Crash_On_Write/client.cpp ./tests/Crash_On_Write/server.cpp ./tests/Crashed_Callback/client.cpp ./tests/Crashed_Callback/server.cpp ./tests/DLL_ORB/Test_Client_Module.cpp ./tests/DLL_ORB/Test_Server_Module.cpp ./tests/DSI_Gateway/client.cpp ./tests/DSI_Gateway/gateway.cpp ./tests/DSI_Gateway/server.cpp ./tests/DynAny_Test/driver.cpp ./tests/Explicit_Event_Loop/server.cpp ./tests/FL_Cube/client.cpp ./tests/FL_Cube/server.cpp ./tests/Faults/client.cpp ./tests/Faults/middle.cpp ./tests/Faults/ping.cpp ./tests/Faults/pong.cpp ./tests/Faults/server.cpp ./tests/File_IO/client.cpp ./tests/File_IO/server.cpp ./tests/Forwarding/client.cpp ./tests/Forwarding/server.cpp ./tests/Hello/client.cpp ./tests/Hello/server.cpp ./tests/InterOp-Naming/Server_i.cpp ./tests/Leader_Followers/client.cpp ./tests/Leader_Followers/server.cpp ./tests/LongUpcalls/ami_client.cpp ./tests/LongUpcalls/ami_server.cpp ./tests/LongUpcalls/blocking_client.cpp ./tests/LongUpcalls/blocking_server.cpp ./tests/MProfile/client.cpp ./tests/MProfile/server.cpp ./tests/MProfile_Forwarding/Manager.cpp ./tests/MProfile_Forwarding/client.cpp ./tests/MProfile_Forwarding/server.cpp ./tests/MT_Client/client.cpp ./tests/MT_Client/orb_creation.cpp ./tests/MT_Client/server.cpp ./tests/MT_Server/client.cpp ./tests/MT_Server/server.cpp ./tests/MT_Timeout/client.cpp ./tests/MT_Timeout/server.cpp ./tests/Multiple_Inheritance/client.cpp ./tests/Multiple_Inheritance/server.cpp ./tests/Muxing/client.cpp ./tests/Muxing/server.cpp ./tests/Native_Exceptions/client.cpp ./tests/Native_Exceptions/server.cpp ./tests/NestedUpcall/MT_Client_Test/client.cpp ./tests/NestedUpcall/MT_Client_Test/local_server.cpp ./tests/NestedUpcall/MT_Client_Test/server.cpp ./tests/NestedUpcall/Simple/client.cpp ./tests/NestedUpcall/Simple/server.cpp ./tests/NestedUpcall/Simple/simple-client.cpp ./tests/NestedUpcall/Triangle_Test/initiator.cpp ./tests/NestedUpcall/Triangle_Test/server_A.cpp ./tests/NestedUpcall/Triangle_Test/server_B.cpp ./tests/Nested_Event_Loop/client.cpp ./tests/Nested_Event_Loop/server.cpp ./tests/OctetSeq/OctetSeq.cpp ./tests/OctetSeq/client.cpp ./tests/OctetSeq/server.cpp ./tests/Oneway_Buffering/admin.cpp ./tests/Oneway_Buffering/client.cpp ./tests/Oneway_Buffering/server.cpp ./tests/Oneways_Invoking_Twoways/client.cpp ./tests/Oneways_Invoking_Twoways/server.cpp ./tests/Param_Test/anyop.cpp ./tests/Param_Test/options.cpp ./tests/Param_Test/server.cpp ./tests/Policies/Manipulation.cpp ./tests/Portable_Interceptors/Benchmark/client.cpp ./tests/Portable_Interceptors/Benchmark/server.cpp ./tests/Portable_Interceptors/Dynamic/client.cpp ./tests/Portable_Interceptors/Dynamic/server.cpp ./tests/Portable_Interceptors/ForwardRequest/client.cpp ./tests/Portable_Interceptors/ForwardRequest/server.cpp ./tests/Portable_Interceptors/IORInterceptor/client.cpp ./tests/Portable_Interceptors/IORInterceptor/server.cpp ./tests/Portable_Interceptors/PICurrent/client.cpp ./tests/Portable_Interceptors/PICurrent/server.cpp ./tests/Portable_Interceptors/Request_Interceptor_Flow/client.cpp ./tests/Portable_Interceptors/Request_Interceptor_Flow/server.cpp ./tests/Portable_Interceptors/Service_Context_Manipulation/client.cpp ./tests/Portable_Interceptors/Service_Context_Manipulation/server.cpp ./tests/QtTests/client.cpp ./tests/QtTests/server.cpp ./tests/RTCORBA/Banded_Connections/client.cpp ./tests/RTCORBA/Banded_Connections/server.cpp ./tests/RTCORBA/Client_Propagated/client.cpp ./tests/RTCORBA/Client_Propagated/server.cpp ./tests/RTCORBA/Client_Protocol/client.cpp ./tests/RTCORBA/Client_Protocol/server.cpp ./tests/RTCORBA/Destroy_Thread_Pool/Destroy_Thread_Pool.cpp ./tests/RTCORBA/Explicit_Binding/client.cpp ./tests/RTCORBA/Explicit_Binding/server.cpp ./tests/RTCORBA/Linear_Priority/client.cpp ./tests/RTCORBA/Linear_Priority/server.cpp ./tests/RTCORBA/MT_Client_Protocol_Priority/client.cpp ./tests/RTCORBA/MT_Client_Protocol_Priority/server.cpp ./tests/RTCORBA/Persistent_IOR/client.cpp ./tests/RTCORBA/Persistent_IOR/server.cpp ./tests/RTCORBA/Policy_Combinations/client.cpp ./tests/RTCORBA/Policy_Combinations/server.cpp ./tests/RTCORBA/Private_Connection/client.cpp ./tests/RTCORBA/Private_Connection/server.cpp ./tests/RTCORBA/Server_Declared/client.cpp ./tests/RTCORBA/Server_Declared/server.cpp ./tests/RTCORBA/Server_Protocol/client.cpp ./tests/RTCORBA/Server_Protocol/server.cpp ./tests/RTCORBA/Thread_Pool/client.cpp ./tests/RTCORBA/Thread_Pool/server.cpp ./tests/Reliable_Oneways/client.cpp ./tests/Reliable_Oneways/server.cpp ./tests/Server_Leaks/client.cpp ./tests/Server_Leaks/server.cpp ./tests/Single_Read/client.cpp ./tests/Single_Read/server.cpp ./tests/Smart_Proxies/client.cpp ./tests/Smart_Proxies/Benchmark/client.cpp ./tests/Smart_Proxies/Benchmark/server.cpp ./tests/Smart_Proxies/server.cpp ./tests/Smart_Proxies/On_Demand/client.cpp ./tests/Smart_Proxies/On_Demand/server.cpp ./tests/Smart_Proxies/Policy/client.cpp ./tests/Smart_Proxies/Policy/server.cpp ./tests/Strategies/client.cpp ./tests/Strategies/server.cpp ./tests/Objref_Sequence_Test/client.cpp ./tests/Objref_Sequence_Test/server.cpp ./tests/Timed_Buffered_Oneways/client.cpp ./tests/Timed_Buffered_Oneways/server.cpp ./tests/Timeout/client.cpp ./tests/Timeout/server.cpp ./tests/Xt_Stopwatch/client.cpp ./tests/Xt_Stopwatch/server.cpp ./utils/catior/catior.cpp: Replaced all uses of getopt.optarg with getopt.opt_arg(). * examples/Simulator/Event_Supplier/DualEC_Sup.cpp (get_options): * examples/Simulator/Event_Supplier/Event_Con.cpp (get_options): * examples/Simulator/Event_Supplier/Logging_Sup.cpp (get_options): * orbsvcs/Naming_Service/NT_Naming_Server.cpp (run): Replaced all uses of getopt.optind with getopt.opt_ind(). Wed Dec 26 08:14:04 2001 Balachandran Natarajan * tests/Portable_Interceptors/Request_Interceptor_Flow/Request_Interceptor.h: Removed #include of Synch_T.h and added Atomic_Op.h. Wed Dec 26 05:16:45 2001 Mayur Deshpande * TAO_IDL/be/be_operation_strategy.cpp: * TAO_IDL/be/be_visitor_amh_pre_proc.cpp: * TAO_IDL/be/be_visitor_factory.cpp: * TAO_IDL/be/be_visitor_interface/amh_sh.cpp: * TAO_IDL/be/be_visitor_interface/amh_ss.cpp: * TAO_IDL/be/be_visitor_interface/interface.cpp: * TAO_IDL/be/be_visitor_operation/amh_sh.cpp: * TAO_IDL/be/be_visitor_operation/amh_ss.cpp: * TAO_IDL/be/be_visitor_operation/operation.cpp: * TAO_IDL/be_include/be_codegen.h: * TAO_IDL/be_include/be_operation_strategy.h: * TAO_IDL/be_include/be_visitor_amh_pre_proc.h: * TAO_IDL/be_include/be_visitor_interface/amh_sh.h: * TAO_IDL/be_include/be_visitor_interface/amh_ss.h: * TAO_IDL/be_include/be_visitor_operation/amh_sh.h: * TAO_IDL/be_include/be_visitor_operation/amh_ss.h: * tao/TAO_AMH_Response_Handler.cpp: * tao/TAO_AMH_Response_Handler.h: * tao/TAO_Server_Request.cpp: * tao/TAO_Server_Request.h: * tao/TAO_Server_Request.i: * tao/PortableServer/Servant_Base.cpp: * tao/PortableServer/Servant_Base.h: These files previously had all white-spaces removed from them due to an eronous script that I ran. They are now re-indented and re-formatted. * TAO_IDL/be/be_visitor_interface/amh_sh.cpp: * TAO_IDL/be/be_visitor_interface/amh_ss.cpp: Commented out the placeholder methods that were generating compile-time warnings. Wed Dec 26 02:57:48 2001 Mayur Deshpande * tao/TAO_AMH_Response_handler.h: * tao/TAO_AMH_Response_handler.cpp: The base Responsehandler class from which all IDL-generated skeleton ResponseHandler classes derive. This class stores various information (initialised from Server_Request) that is later used to send the response back to the client. This base class also has the functionality that enforces the 'Call-Once' semantics of AMH calls. * tao/PortableServer/Servant_Base.cpp: * tao/PortableServer/Servant_Base.h: Added asynchronous_upcall_dispatch() needed for AMH. Also changed synchronous_upcall_dispatch() in keeping with the new TAO Environment scheme. * tao/TAO_Server_Request.cpp: * tao/TAO_Server_Request.h: * tao/TAO_Server_Request.i: Added a method that creates a AMH_Response_Handler from a Server_Request since the Server_Request has all the information we need to store in a Response_Handler, Wed Dec 26 02:16:33 2001 Mayur Deshpande * TAO_IDL/be/be_operation_strategy.cpp: * TAO_IDL/be/be_operation_strategy.cpp * TAO_IDL/be_include/be_codegen.h: * TAO_IDL/be_include/be_operation_strategy.h: * TAO_IDL/be_include/be_visitor_amh_pre_proc.h: Nuked training white-spaces and carriage returns Tue Dec 25 22:48:32 2001 Carlos O'Ryan * orbsvcs/orbsvcs/Event/ECG_UDP_Protocol.h: * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.h: * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.i: * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp: * orbsvcs/orbsvcs/Event/ECG_UDP_Sender.h: * orbsvcs/orbsvcs/Event/ECG_UDP_Sender.inl: * orbsvcs/orbsvcs/Event/ECG_UDP_Sender.cpp: Move the EC_UDP_Sender class to its own file. Change the class to keep event sets in a single UDP packets. * orbsvcs/orbsvcs/Event/EC_Scheduling_Strategy.h: * orbsvcs/orbsvcs/Event/EC_Null_Scheduling.h: * orbsvcs/orbsvcs/Event/EC_Null_Scheduling.cpp: * orbsvcs/orbsvcs/Event/EC_Priority_Scheduling.h: * orbsvcs/orbsvcs/Event/EC_Priority_Scheduling.cpp: Change the responsabilities of this class, now it controls how the events are group. For example, events of the same priority should be sent in the same event set. This also allowed us to save a lock in the criticial path. * orbsvcs/orbsvcs/Event/EC_Group_Scheduling.h: * orbsvcs/orbsvcs/Event/EC_Group_Scheduling.inl: * orbsvcs/orbsvcs/Event/EC_Group_Scheduling.cpp: Add new scheduling strategy to keep grouped events together. * orbsvcs/orbsvcs/Event/EC_Type_Filter.h: * orbsvcs/orbsvcs/Event/EC_Type_Filter.cpp: Change class to keep event sets together. * orbsvcs/orbsvcs/Event/EC_Supplier_Filter.h: * orbsvcs/orbsvcs/Event/EC_Per_Supplier_Filter.h: * orbsvcs/orbsvcs/Event/EC_Per_Supplier_Filter.cpp: * orbsvcs/orbsvcs/Event/EC_Trivial_Supplier_Filter.h: * orbsvcs/orbsvcs/Event/EC_Trivial_Supplier_Filter.cpp: Change the TAO_EC_Supplier_Filter class to receive already scheduled events from the scheduling strategy. * orbsvcs/orbsvcs/Makefile.RTEvent: * orbsvcs/orbsvcs/Event/EC_Default_Factory.cpp: * orbsvcs/orbsvcs/Event/EC_ProxyConsumer.cpp: * orbsvcs/orbsvcs/Event/EC_Sched_Factory.cpp: Change the supporting clases to use the new supplier strategy interface. * orbsvcs/tests/EC_Mcast/EC_Mcast.h: * orbsvcs/tests/Event/Basic/BCast.cpp: * orbsvcs/examples/RtEC/MCast/MCast.cpp: Use the new header file for TAO_EC_UDP_Sender * orbsvcs/tests/Makefile: * orbsvcs/tests/Makefile.am: * orbsvcs/tests/Makefile.bor: * orbsvcs/tests/EC_Basic/EC_Basic.cpp: * orbsvcs/tests/EC_Basic/EC_Basic.dsp: * orbsvcs/tests/EC_Basic/EC_Basic.dsw: * orbsvcs/tests/EC_Basic/EC_Basic.h: * orbsvcs/tests/EC_Basic/EC_Basic.i: * orbsvcs/tests/EC_Basic/Makefile: * orbsvcs/tests/EC_Basic/Makefile.bor: * orbsvcs/tests/EC_Basic/README: * orbsvcs/tests/EC_Basic/run_test.pl: * orbsvcs/tests/Event_Latency/Event_Latency.cpp: * orbsvcs/tests/Event_Latency/Event_Latency.dsp: * orbsvcs/tests/Event_Latency/Event_Latency.dsw: * orbsvcs/tests/Event_Latency/Event_Latency.h: * orbsvcs/tests/Event_Latency/Makefile: * orbsvcs/tests/Event_Latency/Makefile.bor: * orbsvcs/tests/Event_Latency/run_test.pl: * orbsvcs/tests/Event_Latency/run_tests.sh: Removed obsolete tests. Tue Dec 25 22:58:48 2001 Balachandran Natarajan * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Client.h: Fixed compile error in Win32 static builds. Thanks to Venkita for pointing the source of the problem. Tue Dec 25 19:44:48 2001 Balachandran Natarajan * orbsvcs/tests/AVStreams/Asynch_Three_Stage/text: Removed the file. Looks like this is not at all required. Tue Dec 25 19:35:45 2001 Balachandran Natarajan * performance-tests/RTCorba/Thread_Pool/Makefile: * tests/Strategies/makefile: Updated some more dependencies. Tue Dec 25 15:39:56 2001 Carlos O'Ryan * orbsvcs/orbsvcs/Makefile.av: Fixed double backslash in dependencies. Tue Dec 25 12:16:42 2001 Mayur Deshpande * TAO/TAO_IDL: Changes to various files (as documented below) to incorporate the following features of AMH: - The "_this()" method of the AMH-skeleton now returns the original interface and not AMH_interface as was the case before. This is a bug fix. For the canonical Stock::Quoter example, this is what is generated: Stock::Quoter::_this() {...} - The AMH-operation (in the AMH-skeleton) is now of void return type and it's arguments are of type IN and INOUT from the original interface. This is a bug fix. - Generate the ResponseHandler class with correct inheritance. For the canonical Stock::Quoter example this is what should be generated: class TAO_AMH_QuoterResponseHandler : public virtual Stock::AMH_QuoterResponseHandler, p\ublic virtual TAO_AMH_ResponseHandler {...} Currently the parent classes are generated with a POA_ suffix. This is a known bug and will be fixed soon. - Generate the signature for the RH-operation (in the RH class). This operation is of void return type and its arguments are any return values along with any OUT ot INOUT parameters. - The above changes all pertain to code generation in the skeleton header files. Tue Dec 25 12:16:42 2001 Mayur Deshpande * TAO_IDL/be_include/be_visitor_operation.h: * TAO_IDL/be_include/be_visitor_interface.h: * TAO_IDL/be/be_visitor_operation/operation.cpp: * TAO_IDL/be/be_visitor_interface/interface.cpp: * TAO_IDL/be/be_visitor_operation.cpp: * TAO_IDL/be/be_visitor_interface.cpp: Adding appropriate 'include file' lines so that the AMH header and source files (amh_s(h/s).(h/cpp)) are included while compilation. Tue Dec 25 12:11:15 2001 Mayur Deshpande * TAO_IDL/be/be_visitor_operation/amh_sh.cpp: * TAO_IDL/be/be_visitor_operation/amh_ss.cpp: * TAO_IDL/be_include/be_visitor_operation/amh_sh.h: * TAO_IDL/be_include/be_visitor_operation/amh_ss.h: - Changed code to generate the correct signature for the amh-operation. This method is now of void return type and has only INOUT and IN parameters as arguments. - Added code to generate the signature for the RH-operation. Again of void return type and arguments are return, OUT and INOUT. Tue Dec 25 12:06:40 2001 Mayur Deshpande * TAO_IDL/be/be_visitor_interface/amh_ss.cpp: * TAO_IDL/be/be_visitor_interface/amh_sh.cpp: * TAO_IDL/be_include/be_visitor_interface/amh_ss.h: * TAO_IDL/be_include/be_visitor_interface/amh_sh.h: Changed "_this" method of AMH-Skeleton to return the original interface and not the AMH_interface. Added placeholder code for generating the ResponseHandler class interface. Tue Dec 25 11:49:35 2001 Mayur Deshpande * TAO_IDL/be_include/be_codegen.h: * TAO_IDL/be/be_visitor_factory.cpp: Added supporting code so that the correct AMH visitor is generated from the factory for 'next_state' Tue Dec 25 11:36:00 2001 Mayur Deshpande * TAO_IDL/be_include/be_visitor_amh_pre_proc.h: * TAO_IDL/be/be_visitor_amh_pre_proc.cpp: Added code and uncommented some of Darrell's code to: - Generate the ResponseHandler class. - Generate the inheritance tree for the RH class - Generate the signature for the RH-operation - Various minor bug fixes to previous code. These include generating the correct signature for the amh_operation (void return type) Tue Dec 25 11:27:34 2001 Mayur Deshpande * TAO_IDL/be/be_operation_strategy.cpp: * TAO_IDL/be_include/be_operation_strategy.h: Changed next_state to return AMH-state; similar to AMI strategy. Not used currently, but this is placeholder code that may be needed later. Tue Dec 25 12:23:40 2001 Carlos O'Ryan * Update all dependencies. Tue Dec 25 08:50:54 2001 Balachandran Natarajan * orbsvcs/orbsvcs/Log/LogRecordStore.cpp: Removed template instantiation of ACE_Equal_To <>. This should fix g++ builds. Tue Dec 25 00:48:28 2001 Balachandran Natarajan * orbsvcs/orbsvcs/Notify/Notify_AdminProperties.h: Added a #include. * orbsvcs/orbsvcs/Notify/Notify_Filter_i.cpp: Removed a template instantiation. Mon Dec 24 23:53:52 2001 Balachandran Natarajan * tao/Muxed_TMS.cpp: Removed a template instantiation of ACE_Equal_To . They have now been added in Functor.h as template specializations. * tao/DynamicInterface/Context.h * tao/DynamicInterface/ExceptionList.h: * tao/PortableServer/Servant_Base.h: Added #include of Atomic_Op.h. Mon Dec 24 16:16:56 2001 Carlos O'Ryan * orbsvcs/examples/RtEC/Schedule/Schedule.dsw: * orbsvcs/examples/RtEC/Schedule/EC_Schedule_Service.dsp: * orbsvcs/tests/FaultTolerance/IOGR/IOGR.dsw: * orbsvcs/tests/FaultTolerance/IOGR/server.dsp: * orbsvcs/tests/FaultTolerance/IOGR/Manager.dsp: Add missing projects and workspaces for MSVC6 Mon Dec 24 15:31:59 2001 Douglas C. Schmidt * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp: * orbsvcs/orbsvcs/Event/Event_Channel.cpp: * orbsvcs/orbsvcs/Notify/Notify_AdminProperties.cpp: * tao/DynamicInterface/ExceptionList.cpp: * tests/Portable_Interceptors/Request_Interceptor_Flow/Request_Interceptor.cpp: * tao/PortableServer/Servant_Base.cpp: Added explicit template instantiation for ACE_Atomic_Op_Ex<>. Mon Dec 24 11:01:55 2001 Venkita Subramonian * orbsvcs/tests/Notify/performance-tests/Throughput/Throughput.h: Fixed Single_Threaded compile errors. Replaced ACE_Condition_Thread_Mutex with TAO_SYNCH_CONDITION. Mon Dec 24 10:24:33 2001 Douglas C. Schmidt * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp (start_server_i): Added a call to proc_opts.avoid_zombies (1); to avoid zombies on UNIX platforms. Thanks to Kirat Singh for reporting this. Sun Dec 23 09:46:48 2001 Venkita Subramonian * orbsvcs/tests/Notify/performance-tests/Throughput/Throughput.dsp: Fixed link errors. Added TAO_Strategies(d).lib to the list of libraries. Sun Dec 23 09:06:05 2001 Venkita Subramonian * orbsvcs/tests/Notify/performance-tests/Throughput/Throughput.cpp: Fixed compiler warnings. Sat Dec 22 23:30:12 2001 Venkita Subramonian * examples/RTCORBA/Activity/Task_Stats.h: Fixed compiler errors on TRU64CXX. Added #include "tao/debug.h" Sat Dec 22 23:03:25 2001 Venkita Subramonian * examples/RTCORBA/Activity/Activity.cpp: * examples/RTCORBA/Activity/Job_i.cpp: Fixed compile errors. * examples/RTCORBA/Activity/Periodic_Task.cpp: Fixed compiler warnings. Sat Dec 22 11:28:40 2001 Carlos O'Ryan * tests/Param_Test/Makefile: * tests/Param_Test/anyop.bor: * tests/Param_Test/client.bor: * tests/Param_Test/server.bor: Fixed remaining leftover references to param_testCli.* and param_testSer.* Fri Dec 21 12:52:26 2001 Priyanka Gontla * tao/ORB_Core.h (TAO_ORB_Core): * tao/ORB_Core.cpp (resolve_rir): Neednot check the InitRef table since we would have already checked that in CORBA_ORB::resolve_initial_references. Added a new method to get a pointer to the InitRefMap which is needed for CORBA_ORB::resolve_initial_references method. * tao/ORB.h : * tao/ORB.cpp: Added new method: set_timeout and get_timeout to set and get the timeout value that is passes to resolve_initial_references method. Modified the signature of resolve_service. The method implementation doesnt do anything with the timeout value. So, the timeout is not an argument anymore. Modified the implementation of resolve_initial_references so that we can check the values that are passed via the ORBInitRef option first before checking for individual services. But, the values that are passed via -ORBDefaultInitRef are still checked after the well-known services and their environment variables are checked due to the fact that we now have a default DefaultInitRef value which is a multicast address and we want to check this value the last. So, if an user wants to override the environment variables using the command line options, he can do that using ORBInitRef option. Thanks to McIntosh, Bruce for reporting the change in the order of checking environment variables and command line parameters. Provided backward compatibility to set the ports for the services such as NameServicePort using environment variables. Thanks to David Yongqiang Wang for first pointing this out. Set the timeout value passed to resolve_initial_refernces using the new set_timeout method. This value is later needed in TAO_MCAST_Parser::parse_string method. * tao/MCAST_Parser.cpp : Get the timeout value using get_timeout method in CORBA::ORB class. Thanks to Keith Snively for reporting this. Fri Dec 21 14:28:49 2001 Steve Huston * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.cpp (ssliop_open_i): * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp (open): Remove the call to ACE_SSL_SOCK_(Connector|Acceptor)::reactor () - that method does not exist anymore. Fri Dec 21 11:25:36 2001 Carlos O'Ryan * orbsvcs/Naming_Service/NT_Naming_Server.cpp: Add missing #include for non-Win32 builds. * tests/Explicit_Event_Loop/client.dsp: Remove unused reference to testS.i * tests/Param_Test/Makefile: * tests/Param_Test/any.h: * tests/Param_Test/anyop.cpp: * tests/Param_Test/anyop.dsp: * tests/Param_Test/bd_array_seq.h: * tests/Param_Test/bd_long_seq.h: * tests/Param_Test/bd_short_seq.h: * tests/Param_Test/bd_str_seq.h: * tests/Param_Test/bd_string.h: * tests/Param_Test/bd_struct_seq.h: * tests/Param_Test/bd_wstr_seq.h: * tests/Param_Test/bd_wstring.h: * tests/Param_Test/big_union.h: * tests/Param_Test/client.dsp: * tests/Param_Test/client.h: * tests/Param_Test/complex_any.h: * tests/Param_Test/driver.h: * tests/Param_Test/except.h: * tests/Param_Test/fixed_array.h: * tests/Param_Test/fixed_struct.h: * tests/Param_Test/helper.h: * tests/Param_Test/multdim_array.h: * tests/Param_Test/nested_struct.h: * tests/Param_Test/objref.h: * tests/Param_Test/objref_struct.h: * tests/Param_Test/param_test_i.h: * tests/Param_Test/recursive_struct.h: * tests/Param_Test/recursive_union.h: * tests/Param_Test/server.dsp: * tests/Param_Test/short.h: * tests/Param_Test/small_union.h: * tests/Param_Test/tmplinst.cpp: * tests/Param_Test/typecode.h: * tests/Param_Test/ub_any_seq.h: * tests/Param_Test/ub_array_seq.h: * tests/Param_Test/ub_long_seq.h: * tests/Param_Test/ub_objref_seq.h: * tests/Param_Test/ub_short_seq.h: * tests/Param_Test/ub_str_seq.h: * tests/Param_Test/ub_string.h: * tests/Param_Test/ub_struct_seq.h: * tests/Param_Test/ub_wstr_seq.h: * tests/Param_Test/ub_wstring.h: * tests/Param_Test/ulonglong.h: * tests/Param_Test/var_array.h: * tests/Param_Test/var_struct.h: Use the canonical IDL extensions for the generated files. Wed Dec 19 15:36:14 2001 Pradeep Gore * examples/RTCORBA/Activity/Job.idl: * examples/RTCORBA/Activity/examples/RTCORBA.cpp: * examples/RTCORBA/Activity/examples/RTCORBA.h : * examples/RTCORBA/Activity/Builder.cpp: * examples/RTCORBA/Activity/Builder.h: * examples/RTCORBA/Activity/Job_i.cpp: * examples/RTCORBA/Activity/Job_i.h: * examples/RTCORBA/Activity/POA_Holder.cpp: * examples/RTCORBA/Activity/POA_Holder.h: * examples/RTCORBA/Activity/Periodic_Task.cpp: * examples/RTCORBA/Activity/Periodic_Task.h: * examples/RTCORBA/Activity/Thread_Task.cpp: * examples/RTCORBA/Activity/Thread_Task.h: * examples/RTCORBA/Activity/gen_graphs.sh: * examples/RTCORBA/Activity/svc.conf.client: * examples/RTCORBA/Activity/svc.conf.server: * examples/RTCORBA/Activity/Makefile: * examples/RTCORBA/Activity/README: An example to showcase RTCORBA priority preservation feature. This example reads conf. files and generates a data file containing latency numbers. As the data output is in a 2 column format, gnuplot can be used to plot nice invocation graphs. See the README for further details. * orbsvcs/tests/Notify/performance-tests/Throughput.{h,cpp}: * orbsvcs/tests/Notify/performance-tests/README: Added new commandline parameters - payload_size, expected_count and channel name. Tue Dec 18 17:03:45 2001 Venkita Subramonian * orbsvcs/examples/Log/Client/TLS_Client.cpp: Changed CORBA::Long to CORBA::ULongLong to fix compiler warnings. Tue Dec 18 12:12:24 2001 Venkita Subramonian * tests/ior_corbaloc/ior_corbaloc_client.dsp: tests/ior_corbaloc/ior_corbaloc_server.dsp: tests/ior_corbaloc/ior_corbaname_client.dsp: Changed the path for tao_idl for the Release build to fix build errors for Win2000 DLL Release Mon Dec 17 23:26:47 2001 Carlos O'Ryan * orbsvcs/orbsvcs/Event/ECG_Mcast_EH.cpp: * orbsvcs/orbsvcs/CosEvent/CEC_Reactive_Pulling_Strategy.cpp: Moved "ace/Reactor.h" include *after* the local includes. That makes it easier to detect errors in the local header files. * orbsvcs/orbsvcs/ESF/ESF_Delayed_Command.cpp: Fixed info messages under Tru64/CXX, there was some useless code left over from before the corba-env-clean changes. Mon Dec 17 17:15:55 2001 Justin Michel * tao/tests/ORB_init/Portspan/Portspan.dsp: Removed dependency on tao_idl.exe to get rid of warning in Debug build. Mon Dec 17 15:13:52 2001 Ossama Othman * tao/MCAST_Parser.cpp (multicast_query): Fixed broken code that did passed a string as the value to setsockopt() call. Thanks to Jesse for tracking down the problem and providing a fix. [Bug 1105] Mon Dec 17 10:09:55 2001 Venkita Subramonian * orbsvcs/tests/Sched_Conf/Sched_Conf_Anomalies.cpp: Fixed compile errors. * orbsvcs/orbsvcs/Event/ECG_Mcast_EH.cpp: orbsvcs/orbsvcs/CosEvent/CEC_Reactive_Pulling_Strategy.cpp: Added #include "ace/Reactor.h" to fix compile errors in TRU64CXX * orbsvcs/orbsvcs/AV/RTP.cpp: Added #include "tao/debug.h" to fix compile errors. Mon Dec 17 07:23:47 2001 Balachandran Natarajan * docs/performance.html: Added some comments to the document. Sun Dec 16 10:33:47 2001 Ossama Othman * tao/ORB_Core.cpp (init): Made it possible to set send and receive buffer lengths to zero. Thanks to Jonathan Reis for providing a fix. [Bug 1100] Sun Dec 16 11:15:19 2001 Venkita Subramonian * tao/Wait_On_Reactor.cpp : fixed compiler errors on TRU64 added #include "ace/Reactor.h" Sun Dec 16 16:23:12 2001 Johnny Willemsen * tests/ORB_init/Portspan/SimpleI.{h,cpp} Corrected method declaration to use new corba environment macros Sat Dec 15 21:12:10 2001 Ossama Othman * docs/performance.html: Draft of a new document designed to let TAO users know how to optimially tune TAO for their applications. * docs/tao.css: Stylesheet used by the above document, and eventually the other existing documents. Sat Dec 15 11:54:31 2001 Ossama Othman * orbsvcs/orbsvcs/SSLIOP/SSLIOP_PrincipalAuthenticator.h: Made destructor virtual to correct warning exhibited by G++. Sat Dec 15 11:48:43 2001 Carlos O'Ryan * orbsvcs/tests/Sched_Conf/Sched_Conf_Anomalies.cpp: Fixed compilation errors. Sat Dec 15 11:10:45 2001 Carlos O'Ryan * docs/amh/AMH_discussions.html: * docs/amh/AMH_discussions_files/filelist.xml: * docs/amh/AMH_discussions_files/image001.wmz: * docs/amh/AMH_discussions_files/image002.gif: * docs/amh/AMH_discussions_files/image003.wmz: * docs/amh/AMH_discussions_files/image004.gif: * docs/amh/AMH_discussions_files/image005.wmz: * docs/amh/AMH_discussions_files/image006.gif: * docs/amh/AMH_discussions_files/oledata.mso: Removed discussion document that had no place in the distribution. Sat Dec 15 10:53:30 2001 Carlos O'Ryan * orbsvcs/performance-tests/EC_Scalability/client.cpp: Fixed conversion from 64-bit to 32-bit int. Nice of MSVC6 to detect that little buglet. Sat Dec 15 12:53:30 2001 Balachandran Natarajan * tests/Objref_Sequence_Test/client.cpp: Fixed a Win2000 warning. * tests/Objref_Sequence_Test/server.cpp (main): Fixed a warning in GCC 3.0.2 builds Sat Dec 15 09:53:59 2001 Carlos O'Ryan * tao/Transport.cpp: Add missing #include of "ace/Reactor.h", only a problem on Tru64/DU/CXX, probably because other platforms use ACE_TEMPLATES_REQUIRE_SOURCE Fri Dec 14 22:54:52 2001 Balachandran Natarajan * tests/Objref_Sequence_Test/server.cpp: Fixed a compile error. Fri Dec 14 18:32:45 2001 Jeff Parsons * orbsvcs/IFR_Service/drv_preproc_ifr.cpp: Removed the preprocessor definition -DIDL, since 'IDL' is a legal identifier. Also added format string to instances of ACE_DEBUG and ACE_ERROR. Finally, added code to enable BCB to send preprocessor output to a specified file, similar to the change sent in by Johnny Willemsen for drv_preproc.cpp in the IDL compiler executable. Thanks to Marvin Greenberg for reporting the problem with the 'IDL' identifier. Fri Dec 14 16:12:42 2001 Jeff Parsons * TAO_IDL/be/be_visitor_union/union_ch.cpp: * TAO_IDL/be/be_visitor_union/union_ci.cpp: Removed generation of the argless version of the private _reset() method. It never gets called. It also contained a 'memcpy' that should have been a 'memset', which was pointed out by Oliver Kellogg . Fri Dec 14 12:18:51 2001 Ossama Othman * tao/CORBALOC_Parser.h (parse_string_count_helper): * tao/CORBALOC_Parser.cpp (parse_string_count_helper): No need to pass the string in by reference. Simplified some "if" blocks. Fixed problem where an UIOP addr was not properly counted, eventually resulting in a CORBA::TRANSIENT exception. Thanks again to Jessie Ragsdale for confirming that the previous fix wasn't enough for the UIOP case. Fri Dec 14 07:17:22 2001 Balachandran Natarajan * tests/Objref_Sequence_Test/server.cpp: * tests/Objref_Sequence_Test/client.cpp: Fixed compilation errors in no exceptions builds. Trying to get used to the new macros. Fri Dec 14 07:12:38 2001 Balachandran Natarajan * tests/Objref_Sequence_Test/Makefile: Removed references to the Naming services. Fri Dec 14 09:32:12 2001 Johnny Willemsen * tests/Makefile.bor: Added the Objref_Sequence_Test test Thu Dec 13 22:50:10 2001 Ossama Othman * tao/CORBALOC_Parser.cpp (assign_key_string): Fixed erroneous check for TCP port in a "corbaloc:iiop:..." IOR. Only add the default corbaloc port "2809" if and only if the protocol is "iiop." Fixes a problem where corbaloc URLs did not work for protocols other an "iiop." Thanks to Jessie Ragsdale for reporting the problem. Thu Dec 13 21:17:09 2001 Ossama Othman * orbsvcs/tests/Security/Callback/client_i.h (client_i): * orbsvcs/tests/Security/Callback/server_i.h (server_i): Inherit from the PortableServer::RefCountServantBase mix-in class to improve the memory management of these servants by making it possible for the POA to control their lifetime. * orbsvcs/tests/Security/Callback/client.cpp (main): * orbsvcs/tests/Security/Callback/server.cpp (main): Assign the dynamically allocated servants to PortableServer::ServantBase_var to transfer ownership to the POA. This also improves the exception safety of this code. Thu Dec 13 22:22:15 2001 Balachandran Natarajan * Updated dependencies of many Makefile's. Thu Dec 13 21:16:42 2001 Balachandran Natarajan * tests/Objref_Sequence_Test: A new test that passes big sequences of Object References between the client and the server. The original version of the test was donated by Petr Tuma . * tests/Objref_Sequence_Test/client.cpp: * tests/Objref_Sequence_Test/server.cpp: * tests/Objref_Sequence_Test/Test.idl: * tests/Objref_Sequence_Test/README: * tests/Makefile: * tests/Objref_Sequence_Test/Makefile: * tests/Objref_Sequence_Test/Makefile.bor: * tests/Objref_Sequence_Test/client.bor: * tests/Objref_Sequence_Test/server.bor: * tests/Objref_Sequence_Test/run_test.pl: * tests/Objref_Sequence_Test/client.dsp: * tests/Objref_Sequence_Test/server.dsp: * tests/Objref_Sequence_Test/Objref_Sequence.dsw: Files for the new test. This test cannot be run in the daily builds. The test takes too long to complete. Making really large sequences is the idea of the test and reducing that would mean, diluting the test. Thu Dec 13 16:20:52 2001 Ossama Othman * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.h (iiop_endpoint): * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.i (iiop_endpoint): New method that sets the IIOP-specific endpoint counterpart. The given TAO_IIOP_Endpoint is duplicated if necessary. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.cpp (duplicate): Use the new iiop_endpoint() method to force the newly created TAO_SSLIOP_Endpoint retain ownership of its TAO_IIOP_Endpoint member. This fixes a segmentation fault that occurred when a TAO_SSLIOP_Endpoint was duplicated, re-cached in the transport cache, and then later checked for equivalence. The problem was that the TAO_IIOP_Endpoint pointer member of the TAO_SSLIOP_Endpoint was being "yanked out from under it" when the TAO_SSLIOP_Profile that actually owned the TAO_IIOP_Endpoint was destroyed. (~TAO_SSLIOP_Endpoint): Delete the iiop_endpoint_ member if the TAO_SSLIOP_Endpoint "owns" it. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Profile.cpp (TAO_SSLIOP_Profile, decode, decode_endpoints): Use the new TAO_SSLIOP_Endpoint::iiop_endpoint() mutator method to force the TAO_SSLIOP_Endpoint to copy the given TAO_IIOP_Endpoint, and thus retain ownership. Thu Dec 13 13:42:28 2001 Carlos O'Ryan * orbsvcs/performance-tests/EC_Federated_Scalability/Coordinator.cpp: Fixed used of %lld, should have been ACE_UINT64_FORMAT_SPECIFIER all along. Thu Dec 13 15:06:54 2001 Jeff Parsons * docs/compiler.html: Corrected table entry for -GIc command line option, which generates copy constructors in the servant implementation template files. It does not take an argument as was indicated in the original table entry. Also added an entry for the -GIa option, which generates assignment operators in the servant implementation template files. Thu Dec 13 11:41:38 2001 Jeff Parsons * tao/DynamicAny/DynCommon.cpp: Changed a '*any' to 'any.in ()' to correspond to a change from 'Any_ptr any' to 'Any_var any' made 2 days ago. Thanks to Johnny Willemsen for pointing this out. Tue Dec 12 17:05:30 2001 Balachandran Natarajan * orbsvcs/orbsvcs/Event/ReactorTask.h (ReactorEx.): Added a missing include to get it compiling on Win32. Wed Dec 12 12:54:51 2001 Jaiganesh Balasubramanian * orbsvcs/orbsvcs/Event_Utilities.cpp: Added a new parameter to the class ACE_SupplierQOS_Factory that specifies the number of elements to initialize. The parameter defaults to zero. Previously the length of the QOS IDL structure defaulted to 0 length and on each insert call would reallocate one additional slot and copy the old contents of the QOS to the new structure. For 500 MC addresses, this was expensive. The Changes were incorporated thanks to Mark Hyett. * orbsvcs/orbsvcs/Event_Utilities.h: Added a new parameter to the class ACE_SupplierQOS_Factory that specifies the number of elements to initialise. The parameter defaults to 0. Previously the length of the QOS IDL structure defaulted to 0 length and on each insert call would reallocate one additional slot and copy the old contents of the QOS to the new structure. For 500 MC addresses, this was expensive. The Changes were incorporated thanks to Mark Hyett. Tue Dec 12 06:55:30 2001 Balachandran Natarajan * tao/GIOP_Message_Base.cpp (process_request_message): Avoid sending a datablock with DONT_DELETE flag, if the datablock came of the heap -- possible in large messages. We used to send the datablock with the above flag and the datablock would be cleaned up by the transport after the upcall is complete. This creates problems for object references. When a client sends a object reference, the upcall tries to make a copy of the incoming object reference. This copy would be necessary if the datablock came of the stack and unnecessary if the datablock came of the heap. If it came of the heap we, just duplicate the datablock and send it with no flags to the upcall. This should avoid a copy for large object references. This problem came to the surface from a bug report submitted by Petr Tuma . He was trying to send large object references which was more than 7 MB and the server crashed. The crash was occuring in ACE_Data_Block as it wasnt able to make such a large chunk available during copy. I am not sure why this was happening. I havent been able to reproduce this allocation problem with a simple example. When I was tracking this further, I noticed that the whole copy business was coming in because of this flag setting. This change makes things working even for larger object sequences. The fix is right, in the sense we avoid an extra allocation and datacopy. I am not sure why this didnt occur to me at all before :(. I (or we) need to investigate why malloc fails for large memory chunks. Someday I will know why. Thanks to Petr Tuma for reporting this problem. The test case that he gave us will be checked in after getting his permissions. * tests/DLL_ORB/Test_Server_Module.cpp: Added "ace/Service_Config.h" to fix a compilation error in the builds. * tests/DLL_ORB/Makefile: Updated dependencies. Wed Dec 12 07:25:12 2001 Johnny Willemsen * tests/ORB_Init/Portscan/Makefile.bor: Added new BCB makefile for this test Tue Dec 11 20:10:32 2001 Carlos O'Ryan * examples/Logging/Logging.dsw: * examples/Logging/Logging_Test.dsp: * examples/Logging/Logging_Service.dsp: Add project files and workspace for this directory. Tue Dec 11 18:40:33 2001 Douglas C. Schmidt * orbsvcs/tests/Interoperable_Naming/client.cpp (main): Fixed a bug that was causing a core dump if there was no reachable Name Server. Thanks to Charles Meidinger for reporting this. Tue Dec 11 15:06:00 2001 Carlos O'Ryan * tao/orbconf.h: My clever trick using /**/ inside the TAO_ENV_EMIT_CODE2() macro call to generate the extra comma does not work on windows. Change for another "clever" trick that should be more reliable. Tue Dec 11 09:54:04 2001 Carlos O'Ryan * tao/orbconf.h: Improved definition and documentation for the TAO_ENV_*ARG* macros. * tao/ORB.cpp: Fixed warning on builds with exceptions enabled. * tao/DynamicInterface/DII_Invocation.cpp: Fixed problems with user exceptions raised during DII requests. Tue Dec 11 10:12:02 2001 Venkita Subramonian * tests/DLL_ORB/Test_Client_Module.h fixed compiler errors Tue Dec 11 09:13:19 2001 Justin Michel * tests/ORB_init/Portspan/server.cpp Updated activate method to use TAO_ENV_SINGLE_ARG_PARAMETER Mon Dec 10 20:24:03 2001 Balachandran Natarajan * orbsvcs/orbsvcs/Event/Dispatching_Modules.h: Fixed a compile error. * orbsvcs/orbsvcs/Makefile.*: Updated dependencies. Mon Dec 10 17:57:59 2001 Jeff Parsons * orbsvcs/orbsvcs/AV.dsp: * orbsvcs/orbsvcs/CosConcurrency.dsp: * orbsvcs/orbsvcs/CosEvent.dsp: * orbsvcs/orbsvcs/CosLifeCycle.dsp: * orbsvcs/orbsvcs/CosNaming.dsp: * orbsvcs/orbsvcs/CosNotification.dsp: * orbsvcs/orbsvcs/CosProperty.dsp: * orbsvcs/orbsvcs/CosTime.dsp: * orbsvcs/orbsvcs/CosTrading.dsp: * orbsvcs/orbsvcs/DsLogAdmin.dsp: * orbsvcs/orbsvcs/Fault_Tolerance.dsp: * orbsvcs/orbsvcs/LoadBalancing.dsp: * orbsvcs/orbsvcs/RTEvent.dsp: * orbsvcs/orbsvcs/RTOLDEvent.dsp: * orbsvcs/orbsvcs/RTSched.dsp: * orbsvcs/orbsvcs/RTSchedEvent.dsp: * orbsvcs/orbsvcs/SSLIOP.dsp: * orbsvcs/orbsvcs/Svc_Utils.dsp: Modified these projects to use the new resource files below. * orbsvcs/orbsvcs/Svc_Utils.rc: * orbsvcs/orbsvcs/AV.rc: * orbsvcs/orbsvcs/CosConcurrency.rc: * orbsvcs/orbsvcs/CosEvent.rc: * orbsvcs/orbsvcs/CosLifeCycle.rc: * orbsvcs/orbsvcs/CosNaming.rc: * orbsvcs/orbsvcs/CosNotification.rc: * orbsvcs/orbsvcs/CosProperty.rc: * orbsvcs/orbsvcs/CosTime.rc: * orbsvcs/orbsvcs/CosTrading.rc: * orbsvcs/orbsvcs/DsLogAdmin.rc: * orbsvcs/orbsvcs/FaultTolerance.rc: * orbsvcs/orbsvcs/LoadBalancing.rc: * orbsvcs/orbsvcs/RTEvent.rc: * orbsvcs/orbsvcs/RTOldEvent.rc: * orbsvcs/orbsvcs/RTSched.rc: * orbsvcs/orbsvcs/RTSchedEvent.rc: * orbsvcs/orbsvcs/SSLIOP.rc: New files to aid in displaying version information. Thanks to David Hauck for submitting all of the above. Mon Dec 10 16:33:39 2001 Justin Michel * tests/TAO_Tests.dsw * tests/ORB_init/Portspan/portspan.dsp * tests/ORB_init/Portspan/run_test.pl * tests/ORB_init/Portspan/simpleI.cpp * tests/ORB_init/Portspan/simpleI.h The server.exe was returning 1 on error, but perl SpawnWaitKill() returned -1. Updated to check == 0. Added the servant implementation files and updated the vc++ project to be like the other tests. Mon Dec 10 15:52:39 2001 Balachandran Natarajan The effect of breaking ace/Strategies into multiple files. Tue Nov 27 21:30:10 2001 Balachandran Natarajan * tao/Cache_Entries.h: * tao/DLL_ORB.h: * tao/Transport.h: Added additional #includes to fix compilation errors. * tao/*/Makefile: Updated dependencies. Mon Dec 10 13:31:35 2001 Jeff Parsons * tao/DynamicAny/DynCommon.cpp: * tao/DynamicAny/DynEnum_i.cpp: Assigned the results of calls to to_any() to an Any_var instead of an Any_ptr, to get rid of some memory leaks. Thanks to Philippe Merle for pointing thes out. Mon Dec 10 10:56:42 2001 Carlos O'Ryan * orbsvcs/performance-tests/EC_Scalability/client.cpp: MSVC6 has broken scope rules for variables declared inside a for-loop, fixed. Fixed unsigned/signed comparison. Sun Dec 09 22:29:16 2001 Carlos O'Ryan * tao/GIOP_Message_Generator_Parser_10.cpp: * tao/ORB.cpp: * tao/PortableServer/Object_Adapter.cpp: * tests/ORB_init/Portspan/server.cpp: * orbsvcs/orbsvcs/Event/EC_Reactive_ConsumerControl.cpp: * orbsvcs/orbsvcs/Event/EC_Reactive_SupplierControl.cpp: Fixed build warnings due mostly to subtle uses of ACE_TRY_ENV (or lack thereof) Sun Dec 9 16:45:06 2001 Ossama Othman * orbsvcs/orbsvcs/SecurityLevel2.idl (set_attributes): Corrected parameter name. Some text was still left over from a previous update. Sun Dec 9 13:50:47 2001 Ossama Othman * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.cpp (handle_close_i): This method now accepts the handle that will be closed instead of relying on calling the get_handle() method. This a precautionary measure for avoiding a race condition. (handle_close, handle_input, handle_output): Pass the handle down to the handle_close_i() method instead of forcing handle_close_i() to call get_handle(). This avoids potential race conditions if the connection handler ever services more than one handle. The race condition doesn't actually exist since TAO always associates a single handle with a given connection handler. So, this change is merely a precaution for potential changes in the future. It also happens to save us a function call (not a big deal in any case). (handle_input): If the upcall count is zero, then return right away. This fixes a potential problem where the code that causes the reactor to callback the connection handler if data is pending in the OpenSSL internal buffers despite the fact that the connection handler has been shutdown and destroyed. [Bug 943] Sun Dec 09 13:56:41 2001 Carlos O'Ryan * orbsvcs/performance-tests/EC_Scalability/server.cpp: * orbsvcs/performance-tests/EC_Federated_Scalability/client.cpp: * orbsvcs/performance-tests/EC_Federated_Scalability/server.cpp: Explicitly include "tao/Messaging.h", it is required for builds that disable interceptors. Sun Dec 09 13:52:46 2001 Carlos O'Ryan * orbsvcs/examples/CosEC/RtEC_Based/lib/lib.dsw: * orbsvcs/examples/CosEC/RtEC_Based/lib/TAO_RTEC_COSEC.dsp: * orbsvcs/examples/CosEC/RtEC_Based/lib/TAO_RTEC_COSEC_static.dsp: Adjusted name to make nightly Win32 builds happy. Sun Dec 9 20:53:01 2001 Venkita Subramonian * tests/Smart_Proxies/Collocation/Smart_Proxy_Impl.h Fixed a compile error Sun Dec 9 10:10:01 2001 Ossama Othman * orbsvcs/tests/Security/Callback: New test contributed by Robert Martin . This test is designed to excercise the connection cache related code in a complex pluggable protocol such as SSLIOP. Sat Dec 8 11:47:37 2001 Ossama Othman * Merged the corba-env-clean CVS branch. This merge cleans up all uses of the CORBA::Environment parameter. The TAO_ENV_* macros are used instead, thus making it easier for users to deal with code that supports both emulated and native exceptions. Many thanks to Oliver Kellogg for making all of the changes! Thu Dec 7 17:39:14 2001 Justin Michel * tests/ORB_init/Portspan/portspan.dsp Fixed the Release configuration. Fri Dec 7 16:38:22 2001 Jeff Parsons * docs/ReleaseNotes/index.html: Updated the Future Work subsection of the IDL compiler section. Fri Dec 07 14:22:41 2001 Carlos O'Ryan * orbsvcs/Logging_Service/Logging_Service.dsp: * orbsvcs/Logging_Service/Logging_Service.dsw: * orbsvcs/TAO_Service/TAO_Service.dsp: * orbsvcs/TAO_Service/TAO_Service.dsw: * orbsvcs/examples/CosEC/Simple/Simple.dsw: * orbsvcs/examples/CosEC/Simple/CEC_Simple_Service.dsp: * orbsvcs/examples/CosEC/Simple/CEC_Simple_Consumer.dsp: * orbsvcs/examples/CosEC/Simple/CEC_Simple_Supplier.dsp: * orbsvcs/examples/Log/Client/Client.dsw: * orbsvcs/examples/Log/Client/tls_client.dsp: * orbsvcs/examples/Log/test/test.dsw: * orbsvcs/examples/Log/test/client.dsp: Add more missing MSVC6 project files. * orbsvcs/examples/Log/Client/TLS_Client.cpp: Was using CORBA::Long even when CORBA::LongLong is available. Fri Dec 07 11:44:24 2001 Carlos O'Ryan * orbsvcs/examples/CosEC/RtEC_Based/bin/RtEC_Based_CosEC.dsp: * orbsvcs/examples/CosEC/RtEC_Based/bin/bin.dsw: * orbsvcs/examples/CosEC/RtEC_Based/lib/TAO_RTEC_COSEC.dsp: * orbsvcs/examples/CosEC/RtEC_Based/lib/TAO_RTEC_COSEC_static.dsp: * orbsvcs/examples/CosEC/RtEC_Based/lib/lib.dsw: * orbsvcs/examples/CosEC/RtEC_Based/tests/Basic/Basic.dsp: * orbsvcs/examples/CosEC/RtEC_Based/tests/Basic/Basic.dsw: * orbsvcs/examples/CosEC/RtEC_Based/tests/Multiple/Consumer.dsp: * orbsvcs/examples/CosEC/RtEC_Based/tests/Multiple/Multiple.dsw: * orbsvcs/examples/CosEC/RtEC_Based/tests/Multiple/Supplier.dsp: Add missing MSVC6 projects and workspaces. Fri Dec 07 09:58:43 2001 Carlos O'Ryan * orbsvcs/performance-tests/EC_Federated_Latency/EC_Federated_Latency.dsw: * orbsvcs/performance-tests/EC_Federated_Latency/client.dsp: * orbsvcs/performance-tests/EC_Federated_Latency/server.dsp: * orbsvcs/performance-tests/EC_Federated_Scalability/EC_Federated_Scalability.dsw: * orbsvcs/performance-tests/EC_Federated_Scalability/client.dsp: * orbsvcs/performance-tests/EC_Federated_Scalability/server.dsp: * orbsvcs/performance-tests/EC_Latency/EC_Latency.dsw: * orbsvcs/performance-tests/EC_Latency/client.dsp: * orbsvcs/performance-tests/EC_Latency/server.dsp: * orbsvcs/performance-tests/EC_Scalability/EC_Scalability.dsw: * orbsvcs/performance-tests/EC_Scalability/client.dsp: * orbsvcs/performance-tests/EC_Scalability/server.dsp: Add MSVC6 projects and workspaces, how they were generated is a zeeeecret. * orbsvcs/performance-tests/EC_Federated_Scalability/Peer.cpp: * orbsvcs/performance-tests/EC_Scalability/client.cpp: MSVC6 is so lame it does not understand the scope of variable Fri Dec 7 12:05:49 2001 Chad Elliott * orbsvcs/orbsvcs/Naming/Naming_Context_Interface.cpp: Correct a bug in determing string length with strings that contain a back slash. This was causing a problem on QNX, but not Solaris. Fri Dec 7 09:00:00 2001 Venkita Subramonian * TAO_IDL/fe/lex.yy.cpp fixed warnings for unreachable statement Thu Dec 6 15:34:45 2001 Carlos O'Ryan * orbsvcs/performance-tests/EC_Federated_Scalability/Coordinator.cpp: Fixed warnings about inconsistent formatting directives and the actual argument type. Used ACE_UINT64_FORMAT_SPECIFIER to deal with the variation across platforms. Thu Dec 6 16:35:04 2001 Michael Kircher * tao/Strategies/DIOP_Transport.cpp: Fixed a compiler warning. Thanks to Venkita for pointing this out. Thu Dec 6 14:56:14 2001 Justin Michel * tests/TAO_Tests.dsw * tests/ORB_init/makefile.bor * tests/ORB_init/Portspan/README * tests/ORB_init/Portspan/run_test.pl * tests/ior_corbaloc/IOR CorbaLoc Client.dsp * tests/ior_corbaloc/IOR CorbaLoc Server.dsp * tests/ior_corbaloc/IOR CorbaName Client.dsp * tests/ior_corbaloc/ior_corbaloc_client.dsp * tests/ior_corbaloc/ior_corbaloc_server.dsp * tests/ior_corbaloc/ior_corbaname_client.dsp Removed spaces from the filenames for the corbaloc tests. Updated the readme file and fixed a few typos in the portspan test. Tried to update the borland project to recurse into the portspan test directory. Note : The portspan test is not set up to run nightly, but it will at least build. Thu Dec 6 11:05:14 2001 Justin Michel * tests/TAO_Tests.dsw * tests/ORB_init/Makefile * tests/ORB_init/ORB_init.dsw * tests/ORB_init/makefile.bor * tests/ORB_init/Portspan/Makefile * tests/ORB_init/Portspan/README * tests/ORB_init/Portspan/portspan.dsp * tests/ORB_init/Portspan/portspan.dsw * tests/ORB_init/Portspan/run_test.pl * tests/ORB_init/Portspan/server.cpp * tests/ORB_init/Portspan/simple.idl * tests/ior_corbaloc/IOR CorbaLoc Client.dsp * tests/ior_corbaloc/IOR CorbaLoc Server.dsp * tests/ior_corbaloc/IOR CorbaName Client.dsp Added the Portspan test that was originally added to 1.1a. Added Visual C++ project files for the tao ior_corbaloc test. Thu Dec 6 10:30:17 2001 Balachandran Natarajan * tests/Smart_Proxies/On_Demand/Makefile: Updated dependencies. Thu Dec 6 07:25:14 2001 Chad Elliott * orbsvcs/orbsvcs/Naming/Naming_Context_Interface.cpp: Add a check to ensure that the number of componentx is valid. Otherwise, throw an InvalidName exception. Wed Dec 5 15:33:39 2001 Carlos O'Ryan * performance-tests/Cubit/Makefile: Remove comments that referenced removed directories. Wed Dec 5 14:49:37 2001 Carlos O'Ryan * examples/Event_Comm/Makefile: Update dependencies * examples/Event_Comm/Notifier_Handler.h: Remove #include of ace/CORBA_Handler.h, why on earth was that header included is beyond me. Wed Dec 5 12:45:34 2001 Carlos O'Ryan * orbsvcs/performance-tests/EC_Federated_Scalability/Makefile: Fixed the realclean target, it was not removing the IDL generated files. * orbsvcs/orbsvcs/Event/Dispatching_Modules.cpp: Remove reference to Orbix in a comment. Wed Dec 5 12:44:28 2001 Carlos O'Ryan * TAO-INSTALL.html: Removed instructions about not compiling ACE with Orbix support, the instructions are superfluous because ACE does not support Orbix anymore. Wed Dec 5 12:17:50 2001 Jeff Parsons * TAO_IDL/driver/drv_args.cpp: * TAO_IDL/driver/drv_preproc.cpp: * orbsvcs/IFR_Service/drv_args_ifr.cpp: * orbsvcs/IFR_Service/drv_preproc_ifr.cpp: Removed the ACE_TEXT wrapper from more instances of strings passed to ACE_DEBUG and ACE_ERROR where the 'L' prepend would not be appropriate. Thanks again to Johnny Willemesen for pointing out the ones in TAO_IDL. Wed Dec 05 08:03:04 2001 Michael Kircher * tao/Strategies/DIOP_Profile.cpp: Fixed the usage of corbaloc for DIOP. This change was motivated by Chatchai Khunboa . * tao/Strategies/DIOP_Transport.cpp: Changed the implementation of send_i to return always the number of bytes which were due to be sent. As we do not care that we sent parts of a message (UDP), this is correct behavior and avoids problems with the non-blocking send implementation. Tue Dec 04 21:35:04 2001 Nanbor Wang * tao/Acceptor_Registry.h: * tao/Protocol_Factory.h: * tao/PortableServer/Servant_Dispatcher.h: Removed forward declaration of ACE_CString but instead including "ace/SString.h" instead. ACE_CString is now typedef'ed. Tue Dec 4 10:25:38 2001 Jeff Parsons * TAO_IDL/driver/drv_preproc.cpp: Added missing commas between strings supplied to an ACE_ERROR message. Thanks to Chris Kohlhoff n for pointing this out. * TAO_IDL/tao_idl.cpp: * orbsvcs/IFR_Service/tao_ifr.cpp: Removed the ACE_TEXT wrapper from strings applied to an ACE_DEBUG or ACE_ERROR messsage when the string is the result of a method call or is a supplied argument. In these cases, with Unicode builds, an 'L' is prepended to the string and becomes part of it. Thanks to Johnny Willemsen for pointing this out. Tue Dec 4 08:54:15 2001 Carlos O'Ryan * orbsvcs/performance-tests/EC_Federated_Scalability/Servant_var.inl: Fixed problems in copy constructor, the previous version depended on how the conversion operators work. Tue Dec 04 08:16:59 2001 Carlos O'Ryan * orbsvcs/performance-tests/EC_Scalability/Makefile: * orbsvcs/performance-tests/EC_Federated_Scalability/Makefile: Disable build on platforms that lack corba messaging. * orbsvcs/performance-tests/EC_Federated_Scalability/Servant_var.h: * orbsvcs/performance-tests/EC_Federated_Scalability/Servant_var.inl: Fixed compilation problems, a default argument value was used in the inline constructor definition. Also fixed a number of warnings about conversion operators that returned 'const pointers' instead of the intended 'pointer to const', the former has little meaning on a return value. * orbsvcs/performance-tests/EC_Federated_Scalability/Peer.cpp: Use ._retn() instead of allocating a new sequence, avoid a warning along the way. * orbsvcs/performance-tests/EC_Scalability/client.cpp: Fixed signed/unsigned comparison warning. Mon Dec 3 19:12:58 2001 Carlos O'Ryan * tao/orbconf.h: Documented the TAO_ENV_* macros using Doxygen Add new macro to generate code only if the build is using CORBA::Environment arguments. * orbsvcs/orbsvcs/ESF/ESF_Delayed_Command.cpp: My change was not that great after all, it generated warnings on the Linux build with exceptions enabled. I have fixed the problem by taking advantage of a TAO_ENV_EMIT_CODE macro. Mon Dec 3 16:27:08 2001 Carlos O'Ryan * orbsvcs/performance-tests/Makefile: Add new EC_Federated_Scalability and EC_Scalability tests. * orbsvcs/performance-tests/EC_Federated_Scalability/Makefile: * orbsvcs/performance-tests/EC_Federated_Scalability/README: * orbsvcs/performance-tests/EC_Federated_Scalability/run_test.pl: New test to measure the scalability of TAO's Real-time Event Service when configured using the federated (IIOP) architecture. * orbsvcs/performance-tests/EC_Federated_Scalability/Control.idl: Define the IDL interfaces used to control the participants in the test. * orbsvcs/performance-tests/EC_Federated_Scalability/ECFS_Configuration.h: Define the configuration parameters for the test * orbsvcs/performance-tests/EC_Federated_Scalability/Servant_var.h: * orbsvcs/performance-tests/EC_Federated_Scalability/Servant_var.inl: * orbsvcs/performance-tests/EC_Federated_Scalability/Servant_var.cpp: Helper class to manipulate reference counted servants in a type-safe way. * orbsvcs/performance-tests/EC_Federated_Scalability/Consumer.h: * orbsvcs/performance-tests/EC_Federated_Scalability/Consumer.cpp: * orbsvcs/performance-tests/EC_Federated_Scalability/Coordinator.h: * orbsvcs/performance-tests/EC_Federated_Scalability/Coordinator.cpp: * orbsvcs/performance-tests/EC_Federated_Scalability/Loopback.h: * orbsvcs/performance-tests/EC_Federated_Scalability/Loopback.cpp: * orbsvcs/performance-tests/EC_Federated_Scalability/Loopback_Consumer.h: * orbsvcs/performance-tests/EC_Federated_Scalability/Loopback_Consumer.cpp: * orbsvcs/performance-tests/EC_Federated_Scalability/Loopback_Supplier.h: * orbsvcs/performance-tests/EC_Federated_Scalability/Loopback_Supplier.cpp: * orbsvcs/performance-tests/EC_Federated_Scalability/Peer.h: * orbsvcs/performance-tests/EC_Federated_Scalability/Peer.cpp: * orbsvcs/performance-tests/EC_Federated_Scalability/Supplier.h: * orbsvcs/performance-tests/EC_Federated_Scalability/Supplier.cpp: Implement the test interfaces. * orbsvcs/performance-tests/EC_Federated_Scalability/client.cpp: The "clients" in this test are the processes that implement an event channel and join using a federation. * orbsvcs/performance-tests/EC_Federated_Scalability/server.cpp: The server is the process that controls all the participants. * orbsvcs/performance-tests/EC_Federated_Scalability/client.conf: Configuration for the client. * orbsvcs/performance-tests/EC_Scalability/Makefile: * orbsvcs/performance-tests/EC_Scalability/README: * orbsvcs/performance-tests/EC_Scalability/run_test.pl: New test, based on EC_Latency, to measure the scalability of TAO's Real-time Event Service when configured using the non-federated architecture. * orbsvcs/performance-tests/EC_Scalability/Client_Task.h: * orbsvcs/performance-tests/EC_Scalability/Client_Task.cpp: * orbsvcs/performance-tests/EC_Scalability/Consumer.h: * orbsvcs/performance-tests/EC_Scalability/Consumer.cpp: * orbsvcs/performance-tests/EC_Scalability/Supplier.h: * orbsvcs/performance-tests/EC_Scalability/Supplier.cpp: Implement the IDL interfaces used in this test. * orbsvcs/performance-tests/EC_Scalability/client.cpp: The client connects as both a supplier and consumer to the event service and measures roundtrip delay. * orbsvcs/performance-tests/EC_Scalability/server.cpp: The server implements an event channel. * orbsvcs/performance-tests/EC_Latency/client.cpp: Fixed initialized of supplier_owner() variable. * orbsvcs/performance-tests/EC_Federated_Latency/Control.idl: * orbsvcs/performance-tests/EC_Federated_Latency/Coordinator.cpp: * orbsvcs/performance-tests/EC_Federated_Latency/Peer.h: * orbsvcs/performance-tests/EC_Federated_Latency/Peer.cpp: Pass the global scale factor (gsf) from the node that measures the time using ACE::gethrtime() to the node that reports the time. We used to just use the reporting's node gsf, but that is incorrect if the machines are heterogenous. * performance-tests/Makefile.bor: Fixed comments. * tests/Hello/server.cpp: Fixed comments Mon Dec 3 14:32:05 2001 Ossama Othman * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp (connect): Added support for the Security::SecQOPIntegrityAndConfidentiality value for the SecurityLevel2::QOPPolicy policy. This policy setting forces invocations using a specific object reference with that policy override in place to be protected. Thanks to Gaoyan Xie for asking a question that made it obvious that this feature was missing. Mon Dec 03 13:51:28 2001 Carlos O'Ryan * orbsvcs/orbsvcs/ESF/ESF_Delayed_Command.cpp: Use a different technique to deal with plaforms with and without exception handling. This does not require #ifdefs in this code, and it actually may improve performance. * tao/PortableServer/POA.cpp: Clear warning about unused variable Mon Dec 3 11:43:40 2001 Carlos O'Ryan * tests/LongUpcalls/run_test.pl: * tests/LongUpcalls/run_ami_test.pl: No need to keep two separate drivers now that both all tests run correctly. Sun Dec 2 12:38:25 2001 Carlos O'Ryan * orbsvcs/Naming_Service/NT_Naming_Service.h: * orbsvcs/Naming_Service/NT_Naming_Service.cpp: * orbsvcs/Naming_Service/NT_Naming_Server.cpp: Disable compilation under non-Win32 platforms, that makes this program more friendly towards samwise. Sun Dec 2 10:46:56 2001 Carlos O'Ryan * examples/Callback_Quoter/Consumer.dsp: * examples/Callback_Quoter/Notifier.dsp: * examples/Callback_Quoter/Supplier.dsp: * examples/Quoter/Factory_Finder.dsp: * examples/Quoter/Generic_Factory.dsp: * examples/Quoter/client.dsp: * examples/Quoter/server.dsp: * orbsvcs/tests/LoadBalancing/client.dsp: * orbsvcs/tests/LoadBalancing/server.dsp: Fixed inconsistencies in .dsp files that made them unfriendly towards samwise. Wed Nov 28 18:33:35 2001 Douglas C. Schmidt * docs/Options.html: Clarified that it's legal to pass multiple -ORBSvcConfDirective options to the ORB's command-line. Thanks to Patrick N for motivating this. Sat Dec 01 09:37:26 2001 Balachandran * TAO version 1.2.1 released. Wed Nov 28 13:40:39 2001 Jeff Parsons * tao/SmartProxies/SmartProxies.dsp: Fixed an incorrect setting in the release version. Mon Nov 26 13:45:19 2001 Jaiganesh Balasubramanian * orbsvcs/orbsvcs/Event/ECG_Mcast_EH.cpp: Added new template declarations. Mon Nov 26 15:01:38 2001 Jeff Parsons * docs/compiler.html: Added to table the overlooked -Wb command line options obv_opt_accessor, pre_include and post_include. Thanks to Praphul Menon for noticing these weren't documented. Fri Nov 23 13:45:52 2001 Jeff Parsons * TAO_IDL/be/be_typedef.cpp: Added check for locality of base type in the 'local' arg in the call to the base class constructor of COMMON_Base. This was done in the indirect call to COMMON_Base through the base class AST_TypeDef but that is_local_ memeber was not the one that the call to the virtual function is_local() was finding. This resulted in the 'local' value not getting propagated when a struct contained a (typedef'd) sequence of a local struct. As a result of this, CDR operators were getting generated that wouldn't compile. Thanks to Praphul Menon for sending in the example IDL file that uncovered this bug. Fri Nov 23 10:34:39 2001 Douglas C. Schmidt * performance-tests/RTCorba/Oneways/Reliable/client.cpp (main): Missed one of the transformations from "OBJECT" to "OBJECT_LEVEL". Thanks to Craig for reporting this. Thu Nov 22 04:01:13 2001 Craig Rodrigues Fixes and new test supplied by Yamuna Krishnamurthy : * orbsvcs/orbsvcs/AV/AV_Core.cpp: Added reference counting to factories for flow and transport protocols. * orbsvcs/orbsvcs/AV/AV_Core.h: Added "user-defined" entries for UDP and UDP multicast to Protocol enum. * orbsvcs/orbsvcs/AV/FlowSpec_Entry.cpp: Added handling for new Protocol enum values. * orbsvcs/orbsvcs/AV/FlowSpec_Entry.i: Improved parsing of flow protocol names in flow specificiation. * orbsvcs/orbsvcs/AV/Protocol_Factory.h: Added ref_count to flow protocol factory. * orbsvcs/orbsvcs/AV/Transport.h: Added ref_count to transport protocol factory. * orbsvcs/tests/AVStreams/Pluggable_Flow_Protocol: Added test which illustrates how a new flow protocol can be added to the AV Service using the Service Configurator. Wed Nov 21 16:11:05 2001 Jeff Parsons * tao/*/TAO_*.rc: New resource files that enable the corresponding DLL icon to disply version info in its 'about' menu item. * tao/*/TAO_*.dsp: Modified project files to use the new .rc files. Thanks to David Hauck for sending in these patches. Wed Nov 21 16:50:16 2001 Craig Rodrigues New tests suplied by Yamuna Krishnamurthy : * orbsvcs/tests/AVStreams/Bidirectional_Flows: Test bidirectional flows in the AV service. * orbsvcs/tests/AVStreams/Multiple_Flows: Test multiple flows in the AV Service. Wed Nov 21 12:52:37 2001 Jaiganesh Balasubramanian * orbsvcs/orbsvcs/Event/ECG_Mcast_EH.cpp: Had a wrong spelling for the file "ECG_Mcast_EH.i" in the include statement corrected. Wed Nov 21 12:42:36 2001 Jaiganesh Balasubramanian * orbsvcs/orbsvcs/Event/ECG_Mcast_EH.cpp: Removed the duplicate template declarations in this file. Wed Nov 21 13:35:50 2001 Craig Rodrigues Fixes supplied by Yamuna Krishnamurthy : * orbsvcs/orbsvcs/AV/AVStreams_i.cpp: TAO_StreamEndpoint::modify_QoS() now calls TAO_StreamEndpoint::change_qos(). TAO_Basic_StreamCtrl::modify_QoS() functionality moved to TAO_StreamCtrl::modify_QoS(). TAO_StreamCtrl::modify_QoS() now operates on all flows if an empty flowspec is specified. Wed Nov 21 07:01:04 2001 Douglas C. Schmidt * performance-tests/RTCorba/Oneways/Reliable/client.cpp (main): Added "_LEVEL" to the enumerated literals to avoid clashes with SunC++ 4.2. Thanks to Steve Osselton for reporting the bug and suggesting the fix. Fri Nov 16 10:39:52 2001 Douglas C. Schmidt * docs: Moved minimumTAO.html from $TAO_ROOT/docs/ to $ACE_ROOT/docs. Tue Nov 20 11:58:39 2001 Ossama Othman * configure.in: Removed this file from the distribution. Some folks insist on attempting to build ACE/TAO with the configure script and reporting problems despite the fact we've explicitly disabled it. Tue Nov 20 11:44:50 2001 Carlos O'Ryan * orbsvcs/orbsvcs/CosNotification.dsp: Add missing dependency (TAO_CosEventd.lib), it was working only because each workspace listed the dependency explicitly, but doing so is error prone and hard to maintain. * orbsvcs/orbsvcs/SSLIOP.dsp: Fixed export file name, it was taking advantage of NT case-insensitive behavior. Tue Nov 20 11:36:29 2001 Balachandran Natarajan * tests/Xt_Stopwatch/Control.cpp: Fixed some warnings with Sun CC 5.2. Mon Nov 19 21:16:35 2001 Carlos O'Ryan * orbsvcs/orbsvcs/RTEvent.dsp: * orbsvcs/orbsvcs/RTEvent_Static.dsp: Just helping Jaiganesh add the new files to the MSVC project files. * orbsvcs/orbsvcs/Event/README: Removed obsolete file. Mon Nov 19 20:19:48 2001 Jaiganesh Balasubramanian * orbsvcs/orbsvcs/Event/ECG_Mcast_EH.h: * orbsvcs/orbsvcs/Event/ECG_Mcast_EH.i: * orbsvcs/orbsvcs/Event/ECG_Mcast_EH.cpp: Modified the TAO_ECG_Mcast_EH class to handle large numbers of multicast subscriptions. Because most OSes impose a limit on the number of subscription that a single socket supports, we needed to keep a collection of sockets. Furthermore, we need to track on what socket each multicast group is subscribed, so a map from multicast groups to sockets is also maintained. Using this new map we can optimize the algorithm used to remove multicast group subscriptions, previous versions of this class simply closed the socket, but that has been reported as too expensive by Mark Hyett . With this new change the class only unsubscribes from the multicast groups no longer needed, without closing the socket. The changes revealed some bugs in ACE_SOCK_Dgram_Mcast, the bug was fixed and the changes are documented in the ACE ChangeLog file. * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.h: * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.i: * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp: Moved the class TAO_ECG_Mcast_EH to its own file. (See ECG_Mcast_EH.h) * orbsvcs/tests/EC_Mcast/EC_Mcast.h: * orbsvcs/examples/RtEC/MCast/MCast.cpp: Add new header file for TAO_ECG_Mcast_EH * orbsvcs/tests/EC_Mcast/Makefile: * orbsvcs/examples/RtEC/MCast/Makefile: Updated dependencies * orbsvcs/tests/EC_Mcast/sample.cfg: Changed this file so users can test the support for large numbers of multicast groups. * orbsvcs/orbsvcs/Makefile.RTEvent: * orbsvcs/orbsvcs/RTEvent.bor: * orbsvcs/orbsvcs/Event/Makefile.am: Added a new file Event/TAO_ECG_Mcast_EH.cpp. Update dependencies for the GNUMake makefile. Mon Nov 19 02:06:53 2001 Krishnakumar B * orbsvcs/tests/Concurrency/Makefile: Modified so that when the lex/yacc file changes the Makefile regenerates the .cpp and .h files instead of printing out a lame warning. Makefile also adds the CVS magic cookie automatically. * orbsvcs/tests/Concurrency/CC_command.tab.cpp: * orbsvcs/tests/Concurrency/CC_command.tab.h: New versions which fix the warning that showed up under Windows. * orbsvcs/tests/Concurrency/lex.CC_command.cpp: New version necessitated by change in Makefile. * orbsvcs/tests/Concurrency/lex.CC_command.cpp.diff: Removed the bogus hunk which included a invalid RCS Id comment Sun Nov 18 17:33:41 2001 Ossama Othman * tao/ORB_Core.cpp (init): Fixed incorrect use of a CORBA::String_var in some -ORBDefaultInitRef related code. It was being used as if it was a pointer to char, resulting in a subtle memory corruption problem due to consecutive assignments to the CORBA::String_var. Sun Nov 18 13:32:10 2001 Craig Rodrigues * orbsvcs/orbsvcs/AV/md5c.c (MD5Init): Converted to ISO/ANSI C prototype to remove KAI C++ warning. Sat Nov 17 13:22:21 2001 Craig Rodrigues * tao/Invocation_Endpoint_Selectors.cpp: * tao/Invocation_Endpoint_Selectors.i: Moved constructors from .i to .cpp file to remove VC++ warning. Sat Nov 17 10:09:33 2001 Craig Rodrigues * orbsvcs/orbsvcs/AV/RTCP.cpp (send_report): Changed sdes_type from ACE_UINT16 to unsigned char to remove VC++ warning. Fri Nov 16 23:11:33 2001 Ossama Othman * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.h (ssl_component): * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.i (ssl_component): New accessor method for the SSLIOP::SSL structure associated with the acceptor. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp (get_listen_point): Place the SSLIOP port into the listen point, not the IIOP port. Fixes a problem with bidirectional GIOP over SSLIOP. Fri Nov 16 16:41:45 2001 Craig Rodrigues * orbsvcs/orbsvcs/AV/RTCP.cpp (send_report): Moved code around to eliminate VC++ warning about casting arguments. * orbsvcs/orbsvcs/AV/RTP.cpp (TAO_AV_RTP_Object): Imported code from AVStreams_i.cpp for calling alloc_srcid() to eliminate IA64 warning. Thanks to Rob Ruff for providing these fixes. Fri Nov 16 13:36:09 2001 Craig Rodrigues * orbsvcs/orbsvcs/AV/FlowSpec_Entry.cpp: Removed deletes from destructor. Was causing Multicast and Pluggable tests to crash. * orbsvcs/orbsvcs/AV/UDP.cpp (open_i): Added a check of the result variable to remove a KAI C++ warning. * orbsvcs/orbsvcs/AV/RTCP.cpp (rtcp_interval): Replaced argument to ACE_OS::srand() with ACE_OS::time() to eliminate IA64 warning. Thu Nov 15 17:54:41 2001 Craig Rodrigues * orbsvcs/orbsvcs/AV/RTCP_Channel.h: * orbsvcs/orbsvcs/AV/RTCP_Packet.h: Added #includes of ace/pre.h, and ace/post.h. Thanks to Rob Ruff. * orbsvcs/orbsvcs/AV/md5.h: Added names of variables to function prototypes to appease HPUX compiler. * orbsvcs/orbsvcs/AV/md5.c: Changed prototypes from "classic" to ISO/ANSI style function prototyping to appease KAI C++. Wed Nov 14 13:42:42 2001 Craig Rodrigues * orbsvcs/orbsvcs/AV/RTCP.h: * orbsvcs/orbsvcs/AV/RTCP.cpp: Moved typedef of struct md5_string from .cpp file to header file. Cast third parameter of sdes.add_item() to unsigned char. Tue Nov 13 20:58:02 2001 Craig Rodrigues * orbsvcs/orbsvcs/AV/md5.h: Changed comments from C++ style to C style in C file. * orbsvcs/orbsvcs/AV/FlowSpec_Entry.cpp: Default initialized variables. * orbsvcs/orbsvcs/AV/RTCP_Packet.cpp: Default initialized variable. * orbsvcs/orbsvcs/AV/Transport.cpp: Hide unused variable with ACE_UNUSED_ARG. * orbsvcs/orbsvcs/AV/UDP.cpp: Removed unused variable. Tue Nov 13 19:23:24 2001 Krishnakumar B * orbsvcs/tests/Concurrency/Makefile: * orbsvcs/tests/Concurrency/CC_command.tab.cpp: * orbsvcs/tests/Concurrency/CC_command.tab.h: * orbsvcs/tests/Concurrency/lex.CC_command.cpp: Regenerated the files by removing the #pragma. * orbsvcs/tests/Concurrency/CC_command.tab.cpp.diff: Removed the file as it is no longer needed. Tue Nov 13 18:01:57 2001 Craig Rodrigues * orbsvcs/orbsvcs/AV.dsp: Added md5c.c * orbsvcs/orbsvcs/AV_Static.dsp: Added md5c.c * orbsvcs/orbsvcs/AV/md5c.c: Add a CVS Id tag. * orbsvcs/orbsvcs/AV/RTCP.cpp: Fix comments in TAO_AV_RTCP_Flow_Factory::make_protocol_object(). Do not return void in TAO_AV_RTCP_Object::ts_offset(). * orbsvcs/orbsvcs/AV/RTCP_Channel.cpp: Fixed comment. Tue Nov 13 14:31:44 2001 Craig Rodrigues * orbsvcs/orbsvcs/AV.dsp: (updated) * orbsvcs/orbsvcs/AV_Static.dsp: (updated) Tue Nov 13 14:14:24 2001 Craig Rodrigues Fixes provided by Rob Ruff : * orbsvcs/orbsvcs/AV/AVStreams_i.cpp: * orbsvcs/orbsvcs/AV/AVStreams_i.i: * orbsvcs/orbsvcs/AV/AV_Core.cpp: * orbsvcs/orbsvcs/AV/AV_Core.h: * orbsvcs/orbsvcs/AV/FlowSpec_Entry.cpp: * orbsvcs/orbsvcs/AV/FlowSpec_Entry.h: * orbsvcs/orbsvcs/AV/FlowSpec_Entry.i: * orbsvcs/orbsvcs/AV/QoS_UDP.cpp: * orbsvcs/orbsvcs/AV/QoS_UDP.h: * orbsvcs/orbsvcs/AV/TCP.cpp: * orbsvcs/orbsvcs/AV/TCP.h: * orbsvcs/orbsvcs/AV/Transport.cpp: * orbsvcs/orbsvcs/AV/Transport.h: * orbsvcs/orbsvcs/AV/UDP.cpp: * orbsvcs/orbsvcs/AV/UDP.h: The previous implementation used separate flow specifications for the data and control portions of the same stream. This meant that RTP could not be used with the light profile of the AV service (since it only allows one flow between stream endpoints). The code was modified to allow data and control information to be passed as part of the same flow. * orbsvcs/orbsvcs/AV/AVStreams_i.cpp: Added/renamed several properties defined in the CORBA AV spec. Implemented the TAO_StreamCtrl::unbind operation. Fixed several memory leaks. * orbsvcs/orbsvcs/AV/AV_Core.cpp: Added code to clean up transport/flow factories (fix memory leak). Added get_transport_factory(const char *transport_protocol). Added get_flow_protocol_factory(const char *flow_protocol). * orbsvcs/orbsvcs/AV/AV_Core.h: Added get_transport_factory(const char *transport_protocol). Added get_flow_protocol_factory(const char *flow_protocol). * orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.cpp: Added a remove_ref call to activate_mediactrl. * orbsvcs/orbsvcs/AV/FlowSpec_Entry.cpp: Changed the flow specification to better conform to the AV Service spec. * orbsvcs/orbsvcs/AV/MCast.cpp: TAO_AV_UDP_MCast_Flow_Handler::handle_input now returns the value returned by protocol_object->handle_input rather than 0. * orbsvcs/orbsvcs/AV/MCast.h: Made the TAO_AV_UDP_MCast_Flow_Handler destructor virtual. * orbsvcs/orbsvcs/AV/RTCP.cpp: * orbsvcs/orbsvcs/AV/RTCP.h: Added full RFC compliant RTCP control protocol implementation. Modified the ssrc allocation operation to use the MD5 algorithm to more reliably choose a unique id. * orbsvcs/orbsvcs/AV/RTCP_Channel.h: (added) * orbsvcs/orbsvcs/AV/RTCP_Channel.cpp: (added) These files contain two classes, one used to represent incoming RTP streams and one to represent outgoing streams. They keep track of transmission/reception statistics. * orbsvcs/orbsvcs/AV/RTCP_Packet.h: (added) * orbsvcs/orbsvcs/AV/RTCP_Packet.cpp: (added) These files contain classes to represent each of the control packet message types. * orbsvcs/orbsvcs/AV/RTP.cpp: * orbsvcs/orbsvcs/AV/RTP.h: Made several changes to support the RTCP implementation. Added a class to represent an RTP packet. * orbsvcs/orbsvcs/AV/Transport.cpp: Modified code to use the get_xxx_factory routines added to AV_Core rather than doing the search in this file. * orbsvcs/orbsvcs/AV/UDP.cpp: When the protocol is RTP/UDP, an even/odd port pair will be reserved as is called out in the RTP RFC. The class TAO_AV_UDP_Connection_Setup was added to replace duplicated code used for both the TAO_AV_UDP_Acceptor and TAO_AV_UDP_Connector. * orbsvcs/orbsvcs/AV/global.h: (added) * orbsvcs/orbsvcs/AV/md5.h: (added) * orbsvcs/orbsvcs/AV/md5c.c: (added) Used by the operation to allocate ssrc's in RTCP.cpp to help guarantee a unique id. * orbsvcs/orbsvcs/AV/source.cpp: (removed) * orbsvcs/orbsvcs/AV/source.h: (removed) * orbsvcs/orbsvcs/AV/source.i: (removed) The functionality contained in these files is now implemented in the RTCP*.* files. * orbsvcs/orbsvcs/Makefile.av: (updated) * orbsvcs/orbsvcs/AV.bor: (updated) Tue Nov 13 08:58:13 2001 Ossama Othman * orbsvcs/orbsvcs/Notify/Notify_ProxyPushSupplier_i.cpp (dispatch_event_i): * orbsvcs/orbsvcs/Notify/Notify_StructuredProxyPushSupplier_i.cpp (dispatch_event_i): Silence a fuzz warning. The code is correct. Mon Nov 12 21:28:01 2001 Nanbor Wang * performance-tests/Cubit/TAO/IDL_Cubit/run_test.pl (run_test_helper): Disabled running the test with SHMIOP protocol on Win32 platform as it is carshing the OS on single CPU machines. Mon Nov 12 20:26:35 2001 Krishnakumar B * TAO_IDL/Makefile: * TAO_IDL/fe/lex.yy.cpp: * TAO_IDL/fe/lex.yy.cpp.diff: * TAO_IDL/fe/y.tab.cpp: * TAO_IDL/fe/y.tab.cpp.diff: * TAO_IDL/fe/y.tab.h: Final kill of all the #line directives. This change is very similar to the changes made to Svc_Conf_l.cpp and Svc_Conf_y.cpp under $ACE_ROOT/ace described in ChangeLog entry of "Sat Nov 10 22:13:54 2001 Krishnakumar B " * orbsvcs/orbsvcs/Trader/Constraint_l.cpp: * orbsvcs/orbsvcs/Trader/Constraint_y.cpp: Removed the #line directives directly without changing the Makefiles as there was neither a Makefile target nor any diff files to apply. * orbsvcs/tests/Concurrency/CC_command.tab.cpp: * orbsvcs/tests/Concurrency/CC_command.tab.h: * orbsvcs/tests/Concurrency/Makefile: * orbsvcs/tests/Concurrency/lex.CC_command.cpp: * orbsvcs/tests/Concurrency/lex.CC_command.cpp.diff: Same changes as the first one. There are still some warnings whenever a idl file is processed. But there is nothing to be done there as it seems to be a bug in the Sun CC preprocessor which according to the web-page is fixed. Will have to wait and watch. Mon Nov 12 17:37:24 2001 Jeff Parsons * tao/TypeCodeFactory/TypeCodeFactory_i.cpp (create_tc_common): Changed consolidated message block arg in type code constructor call from consolidated_block.base () to consolidated_block.rd_ptr (). The former would work on platforms that always allocate heap memory with 8-byte alignment, but not if the alignment is to a 4-byte boundary. Thanks to Michael Sawczyn for reporting the problem, and to Bala for help with the solution. Mon Nov 12 14:06:40 2001 Priyanka Gontla * orbsvcs/orbsvcs/IOR_Multicast.cpp (TAO_IOR_Multicast): Missed initializing the new private variable in the contructors. Thanks to Jeff for reporting a problem which arose because of this. Mon Nov 12 11:38:03 2001 Ossama Othman * orbsvcs/tests/Security/Big_Request/client.cpp (main): Added a check that verifies both the sent and received octet sequences actually match. This is a sanity check. Mon Nov 12 12:15:09 2001 Balachandran Natarajan * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp: * tao/IIOP_Transport.cpp (get_listen_point): Removed some code that was there, more for historic reasons. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.cpp: Added a debug statement. Mon Nov 12 09:59:50 2001 Ossama Othman * orbsvcs/orbsvcs/Notify/Notify_StructuredProxyPushSupplier_i.cpp (dispatch_event_i): Added missing ACE_TRY_CHECK; Sun Nov 11 23:50:00 2001 Craig Rodrigues * tests/Exposed_Policies/Policy_Tester.cpp: More const char * fixes. Sun Nov 11 14:15:23 2001 Balachandran Natarajan * docs/configurations.html: Fixed some documentation inconsistencies. Sun Nov 11 11:40:23 2001 Balachandran Natarajan * docs/Options.html: Fixed the documentation to be more helpful. Sun Nov 11 11:02:23 2001 Craig Rodrigues * orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.cpp: * orbsvcs/orbsvcs/Event/EC_Default_Factory.cpp: * tests/Exposed_Policies/Policy_Verifier.cpp: * orbsvcs/Notify_Service/Notify_Service.cpp: * orbsvcs/ImplRepo_Service/Options.h: * orbsvcs/ImplRepo_Service/Options.cpp: * orbsvcs/tests/Event/lib: * orbsvcs/tests/Event/Basic/Observer.cpp: * orbsvcs/tests/Event/Basic/BCast.cpp: * orbsvcs/tests/Event/Basic/Random.cpp: * orbsvcs/tests/Event/Performance/Connect.cpp: * orbsvcs/tests/Event/Performance/Inversion.cpp: * orbsvcs/tests/CosEvent/Basic/Random.cpp: * orbsvcs/tests/Trading/TT_Info.cpp: * orbsvcs/tests/Notify/Basic/LifeCycleTest.cpp: * orbsvcs/tests/Notify/Basic/ConnectDisconnect.cpp: * orbsvcs/tests/Notify/Basic/IdAssignment.cpp: * orbsvcs/tests/Notify/Basic/Events_Test.cpp: * orbsvcs/tests/Notify/Basic/AdminProperties_Test.cpp: * orbsvcs/tests/Notify/Basic/Simple.cpp: * orbsvcs/tests/Notify/Basic/Updates.cpp: * orbsvcs/tests/Notify/performance-tests/RedGreen/RedGreen_Test.cpp: * orbsvcs/tests/Notify/performance-tests/Throughput/Throughput.cpp: More const char * fixes. Sat Nov 10 23:13:37 2001 Ossama Othman * orbsvcs/tests/Security/Secure_Invocation/run_test.pl: * orbsvcs/tests/Security/SecurityLevel1/run_test.pl: Updated/modernized these scripts to conform to our current regression test script conventions. Sat Nov 10 23:06:13 2001 Ossama Othman * orbsvcs/tests/Security/Big_Request/Big_Request.dsw: * orbsvcs/tests/Security/Big_Request/README: * orbsvcs/tests/Security/Big_Request/TX_Object.idl: * orbsvcs/tests/Security/Big_Request/TX_Object_i.cpp: * orbsvcs/tests/Security/Big_Request/TX_Object_i.h: * orbsvcs/tests/Security/Big_Request/cacert.pem: * orbsvcs/tests/Security/Big_Request/client.conf: * orbsvcs/tests/Security/Big_Request/client.cpp: * orbsvcs/tests/Security/Big_Request/client.dsp: * orbsvcs/tests/Security/Big_Request/client_cert.pem: * orbsvcs/tests/Security/Big_Request/client_key.pem: * orbsvcs/tests/Security/Big_Request/run_test.pl: * orbsvcs/tests/Security/Big_Request/server.conf: * orbsvcs/tests/Security/Big_Request/server.cpp: * orbsvcs/tests/Security/Big_Request/server.dsp: * orbsvcs/tests/Security/Big_Request/server_cert.pem: * orbsvcs/tests/Security/Big_Request/server_key.pem: New test excercises the ability of the SSLIOP pluggable protocol to send very large requests and replies. It is intended to make the ORB send the message and reply in multiple parts (e.g. chains in a message block that fill several elements of an "iovec" vector to be sent through a scatter write/send interface). In particular, it is difficult to completely reproduce the semantics of the writev() system call with SSL_write(). As such, if the semantics are not emulated properly, large requests and replies will fail. All that is really done is to send a 3MB octet sequence as an "in" argument, and receive the same 3MB octet sequence from the server through an "out" argument. The initial version of this test was contributed by Andrew Finnell. Additional modifications (simplifications, improvements, etc) were made by the DOC Group prior to inclusion in the TAO distribution. Sat Nov 10 18:50:40 2001 Ossama Othman * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connector.h (preconnect): * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connector.cpp (preconnect): Removed this no-op implementation. Just use the one in the IIOP_Connector base class. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.cpp (create_shared_profile): * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp (connect): * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Factory.cpp: Use IOP::TAG_INTERNET_IOP as the profile tag instead of TAO_TAG_IIOP_PROFILE. The former is more technically correct. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.h: Correct TAO_SSLIOP_Connector class documentation. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.cpp (handle_input, handle_output): Force the connection handler to be called before waiting for additional events if there is still data in OpenSSL's internal buffers by returning a value greater than one. That buffer must be flushed before additional events on the SSLIOP handle can be polled. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp (send_i): Pass the timeout value to the ACE_SSL_SOCK_Stream::sendv() method in order to support timeouts. (register_handler_i): Reverted code that registered a reactor and a handler with the underlying ACE_SSL_SOCK_Stream instance. It is no longer needed. Sat Nov 10 19:08:06 2001 Douglas C. Schmidt * tao/Strategies/SHMIOP_Factory.cpp (init): * orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.cpp (init): * orbsvcs/orbsvcs/Event/EC_Default_Factory.cpp (init): Added some more fixes for the "const" changes to ACE_Arg_Shifter. Thanks to Craig Rodrigues for providing these. Sat Nov 10 16:31:10 2001 Priyanka Gontla * tao/ORB_Core.cpp (init): Did some checking before actually changing the default value of the TAO_ORB_Parameters::default_init_ref_. Was doing wrong things when this checking wasnt done. * tao/MCAST_Parser.cpp : Modified to include the default port values for the services other than Naming Service. Previously, irrespective of the service, the default port for any multicast service was made the same as that for Naming Service. But, this is not maintaining backward compatibility for other services. So, the default multicast port now is dependent on the service being run. Thanks to Michael Sawczyn for reporting the bug. Sat Nov 10 15:31:15 2001 Priyanka Gontla * docs/Options.html : Added documentation about mcast parser and the new format of ORBMulticastDiscoveryEndpoint. * tao/ORB_Core.cpp Modified the format of the value that is passed to the -ORBMulticastDiscoveryEndpoint ORB option. One can also pass the the name of the network interface that they want the multicast service to be running on. The MulticastDiscoveryEndpoint can be in the format mcast_address:port@nic_name. Backward compatibility is also preserved. So, in case you dont need to choose the nic, you could use the previous format of mcast_address:port also. All this is specified in the comments. * orbsvcs/orbsvcs/IOR_Multicast.h : * orbsvcs/orbsvcs/IOR_Multicast.cpp : Added support so that if a nic name has also been in the mcast_addr that is passed to TAO_IOR_Multicast::init method, the nic name is also passed to the subscribe call. Sat Nov 10 08:58:06 2001 Douglas C. Schmidt * orbsvcs/orbsvcs/Event/EC_Sched_Factory.cpp: * orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.cpp: * orbsvcs/orbsvcs/Event/EC_Default_Factory.cpp: * tao/TAO_Internal.cpp: * tao/ORB_Core.cpp: * tao/ORB.cpp: Added "const" to char *variables that are initialized by ACE_Arg_Shifter methods that now return const char *. Thu Nov 8 15:48:11 2001 Jeff Parsons * TAO_IDL/ast/ast_string.cpp: Changed the format/indentation of the constructor call to the base class AST_Decl, so as not to confuse the configuration of gcc used by HP-UX 11.11. Thanks to Steve Osselton for reporting the bug and suggesting the fix. Thu Nov 8 13:57:58 2001 Balachandran Natarajan * tao/Asynch_Reply_Dispatcher.cpp: * tao/Synch_Reply_Dispatcher.cpp: * tao/DynamicInterface/DII_Reply_Dispatcher.cpp (dispatch_reply): Fixed a leak. The leak was occuring because of a unreleased datablock. The Reply Dispatchers are created by the invocation object on the stack for every invocation. Once the invocation is done, destructor takes care of deleting the datablock into which the incoming reply was copied, if it was created on the heap. There was a subtle assumption made. That is, we assumed that the object is created and destroyed for every invocation. Under special conditions like the ones in BUGID 1029, the invocation object reuses the same object across multiple invocations. This leads to a memory leak as the old datablocks are not deleted. This fixes BUGID 1029. Thanks to Benjamin Fry for finding this problem and giving us a small example to reproduce the problem. Chris Cleeland made the task of fixing this quite easier by running leaky and providing a trace for it and thanks to him too. * orbsvcs/orbsvcs/FaultTolerance.bor: Added the new files. Wed Nov 7 13:20:50 2001 Chad Elliott * orbsvcs/orbsvcs/Trader/Offer_Database.cpp: Check the return value of a find operation before using the pointer value (set by find). This was causing the Trading_Service to core dump in certain situations. Wed Nov 7 13:12:01 2001 Chad Elliott * orbsvcs/orbsvcs/FaultTolerance/FT_Invocation_Endpoint_Selectors.cpp: Use ACE_CHECK_RETURN in TAO_FT_Invocation_Endpoint_Selector::select_endpoint_i() instead of ACE_CHECK. Tue Nov 6 16:51:28 2001 Priyanka Gontla * tao/ORB_Core.cpp : Fixed some memory leaks. Thanks to Ossama for finding them out. * tao/ORB.cpp (resolve_service): Fixed bug 1057 by rearranging the order in the resolve_initial_references method. The new order is such that everything else is checked before the defaultinitref values are checked. Thanks to Alex Hornby for reporting this and Bruce McIntosh for the bug report. * tao/params.cpp (TAO_ORB_Parameters): Removed an extra colon in the default value for default_init_ref_ variable. The extra colon lead to a position where the ttl value is set to ':'. Thanks to Mark Laffoon for reporting this. Mon Nov 5 06:51:16 2001 Douglas C. Schmidt * orbsvcs/orbsvcs/Trader/Trader_Utils.cpp (copy_in_follow_option): Added casts to the ternary operators to work around bugs with HP/UX 11. Thanks to Steve Osselton for reporting this. * utils/IOR-parser/ior-handler.{h,cpp}: Changed struct IOR to IOR_Manager to avoid clashes with macros named IOR on HP/UX. Thanks to Steve Osselton for reporting this. * orbsvcs/orbsvcs/Concurrency/CC_LockSet.h: #undef the lock_held macro to work around clashing macros on HP/UX. Thanks to Steve Osselton for reporting this. Mon Nov 5 13:53:21 2001 Chad Elliott * TAO_IDL/include/idl_defines.h: * orbsvcs/orbsvcs/AV/RTCP.cpp: Remove warnings for 64-bit HP-UX builds. Mon Nov 5 13:08:29 2001 Chad Elliott * docs/tutorials/Quoter/AMI/Stock_i.h: * docs/tutorials/Quoter/Naming_Service/Stock_i.h: * docs/tutorials/Quoter/On_Demand_Activation/Stock_i.h: * docs/tutorials/Quoter/Simple/Impl-Repo/Stock_i.h: * docs/tutorials/Quoter/Simple/ImprovedServer/Stock_i.h: * docs/tutorials/Quoter/Simple/Persistent/Stock_i.h: * docs/tutorials/Quoter/Simple/Server/Stock_i.h: Added a check to not use the std::string if on HP-UX and not using the standard C++ library. * examples/Load_Balancing/run_test.pl: * examples/POA/DSI/run_test.pl: * examples/Quoter/run_test.pl: * examples/Simple/time/run_test.pl: * examples/Simple/time-date/run_test.pl: * orbsvcs/tests/AVStreams/Asynch_Three_Stage/run_test.pl: * orbsvcs/tests/AVStreams/Component_Switching/run_test.pl: * orbsvcs/tests/AVStreams/Pluggable/run_test.pl: * orbsvcs/tests/AVStreams/Simple_Three_Stage/run_test.pl: * orbsvcs/tests/AVStreams/Simple_Two_Stage/run_test.pl: * orbsvcs/tests/EC_Custom_Marshal/run_test.pl: * orbsvcs/tests/EC_Throughput/run_test.pl: * orbsvcs/tests/Event_Latency/run_test.pl: * orbsvcs/tests/ImplRepo/locked/run_test.pl: * orbsvcs/tests/Property/run_test.pl: * orbsvcs/tests/Simple_Naming/run_test.pl: * tests/DSI_Gateway/run_test.pl: * tests/InterOp-Naming/run_test.pl: * tests/Leader_Followers/run_test.pl: * tests/Nested_Event_Loop/run_test.pl: Increase wait time for startup of servers. Slower machines have problems running the tests with such stringent time constraints. Mon Nov 5 13:07:24 2001 Jeff Parsons * tests/IDL_Test/typedef.idl: Changed declaration names to strings less likely to have a name clash with a system or runtime variable name. Thanks to Steve Osselton for reporting such an occurrence on HP-UX 11.11. * TAO_IDL/driver/drv_preproc.cpp: Added format strings to ACE_ERROR macros that I overlooked in the last checkin of changes to this file. Thanks to Chris Kohlhoff for sending these in. Mon Nov 5 12:56:15 2001 Chad Elliott * orbsvcs/orbsvcs/Concurrency/CC_LockSet.h: #undef the lock_held symbol to avoid build problems on HP-UX 11.11. Mon Nov 5 19:23:03 2001 Pradeep Gore * orbsvcs/orbsvcs/Notify/Notify_Default_EMO_Factory.cpp: * orbsvcs/orbsvcs/Notify/Notify_ProxySupplier_T.cpp: Corrected formatting in ACE_DEBUG. * orbsvcs/orbsvcs/Notify/Notify_ID_Pool_T.cpp: Corrected to use prefix++ operation in get() method. * orbsvcs/orbsvcs/Notify/Notify_ProxyPushSupplier_i.cpp: * orbsvcs/orbsvcs/Notify/Notify_StructuredProxyPushSupplier_i.cpp: Call shutdown to disconnect from unresponsive consumers. Thanks to Alex Hornby for providing the fixes. Sun Nov 4 09:43:03 2001 Balachandran Natarajan * orbsvcs/orbsvcs/Makefile.FaultTolerance: Updated dependencies. * orbsvcs/orbsvcs/FaultTolerance/FT_Endpoint_Selector_Factory.h: * orbsvcs/orbsvcs/FaultTolerance/FT_Invocation_Endpoint_Selectors.h: Added TAO_FT_Export to the class declarations. The export directives were wrong. This should set the build problems on Win2K right. Fri Nov 2 09:07:13 2001 Balachandran Natarajan * orbsvcs/orbsvcs/Fault_Tolerance.dsp: Added the new files. Fri Nov 2 07:05:13 2001 Balachandran Natarajan * tao/Invocation.h: * tao/Invocation.cpp: Added a new method reset_states () in TAO_GIOP_Twoway_Invocation class. This method, as the name indicates, is used to reset the state of the Invocation object. This is specifically useful for something like the FT service, which tries connecting to a secondary incase of a failure using the same invocation object. Using the same object to make the next invocation could lead to carrying over some of the states which is not desired. * tao/Stub.i: Added comments around code that would no longer be used. The FT service was using this. Just leaving the code there for the time being, till 1.2.1 goes out. * tao/LF_Event.h: * tao/LF_Event.inl: Added a method reset_state (). This method just resets the state to the said state without caring about the history of states. This is needed if the same invocation object is used to connect to a different transport. The history of the states in the LF_Event, doesnt help. The way LF_Event remembers the states is needed for the life time of a single invocation object (read as one invocation). But that will not help if the same object reconnects to a different target to which the invocation is *not* forwarded. * orbsvcs/orbsvcs/FaultTolerance/FT_Endpoint_Selector_Factory.cpp: * orbsvcs/orbsvcs/FaultTolerance/FT_Endpoint_Selector_Factory.h: * orbsvcs/orbsvcs/FaultTolerance/FT_Invocation_Endpoint_Selectors.h: * orbsvcs/orbsvcs/FaultTolerance/FT_Invocation_Endpoint_Selectors.cpp: * orbsvcs/orbsvcs/FaultTolerance/FT_Invocation_Endpoint_Selectors.inl: Added an endpoint selector factory. The factory creates the endpoint selectors. The endpoint selectors now detect the right endpoints to be used with every invocation. The implementation is in line with RTCORBA and ORB core's way of selecting endpoints. Added a few optimizations, wherein we dont hold any lock if the primary is the first profile but holds a lock if the primary is in the subsequent profiles. The holding of a lock is done only once in the life time of the endpoint. * orbsvcs/orbsvcs/FaultTolerance/FT_Service_Activate.cpp: Added FT_Endpoint_Selector_Factory to the list of services. * orbsvcs/orbsvcs/FaultTolerance/FT_Service_Callbacks.h: * orbsvcs/orbsvcs/FaultTolerance/FT_Service_Callbacks.cpp: The old implementations in select_profile () and reselect_profile () will be deprecated after 1.2.1. The definition and declaration just exists for the sake of backward compatibility. Will be gone anyway. * orbsvcs/orbsvcs/Makefile.FaultTolerance: Added the new files. Thanks to Russ Carter who by reporting a bug motivated this whole set of changes. Thu Nov 1 12:27:28 2001 Douglas C. Schmidt * orbsvcs/orbsvcs/Trader/Trading_Loader.cpp: The parens were messed up... Thanks to Mark Laffoon for reporting this. Tue Oct 30 17:40:06 2001 Douglas C. Schmidt * tao/IOPC.h: #undef the IOR symbol to protect against weird clashes on HP/UX 11.11. Thanks to Steve Osselton for reporting this. Thu Nov 1 14:01:40 2001 Jeff Parsons * TAO_IDL/driver/drv_preproc.cpp: Added fix sent in by Chris Kohlhoff for the Borland preprocessor. Previously it sent everything (output, errors and warnings) to stdout, so if there was a failure it would be a silent one. This fix enables the output to be sent to an arbitrary file, leaving errors and warnings in stdout. There is a corresponding fix to config-win32-borland.h to ACE_CC_PREPROCESSOR_ARGS enabling the recognition of the filename. Thu Nov 1 14:01:15 2001 Chad Elliott * tao/IIOP_Acceptor.cpp: * tao/Strategies/DIOP_Acceptor.cpp: Fixed a bug in *_Acceptor::probe_interfaces(). Initialize the array of char*'s to 0, directly after allocation. Thanks to Mike Letchworth for reporting this. Wed Oct 31 17:32:38 2001 Jeff Parsons * orbsvcs/IFR_Service/IFR_BaseS.cpp: * orbsvcs/IFR_Service/IFR_BasicS.cpp: * orbsvcs/IFR_Service/IFR_ComponentsS.cpp: * orbsvcs/IFR_Service/IFR_ExtendedS.cpp: Patched the gperf-generated code in these files using the current version of gperf (a bug fix to gperf was checked in a short while back). Specifically, an optable entry for the _interface() method of CORBA::SequenceDef was missing. Thanks to Stuart Jones Chad Elliott and Phil Mesnier for reporting this bug. This fix closes [BUGID:1076]. Wed Oct 31 15:41:21 2001 Ossama Othman * tests/Portable_Interceptors/PICurrent/test_i.cpp (invoke_me): Fixed incorrect ACE_TRY_CHECK macro where ACE_TRY_CHECK_EX macro was expected. Tue Oct 30 15:34:32 2001 Jeff Parsons * tao/skip.cpp: TAO_Marshal_Union::skip() fails if a match is found neither with one of the union's labeled members or with an explicit default case. However, a union can also have an implicit default case, so the code has been changed to return CORBA::TypeCode::TRAVERSE_CONTINUE if neither of the first two cases are found to hold. There is no need for further checking at this point because the only CORBA-compliant way for the discriminator to be set to such value is through the union's _default() method. If it is impossible for a union to have an implicit default case (for example, an enum or boolean discriminator where all possible values are used as labels), the _default() method is not generated by the IDL compiler. Thanks to Ioulia Passynkova for sending in the example that uncovered this bug. * TAO_IDL/be/be_visitor_array/array.cpp: Add missing '_var' to some declarations in code generated for an array of typedef'd interfaces. Thanks to Dmitry Goldshtain for pointing out the bug. Sat Oct 27 13:49:14 2001 Balachandran Natarajan * tao/Invocation_Endpoint_Selectors.h (endpoint_from_profile): * tao/Invocation_Endpoint_Selectors.cpp: Added a new method in TAO_Default_Endpoint_Selector. This method extracts an endpoint from a profile and tests its validity. This method is just an abstraction to reuse code from the inherited classes. * tao/Stub.h: * tao/Stub.i: Added a method to return the profile_lock_ptr. This is useful for modules that are outside the ORB and requires parsing the list of profiles to pick one for invocation, like the FT service. Wed Oct 24 14:51:03 2001 Angelo Corsaro * examples/Quoter/Client.bor: * examples/Quoter/Server.bor: * examples/Quoter/Generic_factory.bor: * examples/Quoter/Factory_finder.bor: Updated makefiles to use ACE_ROOT instead of TAO_ROOT environment variable when referring to the include paths. Thanks to Christopher Kohlhoff and Johnny Willemsen" , for traking this problem. * orbsvcs/orbsvcs/AV/AV_Pluggable_Framework.html: Fixed Fuzzes. Wed Oct 24 14:12:29 2001 Ossama Othman * tao/PortableInterceptor.cpp: * tao/PortableInterceptor.i: Removed these vestigial files. They were split up into client and server side files months ago, and are no longer used. Tue Oct 23 18:55:26 2001 Balachandran Natarajan * orbsvcs/examples/Security/Send_File/Makefile: Updated dependencies. Tue Oct 23 09:49:01 2001 Angelo Corsaro * examples/Quoter/Client.bor: * examples/Quoter/Server.bor: * examples/Quoter/Generic_factory.bor: * examples/Quoter/Factory_finder.bor: Changed CPPDIR from ".;.." to "." this should fix the build problem. Thanks to Jonny Willemsen for suggesting this fix. Mon Oct 22 23:48:13 2001 Yamuna Krishnamurthy * orbsvcs/orbsvcs/AV/default_resource.cpp: Fixed compile errors on Win2K. Mon Oct 22 18:54:13 2001 Balachandran Natarajan * orbsvcs/orbsvcs/AV.dsp: * orbsvcs/orbsvcs/AV_Static.dsp: Added missing files. Should fix build problems in Win2K builds. Mon Oct 22 15:41:13 2001 Balachandran Natarajan * tao/IIOP_Endpoint.cpp (is_equivalent): * tao/Strategies/DIOP_Endpoint.cpp: Instead of checking the hostname in the above method, we check the ip addresses. This solves the following problems (1) If the a connection is created using an IOR to a host A using a dotted decimal address and at some later point in time a corbaloc call uses the host name to resolve a service on the same machine, we happen to create a new connection (2) Variation of 1, if the initial connection is established using a fully qualified name and the corbaloc uses a partial name. (3) If an alias'ed name is used. Thanks to Jonathan Reis , Wayne Erchak and Chris Hughes for finding this one out and providing a patch. Mon Oct 22 07:54:14 2001 Balachandran Natarajan * orbsvcs/tests/Security/SecurityLevel1/makefile: * orbsvcs/tests//Security/Secure_Invocation/Makefile: Updated dependencies. Mon Oct 22 14:21:12 2001 Johnny Willemsen * tao/orbsvcs/LifeCycle_Service/*.bor * tao/orbsvcs/Makefile.bor Added BCB makefiles for this service * tao/examples/Quoter/*.bor * tao/examples/Makefile.bor Added BCB makefiles for this example Fri Oct 19 13:35:18 2001 Jeff Parsons * TAO_IDL/be/be_codegen.cpp: Added -w-sig to the #pragma options for the Borland compiler in generated stub source code. This removes a warning when setting the byte order of an AMI exception holder, which involves an implicit conversion from an int to a CORBA::Boolean, which other compilers seem to have no problem with. Thanks to Albert Wijnja for finding the problem and the fix. * tao/append.cpp (TAO_Marshal_Sequence::append): Modified method to return immediately after writing the sequence length, if it is 0. The corresponding skip method does this, and the discrepancy was causing a problem in the case where we have an Any containing a struct containing a sequence of an 8-byte type, and then other members. The demarshaling of the subsequent members failed because, when marshaling the sequence, the stream had been 8-byte aligned, but not when demarshaling. Of course, this will work sometimes, if the 4-byte and 8-byte boundary happen to be the same. Thanks to Greg Hall for reporting the CORBA::MARSHAL exception, and for sending in an example. Fri Oct 19 12:14:16 2001 Jeff Parsons * orbsvcs/IFR_Service/tao_ifr.cpp: The tao_ifr backend initializes an ORB, and any -ORBxxx args passed in are stripped away by ORB_init(). However, if tao_ifr is processing more than one file at a time, the child process(es) are spawned AFTER this happens, (for a reason too lengthy to explain here) and so they are not seeing these args. So a method was added to save the -ORBxxx args before the backend is initialized, concatentate them, and pass them to DRV_fork() where the rest of the command line args are appended before being passed to ACE_Process::spawn(). Wed Oct 17 18:59:53 2001 Christopher Kohlhoff * tao/Makefile.bor: * tao/IFR_Client/Makefile.bor: * tao/Strategies/Makefile.bor: * tao/TypeCodeFactory/Makefile.bor: * orbsvcs/orbsvcs/Svc_Utils.bor: Fixed lists of installed include files to add some missing entries. Thanks to Charles Frasch for reporting this. Wed Oct 17 12:22:09 2001 Ossama Othman * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.cpp (add_transport_to_cache, process_listen_point_list): Set the SSL port in the TAO_SSLIOP_Endpoint. Previously we were relying on the port that was set in the underlying TAO_IIOP_Endpoint, which is not technically correct. This fix also addresses a bi-dir GIOP over SSLIOP issue. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp (get_listen_point): Synchronized this method implementation with the more up-to-date IIOP version. Wed Oct 17 11:01:19 2001 Balachandran Natarajan * orbsvcs/orbsvcs/Makefile.av: Generated dependency. This should hopefully fix the builds on many platforms. Tue Oct 16 11:19:17 2001 Yamuna Krishnamurthy * orbsvcs/orbsvcs/AV/Resource_Factory.h: * orbsvcs/orbsvcs/AV/default_factory.h: * orbsvcs/orbsvcs/AV/default_factory.cpp: * orbsvcs/orbsvcs/AV/AV_Core.h: * orbsvcs/orbsvcs/AV/AV_Core.cpp: * orbsvcs/orbsvcs/AV/Makefile.av: Initially the AV Streams framework was pluggable for default transport and flow protocols. Made it truly pluggable for new transport and flow protocols too. The Resource_Factory abstract class and the default_resource factory provide the means to load pluggable transport and flow protocols through the -AVTransportFactory and -AVFlowProtocolFactory options respectively. * orbsvcs/orbsvcs/AV/AV_Pluggable_Framework.html: Added documentation for implementing the AV Streams Pluggable Protocol. * orbsvcs/orbsvcs/AV/UDP.cpp: * orbsvcs/orbsvcs/AV/TCP.cpp: * orbsvcs/orbsvcs/AV/sfp.cpp: * orbsvcs/orbsvcs/AV/QoS_UDP.cpp: * orbsvcs/orbsvcs/AV/RTP.cpp: * orbsvcs/orbsvcs/AV/RTCP.cpp: Changed the lib in ACE_FACTORY_DEFINE to the TAO_AV lib. Mon Oct 15 22:41:17 2001 Christopher Kohlhoff * tao/RTCORBA/Makefile.bor: * tao/RTPortableServer/Makefile.bor: * orbsvcs/orbsvcs/FaultTolerance.bor: * orbsvcs/orbsvcs/LoadBalancing.bor: * orbsvcs/IFR_Service/IFR_Service.bor: * orbsvcs/IFR_Service/TAO_IFR_BE_DLL.bor: * orbsvcs/IFR_Service/tao_ifr.bor: * orbsvcs/ImplRepo_Service/ImplRepo.bor: * orbsvcs/ImplRepo_Service/tao_imr.bor: * orbsvcs/LoadBalancer/Makefile.bor: Added some Borland makefile support for minimum CORBA, enabled by setting an environment variable MINIMUM_CORBA to 1. Thanks to Adrian Mercieca for motivating this. Fri Oct 12 00:42:42 2001 Craig Rodrigues * orbsvcs/orbsvcs/AV/AVStreams_i.cpp: * orbsvcs/orbsvcs/AV/AVStreams_i.i: Improve debugging statements * orbsvcs/orbsvcs/AV/UDP.cpp: * orbsvcs/orbsvcs/AV/UDP.h: For UDP pluggable protocol, add capability to set Diffserv Codepoint and Explicit Congestion Notification (ECN) bits in IP TOS (Type of Service) field. Wed Oct 10 17:12:04 2001 Priyanka Gontla * tao/ORB_Core.cpp : Fixed backward compatibility for the multicast services when the ORBNameServicePort is used. Thanks to Jeffrey Wilder for pointing this out. Tue Oct 9 17:46:07 2001 Angelo Corsaro * orbsvcs/tests/AVStreams/Modify_QoS/receiver.h: * orbsvcs/tests/AVStreams/Modify_QoS/receiver.cpp: * orbsvcs/tests/AVStreams/Modify_QoS/sender.cpp: Added missing RCS Id. This will fix the FUZZ build. Tue Oct 09 14:00:46 2001 Nanbor Wang * performance-tests/Cubit/TAO/IDL_Cubit/collocation_test.cpp: Changed to wrap the two ACE_Barriers in a struct instead of using an array as egcs can not properly initialize the array. Tue Oct 9 14:20:51 2001 Craig Rodrigues * orbsvcs/tests/AVStreams/Modify_QoS/receiver.cpp: * orbsvcs/tests/AVStreams/Modify_QoS/receiver.h: * orbsvcs/tests/AVStreams/Modify_QoS/sender.cpp: * orbsvcs/tests/AVStreams/Modify_QoS/sender.h: * orbsvcs/tests/AVStreams/Modify_QoS/Makefile: * orbsvcs/tests/AVStreams/Simple_Two_Stage_With_QoS/sender.cpp: * orbsvcs/tests/AVStreams/Simple_Two_Stage_With_QoS/sender.h: * orbsvcs/tests/AVStreams/Simple_Two_Stage_With_QoS/Makefile: Fix exception specifications for modify_QoS() so that they match IDL generated base class. Fix typos, update Makefile dependencies. Mon Oct 08 11:43:05 2001 Nanbor Wang * performance-tests/Cubit/TAO/IDL_Cubit/collocation_test.cpp: Added another barrier to synchronize shutdown. Thanks to Frank Wolf for reporting the problem. Sun Oct 07 18:19:14 2001 Ossama Othman * tao/PortableServer/ServerRequestInfo.cpp (target_most_derived_interface): Fixed erroneous minor code. The minor code is an OMG assigned one, so it must be logically or'ed with the OMG's vendor minor code ID. Sun Oct 7 04:00:00 2001 Michael Kircher * tao/TypeCodeFactory/Makefile: Changed a wrong "-I" in the linker flags to "-L". Sat Oct 06 23:41:11 2001 Ossama Othman * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp (register_handler_i): Set the reactor and handler in the ACE_SSL_SOCK_Stream so that the reactor is notified if data is still pending for read or write. This is necessary since SSL is record-oriented, and the underlying SSL implementation may buffer data. [Bug 943] Sat Oct 6 11:14:21 2001 Balachandran Natarajan * tao/MessagingC.h: Moved the #if defines before #include "ace/post.h". Thanks to Adrian Mercieca for reporting the problem and Chris Kohlhoff for verifying the fix. Fri Oct 5 18:56:25 2001 Balachandran Natarajan * TAO_IDL/be/be_visitor_valuetype/valuetype.cpp: * TAO_IDL/driver/drv_preproc.cpp: * TAO_IDL/fe/idl.yy: * TAO_IDL/fe/y.tab.cpp: Reverted the changes made in "Fri Oct 5 16:44:22 2001 Balachandran Natarajan " Fri Oct 5 17:42:53 2001 Balachandran Natarajan * TAO_IDL/include/utl_identifier.h: * TAO_IDL/include/utl_idlist.h: * TAO_IDL/include/utl_indenter.h: * TAO_IDL/include/utl_scope.h: * TAO_IDL/include/utl_string.h: * TAO_IDL/include/utl_strlist.h: * TAO_IDL/include/utl_tmpl/utl_idlist.h: * TAO_IDL/include/utl_tmpl/utl_strlist.h: * TAO_IDL/util/utl_identifier.cpp: * TAO_IDL/util/utl_idlist.cpp: * TAO_IDL/util/utl_indenter.cpp: * TAO_IDL/util/utl_scope.cpp: * TAO_IDL/util/utl_string.cpp: * TAO_IDL/util/utl_strlist.cpp: * TAO_IDL/util/utl_tmpl/utl_idlist.cpp: * TAO_IDL/util/utl_tmpl/utl_strlist.cpp: Some more changes of ostream to ACE_OSTREAM_TYPE Fri Oct 5 16:44:22 2001 Balachandran Natarajan * TAO_IDL/be/be_visitor_valuetype/valuetype.cpp: * TAO_IDL/driver/drv_preproc.cpp: * TAO_IDL/fe/idl.yy: * TAO_IDL/fe/y.tab.cpp: Patches from Russ Noseworthy that were needed to compile with GCC 2.95.3 which properly supported namespace std (Apparently Russ seems to have a modified compiler that supports this) Fri Oct 5 16:03:26 2001 Balachandran Natarajan * TAO_IDL/include/ast_argument.h: * TAO_IDL/include/ast_array.h: * TAO_IDL/include/ast_attribute.h: * TAO_IDL/include/ast_constant.h: * TAO_IDL/include/ast_decl.h: * TAO_IDL/include/ast_enum.h: * TAO_IDL/include/ast_enum_val.h: * TAO_IDL/include/ast_exception.h: * TAO_IDL/include/ast_expression.h: * TAO_IDL/include/ast_field.h: * TAO_IDL/include/ast_interface.h: * TAO_IDL/include/ast_interface_fwd.h: * TAO_IDL/include/ast_module.h: * TAO_IDL/include/ast_native.h: * TAO_IDL/include/ast_operation.h: * TAO_IDL/include/ast_predefined_type.h: * TAO_IDL/include/ast_root.h: * TAO_IDL/include/ast_sequence.h: * TAO_IDL/include/ast_string.h: * TAO_IDL/include/ast_structure.h: * TAO_IDL/include/ast_typedef.h: * TAO_IDL/include/ast_union.h: * TAO_IDL/include/ast_union_bran.h: * TAO_IDL/include/ast_union_label.h: * TAO_IDL/ast/ast_array.cpp: * TAO_IDL/ast/ast_attribute.cpp: * TAO_IDL/ast/ast_constant.cpp: * TAO_IDL/ast/ast_decl.cpp: * TAO_IDL/ast/ast_enum.cpp: * TAO_IDL/ast/ast_enum_val.cpp: * TAO_IDL/ast/ast_exception.cpp: * TAO_IDL/ast/ast_expression.cpp: * TAO_IDL/ast/ast_field.cpp: * TAO_IDL/ast/ast_interface.cpp: * TAO_IDL/ast/ast_interface_fwd.cpp: * TAO_IDL/ast/ast_module.cpp: * TAO_IDL/ast/ast_native.cpp: * TAO_IDL/ast/ast_operation.cpp: * TAO_IDL/ast/ast_predefined_type.cpp: * TAO_IDL/ast/ast_root.cpp: * TAO_IDL/ast/ast_sequence.cpp: * TAO_IDL/ast/ast_string.cpp: * TAO_IDL/ast/ast_structure.cpp: * TAO_IDL/ast/ast_typedef.cpp: * TAO_IDL/ast/ast_union.cpp: * TAO_IDL/ast/ast_union_branch.cpp: * TAO_IDL/ast/ast_union_label.cpp: Changed instances of ostream to ACE_OSTREAM_TYPE. Thanks to Russ Noseworthy for suggesting this. Fri Oct 5 14:44:44 2001 Balachandran Natarajan * be/be_visitor.cpp: * be/be_visitor_sequence/sequence_base.cpp: * be/be_visitor_valuetype/valuetype_obv_ch.cpp: * be_include/be_visitor_sequence/sequence_base.h: Applied patches provided by Russ Noseworthy to fix problems with generated code in OBV. Fri Oct 5 14:31:43 2001 Balachandran Natarajan * orbsvcs/orbsvcs/ESF/ESF_Delayed_Changes.h: Added a forward declaration for class ACE_Command_Base. * orbsvcs/orbsvcs/ESF/ESF_Delayed_Changes.cpp: Included the header file ace/Functor.h. These were part of the patches that Russ Noseworthy provided. He had to to use this patch to get it compiling in his environment. Fri Oct 05 05:58:58 2001 Balachandran * TAO version 1.2 released. Thu Oct 4 18:06:59 2001 Jeff Parsons * tao/DynamicAny/DynCommon.cpp (insert_wchar): Added a missing CORBA::Any::from_wchar to the actual insertion. Thanks to Sunny Leung for pointing this out. This fix closes [BUGID:1048]. Thu Oct 4 10:11:32 2001 Balachandran Natarajan * tao/Transport_Cache_Manager.cpp (purge_entry_i): Added a check for a null in the above method. This incidentally close #1046. Thanks to Donald Acton for reporting this. Tue Oct 2 11:26:27 2001 Priyanka Gontla * orbsvcs/examples/Security/Send_File/server_key.pem: * orbsvcs/examples/Security/Send_File/server_cert.pem: * orbsvcs/examples/Security/Send_File/client_key.pem: * orbsvcs/examples/Security/Send_File/client_cert.pem: * orbsvcs/examples/Security/Send_File/cacert.pem: Regenerated as the previous ones have expired. Tue Oct 2 12:13:15 2001 Balachandran Natarajan * tao/GIOP_Message_Base.cpp: If the read message is less than the size of the GIOP message, then we make the missing_data as -1 so that the message would be automatically queued. This should fix the Blocking_Sync_None tests hanging once in a while on guajira.cs builds. Tue Oct 2 11:05:10 2001 Balachandran Natarajan * tao/Transport.cpp: Removed a debug statement that made no sense. Mon Oct 1 14:24:04 2001 Balachandran Natarajan * docs/Options.html: Changed the default in the -ORBTransportMuxStrategy option. We have been using Muxed for sometime now and it seems to be going fine. In all probability we would go for x.2 with this option. Thanks to Ossama for poiting this out. Mon Oct 1 07:49:59 2001 Balachandran Natarajan * tao/Strategies/SHMIOP_Endpoint.i: * tao/Strategies/DIOP_Endpoint.i: Applied the same changes from this entry "Sat Sep 29 18:07:55 2001 Ossama Othman " to the above classes. Mon Oct 1 07:10:49 2001 Balachandran Natarajan * tao/IIOP_Connection_Handler.cpp: * tao/Strategies/UIOP_Connection_Handler.cpp: * tao/Strategies/SHMIOP_Connection_Handler.cpp: * tao/Strategies/DIOP_Connection_Handler.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.cpp One of the long standing race conditions that came to the fore recently. The problem was that we were returning a -1 to the reactor if the number of upcalls dropped to 0. This was wrong for many reasons with the latest set of changes for bug 575, which enhanced the concurrency on the server side. Imagine a thread being unblocked by notify () dispatching a request. During the process the thread could have resumed the handler. Another thread in the Reactor could come around and tried closing the connection. Before the thread from the Reactor finishes with the cleanup job, the thread that was dispatching because of notify () could return dropping the upcall count. It would also return with a -1 to the reactor. At this stage we would have two threads trying to do a handle_close () which could be deleterious. We now return with a 0 to the reactor after we handle_close_i (). We are sure that with handle_close_i () the handlers are closed and returning a 0 would be harmless. Sun Sep 30 09:26:30 2001 Ossama Othman * tests/File_IO/server.cpp (main): Fixed compile-time problems found in VxWorks builds. VxWorks does not define the POSIX file mode contants. (svc): Print the exception if one is caught and return -1. An exception should be considered an error in this case. Sun Sep 30 09:08:59 2001 Ossama Othman * orbsvcs/tests/Security/MT_SSLIOP/client.dsp: * orbsvcs/tests/Security/MT_SSLIOP/server.dsp: Added missing custom build step for the test IDL file. Fixes builds on Windows. Sat Sep 29 18:58:06 2001 Ossama Othman * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.cpp (TAO_SSLIOP_Endpoint): Invalidate the object_addr until the first attempt to use it is made. Needed for the double checked locking optimization described below. (addr_to_string): Fixed this method so that it returns the correct stringified address. Previously it was returning the stringified non-SSL INET_Addr instead of the stringified SSL INET_Addr. Sat Sep 29 18:07:55 2001 Ossama Othman * tao/IIOP_Endpoint.i (object_addr): Use the double-checked locking optimization to remove a lock from the critical path. The lock will only be acquired/released once per initialization of the IIOP_Endpoint instead of once per invocation of this method. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.i (object_addr): Removed erroneous comment about deadlocking due to acquiring a lock in this method. The underlying IIOP_Endpoint and the SSLIOP_Endpoint each have their own lock instance. No deadlock will occur. Acquire a lock before setting the port number in the SSLIOP_Endpoint. Double checked locking is used to prevent the lock from being acquired during each invocation. Fixes a race condition. [Bug 943] Sat Sep 29 14:06:30 2001 Ossama Othman * orbsvcs/tests/Security/MT_SSLIOP/MT_SSLIOP.dsw: * orbsvcs/tests/Security/MT_SSLIOP/client.dsp: * orbsvcs/tests/Security/MT_SSLIOP/server.dsp: New MSVC++ workspace/project files for this test. Fri Sep 28 15:40:26 2001 Jeff Parsons * TAO_IDL/ast/ast_expression.cpp: * TAO_IDL/be/be_constant.cpp: Fixed code generation for wstring constants. Thanks to Andreas Huggel for pointing out this problem. Fri Sep 28 13:52:41 2001 Balachandran Natarajan * tao/IIOP_Connection_Handler.cpp (handle_input): Fixed a unused variable warning. Fri Sep 28 12:33:17 2001 Balachandran Natarajan * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.cpp: * tao/IIOP_Connection_Handler.cpp (handle_close): * tao/Strategies/UIOP_Connection_Handler.cpp: * tao/Strategies/DIOP_Connection_Handler.cpp: * tao/Strategies/SHMIOP_Connection_Handler.cpp: Added some debug statements. Fri Sep 28 11:41:50 2001 Balachandran Natarajan * tests/File_IO/server.cpp (main): Made the program create a big file for use. * tests/File_IO/big.txt: Removed the file from the repo. Thanks to Ossama for driving some sense in me. Fri Sep 28 10:17:24 2001 Jeff Parsons * tao/Smart_Proxies/SmartProxies_Static.dsp: Fixed a setting in the release configuration. Fri Sep 28 06:17:27 2001 Douglas C. Schmidt * ACE-INSTALL.html: Improved the installation instructions for BCB 4/5. Thanks to Chris Kohloff for contributing this and to Jan Kalin for motivating this. Fri Sep 28 06:40:37 2001 Balachandran Natarajan * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.cpp: Fixed a cut and paste error :(. This should clear of many of the builds. Thu Sep 27 22:26:23 2001 Ossama Othman * docs/interceptors.html: The Portable Interceptors specification is now part of the CORBA 2.5 specification. Updated accordingly. Thu Sep 27 17:31:10 2001 Balachandran Natarajan * tao/IIOP_Connection_Handler.cpp (handle_close): * tao/IIOP_Connection_Handler.h: We always depended on the handle_close () to cleanup memory, the cache and the transport. The cleanup would not start if the number of upcalls is greater than zero. This could create problems for multi-threaded cases like this one - One of the threads is woken up by the Reactor to handle upcalls. - After the upcall is dispatched another thread could be woken up to close the connection. The second thread would call handle_close () religiously, but cleanup wouldnt have occurred. We need to start cleanup only after the upcall count reaches 0. We now have a method handle_close_i () which does the cleanup activity. This method is called whenever there is a possibility of the upcall count reaching zero. * tao/Strategies/UIOP_Connection_Handler.h: * tao/Strategies/UIOP_Connection_Handler.cpp: * tao/Strategies/DIOP_Connection_Handler.h: * tao/Strategies/DIOP_Connection_Handler.cpp: * tao/Strategies/SHMIOP_Connection_Handler.h: * tao/Strategies/SHMIOP_Connection_Handler.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.cpp: Applied the same fix to the above protocols too. Thu Sep 27 17:12:06 2001 Balachandran Natarajan * tests/File_IO/client.cpp: * tests/File_IO/server.cpp: scaled this program down as it was creating problems with our daily builds on many platforms. Retained the essence of the prgoram though. We now run only 2 threads on the server end 4 threads on the client end. We now request only 128 K of data (ie. twice the normal socket buffer size). Hopefully this will go well on all platforms. Thu Sep 27 16:23:34 2001 Jeff Parsons * tao/Smart_Proxies/SmartProxies_Static.dsp: New project file. * TAOACE_Static.dsw: Added new project file to workspace. Thanks to Nicolas Vincent for sending in the files. Thu Sep 27 13:11:56 2001 Bala * TAO version 1.1.21 released. Thu Sep 27 02:41:32 2001 Irfan Pyarali * orbsvcs/tests/Simple_Naming/client.cpp: Improved debug statements. Also replace the %8.8x and ACE_OS::thr_self combo with %t. Wed Sep 26 15:30:31 2001 Irfan Pyarali * performance-tests/RTCorba/Thread_Pool/client.cpp: Allow the user to set the invocation thread priority at thread creating time or after thread creation. Also improved parse_args(). Tue Sep 25 23:45:30 2001 Irfan Pyarali * performance-tests/RTCorba/Thread_Pool/client.cpp: - Include tests/RTCORBA/Linear_Priority/readers.cpp to reuse common file parsing code. This way we can removed the get_rates() function. - Invocation priorities can either be automatically calculated (as before) or can be explicitly specified through the option. * performance-tests/RTCorba/Thread_Pool/server.cpp: * performance-tests/RTCorba/Thread_Pool/client.cpp: - Include tests/RTCORBA/Linear_Priority/readers.cpp to reuse common file parsing code. Auto lane priorities and bands calculations were moved to readers.cpp. - Include tests/RTCORBA/Linear_Priority/readers.cpp to reuse common file parsing code. This way we can removed the get_rates() function. - Invocation priorities can either be automatically calculated (as before) or can be explicitly specified through the option. * performance-tests/RTCorba/Thread_Pool/server.cpp: - Include tests/RTCORBA/Linear_Priority/readers.cpp to reuse common file parsing code. Auto lane priorities and bands calculations were moved to readers.cpp. - Lane priorities and bands can either be automatically calculated (as before) or can be explicitly specified through the and options. * performance-tests/RTCorba/Thread_Pool/empty_file * performance-tests/RTCorba/Thread_Pool/invocation_priorities * performance-tests/RTCorba/Thread_Pool/lanes * performance-tests/RTCorba/Thread_Pool/bands New files. * tests/RTCORBA/Linear_Priority/client.cpp (main): Renamed Priorities to Short_Array. * tests/RTCORBA/Linear_Priority/readers.cpp: Generalized some methods. Tue Sep 25 17:40:08 2001 Balachandran Natarajan * tests/AMI_Buffering/client.cpp (run_buffer_size): * tests/Oneway_Buffering/client.cpp: Changed all the ACE_ERROR statements to ACE_DEBUG statements. Changed the ERROR in the debug messages as DEBUG. We know that this test shows a problem with the ORB/Reactor. The error statements create too much of noise for the builds czars todo any good work. The bug #982 and #1031 that has been captured in the bugzilla talks about the problem. Tue Sep 25 11:32:39 2001 Irfan Pyarali * tao/Strategies/advanced_resource.cpp (TAO_Resource_Factory_Changer): Last night I removed: ACE_STATIC_SVC_REQUIRE(TAO_Advanced_Resource_Factory) but forgot to add the replacement: ACE_Service_Config::process_directive (ace_svc_desc_TAO_Advanced_Resource_Factory); This caused all apps using the Advanced_Resource_Factory to fail. Tue Sep 25 00:17:57 2001 Irfan Pyarali * auto_run_tests.lst: The following tests were removed from the single threaded run list since they call RT_Protocols_Hooks::get_thread_priority is not supported on single threaded platforms: - tests/RTCORBA/Client_Protocol - tests/RTCORBA/Explicit_Binding - tests/RTCORBA/Private_Connection Mon Sep 24 19:23:29 2001 Irfan Pyarali * tao/TAO_Internal.cpp (open_services_i): * tao/TypeCodeFactory/TypeCodeFactory_Adapter_Impl.cpp (Initializer): * tao/TypeCodeFactory/TypeCodeFactory_Loader.cpp (Initializer): * tao/Strategies/advanced_resource.cpp (TAO_Resource_Factory_Changer): * tao/RTPortableServer/RTPortableServer.cpp (TAO_RTPortableServer_Initializer): * tao/RTCORBA/RTCORBA.cpp (TAO_RTCORBA_Initializer): * tao/PortableServer/PortableServer.cpp (init): * tao/IORTable/IORTable.cpp (init): * tao/IORManipulation/IORManip_Loader.cpp (Initializer): * tao/IFR_Client/IFR_Client_Adapter_Impl.cpp (Initializer): * tao/DynamicInterface/Dynamic_Adapter_Impl.cpp (Initializer): * tao/DynamicAny/DynamicAny.cpp (Initializer): * tao/BiDir_GIOP/BiDirGIOP.cpp (Initializer): - Changed ACE_Service_Config::static_svcs ()->insert (&blah) to ACE_Service_Config::process_directive (blah) The reason for this change is that when the ORB is loaded into a program as a DLL through the Service Configurator, Service_Config::open has already been run. This prevents the static services in TAO to be loaded into the Service Repository since Service_Config::open only executes once. However, Service_Config::process_directive works irrespective of whether Service_Config::open has already being run. * tao/Strategies/TAO_Strategies_Internal.cpp: * tao/Strategies/TAO_Strategies_Internal.h: Removed unused files. * tao/Strategies/Makefile.bor: * tao/Strategies/Makefile: * tao/Strategies/TAO_Strategies.dsp: * tao/Strategies/TAO_Strategies_Static.dsp: Removed TAO_Strategies_Internal. * tao/Strategies/advanced_resource.h: "ACE_STATIC_SVC_REQUIRE(TAO_Advanced_Resource_Factory)" removed as it was not needed. * tao/default_resource.cpp (get_parser_names): Removed unnecessary lookup of parsers. * tao/orbconf.h: Removed default defines for TAO_DEFAULT_RESOURCE_FACTORY_ARGS, TAO_ADVANCED_RESOURCE_FACTORY_ARGS, TAO_DEFAULT_CLIENT_STRATEGY_FACTORY_ARGS, and TAO_DEFAULT_SERVER_STRATEGY_FACTORY_ARGS since they are we horribly out of date and the defaults work fine. User can still define them as needed. * tao/TAO_Internal.cpp: - Since TAO_DEFAULT_RESOURCE_FACTORY_ARGS, TAO_DEFAULT_CLIENT_STRATEGY_FACTORY_ARGS, and TAO_DEFAULT_SERVER_STRATEGY_FACTORY_ARGS are no longer defined by default, the initialization of the corresponding statics in TAO_Internal had to be modified. - For consistency, and got renamed to and respectively. * tao/ORB_Core.cpp: Fixed some incorrect comments. * tao/MCAST_Parser.h: Removed extra OS.h include. * examples/Simple/time-date/Time_Date.cpp: Removed extra TAO_Singleton.h include. Mon Sep 24 14:12:11 2001 Priyanka Gontla * tao/MCAST_Parser.cpp (assign_to_variables): Modified so that if the nic address isnt specified in the mcast format, the kernel chooses the nic. This is because the nic is platform specific and we cant default it to eth0. Thanks to Ossama for pointing it out. * orbsvcs/orbsvcs/IOR_Multicast.cpp (handle_input): Added MCASTServer in the list of multicast services that are valid. This is needed for the test (orbsvcs/tests/IOR_MCAST). Mon Sep 24 12:22:32 2001 Priyanka Gontla * tao/params.cpp: Made mcast://:::: as the default multicast address. This address will default to mcast://ACE_DEFAULT_MULTICAST_ADDR: TAO_DEFAULT_NAME_SERVER_REQUEST_PORT:eth0:1. With this change, to get the previous multicast behaviour, the user doesnt have to use any extra variables. * orbsvcs/tests/Simple_Naming/run_test.pl: Reverted the change to run_test.pl Mon Sep 24 12:17:28 2001 Ossama Othman * tao/PICurrent.cpp (~TAO_PICurrent_Impl, get_slot, set_slot): Use C-style casts to get around Sun CC 4.2 static_cast brain damage. Sun CC 4.2 could not handle statically casting from a "void *&" to a "CORBA::Any *". Thanks to Bala for the tip. Note that we could get around this problem by making the slot table contain CORBA::Any pointers instead void pointers, but that would increase footprint. Mon Sep 24 11:47:34 2001 Ossama Othman * tao/ORB.cpp: Fixed problem where ORBInitializer variables were not declared in builds where CORBA messaging was disabled. * tao/PICurrent.cpp: Include "tao/debug.h" to pull in the declaration of the TAO_debug_level variable. * tao/PICurrent_ORBInitializer.h: Moved `LocalObject.h' include outside of the TAO_HAS_INTERCEPTORS block to pull in TAO-specific configuration headers. TAO_HAS_INTERCEPTORS was previously not pulled in. Mon Sep 24 11:03:17 2001 Ossama Othman * tao/PICurrent_ORBInitializer.h: * tao/PICurrent_ORBInitializer.cpp: Only make code "visible" if the TAO_HAS_INTERCEPTORS preprocessor macro is set to "1". Fixes build problems in configurations where request interceptors are disabled. * tao/PICurrent.h: * tao/PICurrent.cpp: "Nuked" trailing whitespace. * tao/Makefile: * tao/*/Makefile: Updated dependencies. Mon Sep 24 01:21:16 2001 Ossama Othman * tao/PICurrent.h: * tao/PICurrent.inl: * tao/PICurrent.cpp: Implementation of the "PICurrent" object, i.e. the PortableInterceptor::Current interface. * tao/PICurrent_ORBInitializer.h: * tao/PICurrent_ORBInitializer.cpp: ORBInitializer that registers the PICurrent object with each ORB. * tao/Makefile: * tao/Makefile.bor: * tao/TAO.dsp: * tao/TAO_Static.dsp: Added new PICurrent source files to these Makefiles and project files. * tao/ClientInterceptorAdapter.h: * tao/PortableServer/ServerInterceptorAdapter.h: Updated list of authors. * tao/ClientRequestInfo.cpp (get_slot): * tao/ORBInitInfo.cpp (allocated_slot_id): Implemented these methods. * tao/ORB.cpp (init_orb_globals): Register the PICurrent ORB initializer. * tao/ORB_Core.h: Added TSS portion of the PICurrent object to the ORB Core TSS resources object. Cache the PICurrent object reference for speed/efficiency reasons. * tao/ORB_Core.i (pi_current): New methods to set and get the cached thread-scope PICurrent object reference. * tao/ORB_Core.cpp (TAO_ORB_Core): Initialize the pointer to the PICurrent object reference to zero. * tao/PolicyFactory_Registry.cpp (~TAO_PolicyFactory_Registry): Close the factory map for the sake of completeness. * tao/TAO_Server_Request.h (TAO_ServerRequest): The "request scope" PICurrent object implementation for the server side is now held in this class. * tao/TAO_Server_Request.i (rs_pi_current): Accessor for the request scope PICurrent object implementation. * tao/TAO_Server_Request.cpp (TAO_ServerRequest): Added request scope PICurrent attribute to the base member initializer list. * tao/PortableServer/ServerInterceptorAdapter.cpp: Instantiate a "PICurrent" guard before invoking the receive_request_service_contexts() interception point. Upon leaving the scope, the request PICurrent will be logically copied to the thread scope PICurrent. * tao/PortableServer/ServerRequestInfo.h: * tao/PortableServer/ServerRequestInfo.inl (server_request): Added accessor to return a reference to the cached TAO_ServerRequest object. * tao/PortableServer/ServerRequestInfo.cpp (get_server_policy): Implemented this method. However, see comments in the implementation for important details. (get_slot, set_slot): Also implemented these methods. They are used to get and set data in the "request scope" "PICurrent" object. * TAO_IDL/be/be_codegen.cpp (start_server_skeletons): Generate code to include the `tao/PICurrent.h' header. * TAO_IDL/be/be_visitor_operation/operation_ss.cpp (visit_operation): Generate code that instantiates a "TAO_PICurrent_Guard" before the code that invokes the receive_request() interception point and the upcall. The thread scope PICurrent must be copied to the request scope PICurrent object when the upcall is done. * tests/Portable_Interceptors/PICurrent/ServerORBInitializer.cpp: * tests/Portable_Interceptors/PICurrent/ServerORBInitializer.h: * tests/Portable_Interceptors/PICurrent/ServerRequestInterceptor.cpp: * tests/Portable_Interceptors/PICurrent/ServerRequestInterceptor.h: * tests/Portable_Interceptors/PICurrent/client.cpp: * tests/Portable_Interceptors/PICurrent/server.cpp: * tests/Portable_Interceptors/PICurrent/test.idl: * tests/Portable_Interceptors/PICurrent/test_i.cpp: * tests/Portable_Interceptors/PICurrent/test_i.h: * tests/Portable_Interceptors/PICurrent/Makefile: * tests/Portable_Interceptors/PICurrent/Makefile.bor: * tests/Portable_Interceptors/PICurrent/client.bor: * tests/Portable_Interceptors/PICurrent/server.bor: * tests/Portable_Interceptors/PICurrent/PICurrent.dsw: * tests/Portable_Interceptors/PICurrent/client.dsp: * tests/Portable_Interceptors/PICurrent/server.dsp: Test that verifies PICurrent support is working properly. * tests/Portable_Interceptors/Makefile: * tests/Portable_Interceptors/Makefile.bor: Added PICurrent test directory to the build list. * docs/interceptors.html: Updated PortableInterceptor release notes. Sun Sep 23 20:34:23 2001 Ossama Othman * tao/Typecode.cpp (BadKind, Bounds): Fixed bugs where the RepositoryId for these TypeCode user exceptions contained the incorrect prefix, i.e. "omg.orb" instead of "omg.org." Sun Sep 23 20:11:45 2001 Christopher Kohlhoff * tests/Collocation/Collocation.bor: * tests/Collocation/Diamond.bor: Updated Borland makefiles to find the example's libraries in the common bin directory, since all libraries are now built into there. Sun Sep 23 15:01:08 2001 Ossama Othman * tao/Invocation.cpp (location_forward): Use the "CORBA::Object_var::out()" method instead of the "inout()" method to make sure the previous forward object reference is released before assigning another object reference Thanks to Gergely Timar for the fix. Sun Sep 23 14:13:35 2001 Jeff Parsons * TAO_IDL/fe/idl.ll: * TAO_IDL/fe/lex.yy.cpp: Modified parse_line_and_file() to make it more robust when parsing #. Thanks to Carlos for tracking down the solution. Sat Sep 22 11:47:48 2001 Ossama Othman * tao/Profile.cpp (policies): Use the lame "ignore check_for_ace_check" comment hack to silence fuzz. Fri Sep 21 22:31:33 2001 Ossama Othman * tao/default_resource.cpp (get_parser_names): Fixed bug where the "corbaname" parser's name was not properly inserted into the list of names of registered parsers. Instead the "corbaloc" IOR's parser name was inserted. "corbaname" IORs should now be supported by default, as was originally designed. Fri Sep 21 22:23:11 2001 Ossama Othman * tao/Profile.cpp (policies): Fixed "unused parameter" warning in the minimum CORBA builds. Fri Sep 21 21:39:22 2001 Ossama Othman * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Util.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Util.cpp: New SSLIOP utility class containing code common to both the SSLIOP client side and the server side. * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Acceptor.h: * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connector.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.h: Added new attributed that contains the state to be passed to each new TAO_SSLIOP_Connection_Handler. Doxygenated this header. * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Acceptor.cpp (open_i): * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connector.cpp (open): * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.cpp (ssliop_open_i): * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp (open): Invoke the new TAO_SSLIOP_Util::setup_handler_state() method, and pass the created state to the creation strategy. * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Transport.h: Cache a reference to the SSLIOP::Current object to avoid any reference resolution overhead in the critical path. * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Transport.cpp (handle_input_i): Pass cached SSLIOP::Current reference to the TAO_Null_SSL_State_Guard. Saves an ORB::resolve_initial_references() in th critical path. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current.h: Generated and added "TAO_SSLIOP_Current" downcast and reference count related methods. For example, it is now possible to _narrow() a SSLIOP::Current object reference to TAO_SSLIOP_Current object reference. This makes it possible to gain access to the methods in TAO_SSLIOP_Current not defined in the SSLIOP::Current IDL without relying on dynamic_cast, which may not work properly when using compilers that do not support RTTI. (orb_id_): No longer any need for this attribute. (See below.) * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current.cpp (TAO_SSLIOP_Current): This constructor now accepts a pointer to the ORB Core. This obviates the need to cache the ORBid. (init): Removed this method. It is no longer needed since a pointer to the ORB Core is now cached in the TAO_SSLIOP_Current instance at ORB bootstrap time. (setup, teardown): These methods now accept parameters that contain the state that will be used when setting up the TSS portion of the SSLIOP::Current object. This makes these mades thread-safe and reentrant without introducing any locks. [Bug 943] * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current.inl (implementation): Don't call init(). That method has been removed. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_ORBInitializer.cpp (pre_init): Retrieve a pointer to the ORB Core from the TAO_ORBInitInfo object and pass it to the TAO_SSLIOP_Current constructor when creating the TAO_SSLIOP_Current object. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.cpp (TAO_SSLIOP_Connection_Handler_State): New class that contains state that must be passed to a TAO_SSLIOP_Connection_Handler up on creation. (TAO_SSL_State_Guard): No need to export this class. It is only used internally by the TAO_SSLIOP library. This class now stores additional state. Specifically, it contains a pointer to the "previous" SSLIOP::Current implementation that was stored in TSS, the current SSLIOP::Current implementation, and a flag that specifies whether or not the TSS portion of SSLIOP::Current was setup. This state is passed to the connection handler each time a request is handled. Since this class is instantiated each time a request is handled, the encapsulated state is request-specific, meaning that SSL state setup in TSS is reentrant and thread-safe. [Bug 943] No longer any need to cache a pointer to the ORB Core. Adjusted the constructor signature and removed the attribute accordingly. (TAO_SSLIOP_Connection_Handler): This connection handler no longer retains an instance of the TAO_SSLIOP_Current_Impl object. That object was subject to a race condition. [Bug 943] (current): New methods to get and set the cached TAO_SSLIOP_Current reference. There is no longer any need to perform a dynamic_cast on the SSLIOP::Current object reference to gain access to TAO_SSLIOP_Current-specific methods. (setup_ssl_state): It is no longer necessary to retrieve the SSLIOP::Current object reference during the first attempt to set up the TSS portion of the SSLIOP::Current object. That object reference is now retrieved and cached at ORB bootstrap time. (See the description of the changes to SSLIOP_ORBInitializer.cpp above for details.) (setup_ssl_state, teardown_ssl_state): These methods now accept parameters that contain the state that will be used when setting up the TSS portion of the SSLIOP::Current object. This makes these mades thread-safe and reentrant without introducing any locks. [Bug 943] * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.i: Updated the calls to the setup/teardown_ssl_state() in the TAO_SSL_State_Guard constructor and destructor to match the new method signatures. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp (handle_input_i): The signature of the TAO_SSL_State_Guard constructor changed. Adjusted the instantiation accordingly. * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connection_Handler.h: * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connection_Handler.cpp: Changes analogous to those made in the SSLIOP_Connection_Handler counterparts. See above for details. * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connection_Handler.inl: Inlined the TAO_Null_SSL_State_Guard constructor and destructor for speed/efficiency reasons. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current_Impl.h: Corrected destructor comment. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current_Impl.inl: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current_Impl.cpp: Inlined the TAO_SSLIOP_Current_Impl constructor for speed/efficiency reasons, i.e. since it is instantiated in the critical path. * orbsvcs/orbsvcs/Makefile.SSLIOP (FILES): * orbsvcs/orbsvcs/SSLIOP.bor (OBJFILES): Added new SSLIOP_Util sources to the list of files to compile and link. Fri Sep 21 13:01:53 2001 Carlos O'Ryan * docs/tutorials/Quoter/Event_Service/Makefile: * docs/tutorials/Quoter/Naming_Service/Makefile: * docs/tutorials/Quoter/RT_Event_Service/Makefile: Fixed dependencies on the tutorial. Fri Sep 21 12:36:36 2001 Ossama Othman * tao/Profile.cpp (policies): Added missing CORBA::Environment parameter to the call to CORBA::Policy::policy_type(). Removes a TSS access during each policy insertion into the TAG_POLICIES IOR tagged component. Also fixes a potential problem where an emulated exception would not be caught if thrown during a remote CORBA::Policy::policy_type() invocation. * tao/ClientInterceptorAdapter.cpp (receive_exception): * tao/PortableServer/ServerInterceptorAdapter.cpp (send_exception): Only re-throw the exception if it hasn't been transformed (e.g. to a LOCATION_FORWARD) by the receive_exception() and send_exception() interception points, respectively. * tao/PortableServer/POA.cpp (client_exposed_policies): Improved exception-safety of this method by storing the allocated CORBA::PolicyList in a CORBA::PolicyList_var. Fixes a memory leak that occurred if an exception was thrown within this method. * TAO_IDL/be/be_visitor_operation/remote_proxy_impl_cs.cpp (gen_marshal_and_invoke): * TAO_IDL/be/be_visitor_operation/operation_ss.cpp (visit_operation): Do not call the generated instantiation of the RequestInfo object "ri." Doing so will cause conflicts with IDL that uses an operation parameter of the same name. The generated code now uses "_tao_ri" to avoid namespace pollution. * tests/Portable_Interceptors/Request_Interceptor_Flow/Request_Interceptor_Flow.dsw: * tests/Portable_Interceptors/Request_Interceptor_Flow/client.dsp: * tests/Portable_Interceptors/Request_Interceptor_Flow/server.dsp: Corrected spelling. "Inteceptor" --> "Interceptor" Thu Sep 20 15:48:33 2001 Irfan Pyarali * performance-tests/RTCorba/Thread_Pool/client.cpp: Added ability to adjust timeout for max throughput run. Thu Sep 20 13:23:59 2001 Balachandran Natarajan * tests/BiDirectional_NestedUpcall/client.cpp: * tests/BiDirectional_NestedUpcall/server.cpp: Created the servant object on the heap instead of on the stack. * tests/BiDirectional_NestedUpcall/test_i.h: Inherited the implementation from the Refcounted servant base. The above changes should prevent the client from crashing if the server crashes during the upcall. Thu Sep 20 13:23:59 2001 Irfan Pyarali * orbsvcs/tests/IOR_MCast/server.bor: Added missing iortable library. * orbsvcs/tests/IOR_MCast/MCast_Server_i.cpp (connect_server): Fixed missing throw spec. Thanks to Johnny Willemsen for the above fixes. Thu Sep 20 12:40:34 2001 Irfan Pyarali * performance-tests/RTCorba/Thread_Pool/client.cpp: - Previously, each thread kept it's own start time. This meant that if a low priority thread did not reach the point where it recorded it's start time before it got preempted by a thread of higher priority, then it is possible that this low priority thread may start after the high priority thread is done and hence would not notice that it is late at all. Therefore, the start time is made global and is the same for all threads. - We now keep track of the invocations that were missed because we didn't make the deadline. This will help note any particularities in the test. - Some of the threads were being given an unfair advantage because a connection had already been setup for them before they started pacing. Therefore, all threads (paced and continuous) now do all the accounting/connection setup and then synchronize with the main thread. When all the worker threads are ready to go, the main thread signals them. This also gives the main thread a chance to mark the start time for the test. Wed Sep 19 17:43:42 2001 Irfan Pyarali * tests/RTCORBA/Linear_Priority/server.cpp: * tests/RTCORBA/Persistent_IOR/server.cpp: * tests/RTCORBA/Policy_Combinations/server.cpp: Added missing ACE_UNUSED_ARGs for asserted . * tao/TAO_Internal.cpp: Added explicit template instantiations for ACE_Dynamic_Service. * tests/Exposed_Policies/Policy_Tester.cpp (init): Changed ACE_CHECK to ACE_CHECK_RETURN. * tests/RTCORBA/Collocation/Collocation.cpp (create_poa_and_servant_with_tp_policy and create_servant_in_root_poa): Fixed misplaced ACE_CHECKs. Wed Sep 19 14:15:59 2001 Nanbor Wang * tao/TAO.dsp: * tao/TAO_Static.dsp: * tao/BiDir_GIOP/TAO_BiDir_GIOP.dsp: * tao/DynamicAny/TAO_DynamicAny.dsp: * tao/IFR_Client/TAO_IFR_Client.dsp: * tao/IFR_Client/TAO_IFR_Client_Static.dsp: * tao/IORManipulation/TAO_IORManip.dsp: * tao/IORManipulation/TAO_IORManip_Static.dsp: * tao/IORTable/TAO_IORTable.dsp: * tao/IORTable/TAO_IORTable_Static.dsp: * tao/PortableServer/TAO_PortableServer.dsp: * tao/PortableServer/TAO_PortableServer_Static.dsp: * tao/RTCORBA/TAO_RTCORBA.dsp: * tao/RTCORBA/TAO_RTCORBA_Static.dsp: * tao/RTPortableServer/TAO_RTPortableServer.dsp: * tao/RTPortableServer/TAO_RTPortableServer_Static.dsp: * tao/SmartProxies/SmartProxies.dsp: * tao/Strategies/TAO_Strategies.dsp: * tao/Strategies/TAO_Strategies_Static.dsp: * tao/TypeCodeFactory/TypeCodeFactory.dsp: Enabled generation of debug info even for release configurations. Thanks to Jonathan Reis for suggesting this. Wed Sep 19 12:06:04 2001 Johnny Willemsen * examples/Simple/time-date/time-date.bor: * orbsvcs/tests/Concurrency/CC_client.bor: * orbsvcs/tests/Time/client.bor: * orbsvcs/tests/ior_corbaname/client.bor: * orbsvcs/tests/ior_corbaname/server.bor: Corrected the SVCUTILS to SVC_UTILS * orbsvcs/tests/IOR_MCast Added BCB makefiles * orbsvcs/tests/Makefile.bor Added IOR_MCast and missing LoadBalancing Wed Sep 19 02:58:46 2001 Irfan Pyarali * orbsvcs/orbsvcs/Makefile.av (.obj/Transport.o): Fixed minor error in the dependencies (though I am not sure how this error got in since the dependencies are auto generated). Tue Sep 18 17:18:35 2001 Irfan Pyarali * performance-tests/RTCorba/Thread_Pool/client.cpp: Added priority information to max throughput testing. Also, has the max time of all the continuous workers. Tue Sep 18 15:55:18 2001 Irfan Pyarali * tests/RTCORBA/README: Updated with information about new tests. * tests/TAO_Tests.dsw: Added Cache_Growth_Test and Exposed_Policies. * tests/Cache_Growth_Test/Hello.cpp (get_string): transport_cache is now in the lane resources. Tue Sep 18 13:05:09 2001 Carlos O'Ryan * */Makefile: * */Makefile.*: Updated dependencies, some of the paths were absolute leading to ambiguities in parallel builds. Tue Sep 18 12:07:40 2001 Carlos O'Ryan * orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullSupplier.h: Missed one file in the last set of changes. Tue Sep 18 10:44:58 2001 Carlos O'Ryan * orbsvcs/orbsvcs/CosEvent/CEC_ConsumerAdmin.h: * orbsvcs/orbsvcs/CosEvent/CEC_ConsumerControl.h: * orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.h: * orbsvcs/orbsvcs/CosEvent/CEC_Defaults.h: * orbsvcs/orbsvcs/CosEvent/CEC_Dispatching.h: * orbsvcs/orbsvcs/CosEvent/CEC_Dispatching_Task.h: * orbsvcs/orbsvcs/CosEvent/CEC_EventChannel.h: * orbsvcs/orbsvcs/CosEvent/CEC_Factory.h: * orbsvcs/orbsvcs/CosEvent/CEC_MT_Dispatching.h: * orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullConsumer.h: * orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullSupplier.h: * orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushConsumer.h: * orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushSupplier.h: * orbsvcs/orbsvcs/CosEvent/CEC_Pulling_Strategy.h: * orbsvcs/orbsvcs/CosEvent/CEC_Reactive_ConsumerControl.h: * orbsvcs/orbsvcs/CosEvent/CEC_Reactive_Pulling_Strategy.h: * orbsvcs/orbsvcs/CosEvent/CEC_Reactive_SupplierControl.h: * orbsvcs/orbsvcs/CosEvent/CEC_SupplierAdmin.h: * orbsvcs/orbsvcs/CosEvent/CEC_SupplierControl.h: Fixed problems with the @file declarations, the automatically generated entries did not correct my mistakes in the old-style =FILE comments Mon Sep 17 19:00:00 2001 Irfan Pyarali * The following changes are to add support for thread pools and lanes to TAO. * tao/RTPortableServer/RT_POA.cpp: - (thread_pool): Added member and accessor. - (valid_priority): Renamed to validate_priority(). Instead of trying to match acceptor priority and bands, we check the following: If this POA is using a thread pool with lanes, make sure the priority matches one of the thread lanes. Note that in this case, bands do not matter since matching the lanes priority is a stricter condition than meeting the band ranges. In addition, when the POA was created, the bands had to match the lanes. If we are dealing with a thread pool without lanes, check if we have bands. If we do have bands, make sure that the priority is matching one of the bands. - (endpoint_count): Counts the potentially relevant endpoints for this POA. - (parse_rt_policies): Extract the POA's thread pool from the policies specified by the user. - (key_to_stub_i): Instead of trying to create different kinds of acceptor filters, we check the following: If this POA is using the default thread pool or a thread pool without lanes, create the IOR with the acceptors in the thread pool. If this POA has the SERVER_DECLARED policy, create the IOR with the acceptors in the only thread lane that matches the priority of the object. If this POA has the CLIENT_PROPAGATED policy, create the IOR with the acceptors in the thread lanes that matches the bands in this POA. If there are no bands, all the thread lanes are used. * tao/RTPortableServer/RT_Policy_Validator.cpp: - (validate_impl): Removed call to ORB_Core::open(). Added thread-pool validation. - (legal_policy_impl): Added to the legal policies. - (validate_server_protocol): Previously, if we found one protocol that matched, we returned success. Now we return return success only if we match all the protocols specified by the user. - (validate_lifespan): If a POA is using a RTCORBA thread pool, make sure the lifespan policy is not persistent since we cannot support it right now. - (merge_policies_impl): Merging of policies specified at the ORB level was not done before. Check if the user has specified the priority model, server protocol, and thread pool policies. If not, check if the policy has been specified at the ORB level. If so, we'll use that policy. - (validate_priorities): Revised this function to do the following tests: Initialize to NOT_SPECIFIED rather than CLIENT_PROPAGATED. If priority model was not specified, then we better not have a thread pool with lanes since this configuration does not make sense. If priority banded connections are set, make sure that: 0. A priority model was specified. 1. There is at least one band. 2a. low is not < RTCORBA::minPriority 2b. low <= high 2c. high is not > RTCORBA::maxPriority 3. If priority model is SERVER_DECLARED, server_priority must match one of the bands. 4. If this POA has a thread pool with lanes, then for each band, there must be at least one thread lane that can service it, i.e., whose priority falls into the band's range. If priority banded connections are not set, and the priority model is SERVER_DECLARED, make sure we have at least one thread lane that can provide service for the specified SERVER_DECLARED priority. * tao/RTPortableServer/RT_Acceptor_Filters.h - (fill_mprofile): Renamed fill_mprofile() to fill_profile() and added a paramter to this function. - (encode_endpoints): Also added a new function encode_endpoints() that encodes the endpoints in the profiles into the TAO_TAG_ENDPOINTS tag component of profiles. - (TAO_Priority_Acceptor_Filter; TAO_Bands_Acceptor_Filter; validate_acceptor): Removed: POA decides with acceptor registries to include in the stub. Therefore, these classes and functions are not longer required. * tao/RTPortableServer/RT_Servant_Dispatcher.cpp: - (~RT_Priority_Model_Processing): Removed code duplication and called post_invoke() directly. - (pre_invoke): Changed the upcall thread preprocessing to do the following: Don't mess with the priority of threads in lanes. For the SERVER_DECLARED PriorityModel processing, use the request associated with the servant. Previously, for the CLIENT_PROPAGATED policy, if the server priority was , then the client propagated priority was ignored. This was fixed. Handle cases where the priority model policy was not specified. Distinguish between invalid target priorities and where the original == target. * tao/RTPortableServer/RT_Collocation_Resolver.cpp: * tao/RTPortableServer/RT_Collocation_Resolver.h: * tao/RTPortableServer/RT_Collocation_Resolver.i: This class decides/resolves whether an object is collocated with the servant. The following check are done: First we do the good ol' basic check: make sure that the servant is in the same ORB that created this object. Then we lookup the thread pool used by the POA where the servant is located. At the same time we figure out which thread pool the calling thread belongs to by looking at it's TSS resources. If the POA's thread pool and the calling thread's thread pool don't match, then the object is not collocated. If they do match and they don't have lanes, we are collocated. Note that this includes the default thread pool. Then we inspect the priority model policy of the target POA. If it is CLIENT_PROPAGATED, then the object is not collocated. Note that the priority model policy cannot be NOT_SPECIFIED because NOT_SPECIFIED is not allowed with thread pool with lanes. If it is SERVER_DECLARED, then we lookup the servant's priority. If that matches the current thread's priority, then the object is not collocated. Otherwise, it is not collocated. * tao/RTPortableServer/RT_POA_Initializer.cpp (init_rt_default_policies): Removed: it was merging the ORB level policies with the default POA policies at initialization time. It correct thing to do would be to merge the ORB level policies with the user provided policies when a POA is being created. * tao/RTPortableServer/RT_Object_Adapter_Factory.cpp: - (create): No need to setup the POA Extension Initializer. Setup the servant dispatcher and the policy validator on the Object Adapter after creating it. - (Constructor): Set the name of the collocation resolver to be RT_Collocation_Resolver and add it to the service configurator. * tao/RTPortableServer/RT_POA_Initializer.cpp: Renamed TAO_RT_POA_Initializer::init() to TAO_RTPortableServer_Initializer::TAO_RTPortableServer_Initializer(). * tao/RTPortableServer/RT_POA.h: Include RTPortableServerC.h instead of RTPortableServer.h. * tao/RTPortableServer/Makefile: * tao/RTPortableServer/Makefile.bor: * tao/RTPortableServer/TAO_RTPortableServer.dsp: * tao/RTPortableServer/TAO_RTPortableServer_Static.dsp: Removed RT_POA_Initializer. Added RT_Collocation_Resolver. * tao/RTCORBA/Thread_Pool.cpp: - (set_tss_resources): Each lane thread on startup sets its thread lane pointer in TSS. This makes it easy to access each thread's lane resources and also makes it easy to identify which threads belong to thread pools and which don't. - (validate_and_map_priority): When a thread lane is opened, its lane priority is validated and mapped to native priority before the threads are spawned. - (open): Open the acceptor registry when a thread lane is opened. - (fini): Finalize resources. - (resources): Added TAO_Thread_Lane_Resources accessor. - (with_lanes): Since a thread-pool without lanes is implemented as a thread-pool with one lane, it is difficult to tell them apart. Added a flag to tell them apart. - (constructors): Make sure and are disabled since we do not support them. - (create_dynamic_threads): In addition to the default flags (THR_NEW_LWP and THR_JOINABLE), add in flags to set the scope and scheduling policies when creating RT threads. - (native_priority): Each lane remembers its native priority in addition to its CORBA priority. - (destroy_threadpool_i): We now shutdown the reactors in the thread pool, wait for the threads in the pool to exit, finalize the resources in the pool, and only then delete the thread pool. - (TAO_RT_New_Leader_Generator::no_leaders_available): This method is called by the leader followers class when it is out of threads to run the event loop. We grab the Thread Pool Manager lock, check if the current number of threads in this lane does not exceed the + number of threads specified by the user. If it does not exceed + , one dynamic thread is created. * tao/RTCORBA/RT_Protocols_Hooks.cpp (set_default_server_protocol_policy): Don't include all the protocols that the ORB knows about in the default server protocol policy; only include protocols that the user has opened. * tao/RTCORBA/RT_Protocols_Hooks.h: Removed ACE_STATIC_SVC_REQUIRE directive since it is not needed. * tao/RTCORBA/RT_ORB_Loader.cpp: - Changed base class from TAO_Object_Loader to ACE_Service_Object. - (create_object): Removed. - (Initializer): Removed. - (init): Handle the scheduling policy variable in terms of THR_SCHED_* values instead of ACE_SCHED_* values since ACE_OS::thr_create expects THR_SCHED_* values. However, ACE_Sched_Params::priority_min() and ACE_Sched_Params::priority_max() expect ACE_SCHED_* values. Therefore, a conversion from THR_SCHED_* values to ACE_SCHED_* values is done in TAO_RT_ORBInitializer::pre_init(). Also, added the ability for the user to specify the scheduling scope of the RT threads through the new ORBScopePolicy option. The option supports the PROCESS and SYSTEM scopes with PROCESS being the default. * tao/RTCORBA/RT_ORB.cpp: - (TAO_RT_ORB): Cache the from the TAO_RT_Thread_Lane_Resources_Manager. - (pre_init): Register the RT_Thread_Lane_Resources_Manager_Factory with the service configurator. - (TAO_RT_CORBA_Priority_Normalizer): Removed since it was no longer needed. * tao/RTCORBA/RT_Mutex.cpp (try_lock): Make sure that mutex::tryacquire() returning -1 with errno == EBUSY is not flagged as an error. * tao/RTCORBA/RT_Invocation_Endpoint_Selectors.cpp: - Added TAO_RT_Default_Endpoint_Selector. Pretty much the same as TAO_Default_Endpoint_Selector except private connections are taken into account. * tao/RTCORBA/RT_Endpoint_Selector_Factory.cpp: - Replaced TAO_Default_Endpoint_Selector with TAO_RT_Default_Endpoint_Selector so that we are sure to take private connection into account. * tao/RTCORBA/Linear_Priority_Mapping.cpp: - Removed special code in the constructors that was added to handle incorrect priorities reported by ACE_Sched_Params::priority_min() and ACE_Sched_Params::priority_max(). This code was not needed after Joe's fixes. - Changed type from int to long. * tao/RTCORBA/Direct_Priority_Mapping.cpp: Simplified this class such that it is really direct, i.e., corba priority maps verbatim to native priority and vice versa. * tao/RTCORBA/Continuous_Priority_Mapping.cpp: Maps the first n CORBA priorities to the range of native priorities, where n is the number of native priorities. The lowest native priority is mapped to CORBA priority 0, next higher native priority is mapped to CORBA priority 1, and so on. Since in all the operating systems where TAO is supported the native priority set contains less than 32767 priorities, part of the CORBA priority range is left unused. Consider NT as an example. NT native priorities -15 -2 -1 0 1 2 15 are mapped to CORBA priorities 0 1 2 3 4 5 6, respectively, and the rest of the CORBA priority range is not used. This class was previously called Direct_Priority_Mapping. * tao/RTCORBA/RT_ORBInitializer.cpp (pre_init): Set the scheduling policy and scope policy into ORB Parameters. Also, converted THR_SCHED_* values into ACE_SCHED_* values. * tao/RTCORBA/RTCORBA.cpp: - (init): Removed: functionality moved to the constructor. - (TAO_RTCORBA_Initializer): Removed the registration of TAO_RT_Protocols_Hooks into the service configurator - it is already done in TAO_RT_ORBInitializer::pre_init. * tao/RTCORBA/RT_Thread_Lane_Resources_Manager.cpp * tao/RTCORBA/RT_Thread_Lane_Resources_Manager.h * tao/RTCORBA/RT_Thread_Lane_Resources_Manager.i RT manager which manages multiple set of resources associated with each thread lane and has a default set of lane resources. * tao/RTCORBA/RT_Current.h: * tao/RTCORBA/RT_Mutex.h: * tao/RTCORBA/RT_ORB.h: * tao/RTCORBA/RT_ORBInitializer.cpp: * tao/RTCORBA/RT_Policy_i.h: * tao/RTCORBA/Thread_Pool.h * tao/RTPortableServer/RTPortableServerC.h * tao/RTPortableServer/RT_Acceptor_Filters.h: * tao/RTPortableServer/RT_Servant_Dispatcher.h: Include RTCORBA.h instead of RTCORBAC.h. * tao/RTCORBA/Makefile.bor: * tao/RTCORBA/Makefile: * tao/RTCORBA/TAO_RTCORBA.dsp: * tao/RTCORBA/TAO_RTCORBA_Static.dsp: Removed Pool_Per_Endpoint; added RT_Thread_Lane_Resources_Manager and Continuous_Priority_Mapping. * tao/ORB_Core.cpp: - (Reactor_Registry): Removed from the ORB Core. Each thread lane how manages its own Leader/Follower object which has its own Reactor. - (Transport_Cache): Moved from the ORB Core to the thread lane. - (Acceptor_Registry): Moved from the ORB Core to the thread lane. - (Thread_Lane_Resources_Manager): The ORB Core now has a pointer to a Thread_Lane_Resources_Manager. It'll either be the Default_Thread_Lane_Resources_Manager that manages the default thread lane, or it'll be the RT_Thread_Lane_Resources_Manager that manages the default thread lane and the RT thread lanes. - (Thread_Lane_Resources_Manager_Factory): Thread_Lane_Resources_Manager are created using this factory. This factory is accessed through the Service Configurator. - (reactor_): Removed unused member. - (inherit_from_parent_thread): Removed dead code. - (create_stub): No need to pass ORB_Core::create_stub() a pointer to the ORB_Core. - (create_stub_object): Simplified this function. MProfile creation is going to be done by the POA. - (is_collocated): This function now checks with the lane resources if the acceptor registry has been created. - (leader_follower, lf_strategy): Access the Leader/Followers and LF Strategy object from the thread lane resources rather than from the Reactor Registry. - (open): Removed: thread lanes resourced are opened when thread pools are created; thread lanes resourced are opened when the Root POA is created. - (shutdown): Added missing ACE_CHECKs. - (reactor): Removed acceptor based reactor selection. - (poa_extension_initializer): Removed since it was no longer needed. - (TAO_CORBA_Priority_Normalizer): Removed since it was no longer needed. - (resource_factory_from_service_config_, client_factory_from_service_config_, server_factory_from_service_config_): Removed since it was no longer needed. - (resource_factory_, stub_factory_, endpoint_selector_factory_, protocols_hooks_, client_factory_, server_factory_): Simplified the creation of these factories. Now there is no need to include these files: Default_Stub_Factory.h Default_Endpoint_Selector_Factory.h Default_Protocols_Hooks.h - (collocation_strategy): When trying to select the collocation strategy to use for a method call on an object, it is no longer sufficient to check the flag on the object. The decision is left to the collocation resolver, which get interesting in the collocated case. - (is_collocated): Don't ask only the current thread lane resources to see if the mprofile matches the acceptors; instead ask all the thread lane resources in the ORB. The functionality is shifted over to the Thread_Lane_Resources_Manager which knows how many lanes there are in this ORB. - (TAO_ORB_Core_TSS_Resources): Removed , , and ; added from/to the per-ORB TSS resources. * tao/ORB.cpp (create_stub_object): Removed unused method. In addition, stub creation really belongs to the POA. * tao/param.cpp: Added the scheduling policy and scope policy for RTCORBA threads created by the ORB. * tao/Tagged_Profile.cpp (extract_object_key): * tao/IIOP_Transport.cpp (set_bidir_context_info): Acceptor registry is now accessed through the lane resources rather than through the ORB Core. * tao/Transport.cpp: * tao/Acceptor_Impl.cpp (make_svc_handler): * tao/IIOP_Connector.cpp: * tao/IIOP_Connection_Handler.cpp (add_transport_to_cache): * tao/Strategies/SHMIOP_Connector.cpp: * tao/Strategies/SHMIOP_Connection_Handler.cpp (add_transport_to_cache): * tao/Strategies/DIOP_Connection_Handler.cpp (add_transport_to_cache): * tao/Strategies/UIOP_Connector.cpp: * tao/Strategies/UIOP_Connection_Handler.cpp (add_transport_to_cache): * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.cpp (add_transport_to_cache): * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connector.cpp (add_transport_to_cache): Transport cache is now accessed through the lane resources rather than through the ORB Core. * tao/Pluggable.cpp: * tao/IIOP_Acceptor.cpp: * tao/Strategies/DIOP_Acceptor.cpp: * tao/Strategies/SHMIOP_Acceptor.cpp: * tao/Strategies/UIOP_Acceptor.cpp: * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Acceptor.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.cpp: - Priority: Since endpoints are no longer associated with priorities, the priority is explicitly passed in from the thread lane when creating the shared profile. If a "priority" option is specified by the user, it'll be flagged as an error. - (create_profile): Renamed create_mprofile() to create_profile() while adding a parameter and removing the parameter. Creation of a shared profile can be done if we have a valid . Otherwise, we create a new profile. - (create_new_profile): Renamed create_new_profiles() to create_new_profile() while adding a parameter. - (create_shared_profile): Added a parameter. - (open, open_i, open_default): Reactor is specified explicitly rather than coming implicitly from the ORB Core. * tao/Thread_Lane_Resources.cpp * tao/Thread_Lane_Resources.h * tao/Thread_Lane_Resources.i New class representing a thread lane's resources. The class has the following resources: - Acceptor Registry - Transport Cache - Leader/Follower (and hence the Reactor also) These resources use to be in the ORB Core. However, with the introduction of thread lanes, these resources were moved to this class. These resources will be managed by two kinds of managers: (a) default (non-RT) manager which only has one set of lane resources and approximates these resources being in the ORB Core. (b) RT manager which manages multiple set of resources associated with each thread lane and has a default set of lane resources. * tao/Thread_Lane_Resources_Manager.cpp * tao/Thread_Lane_Resources_Manager.h * tao/Thread_Lane_Resources_Manager.i Abstract manager and manager factory. * tao/Default_Thread_Lane_Resources_Manager.cpp * tao/Default_Thread_Lane_Resources_Manager.h * tao/Default_Thread_Lane_Resources_Manager.i Default (non-RT) manager which only has one set of lane resources and approximates these resources being in the ORB Core. * tao/Endpoint.h (TAO_Endpoint): Changed default value in constructor to instead of -1. * tao/Protocols_Hooks.cpp: * tao/Default_Protocols_Hooks.cpp: - (set_default_server_protocol_policy): Added no-op new method. It'll be useful with RTCORBA. * tao/Acceptor_Registry.cpp: - (open, open_default, open_i): The reactor is explicitly passed to these methods instead of getting it from the ORB Core. - (open, open_i): The acceptor endpoints used by thread lanes are selected randomly from the ones available on the local machine. There is no way for the user to associate thread lanes with endpoints because the thread lanes are unnamed. A new parameter was added to open() and open_i() that ignores the address specified in the -ORBEndpoint option. is 1 for lane acceptors and 0 for default acceptors. - (make_mprofile): This function was removed because it was doing too much, i.e., calling fill_mprofile() which was creating and encoding the mprofile. Since the POA has to now deal with multiple acceptor registries, this functionality was moved to the POA. * tao/Default_Acceptor_Filter.h: * tao/Acceptor_Filter.h: - (fill_mprofile): Renamed fill_mprofile() to fill_profile() and added a paramter to this function. - (encode_endpoints): Also added a new function encode_endpoints() that encodes the endpoints in the profiles into the TAO_TAG_ENDPOINTS tag component of profiles. * tao/Transport_Cache_Manager.cpp (open): Removed. * tao/TAO_Internal.cpp (open_services_i): Insert the Default_Thread_Lane_Resources_Manager_Factory and the Default_Collocation_Resolver into the service configurator. Also, cast RT_ORB_Loader to ACE_Service_Object instead of TAO_Object_Loader. * tao/default_resource.cpp: * tao/Resource_Factory.cpp: * tao/Strategies/advanced_resource.cpp: - (reactor_registry): Removed since it was no longer needed. - (ORBReactorRegistry): Report error since this option is no longer supported. * tao/ORB.cpp (url_ior_string_to_object): * tao/CORBALOC_Parser.cpp (make_stub_from_mprofile): * tao/Stub.cpp (set_policy_overrides): * tao/Object.cpp (operator>>): * tao/IORManipulation/IORManipulation.cpp: No need to pass ORB_Core::create_stub() a pointer to the ORB_Core. * tao/Collocation_Resolver.cpp: * tao/Collocation_Resolver.h: * tao/Collocation_Resolver.i: * tao/Default_Collocation_Resolver.cpp: * tao/Default_Collocation_Resolver.h: * tao/Default_Collocation_Resolver.i: This class decides/resolves whether an object is collocated with the servant. The default resolver simply does what was done before which is to check the flag on the object. The RT resolver is more interesting. * tao/Leader_Follower.cpp (elect_new_leader): When we are out of leader threads and there are no event loop threads waiting and there are no followers available, we call on the new leader generator class to create us a new leader thread. * tao/Makefile: * tao/Makefile.bor: * tao/Makefile.am: * tao/TAO.dsp: * tao/TAO_Static.dsp: - Added new files: Thread_Lane_Resources Thread_Lane_Resources_Manager Default_Thread_Lane_Resources_Manager Collocation_Resolver Default_Collocation_Resolver - Removed these files: Reactor_Registry Single_Reactor POA_Extension_Initializer * tao/Makefile: * tao/Makefile.bor: * tao/Makefile.am: - Removed the following *S_T.* files. Since the *S.* are not needed, these will also not be needed: CONV_FRAMES_T GIOPS_T IOPS_T PollableS_T TAOS_T TimeBaseS_T * tao/TAO.dsp: * tao/TAO_Static.dsp: - Removed these files: TimeBaseS CONV_FRAMES Connector_Impl TAO_Singleton * tao/PortableServer/POA.cpp: - (create_POA_i): Before a POA is created (including the RootPOA), any relevant policies at the ORB level should be merged with the policies passed to create_POA() by the user. - (servant_to_id_i, servant_to_reference): Use the from the priority model policy rather than for servants that are not registered with explicit priorities. - (create_stub_object): The POA is now responsible for selecting which profiles to create the stub with. This change is more relevant for the RT POA. - (thread_pool): No-op accessor added. This change is more relevant for the RT POA. - (friend): Added TAO_RT_Collocation_Resolver as a friend so that it can call lookup_servant_i(). This is safe because Servant_Upcall has the lock held. * tao/PortableServer/Object_Adapter.cpp: - (open): Make sure that the default resources are open when the RootPOA is created. Make sure that the correct default Server Protocol Policy is set after we open the default resources. Previously all the protocols supported were included in the default Server Protocol Policy. This should be restricted to only the protocols opened by default (such as IIOP) and any other asked for by the user (such as SHMIOP). Before a POA is created (including the RootPOA), any relevant policies at the ORB level should be merged with the policies passed to create_POA() by the user. No need to access the POA Initializer. TAO_RT_Object_Adapter_Factory will set things up for us. - (Servant_Upcall::lookup_POA): New method added to simply lookup the POA. This method is needed for looking up the POA when making collocation decisions. * tao/PortableServer/POA_Cached_Policies.cpp (TAO_POA_Cached_Policies): Changed the default value of from TAO_POA_Cached_Policies::CLIENT_PROPAGATED to TAO_POA_Cached_Policies::NOT_SPECIFIED. * tao/PortableServer/Default_Policy_Validator.cpp: - (merge_policies_impl): No-op method was added. - (Default_Policy_Validator): Pass-through-to-base-class constructor was added. * tao/PortableServer/Default_Acceptor_Filter.cpp: - (fill_mprofile): Got renamed to fill_profile(). - (encode_endpoints): No-op method was added. * tao/PortableServer/Policy_Validator.cpp (merge_policies): Merge any relevant policies at the ORB level into the current set. * tao/PortableServer/POA_Policy_Set.i (policies): Added accessor to underlying TAO_Policy_Set implementation. * tao/Strategies/Makefile.bor: * tao/Strategies/Makefile: * tao/Strategies/TAO_Strategies.dsp: * tao/Strategies/TAO_Strategies_Static.dsp: Removed Reactor_Per_Priority. * TAO_IDL/be/be_visitor_interface/strategized_proxy_broker_ss.cpp: * tao/PortableServer/ImplRepoS.cpp: * tao/PortableServer/MessagingS.cpp: * tao/PortableServer/PolicyS.cpp: * tao/PortableServer/Strategized_Object_Proxy_Broker.cpp: * orbsvcs/IFR_Service/IFR_BaseS.cpp: * orbsvcs/IFR_Service/IFR_BasicS.cpp: * orbsvcs/IFR_Service/IFR_ComponentsS.cpp: * orbsvcs/IFR_Service/IFR_ExtendedS.cpp: * tao/Domain/DomainS.cpp: Passed environment variable to TAO_ORB_Core::collocation_strategy(). * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp: - make_mprofile() was replaced by endpoint_count() and fill_profile(). - Access the acceptor registry through the lane resources rather than through the ORB Core. - Include "tao/Thread_Lane_Resources.h". * tests/RTCORBA/Policy_Combinations: New test added that combines and tests several RT policies in different ways. - The IDL interface has two methods: method() and prioritized_method(). - The client sets its thread to the default priority, calls method() which returns a priority. If the priority returned is different from , the client sets its thread to the priority returned by the server and calls prioritized_method() - The servant returns the member in method(). In prioritized_method(), it makes sure that the thread running the upcall is at priority . These two members allow several different policies to be tested with the same code. - In addition to testing servants in the RootPOA and in a simple child POA, the following policy combinations are tested in this example: ________________________________________________________________________________ Thread-pool BANDS PRIORITY MODEL Client Priority Server Priority ________________________________________________________________________________ Default Pool NO CLIENT_PROPAGATED 3 3 Default Pool NO SERVER_DECLARED 3 5 Without Lanes NO CLIENT_PROPAGATED 1 1 Without Lanes NO SERVER_DECLARED 1 5 With Lanes NO CLIENT_PROPAGATED 2 2 With Lanes NO SERVER_DECLARED 3 5 Default Pool YES CLIENT_PROPAGATED 3 3 Default Pool YES SERVER_DECLARED 1 5 Without Lanes YES CLIENT_PROPAGATED 1 1 Without Lanes YES SERVER_DECLARED 3 5 With Lanes YES CLIENT_PROPAGATED 3 2 With Lanes YES SERVER_DECLARED 1 5 where the priorities are relative to the minimum priority of the thread scheduling policy used for the test. - This test uses the -ORBPriorityMapping continuous option. * tests/RTCORBA/Linear_Priority: This is a test for the Linear Priority mapping in TAO. In addition, this test combines and tests several RT policies in different ways. This test can also be used for testing the different scheduling policies (e.g., FIFO, RR, OTHER) by using the ORBSchedPolicy and ORBScopePolicy options in svc.conf file. - The server can be setup to use bands or no bands and thread lanes or no lanes. - The client can be setup to use bands or no bands and different invocation priorities. It creates a thread for each invocation priority and issues multiple requests to the server from each thread. - The following policy combinations are tested in this example: __________________________________________________ Server-side Thread Client-side Multi-priority Bands Lanes Bands Clients __________________________________________________ NO NO NO NO YES NO NO NO NO YES NO NO YES YES NO NO NO NO YES NO NO YES YES NO NO NO NO YES YES NO NO YES YES YES NO YES NO NO YES YES NO YES YES YES * tests/RTCORBA/Thread_Pool: - server.cpp: Associated the thread pools with POAs. Produced three servants, one that uses the default thread pool, the second uses an RT thread pool without lanes, and the third that uses an RT thread pool with lanes. Also added the use of CLIENT_PROPAGATED priority model. - client.cpp: Changed the default ior file from to . - run_test.pl: Spawn multiple clients for each servant. The servants with multiple threads in their thread-pool respond faster than the servants with a single thread thread-pool. - test_i.cpp (method): Added debugging output to see which lane/pool/thread is being used to run the upcall. - README: Updated to reflect changes in the test. * tests/RTCORBA/Destroy_Thread_Pool: New test added that tests the creation and destruction of thread pools (with and without lanes). * tests/RTCORBA/Persistent_IOR: New test added that: - For POAs using the default thread pool, the user can continue to use -ORBEndpoint option. - Makes sure that if the user tries to combine thread pools and persistence, an InvalidPolicy exception is thrown. - Makes sure that for POAs using thread pools, the user can specify the protocol selection, protocol version, and other protocol specific options (basically everything other than the endpoint address) through the -ORBEndpoint option. * tests/RTCORBA/Collocation: This is a new test for collocation when using thread pools and lanes. There are multiple servants in this test: (a) One servant is in the Root POA which is service by the default thread pool. (b) Another servant is in a POA which is serviced by a thread pool without lanes. Since a thread pool without lanes is really a thread pool with one lane, all requests will be handled by this one lane. Therefore, setting the priority model policy was not necessary for this POA. (c) There are two servants is in a POA which is serviced by a thread pool with lanes, with the CLIENT_PROPAGATED policy. Depending on the priority of the caller, either one of the lanes processes the request. (d) There are two more servants is in a POA which is serviced by a thread pool with lanes, with the SERVER_DECLARED policy. One servant is registered to match one lane and the other servant matches the other lane. All six servants are put into a global array. The main thread starts off the testing by calling start() on each servant in the array. The implementation of start() calls method() on each servant in the array. Since the upcalls will be handled by the lane corresponding to each servant, all six lanes ends up calling into one another. The main thread then changes its priority and calls start() on each servant in the array. This makes sure to exercise the second lane in the thread pool with lanes and the CLIENT_PROPAGATED priority. The test also converts the objects into strings and back to make sure that collocation works as expected for imported objects. This test has enough asserts to make sure that the correct thread is making the upcall. * tests/RTCORBA/Banded_Connections: - server.cpp: - We cache the RT_Current in the constructor instead of having to look it up on every call. - Simplified some of the options and some parts of the code. - The POA priority is now deduced from the lane priorities. Lane priorities are not deduced from the bands. - The old Reactor-per-Priority scheme was replaced by RT Thread-Pools. - Removed dependency on advance resources in the strategies library. - Added check to make sure multiple priorities are supported. - client.cpp: - Simplified some of the options and some parts of the code. - Client thread priorities are now deduced from the bands. - Added check to make sure multiple priorities are supported. - test.idl (Test): test_method() now passes an additional boolean parameter to indicate what kind of invocation it thinks it is making. This is a useful sanity check. - server.conf: The service configurator directives in this file were no longer needed; therefore this file was removed. - run_test.pl: Removed specification of endpoint priorities since they are no longer needed or supported. Also simplified some of the other options used in this test. - client.dsp: - server.dsp: Removed the static build configurations. - README: Updated to reflect changes in the test. * tests/RTCORBA/Server_Declared: - server.cpp: - The old Reactor-per-Priority scheme was replaced by a simple ORB::run(). - Exception test for an invalid servant priority was removed since there is already a test that does this. - Added check to make sure multiple priorities are supported. - Removed dependency on advance resources in the strategies library. - client.cpp: Added check to make sure multiple priorities are supported. - run_test.pl: Removed specification of endpoint priorities since they are no longer needed or supported. Also simplified some of the other options used in this test. - server.conf: The service configurator directives in this file were no longer needed; therefore this file was removed. - README: Updated to reflect changes in the test. * tests/RTCORBA/MT_Client_Protocol_Priority - server.cpp: - The old Reactor-per-Priority scheme was replaced by RT Thread-Pools. - Added check to make sure multiple priorities are supported. - client.cpp: - Added check to make sure multiple priorities are supported. - Removed dependency on advance resources in the strategies library. - run_test.pl: Removed specification of endpoint priorities since they are no longer needed or supported. - server.conf: Removed some of the service configurator directives in this file that were no longer needed. - README: Updated to reflect changes in the test. * tests/RTCORBA/check_supported_priorities.cpp: Common check used by several RT tests to make sure multiple priorities are supported. * tests/RTCORBA/Linear_Priority/client.cpp: * tests/RTCORBA/Linear_Priority/server.cpp: No need to use ACE_DEFAULT_THREAD_PRIORITY. 0 is a valid CORBA priority for any range when using Linear mapping. * tests/RTCORBA/Destroy_Thread_Pool/Destroy_Thread_Pool.cpp: * tests/RTCORBA/Persistent_IOR/server.cpp: * tests/RTCORBA/Policy_Combinations/client.cpp: * tests/RTCORBA/Policy_Combinations/server.cpp: * tests/RTCORBA/Thread_Pool/server.cpp: Removed dependency on ACE_DEFAULT_THREAD_PRIORITY by getting the main thread's priority from the RT Current. * tests/RTCORBA/Banded_Connections/bands.nt: * tests/RTCORBA/MT_Client_Protocol_Priority/run_test.pl: * tests/RTCORBA/Server_Declared/run_test.pl: Reworked priority values for NT after the direct mapping became simple. The only valid CORBA priorities with direct mapping on NT are: 0, 1, 2, and 15. For bands, only 0, 1, and 2 are counted because of the emptiness between 2 and 15. * tests/RTCORBA/RTCORBA_tests.dsw: * tests/RTCORBA/Makefile: * tests/RTCORBA/Makefile.bor: Added new tests ORB_init, Policy_Combinations, Destroy_Thread_Pool, Persistent_IOR, Collocation, and Linear_Priority. * tests/RTCORBA/Banded_Connections/Makefile: * tests/RTCORBA/Banded_Connections/client.bor: * tests/RTCORBA/Banded_Connections/client.dsp: * tests/RTCORBA/Banded_Connections/server.bor: * tests/RTCORBA/Banded_Connections/server.dsp: * tests/RTCORBA/Client_Propagated/Makefile: * tests/RTCORBA/Client_Propagated/client.bor: * tests/RTCORBA/Client_Propagated/client.dsp: * tests/RTCORBA/Client_Propagated/server.bor: * tests/RTCORBA/Client_Propagated/server.dsp: * tests/RTCORBA/Linear_Priority/client.dsp: * tests/RTCORBA/Linear_Priority/server.dsp: * tests/RTCORBA/Policy_Combinations/client.dsp: * tests/RTCORBA/Policy_Combinations/server.dsp: * tests/RTCORBA/Private_Connection/client.dsp: * tests/RTCORBA/Private_Connection/server.dsp: * tests/RTCORBA/Client_Propagated/Makefile: * tests/RTCORBA/Client_Propagated/client.bor: * tests/RTCORBA/Client_Propagated/client.dsp: * tests/RTCORBA/Client_Propagated/server.bor: * tests/RTCORBA/Client_Propagated/server.dsp: Removed Strategies library since it is not needed. * tests/RTCORBA/Client_Protocol/client.bor: * tests/RTCORBA/Client_Protocol/client.dsp: * tests/RTCORBA/Explicit_Binding/client.bor: * tests/RTCORBA/Explicit_Binding/client.dsp: * tests/RTCORBA/MT_Client_Protocol_Priority/client.bor: * tests/RTCORBA/MT_Client_Protocol_Priority/client.dsp: * tests/RTCORBA/Private_Connection/client.bor: * tests/RTCORBA/RTMutex/server.dsp: * tests/RTCORBA/Server_Protocol/client.bor: * tests/RTCORBA/Server_Protocol/client.dsp: Removed PortableServer and RTPortableServer libraries since they are not needed. * tests/TAO_Tests.dsw: * tests/BiDirectional/test_i.cpp: * tests/BiDirectional_NestedUpcall/test_i.cpp: * tests/Collocation/Coll_Test_Stubs.bor: * tests/Collocation/Coll_Test_Stubs.dsp: * tests/Collocation/Coll_Tester.cpp: * tests/Collocation/Coll_Tester.h: * tests/Collocation/Collocation.bor: * tests/Collocation/Collocation.cpp: * tests/Collocation/Collocation.dsp: * tests/Collocation/Collocation.dsw: * tests/Collocation/Collocation_Test_Stubs.bor: * tests/Collocation/Collocation_Test_Stubs.dsp: * tests/Collocation/Collocation_Tester.cpp: * tests/Collocation/Collocation_Tester.h: * tests/Collocation/Diamond.bor: * tests/Collocation/Diamond.dsp: * tests/Collocation/Makefile.bor: * tests/Collocation/Makefile.test: * tests/Collocation/README: * tests/Connection_Purging/client.bor: * tests/Connection_Purging/client.cpp: * tests/Connection_Purging/client.dsp: * tests/Connection_Purging/server.bor: * tests/Connection_Purging/server.cpp: * tests/Connection_Purging/server.dsp: * tests/DLL_ORB/Test_Client_Module.dsp: * tests/DLL_ORB/Test_Server_Module.dsp: * tests/DLL_ORB/client.dsp: * tests/DLL_ORB/server.dsp: * tests/Exposed_Policies/Makefile: * tests/Exposed_Policies/Policy_Tester.cpp: * tests/Exposed_Policies/Policy_Verifier.cpp: * tests/Exposed_Policies/run_test.pl: * tests/Exposed_Policies/server.conf: * tests/Exposed_Policies/svc.conf: * tests/Faults/middle.dsp: * tests/Multiple/Client.dsp: * tests/Multiple/Server.dsp: * tests/Oneways_Invoking_Twoways/Oneways_Invoking_Twoways.dsw: Made a bunch of small changes to make code and makefiles consistent. * docs/rtcorba/features.html: * docs/rtcorba/status.html: * docs/rtcorba/issues.html: Updated RTCORBA documentation to reflect new thread-pool support. Also added new issues that need to be addressed. * docs/Options.html: Added documentation for new -ORBScopePolicy option and updated documentation for -ORBPriorityMapping option. Mon Sep 17 13:18:35 2001 Carlos O'Ryan * orbsvcs/orbsvcs/CosEventComm.idl: * orbsvcs/orbsvcs/CosEventChannelAdmin.idl: * orbsvcs/orbsvcs/CosEvent/CEC_ConsumerAdmin.h: * orbsvcs/orbsvcs/CosEvent/CEC_ConsumerControl.h: * orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.h: * orbsvcs/orbsvcs/CosEvent/CEC_Defaults.h: * orbsvcs/orbsvcs/CosEvent/CEC_Dispatching.h: * orbsvcs/orbsvcs/CosEvent/CEC_Dispatching_Task.h: * orbsvcs/orbsvcs/CosEvent/CEC_EventChannel.h: * orbsvcs/orbsvcs/CosEvent/CEC_Event_Loader.h: * orbsvcs/orbsvcs/CosEvent/CEC_Factory.h: * orbsvcs/orbsvcs/CosEvent/CEC_MT_Dispatching.h: * orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullConsumer.h: * orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullSupplier.h: * orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushConsumer.h: * orbsvcs/orbsvcs/CosEvent/CEC_ProxyPushSupplier.h: * orbsvcs/orbsvcs/CosEvent/CEC_Pulling_Strategy.h: * orbsvcs/orbsvcs/CosEvent/CEC_Reactive_ConsumerControl.h: * orbsvcs/orbsvcs/CosEvent/CEC_Reactive_Pulling_Strategy.h: * orbsvcs/orbsvcs/CosEvent/CEC_Reactive_SupplierControl.h: * orbsvcs/orbsvcs/CosEvent/CEC_SupplierAdmin.h: * orbsvcs/orbsvcs/CosEvent/CEC_SupplierControl.h: Use Doxygen to document the COS Event Service implementation and its IDL interfaces. * orbsvcs/orbsvcs/RtecBase.idl: * orbsvcs/orbsvcs/RtecDefaultEventData.idl: * orbsvcs/orbsvcs/RtecEventChannelAdmin.idl: * orbsvcs/orbsvcs/RtecEventComm.idl: * orbsvcs/orbsvcs/RtecUDPAdmin.idl: Use Doxygen to document TAO's Real-time Event Service interface. * orbsvcs/orbsvcs/CosNotification.idl: * orbsvcs/orbsvcs/CosNotifyChannelAdmin.idl: * orbsvcs/orbsvcs/CosNotifyComm.idl: * orbsvcs/orbsvcs/CosNotifyFilter.idl: Use Doxygen to document the OMG Notification Service IDL files. Sun Sep 16 11:22:12 2001 Balachandran * TAO version 1.1.20 released. Fri Sep 14 11:35:55 2001 Balachandran Natarajan * tao/Transport.cpp (consolidate_message): Used the size () of the message block instead of the length (). Thanks to Mahesh Varadarajan for reporting this. Fri Sep 14 07:08:41 2001 Balachandran Natarajan * tests/Makefile.bor: Added Cache_Growth_Test to this Makefile. Thanks to Johnny Willemsen for pointing this out. Thu Sep 13 13:46:54 2001 Balachandran Natarajan * docs/Options.html: Changed -ORBCacheMax in the documentation to be -ORBConnectionCacheMax. Thanks to Jean-christophe Dubois for reporting this. Thu Sep 13 13:18:48 2001 Balachandran Natarajan * tests/Cache_Growth_Test: A new test for testing whether the Cache size grows when old clients start disconnecting and new clients start connecting. * tests/Cache_Growth_Test/run_test.pl: * tests/Cache_Growth_Test/Makefile: * tests/Cache_Growth_Test/Makefile.bor: * tests/Cache_Growth_Test/server.dsp: * tests/Cache_Growth_Test/Cache_Grow.dsw: * tests/Cache_Growth_Test/server.cpp: * tests/Cache_Growth_Test/client.cpp: * tests/Cache_Growth_Test/server.bor: * tests/Cache_Growth_Test/client.bor: * tests/Cache_Growth_Test/README: * tests/Cache_Growth_Test/Hello.h: * tests/Cache_Growth_Test/Hello.cpp: Files for the test. * tests/Makefile: Added the new test. Thu Sep 13 12:46:45 2001 Balachandran Natarajan * tao/Transport.h: * tao/Transport.cpp: Changed the name of the method mark_invalid () to purge_entry (). The mark_invalid () does not remove the handler from cache. Just leaving the cache entry after the connection is closed leads to increase in run time memory requirements. See bug #1025 for details. Thanks to Jean-Christophe Dubois and Kevin Cline for reporting this. Thanks to Chris Cleeland and Chad Elliott for reviewing the fix. * tao/IIOP_Connection_Handler.cpp: * tao/Strategies/DIOP_Connection_Handler.cpp: * tao/Strategies/UIOP_Connection_Handler.cpp: * tao/Strategies/SHMIOP_Connection_Handler.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.cpp (handle_close): Purge the entry while closing down the connection instead of instead of marking it invalid. Thu Sep 13 11:33:35 2001 Balachandran Natarajan * tests/BiDirectional/test_i.cpp (call_client): * tests/BiDirectional_NestedUpcall/test_i.cpp: Instead of just using ACE_ASSERT, added an extra debug statement with reason why the program is going to abort. Thu Sep 13 11:05:13 2001 Balachandran Natarajan * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.cpp: * tao/IIOP_Connection_Handler.cpp (process_listen_point_list): When creating an IIOP Endpoint, passed in the value of the ORBDottedDecimal address value from the ORB_Core. This is a real stupid mistake :(. Added a debug statement. Thanks to Werner Buchert for reporting this problem. Wed Sep 12 17:05:00 2001 Balachandran Natarajan * tao/DynamicAny/DynAny_i.cpp: Fixed a compile problem with g++. Wed Sep 12 16:29:49 2001 Balachandran Natarajan * tao/Leader_Follower.cpp (wait_for_event): If the follower times out, we set the state in the LF_Event to indicate an error. * tao/LF_Event.h: * tao/LF_Event.cpp: * tao/LF_Event.inl: Added a new private method that allows setting the state without holding the lock. Moreover, before we signal the follower in state_changed () we check whether the LF_Event has reached a final state or not. Further, we also check whether we have a valid follower_ pointer before we signal the follower. This fix should fix the problems MT_Timeout tests. The problem was that the leader thread was processing the followers reply when the follower timedout. Wed Sep 12 12:33:15 2001 Jeff Parsons * tao/DynamicAny/DynAny_i.cpp: Added 'const' to the char* passed to the extraction operator in the change below. Wed Sep 12 10:13:31 2001 Jeff Parsons * tao/DynamicAny/DynAny_i.cpp: Strange bug that seems to happen only on Win32, where when a DynAny containing a string is copied from another, its type code member gets the bound copied correctly, but its member any's type code does not. It crops up only in the equal() method where the strings are extracted from the member anys and compared. The CORBA::Any::to_string struct is left out of the extraction from the lhs any. There is no danger of type mismatch, since the type codes (which do retain bound information) have already been compared for equivalence. Tue Sep 11 18:07:46 2001 Yamuna Krishnamurthy * orbsvcs/orbsvcs/AV/Fill_ACE_QoS.h: * orbsvcs/orbsvcs/AV/Fill_ACE_QoS.cpp: Fixed compile errors with RAPI enabled. Tue Sep 11 15:46:44 2001 Balachandran Natarajan * tests/File_IO/client.cpp: * tests/File_IO/server.cpp: Reduced the number of threads a bit for Sun CC alone. Bug 957 is in action again. Mon Sep 10 20:00:25 2001 Priyanka Gontla * tao/MCAST_Parser.cpp: Fixed the errors on Win. Mon Sep 10 13:34:43 2001 Balachandran Natarajan * tao/ORB_Core.cpp (output_cdr_dblock_allocator): Added a comment in the code. Mon Sep 10 12:23:30 2001 Jeff Parsons * tao/DynamicAny/DynCommon.cpp (insert_string, get_string): Fixed a problem in these methods with bounded strings. Thanks to Russell Mora for reporting this bug. * tests/DynAny_Test/da_tests.idl: * tests/DynAny_Test/test_dynsequence.cpp: Added a bounded string example to the DynSequence test. Mon Sep 10 12:17:12 2001 Balachandran Natarajan * performance-tests/RTCorba/Multiple_Endpoints/Orb_Per_Priority/Makefile: Moved the libraries around to get proper link line. It was busted. Further added a realclean so that we remove strange generated files out of the directory. This shoudl fix one of the compile errors in LYNX_PPC builds. Mon Sep 10 07:41:05 2001 Balachandran Natarajan * tests/Xt_Stopwatch/Makefile: Updated dependencies. Sun Sep 9 11:09:04 2001 Balachandran Natarajan * tao/Makefile: Updated dependencies. Fri Sep 7 17:16:50 2001 Anand Krishnan * orbsvcs/tests/Security/MT_SSLIOP/run_test.pl: Actually committing the file. Fri Sep 7 12:56:45 2001 Craig Rodrigues * orbsvcs/AV/Protocol_Factory.cpp: Add default constructor. Thanks to Joe Loyall for finding this. Thu Sep 6 20:07:25 2001 Balachandran Natarajan * tao/Makefile.bor: Added MCAST_Parser to the Makefile. Thu Sep 6 12:56:55 2001 Priyanka Gontla * orbsvcs/tests/Simple_Naming/run_test.pl (client): Modified the perl script to adhere to the new way of providing the reference to a multicasted service. Thu Sep 6 07:17:13 2001 Balachandran Natarajan * tao/MCAST_Parser.cpp: Fixed compile errors in Minimum builds. Wed Sep 5 22:28:41 2001 Balachandran Natarajan * tao/MCAST_Parser.cpp: Fixed a compile error with g++. * tao/ORB.cpp: Fixed a warning with g++. Wed Sep 5 19:51:36 2001 Priyanka Gontla * tao/TAO_Static.dsp: * tao/TAO.dsp : Added the new MCAST_Parser files. Wed Sep 5 17:26:12 2001 Yamuna Krishnamurthy * orbsvcs/orbsvcs/AV/AVStreams_i.cpp: Made changes to TAO_StreamEndPoint::change_qos to allow passing a null AVStreams::QoS to the TAO_AV_Flow_Handler::change_qos. * orbsvcs/orbsvcs/AV/AVStreams_i.i: Added a missing parameter to the ACE_DEBUG statement to print the flow name. * orbsvcs/orbsvcs/AV/QoS_UDP.cpp: Facilitated the passing of null AVStreams::QoS to the negotiator. Wed Sep 5 17:26:12 2001 Anand Krishnan * orbsvcs/tests/Security/MT_SSLIOP/run_test.pl: * orbsvcs/tests/Security/MT_SSLIOP/server.cpp: * orbsvcs/tests/Security/MT_SSLIOP/Server_Worker.h: * orbsvcs/tests/Security/MT_SSLIOP/Server_Worker.cpp: * orbsvcs/tests/Security/MT_SSLIOP/client.cpp: * orbsvcs/tests/Security/MT_SSLIOP/Client_Worker.cpp: * orbsvcs/tests/Security/MT_SSLIOP/Client_Worker.h: * orbsvcs/tests/Security/MT_SSLIOP/Makefile: * orbsvcs/tests/Security/MT_SSLIOP/test_i.cpp: * orbsvcs/tests/Security/MT_SSLIOP/test_i.h: * orbsvcs/tests/Security/MT_SSLIOP/test_i.i: * orbsvcs/tests/Security/MT_SSLIOP/client.conf: * orbsvcs/tests/Security/MT_SSLIOP/server.conf: * orbsvcs/tests/Security/MT_SSLIOP/selfsigncert.pem: * orbsvcs/tests/Security/MT_SSLIOP/pvtkey.pem: * orbsvcs/tests/Security/MT_SSLIOP/test.idl: A test for a simple multi-threaded SSLIOP test. This test will not be included in the daily builds for the upcoming beta, but will be there for the next beta. Wed Sep 5 12:10:40 2001 Priyanka Gontla This set of changes are for bug 977. * tao/MCAST_Parser.i: * tao/MCAST_Parser.h: * tao/MCAST_Parser.cpp: The Parser for the new IP multicast format. The multicast format is mcast://mcast_address:mcast_port:nic_address:ttl. All the multicast requests are now dealt via this parser. The default multicast address is 224.9.9.2. The default multicast port is 10013 ( the same port that we used for NameService .. no big reason .. just a simple choice), default nic is eth0 and default TTL value is 1. * tao/TAO_Internal.cpp: Add MCAST protocol to the list of services that have to be initiated. * tao/ORB.h : * tao/ORB.cpp : Moved the multicast_to_service and multicast_query methods to MCAST_Parser. Modified ::resolve_service accordingly. * tao/ORB_Core.cpp : Check for mcast: format when ORBDefaultInitRef option is used and set the object delimiter to '/' if it is mcast protocol. * tao/default_resource.cpp: Modify the total no. of parsers to check for: from 4 to 5. and dynamically load the MCAST_Parser too. * tao/Makefile: Added MCAST_Parser * orbsvcs/tests/IOR_MCast/README : * orbsvcs/tests/IOR_MCast/Makefile : * orbsvcs/tests/IOR_MCast/MCast.idl : * orbsvcs/tests/IOR_MCast/MCast_Server_i.h : * orbsvcs/tests/IOR_MCast/MCast_Server_i.cpp : * orbsvcs/tests/IOR_MCast/client.cpp : * orbsvcs/tests/IOR_MCast/ior_mcast_client_i.h : * orbsvcs/tests/IOR_MCast/ior_mcast_client_i.cpp : * orbsvcs/tests/IOR_MCast/server.cpp : * orbsvcs/tests/IOR_MCast/server_i.h : * orbsvcs/tests/IOR_MCast/server_i.cpp : Simple test to test the new MCAST_Parser. Wed Sep 5 12:35:33 2001 Balachandran Natarajan * tao/Endpoint.h: Added a lock that is used to lock when a thread does remote object address lookups. Theoretically speaking we shouldnt be putting the lock in the TAO_Endpoint class. But as the lock is required for most of the protocols supported in TAO we have pushed it here. We also believe that other protocols may need a lock during lookups. * tao/IIOP_Endpoint.i: Hold a lock in object_addr (). There was a subtle race condition in that method. In object_addr (void) the code first checks for object_addr_.get_type() != AF_INET and, if so, it calls ACE_INET_Addr::set(). ACE_INET_Addr::set() sets type field to AF_INET, zeros the inet_addr structure and then does a hostname lookup. If two threads enter the object_addr() method the first may end up blocked for a while in the hostname lookup. The second thread will see that AF_INET is set and return an (zero'ed) ACE_INET_Addr structure. The race can happen from TAO_IIOP_Connector::connect() when multiple threads attempt to talk to the same object. You will sometimes see transient exceptions as one of the threads tries to connect to the (invalid) inet_addr. This could potentially fix #189, but it hasnt been tested out properly. Thanks to for nailining the probelm and suggesting this fix. This should fix #1017. * tao/Strategies/DIOP_Endpoint.i: * tao/Strategies/SHMIOP_Endpoint.i: Applied the same fix. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.i: Just added a comment telling that we shouldnt be holding the lock as the lock is being held in the IIOP class. * tao/IIOP_Transport.cpp: * tao/Strategies/DIOP_Transport.cpp: * tao/Strategies/SHMIOP_Transport.cpp: * tao/Strategies/UIOP_Transport.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp: Do not print out error messages if the recv () returns from a timeout. This extra print statements in a thread-per-connection case, when a thread timedout, was causing more confusion than it tried addressing. Wed Sep 5 7:20:17 2001 Balachandran Natarajan * orbsvcs/tests/AVStreams/Multicast/ftp.dsp: * orbsvcs/tests/AVStreams/Multicast/server.dsp: Added the path to teh strategies library. I am not sure when I will get the Win32 stuff right every time:( Tue Sep 4 20:11:17 2001 Balachandran Natarajan * orbsvcs/tests/AVStreams/Multicast/ftp.dsp: * orbsvcs/tests/AVStreams/Multicast/server.dsp: Added the strategies library to the set of libraries that needs to be linked. Tue Sep 4 15:11:17 2001 Balachandran Natarajan * orbsvcs/performance-tests/EC_Federated_Latency/Makefile: Generated dependencies again. Also fixed a cut and paste error in IDL names. This created problems during 'make realclean'. This should fix compile errors in NoInline builds. Tue Sep 4 11:19:44 2001 Balachandran Natarajan * tests/File_IO/client.cpp: Changed the 'oflag' arguments for the file so that it works in our daily builds. We only pass the O_RDONLY value to the remote call. This should fix the exception problems seen in our daily builds. Tue Sep 4 11:06:55 2001 Chad Elliott * orbsvcs/orbsvcs/CosEvent/CEC_ConsumerAdmin.cpp: * orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.cpp: * orbsvcs/orbsvcs/CosEvent/CEC_SupplierAdmin.cpp: * orbsvcs/orbsvcs/Event/EC_ConsumerAdmin.cpp: * orbsvcs/orbsvcs/Event/EC_SupplierAdmin.cpp: Added includes for ESF templates. Fix for GHS on VxWorks. Thanks, Priyanka , for figuring this one out. Tue Sep 4 09:19:59 2001 Balachandran Natarajan * orbsvcs/orbsvcs/Makefile.av: Updated dependencies again to fix a compilation error. Tue Sep 4 07:53:23 2001 Balachandran Natarajan * */Makefile: Updated dependencies. We wantde this done before 1.2. I dont think we should be having anymore big changes to regenerate this again. Tue Sep 4 07:22:03 2001 Balachandran Natarajan * orbsvcs/performance-tests/EC_Federated_Latency/Servant_var.inl: Changed the typename declaration to class. The usage of typename chokes SunCC42. Mon Sep 3 18:52:03 2001 Craig Rodrigues * orbsvcs/tests/AVStreams/Multicast/Makefile: * orbsvcs/tests/AVStreams/Multicast/ftp.bor: * orbsvcs/tests/AVStreams/Multicast/server.bor: * orbsvcs/tests/AVStreams/Multicast/server.h: * orbsvcs/tests/AVStreams/Multicast/server.cpp: * orbsvcs/tests/AVStreams/Multicast/ftp.h: * orbsvcs/tests/AVStreams/Multicast/ftp.cpp: Use service configurator to select reactor type. Fix some typos. * orbsvcs/tests/AVStreams/Multicast/components_svc.conf: (Added) Fri Aug 31 19:28:26 2001 Balachandran Natarajan * tests/Faults/server.cpp: * tests/Faults/test_i.h: The servant implementation inherits from the PortableServer::RefCountServantBase. Changes were also done in the server.cpp file to create the servant on the heap. Thanks to Chris Kohlhoff for pointing this out. Fri Aug 31 18:58:27 2001 Balachandran Natarajan * tests/File_IO/client.cpp: Fixed a warning. Fri Aug 31 18:53:28 2001 Balachandran Natarajan * tao/IIOP_Connection_Handler.cpp: * tao/Strategies/UIOP_Connection_Handler.cpp: * tao/Strategies/SHMIOP_Connection_Handler.cpp: Reverted the change "Tue Aug 28 16:56:07 2001 Balachandran Natarajan ". Put the sockets back in blocking mode for a RW connection handler. We had severe fall in performance. This should get that back. We need to come up with a better way to handle the problem for which the fix was put in. Fri Aug 31 16:32:14 2001 Balachandran Natarajan * orbsvcs/performance-tests/EC_Federated_Latency/Servant_var.h: Changed the typename declaration to class. The usage of typename chokes SunCC42. Fri Aug 31 08:31:09 2001 Chad Elliott * tests/TestUtils/TestCombinedThreads.cpp: Fix for the VxWorks based thread join. Return 0 even if the thread id could not be verified. Fri Aug 31 07:52:12 2001 Johnny Willemsen * orbsvcs/tests/Concurrency/*.bor: * orbsvcs/tests/LoadBalancing/*.bor: * orbsvcs/tests/Makefile.bor: Added BCB makefiles for these tests Thu Aug 30 15:25:13 2001 Ossama Othman * tests/DLL_ORB/client.cpp (main): * tests/DLL_ORB/server.cpp (main): Reverted the change that pre-loaded the default resource factory before the ORB. Chris Kohlhoff's slick fix for the Server Configurator obviates the need to this sort of pre-loading. Thu Aug 30 07:59:40 2001 Carlos O'Ryan * TAOACE.dsw: Remove bogus dependency for the RT Event Service Wed Aug 29 14:35:31 2001 Ossama Othman * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.h: "Doxygen-ated" this header. Wed Aug 29 14:46:25 2001 Balachandran Natarajan * orbsvcs/performance-tests/EC_Federated_Latency/Makefile: * orbsvcs/performance-tests/EC_Federated_Latency/Makefile: Will not build with old g++ compilers. Wed Aug 29 14:27:27 2001 Balachandran Natarajan * performance-tests/Throughput/svc.conf: Used blocked flushing strategy. Using a RW connection handler with a LF flushing strategy can be really really tricky. It may not be that tricky, it wouldnt work :-). This should fix the failure problem observed in Solaris builds. Wed Aug 29 13:13:23 2001 Balachandran Natarajan * orbsvcs/performance-tests/EC_Federated_Latency/Servant_var.h: * orbsvcs/performance-tests/EC_Federated_Latency/Servant_var.inl: Fixed warnings in TRU 64 builds. Wed Aug 29 06:21:25 2001 Douglas C. Schmidt * tao/ORB.h (CORBA_ORB): Improved the documentation for ORB::destroy(). Thanks to Wilfried Reinoehl for reporting this. Tue Aug 28 16:56:07 2001 Balachandran Natarajan * tao/IIOP_Connection_Handler.cpp: * tao/Strategies/UIOP_Connection_Handler.cpp: * tao/Strategies/SHMIOP_Connection_Handler.cpp: Put the sockets in non-blocking mode even for wait on read strategy. Need to figure out how much of performance impact does this have. If it has a penalty then we can revert this change. This solves one problem that we could have. If someone uses RW connection handler through a svc conf file, we could inadvertently turn the server sockets into blocking mode which could create problems. Tue Aug 28 11:31:58 2001 Ossama Othman * tests/DLL_ORB/client.cpp (main): * tests/DLL_ORB/server.cpp (main): Load the Resource_Factory before the test module. This forces the Resource_Factory to exist longer than the dynamically loaded ORB, thus allowing the ORB to make invocations on it during destruction. Fixes a segmentation fault in both the client and server binaries. Tue Aug 28 12:28:58 2001 Chad Elliott * tests/TestUtils/TestCombinedThreads.cpp: Reformat the code to follow the style guidelines. Tue Aug 28 10:40:06 2001 Chad Elliott * tests/TestUtils: * tests/TestUtils/Makefile: * tests/TestUtils/TestCombinedThreads.h: * tests/TestUtils/TestCombinedThreads.cpp: Added the TestUtils VxWorks testing library. This is used to create "one-button" TAO tests with VxWorks. * tests/Makefile: Added TestUtils to the Makefile. This is compiled only for VxWorks. Tue Aug 28 08:22:07 2001 Chad Elliott * tests/AMI_Buffering/run_test.pl: * tests/Big_Oneways/run_test.pl: * tests/Big_Request_Muxing/run_test.pl: * tests/Big_Twoways/run_test.pl: * tests/Blocking_Sync_None/run_test.pl: * tests/Client_Leaks/run_test.pl: * tests/Crash_On_Write/run_test.pl: * tests/Crashed_Callback/run_test.pl: * tests/Exposed_Policies/run_test.pl: * tests/Hello/run_test.pl: * tests/MT_Server/run_test.pl: * tests/MT_Timeout/run_test.pl: * tests/Muxing/run_test.pl: * tests/Oneway_Buffering/run_buffer_size.pl: * tests/Oneway_Buffering/run_message_count.pl: * tests/Oneway_Buffering/run_test.pl: * tests/Oneway_Buffering/run_timeout.pl: * tests/Param_Test/run_test.pl: * tests/RTCORBA/Server_Declared/run_test.pl: * tests/RTCORBA/Server_Protocol/run_test.pl: * tests/RTCORBA/Thread_Pool/run_test.pl: * tests/Reliable_Oneways/run_sync_none.pl: * tests/Reliable_Oneways/run_sync_with_server.pl: * tests/Reliable_Oneways/run_sync_with_target.pl: * tests/Reliable_Oneways/run_sync_with_transport.pl: * tests/Reliable_Oneways/run_test.pl: * tests/Server_Leaks/run_test.pl: * tests/Single_Read/run_test.pl: * tests/Timed_Buffered_Oneways/run_test.pl: Very minor bug fixes and consistency modifications. Mon Aug 27 07:36:12 2001 Johnny Willemsen * tests/Makefile.bor: added new File_IO test * examples/simple/time-date/time-date.bor: changed targetdir to ./ to that svc.conf can find the dll * orbsvcs/tests/ior_corba_name/*.bor: Added BCB makefiles * orbsvcs/tests/Time/*.bor: Added BCB makefiles * orbsvcs/tests/Makefile.bor: added ior_corbaname and time Sun Aug 26 08:20:30 2001 Balachandran Natarajan * orbsvcs/performance-tests/EC_Federated_Latency/Servant_var.inl: Removed the default value of the argument. This should fix warnings in GCC 3.0 builds. Sat Aug 25 23:38:26 2001 Balachandran Natarajan * orbsvcs/performance-tests/EC_Federated_Latency/server.cpp: * orbsvcs/performance-tests/EC_Federated_Latency/client.cpp: * orbsvcs/performance-tests/EC_Latency/server.cpp: * orbsvcs/performance-tests/EC_Latency/client.cpp: #included "tao/Messaging.h". Fixes build problems in no interceptors build. Sat Aug 25 09:49:06 2001 Balachandran Natarajan * tests/File_IO/server.dsp: * tests/File_IO/client.dsp: Fixed the Win32 builds. Sat Aug 25 09:04:06 2001 Balachandran Natarajan * orbsvcs/performance-tests/EC_Federated_Latency/Makefile: * orbsvcs/performance-tests/EC_Latency/Makefile: Will not build if corba_messaging == 0. Fri Aug 24 23:16:59 2001 Balachandran Natarajan * tests/File_IO/File.idl: * tests/File_IO/File_i.cpp: * tests/File_IO/File_i.h: * tests/File_IO/client.cpp * tests/File_IO/run_test.pl: * tests/File_IO/server.cpp: Fixed Fuzz errors. Fri Aug 24 19:20:00 2001 Craig Rodrigues * orbsvcs/orbsvcs/AV/AVStreams_i.cpp: Remove duplicate template instantiations. Fri Aug 24 16:15:36 2001 Carlos O'Ryan * orbsvcs/performance-tests/EC_Federated_Latency/Peer.cpp: * orbsvcs/performance-tests/EC_Federated_Latency/Coordinator.cpp: More fixes for platforms without native C++ exceptions. Fri Aug 24 14:48:28 2001 Carlos O'Ryan * orbsvcs/performance-tests/EC_Federated_Latency/Servant_var.cpp: Fixed the code to deal with platforms without C++ native exceptions. Fri Aug 24 14:35:59 2001 Carlos O'Ryan * orbsvcs/orbsvcs/Event/EC_Gateway.cpp: Comment out debug messages Don't publish special event types for the gateway, they are not used for filtering supplier data anyway. * orbsvcs/orbsvcs/Event/EC_ObserverStrategy.cpp: Use a temporary reference to make the code easier to read. * orbsvcs/Makefile: * orbsvcs/performance-tests/Makefile: Add new directory for the orbsvcs performance tests. * orbsvcs/performance-tests/EC_Latency/Makefile: * orbsvcs/performance-tests/EC_Latency/README: * orbsvcs/performance-tests/EC_Latency/run_test.pl: * orbsvcs/performance-tests/EC_Latency/Client_Task.h: * orbsvcs/performance-tests/EC_Latency/Client_Task.cpp: * orbsvcs/performance-tests/EC_Latency/Consumer.h: * orbsvcs/performance-tests/EC_Latency/Consumer.cpp: * orbsvcs/performance-tests/EC_Latency/Supplier.h: * orbsvcs/performance-tests/EC_Latency/Supplier.cpp: * orbsvcs/performance-tests/EC_Latency/client.cpp: * orbsvcs/performance-tests/EC_Latency/server.cpp: A latency test for the real-time event channel that can be automatically ran in the nightly regression testsuite. * orbsvcs/performance-tests/EC_Federated_Latency/README: * orbsvcs/performance-tests/EC_Federated_Latency/Makefile: * orbsvcs/performance-tests/EC_Federated_Latency/run_test.pl: * orbsvcs/performance-tests/EC_Federated_Latency/Control.idl: * orbsvcs/performance-tests/EC_Federated_Latency/ECFL_Configuration.h: * orbsvcs/performance-tests/EC_Federated_Latency/Consumer.h: * orbsvcs/performance-tests/EC_Federated_Latency/Consumer.cpp: * orbsvcs/performance-tests/EC_Federated_Latency/Coordinator.h: * orbsvcs/performance-tests/EC_Federated_Latency/Coordinator.cpp: * orbsvcs/performance-tests/EC_Federated_Latency/Loopback.h: * orbsvcs/performance-tests/EC_Federated_Latency/Loopback.cpp: * orbsvcs/performance-tests/EC_Federated_Latency/Loopback_Consumer.h: * orbsvcs/performance-tests/EC_Federated_Latency/Loopback_Consumer.cpp: * orbsvcs/performance-tests/EC_Federated_Latency/Loopback_Supplier.h: * orbsvcs/performance-tests/EC_Federated_Latency/Loopback_Supplier.cpp: * orbsvcs/performance-tests/EC_Federated_Latency/Peer.h: * orbsvcs/performance-tests/EC_Federated_Latency/Peer.cpp: * orbsvcs/performance-tests/EC_Federated_Latency/Servant_var.h: * orbsvcs/performance-tests/EC_Federated_Latency/Servant_var.inl: * orbsvcs/performance-tests/EC_Federated_Latency/Servant_var.cpp: * orbsvcs/performance-tests/EC_Federated_Latency/Supplier.h: * orbsvcs/performance-tests/EC_Federated_Latency/Supplier.cpp: * orbsvcs/performance-tests/EC_Federated_Latency/client.conf: * orbsvcs/performance-tests/EC_Federated_Latency/client.cpp: * orbsvcs/performance-tests/EC_Federated_Latency/server.cpp: Finally! A test to measure latency over a federated event channel, initial numbers look good. Fri Aug 24 13:36:19 2001 Balachandran Natarajan * tests/File_IO/run_test.pl: * tests/File_IO/File_i.cpp: Removed some vague debug statements. * tests/File_IO/client.cpp: Reduced teh number of threads to 10, instead of 20. Fri Aug 24 12:44:45 2001 Balachandran Natarajan * tests/File_IO/: New test to our test suite. This test actually brought the problem mentioned in bug #1002 to the surface. The problem was burried in other tests and this test actually could reproduce the bug every time consistently. * tests/File_IO/File_IO.dsw: * tests/File_IO/File_i.h: * tests/File_IO/server.bor: * tests/File_IO/Makefile: * tests/File_IO/Makefile.bor: * tests/File_IO/client.dsp: * tests/File_IO/server.cpp: * tests/File_IO/File.idl: * tests/File_IO/client.bor: * tests/File_IO/File_i.cpp: * tests/File_IO/README: * tests/File_IO/client.cpp: * tests/File_IO/run_test.pl: * tests/File_IO/big.txt: * tests/File_IO/server.dsp: Files for the new test. Thanks to Jonathan Reis for providing this test. Fri Aug 24 08:24:12 2001 Johnny Willemsen * examples/simple/time-date/time-date.bor: Added target, so that time-date dll name is appended with decorator string Thu Aug 23 09:49:54 2001 Jeff Parsons * TAO_IDL/include/utl_err.h: * TAO_IDL/util/utl_err.cpp: * TAO_IDL/util/utl_identifier.cpp: Added new error message saying that an idenifier has more than one leading underscore, and a check for that condition in the UTL_Identifier contstructor. Thanks to Daniel Manfis for reporting this bug. Thu Aug 23 09:15:24 2001 Paul Calabrese * tests/Strategies/run_test.pl: Use the PerlACE::LocalFile() function for the svc.conf files. Thu Aug 23 01:54:42 2001 Christopher Kohlhoff * tests/DLL_ORB/Test_Client_Module.bor: * tests/DLL_ORB/Test_Server_Module.bor: * tests/DLL_ORB/client.bor: * tests/DLL_ORB/server.bor: Fixed Borland makefiles to build the DLL_ORB test correctly. Wed Aug 22 17:20:06 2001 Carlos O'Ryan * orbsvcs/orbsvcs/Event/EC_Default_Factory.h: * orbsvcs/orbsvcs/Event/EC_Default_Factory.cpp: The factory now owns the memory for its orbid_ field, some applications pass temporary data in the argc/argv arguments. Thanks to J. Russell Noseworthy for pointing this out. Wed Aug 22 14:12:33 2001 Jeff Parsons * TAO_IDL/be/be_visitor_operation/interceptors_cs.cpp: Made the generation of the interceptors arguments() method contingent on Any support. If the Any operators are not generated by the IDL compiler, CORBA::NO_IMPLEMENT is generated for the body of this method. Thanks to Gergely Timar for reporting this bug. Wed Aug 22 10:35:27 2001 Jeff Parsons * TAOACE_Static.dsw: Added dependencies to projects so the entire workspace can be batch built. Thanks to Frank Wolf for pointing out some of these. Wed Aug 22 08:16:00 2001 Craig Rodrigues * orbsvcs/orbsvcs/AV/AVStreams_i.h: * orbsvcs/orbsvcs/AV/AVStreams_i.i: * orbsvcs/orbsvcs/AV/AVStreams_i.cpp: Remove TAO_String_Hash_Key class, replace all uses with ACE_CString. Only reason for keeping the TAO_String_Hash_Key class was to have a string class with a hash function so it could be put in an ACE_Hash_Map_Manager container. ACE_CString already has this. * orbsvcs/orbsvcs/AV/Fill_ACE_QoS.h: Change include. Tue Aug 21 22:58:30 2001 Balachandran Natarajan * tao/Sequence_T.cpp: Fixed a place where nil () was not made as tao_nil (). This should fix many of our build problems. Tue Aug 21 13:55:31 2001 Jeff Parsons * TAO_IDL/be/be_interface.cpp: Added prefix "tao_" to the recently added static methods in the generated interface _var class, to avoid possible name clashes. * TAO_IDL/be/be_visitor_interface/interface_ch.cpp: * TAO_IDL/be/be_visitor_interface/interface_cs.cpp: Cosmetic changes to generated code and comments. * tao/CurrentC.cpp: * tao/CurrentC.h: * tao/CurrentC.i: * tao/DomainC.cpp: * tao/DomainC.h: * tao/DomainC.i: * tao/IOPC.cpp: * tao/IOPC.h: * tao/IOPC.i: * tao/MessagingC.cpp: * tao/MessagingC.h: * tao/Object.h: * tao/Object.i: * tao/PolicyC.cpp: * tao/PolicyC.h: * tao/PollableC.cpp: * tao/PollableC.h: * tao/PortableInterceptorC.cpp: * tao/PortableInterceptorC.h: * tao/Sequence_T.cpp: * tao/TAOC.cpp: * tao/TAOC.h: * tao/BiDir_GIOP/BiDirPolicyC.cpp: * tao/BiDir_GIOP/BiDirPolicyC.h: * tao/DynamicAny/DynamicAnyC.cpp: * tao/DynamicAny/DynamicAnyC.h: * tao/IFR_Client/IFR_BaseC.cpp: * tao/IFR_Client/IFR_BaseC.h: * tao/IFR_Client/IFR_BasicC.cpp: * tao/IFR_Client/IFR_BasicC.h: * tao/IFR_Client/IFR_ComponentsC.cpp: * tao/IFR_Client/IFR_ComponentsC.h: * tao/IFR_Client/IFR_ExtendedC.cpp: * tao/IFR_Client/IFR_ExtendedC.h: * tao/IORManipulation/IORC.cpp: * tao/IORManipulation/IORC.h: * tao/IORTable/IORTableC.cpp: * tao/IORTable/IORTableC.h: * tao/PortableServer/ImplRepoC.cpp: * tao/PortableServer/ImplRepoC.h: * tao/PortableServer/PortableServerC.cpp: * tao/PortableServer/PortableServerC.h: * tao/RTCORBA/RTCORBAC.cpp: * tao/RTCORBA/RTCORBAC.h: * tao/RTPortableServer/RTPortableServerC.cpp: * tao/RTPortableServer/RTPortableServerC.h: * tao/TypeCodeFactory/TypeCodeFactoryC.cpp: * tao/TypeCodeFactory/TypeCodeFactoryC.h: * tao/diffs/Current.pidl.diff: * tao/diffs/CurrentC.cpp.diff: * tao/diffs/CurrentC.h.diff: * tao/diffs/CurrentC.i.diff: * tao/diffs/DomainC.h.diff: Updated these files to reflect the changes made above to the IDL compiler, in addition to the recent change of adding a static int member to interface classes and using it's address in _unchecked_narrow() and _tao_Queryinterface, instead of the address of the _narrow() method. Tue Aug 21 09:41:17 2001 Jeff Parsons * tao/IORManipulation/TAO_IORManip.dsp: * tao/TypeCodeFactory/TypeCodeFactory_Static.dsp: Changed the names of the libraries in some configurations to be more consistent. Thanks to Frank Wolf for pointing these out. Mon Aug 20 11:27:37 2001 Paul Calabrese * tests/Strategies/Strategies.dsw: * tests/Strategies/client.dsp: * tests/Strategies/server.dsp: * tests/Strategies/run_test.pl: Added MSVC project files and a run_test.pl for this test. * tests/Strategies/advanced_svc.conf: Modified this file for use on Windows platforms (commented out the UIOP protocol factory). Mon Aug 20 10:27:56 2001 Jeff Parsons * tao/TAO.dsw: Added dependencies to several projects. Thanks to Frank Wolf for pointing out this lack in Domain.dsp and Domain_Static.dsp. Mon Aug 20 09:39:06 2001 Jeff Parsons * orbsvcs/IFR_Service/tmplinst.cpp: Removed explicit instantiation of some template classes that were already present in the TAO_PortableServer library, to which the IFR_Service executable is linked. These redundancies were caught by the new RedHat static build. Mon Aug 20 08:37:00 2001 Chad Elliott * orbsvcs/orbsvcs/Trader/constraint.l: * orbsvcs/orbsvcs/Trader/Constraint_l.cpp: Explicitly allow a leading sign on integers as specified by section B.2.5 of the OMG Trading Service specification. Sun Aug 19 13:41:07 2001 Ossama Othman * tests/DLL_ORB/Test_i.cpp (shutdown): Do not wait for completion when shutting down the ORB since ORB::shutdown() is being called in the context of an upcall. Thanks to Craig Rodrigues for finding the problem and providing the fix. Sat Aug 18 08:59:32 2001 Balachandran Natarajan * tao/ORBInitInfo.cpp: Fixed a compiler error in the static builds. Sat Aug 18 07:09:09 2001 Douglas C. Schmidt * Removed the "announcement" file since it was hopelessly out of date! Thanks to Kitty for noticing this. Fri Aug 17 19:26:00 2001 Craig Rodrigues * orbsvcs/orbsvcs/Property/CosPropertyService_i.h Add default values for CORBA::Environment variables. Fri Aug 17 13:01:36 2001 Ossama Othman * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.h (TAO_SSLIOP_Endpoint): Corrected class documentation. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.cpp (TAO_SSLIOP_Endpoint): Initialize the SSL port to zero instead of the IANA assigned port of 684 if one wasn't provided. This is necessary to allow INS over plain IIOP to function properly. Thanks to Dmitry Goldshtain for providing the fix. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp (connect): Verify that the SSL port is non-zero before attempting to establish trust in the target. Otherwise, throw an exception. It is not possible to establish trust in the target without first retrieving the certificate from the target during SSLIOP session establishment. If the SSL port is zero and protection is desired, then do not attempt to make a secure invocation since it is not possible to make one. Instead throw an exception. In both of the above cases, the SSL port will be zero if no SSLIOP tagged component was available in the IOR. Fri Aug 17 14:57:18 2001 Jeff Parsons * TAO_IDL/fe/fe_init.cpp: Removed code that had been commented out. Fri Aug 17 14:14:21 2001 Paul Calabrese * docs/Options.html: Clean up the Advanced_Resource_Factory section. Fri Aug 17 08:18:40 2001 Jeff Parsons * tao/RTPortableServer/TAO_RTPortableServer.dsp: * tao/DynamicInterface/TAO_DynamicInterface.dsp: Fixed setting in the MFC versions of these projects. Thanks to Frank Wolf for pointing these out. Fri Aug 17 10:59:12 2001 Johnny Willemsen * tao/tests/Makefile.bor * tao/tests/DLL_Orb/*.bor Added BCB makefiles for this test Thu Aug 16 10:40:56 2001 Ossama Othman * tao/ORBInitInfo.h (TAO_ORBInitInfo): The CodecFactory reference is now a "_var" since the CodecFactory is now reference counted. * tao/ORBInitInfo.cpp (register_initial_reference, resolve_initial_references): Removed the restriction that prevented register_initial_reference() and resolve_initial_references() from being called in ORBInitializer::post_init() and ORBInitializer::pre_init(), respectively. The Portable Interceptors FTF relaxed those restrictions. (codec_factory): Since the CodecFactory is now reference counted, create a new CodecFactory on the heap and cache it. Fixes a seg fault reported by Greg J. Hall . Thu Aug 16 11:38:02 2001 Jeff Parsons * tao/TypeCodeFactory/TypeCodeFactory.dsp: Fixed typo in MFC release configuration. * tao/TypeCodeFactory/TypeCodeFactory_Static.dsp: * tao/TAO.dsw: Removed unnecessary "_Static" substring from static release and debug library names. Also fixed path for TypeCodeFactory_Static.dsp in the workspace. Thanks to Frank Wolf for pointing these out. Thu Aug 16 10:04:33 2001 Jeff Parsons * TAO_IDL/be/be_interface.cpp: Removed an unecessary "::" added to code generation in Tue Aug 14 10:56:01 2001 Jeff Parsons caught by Sun Forte, which has a problem with "(::". Wed Aug 15 11:37:24 2001 Ossama Othman * tao/GIOP_Message_Lite.cpp (process_request): Removed statement that initialized a reference to a CORBA::Environment from TAO_default_environment(). TAO_default_environment() incurs a TSS access. This removes a TSS access from the critical path when using TAO's GIOPlite implementation. Verify that forward object reference was successfully marshaled into the CDR stream before continuing. * tao/GIOP_Message_Base.cpp (process_request): Verify that forward object reference was successfully marshaled into the CDR stream before continuing. * tao/Object.cpp (operator>>): Fixed improper emulated exception code. It unnecessarily introduced a TSS access by using TAO_default_environment(). Wed Aug 15 14:26:03 2001 Balachandran Natarajan * performance-tests/Single_Threaded_Latency/svc.conf: Add the exclusive Transport_Mux_Strategy to this test. Wed Aug 15 12:11:04 2001 Jeff Parsons * tests/IDL_Test/constants.idl: Dropped the last digit from the mantissa of a constant double declaration equal to the IEEE max value for a double. This max value has 16 decimal places, while the generated output on many platforms has only 15, rounded up. The problem arises with gcc 3.0, which outputs a warning, since the rounded value is greater than the allowed maximum. Thanks to Ossama Othman for pointing out the problem. Wed Aug 15 12:06:20 2001 Balachandran Natarajan * tao/GIOP_Message_State.cpp: * tao/GIOP_Message_State.h: Cosmetic changes to the debug statements and comments. Wed Aug 15 11:35:18 2001 Balachandran Natarajan * tao/Transport.cpp: Added a debugging statement that is going to create noise if TAO receives a ERROR message on a connection. * tao/GIOP_Message_Base.cpp: * tao/GIOP_Message_State.cpp: Added debugging statments to inform the user, that TAO got a GIOP_ERROR_MESSAGE on a connection. Looks like some ORB's send ERROR messages if the size of the data exceeded a limit. In such cases it is better that the user knows why the test fails or hangs instead of digging around the ORB code. Wed Aug 15 11:25:15 2001 Jeff Parsons * tao/DynamicAny/DynCommon.cpp (insert_reference): Added a check for a nil object reference before attempting to access its repo id and calling _is_a(). Thanks to Philippe Merle for pointing out this bug. Tue Aug 14 15:16:32 2001 Balachandran Natarajan * tao/SmartProxies/SmartProxies.dsp (CFG): Fixed a problem with MFC configuration. Tue Aug 14 14:50:32 2001 Balachandran Natarajan * tao/SmartProxies/SmartProxies.dsp (RSC): Added MFC configurations. Thanks to Garry Shammis for giving us the patch. * tao/DynamicInterface/DII_Reply_Dispatcher.cpp (dispatch_reply): * tao/Synch_Reply_Dispatcher.cpp: * tao/Asynch_Reply_Dispatcher.cpp: Made some cosmetic changes. Tue Aug 14 12:29:08 2001 Ossama Othman * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp (recv_i): Use the timeout value when attempting to read from the SSL connection. Fixes some thread-per-connection problems. Thanks to Bala for pointing out the problem. Tue Aug 14 14:18:36 2001 Paul Calabrese * tao/orbconf.h: Add the TAO_ADVANCED_RESOURCE_FACTORY_ARGS flag. This fixes a problem with the TAO_Strategies library when TAO_PLATFORM_SVC_CONF_FILE_NOTSUP is defined. * docs/configurations.html: Change Resource_Factory to Advanced_Resource_Factory in a few places. Clean up some of the text. Add the TAO_ADVANCED_RESOURCE_FACTORY_ARGS flag. Tue Aug 14 12:10:09 2001 Carlos O'Ryan * docs/Options.html: Fixed typo. Tue Aug 14 10:56:01 2001 Jeff Parsons * TAO_IDL/be/be_interface.cpp: * TAO_IDL/be/be_visitor_operation/operation_ss.cpp: * TAO_IDL/be/be_visitor_operation/rettype.cpp: * TAO_IDL/be/be_visitor_operation/rettype_vardecl_ss.cpp: Added global qualifier '::' to the generation of the full names for an operation return type in the stub header file, return value allocation in the skeleton body, and ancestors in _tao_QueryInterface(). This addition helps some compilers when dealing with nested classes. Thanks to Gary Duzan for reporting the bug. * tests/IDL_Test/nested_scope.idl: Added Gary Duzan's example to the test file. Mon Aug 13 20:09:24 2001 Balachandran * TAO version 1.1.19 released. Mon Aug 13 12:05:17 2001 Chad Elliott * orbsvcs/orbsvcs/Notify/Notify_ProxyConsumer_T.cpp: Explicitly reference the event_manager_ with this-> to avoid a warning on HP-UX with aCC. Sun Aug 12 17:55:57 2001 Ossama Othman * tao/CodecFactory.h (TAO_CodecFactory): * tao/Messaging_PolicyFactory.h (TAO_Messaging_PolicyFactory): Instances of these objects are now reference counted to make sure they exist long enough for the ORB to release them. This fixes some dynamic unloading problems. * tao/CodecFactory_ORBInitializer.h: * tao/Messaging_ORBInitializer.h: Maintain a reference (i.e., a "_var") to the CodecFactory and Messaging_PolicyFactory, respectively. They will be destroyed when all outstanding references are released. * tao/CodecFactory_ORBInitializer.cpp (pre_init): * tao/Messaging_ORBInitializer.cpp (register_policy_factories): Initialize a CodecFactory and Messaging_PolicyFactory, respectively, on the heap. These instances are now reference counted. * tao/default_resource.h (TAO_Default_Resource_Factory): No longer any need to inherit from ACE_Cleanup. The Service Configurator will once again manage the default resource factory's memory. * tao/default_resource.cpp: Removed code that was commented out during the previous changes to this file. That code will not be used. * tests/DLL_ORB/Test_Client_Module.cpp: Removed "tabs" from this source file. * tests/DLL_ORB/Test_Server_Module.cpp (init): No longer any need to use the "-ORBSkipServiceConfigOpen" option (at least for this single-threaded test). * tests/DLL_ORB/client.cpp (main): Removed debugging ORB debugging options. They shouldn't be in "released" version of this test. Sun Aug 12 08:46:01 2001 Balachandran Natarajan * tests/Native_Exceptions/test_i.cpp: Fixed warning with g++. Sun Aug 12 00:29:27 2001 Balachandran Natarajan * tests/Native_Exceptions/test_i.cpp: Fixed warning with g++. Sat Aug 11 17:02:44 2001 Balachandran Natarajan * tao/GIOP_Message_Base.cpp: * tao/GIOP_Message_State.cpp: * tao/GIOP_Message_State.inl: * tao/Incoming_Message_Queue.inl: * tao/Transport.cpp: A chance for us to test the fragmentation support on the server side. Fixed quite a few bugs with our fragmentation support. The tests were conducted against ORBIX 2K. The bugs fixed were mostly the way we handle the fragments. Sat Aug 11 11:34:47 2001 Carlos O'Ryan * orbsvcs/orbsvcs/Event_Utilities.cpp (insert): Fixed event initialization, one of the insert() methods was setting an event before growing the publications list. Thanks to Jody Hagins for pointing this out. Sat Aug 11 08:31:37 2001 Balachandran Natarajan * tests/IDL_Test/idl_test.dsp: Fixed the relase builds. Sat Aug 11 08:24:37 2001 Balachandran Natarajan * orbsvcs/orbsvcs/Notify_ProxyConsumer_T.cpp: * orbsvcs/orbsvcs/Notify_ProxySupplier_T.cpp: Fixed warnings with HPUX's aCC. Sat Aug 11 08:14:59 2001 Balachandran Natarajan * tests/Native_Exceptions/test_i.cpp: Fixed warning with KCC. Fri Aug 10 10:59:42 2001 Chad Elliott * tests/Native_Exceptions/test_i.cpp: * tests/RTCORBA/Thread_Pool/server.cpp: Changes to avoid warnings on HP-UX with aCC. Fri Aug 10 08:07:57 2001 Balachandran Natarajan * tests/Oneways_Invoking_Twoways/Receiver_i.cpp: Added a debugging statement. Thu Aug 9 16:15:03 2001 Balachandran Natarajan * tests/RTCORBA/ORB_init/ORB_init.cpp: Fixed a warning in KCC builds on Linux. Thu Aug 9 11:10:59 2001 Ossama Othman * tao/default_resource.cpp: Temporarily reverted previous change. The default resource factory is still destroyed before the ORB core is destroyed. Another solution is needed. Thu Aug 9 11:46:27 2001 Balachandran Natarajan * tao/CDR.h: Fixed the ambigous constructor problem. The InputCDR class had two constructors which were similar if the default values for the arguments were exercised. Thanks to Torbjorn Backstrom for reporting this. Wed Aug 8 22:53:37 2001 Balachandran Natarajan * tao/DLL_ORB.cpp: Fixed a unused variable warning. Wed Aug 8 16:15:59 2001 Carlos O'Ryan * tests/AMI_Buffering/client.cpp: * tests/Oneway_Buffering/client.cpp: The liveness test was blowing the stack on the server. On each request the server calls the 'admin' interface to report the number of bytes received. While waiting for a response on that call the server receives another call (the client is pushing oneways or AMI calls like crazy). This results in an segfault when the stack is overflowed, now we sync the server every so many calls. * tests/AMI_Buffering/svc.conf: Removed, the default configuration works now. * tests/Big_Oneways/Session.cpp: Made the test more silent. Wed Aug 08 16:14:01 2001 Ossama Othman * tao/default_resource.h (TAO_Default_Resource_Factory): The default resource factory now also inherits from ACE_Cleanup so that it may be registered for destruction with the TAO_Singleton_Manager. This generally only necessary for the default resource factory since it may be created during ORB initialization, and it must exist long enough for the ORB Core to make some calls on it during ORB Core finalization. Resource factories that are statically or dynamically loaded (i.e. registered with the Service Repository) before the ORB is initialized need not inherit from ACE_Cleanup, nor is it necessary for them to register with the TAO_Singleton_Manager. * tao/default_resource.cpp (_make_TAO_Default_Resource_Factory): A custom factory definition is used instead of the commonly used one created by the ACE_FACTORY_DEFINE macro. This is necessary to get around dynamic unloading issues. The default resource factory must exist long enough for the ORB to make the a resource factory reclaim the reactor, for example. The easiest (and probably best) way to do that is register the TAO_Default_Resource_Factory for destruction with the TAO_Singleton_Manager. This fixes a segmentation fault (memory access violation) that occurred when an ORB that was initialized within a dynamically loaded object (e.g. within an ACE_Service_Object instance) was finalized/destroyed. (ACE_STATIC_SVC_DEFINE): Do not set the ACE_Service_Type::DELETE_OBJ flag within the TAO_Default_Resource_Factory-specific declaration/expansion of this macro. The "payload" object, i.e. the default resource factory, is now managed by the TAO_Singleton manager instead of the Service Repository. * tao/DLL_ORB.h (TAO_DLL_ORB): Updated class documentation to mention the fact that this class is deprecated, and why it should not be used. * tao/DLL_ORB.cpp (init): Added debugging message that mentions that the TAO_DLL_ORB class is deprecated. * tao/TAO_Internal.cpp (open_i): * tao/TAO_Singleton_Manager.h (TAO_Singleton_Manager): Updated and corrected class documentation. * tests/DLL_ORB/Test_Client_Module.cpp (fini): Explicitly release the reference to the target object. This is a bit of a hack. The ORB Core's lifetime is tied to the lifetime of an object reference. We need to wipe out all object references before we call fini() on the TAO_Singleton_Manager. This is a tough problem to correct. Fortunately, this is not a problem when a resource factory is loaded into the Service Repository before the ORB is initialized, i.e. when the default resource factory is not used. Wed Aug 8 15:03:58 2001 Balachandran Natarajan * tao/Strategies/DIOP_Transport.cpp (send_request): There was no reason to idle the transport after a send. In other protocols, where the handles are cached the call idle_after_send () does certain things based on the muxed strategy. But for DIOP, we dont cache the handles and the call started doing something really bad like closing the handles. We now just return a 0 after sending the request. This should fix the problem in the full builds with DIOP. Wed Aug 8 12:16:22 2001 Balachandran Natarajan * performance-tests/Thread_Per_Connection_Latency/svc.conf: * performance-tests/Thread_Pool_Latency/svc.conf: Made the client to use Wait_On_Read_Write as we see a big performance drop if we use the Wait_On_LF. To make the test work without any problems, we now use the exclusive transport mux strategy. Hopefully this will get our performance back to normal. * tao/Muxed_TMS.cpp: Fixed a subtle problem in connection_closed (). While iterating through the reply_disptacher table to close the reply dispatchers, a wrong comparision was made in the for loop. This would not allow any of the reply dispatchers to be closed and in turn prevent the transport cleaning up the resources. This lead to the client hanging on select () even after the connection is closed by the server. I am surprised that this has not been found out so far. God save people who have been using the Muxed strategy :-). BTW, the above fix should fix problems seen in the Faults and Crashed_Callback tests in the daily builds. Tue Aug 07 21:54:31 2001 Ossama Othman * tests/IORManipulation/IORTest.cpp (main): Updated URL IORs used in test to be of the standard "corbaloc" form. Fixes a CORBA::INV_OBJREF exception. Tue Aug 7 23:29:34 2001 Balachandran Natarajan * performance-tests/Thread_Per_Connection_Latency/svc.conf: Did the same change as the last checkin, ie. removed the RW connection handler. But beware, we *could* have a performance drop in our stats page. If wehave performance drop, then we change the Transport_Mux_Strategy for the following test. Even if we do change the Mux_Strategy and the connection handler to RW, it seems that this would be in odd with what we preached a few days back at the TAO workshop. Tue Aug 7 23:02:09 2001 Balachandran Natarajan * performance-tests/Thread_Pool_Latency/svc.conf: Looks like our past seems to haunt us. Once upon a time this svc.conf file was used in Latency measurements. When the tests were changed to a new directory the svc.conf file was copied. The svc.conf file had a RW connection handler. That was enough to cause the test to hang. Further removed the -ORBReactor type as it was trying to load a TP reactor. This should fix the problem in the daily builds with this test. Tue Aug 7 14:37:10 2001 Balachandran Natarajan * tao/Transport.cpp (handle_input_i): Added the transport information to a debugging output. * tao/orbconf.h: Fixed a simple typo. Mon Aug 6 09:49:39 2001 Balachandran Natarajan * tao/RTPortableServer/TAO_RTPortableServer.dsp: Fixed a build problem in Release builds. Should have nailed the problem by now. Sun Aug 5 16:58:39 2001 Balachandran Natarajan * tests/DLL_ORB/Makefile: Thanks to Ossama for helping to fix the the warnings in the daily builds. Sun Aug 5 16:00:28 2001 Balachandran Natarajan * tests/Oneway_Buffering/Test.idl: Changed the oneway in the Test.idl to a twoway call. Sun Aug 05 15:12:31 2001 Balachandran Natarajan * tao/RTPortableServer/TAO_RTPortableServer.dsp: Fixed a build problem in Release builds. Sun Aug 05 15:03:31 2001 Balachandran Natarajan * tao/TAO_Static.dsp: Added the new flushing strategies to the static builds. Fri Aug 04 3:33:31 2001 Yamuna Krishnamurthy * orbsvcs/orbsvcs/AV/QoS_UDP.h: * orbsvcs/orbsvcs/AV/QoS_UDP.cpp: * orbsvcs/orbsvcs/AV/QoS_UDP.i: Added a helper class to create qos sessions, activate qos handlers and set qos on a session. Fixed a bug in translation from ACE_Flow_Spec to AVStreams::streamQoS. Fixed addressing problems. Fri Aug 03 20:50:42 2001 Ossama Othman * tests/README: Added summary about the new DLL_ORB test. Fri Aug 03 20:33:51 2001 Ossama Othman * tests/DLL_ORB/Makefile (MAKEFLAGS): Force non-parallel build of this test since the IDL file rules in both `Makefile.Test_Client_Module' and `Makefile.Test_Server_Module' cause corruption of the generated stubs and skeletons when these Makefiles are run in parallel. Fixes build problems in some of our parallel build enabled nightly builds. Fri Aug 03 10:16:37 2001 Carlos O'Ryan * docs/Options.html: Add documentation for the new Leader/Followers flushing strategy. Fri Aug 3 10:37:06 2001 Jeff Parsons * TAO_IDL/be/be_visitor_operation/operation_cs.cpp (visit_operation): Added ACE_UNUSED_ARG generation to satisfy strict compilers, for the recently modified cases where the operation returns a long long or a long double. Fri Aug 3 07:59:24 2001 Balachandran Natarajan * tests/DLL_ORB/Test_Client_Module.cpp: Changed the order of #includes. Fri Aug 3 07:50:49 2001 Balachandran Natarajan * tao/TAO_Singleton_Manager.h: Changed the #ifndef to TAO_SINGLETON_MANAGER_H instead of TAO_OBJECT_MANAGER_H. Fri Aug 3 07:30:02 2001 Balachandran Natarajan * tests/DLL_ORB/Test_Client_Module.cpp: * tests/DLL_ORB/Test_Server_Module.cpp: Added missing #includes. This should take care of the problem with g++. Thu Aug 02 20:39:19 2001 Ossama Othman * tao/Stub.h (TAO_Exception_Data): The "id" member should be "const char *" not "char *". Fixes a warning exhibited by some strict compilers (e.g. g++ with "-pedantic" flag enabled). Conversion from a string constant to a "char *" is deprecated. Thu Aug 2 17:21:27 2001 Ossama Othman * tests/Makefile: Added DLL_ORB test directory to the list of directories to build. Thu Aug 02 17:09:53 2001 Ossama Othman * tests/DLL_ORB/*: New test that dynamically loads a shared object that initializes an ORB upon initialization of that shared object, and destroys that ORB upon finalization of the shared object. [Bug 832] Thu Aug 2 11:44:51 2001 Balachandran Natarajan * tao/Leader_Follower.cpp: Added a #include. This should take care of the No AMI builds. Thu Aug 2 10:17:12 2001 Jeff Parsons * TAO_IDL/be/be_visitor_operation/operation_cs.cpp (visit_operation): Recent changes to this method made it necessary now to unalias the return type before using it. Thu Aug 2 09:09:26 2001 Douglas C. Schmidt * tests/Smart_Proxies/On_Demand/client.cpp (parse_args): Fixed a but where there was a missing ":" in the get_opts string. Thanks to Goran Lowkrantz for reporting this. Fixes bugid 995. Wed Aug 1 18:17:38 2001 Carlos O'Ryan * tao/PortableServer/ImplRepoC.h: * tao/PortableServer/ImplRepoC.i: * tao/PortableServer/ImplRepoC.cpp: * tao/PortableServer/ImplRepoS.h: * tao/PortableServer/ImplRepoS.i: * tao/PortableServer/ImplRepoS.cpp: * tao/PortableServer/ImplRepoS_T.h: * tao/PortableServer/ImplRepoS_T.i: * tao/PortableServer/ImplRepoS_T.cpp: * tao/PortableServer/diffs/ImplRepo.diff: After Jeff's changes it was necessary to regenerate the ImplRepo pre-compiled IDL. * tao/diffs/ImplRepoC.cpp.diff: * tao/diffs/ImplRepoC.h.diff: * tao/diffs/ImplRepoC.i.diff: * tao/diffs/ImplRepoS.cpp.diff: * tao/diffs/ImplRepoS.h.diff: * tao/diffs/ImplRepoS.i.diff: * tao/diffs/ImplRepoS_T.cpp.diff: * tao/diffs/ImplRepoS_T.h.diff: * tao/diffs/ImplRepoS_T.i.diff: Move diffs to $TAO_ROOT/tao/PortableServer/ImplRepo.diff Wed Aug 1 16:05:36 2001 Carlos O'Ryan * Merged changes from the fix_886 branch * tao/Transport.cpp: There was a subtle race condition in the handle_output() method: the state of the queue was checked in drain_queue(), while holding the mutex, if the queue was empty the decision was made to call cancel_output(). However, that was performed *outside* the context of the mutex, so another thread could attempt to send data, queue it, schedule_output() only to find out that is was cancelled right after it did... Before the patches below it was not possible to move the cancel_output() to the context of the mutex, the ORB would deadlock for other reasons. I took us (Bala and myself) a couple of days to track this one down, obviously I still don't know how to write MT-safe code :-) Tue Jul 31 12:55:07 2001 Carlos O'Ryan * tao/Follower.h: * tao/Follower.inl: * tao/Follower.cpp: * tao/Follower_Auto_Ptr.h: * tao/Follower_Auto_Ptr.inl: * tao/Follower_Auto_Ptr.cpp: * tao/LF_Follower.h: * tao/LF_Follower.inl: * tao/LF_Follower.cpp: * tao/LF_Follower_Auto_Ptr.h: * tao/LF_Follower_Auto_Ptr.inl: * tao/LF_Follower_Auto_Ptr.cpp: * tao/Makefile: * tao/Makefile.am: * tao/Makefile.bor: * tao/TAO.dsp: * tao/TAO_Static.dsp: Renamed TAO_Follower to TAO_LF_Follower and TAO_Follower_Auto_Ptr to TAO_LF_Follower_Auto_Ptr, I think this is more consistent with the other files in the project. * tao/LF_Follower_Auto_Adder.h: * tao/LF_Follower_Auto_Adder.inl: * tao/LF_Follower_Auto_Adder.cpp: Remove unused code from the Auto_Adder files. * tao/LF_Event.h: * tao/LF_Event.inl: * tao/LF_Event.cpp: * tao/LF_Event_Binder.h: * tao/LF_Event_Binder.inl: * tao/Leader_Follower.h: * tao/Leader_Follower.i: * tao/Leader_Follower.cpp: Use the new class names and #includes. Mon Jul 30 14:41:43 2001 Carlos O'Ryan * tao/LF_Follower_Auto_Adder.h: * tao/LF_Follower_Auto_Adder.inl: * tao/LF_Follower_Auto_Adder.cpp: Automatically manipulate the L/F follower set: its constructor inserts a follower into the set and the destructor removes it. * tao/Leader_Follower.cpp: Use the new LF_Follower_Auto_Adder class. * tao/Makefile: * tao/Makefile.am: * tao/Makefile.bor: * tao/TAO.dsp: * tao/TAO_Static.dsp: Add the new files to Makefiles and projects. Sun Jul 29 11:58:51 2001 Carlos O'Ryan * tao/Leader_Follower.cpp: If an error is detected while waiting as a follower the loop should return -1. * tao/Transport.cpp: Merged in some bug fixes from the main trunk. Sun Jul 29 09:00:57 2001 Carlos O'Ryan * tao/LF_Event.cpp: Fixed the error_detected() function Fri Jul 27 17:34:40 2001 Carlos O'Ryan * tao/Leader_Follower.h: * tao/default_resource.cpp: Fixed warnings and compilation errors for gcc-2.7.2 Fri Jul 27 10:59:50 2001 Carlos O'Ryan * tao/LF_Event.h: * tao/LF_Event.inl: Add new method to unbind a LF_Event and its Follower: Reply_Dispatchers can be used multiple times to wait for several replys, mostly when a LOCATION_FORWARD message is received. * tao/LF_Event.cpp: Modify the state machine: the state can go back to ACTIVE from CONNECTION_CLOSED or SUCCESSFUL. This represents the location forward scenario described above. * tao/LF_Event_Binder.h: * tao/LF_Event_Binder.inl: * tao/LF_Event_Binder.cpp: Helper class to automate the bind/unbind calls to a LF_Event. * tao/Leader_Follower.cpp: Use LF_Event_Binder to handle the bind/unbind calls into the LF_Event. * tao/Makefile: * tao/Makefile.bor: * tao/TAO.dsp: * tao/TAO_Static.dsp: Add new files to the projects and Makefiles. * tao/Invocation.cpp: * tao/Wait_On_Read.cpp: * tao/Wait_On_Reactor.cpp: * tao/Synch_Reply_Dispatcher.h: * tao/Synch_Reply_Dispatcher.cpp: Remove the reply_received() flag from Synch_Reply_Dispatcher, the LF_Event state is enough to know what happens. Thu Jul 26 18:00:12 2001 Carlos O'Ryan * tao/Strategies/advanced_resource.cpp: Fixed typo in last commit. Thu Jul 26 16:50:46 2001 Carlos O'Ryan * Part of the fixes for http://bugzilla.dre.vanderbilt.edu/show_bug.cgi?id=886 the changes also close the following bug: http://bugzilla.dre.vanderbilt.edu/show_bug.cgi?id=296 * tao/Leader_Follower_Flushing_Strategy.h: * tao/Leader_Follower_Flushing_Strategy.cpp: New flushing strategy that participates in the Leader/Followers protocol. To support this several changes to the Leader/Followers implementation were required. The most important involved using some abstract representation for the events that the Leader/Followers wait for, in the old days there were only reply events, so there was no need to abstract anything, but now the Leader/Followers set can wait for both 'message flushed' events, as well as 'reply received'. With this explicit representation for events at hand it was easier to encapsulate the Leader/Followers wait loop in TAO_Leader_Follower class, instead of hidden in Wait_On_Leader_Follower. To match the events that L/F waits for and the threads waiting for them we addd a class that represents a Follower thread. These TAO_Follower objects had to implement an intrusive list for fast addition into the follower set, once that intrusive list was implemented adding a free list was trivial, and thus we could solve bug 296 easily too. * tao/Asynch_Queued_Message.cpp: * tao/Synch_Queued_Message.cpp: Use the TAO_LF_Event methods to signal any waiters when the state changes. * tao/Follower.h: * tao/Follower.inl: * tao/Follower.cpp: This class represents a thread playing the Follower role. It contains the condition variable used by the thread. The class provides the necessary hooks to implement an intrusive linked list. * tao/Invocation.cpp: The waiting strategy wants the complete Synch_Reply_Dispatcher, not just the reply_received flag. * tao/LF_Event.h: * tao/LF_Event.inl: * tao/LF_Event.cpp: New class to represent events that the Leader/Followers loop waits for. Used as a base class for both TAO_Queued_Message and for TAO_Synch_Reply. * tao/LF_Event_Loop_Thread_Helper.h: * tao/LF_Event_Loop_Thread_Helper.inl: * tao/LF_Event_Loop_Thread_Helper.cpp: Move helper class to its own file, no sense in exposing it to everybody through the Leader_Follower.h file. * tao/Leader_Follower.h: * tao/Leader_Follower.i: * tao/Leader_Follower.cpp: Add free list for TAO_Follower, as well as allocation and deallocation methods. Move Leader/Followers main loop to this class. Move LF_Strategy and friends to their own files. * tao/ORB_Core.h: * tao/ORB_Core.i: * tao/ORB_Core.cpp: Removed the TSS Leader/Followers condition variable, the Leader/Followers free list implements the same optimization with less problems (i.e. without bug 296). * tao/Queued_Message.h: * tao/Queued_Message.cpp: * tao/Synch_Reply_Dispatcher.h: * tao/Synch_Reply_Dispatcher.cpp: This class derives from TAO_LF_Event now. Any state or methods required to detect timeouts, closed connections or transmition errors are in the base class. * tao/Reply_Dispatcher.h: * tao/Asynch_Reply_Dispatcher.h: * tao/Asynch_Reply_Dispatcher.cpp: Remove the dispatcher_bound() calls, they are no longer required to match follower threads and their reply dispatchers, this is now done in the TAO_LF_Event::bind() method, called from TAO_Leader_Follower::wait_for_event() * tao/Transport.h: * tao/Transport.cpp: * tao/Transport_Mux_Strategy.h: * tao/Transport_Mux_Strategy.cpp: * tao/Muxed_TMS.cpp: * tao/Exclusive_TMS.cpp: Since there is no need to call dispatcher_bound() anymore the bind_dispatcher() methods were simplified. * tao/Wait_On_Leader_Follower.h: * tao/Wait_On_Leader_Follower.cpp: * tao/Wait_On_Reactor.h: * tao/Wait_On_Reactor.cpp: * tao/Wait_On_Read.h: * tao/Wait_On_Read.cpp: * tao/Wait_Strategy.h: * tao/Wait_Strategy.cpp: Use a TAO_Synch_Reply_Dispatcher to wait for a reply. The hack using a reply_received flag + a cond.var. was too ugly, plus it was tightly coupling the Leader/Followers loop to the reply dispatching logic. * tao/default_resource.h: * tao/default_resource.cpp: Made Leader_Follower_Flushing_Strategy the default. * tao/orbconf.h: * tao/default_client.cpp: Made Muxed_TMS the default * tao/LF_Strategy.h: * tao/LF_Strategy.inl: * tao/LF_Strategy.cpp: * tao/LF_Strategy_Complete.h: * tao/LF_Strategy_Complete.inl: * tao/LF_Strategy_Complete.cpp: Move the LF_Strategy classes to their own files, no sense in exposing them to everybody through the Leader_Follower.h file. * tao/Follower_Auto_Ptr.h: * tao/Follower_Auto_Ptr.inl: * tao/Follower_Auto_Ptr.cpp: Helper class to automatically allocate and deallocate TAO_Follower objects from the Leader/Followers set. * tao/GIOP_Message_Base.cpp: * tao/GIOP_Message_Lite.cpp: * tao/Reactor_Registry.cpp: Must #include the "LF_Strategy.h" file explicitly. * tao/TAO.dsp: * tao/TAO_Static.dsp: * tao/Makefile: * tao/Makefile.bor: * tao/Strategies/TAO_Strategies.dsp: * tao/Strategies/TAO_Strategies_Static.dsp: * tao/Strategies/Makefile: * tao/Strategies/Makefile.bor: Add new files to the projects and Makefile * tao/Strategies/advanced_resource.cpp: * tao/Strategies/LF_Strategy_Null.h: * tao/Strategies/LF_Strategy_Null.inl: * tao/Strategies/LF_Strategy_Null.cpp: Move the Null Leader/Follower Strategy to the TAO_Strategies library, it was in TAO, but was only used here. * tao/RTPortableServer/TAO_RTPortableServer.dsp: Fixed missing libraries in link line. * tao/TAO.dsw: Add missing dependencies for RTPortableServer and RTCORBA Wed Aug 1 13:15:10 2001 Jeff Parsons * TAO_IDL/be/be_visitor_operation/ami_exception_holder_operation_cs.cpp: * TAO_IDL/be/be_visitor_operation/exceptlist_cs.cpp: * TAO_IDL/be/be_visitor_operation/interceptors_cs.cpp: * TAO_IDL/be/be_visitor_operation/interceptors_exceptlist.cpp: * TAO_IDL/be/be_visitor_operation/interceptors_ss.cpp: * tao/Stub.h: * tao/Invocation.cpp: Modified the struct TAO_Exception_Data to contain the repository id instead of the type code, since the type code was used only to furnish the repo id string. The twoway invoke() method and generated code have been modified accordingly. Also, the interceptor method exceptions() now creates a simple array of type codes instead of an array of TAO_Exception_Data structs. If type codes are suppressed in generated code, the interceptor methods result() (which returns an Any) and exception() (from which the spec requires a list of type codes as the return value) will throw CORBA::NO_IMPLEMENT(). If only Anys are suppressed in generated code, only result() will throw the exception. Thanks to Russell Mora for reporting the clash of type code suppression and exceptions, and to Ossama Othman and Carlos O'Ryan for their suggestions. Wed Aug 1 11:32:26 2001 Balachandran Natarajan * tao/Strategies/UIOP_Connection_Handler.cpp:Fixed a compile error with g++. Wed Aug 1 09:36:37 2001 Jeff Parsons * TAO_IDL/be/be_visitor_operation/operation_cs.cpp: Fixed an ACE_CHECK_RETURN in generated operation body where the return type is CORBA::LongLong or CORBA::LongDouble. Wed Aug 1 8:38:06 2001 Balachandran Natarajan * tao/orbconf.h: Removed the #define TAO_DOESNT_YADA_YADA as there is no use for it. * tao/Connection_Handler.h: Removed the fetch_handle () as there is no use for it. * tao/IIOP_Connection_Handler.h: * tao/IIOP_Connection_Handler.cpp: * tao/Strategies/DIOP_Connection_Handler.cpp: * tao/Strategies/DIOP_Connection_Handler.h: * tao/Strategies/SHMIOP_Connection_Handler.h: * tao/Strategies/SHMIOP_Connection_Handler.cpp: * tao/Strategies/UIOP_Connection_Handler.h: * tao/Strategies/UIOP_Connection_Handler.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.cpp: Removed the implementation of fetch_handle (). Thanks to Carlos, the foot-print police!!, for motivating this change. Wed Aug 1 8:02:06 2001 Balachandran Natarajan * tao/IIOP_Connection_Handler.h: * tao/IIOP_Connection_Handler.cpp: Removed the flag that was introduced so that the input and output datapath would behave differently. The output data path would allow the reactor to resume the handler whereas the input data path would resume the handle. This was creating more confusion than necessary. Hence zapped the the flag and made the input and output data path consistent. Thanks to Carlos for motivating this stuff. * tao/Strategies/DIOP_Connection_Handler.cpp: * tao/Strategies/DIOP_Connection_Handler.h: * tao/Strategies/SHMIOP_Connection_Handler.h: * tao/Strategies/SHMIOP_Connection_Handler.cpp: * tao/Strategies/UIOP_Connection_Handler.h: * tao/Strategies/UIOP_Connection_Handler.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.cpp: Applied the same changes to the above mentioned protocols. Tue Jul 31 12:53:06 2001 Carlos O'Ryan * tao/Transport.cpp (register_handler): Fixed race condition, the register_handler_i() method may use the connection_handler_, but we do not check if it is nil before calling. Tue Jul 31 13:40:59 2001 Balachandran Natarajan * tests/Oneways_Invoking_Twoways/client.dsp: Fixed a compile error in release builds. Tue Jul 31 10:39:18 2001 Jeff Parsons * tests/IDL_Test/gperf.idl: New file in IDL_Test containing examples sent in by Karl Proese and Vsevolod Novikov that uncovered bugs in gperf. * tests/IDL_Test/idl_test.dsp: * tests/IDL_Test/Makefile: * tests/IDL_Test/Makefile.bor: Updated project and makefiles to include the new generated files. Tue Jul 31 08:25:46 2001 Jeff Parsons * TAO_IDL/fe/idl.ll: * TAO_IDL/fe/idl.yy: * TAO_IDL/fe/lex.yy.cpp: * TAO_IDL/fe/lex.yy.cpp.diff: * TAO_IDL/fe/y.tab.cpp: * TAO_IDL/fe/y.tab.cpp.diff: * TAO_IDL/fe/y.tab.h: Removed OBV-related token IDL_INIT and replaced it with IDL_FACTORY, which is returned when the string 'factory' is seen in an IDL file. This string signals the declaration of an value type's initializing member function. Also changed the production rule 'init_decl' to be closer to the correct grammar for this type of function, although this feature is still completely unimplemented. And finally, modified two production rules to eliminate long-standing shift/reduce error messages when generating y.tab.* from idl.yy. Thanks to Russ Noseworthy for reporting that an 'init' identifier string in an IDL file caused an error when compiled with the -Gv option (value types) enabled. Tue Jul 31 06:58:59 2001 Balachandran Natarajan This checkin is for fixing a race condition while trying to manipulate the number of upcalls. This was not a problem before 575 fix, as the manipulation was done when there was an implicit synchronisation in the TP Reactor. As the implicit synchronisation has been broken, we had a race condition. The surpsising element was the fact that it took sometime to figure out this race condition. We have now added a lock that will be held by the thread before the variable is manipulated. * tao/Connection_Handler.cpp: * tao/Connection_Handler.h: * tao/Connection_Handler.inl: Added a lock to the class. Also added three methods, incr_pending_upcalls (), decr_pending_upcalls () and pending_upcalls (). The first two does the manipulation of the pending_upcalls_ variable after holding the lock. * tao/IIOP_Connection_Handler.cpp: * tao/IIOP_Connection_Handler.h: Removed he peding_upcalls_ variable and called the incr_pending_upcalls () and decr_pending_upcalls () to achieve what needs to be done. * tao/Strategies/DIOP_Connection_Handler.cpp * tao/Strategies/DIOP_Connection_Handler.h * tao/Strategies/SHMIOP_Connection_Handler.cpp * tao/Strategies/SHMIOP_Connection_Handler.h * tao/Strategies/UIOP_Connection_Handler.cpp * tao/Strategies/UIOP_Connection_Handler.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.cpp: Replicated the changes from IIOP to the above protocols. Sun Jul 29 19:31:34 2001 Douglas C. Schmidt * tao/RTCORBA/RT_Mutex.cpp (try_lock): Since we fixed the timed ACE_OS::mutex_lock() to set errno to ETIME we can cleanup the code here to remove the checks for errno == EBUSY and errno == ETIMEDOUT. Sun Jul 29 20:00:00 2001 Craig Rodrigues * tao/PortableServer/ORB_Manager.h: Improved comments and converted to doxygen format. Sun Jul 29 10:15:13 2001 Ossama Othman * tao/TAO_Internal.cpp (open_services_i): Reverted my change that prevented the default resource factory from being inserted into the Service Repository. The resource factory must be inserted into the Service Repository so that Service Configurator directives such as 'static Resource_Factory "-ORBResources global"' actually work properly. An alternative solution for the dynamic loading problem related the default resource factory is necessary. Sun Jul 29 00:59:28 2001 Ossama Othman * docs/Options.html: Updated documentation for the "-ORBSkipServiceConfigOpen" ORB option. It is no longer necessary the Service Configurator is now reentrant and thread-safe. This option is deprecated, and will be removed in releases of TAO in the near future. Sun Jul 29 00:22:30 2001 Ossama Othman * examples/Simple/time-date/svc.conf: The support for nested Service Configurator directive processing that was just added to ACE made it possible to greatly simply this `svc.conf' file. It is no longer necessary to pre-load services that are by default loaded by the ORB. It is also no longer necessary to use the "-ORBSkipServiceConfigOpen" ORB option since the Service Configurator is now reentrant/thread-safe. Instead of the nine Service Configurator directives that were listed in this file, only three of them are now necessary. Sat Jul 28 23:29:21 2001 Ossama Othman * tao/TAO_Internal.cpp (open_services_i): We cannot insert the default resource factory into the Service Repository before the ORB is created since it will be finalized before the ORB is finalized. The ORB requires that a resource factory exist in order to reclaim the reactor during finalization. This was only a problem when the ORB was dynamically loaded/unloaded. Wed Jul 25 23:48:58 2001 Douglas C. Schmidt * tests/Blocking_Sync_None/client.cpp (main): Changed an error messages so that the "Right Thing[TM]" will happen when this test fails, i.e., the build system will automagically detect it. Thanks to Johnny Willemsen for reportng this. Fri Jul 27 21:48:12 2001 Balachandran Natarajan * performance-tests/Cubit/TAO/IDL_Cubit/run_test.pl: Removed all the references to the GIOP lite protocol from this script. * performance-tests/Cubit/TAO/IDL_Cubit/run_test_lite.pl: We dont seem to be having any sort of tests that are run for GIOP Lite. Now we will run this in our nightly builds. This test uses IIOP_Lite & UIOP_Lite to run the IDL_Cubit test. Having a protocol that we are not sure whether it works may be a bad idea. Fri Jul 27 21:38:58 2001 Balachandran Natarajan * tao/GIOP_Message_Base.cpp: Added a TAO_debug_level guard around the places where dump_msg () is called. Though dump_msg () prints out information only if the TAO_debug_level is set, this extra guard will prevent us from calling this method when we are trying to do performance measurements. * tao/GIOP_Message_Lite.cpp: For some reason this class never had a hexdump. Added the hexdump in dump_msg (). Fri Jul 27 16:33:24 2001 Balachandran Natarajan * tao/Strategies/DIOP_Connection_Handler.cpp: * tao/Strategies/UIOP_Connection_Handler.cpp: * tao/Strategies/SHMIOP_Connection_Handler.cpp: Enabled GIOP lite flag to pass through to their transport object. Fri Jul 27 16:32:46 2001 Balachandran Natarajan * tao/IIOP_Connection_Handler.cpp: Enabled GIOP lite flag to pass through to their transport object. * tao/GIOP_Message_Lite.cpp: Transfered the reply that has been received to the another CDR which is used to dispatch the reply. This was actually fixed in my branch. Looks like this got missed when the branch was merged to the main trunk. Added some cosmetic fixes to the debugging output. Thanks to Paul Calabrese for alerting me about this miss. Fri Jul 27 14:43:46 2001 Balachandran Natarajan * tests/BiDirectional_NestedUpcall/svc.conf: Removed from the repository. It is no longer needed as this test will work with a TP Reactor (the default one). Fri Jul 27 12:58:51 2001 Balachandran Natarajan * tao/Transport.cpp: Removed a debug statement. Fri Jul 27 12:25:49 2001 Balachandran Natarajan * tao/Transport.cpp: Reverted the change made in this Wed Jul 25 22:10:21 2001 Balachandran Natarajan . We need to resume the handle as soon the reply is ready for dispatching. The situation where it can create problems can be easily seen in $TAO_ROOT/tests/LongUpcalls/run_ami_test.pl. Further, the fix that was done earlier was to resume the handle after dispatching the reply. It was thought that it would fix a race condition. I had a long discussion with Irfan yesterday, and looks like the possibility of a race condition is not there at all. Fri Jul 27 11:09:25 2001 Chad Elliott * tests/RTCORBA/Banded_Connections/bands.hpux: Added to fix the runtime problem on HP-UX. * tests/RTCORBA/Banded_Connections/run_test.pl: * tests/RTCORBA/Client_Propagated/client.cpp: * tests/RTCORBA/Client_Propagated/server.cpp: * tests/RTCORBA/MT_Client_Protocol_Priority/run_test.pl: * tests/RTCORBA/Server_Declared/run_test.pl: Corrections to fix some of the RTCORBA runtime test problems for HP-UX. These tests still have some problems (especially with SHMIOP). Fri Jul 27 10:50:42 2001 Jeff Parsons * tests/Smart_Proxies/Benchmark/Makefile: * tests/Smart_Proxies/Policy/Makefile: Replaced VLDLIBS with TAO_SRVR_LIBS for the server target in each Makefile, in order to pull in TAO_PortableServer. Thanks to Ekkehard Hoffmann for pointing out the link errors. Thu Jul 26 22:41:00 2001 Craig Rodrigues * orbsvcs/orbsvcs/AV/AVStreams_i.h: Make TAO_FlowConnection and TAO_MMDevice virtually inherit TAO_PropertySet. Thanks to Rob Ruff for pointing this out. Thu Jul 26 21:48:00 2001 Craig Rodrigues * orbsvcs/tests/AVStreams/mpeg/*: REMOVED Example uses archaic version of AVStreams and does not work well. * orbsvcs/tests/AVStreams/mpeg/README.uav: (added) Thu Jul 26 17:12:00 2001 Ossama Othman * tao/default_resource.cpp (get_parser_names): Fixed problem where the FILE and DLL parser Service Objects were not inserted into the parser registry. This problem surfaced when attempting to dynamically load the ORB, and manifested itself as a CORBA::INV_OBJREF exception when attempting to destringify an IOR such as "file://foo.ior". [Bug 744] Thu Jul 26 09:44:00 2001 Craig Rodrigues * orbsvcs/orbsvcs/AV/QoS_UDP.cpp: Hide more debugging messages behind: if( TAO_debug_level > 0) Thu Jul 26 07:37:29 2001 Balachandran Natarajan * tests/RTCORBA/Server_Protocol/server.cpp: * tests/RTCORBA/Client_Propagated/server.cpp: * tests/RTCORBA/Thread_Pool/server.cpp: Fixed warnings in g++. Wed Jul 25 23:37:00 2001 Craig Rodrigues * orbsvcs/tests/AVStreams/Full_Profile/Makefile: * orbsvcs/tests/AVStreams/Latency/Makefile: * orbsvcs/tests/AVStreams/Modify_QoS/Makefile: * orbsvcs/tests/AVStreams/Multicast/Makefile: * orbsvcs/tests/AVStreams/Multicast_Full_Profile/Makefile: * orbsvcs/tests/AVStreams/Pluggable/Makefile: * orbsvcs/tests/AVStreams/Simple_Three_Stage/Makefile: * orbsvcs/tests/AVStreams/Simple_Two_Stage/Makefile: * orbsvcs/orbsvcs/Makefile.av: Correct link flags so that ACE_QoS is linked in when rapi=1 is specified in platform_macros.GNU. Wed Jul 25 22:45:10 2001 Balachandran Natarajan * tao/Strategies/SHMIOP_Transport.cpp: * tao/Strategies/DIOP_Transport.cpp: Fixed a compile error that came up from my previous change. Wed Jul 25 22:39:32 2001 Balachandran Natarajan * tests/RTCORBA/Server_Protocol/server.cpp: * tests/RTCORBA/Client_Propagated/server.cpp: * tests/RTCORBA/Thread_Pool/server.cpp: Added checks & debugging statments for a null RootPOA. thanks to Johnny Willemsen for pointing this out. Did some minor cosmetic fixes. Wed Jul 25 22:10:21 2001 Balachandran Natarajan * tao/Transport.cpp: * tao/Transport.h: Fixed a subtle problem that seems to have lead to the Muxing tests failing randomly. The problem is something like this - multiple client threads can try to share a connection - because of the above, more than one message are sent on the same connection - if the server is multi-threaded, the messages can be processed concurrently - there may be a possibility of more than two replies coming on the same connection. - one of the client threads can pick up both the replies - one of the replies would be queued up and the first one can be its own - after queueing up the second it would wake up another thread - if the woken up thread does not own the reply, it could just take the reply and try to transfer ownership to the right thread. - before the second thread transfers the reply, teh second thread would have resumed the handler and because of which one of the threads would have gone into the reactor from the LF. - at exactly the same instant the seccond thread will have difficulty in waking up the thread on select () is it is the owner. Fixed this problem by not resuming the handle till we dispatch the reply. We dont buy anything by resuming the handle before dispatching the reply because, the dispatching will not be unbounded. The forces that apply to the server thread, which resumes the handle before making an upcall does not apply to the client threads that reads and processes replies. This fix should ideally fix the Muxing test failure on different paltforms. If it doesnt, it will atleast prevent the race condition outlined above :-) Wed Jul 25 20:33:21 2001 Balachandran Natarajan * examples/Simple/time-date/Makefile.bor: * examples/Simple/time-date/server.bor: * examples/Simple/time-date/time_date.bor: Fixed Borland builds for this example. This commit is for Johnny Willemsen who is away from his work. Wed Jul 25 12:50:00 2001 Michael Kircher * tao/Strategies/DIOP_Factory.cpp: Changed the return value of requires_explicit_endpoint () to 0 and documented that this return code is not reflecting that the endpoints are not cleaned-up but that we disable it by default because DIOP is only suitable for certain use cases, e.g. it only supports one-ways. Wed Jul 25 08:41:39 2001 Jeff Parsons * TAO_IDL/be/be_visitor_interface/interface_cs.cpp: Fixed formatting in generation of _unchecked_narrow(). Tue Jul 25 01:00:00 2001 Craig Rodrigues * orbsvcs/tests/AVStreams/Multicast/run_test.pl: * orbsvcs/tests/AVVStreams/Asynch_Three_Stage/run_test.pl: * orbsvcs/tests/AVStreams/Asynch_Three_Stage/input: Increase the times that the perl scripts expecting the the CORBA processes to run for. Decrease the size of the Asynch_Three_Stage input file by 4000 lines. Tue Jul 24 18:16:13 2001 Krishnakumar B * tests/Exposed_Policies/Policy_Verifier.cpp (init): * tests/Exposed_Policies/RT_Properties.cpp: Changed handling of the default argument values. Added options "-BaseObjectIOR" and "-OverriddenIOR" to enable waiting on the IOR file instead of sleeping in the run_test.pl * tests/Exposed_Policies/run_test.pl: Fixed priorities to handle Tru64. Added the new options mentioned above to specify the IOR. * tests/Exposed_Policies/POA.cfg: * tests/Exposed_Policies/Object.cfg: Since the IOR files are passed from the command-line, remove them from here. * tests/Exposed_Policies/POA.cfg.tru64: * tests/Exposed_Policies/Object.cfg.tru64: Added new files with proper priority values for Tru64. OCI folks, you want to change similarly for HP-UX. Tue Jul 24 11:12:25 2001 Ossama Othman * tao/IIOP_Acceptor.cpp (create_shared_profile, create_new_profile): * tao/Strategies/DIOP_Acceptor.cpp (create_shared_profile, create_new_profile): * tao/Strategies/SHMIOP_Acceptor.cpp (create_profile): * tao/Strategies/UIOP_Acceptor.cpp (create_profile): Do not add any tagged components to the profile if an IIOP 1.0 endpoint/profile is being created. Tagged components were introduced in IIOP 1.1. The same convention is adopted for the other pluggable protocols distributed with TAO (UIOP, SHMIOP, and DIOP). SSLIOP already does this check since it requires tagged components in order to convey security association information to the client. These changes address interoperability issues. Tue Jul 24 12:33:17 2001 Balachandran Natarajan * tests/Big_Reply/Client_Task.cpp (validate_connection): Some cosmetic changes. Tue Jul 24 08:38:14 2001 Jeff Parsons * orbsvcs/examples/Security/SecurityLevel1/SLevel1_Test.idl: Removed 'void' parameter from two operations. Thanks to Ugendreshwar Kudupudi for reporting the bug. Mon Jul 23 22:31:18 2001 Balachandran Natarajan * tests/Big_Reply/Client_Task.cpp: Added some debufg statments. Further fixed a small goof up. A method to validate connections was added but never called :(. Fixed that by calling validate_connection () before an actual call to the server object. Mon Jul 23 22:24:05 2001 Balachandran Natarajan * examples/Simple/time-date/svc.conf: Removed the entry for TAO_RT_Protocol_Hooks. Looks like they have taken some other form after the RTCORBA subsetting effort. The test were failing in the daily builds but never came up on the scoreboard. Mon Jul 23 21:40:38 2001 Balachandran Natarajan * tao/GIOP_Message_Lite.cpp: Fixed a warning in Win32 builds. Mon Jul 23 1:44:23 2001 Balachandran Natarajan * tao/TAO_Static.dsp: Added GIOP_Lite files to the builds. Mon Jul 23 11:44:30 2001 Balachandran Natarajan Support for GIOP Lite and GIOP Fragments are being added in this checkin. Merged from the branch giop_lite_fragment. * tao/Makefile: * tao/Makefile.bor: Added GIOP Lite files to the list of files. Sat Jul 14 16:42:07 2001 Balachandran Natarajan * tao/Strategies/DIOP_Transport.cpp: * tao/Strategies/SHMIOP_Transport.cpp: * tao/Strategies/UIOP_Transport.cpp: Added support for GIOP lite. Fri Jul 13 16:54:07 2001 Balachandran Natarajan * tao/Pluggable_Messaging.h: * tao/GIOP_Message_Base.h: * tao/GIOP_Message_Base.cpp: * tao/Transport.cpp: * tao/Transport.h: * tao/Transport.inl: Added support for GIOP fragments. The GIOP fragmentation supportseems to have some copying and allocation overhead. Need to look into this when it gets important. Further, the fragmentation support hasnt been tested at all as we have no way of testing it. * tao/IIOP_Transport.cpp: Enabled GIOP lite support * tao/TAO.dsp: Added GIOP lite files back to the builds. * tao/Connection_Handler.h: * tao/orbconf.h: Moved some of the #defines from Connection_Handler.h to orbconf.h. Mon Jul 9 10:23:07 2001 Balachandran Natarajan * tao/GIOP_Message_Generator_Parser_12.cpp: The long talked about alignment for the LocateReply messages have been removed. We dont align the messages on an 8 byte boundary as described by the CORBA 2.4 spec. This is one of the urgent resolutions adopted by the OMG. Mon Jul 9 09:40:07 2001 Balachandran Natarajan * tao/GIOP_Message_Lite.h: * tao/GIOP_Message_Lite.cpp: Added support for GIOP lite. The implementation now is similar to the regular GIOP. * tao/GIOP_Message_Base.cpp: Used the payload_size () in GIOP_Message_State for claculating the payload. We were using the message_size () and then subtracting the length of the GIOP header in consolidate_node (). This looked cumbersome. Mon Jul 23 07:46:30 2001 Balachandran Natarajan * tao/orbconf.h: Enabled DIOP for minimum CORBA. Sun Jul 22 21:53:23 2001 Irfan Pyarali * $ACE_ROOT/auto_run_tests.lst: Disabled Exposed_Policies test for single threaded configurations and Linux. This test requires multiple threads and support for multiple native priorities. * tests/Exposed_Policies/Policy_Tester.cpp (Policy_Tester): Fixed several things: - No need for the Policy_Tester::~Policy_Tester to call shutdown(). This is already done by the servant. - No need for TRY/CATCH blocks in each function. This unnecessarily stops any exceptions from propagating to higher layers. - Fixed return values and added error checking. - No need to call destroy() on the POAs. ORB::shutdown is enough. - Removed unnecessary default values from the function prototypes. * tests/Exposed_Policies/run_test.pl: * tests/Exposed_Policies/POA.cfg: * tests/Exposed_Policies/Object.cfg: Updated config files so that the priorities would be ok for Win32. * tests/Exposed_Policies/server.cpp: Improved error checking. * tests/Exposed_Policies/server.conf: Removed Thread Pool Reactor directive from the service config file. Sun Jul 22 16:44:16 2001 Balachandran Natarajan * tests/Big_Reply/Client_Task.cpp: * tests/Big_Reply/Client_Task.h: Fixed a compile error in no exception builds. Sun Jul 22 13:36:21 2001 Craig Rodrigues * orbsvcs/orbsvcs/AV/RTP.cpp: If a TAO_AV_frame_info is not specified in the TAO_AV_RTP_Object::sendframe() method, insert a timestamp into the RTP header based on the current system time. The timestamp will be in milliseconds. Thanks to Rob Ruff for pointing this out. Sun Jul 20 12:30:00 2001 Michael Kircher * tao/Asynch_Invocation.cpp: * tao/Asynch_Invocation.i: Changed the code which sets up a reply dispatcher for AMI calls to only set up one, if a non-nil reply handler got registerd. This change is related to my change on Fri Jul 20 08:10:00 2001. It assumes that the ORB will drop replies to which no reply dispatcher is registered. Sun Jul 22 09:43:09 2001 Balachandran Natarajan * tests/Big_Reply/Test.idl: Added a no-op ping () operation which is used to setup a connection properly. * tests/Big_Reply/Client_Task.cpp: * tests/Big_Reply/Client_Task.h: Called the ping () method before getting the replies. * tests/Big_Reply/Big_Reply_i.h: * tests/Big_Reply/Big_Reply_i.cpp: Implementation for the ping () method. Sun Jul 22 09:27:30 2001 Balachandran Natarajan * tests/Oneway_Buffering/Test.idl: Changed the operation request_received () in Oneway_Buffering_Admin interface to a oneway. The reason for doing this has been well documented in bug #982. Fri Jul 20 23:58:12 2001 Balachandran Natarajan * tao/Transport.cpp: Fixed a subtle bug. The problem was when reading a big message. We read part of the message into a stack allocated buffer. We then grow the buffer to read the rest of the message. This was working fine. But in the read after grwoing the buffer, if we get an error we were just returning to the reactor. This was right. But we have to queue up the message before returning to the reactor incase we get a EWOULDBLOCK. Fri Jul 20 12:58:12 2001 Balachandran Natarajan * tao/IIOP_Connection_Handler.h: * tao/IIOP_Connection_Handler.cpp: Removed the resumption of the handler in the handle_output () call. Looks like we dont win anything by resuming the handler at this level. We need to get back to this after 1.2 if it is required. * tao/Connection_Handler.h: Removed some of the #defines * tao/orbconf.h: Moved the #defines here from Connection_handler.h. * tao/Strategies/DIOP_Connection_Handler.h: * tao/Strategies/DIOP_Connection_Handler.cpp: * tao/Strategies/UIOP_Connection_Handler.h: * tao/Strategies/UIOP_Connection_Handler.cpp: * tao/Strategies/SHMIOP_Connection_Handler.h: * tao/Strategies/SHMIOP_Connection_Handler.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.cpp: Replicated IIOP changes to these protocols. Fri Jul 20 09:25:00 2001 Craig Rodrigues * tests/ior_corbaloc/run_test.pl: * tests/InterOp-Naming/run_test.pl: Do not include ACEutils Perl module in scripts which use PerlACE::Run_Test module. ACEutils prevents PerlACE::Run_Test from seeing the -ExeSubDir argument. This causes test failures on certain platforms. Thanks to Darrell Brunsch for explaining this and pointing this out. Tue Jul 20 08:27:31 2001 Balachandran Natarajan * orbsvcs/tests/AVStreams/Component_Switching/receiver.dsp: Fixed a typo in the library names. Fri Jul 20 08:10:00 2001 Michael Kircher * tao/ORB_Core.cpp: * tao/Leader_Follower.i: * tao/Strategies/DIOP_Acceptor.cpp: * tao/Strategies/DIOP_Connection_Handler.cpp: Removed old, meanwhile unrelevant comments from me. * tao/Asynch_Reply_Dispatcher.cpp: Added a check for a nil reply handler. In the case of a nil reply handler no response is dispatched. Thanks to Andreas Geisler for pointing this out. * tests/AMI/simple_client.cpp: Added a test case for the above change. * tests/AMI/client.cpp: Did a cosmetic change. Thu Jul 19 18:48:09 2001 Irfan Pyarali * tao/ORB.h (run/work_pending/perform_work): Updated documentation wrt timeouts. Thanks to Jean-Christophe Dubois for suggesting this. Thu Jul 19 10:37:55 2001 Paul Calabrese * docs/Options.html: Document the differences between the default and advanced resource factories. Tue Jul 19 09:30:31 2001 Balachandran Natarajan * tao/Transport.cpp (make_queued_data): Created a data block for the size that is required instead of the size of the incoming data block. This should fix the lingering problems with Single_Read tests in our daily builds. * tao/GIOP_Message_Base.cpp: Added some comments. Tue Jul 19 09:34:00 2001 Craig Rodrigues * orbsvcs/tests/AVStreams/Component_Switching/sender.bor: * orbsvcs/tests/AVStreams/Component_Switching/receiver.bor: * orbsvcs/tests/AVStreams/Component_Switching/distributer.bor: Fixed the Borland makefiles files to link in the strategies library. Tue Jul 19 07:56:31 2001 Balachandran Natarajan * orbsvcs/tests/AVStreams/Component_Switching/sender.dsp: * orbsvcs/tests/AVStreams/Component_Switching/receiver.dsp: * orbsvcs/tests/AVStreams/Component_Switching/distributer.dsp: Fixed the dsp files to link in the strategies library. Tue Jul 19 12:49:31 2001 Balachandran Natarajan * tao/Sequence.i (replace): * tao/Sequence.cpp: Set the read and write pointers properly for copied message blocks at the positions. Tue Jul 19 12:27:31 2001 Balachandran Natarajan * tao/Transport.cpp (make_queued_data): Fixed a typo and added a new line for a DEBUG statement. Tue Jul 18 11:25:31 2001 Balachandran Natarajan * tao/Transport.h: * tao/Transport.cpp: Refactored some code in to a new method called get_queued_data (). Wed Jul 18 23:58:00 2001 Craig Rodrigues * orbsvcs/tests/AVStreams/Component_Switching/sender.cpp: * orbsvcs/tests/AVStreams/Component_Switching/receiver.cpp: * orbsvcs/tests/AVStreams/Component_Switching/distributer.cpp: Add #include "tao/Strategies/advanced_resource.h" so that the ace_static_svc_TAO_Advanced_Resource_Factory symbol is defined in each binary, and the TAO_Strategies library is actually linked in during static builds. Fixes failures of this test with static builds. * orbsvcs/tests/AVStreams/Component_Switching/components_svc.conf: Fix syntax so Service Configurator file can be used for static and dynamic builds. Wed Jul 18 19:22:48 2001 Irfan Pyarali * tao/Leader_Follower.i (set/reset_client_leader_thread): Fixed a subtle bug in the Leader Follower code: was marked 1 in set_client_leader_thread() and 0 in reset_client_leader_thread(). This was a problem when the client thread was made leader thread multiple times in nested upcall situations. Changing the code to increment in set_client_leader_thread() and decrement in reset_client_leader_thread() gave us an accurate count of how many times the client was made the leader. Thanks to Christian von Mueffling and Alex Lehner for reporting this. * tao/Asynch_Reply_Dispatcher.cpp: Removed unnecessary include file "Leader_Followers.h". * tests/NestedUpcall/Simple/run_test.pl: Changed MT configuration to use parameters with which the test was previously failing. Wed Jul 18 17:44:56 2001 Jeff Parsons * TAO_IDL/driver/drv_preproc.cpp (DRV_pre_proc): * orbsvcs/IFR_Service/drv_preproc_ifr.cpp (DRV_pre_proc): Added one more flag set in the ACE_Log_Msg instance to ensure that the output of the preprocessor dump (-E command line option) goes to stdout. Tue Jul 18 09:11:13 2001 Balachandran Natarajan * tao/Transport.cpp: Made sure that the timeout values are passed to the recv () calls in the handle_input_i (). The thread-per-connection uses the timeout value. Thanks to Mike Pyle for influencing this change. Wed Jul 18 08:55:29 2001 Jeff Parsons * orbsvcs/IFR_Service/drv_preproc_ifr.cpp (DRV_pre_proc): Dump of preprocessed IDL file (from -E command line option) now goes to stdout instead of stderr. Similar to change in TAO IDL compiler in yesterday's entry. Tue Jul 18 07:58:30 2001 Balachandran Natarajan * tao/Transport.cpp (consolidate_message): Fixed a subtle that hardly showed up. The problem stemmed from the fact we were trying to queue up messages if we had a partial read. The Message blocks were duplicated but not the underlying data blocks. Fixed them by doing a proper copying onto the message queue. * tao/Sequence.i: * tao/Sequence.cpp: Used the self_flags () instead of flags () to check on the origin of the data block. Tue Jul 17 21:13:30 2001 Irfan Pyarali * tests/RTCORBA/Server_Protocol/run_test.pl: Updated and fixed run_test.pl and add new file server_uiop.conf. Tue Jul 17 16:24:00 2001 Craig Rodrigues * orbsvcs/tests/AVStreams/Component_Switching/run_test.pl: * orbsvcs/tests/AVStreams/Component_Switching/svc.conf: (removed) * orbsvcs/tests/AVStreams/Component_Switching/components_svc.conf: (added) Renamed svc.conf to components_svc.conf to fix problems in statically compiled builds. Tue Jul 17 14:09:16 2001 Balachandran Natarajan * tests/Single_Read/client.cpp: * tests/Single_Read/test_i.cpp: Added some debug statements. This test seems to be failing only in one of the Full builds. Not sure what could be the problem. The test runs to perfection but the srever doesn't shutdown. I havent been able to reproduce the error. These debug statements should give me sufficient clue to what is happening. Tue Jul 17 13:48:00 2001 Balachandran Natarajan * tao/Strategies/UIOP_Transport.cpp: Fixed a warning. Tue Jul 17 13:44:49 2001 Balachandran Natarajan * performance-tests/POA/Demux/Makefile: Updated dependencies. This should fix the compile error with FORTE. Tue Jul 17 11:54:07 2001 Jeff Parsons * TAO_IDL/driver/drv_preproc.cpp: Modified preprocessor dump to go to stdout instead of stderr. This feature was requested by Alex Hornby . Mon Jul 16 22:24:17 2001 Balachandran Natarajan * examples/PluggableUDP/tests/SimplePerformance/run_test.pl: * examples/PluggableUDP/tests/Basic/run_test.pl: Fixed the run test scripts to make sure that a DIOP endpoint is specified when the server is invoked. This would fix the errors seen in our builds. * examples/PluggableUDP/tests/Basicsvc.conf: Just removed the file from the repository. Looks like it was not needed and confused the client too much leading to SEGV's. Mon Jul 16 22:03:13 2001 Balachandran Natarajan * tao/IIOP_Connection_Handler.cpp: * tao/Strategies/DIOP_Connection_Handler.cpp: * tao/Strategies/UIOP_Connection_Handler.cpp: * tao/Strategies/SHMIOP_Connection_Handler.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.cpp: Fixed, what looked like a subtle race condition. If a thread that calls handle_input () gets a -1 on read, we return -1 to the reactor. This makes the reactor close the handler and remove that from its internal map. If we resume the handler for such cases, before returning from handle_input (), looked like one more thread was woken up by the reactor to read from the handle. When this occurs on another thread, the first thread went about doing its task of closing the handle and removing the handler from its internal map. Bad things started happening. Mon Jul 16 17:23:57 2001 Jeff Parsons * tao/IORManipulation/TAO_IORManip.dsp: Further fixes to the MFC versions of this project. Mon Jul 16 14:25:23 2001 Balachandran Natarajan * tao/GIOP_Message_State.cpp (read_ulong): Looks like some of the compilers have problems when they try to dereference a pointer got out of reinterpret_cast'ing another pointer. The problem showed up on solaris builds. The fix that has been applied is to make a local copy on the stack of the data that is needed before calling a reinterpret_cast on it. Mon Jul 16 11:44:30 2001 Balachandran Natarajan * tests/Big_Reply/server.cpp: The reply sent was too huge. The bug #957 started showing up. Reduced the size of the reply to approximately 4 MB. Mon Jul 16 11:36:00 2001 Frank Hunleth * tao/Strategies/DIOP_Factory.cpp (requires_explicit_endpoint): Make DIOP require an explicit endpoint to prevent a DIOP endpoint from being automatically created when the Strategies library is linked. Mon Jul 16 11:20:40 2001 Jeff Parsons * tao/DyanmicInterface/TAO_DynamicInterface.dsp: * tao/IORTable/TAO_IORTable.dsp: * tao/IORManipulation/TAO_IORManip.dsp: * orbsvcs/orbsvcs/LoadBalancing.dsp: * orbsvcs/orbsvcs/CosNotification.dsp: Fixed MFC settings for these projects. Thanks to truename for reporting the problems. Mon Jul 16 9:17:43 2001 Christopher Kohlhoff * performance-tests/Throughput/client.bor: * performance-tests/Throughput/server.bor: Corrected definitions of CFLAGS and LIBFILES to fix Borland compile error. Mon Jul 16 07:49:22 2001 Balachandran Natarajan * performance-tests/Cubit/TAO/IDL_Cubit/collocation_test.dsp: * performance-tests/RTCorba/Multiple_Endpoints/Orb_Per_Priority/Server.dsp: * performance-tests/RTCorba/Multiple_Endpoints/Orb_Per_Priority/Client.dsp: These dsp files needed the strategies library in their release configuration. Added them to fix Win32 builds. I thought I had made the changes during my last checkin. Apparently I had not :(. Mon Jul 16 07:34:22 2001 Balachandran Natarajan * docs/tutorials/Quoter/Event_Service/Makefile: Updated dependencies. Sun Jul 15 9:59:24 2001 Balachandran Natarajan * tests/Param_Test/anyop.dsp (InputPath): Set the dependecy for the generated code to the IDL compiler. Missed out when generated this file. Sun Jul 15 9:33:34 2001 Balachandran Natarajan * tao/Sequence.cpp: * tao/Sequence.i: A fix at the places where ACE_Message_Block::duplicate () is called. The duplicate () call just allocated memory for a new Message block and then duplicated the exisiting data block -- which just increments the reference count of the data block. This could be bad for cases where the incoming message is on a data block on stack. By incrementing the reference count we get nothing for such cases. The fix that has been put in does the following - checks whether the data block is on stack, if so does a deep copy before calling duplicate on the message block. - if the data block is already on the heap just calls duplicate () on the message block. * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp: Added a comment where duplicate () is used. But the code that uses duplicate () has been commented out . Sat Jul 14 20:18:36 2001 Balachandran Natarajan * docs/tutorials/Quoter/Event_Service/Makefile: Updated dependencies. Sat Jul 14 18:59:48 2001 Balachandran Natarajan * performance-tests/Cubit/TAO/IDL_Cubit/collocation_test.dsp: * performance-tests/RTCorba/Multiple_Endpoints/Orb_Per_Priority/Server.dsp: * performance-tests/RTCorba/Multiple_Endpoints/Orb_Per_Priority/Client.dsp: These dsp files needed the strategies library. Added them to fix Win32 builds. Sat Jul 14 17:44:28 2001 Balachandran Natarajan * tests/Param_Test/anyop.dsp (RSC): Looks like this has been broken for a long time now. Fixed the dsp file so that we dont any errors during loading. Sat Jul 14 00:33:28 2001 Paul Calabrese * examples/PluggableUDP/tests/SimplePerformance/svc.conf: Switch this configuration file to use the Advanced_Resource_Factory. This way the options actually do something. Fri Jul 13 16:07:04 2001 Douglas C. Schmidt * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp: Make sure that this->ior_multicast is non-NULL in ~ImplRepo_i() before using it to lookup in the reactor. Thanks to Victor Chernenko for reporting this. Thu Jul 13 14:30:16 2001 Paul Calabrese * examples/AMI/FL_Callback/AMI_Peer.dsp: * examples/AMI/FL_Callback/AMI_Progress.dsp: * orbsvcs/tests/AVStreams/Latency/control.dsp: * orbsvcs/tests/AVStreams/Latency/ping.dsp: * orbsvcs/tests/AVStreams/Latency/pong.dsp: * performance-tests/Callback/client.dsp: * performance-tests/Callback/server.dsp: * performance-tests/Cubit/TAO/MT_Cubit/client.dsp: * performance-tests/Cubit/TAO/MT_Cubit/server.dsp: * tests/Collocation/Collocation.dsp: * tests/Exposed_Policies/Client.dsp: * tests/Exposed_Policies/Server.dsp: Add in missing path for TAO_Strategies library. Fri Jul 13 10:48:03 2001 Jeff Parsons * TAO_IDL/be/be_visitor_union/union_cs.cpp: * TAO_IDL/be/be_visitor_union_branch/pulbic_assign_cs.cpp: Fixed code generation for copy constructor and assignment operator for object reference union members. These operations were failing if the rhs union was uninitialized. Thanks to Matt Cheers for sending in the example IDL file and application code. Thu Jul 12 22:22:31 2001 Ossama Othman * tao/Connector_Registry.cpp (create_profile): Print the hexadecimal value of the unknown profile tag in the debugging output rather than the decimal value. The former is generally more useful. Thu Jul 12 21:36:53 2001 Ossama Othman * orbsvcs/orbsvcs/Makefile (MKLIST): The AV Service needs the CosNaming and CosProperty libraries. Add their Makefiles to the build list if they aren't already there. Thu Jul 12 20:40:51 2001 Ossama Othman * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp (connect): Corrected placement of an ACE_CHECK_RETURN statement. Thu Jul 12 20:29:42 2001 Ossama Othman * tao/ORB_Core.i (resolve_rt_orb, resolve_rt_current): Fixed broken emulated exception code. ACE_CHECK_RETURN should have been used instead of ACE_TRY_FLAG. Thu Jul 12 20:21:36 2001 Ossama Othman * docs/tutorials/Quoter/Makefile (DIRS): * docs/tutorials/Quoter/Simple/Makefile (DIRS): Do not build certain directories if AMI is disabled or if Minimum CORBA is enabled. Some tutorials require AMI, or features that are not available in the minimum CORBA configuration. Thu Jul 12 19:45:06 2001 Ossama Othman * orbsvcs/Naming_Service/NT_Naming_Server.cpp (ConsoleHandler): Fixed unused argument warning. Thu Jul 12 17:30:42 2001 Frank Hunleth * tao/orbconf.h: * tao/ORB.cpp: * tao/ORB_Core.cpp: * tao/ORB_Core.h: * tao/ORB_Core.i: Removed the RTORB and RTCurrent from the hardcoded list of initial references. Now, both get added dynamically when the RTCORBA library is loaded using the PortableInterceptors. This should fix a segfault that was reported by Max Voronoy and investigated by Ossama. * tao/RTCORBA/RTCORBA.cpp: * tao/RTCORBA/RT_ORB.cpp: * tao/RTCORBA/RT_ORB.h: * tao/RTCORBA/RT_ORBInitializer.cpp: * tao/RTCORBA/RT_ORBInitializer.h: * tao/RTCORBA/RT_ORB_Loader.cpp: * tao/RTCORBA/RT_ORB_Loader.h: * tao/RTCORBA/Thread_Pool.cpp: * tao/RTCORBA/Thread_Pool.h: Code changes necessary to support creating the RTORB and RTCurrent in the pre_init method rather than on demand. This is necessary to add both objects to the initial references list using the PortableInterceptors. * tests/RTCORBA/Makefile: * tests/RTCORBA/Makefile.bor: * tests/RTCORBA/README: * tests/RTCORBA/ORB_init/Makefile: * tests/RTCORBA/ORB_init/Makefile.bor: * tests/RTCORBA/ORB_init/ORB_init.cpp: * tests/RTCORBA/ORB_init/ORB_init.dsp: * tests/RTCORBA/ORB_init/README: * tests/RTCORBA/ORB_init/run_test.pl: Added unit test to check for correct processing when instantiating multiple RT enabled ORBs. Looking at some of the RT code indicated that there might be a problem, and there actually was. Thanks to Irfan for writing the test. * tao/TAO_Internal.cpp: Added check to automatically initialize RTCORBA if it has been linked in. This should fix a common source of RTCORBA errors. Thanks to Irfan for the suggestion. * tests/RTCORBA/Private_Connection/svc.conf: * tests/RTCORBA/Server_Declared/server.conf: * tests/RTCORBA/Server_Declared/svc.conf: * tests/RTCORBA/Server_Protocol/server_iiop.conf: * tests/RTCORBA/Server_Protocol/server_reverse.conf: * tests/RTCORBA/Server_Protocol/server_reverse_nt.conf: * tests/RTCORBA/Server_Protocol/server_shmiop.conf: * tests/RTCORBA/Server_Protocol/svc.conf: * tests/RTCORBA/Thread_Pool/svc.conf: * tests/Exposed_Policies/server.conf: * tests/Exposed_Policies/svc.conf: * tests/RTCORBA/Banded_Connections/server.conf: * tests/RTCORBA/Banded_Connections/svc.conf: * tests/RTCORBA/Client_Propagated/svc.conf: * tests/RTCORBA/Client_Protocol/svc.conf: * tests/RTCORBA/Explicit_Binding/svc.conf: * tests/RTCORBA/MT_Client_Protocol_Priority/server.conf: * tests/RTCORBA/MT_Client_Protocol_Priority/svc.conf: Updated configuration files to remove RT_ORB initialization to test out the above change. Thu Jul 12 15:10:52 2001 Ossama Othman * TAO_IDL/driver/drv_preproc.cpp (DRV_pre_proc): Open the temporary file with the O_EXCL flag to close a symbolic link attack vulnerability. Thu Jul 12 13:31:25 2001 Ossama Othman * orbsvcs/orbsvcs/Security/EstablishTrustPolicy.h: Corrected constructor signature to match the implementation. * orbsvcs/orbsvcs/Security/Security_PolicyFactory.cpp (create_policy): Support creation of the SecurityLevel2::EstablishTrustPolicy. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp (connect): Refactored IIOP-specific and SSLIOP-specific code into new iiop_connect() and ssliop_connect() methods, respectively. (ssliop_connect): Added support for the SecurityLevel2::EstablishTrustPolicy. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.i (object_addr): Cache the SSLIOP-specific ACE_INET_Addr in the TAO_SSLIOP_Endpoint rather than initializing one each time an invocation is made. This should improve SSLIOP performance. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.cpp: Removed left over Security::Detect{Replay,Misordering} security association bits from the default security association value. They were actually unused, but removed them anwyay since SSLIOP doesn't support either. No visible run-time change will occur. * orbsvcs/orbsvcs/Makefile.Security (FILES): * orbsvcs/orbsvcs/Security.bor (OBJFILES): * orbsvcs/orbsvcs/Security.dsp: Added EstablishTrustPolicy files to the list of sources. Thu Jul 12 15:10:46 2001 Paul Calabrese * examples/PluggableUDP/tests/Basic/svc.conf: * examples/PluggableUDP/tests/Performance/svc.conf: * tests/RTCORBA/Server_Protocol/server_iiop.conf: * tests/RTCORBA/Server_Protocol/server_reverse.conf: * tests/RTCORBA/Server_Protocol/server_reverse_nt.conf: * tests/RTCORBA/Server_Protocol/server_shmiop.conf: Switch these configuration files to use the Advanced_Resource_Factory. This way their options actually do something. Thu Jul 12 13:07:20 2001 Jeff Parsons * tests/IDL_Test/interface.idl: * tests/IDL_Test/reopened_modules.idl: Moved some example code having nested modules from interface.idl to reopened_modules.idl. This move hides the generated code from both configurations of VxWorks, which can't compile C++ code generated from nested IDL modules. Thu Jul 12 07:11:39 2001 Ossama Othman * tao/Strategies/advanced_resource.cpp (init): Fixed broken code that initialized a stack allocated string array with a non-const size. Use a CORBA::StringSeq instead. Wed Jul 11 18:00:13 2001 Ossama Othman * tao/Invocation_Endpoint_Selectors.cpp (select_endpoint): Applied patch from Wayne Erchak that fixes problem where the endpoint list in a given profile was not iterated through during connection failures. "Fail-over" semantics for a non-RTCORBA configured ORB once again work. [Bug 927] * orbsvcs/orbsvcs/Security/EstablishTrustPolicy.h: * orbsvcs/orbsvcs/Security/QOPPolicy.h: Added Doxygen comments for the TAO_QOPPolicy and TAO_EstablishTrustPolicy classes. Wed Jul 11 16:03:49 2001 Ossama Othman * orbsvcs/orbsvcs/Security/EstablishTrustPolicy.h: * orbsvcs/orbsvcs/Security/EstablishTrustPolicy.cpp: Implementation of the SecurityLevel2::EstablishTrustPolicy. It makes it possible to control whether or not client/target authentication is performed. Wed Jul 11 16:03:58 2001 Paul Calabrese * tao/Object_Loader.h: * tao/Resource_Factory.cpp: * tao/Resource_Factory.h: * tao/Server_Strategy_Factory.cpp: * tao/Server_Strategy_Factory.h: * tao/default_client.cpp: * tao/default_client.h: * tao/default_resource.cpp: * tao/default_resource.h: * tao/default_server.cpp: * tao/default_server.h: * tao/Strategies/advanced_resource.cpp: * tao/Strategies/advanced_resource.h: Improved processing of service configurator options. Many failures were not being reported to the user. These changes cause many failure to print warning messages but should not affect execution of the code. The following situations now result in warning messages: - Passing unknown -ORB* options to a factory (This includes passing advanced resource factory options to the default resource factory) - Passing an unknown value to a defined option - Passing options to the default resource factory (Resource_Factory) when the advanced resource factory (Advanced_Resource_Factory) is being used I also removed several deprecated options: -ORBEventLoopLock, -ORBDemuxStrategy, and -ORBConnectorLock. * examples/AMI/FL_Callback/AMI_Peer.dsp: * examples/AMI/FL_Callback/AMI_Progress.dsp: * examples/AMI/FL_Callback/Makefile: * examples/AMI/FL_Callback/peer.conf: * examples/AMI/FL_Callback/peer.cpp: * examples/AMI/FL_Callback/svc.conf: * orbsvcs/tests/AVStreams/Latency/Makefile: * orbsvcs/tests/AVStreams/Latency/control.cpp: * orbsvcs/tests/AVStreams/Latency/control.dsp: * orbsvcs/tests/AVStreams/Latency/ping.cpp: * orbsvcs/tests/AVStreams/Latency/ping.dsp: * orbsvcs/tests/AVStreams/Latency/pong.cpp: * orbsvcs/tests/AVStreams/Latency/pong.dsp: * orbsvcs/tests/AVStreams/Latency/svc.conf: * orbsvcs/tests/Event/Performance/latency.conf: * orbsvcs/tests/Notify/performance-tests/RedGreen/svc.conf: * performance-tests/Callback/Makefile: * performance-tests/Callback/client.bor: * performance-tests/Callback/client.cpp: * performance-tests/Callback/client.dsp: * performance-tests/Callback/server.bor: * performance-tests/Callback/server.cpp: * performance-tests/Callback/server.dsp: * performance-tests/Callback/svc.conf: * performance-tests/Cubit/TAO/IDL_Cubit/collocation_test.cpp: * performance-tests/Cubit/TAO/IDL_Cubit/iiop_lite.conf: * performance-tests/Cubit/TAO/IDL_Cubit/run_test.pl: * performance-tests/Cubit/TAO/IDL_Cubit/svc.mt_server.conf: * performance-tests/Cubit/TAO/IDL_Cubit/svc.st_client.conf: * performance-tests/Cubit/TAO/IDL_Cubit/svc.st_server.conf: * performance-tests/Cubit/TAO/IDL_Cubit/svc.zero_lock.conf: * performance-tests/Cubit/TAO/IDL_Cubit/uiop_lite.conf: * performance-tests/Cubit/TAO/IDL_Cubit/collocation/svc.conf: * performance-tests/Cubit/TAO/MT_Cubit/Makefile: * performance-tests/Cubit/TAO/MT_Cubit/client.bor: * performance-tests/Cubit/TAO/MT_Cubit/client.cpp: * performance-tests/Cubit/TAO/MT_Cubit/client.dsp: * performance-tests/Cubit/TAO/MT_Cubit/server.cpp: * performance-tests/Cubit/TAO/MT_Cubit/server.dsp: * performance-tests/Cubit/TAO/MT_Cubit/svc.conf: * performance-tests/RTCorba/Multiple_Endpoints/Orb_Per_Priority/client.conf: * performance-tests/RTCorba/Multiple_Endpoints/Orb_Per_Priority/server.conf: * performance-tests/RTCorba/Multiple_Endpoints/Orb_Per_Priority/client.cpp: * performance-tests/RTCorba/Multiple_Endpoints/Orb_Per_Priority/server.cpp: * performance-tests/RTCorba/Multiple_Endpoints/Orb_Per_Priority/Makefile: * performance-tests/RTCorba/Multiple_Endpoints/Single_Endpoint/client.conf: * performance-tests/Throughput/Makefile: * performance-tests/Throughput/client.bor: * performance-tests/Throughput/client.cpp: * performance-tests/Throughput/server.bor: * performance-tests/Throughput/server.cpp: * performance-tests/Throughput/svc.conf: * tests/AMI_Timeouts/svc.conf: * tests/Collocation/Collocation.bor: * tests/Collocation/Collocation.cpp: * tests/Collocation/Collocation.dsp: * tests/Collocation/Makefile.test: * tests/Collocation/svc.conf: * tests/Exposed_Policies/Client.dsp: * tests/Exposed_Policies/Makefile: * tests/Exposed_Policies/Server.dsp: * tests/Exposed_Policies/client.bor: * tests/Exposed_Policies/client.cpp: * tests/Exposed_Policies/server.bor: * tests/Exposed_Policies/server.conf: * tests/Exposed_Policies/server.cpp: * tests/Exposed_Policies/svc.conf: * tests/FL_Cube/Makefile: * tests/FL_Cube/client.bor: * tests/FL_Cube/client.cpp: * tests/FL_Cube/server.bor: * tests/FL_Cube/server.cpp: * tests/FL_Cube/svc.conf: * tests/LongUpcalls/svc.conf: * tests/MT_Server/server.conf: * tests/Strategies/Makefile: * tests/Strategies/README: * tests/Strategies/client.bor: * tests/Strategies/server.bor: * tests/Strategies/svc.conf These are changes to TAO tests and examples with broken service config files. The above changes caused these files to generate warnings. The vast majority of the problems were the passing of advanced resource factory options to the default resource factory. Most were changed to simply use the advanced resource factory. Some were modified to use the defaults of the default resource factory. Wed Jul 11 14:41:20 2001 Jeff Parsons * TAO_IDL/ast/ast_decl.cpp (compute_prefix): Fixed function to work if the #pragma prefix string looks like '#pragma prefix "foo.bar"'. The preprocessor takes care of the whitespace, if any, between '#pragma' and 'prefix'. Wed Jul 11 14:38:00 2001 Craig Rodrigues * tao/Strategies/DIOP_Connection_Handler.cpp: Only display debugging message if TAO_debug_level is set > 5. Wed Jul 11 13:49:00 2001 Craig Rodrigues * utils/catior/catior.cpp: Add support for printing DIOP (GIOP over UDP) profiles. Wed Jul 11 08:39:14 2001 Jeff Parsons * tao/RTCORBA/RT_Protocols_Hooks.cpp (get_thread_CORBA_priority): Replace ACE_CHECK with ACE_CHECK_RETURN (-1) - function must return an int. Wed Jul 11 09:25:00 2001 Craig Rodrigues * orbsvcs/tests/Makefile.bor: Add Simple_Naming test Wed Jul 11 02:19:59 2001 Irfan Pyarali * tao/RTPortableServer/RT_Servant_Dispatcher.cpp: Remember the native priority of the invoking thread. Once the invocation completes, restore the thread to the original native thread priority. Previously, when the priority was restored, it was done it terms of CORBA priority. The problem with this approach was that in the conversion from native to CORBA and then back to native, we can lose precision and hence the native priority of the native thread may not be the same as its original native priority. Therefore, remembering the original native priority will alleviate this problem. * tao/Protocols_Hooks: * tao/Default_Protocols_Hooks: * tao/RT_Protocols_Hooks.cpp: Expanded the priority interfaces on the Protocols_Hooks such that the user can obtain both the native and CORBA priorities. Also, the user can set both. * tao/RTCORBA/RT_Invocation_Endpoint_Selectors.cpp (select_endpoint): * tao/RTCORBA/RT_Current.cpp (the_priority): * tao/Strategies/Reactor_Per_Priority.cpp (reactor): Changed to use new priority interfaces. Tue Jul 10 22:37:48 2001 Ossama Othman * orbsvcs/orbsvcs/Security/QOPPolicy.cpp (copy): Perform a deep copy, not a shallow copy. The copy is supposed to be independent of the original. Tue Jul 10 15:59:31 2001 Ossama Othman * tao/PortableInterceptorC.h: Include "PolicyC.h" to pull in some policy related exception definitions. This fixed a problem with some minimum CORBA builds with native exception support enabled. Thanks to Sangeetha Ramadurai for reporting the problem and providing a fix. Tue Jul 10 15:56:13 2001 Krishnakumar B * tao/GIOP_Message_Lite.h: * tao/GIOP_Message_Lite.cpp: * tao/Pluggable_Messaging.h: * tao/Pluggable_Messaging.cpp: Fixed warning about virtual function override. Was caught by the Tru64 compiler. Tue Jul 10 13:09:18 2001 Jeff Parsons * TAO_IDL/be/be_visitor_valuetype/valuetype.cpp: Corrected a generation of skel_export_macro to stub_export_macro. Thanks to Alexander Rieger for tracking this down. Tue Jul 10 11:51:05 2001 Jeff Parsons * TAO_IDL/be/be_visitor_interface/interface_ch.cpp: * TAO_IDL/be/be_visitor_interface/interface_sh.cpp: Changed code so that the inheritance list of a class declaration consists of fully scoped names. The stub generation was using ACE_NESTED_CLASS, and the skeleton generation was using a computed relative name. Both generated uncompilable code in some cases. Thanks to Richard L. Johnson for reporting this bug and for sending in the example IDL file. * tests/IDL_Test/interface.idl: Added example IDL to this file in the IDL test suite. Tue Jul 10 05:52:09 2001 Douglas C. Schmidt * tao/Profile.h, * tao/Object.h: Fixed typos in comments. Thanks to Johnny Willemsen for reporting this. * tao/Connector_Registry.h (TAO_Connector_Registry): Fixed a typo where svc.comf should have been svc.conf. Thanks to Johnny Willemsen for reporting this. * tao/ORB.cpp: Added an addition expression to the #ifdef for the using std::set_unexpected declaration. Thanks to Scott Plant for reporting this. Tue Jul 10 00:45:00 2001 Ossama Othman * tao/RTCORBA/RT_ORB.cpp (TAO_RT_CORBA_Priority_Normalizer): Fixed busted code that did not check if the resolved PriorityMappingManager object reference was nil. Since this check was missing, a seg fault would occur when attempting to invoke a method on that mapping manager. Throw a CORBA::INTERNAL() exception if the reference is nil. This at leasts lets us identify a problem without seg faulting. Fixed broken code that did not use emulated exceptions properly. The ACE_TRY/CATCH block was missing. Tue Jul 10 09:13:12 2001 Johnny Willemsen * tao/orbsvcs/orbsvcs/security.bor Added the missing files Security_PolicyFactory and QOPPolicy Mon Jul 09 23:43:29 2001 Ossama Othman * tao/params.i (default_init_ref): Use CORBA::string_dup() to return a duplicate string instead of relying on ACE_CString::rep(). This allows us to portably take advantage of CORBA::String_var in TAO_ORB_Core::resolve_rir(). * tao/ORB_Core.cpp (list_initial_references): Corrected long standing bug where the stringified object reference was placed in the ObjectIdList instead of the ObjectId that represents it. Include the ObjectIds stored in the underlying table for the ORB::register_initial_reference() mechanism in the returned ObjectIdList. This was a bug. (TAO_ORB_Core, fini): The rt_priority_mapping_manager_ cached object reference member was unused. Removed its initialization and finalization code. (resolve_rir): Improved exception-safety of this method by using a CORBA::String_var instead of relying solely on delete(). * tao/ORB_Core.h (rt_priority_mapping_manager_): Removed this unused attribute. * tao/Object_Ref_Table.h (begin, end): Made iterator accessors public so that the ORB_Core can use them. * tao/Object_Ref_Table.cpp: Removed three unnecessary Hash Map related template instantiations. (current_size): Return the current size of the underlying table. * tests/InterOp-Naming/README: Corrected format for corbaloc IORs. Mon Jul 9 17:39:21 2001 Jeff Parsons * orbsvcs/tests/Security/Secure_Invocation/client.cpp: Added .in() to a CORBA::ORB_var passed to a function. Mon Jul 9 14:56:26 2001 Douglas C. Schmidt * docs/components.html (bgcolor): Fixed a typo. Thanks to John Ashmun for reporting this. Mon Jul 09 10:56:30 2001 Ossama Othman * tao/DynamicInterface/Server_Request.h: * tao/DynamicInterface/Server_Request.inl (_tao_server_request): Added this accessor that returns a reference to the underlying TAO_ServerRequest object. Thanks to James Megquier and Mouna Seri for suggesting addition of this accessor. Mon Jul 9 11:16:36 2001 Jeff Parsons * tao/IFR_Client/TAO_IFR_Client.dsp: * tao/TypeCodeFactory/TypeCodeFactory.dsp: Added MFC debug and release versions to these projects. Thanks to Francois Bernier for sending them in. Mon Jul 9 10:13:54 2001 Jeff Parsons * TAO_IDL/be/be_interface.cpp: * TAO_IDL/be_visitor_interface/interface_ch.cpp: * TAO_IDL/be_visitor_interface/interface_cs.cpp: * tao/Object.cpp: * tao/Object.h: * tao/Object.i: Added static int _tao_class_id to CORBA::Object and to all classes generated from IDL interfaces. The address of this variable is used in all _unchecked_narrow() and _tao_QueryInterface() methods. Formerly, the address of the _narrow() method was used, but on BCB, this address is not usable across DLLs. Thanks to Christopher Kohlhoff for suggesting the fix. Mon Jul 9 15:27:12 2001 Johnny Willemsen * tao/orbsvcs/tests/AVStreams/Makefile.bor * tao/orbsvcs/tests/AVStreams/Multicast_Full_Profile/*.bor * tao/orbsvcs/tests/AVStreams/Full_Profile/*.bor Added BCB makefiles for the mentioned AVStreams test Mon Jul 09 04:11:45 2001 Ossama Othman * orbsvcs/orbsvcs/Security/QOPPolicy.h: Added missing "ace/post.h" include. Mon Jul 09 02:43:38 2001 Ossama Othman * orbsvcs/tests/Security/Secure_Invocation/Makefile: * orbsvcs/tests/Security/Secure_Invocation/client.cpp: * orbsvcs/tests/Security/Secure_Invocation/client.dsp: * orbsvcs/tests/Security/Secure_Invocation/run_test.pl: Updated this test to take advantage of the newly added Security::QOPPolicy support. The test is more self-contained now, i.e. it no longer depends so much on the "run_test.pl" Perl script to test all features. Mon Jul 09 02:21:32 2001 Ossama Othman * docs/releasenotes/index.html: Updated Security Service release notes. Mon Jul 09 01:51:27 2001 Ossama Othman * tao/Invocation.h: * tao/Invocation.i: Added accessors to the transport and max_wait_time members. * tao/Invocation.cpp (perform_call): Updated invocation of the connect() method to match the signature change described below. * tao/Connector_Registry.cpp: * tao/Connector_Registry.h: * tao/IIOP_Connector.cpp: * tao/IIOP_Connector.h: * tao/Pluggable.h: * tao/Strategies/DIOP_Connector.cpp: * tao/Strategies/DIOP_Connector.h: * tao/Strategies/SHMIOP_Connector.cpp: * tao/Strategies/SHMIOP_Connector.h: * tao/Strategies/UIOP_Connector.cpp: * tao/Strategies/UIOP_Connector.h: * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connector.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.h: Changed signature of connect() method to accept a pointer to a TAO_GIOP_Invocation object. Some pluggable protocols (e.g. SSLIOP) may need access to some of the information in that object. * orbsvcs/orbsvcs/Security.idl: Corrected spelling of Security::SecFeaturePolicy. "Feature" not "Features". * orbsvcs/orbsvcs/Security/QOPPolicy.cpp: * orbsvcs/orbsvcs/Security/QOPPolicy.h: Implementation of the Security::QOPPolicy policy. This policy is used to set the desired invocation Quality-of-Protection (QoP). It can be created using ORB::create_policy(), and used in conjunction with the standard policy manipulation CORBA features (e.g. PolicyManager, PolicyCurrent), meaning that this policy can be set on a per-ORB, per-thread or per-object basis. This policy makes it possible to, for example, make both secure and insecure invocations within the same client process. * orbsvcs/orbsvcs/Security/Security_PolicyFactory.cpp: * orbsvcs/orbsvcs/Security/Security_PolicyFactory.h: Security policy factory implementation that is registered with the ORB's policy factory registry. * orbsvcs/orbsvcs/Security/Security_ORBInitializer.cpp (post_init, register_policy_factories): Register the supported security policy factories with the ORB. * orbsvcs/orbsvcs/Security/Security_ORBInitializer.h: Added a shared security policy factory member to this ORBInitializer. The factory is reentrant so there is no need create one for each ORB. Just share one between all ORBs. * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connector.cpp (connect): Moved code that obtained the TAO_IIOP_Endpoint from the TAO_SSLIOP_Endpoint from this method to the corresponding one in TAO_SSLIOP_Connector. This cleans up the code a bit. It shouldn't differ all that much from the IIOP_Connector::connect() implementation. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp (connect): Now that both secure and insecure invocations are supported within the same client process, an IIOP-only transport descriptor must be used instead of the one passed to this method since the latter is used for SSLIOP connections. Doing so prevents an IIOP-only cached transport from being associated with an SSLIOP connection. This fixes a problem that was revealed when support for secure and insecure invocations within the same client process was added (i.e. via the Security::QOPPolicy support). An insecure cached transport was matched against an SSLIOP connection. * tao/IIOP_Endpoint.i: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.cpp: Cosmetic updates. * tao/Exception.cpp: Corrected "unknown description" message. * tao/Strategies/SHMIOP_Endpoint.h: * tao/Strategies/UIOP_Endpoint.h: Doxygen-ated these headers. * orbsvcs/orbsvcs/Makefile.Security: * orbsvcs/orbsvcs/Security.dsp: * orbsvcs/orbsvcs/Security/Security.bor: Added new QOPPolicy and Security_PolicyFactory filenames to these Makefiles and project files. Mon Jul 9 08:41:12 2001 Johnny Willemsen * tao/orbsvcs/tests/AVStreams/Makefile.bor * tao/orbsvcs/tests/AVStreams/Pluggable/*.bor * tao/orbsvcs/tests/AVStreams/Multicast/*.bor Added BCB makefiles for the mentioned AVStreams test Sat Jul 7 19:44:55 2001 Krishnakumar B * tao/Incoming_Message_Queue.inl (get_queued_data): Moved the definition to the beginning to fix warning. Was caught by Tru64 cxx compiler. Fri Jul 6 22:04:51 2001 Balachandran Natarajan * tests/LongUpcalls/run_ami_test.pl: Made the perl script runnable. It was giving weird errors in the builds. Fri Jul 06 21:53:26 2001 Christopher Kohlhoff * tao/Makefile.bor: * tao/Strategies/Makefile.bor: Removed GIOP Lite support and added new source files. * orbsvcs/orbsvcs/AV/AV_Core.h: Fixed borland #pragmas to correctly reset previous options. Fri Jul 6 16:58:52 2001 Ossama Othman * orbsvcs/Notify_Service/Notify_Service.cpp (shutdown): Applied the same fix from Jody's patch described below to this method. Fri Jul 6 15:59:17 2001 Ossama Othman * orbsvcs/Notify_Service/Notify_Service.h (naming_): * orbsvcs/Notify_Service/Notify_Service.cpp (init, resolve_naming_service): Integrated patch from Jody Hagins . Take advantage of the methods provided by the CosNaming::NamingContextExt interface so that the Notification Service does the right thing with an option such as "-Factory Foo.Bar/My_Event_Channel". Fri Jul 6 18:02:07 2001 Balachandran Natarajan * tao/TAO_Static.dsp: Removed support for GIOP Lite for the time being. Just want to make sure that the interface and other stuff stabilises before we can squeeze this in. Fri Jul 6 17:55:25 2001 Jeff Parsons * TAO_IDL/be/be_visitor_argument/pre_invoke_cs.cpp (void_return_type): Change a call to base_node_type() on the operation's return type node to node_type(), which is the same but does no unaliasing. We are checking for a return type of void, which can't be aliased anyway. The return from base_node_type() checks for equality to the enum value NT_pre_defined, which now returns true for some aliased return types, and that causes problems later in the function. Thanks to Walter Wehrli for sending in the example IDL file that uncovered this bug. Fri Jul 6 17:13:20 2001 Jeff Parsons * tao/ORB_Core.cpp: Changed the string passed to ACE_Dynamic_Service::instance from "TypeCodeFactory" to "TypeCodeFactor_Loader" to match the string in the ACE_STATIC_SVC_DEFINE macro in TypeCodeFactory_Loader.cpp. Thanks to Francois Bernier for reporting the bug. Fri Jul 6 17:10:07 2001 Balachandran Natarajan * tao/GIOP_Message_Base.cpp: * tao/Transport.cpp: Added support for LocateRequest & LocateReply that. It should have been added before the code from my branch came to the main trunk, but somehow got missed. Fri Jul 6 16:01:45 2001 Balachandran Natarajan * tao/Transport.cpp (process_queue_head): * tao/GIOP_Message_State.cpp: Fixed a problem that has long been there. We have been unlucky that we did not get to this before. Fri Jul 06 14:58:09 2001 Nanbor Wang To build "CosEvent - Win32 MFC Release": * TAOACE.dsw: Make RTEvent a dependent of CosEvent. * orbsvcs/orbsvcs/RTEvent.dsp: Set up IDL custom build rules for MFC configs. * orbsvcs/orbsvcs/CosEvent.dsp: Changed the name for release version libarary to XXXmfc.lib. Thanks to Kristopher Johnson for providing the fix. [Bug 898] Fri Jul 6 13:33:35 2001 Jeff Parsons * TAO_IDL/Makefile.BE: * TAO_IDL/Makefile.FE: Added lines to force static lib compiliation for mingw. Thanks to Cristian Ferretti for the patches. Fri Jul 6 13:23:46 2001 Balachandran Natarajan * tao/Synch_Reply_Dispatcher.cpp: * tao/Asynch_Reply_Dispatcher.cpp: Removed the initialization of a buffer from the constructor. Looks like I used to do it in some life of mine and I dont which one it was. :( SunCC 4.2 doesnt like that. * tao/Resume_Handle.cpp: Added a #include of the reactor to fix compile errors in Sun CC4.2. Fri Jul 6 13:19:25 2001 Jeff Parsons * TAO_IDL/be/be_visitor_sequence/gen_bounded_obj_sequence_ch.cpp: * TAO_IDL/be/be_visitor_sequence/gen_bounded_sequence_ch.cpp: * TAO_IDL/be/be_visitor_sequence/gen_bounded_str_sequence_ch.cpp: * TAO_IDL/be/be_visitor_sequence/gen_bounded_wstr_sequence_ch.cpp: Added generation of 'TAO_EXPORT_MACRO' to class declaration. Thanks to Craig Rodrigues and Christopher Kohlhoff for helping to track this stuff down. * TAO_IDL/be/be_visitor_sequence/gen_unbounded_sequence_ch.cpp: Changed generation of 'TAO_EXPORT_NESTED_MACRO' to 'TAO_EXPORT_MACRO'. Fri Jul 6 12:38:06 2001 Balachandran Natarajan * tao/Transport.cpp: Fixed a bug with thread-per-connection model. We dont need to send notify () to the reactor as there is no reactor. Fri Jul 6 11:27:00 2001 Craig Rodrigues * tao/IFR_Client/IFR_BaseC.h: * tao/DynamicAny/DynamicAnyC.h: * tao/IORManipulation/IORC.h: Export more classes to appease Borland C++. Fri Jul 6 08:27:06 2001 Balachandran Natarajan * tao/Incoming_Message_Queue.h: * tao/Resume_Handle.h: * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Transport.h: Fixed fuzz errors. Fri Jul 6 08:14:48 2001 Balachandran Natarajan * performance-tests/Cubit/TAO/MT_Cubit/Makefile: * performance-tests/Cubit/TAO/IDL_Cubit/Makefile: Generated dependencies again. Fri Jul 6 07:43:15 2001 Chad Elliott * orbsvcs/IFR_Service/Makefile: Disable building this for Visual Age C++ due to the fact that the using keyword is not properly supported. Fri Jul 6 07:38:55 2001 Chad Elliott * performance-tests/Cubit/TAO/MT_Cubit/Task_Client.h: Fix warning when using gcc on Tru64. Fri Jul 6 07:38:44 2001 Balachandran Natarajan * orbsvcs/orbsvcs/SSLIOP.bor: * orbsvcs/orbsvcs/SSLIOP.dsp: Added the new file IIOP_SSL_Transport.cpp to the above files. Fri Jul 6 07:12:44 2001 Balachandran Natarajan * orbsvcs/orbsvcs/Makefile.av: Generated dependencies again. Looks like the last dependency generation did not do a good job. This should fix all the compile errors seen in the builds. Fri Jul 6 06:56:59 2001 Balachandran Natarajan * tao/Makefile.bor: * tao/Strategies/Makefile.bor: Fixed the makefiles. Thanks to Johnny Willemsen for alerting me on this. Thu Jul 6 01:06:55 2001 Balachandran Natarajan * tao/Strategies/DIOP_Connection_Handler.h: Fixed a link error on Win32 builds. Fri Jul 6 00:39:38 2001 Balachandran Natarajan * orbsvcs/*/Makefile: Updated dependencies. Fri Jul 6 00:38:05 2001 Balachandran Natarajan * examples/*/Makefile: Updated dependencies. Fri Jul 6 00:34:13 2001 Balachandran Natarajan * performance-tests/*/Makefile: Updated dependencies. Fri Jul 6 00:27:54 2001 Balachandran Natarajan * tests/*/Makefile: Updated dependencies. Thu Jul 6 00:16:55 2001 Balachandran Natarajan * tao/TAO_Static.dsp: * tao/Strategies/TAO_Strategies.dsp: * tao/Strategies/TAO_Strategies_Static.dsp: Added the new files and removed old ones. Thu Jul 5 23:57:55 2001 Balachandran Natarajan * tao/Makefile: * tao/*/Makefile: Updated dependencies. Thu Jul 5 23:49:34 2001 Balachandran Natarajan * orbsvcs/orbsvcs/Makefile.SSLIOP: Added IIOP_SSL_Transport to it. Thu Jul 5 23:44:16 2001 Balachandran Natarajan * tao/Strategies/GIOP_Message_NonReactive_Base.h: * tao/Strategies/GIOP_Message_NonReactive_Base.cpp: * tao/Strategies/GIOP_Message_NonReactive_Handler.h: * tao/Strategies/GIOP_Message_NonReactive_Handler.cpp: * tao/Strategies/GIOP_Message_NonReactive_Handler.inl: * tao/GIOP_Message_Reactive_Handler.h: * tao/GIOP_Message_Reactive_Handler.cpp: * tao/GIOP_Message_Reactive_Handler.inl: Removed them from the main trunk. They are no longer needed. Thu Jul 5 23:42:17 2001 Balachandran Natarajan * tao/GIOP_Message_State.i: Removed from the main trunk. Replaced that with GIOP_Message_State.inl. Thu Jul 5 23:30:07 2001 Balachandran Natarajan The long awaited fix for bug 575 is finally in!! This has been merged from bug_575_stage_2. The ChangeLog entries start here, Thu Jul 5 23:00:43 2001 Balachandran Natarajan * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.cpp * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.h * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.h: Fixed some more compilation errors in g++. Thu Jul 5 22:35:07 2001 Balachandran Natarajan * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Transport.h: * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Transport.cpp: Fixed compile errors in g++. The new IIOP_SSL_Transport classes now does the functionality of the IIOP_SSL_Connection_Handler classes. The connection handler classes exist now only to create the transport. Thu Jul 5 21:44:59 2001 Balachandran Natarajan * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Transport.h: * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Transport.cpp: New files for the SSLIOP. * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connection_Handler.h: * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connection_Handler.cpp: Moved the handle_input () from the connection handler to transport. * tao/Strategies/DIOP_*: Fixed it for the new setup. We now make a buffer of dgram size and use that to read messages. Thu Jul 5 14:44:59 2001 Balachandran Natarajan Merged with the main trunk and moved it to a new branch by name bug_575_stage_2. Wed Jul 4 18:53:22 2001 Balachandran Natarajan * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp (recv_i): Added the error checking. * tao/Pluggable_Messaging.h: Made reset () as a pure virtual function. * tao/Strategies/UIOP_Transport.cpp: Removed the close_connection () call on TMS. * tao/LIST_OF_TODO: Updated.. Wed Jul 4 18:45:22 2001 Balachandran Natarajan * tao/GIOP_Message_State.inl (reset): * tao/GIOP_Message_State.h: * tao/GIOP_Message_State.cpp: * tao/GIOP_Message_Base.h: * tao/GIOP_Message_Base.cpp: * tao/GIOP_Message_Base.inl: * tao/Incoming_Message_Queue.cpp: * tao/Pluggable_Messaging.h: * tao/Pluggable_Messaging.cpp: Added documentation. * tao/Transport.h: * tao/Transport.cpp: Fixed a minor bug. In consolidate_message () we were not checking the queue before processing the message on hand. Now we check the queue and process the head of the queue if it is not empty. In the process we add the message on hand in the queue. Wed Jul 4 16:21:22 2001 Balachandran Natarajan * tao/IIOP_Transport.cpp: Removed the connection_closed () from the recv_i () call. * tao/Transport.h: * tao/Transport.cpp: Added a number of comments and cleaned up the code for readability. * tao/LIST_OF_TODO: Updated the list. Wed Jul 4 09:20:22 2001 Balachandran Natarajan * tao/Transport.h (TAO_Transport): Added some documentation for the incoming_data_path. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.h: Fixed the SSLIOP for the changes. Havent compiled this yet. Tue Jul 3 17:09:22 2001 Balachandran Natarajan * tao/Strategies/SHMIOP_Transport.cpp: Fixed a bug in consolidate_message (). The IDL_Cubit tests work fine with the SHMIOP & UIOP transports. Tue Jul 3 16:29:06 2001 Balachandran Natarajan * tao/Strategies/SHMIOP_Connection_Handler.cpp: * tao/Strategies/SHMIOP_Connection_Handler.h: * tao/Strategies/SHMIOP_Transport.cpp: Fixed warnings and errors in g++. * tao/Strategies/UIOP_Transport.cpp: * tao/Strategies/UIOP_Transport.h: * tao/Strategies/UIOP_Connection_Handler.h: * tao/Strategies/UIOP_Connection_Handler.cpp: Fixed warnungs and errors in g++. * tao/IIOP_Connection_Handler.cpp: Used fetch_handle () to get the handle instead of the handle passed as an argument of the handle_input () call. * tao/Connection_Handler.h: Added a new #define and changed TAO_CONNECTION_HANDLER_BUF_SIZE as TAO_CONNECTION_HANDLER_STACK_BUF_SIZE. Tue Jul 03 15:45:03 2001 Balachandran Natarajan * tao/Strategies/SHMIOP_Transport.h: * tao/Strategies/SHMIOP_Transport.cpp: * tao/Strategies/SHMIOP_Connection_Handler.h: * tao/Strategies/SHMIOP_Connection_Handler.cpp: Fixed the protocol to work with the latest changes. * tao/Strategies/TAO_Strategies.dsp: Removed the GIOP_NonReactive_* files. * tao/Resume_Handle.cpp: Fixed a bug in resume_handle (). If we have a null ORB_Core we just dont resume the handle. Mon Jul 02 23:16:03 2001 Balachandran Natarajan * tao/IIOP_Transport.cpp: * tao/IIOP_Transport.h: Removed some functions which would no longer be used. * tao/Transport.h: Added some documentation for the incoming data path. * tao/Strategies/UIOP_Transport.h: * tao/Strategies/UIOP_Transport.cpp: * tao/Strategies/UIOP_Connection_Handler.cpp: Brought them up in sync with IIOP. Mon Jul 02 20:28:03 2001 Balachandran Natarajan This checkin fixes many problems with multiple calls being read in a single read. * tao/GIOP_Message_Base.cpp: Changed the way we calculate the remaining length that needs to be copied if the last read had left with a very small piece of message ie. less than 12 bytes in the queue. * tao/GIOP_Message_State.cpp: Fixed a check condition before we go ahead to parse the header. * tao/Incoming_Message_Queue.h: * tao/Incoming_Message_Queue.cpp: * tao/Incoming_Message_Queue.inl: Added a method set_flags (). Further the condition for resuming the handler has been relaxed. Clients of this class can decide not to resume handlers at all. This comes in handy at times. Also added a operator= method. * tao/Transport.cpp: * tao/Transport.h: One of the bigger problems have been solved. The way we now multiple oneways is like this - The leader thread uses the transport and reads more messages - It splits up the messages in to pieces and queues them up. - It just takes one message and processes (the head of the queue). The changes above makes sure that only one of the message is processed. - Before processing if it finds one more message it sends a notify () to the reactor. An important point is that it does this without resuming the handler. - The notify call processes one more message. Before processing if it finds one more complete message it just sends another notify to the reactor. - The thread that reads the last complete message from the queue resumes the handler before processing the message. By the above process we dont starve any thread and at the same time ensures concurrency within the ORB. * tao/LIST_OF_TODO: Updated.. Sun Jul 01 18:35:03 2001 Balachandran Natarajan * tao/Asynch_Reply_Dispatcher.h: * tao/Asynch_Reply_Dispatcher.cpp: * tao/DynamicInterface/DII_Reply_Dispatcher.h: * tao/DynamicInterface/DII_Reply_Dispatcher.cpp: Applied the same optimization that was done in the last checkin. The last checkin works fine. It is no more a suspect. Sun Jul 01 18:05:03 2001 Balachandran Natarajan * tao/GIOP_Message_Base.cpp: Fixed small problems in getting message types. * tao/Synch_Reply_Dispatcher.h: * tao/Synch_Reply_Dispatcher.cpp: * tao/Pluggable_Messaging_Utils.h: * tao/Pluggable_Messaging_Utils.cpp: Suspect optimisations added to create datablocks on stack. * tao/LIST_OF_TODO: Updated list.. Sun Jul 01 09:05:03 2001 Balachandran Natarajan * tao/Transport_Mux_Strategy.h: * tao/Muxed_TMS.h: * tao/Muxed_TMS.cpp: * tao/Exclusive_TMS.cpp: * tao/Exclusive_TMS.h: Removed commented out code. They have been commented out for sometime that we dont need them anymore. * tao/Incoming_Message_Queue.cpp: * tao/Incoming_Message_Queue.inl: * tao/Incoming_Message_Queue.h: Added lots of comments. Changed the name of the method copy_message () to copy_tail () and missing_data () to missing_data_tail (). Added a new static method TAO_Queued_Data::release () that releases a node. * tao/Transport.cpp: Accomodated the changes to the Incoming_Message_Queue to the Transport class. * tao/LIST_OF_TODO: Updated .. Sat Jun 30 13:00:03 2001 Balachandran Natarajan * tao/GIOP_Message_Base.cpp: * tao/GIOP_Message_Base.h: Fixed a subtle bug while allocating memory for the datablock in the queue. Memory was allocated only for the exact number of bytes without thinking about the alignment. Increased the number of bytes allocated. Created the outgoing CDR streams on the stack with memory drawn from the TSS. We cannot share the buffers like the way it has been done so far. * tao/IIOP_Transport.cpp: Increased the debug_level for a debug statement. * This checkin fixes the AMI problems that have been seen so far. * tao/LIST_OF_TODO: Updated the list. Fri Jun 29 18:30:03 2001 Balachandran Natarajan * tao/GIOP_Message_Base.cpp: Fixed a bug in calculating the number of bytes that needs to be copied into queue. * tao/Incoming_Message_Queue.cpp: * tao/Incoming_Message_Queue.h: Changed the signature of copy (). It returns the number of bytes copied instead of a void. * tao/Transport.cpp (parse_consolidate_messages): * tao/Transport.h: Added a new method parse_consolidate_messages () to the class. It does some common functaionalities like parsing the messages & consolidating the messages. Thu Jun 28 18:30:03 2001 Balachandran Natarajan * tao/Resume_Handle.cpp: Added a check for resumable_handlers before actually resuming the handle. Thu Jun 28 18:25:03 2001 Balachandran Natarajan * tao/Transport.cpp (process_queue_head): * tao/Transport.h: Added a new method that would take the message from the head of the incoming queue and send it for processing. * tao/GIOP_Message_Base.cpp: Minor formatting. Thu Jun 28 17:16:50 2001 Balachandran Natarajan * tao/GIOP_Message_Base.cpp: * tao/GIOP_Message_Base.h: * tao/Pluggable_Messaging.h: Removed all the arguments that had an TAO_ORB_Core as one of the arguments. GIOP classes hold a copy of the pointer to the ORB_Core and so it is no necessary. Removed the following methods - is_message_complete () - message_type () The message_type () method is now local to the GIOP classes and it returns the Pluggable Message type from the GIOP_Message_State. This method is now used to fill the node with the right information type about the message. * tao/Transport.cpp: Used the information from the node of the queue to determine the type of message before processing it. Thu Jun 28 15:12:32 2001 Balachandran Natarajan * tao/GIOP_Message_Base.cpp: * tao/GIOP_Message_Base.i: Moved the get_queued_data () from the .i file to the .cpp file. * tao/Incoming_Message_Queue.h: #include'd a file. * tao/Makefile: Added new files. * tao/Resume_Handle.inl: Added the ACE_INLINE macros to the methods defined in this file. Thu Jun 28 09:30:43 2001 Balachandran Natarajan * tao/Transport.cpp: * tao/GIOP_Message_Base.h: * tao/GIOP_Message_Base.i: * tao/GIOP_Message_Base.cpp: Made lots of changes to deal with the following - to parse & queue up messages if we have read multiple messages. - to consolidate messages if we had read half of a message - to process a consolidated message. We now use the node of the Incoming Message Queue to share data between the Transport layer and the GIOP layer. * tao/Incoming_Message_Queue.h: * tao/Incoming_Message_Queue.cpp: * tao/Incoming_Message_Queue.inl: Made the TAO_Queued_Data as a seperate class. This helped using the node of the queue to be shared between the GIOP layer. Removed many of the useless methods like wr_ptr (), is_message_complete (), add_message () etc. We have the following methods that are more meaningful - is_tail_complete () - is_message_complete () - dequeue_head () - dequeue_tail () - enqueue_tail () Added a static method get_queued_data () to create a node in the Message Queue. Added the protocol version information to the Queued Data. We also need the message type and that has also been added. * tao/Resume_Handle.h: * tao/Resume_Handle.cpp: * tao/Resume_Handle.inl: This is a utility class that is used to resume handlers. This works more or less similar to our ACE_GUARD macros, but uses a flag to keep track whether the handle has been resumed. * tao/IIOP_Connection_Handler.cpp: Installed the Resume_Handle in handle_input () methods. * tao/Pluggable_Messaging.h: Removed the method byte_order () and added the methods consolidate_node (), get_message_data () and extract_next_message (). * tao/Wait_On_Read.cpp: * tao/Connection_Handler.cpp: Changes to keep in sync with the changes to the signature of handle_input_i () in Transport class. * tao/LIST_OF_TODO: Updated the list of TODO's. Mon Jun 25 19:21:43 2001 Balachandran Natarajan * tao/GIOP_Message_Base.cpp: * tao/GIOP_Message_Base.h: * tao/GIOP_Message_Base.i: * tao/GIOP_Message_State.inl: * tao/IIOP_Transport.cpp: * tao/Incoming_Message_Queue.cpp: * tao/Incoming_Message_Queue.h: * tao/Incoming_Message_Queue.inl: * tao/Pluggable_Messaging.h: * tao/Transport.cpp: * tao/Transport.h: An inconsistent checkin only to transfer the files to the box at home. Mon Jun 25 12:10:15 2001 Balachandran Natarajan * tao/Incoming_Message_Queue.{h,cpp,inl}: * tao/LIST_OF_TODO: * tao/GIOP_Message_State.inl: Added these to my branch. Mon Jun 25 07:54:31 2001 Balachandran Natarajan * tao/* : Merged the files from the main branch. Mon Jun 25 07:45:38 2001 Balachandran Natarajan * Created this file. Fri Jun 22 17:00:38 2001 Balachandran Natarajan * tao/LIST_OF_TODO: Updated the list of TODO's. Mon Jun 18 13:31:38 2001 Balachandran Natarajan * tao/Asynch_Reply_Dispatcher.cpp (dispatch_reply): * tao/Synch_Reply_Dispatcher.cpp: * tao/GIOP_Message_Base.cpp: * tao/Transport.cpp: * tao/DynamicInterface/DII_Reply_Dispatcher.cpp: Fixed warnings in g++ builds. Sat Jun 17 17:46:23 2001 Balachandran Natarajan This set of changes comes with complete revamping of the previous design. The flaws with the previous design were as follows (1) We were unnecessarily penalising large data blocks. We were trying to read a particular size of data till the data was completely removed from the socket. This was totally ridiculous because we were doing more reads than required. (2) The message block that was constructed on the stack with a buffer from stack never did what we wanted. It was allocating a data block on the heap and was thus spoiling whatever optimization that we had tried putting in. (3) The incoming message Queue is now managed by the TAO_Transport object instead of the GIOP classes. * tao/GIOP_Message_Base.cpp: * tao/GIOP_Message_Base.h: Removed the references to the incoming message queue. Implemention for two methods missing_data () and byte_order (). Added an extra argument to the methods process_request_message () and process_reply_message (). Used the incoming message block to create a input CDR with the DONT_DELETE flag so that the data block is not deleted after request processing. * tao/GIOP_Message_State.cpp: Removed the inclusion of Transport.h. * tao/Incoming_Message_Queue.h: * tao/Incoming_Message_Queue.cpp: * tao/Incoming_Message_Queue.inl: Added an argument to the add_message (). Further the implementation of add_message () has changed a bit. It now adds only a new message to the queue. It doesn't modify a half filled queue. The TAO_Transport object does that job. So declared the TAO_Transport as the friend class of the Incoming_Message_Queue. Changed the name of the methods complete_message () as is_complete_message (). Removed the methods current_message ()& current_byte_order (). Added a new method copy_message () which copies messages into the half empty nodes. Added a method wr_ptr () to access the write pointer of the tail node that has halfempty message. * tao/Transport.cpp: * tao/Transport.h: The Incoming Message Queue is now managed by this class. Added the following methods - missing_data () - parse_incoming_messages () - check_message_integrity () - consolidate_message () - conslodate_message_queue () * tao/Pluggable_Messaging.h: Added two new virtual functions missing_data () and byte_order (). * tao/ORB_Core.h: * tao/ORB_Core.cpp: * tao/ORB_Core.i: Added an accessor for the locking_strategy used for the CDR blocks. * tao/Synch_Reply_Dispatcher.cpp: * tao/Asynch_Reply_Dispatcher.cpp: * tao/DynamicInterface/DII_Reply_Dispatcher.cpp: Changed the exchange_data_block () to clone_from () which is a new method in ACE_InputCDR. * tao/LIST_OF_TODO: Updated the list Sat Jun 16 15:49:23 2001 Balachandran Natarajan * tao/Any.cpp: * tao/Asynch_Reply_Dispatcher.cpp: * tao/CDR.cpp: * tao/CDR.h: * tao/CDR.i: * tao/GIOP_Message_Lite.cpp: * tao/IIOP_Profile.cpp: * tao/Invocation.cpp: * tao/ORB.cpp: * tao/Pluggable_Messaging_Utils.cpp: * tao/Synch_Reply_Dispatcher.cpp: * tao/TAO_Server_Request.cpp: * tao/DynamicInterface/DII_Reply_Dispatcher.cpp: Integrated some of the changes from the main trunk in this branch. Wed Jun 13 17:55:24 2001 Balachandran Natarajan * tao/Incoming_Message_Queue.cpp: * tao/Incoming_Message_Queue.inl: Fixed a bad way to use the tail of the circular linked list. This is now replaced by the size of the linked list. This fixes quite a few errors. * tao/Transport.cpp: On read () if we get errno == EWOULDBLOCK we were closing the connection prematurely. This is not right. We should only return a 0 to the reactor, so that it can call us back when there is data in the socket. Wed Jun 13 10:45:24 2001 Balachandran Natarajan * tao/GIOP_Message_Base.cpp (process_reply_message): Fixed the reply parsing and generation of the CDR stream that is passed on to the higher layers of the ORB. Wed Jun 13 07:25:24 2001 Balachandran Natarajan * tao/Makefile: Added new files. * tao/Exclusive_TMS.cpp: Removed some commented code. Tue Jun 12 18:42:55 2001 Balachandran Natarajan * tao/GIOP_Message_State.h: * tao/GIOP_Message_State.inl: The message_size () now returns the payload size + the GIOP header length. Added a new method payload_size () that returns the payload size alone. * tao/GIOP_Message_Base.cpp: Fixed a warning with g++ builds. * tao/Connection_Handler.h: * tao/Connection_Handler.cpp: The svc_i () method now calls handle_input_i () on the transport instead of the method in the same class. The handle_input_i () in the TAO_Connection_Handler class has been removed as it is no longer used. * tao/IIOP_Connection_Handler.h: * tao/IIOP_Connection_Handler.cpp: Removed the implementation of handle_input_i (). * tao/Incoming_Message_Queue.cpp: When trying to make a new data block we dont add the size of GIOP header. The message_size () now returns with that value. * tao/Incoming_Message_Queue.inl: Fixed a link error in g++ builds. Tue Jun 12 17:42:55 2001 Balachandran Natarajan First set of checkins for big two ways. * tao/Connection_Handler.h: Added #define for the default buffer size . Not sure yet whether this is the right place for it. * tao/Incoming_Message_Queue.h: * tao/Incoming_Message_Queue.cpp: * tao/Incoming_Message_Queue.inl: Queue up the incoming messages. We form a circular linked list of messages that are bigger than a particular buffer size. During processing we take messages of the queue to pass it onto the higher layers of the ORB. * tao/GIOP_Message_Base.cpp: * tao/GIOP_Message_Base.h: Added support for big two way requests. If the message has only been partially read we add the message in the queue and then go for the next read. During processing we check if the queue has messages before processing the message on hand. * tao/GIOP_Message_State.h: * tao/GIOP_Message_State.cpp: * tao/GIOP_Message_State.inl: Added accessor methods. * tao/Transport.cpp: Added support for bigger two ways. If we receive a two way bigger than a particular size we read and queue the message and do a further read to retrieve the rest of the message. * tao/TAO.dsp: Added new files. * tao/default_resource.cpp: For single threaded configuration we have been creating a locked data block and that seems to defy logic. We now should create a lock free datablock for single threaded configurations. Sat Jun 2 12:02:55 2001 Balachandran Natarajan * tao/* : Merged with the main trunk. Fri Jun 1 17:22:29 2001 Balachandran Natarajan * tao/GIOP_Message_State.cpp (parse_message_header_i): * tao/Connection_Handler.cpp: * tao/GIOP_Message_Base.cpp: * tao/Makefile: * tao/Transport.cpp: Fixed warnings and errors in Linux g++. Thu Jun 01 13:39:02 2001 Balachandran Natarajan * tao/Transport.cpp: * tao/Transport.h: Added the following methods -- handle_input_i (), process_parsed_message (). The handle_input_i () creates a buffer on the stack. It uses the buffer to read the messages. Any errors in read () or dealt here directly. The read message is then parsed and processed by the GIOP classes. Moved most of the code for processing here as they seem to be common between different transport protocols. Once we have received a full message, we just resume the handler and go ahead with processing the message. * tao/IIOP_Connection_Handler.cpp (handle_input ()): Calls handle_input_i () on the transport. * tao/Connection_Handler.h: * tao/Connection_Handler.cpp: The svc_i () calls the handle_input_i () on the transport instead of the same call on the connection handler. This way we should be able to share the same code among different protocol objects. * tao/GIOP_Message_State.h: * tao/GIOP_Message_State.cpp: Much of the message parsing and state information is stored here. * tao/GIOP_Message_Base.h: * tao/GIOP_Message_Base.cpp: * tao/Pluggable_Messaging.h: made some changes to suit the above. But more changes could come in, to suit different protocols. We may want to change the interfaces in Pluggable_Messaging to give a much cleaner interface to the world. * tao/Wait_On_Read.cpp: Used the handle_input_i () on the transport for processing the incoming data. * tao/TAO.dsp: * tao/PortableServer/TAO_PortableServer.dsp: Added new files and removed files from GIOP_Lite in the first round. * tao/GIOP_Message_Reactive_Handler.cpp: * tao/GIOP_Message_Reactive_Handler.h: Looks like these files would be removed during the final merge. The above checkins works for simple two way calls. The BiDirectional_NestedUpcall test works with the TP_Reactor. This works on Win32. Thu May 24 12:19:02 2001 Balachandran Natarajan * tao/Transport.h: Added some design forces for the input data path. End of ChangeLog entries from branch bug_575_stage_2. Thu Jul 5 22:04:24 2001 Balachandran Natarajan * tests/LongUpcalls/run_ami_test.pl: Adding a new perl script to this test. This is supposed to fail in the daily builds as this needs bug fix 575. Thu Jul 5 21:16:00 2001 Craig Rodrigues * orbsvcs/orbsvcs/AV/AV_Core.h Added some Borland compiler pragma options to prevent singleton problems when AV_Core is in a DLL. Thu Jul 5 20:41:00 2001 Craig Rodrigues * tao/CONV_FRAMEC.h * tao/DynamicC.h * tao/PolicyC.h Added export macros for some Unbounded Sequence types. * TAO_IDL/be/be_visitor_sequence/gen_unbounded_obj_sequence_ch.cpp Add export macro for unbounded object sequence types Thu Jul 5 09:22:12 2001 Johnny Willemsen * orbsvcs/tests/AVStreams/Makefile.bor Added Asynch_Three_Stage * orbsvcs/tests/AVStreams/Asynch_Three_Stage/*.bor Added BCB makefiles Thu Jul 5 04:53:00 2001 Craig Rodrigues * orbsvcs/tests/AVStreams/Component_Switching/Makefile Add missing link flag -lTAO_Strategies, needed for Advanced_Resource_Factory in svc.conf. * orbsvcs/tests/AVStreams/Component_Switching/receiver.cpp Fix typo * orbsvcs/tests/AVStreams/Component_Switching/run_test.pl Add -ORBSkipServiceConfigOpen to startup of Naming_Service, it did not like the svc.conf file in this directory. Wed Jul 4 09:53:01 2001 Frank Hunleth * tao/Strategies/TAO_Strategies_Static.dsp: Updated static build with DIOP files. Wed Jul 4 09:52:20 2001 Jeff Parsons * tao/DynamicAny/DynCommon.cpp (insert_reference): Added a call to _is_a() as a final check to see if there is a type mismatch between the dynamic any and the object reference argument. Thanks to Jonathan Biggar for clarifying the spec and to Philippe Merle for suggesting optimizations. Wed Jul 4 09:10:24 2001 Jeff Parsons * TAO_IDL/be/be_visitor_interface/tie_sh.cpp: * TAO_IDL/be/be_visitor_root/root_sth.cpp: Removed ACE_HAS_USING_KEYWORD guard from each TIE class declaration, and added it to the global module reopening where all TIE class declarations will occur. This includes the TAO_NAMESPACE macro inside the guard, which is what we want if the platform does not support namespaces. Wed Jul 4 14:05:12 2001 Johnny Willemsen * orbsvcs/tests/Makefile.bor Updated to include AVStreams * orbsvcs/tests/AVStreams/Component_Switching/*.bor * orbsvcs/tests/AVStreams/Simple_Three_Stage/*.bor * orbsvcs/tests/AVStreams/Simgle_Two_Stage/*.bor Updated these BCB makefiles so that these tests are now build without errors Tue Jul 3 20:09:58 2001 Frank Hunleth * tao/Strategies/TAO_Strategies.dsp: Added DIOP source files to project. Tue Jul 3 20:09:58 2001 Frank Hunleth * examples/PluggableUDP/tests/Basic/Makefile: * examples/PluggableUDP/tests/Performance/Makefile: * examples/PluggableUDP/tests/SimplePerformance/Makefile: * tao/Strategies/Makefile: Updated dependencies. Tue Jul 3 18:25:41 2001 Frank Hunleth * examples/PluggableUDP/DIOP/*: Moved DIOP source files from PluggableUDP to Strategies. * examples/PluggableUDP/README: * examples/PluggableUDP/DIOP/README: Updated README files to note file location change. * examples/PluggableUDP/Makefile: * examples/PluggableUDP/Makefile.bor: Removed DIOP directory from build. * examples/PluggableUDP/tests/Basic/Makefile: * examples/PluggableUDP/tests/Basic/client.bor: * examples/PluggableUDP/tests/Basic/client.cpp: * examples/PluggableUDP/tests/Basic/client.dsp: * examples/PluggableUDP/tests/Basic/server.bor: * examples/PluggableUDP/tests/Basic/server.cpp: * examples/PluggableUDP/tests/Basic/server.dsp: * examples/PluggableUDP/tests/Basic/svc.conf: * examples/PluggableUDP/tests/Performance/Makefile: * examples/PluggableUDP/tests/Performance/client.bor: * examples/PluggableUDP/tests/Performance/client.cpp: * examples/PluggableUDP/tests/Performance/client.dsp: * examples/PluggableUDP/tests/Performance/server.bor: * examples/PluggableUDP/tests/Performance/server.cpp: * examples/PluggableUDP/tests/Performance/server.dsp: * examples/PluggableUDP/tests/Performance/svc.conf: * examples/PluggableUDP/tests/SimplePerformance/Makefile: * examples/PluggableUDP/tests/SimplePerformance/client.bor: * examples/PluggableUDP/tests/SimplePerformance/client.cpp: * examples/PluggableUDP/tests/SimplePerformance/client.dsp: * examples/PluggableUDP/tests/SimplePerformance/server.bor: * examples/PluggableUDP/tests/SimplePerformance/server.cpp: * examples/PluggableUDP/tests/SimplePerformance/server.dsp: * examples/PluggableUDP/tests/SimplePerformance/svc.conf: Updated source files and Makefiles to look for the DIOP code in the Strategies library rather than in the DIOP library. * tao/orbconf.h: Added #define to control whether DIOP is compiled in or not. * tao/Strategies/DIOP_Acceptor.cpp: * tao/Strategies/DIOP_Acceptor.h: * tao/Strategies/DIOP_Acceptor.i: * tao/Strategies/DIOP_Connection_Handler.cpp: * tao/Strategies/DIOP_Connection_Handler.h: * tao/Strategies/DIOP_Connection_Handler.i: * tao/Strategies/DIOP_Connector.cpp: * tao/Strategies/DIOP_Connector.h: * tao/Strategies/DIOP_Endpoint.cpp: * tao/Strategies/DIOP_Endpoint.h: * tao/Strategies/DIOP_Endpoint.i: * tao/Strategies/DIOP_Factory.cpp: * tao/Strategies/DIOP_Factory.h: * tao/Strategies/DIOP_Profile.cpp: * tao/Strategies/DIOP_Profile.h: * tao/Strategies/DIOP_Profile.i: * tao/Strategies/DIOP_Transport.cpp: * tao/Strategies/DIOP_Transport.h: * tao/Strategies/DIOP_Transport.i: Moved DIOP files to Strategies. Updated linking specifiers and include files to reflect change. * tao/Strategies/Makefile: * tao/Strategies/Makefile.bor: Added DIOP files. * tao/Strategies/TAO_Strategies_Internal.cpp: * tao/Strategies/advanced_resource.cpp: Added service configurator hooks for DIOP. Tue Jul 3 14:53:00 2001 Craig Rodrigues * orbsvcs/orbsvcs/AV/AV_Core.h * orbsvcs/orbsvcs/AV/RTCP.h * orbsvcs/orbsvcs/AV/RTP.h * orbsvcs/orbsvcs/AV/Transport.h * orbsvcs/orbsvcs/AV/UDP.h Fix some includes, add TAO_AV_Export in more class declarations. Tue Jul 3 11:27:03 2001 Jeff Parsons * TAO_IDL/be/be_codegen.cpp: * TAO_IDL/be/be_visitor_interface/tie_sh.cpp: * TAO_IDL/be/be_visitor_interface/tie_si.cpp: Removed the #if defined (ACE_HAS_USING_KEYWORD) guards from the top and bottom of the *S_T.{h,i} files and added their generation on a TIE class by TIE class basis, conditionally, if the original interface is defined inside a module. TIE class code will compile for interfaces declared at global scope, even on platforms that do not support namespaces. This enhancement was requested by Marco Kranawetter . Tue Jul 3 09:55:22 2001 Jeff Parsons * tao/DynamicAny/DynUnion_i.cpp: Added missing .in() to a CORBA::Any_var. * tao/DynamicAny/DynCommon.cpp: Removed unnecessary break statement. Tue Jul 3 08:45:13 2001 Jeff Parsons * tests/Smart_Proxies/Benchmark/client.dsp: * tests/Smart_Proxies/Benchmark/server.dsp: Fixed IDL compiler settings in the release version. Mon Jul 2 08:59:16 2001 Johnny Willemsen * orbsvcs/tests/AVStreams/Makefile.bor Added BCB makefile Mon Jul 2 23:13:00 2001 Craig Rodrigues * orbsvcs/orbsvcs/AV/AVStreams_i.h * orbsvcs/orbsvcs/AV/Protocol_Factory.h * orbsvcs/orbsvcs/AV/Transport.h * orbsvcs/orbsvcs/AV/UDP.h Added TAO_AV_Export to more classes to fix Borland DLL builds. * orbsvcs/tests/AVStreams/Simple_Two_Stage/receiver.bor * orbsvcs/tests/AVStreams/Simple_Two_Stage/sender.bor Added more linker flags to fix Borland DLL builds. Mon Jul 2 19:32:09 2001 Jeff Parsons * tests/Queued_Message_Test/Queued_Message_Test.cpp: Changed use of ACE_OS::rand_r(seed) to ACE_OS::srand(seed) and ACE_OS::rand(). ACE_OS::rand_r(seed) is not supported on Win32 platforms, and was causing the test to hang. Mon Jul 2 17:06:22 2001 Balachandran Natarajan * tao/ORB_Core.cpp: Initialization of the transport_cache () should preceed the preconnects (). Thanks to Irfan for pointing this out. Mon Jul 2 15:53:29 2001 Jeff Parsons * orbsvcs/tests/InterfaceRepo/IFR_Test/Admin_Client.cpp: * tao/Typecode.cpp: * tao/append.cpp: * tao/skip.cpp: * tao/DynamicAny/DynUnion_i.cpp: Modified CORBA::TypeCode::member_label() to return a duplicate Any pointer (to be comsumed by the caller), making it consistent with other ORB functions that return pseudo-object types. Also modified all uses of member_label() in TAO to prevent memory leaks. Thanks to Philippe Merle for pointing out this inconsistency, and to Jonanthan Biggar for clarifying the spec with regard to memory management of pseudo-objects. Mon Jul 2 14:29:49 2001 Frank Hunleth * performance-tests/RTCorba/Multiple_Endpoints/Single_Endpoint/Makefile: * performance-tests/RTCorba/Multiple_Endpoints/Orb_Per_Priority/Makefile: Removed duplicate ACE and TAO library includes. Should fix KCC linker warnings. Mon Jul 2 14:50:00 2001 Craig Rodrigues * orbsvcs/AV/AVStreams_i.cpp Only display certain debug messages when higher ORB debug level is specified. Mon Jul 2 13:37:45 2001 Jeff Parsons * TAO_IDL/fe/idl.ll: * TAO_IDL/fe/lex.yy.cpp: Added '\x' to the list of escaped characters in the regular expression for strings in the TAO IDL lexer, and regenerated the C++ file. Legal IDL strings such as "\xA" were producing syntax errors. Thanks to Jules Colding for reporting this bug. Mon Jul 2 13:18:14 2001 Douglas C. Schmidt * Moved all the ChangeLog-* files into the new ChangeLogs directory. Thanks to Holger P . Krekel for this suggestion. Mon Jul 2 10:57:26 2001 Jeff Parsons * tests/Smart_Proxies/Benchmark/Benchmark.dsw: * tests/Smart_Proxies/Benchmark/client.dsp: * tests/Smart_Proxies/Benchmark/server.dsp: New files to build the smart proxies benchmark test on Win32 platforms. * tests/Smart_Proxies/Benchmark/client.cpp: * tests/Smart_Proxies/Benchmark/Smart_Proxy_Impl.cpp: * tests/Smart_Proxies/Benchmark/Smart_Proxy_Impl.h: Removed unnecessary TAO_HAS_SMART_PROXIES macro from these files. * docs/Smart_Proxies.html: Updated documentation.