Wed Jul 7 18:13:40 1999 Alexander Babu Arulanthu * TAO/TAO_IDL/be/be_visitor_typecode/typecode_decl.cpp: Fixed CC5 warnings. * TAO/tao/Invocation.cpp * TAO/tao/Invocation.i * TAO/tao/Reply_Dispatcher.cpp * TAO/tao/Reply_Dispatcher.h: Integrated the CDR changes done in ACE_CDR. Stealing the CDR content is coded here now. * TAO/tests/AMI/orb_creation.cpp: Fixed CC5 warnings. Wed Jul 7 10:55:06 1999 Alexander Babu Arulanthu * Asynch_Invocation.cpp * Asynch_Invocation.h * MessagingC.h * PollableC.cpp * PollableC.h * PollableS.cpp * PollableS.h * Reply_Dispatcher.cpp * Reply_Dispatcher.h: Guarded the AMI specific classes etc with TAO_HAS_CORBA_MESSAGING && TAO_POLLER. Tue Jul 6 22:10:00 1999 Michael Kircher * tao/PollableS.cpp: Replaced three ACE_BASE_CLASS macros with ACE_CORBA_1 macros to get VC to compile it. * tao/TAO.dsp * tao/TAO_Static.dsp: Added the files Pollable{C,S}.{h,cpp} and Asynch_Invocation.{h,cpp}. * TAO_IDL/be_include/be_decl.h * TAO_IDL/be/be_decl.cpp * TAO_IDL/be_include/be_interface.h * TAO_IDL/be/be_interface.cpp: * TAO_IDL/be/be_visitor_argument/compiled_marshal_cs.cpp * TAO_IDL/be/be_visitor_argument/upcall_ss.cpp * TAO_IDL/be/be_visitor_argument/vardecl_ss.cpp * TAO_IDL/be/be_visitor_argument/ami_handler_result_arg.cpp: Added code to generate ami_handler_ names. The generated names are held in the corresponding classes, which is then also responsible for deleting it. * TAO_IDL/be/be_visitor_operation/ami_handler_argument_marshal.cpp * TAO_IDL/be_include/be_visitor_operation/ami_handler_argument_marshal.h * TAO_IDL/be/be_visitor_argument/ami_handler_upcall_cs.cpp * TAO_IDL/be_include/be_visitor_argument/ami_handler_upcall_cs.h * TAO_IDL/be/be_visitor_argument/ami_handler_vardecl_cs.cpp * TAO_IDL/be_include/be_visitor_argument/ami_handler_vardecl_cs.h * TAO_IDL/be/be_visitor_argument/ami_handler_compiled_marshal_cs.cpp * TAO_IDL/be_include/be_visitor_argument/ami_handler_compiled_marshal_cs.h: Added these files for code generation of the AMI Handler skeleton. * TAO_IDL/be/be_visitor_operation/ami_handler_operation_cs.cpp * TAO_IDL/be/be_visitor_operation/ami_handler_skeleton_cs.cpp * TAO_IDL/be_include/be_visitor_operation/ami_handler_skeleton_cs.h * TAO_IDL/be/be_visitor_operation/ami_handler_arglist.cpp: Made changes to generate skeleton code for the AMI handler. * TAO_IDL/be_include/be_visitor_interface/ami_handler_servant_cs.h * TAO_IDL/be/be_visitor_interface/ami_handler_servant_cs.cpp: Added these files for code generation of the AMI handler servant. * TAO_IDL/be/be_codegen.h * TAO_IDL/be/be_visitor_factory.cpp * TAO_IDL/be/be_visitor_interface.cpp * TAO_IDL/be_include/be_visitor_interface.h * TAO_IDL/be/be_visitor_interface/interface_cs.cpp Made changes to generate servant code for the AMI handler. Tue Jul 6 09:55:42 1999 Alexander Babu Arulanthu * tao/Invocation.cpp * tao/Wait_Strategy.cpp:Commented out the call to in Invocation class. * client.muxed.conf: Added this file. This enables MT wait strategy and MUXED TMS. * tests/AMI/client.cpp: Addes sendc method. * tests/AMI/Makefile * tests/AMI/run_test.pl * tests/AMI/simple-client.conf * tests/AMI/simple-client.cpp * tests/AMI/test-handC.cpp * tests/AMI/test_i.cpp * tests/AMI/test_i.h * tests/AMI/test_i.i: Cosmetic changes to print usefull debug messages with thread id etc. * tao/Transport_Mux_Strategy.cpp * tao/Transport_Mux_Strategy.h Changes to these files again for making it MT safe. Added SYNCH_MUTEX to the Hash Table. and protected the request_id_generator with a lock. * tao/GIOP.cpp * tao/IIOP_Transport.cpp * tao/Invocation.cpp * tao/Invocation.i * tao/Pluggable.cpp * tao/Pluggable.h * tao/Reply_Dispatcher.cpp * tao/Reply_Dispatcher.h * tao/Transport_Mux_Strategy.cpp * tao/Transport_Mux_Strategy.h * tao/Wait_Strategy.cpp Ooooh!!!. Got the Muxed TMS to work. I havent taken care of the MT case yet. Need to make the Hash Table with SYNCH MUTEX. Things should be ok then. Sun Jul 4 13:00:38 1999 Alexander Babu Arulanthu * Transport_Mux_Strategy.cpp * Transport_Mux_Strategy.h * default_client.cpp: Implemented Muxed TMS. But have nt got to working yet. It is just there not burting anything. * tao/Asynch_Invocation.cpp * tao/Asynch_Invocation.h * tao/Asynch_Invocation.i * tao/Client_Strategy_Factory.cpp * tao/Client_Strategy_Factory.h * tao/Invocation.cpp * tao/Invocation.h * tao/Invocation.i * tao/Pluggable.cpp * tao/Reply_Dispatcher.cpp * tao/Reply_Dispatcher.h * tao/Transport_Mux_Strategy.cpp * tao/Transport_Mux_Strategy.h * tao/default_client.cpp * tao/default_client.h Moved the message state from classes to the Transport Mux Strategy. This makes it to have the behavior of Transport object acccesing the messaging state uniform, across Muxed and Exclusive TMS. I have not done Muxed TMS yet. Sat Jul 3 10:54:00 1999 Alexander Babu Arulanthu * TAO_IDL/be/be_visitor_factory.cpp * TAO_IDL/be_include/be_codegen.h * tao/Asynch_Invocation.cpp * tao/Asynch_Invocation.h * tao/Asynch_Invocation.i * tao/Invocation.cpp * tao/Invocation.h Moved the transport_->idle () to the derived class' constructors. * tests/AMI/test.idl Just commented out the other methods. Left only get_number. * Makefile * client.tss.conf * server.dsp * test_i.cpp * README * orb_creation.cpp * simple-client.conf * test_i.h * client.conf * orb_creation.dsp * simple-client.cpp * test_i.i * client.cpp * run_test.pl* * simple_client.dsp * update.log * client.dsp * server.conf * test-handC.cpp Files for the simple test. But you actually need server and simple-client test files right now. * tests/AMI/simple-client.cpp: Removed the iteration part from the test. Let us keep it really simple. * TAO_IDL/be/be_visitor_factory.cpp * TAO_IDL/be/be_visitor_interface/ami_handler_stub_cs.cpp * TAO_IDL/be/be_visitor_operation/ami_handler_operation_cs.cpp Changes for generating Reply Handler skeletons. * TAO_IDL/be/be_visitor_operation/ami_handler_skeleton_cs.cpp: Added this file. This file generates the demarshalling skeletons for the Reply Handler and then calls the Reply Handler's call back hook methods. This file is not fully done yet. But this visitor is not used for the time being. * tao/Transport_Mux_Strategy.cpp: Fixed the explicit template instantiation problems. Fri Jul 2 16:28:08 1999 Alexander Babu Arulanthu Another big step generating code for AMI. Done with sendc methods and Reply Handler call back methods. Both header files and cpp files contents. TO-DO: Reply Handler skeletons. Reply Handler servants. * tao/Asynch_Invocation.h * tao/Asynch_Invocation.i * tao/Makefile * tao/MessagingC.h * tao/MessagingS.cpp * tao/Reply_Dispatcher.cpp * tao/Reply_Dispatcher.h * TAO_IDL/Makefile * TAO_IDL/ast/ast_decl.cpp * TAO_IDL/be/be_codegen.cpp * TAO_IDL/be/be_decl.cpp * TAO_IDL/be/be_interface.cpp * TAO_IDL/be/be_type.cpp * TAO_IDL/be/be_visitor_argument.cpp * TAO_IDL/be/be_visitor_factory.cpp * TAO_IDL/be/be_visitor_interface.cpp * TAO_IDL/be/be_visitor_operation.cpp * TAO_IDL/be/be_visitor_argument/compiled_marshal_cs.cpp * TAO_IDL/be/be_visitor_interface/ami_handler_stub_ch.cpp * TAO_IDL/be/be_visitor_interface/interface.cpp * TAO_IDL/be/be_visitor_interface/interface_ch.cpp * TAO_IDL/be/be_visitor_interface/interface_cs.cpp * TAO_IDL/be/be_visitor_operation/ami_arglist.cpp * TAO_IDL/be/be_visitor_operation/ami_ch.cpp * TAO_IDL/be/be_visitor_operation/ami_cs.cpp * TAO_IDL/be/be_visitor_operation/ami_handler_arglist.cpp * TAO_IDL/be/be_visitor_operation/ami_handler_operation_ch.cpp * TAO_IDL/be/be_visitor_operation/argument.cpp * TAO_IDL/be/be_visitor_operation/argument_invoke.cpp * TAO_IDL/be/be_visitor_operation/compiled_marshal.cpp * TAO_IDL/be/be_visitor_operation/operation_cs.cpp * TAO_IDL/be/be_visitor_operation/rettype.cpp * TAO_IDL/be/be_visitor_typecode/typecode_decl.cpp * TAO_IDL/be/be_visitor_typecode/typecode_defn.cpp * TAO_IDL/be_include/be_codegen.h * TAO_IDL/be_include/be_decl.h * TAO_IDL/be_include/be_interface.h * TAO_IDL/be_include/be_type.h * TAO_IDL/be_include/be_visitor_argument.h * TAO_IDL/be_include/be_visitor_interface.h * TAO_IDL/be_include/be_visitor_operation.h * TAO_IDL/include/ast_decl.h Added the following files for the changes mentioned above. * TAO_IDL/be/be_visitor_rettype.cpp * TAO_IDL/be/be_visitor_argument/ami_handler_result_arg.cpp * TAO_IDL/be/be_visitor_interface/ami_handler_servant_ch.cpp * TAO_IDL/be/be_visitor_interface/ami_handler_stub_cs.cpp * TAO_IDL/be/be_visitor_interface/collocated_ami_handler_ch.cpp * TAO_IDL/be/be_visitor_operation/ami_handler_operation_cs.cpp * TAO_IDL/be/be_visitor_operation/ami_handler_result_arg.cpp * TAO_IDL/be/be_visitor_operation/ami_handler_operation.cpp * TAO_IDL/be_include/be_visitor_argument/ami_handler_result_arg.h * TAO_IDL/be_include/be_visitor_interface/collocated_ami_handler_ch.h * TAO_IDL/be_include/be_visitor_interface/ami_handler_servant_ch.h * TAO_IDL/be_include/be_visitor_interface/ami_handler_stub_cs.h * TAO_IDL/be_include/be_visitor_operation/ami_handler_operation_cs.h * TAO_IDL/be_include/be_visitor_operation/ami_handler_result_arg.h * TAO_IDL/be_include/be_visitor_operation/ami_handler_operation.h Wed Jun 23 23:19:34 1999 Alexander Babu Arulanthu Added Asynch Invocation class. It makes invocations without waiting for the reply. Implemented a portion of Asynch Reply Dispatcher and Muxed TMS. Not complete yet. * tao/IIOP_Transport.cpp: * tao/Invocation.cpp: * tao/Invocation.p: * tao/Makefilp: * tao/Reply_Dispatcher.cpp: * tao/Reply_Dispatcher.p: * tao/Transport_Mux_Strategy.cpp: * tao/Transport_Mux_Strategy.p: Added the following files. * tao/Asynch_Invocation.cpp: * tao/Asynch_Invocation.h: * tao/Asynch_Invocation.i: Tue Jun 22 11:59:06 1999 Alexander Babu Arulanthu One more big step on generating AMI call back code. If I get rid of the references to the ReplyHandler from the generated files, I could get things to compile. * TAO_IDL/Makefile: * TAO_IDL/be/be_codegen.cpp: * TAO_IDL/be/be_interface.cpp: * TAO_IDL/be/be_visitor_factory.cpp: * TAO_IDL/be/be_visitor_interface.cpp: * TAO_IDL/be/be_visitor_scope.cpp: * TAO_IDL/be/be_visitor_argument/ami_handler_arglist.cpp: * TAO_IDL/be/be_visitor_interface/ami_handler_ch.cpp: * TAO_IDL/be/be_visitor_interface/interface.cpp: * TAO_IDL/be/be_visitor_interface/interface_ch.cpp: * TAO_IDL/be/be_visitor_interface/interface_cs.cpp: * TAO_IDL/be/be_visitor_operation/ami_arglist.cpp: * TAO_IDL/be/be_visitor_operation/ami_ch.cpp: * TAO_IDL/be/be_visitor_operation/ami_cs.cpp: * TAO_IDL/be/be_visitor_operation/ami_handler_arglist.cpp: * TAO_IDL/be_include/be_codegen.h: * TAO_IDL/be_include/be_visitor_interface.h: * TAO_IDL/be_include/be_visitor_operation/ami_handler_arglist.h: Changes for the above. * TAO_IDL/be/be_visitor_interface/ami_handler_cs.cpp: * TAO_IDL/be/be_visitor_interface/ami_handler_stub_ch.cpp: * TAO_IDL/be_include/be_visitor_interface/ami_handler_cs.h: * TAO_IDL/be_include/be_visitor_interface/ami_handler_stub_ch.h: Added these files. Sun Jun 20 07:40:02 EDT 1999 Aniruddha Gokhale * TAO_IDL/be/be_visitor_field/field_ch.cpp: TAO_IDL/be/be_visitor_union_branch/private_ch.cpp: TAO_IDL/be/be_visitor_union_branch/public_assign_cs.cpp: TAO_IDL/be/be_visitor_union_branch/public_ci.cpp: TAO_IDL/be/be_visitor_union_branch/public_reset_cs.cpp: In the visit_predefined_type method for all the above, we were generating incorrect mapping for typedef to CORBA::Object. In the earlier buggy version we were checking if the local name of the typedef node is "Object". However, the correct way to do this is to check if the local name of the most primitive type node of the typedef node is "Object". Sat Jun 19 22:27:35 1999 Carlos O'Ryan * tests/Multiple_Inheritance/run_test.pl: Made this test safe for nightly builds. Sat Jun 19 22:22:07 1999 Carlos O'Ryan * tao/ORB_Core.h: * tao/ORB_Core.i: * tao/ORB_Core.cpp: * tao/Wait_Strategy.cpp: The thread pool changes had some problems with nested upcalls and the client-side leader follower: they did not keep track of the number of followers properly. This has been fixed. * tests/MT_Server/client.cpp: * tests/MT_Server/run_test.pl: Only shutdown the server if the -x option is used. The script uses this feature to pass cleanly all the time. * tests/NestedUpcall/Reactor/client.cpp: * tests/NestedUpcall/Reactor/client.h: * tests/NestedUpcall/Reactor/eh_i.cpp: * tests/NestedUpcall/Reactor/eh_i.h: * tests/NestedUpcall/Reactor/mt_client.cpp: * tests/NestedUpcall/Reactor/mt_client.h: * tests/NestedUpcall/Reactor/reactor_i.cpp: * tests/NestedUpcall/Reactor/reactor_i.h: * tests/NestedUpcall/Reactor/run_test.pl: * tests/NestedUpcall/Reactor/server.cpp: * tests/NestedUpcall/Reactor/server.h: The -q option can be used to turn the test silent. This is used to run a high number of iterations in the mt client test. Sat Jun 19 17:38:42 1999 Jeff Parsons * TAO_IDL/be/be_visitor_union_branch/public_ci.cpp: * TAO_IDL/be/be_visitor_union_branch/public_assign_cs.cpp: * TAO_IDL/be/be_visitor_union_branch/public_reset_cs.cpp: Fixed code generation for unions with generic CORBA::Object member. TAO IDL compiler classifies CORBA::Object member as a predefined type PT_pseudo, but generated code must be like that for interface. Someday we should make a special type for CORBA::Object in the IDL compiler. Sat Jun 19 17:19:10 1999 Carlos O'Ryan * tao/ORB.h: * tao/ORB.cpp: * tao/ORB_Core.h: * tao/ORB_Core.i: * tao/ORB_Core.cpp: * tao/Wait_Strategy.cpp: Added support for thread pools. Moved the Leader_Follower data structure into the ORB_Core and all the methods from ORB_Core into the Leader_Follower class. * tests/Makefile: * tests/MT_Server/Makefile: * tests/MT_Server/README: * tests/MT_Server/client.cpp: * tests/MT_Server/run_test.pl: * tests/MT_Server/server.conf: * tests/MT_Server/server.cpp: * tests/MT_Server/test.idl: * tests/MT_Server/test_i.h: * tests/MT_Server/test_i.i: * tests/MT_Server/test_i.cpp: New test for the leader follower implementation. * tests/MT_Client/README: Updated * tao/UIOP_Profile.cpp: Removed sperious debug message Sat Jun 19 15:46:22 1999 Alexander Babu Arulanthu One more step Generating Reply Handler skeleton code in the client header file. Again, this will get enabled only when the TAO_IDL is called with the -GC flag. * TAO_IDL/be/be_visitor_argument/ami_handler_arglist.cpp: * TAO_IDL/be/be_visitor_argument/ami_arglist.cpp: * TAO_IDL/be/be_visitor_interface/ami_handler_ch.cpp: * TAO_IDL/be/be_visitor_operation/ami_ch.cpp: * TAO_IDL/be/be_visitor_operation/ami_arglist.cpp: * TAO_IDL/be/be_visitor_operation/ami_handler_arglist.cpp: * TAO_IDL/be/be_visitor_operation/ami_cs.cpp: * TAO_IDL/be/be_visitor_operation/ami_handler_operation_ch.cpp: * TAO_IDL/be/be_visitor_operation/ami_handler_arglist_ch.cpp: * TAO_IDL/be_include/be_visitor_argument/ami_arglist.h: * TAO_IDL/be_include/be_visitor_argument/ami_handler_arglist.h: * TAO_IDL/be_include/be_visitor_interface/ami_handler_ch.h: * TAO_IDL/be_include/be_visitor_operation/ami_ch.h: * TAO_IDL/be_include/be_visitor_operation/ami_arglist.h: * TAO_IDL/be_include/be_visitor_operation/ami_cs.h: * TAO_IDL/be_include/be_visitor_operation/ami_handler_arglist.h: * TAO_IDL/be_include/be_visitor_operation/ami_handler_operation_ch.h: Added all these files. Rename the arglist_* to meaningful *_arglist unformly with meaningful names. * TAO_IDL/Makefile: * TAO_IDL/be/be_visitor_argument.cpp: * TAO_IDL/be/be_visitor_factory.cpp: * TAO_IDL/be/be_visitor_interface.cpp: * TAO_IDL/be/be_visitor_operation.cpp: * TAO_IDL/be/be_visitor_interface/ami_handler_fwd_ch.cpp: * TAO_IDL/be/be_visitor_interface/ami_handler_fwd_ci.cpp: * TAO_IDL/be/be_visitor_interface/interface_ch.cpp: * TAO_IDL/be/be_visitor_operation/arglist_ami.cpp: * TAO_IDL/be/be_visitor_operation/collocated_ss.cpp: * TAO_IDL/be/be_visitor_operation/operation_ami_cs.cpp: * TAO_IDL/be_include/be_codegen.h: * TAO_IDL/be_include/be_visitor_argument.h: * TAO_IDL/be_include/be_visitor_interface.h: * TAO_IDL/be_include/be_visitor_operation.h: * TAO_IDL/be_include/be_visitor_interface/ami_handler_fwd_ch.h: * TAO_IDL/be_include/be_visitor_interface/ami_handler_fwd_ci.h: Changes for the above work. * TAO_IDL/be/be_visitor_argument/arglist_ami.cpp: * TAO_IDL/be/be_visitor_operation/arglist_ami.cpp: * be_include/be_visitor_argument/arglist_ami.h: * be_include/be_visitor_operation/arglist_ami.h: Removed these files since they have been renamed already. Sat Jun 19 15:43:38 1999 Balachandran Natarajan * Cubit/TAO/DII_Cubit/client.dsp: * Cubit/TAO/IDL_Cubit/client.dsp: * Cubit/TAO/IDL_Cubit/server.dsp: * Cubit/TAO/IDL_Cubit/collocation_test.dsp: * Cubit/TAO/MT_Cubit/client.dsp: * Cubit/TAO/MT_Cubit/server.dsp: * POA/Object_Creation_And_Registration/registration.dsp: * Pluggable/client.dsp: * Pluggable/server.dsp: Changed the tao_idl invocation options. * docs/compiler.html: Updated documentation. Sat Jun 19 14:54:38 1999 Jeff Parsons * tao/DynUnion_i_T.h: * tao/DynUnion_i_T.cpp: Cosmetic changes. * tao/DynUnion_i.h: * tao/DynUnion_i.cpp: Class DynUnion_i contains a functor class DU_Extractor to check for a match in TypeCode::member-label when constructing or assigning from an Any. DU_Extractor is a template class containing one function check_match(). The cases where the discriminator is a wchar or an enum caused resolution problems with 16 and 32 bit types respectively, so they had been specialized classes inheriting from a non-template base class. The cases for char and boolean, however, needed only the template function check_match() specialized, in order to use to_char and to_boolean. This kept all the compilers happy until recently, when AIX/egcs complained about char and boolean, so they have also been subclassed. Sat Jun 19 12:59:28 1999 Balachandran Natarajan * rules.tao.GNU : Added the default argument ie. -Ge 1 to be used with the IDL compiler. This will take care of most of the flavours of UNIX. Also added a command line rule called tao_native_exception to override the default from the command line. If the application developer wants to change the default through his make file he can override them by using the rule TAO_IDLFLAGS. * TAO_IDL/util/utl_global.cpp : * TAO_IDL/driver/drv_args.cpp: Made changes to generate code according to the following rules. - If the compilation is on a platform with native C++ exceptions like NT, we may not want the ACE_TRY_ENV variables by default. - If the compilation is on a platform with NO native C++ exceptions like say g++, the compiler generates the environment variables. - cross platform compilation wherein one may compile on SUN CC with native exceptions but for VxWorks which does not have that capability.. In which case a handle is needed to generate the environment variables. This handle is denoted as a command line option to IDL as -Ge 1 - A case that is vice-versa to the above. The option for such a case is -Ge 0 * docs/compiler.html: Added documentation for the -u option in the IDL compiler. * DynAny_Test/basic_test.dsp: * InterOp-Naming/client.dsp: * InterOp-Naming/server.dsp: * MT_Client/client.dsp: * MT_Client/server.dsp: * MT_Client/orb_creation.dsp: * MT_Client/simple_client.dsp: * Multiple_Inheritance/client.dsp: * Multiple_Inheritance/server.dsp: * NestedUpcall/Reactor/client.dsp: * NestedUpcall/Reactor/mt-client.dsp: * NestedUpcall/MT_Client_Test/client.dsp: * NestedUpcall/MT_Client_Test/server.dsp: * NestedUpcall/Triangle_Test/initiator.dsp: * NestedUpcall/Triangle_Test/server_A.dsp: * NestedUpcall/Triangle_Test/server_B.dsp: * Param_Test/client.dsp: * Param_Test/server.dsp: * OctetSeq/OctetSeq.dsp: * orbsvcs/orbsvcs/orbsvcs.dsp: * orbsvcs/orbsvcs/orbsvcs_static.dsp: Changed the tao_idl invocation parameter in all these NT related project files. The command line parameter is set to '-Ge 1'. * Native_Exceptions/client.dsp: * Native_Exceptions/server.dsp: Here the command line parameters where changed from '-Ge' to '-Ge 0'. * examples/Callback_Quoter/Consumer.dsp: * examples/Callback_Quoter/Notifier.dsp: * examples/Callback_Quoter/Supplier.dsp: * examples/Event_Comm/Consumer.dsp: * examples/Event_Comm/Notifier.dsp: * examples/Event_Comm/Supplier.dsp: * examples/OBV/Typed_Events/client.dsp: * examples/OBV/Typed_Events/server.dsp: * examples/POA/DSI/client.dsp: * examples/POA/DSI/server.dsp: * examples/POA/Default_Servant/client.dsp: * examples/POA/Default_Servant/server.dsp: * examples/POA/Forwarding/server.dsp: * examples/POA/Forwarding/client.dsp: * examples/POA/Generic_Servant/client.dsp: * examples/POA/Generic_Servant/server.dsp: * examples/POA/Identity/Identity.dsp: * examples/POA/TIE/client.dsp: * examples/POA/TIE/server.dsp: * examples/Quoter/Factory_Finder.dsp: * examples/Quoter/Generic_Factory.dsp: * examples/Quoter/client.dsp: * examples/Quoter/server.dsp: * examples/Simple/bank/client.dsp: * examples/Simple/bank/server.dsp: * examples/Simple/chat/client.dsp: * examples/Simple/chat/server.dsp: * examples/Simple/echo/server.dsp: * examples/Simple/echo/client.dsp: * examples/Simple/grid/client.dsp: * examples/Simple/grid/server.dsp: * examples/Simple/time/client.dsp: * examples/Simple/time/server.dsp: * examples/Simple/time-date/Time_Date.dsp: * examples//Simulator/DOVEMIB/DOVEMIBx.dsp * examples//Simulator/DOVEMIB/TestClient.dsp: * examples/Simulator/Event_Supplier/DualEC_Sup.dsp: * examples/Simulator/Event_Supplier/Event_Sup.dsp: * examples/Simulator/Event_Supplier/Logging_Sup.dsp:Changed the tao_idl invocation parameter in all these NT related project files. The command line parameter is set to '-Ge 1'. Fri Jun 18 21:00:18 1999 Jeff Parsons * TAO_IDL/fe/idl.ll: * TAO_IDL/fe/idl.ll: * TAO_IDL/fe/lex.yy.cpp: * TAO_IDL/fe/lex.yy.cpp.diff: Added new token for unsigned integer and new line to grammar to create AST_Expression of that type. * TAO_IDL/fe/idl.yy: * TAO_IDL/fe/y.tab.h: * TAO_IDL/fe/y.tab.cpp: * TAO_IDL/fe/y.tab.cpp.diff: Added cases to lex for dec, hex and oct integers so that those integer literals with and without leading '-' are differentiated. We were having a problem with constants of type unsigned long assigned a value that was > LONG_MAX and < ULONG_MAX. Since all integer literals were read as one case (signed longs) these assignments were viewed as negative numbers and so would cause a coercion error. Now integer literals without a leading - sign are read as unsigned longs, and the existing coercion code will catch legitimate out of bounds errors. * TAO_IDL/be/be_sunsoft.cpp: Moved the check for char printout of value '\' to come before check for isprint(). Char value that's read in as '\\' is stored in an AST_Expression as '\'. isprint() sees this as a printable character, so the case below it testing for '\\' was never reached, and char consts assigned the value of '\\' were getting output as '\', causing a C++ compile error. Thanks to Hata Yoshiaki for pointing out this problem. Fri Jun 18 19:37:32 1999 Douglas C. Schmidt * TAO version 0.3.25 released. Fri Jun 18 18:00:02 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Event/EC_ObserverStrategy.h: * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.h: Fixed old g++ warnings Fri Jun 18 16:22:19 1999 Carlos O'Ryan * tests/InterOp-Naming/INS_i.cpp: Fixed warning (and semantic error) in INS_i.cpp, strings returned from a servant should be duplicated. * TAO/orbsvcs/Time_Service/IR_Helper.cpp: * TAO/orbsvcs/Time_Service/IR_Helper.h: * TAO/orbsvcs/tests/EC_Multiple/EC_Multiple.h: * TAO/tests/CDR/octet_sequence.cpp: More char* to const char* conversions, but this time they were harmless. Fri Jun 18 15:35:36 1999 Irfan Pyarali * TAO_IDL/be/be_visitor_array/array_cs.cpp (visit_array): Moved the generation of the *_array_alloc and *_array_free functions from the i file to the cpp file. This is because of the lameness of namespaces and MSVC export madness. * tao/GIOP.cpp (process_server_request): Removed extra ACE_UNUSED_ARG (response_required) and initialized to zero in process_server_request(). * examples/POA/Forwarding/MyFooServant.cpp (handle_input): Removed extra semi-colon. Fri Jun 18 14:26:27 1999 Nanbor Wang * orbsvcs/orbsvcs/Naming/Persistent_Context_Index.cpp (init): Released the servant pointer before returning. Actually, Carlos and Marina fixed this. * *.{mdp,mak}: Removed all MSVC 4 workspaces and makefiles. We are no longer supporting this version of MSVC++. If you need support for MSVC++ 4.x please contact Steve Huston of Riverace to arrange a support contract. * tests/Native_Exceptions/client.cpp (main): Caught exception is not used. * tests/Native_Exceptions/Native_Exception.dsw: * tests/Native_Exceptions/client.dsp: * tests/Native_Exceptions/server.dsp: New files. Fri Jun 18 11:50:31 1999 Carlos O'Ryan * tests/Native_Exceptions/Makefile: * tests/Native_Exceptions/README: * tests/Native_Exceptions/run_test.pl: * tests/Native_Exceptions/client.cpp: * tests/Native_Exceptions/server.cpp: * tests/Native_Exceptions/test.idl: * tests/Native_Exceptions/test_i.h: * tests/Native_Exceptions/test_i.i: * tests/Native_Exceptions/test_i.cpp: Added new test that shows how to write applications using native C++ exceptions, without any of the ACE_TRY macros. * orbsvcs/orbsvcs/Naming/Transient_Naming_Context.cpp: Added missing template instantiations. * tests/CDR/basic_types.cpp: Fixed const char* warnings... Fri Jun 18 11:32:38 1999 Nanbor Wang * tao/Object_Adapter.h (prepare_for_upcall): Added default environment argument value so it would work fine with IDL generated code when using native exception support. * TAO_IDL/be/be_visitor_operation/collocated_ss.cpp (visit_operation): Fixed native exception support. * TAO_IDL/be/be_visitor_interface/collocated_ss.cpp (visit_interface): Some Cosmetic changes. Fri Jun 18 11:19:01 1999 Carlos O'Ryan * tao/ORB_Core.cpp: Put the output CDR alllocators in TSS storage *all* the time. Fri Jun 18 10:07:09 1999 Carlos O'Ryan * examples/POA/Adapter_Activator/server.cpp: * tests/OctetSeq/test_i.cpp: Fixed minor syntax errors. Thu Jun 17 23:43:25 1999 Irfan Pyarali * examples/POA/Adapter_Activator/server.cpp: Fixed servant leak by reference counting it. * examples/POA/Adapter_Activator/run_test.pl * examples/POA/Explicit_Activation/run_test.pl * examples/POA/Loader/run_test.pl * examples/POA/On_Demand_Activation/run_test.pl * examples/POA/On_Demand_Loading/run_test.pl Scripts should create one servant at a time. Otherwise, output is difficult to read. Thu Jun 17 22:41:17 1999 Carlos O'Ryan * tao/ORB_Core.h: * tao/ORB_Core.cpp: Fixed dead-lock during startup, it worked on NT thanks to the recursive mutexes in that land. * TAO_IDL/be/be_visitor_interface/collocated_ss.cpp: Nanbor's changes and ours (Irfan's and mine) did not mix well, fixed. Thu Jun 17 22:44:04 1999 Kirthika Parameswaran * examples/Simple/echo/Echo_i.{h,cpp}: Added throw specs. * examples/Simple/grid/Grid_i.{h,cpp}: Modified throw specs to have double paranthesis. Thu Jun 17 21:45:11 1999 Douglas C. Schmidt * performance-tests/Thruput/TAO: Added the ACE_THROW macros. * examples/Event_Comm: Added the ACE_THROW macros. * examples/Simple/time/Time_i: Fixed the ACE_THROW macros to work correctly. * examples/Simple/bank: Added all the ACE_THROW specs. * ChangeLog: Split the ChangeLog to make a ChangeLog-99a since we were already up to 700k of ChangeLog entries for '99! Thu Jun 17 20:40:56 1999 Carlos O'Ryan * performance-tests/POA/Object_Creation_And_Registration/run_test.pl: Fixed include path Thu Jun 17 21:47:21 1999 Nanbor Wang * be/be_visitor_interface/collocated_sh.cpp: * be/be_visitor_interface/collocated_ss.cpp: Added code for generating collocated _is_a and _non_existent methods. Thu Jun 17 19:38:57 1999 Irfan Pyarali * tao/ORB_Core.h: * tao/ORB_Core.i: * tao/ORB_Core.cpp: * tao/Resource_Factory.h: * tao/Resource_Factory.cpp: * tao/default_resource.h: * tao/default_resource.cpp: * docs/Options.html: * docs/configurations.html: Moved the CDR allocators from the resource factory to the ORB_Core resources. They are stored in either per-ORB-per-thread storage or in per-ORB storage. Notice that the control on the allocators location is left for the -ORBResources flag, but the control of the *type* of allocator is still in the resource factory class. This completes the separation of roles between the resource factory (that only allocates resources), and the ORB_Core (who manage their lifetime). * tao/Stub.h: * tao/Stub.i: * tao/Servant_Base.cpp: * TAO_IDL/be/be_visitor_operation/collocated_ss.cpp: Added new fast accessors to the ORB_Core that do not require a duplicate on every call. Thu Jun 17 15:31:17 1999 Carlos O'Ryan * examples/Callback_Quoter/Consumer_i.cpp: * examples/Callback_Quoter/Consumer_i.h: * examples/Callback_Quoter/Notifier_i.cpp: * examples/Callback_Quoter/Notifier_i.h: * examples/OBV/Typed_Events/Server_i.cpp: * examples/OBV/Typed_Events/Server_i.h: * examples/Quoter/Factory_Finder_i.cpp: * examples/Quoter/Factory_Finder_i.h: * examples/Quoter/Generic_Factory_i.cpp: * examples/Quoter/Generic_Factory_i.h: * examples/Quoter/Quoter_i.cpp: * examples/Quoter/Quoter_i.h: * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp: * orbsvcs/ImplRepo_Service/ImplRepo_i.h: * orbsvcs/LifeCycle_Service/LifeCycle_Service_i.cpp: * orbsvcs/LifeCycle_Service/LifeCycle_Service_i.h: * orbsvcs/orbsvcs/Event/EC_Default_Factory.cpp: * orbsvcs/tests/ImplRepo/IR_Helper.cpp: * orbsvcs/tests/ImplRepo/airplane_i.cpp: * orbsvcs/tests/ImplRepo/airplane_i.h: * orbsvcs/tests/ImplRepo/nestea_i.cpp: * orbsvcs/tests/ImplRepo/nestea_i.h: * performance-tests/Cubit/TAO/MT_Cubit/Globals.cpp: * performance-tests/Cubit/TAO/MT_Cubit/Globals.h: * performance-tests/Cubit/TAO/MT_Cubit/Task_Client.cpp: * performance-tests/Cubit/TAO/MT_Cubit/Task_Client.h: * performance-tests/Thruput/TAO/ttcp_i.cpp: * performance-tests/Thruput/TAO/ttcp_i.h: More throw spec stuff. Also added several fixes to compile on single threaded environments. Thu Jun 17 14:21:21 1999 Nanbor Wang * TAO_IDL/be/be_visitor_interface/interface_ss.cpp (visit_interface): The collocated factory should have used static_cast to downcast the collocated stubs. Thanks to Carlos for pointing this out. Thu Jun 17 14:05:10 1999 Irfan Pyarali * examples/POA/Forwarding/MyFooServant.cpp (MyFirstFooServant): Since we are using the NULL_MASK (whose value is zero), some compilers cannot figure out which register_handler/remove_handler I wanted to use. Fixed by creating a separate variable for the mask and feeding it in. * TAO_IDL/fe/fe_lookup.cpp (lookup): Changed {"",} to {"",0} to keep the HP compiler happy. * TAO_IDL/fe/Makefile.am (fe_lookup.cpp): Fixed the makefile so that the next time fe_lookup.cpp is generated, 0 is used as the fill option. Thanks to Carlos for pointing this out. Thu Jun 17 12:58:20 1999 Carlos O'Ryan * tao/GIOP_Server_Request.cpp: Fixed operation demarshaling for non-ASCII platforms. Thanks to Jim Rogers for motivating these fixes. * examples/POA/RootPOA/run_test.pl: * examples/POA/Identity/run_test.pl: Fixed include path Thu Jun 17 12:33:35 1999 Carlos O'Ryan * tao/GIOP.cpp: * tao/IIOP_Factory.cpp: * tao/UIOP_Factory.cpp: * tao/Protocol_Factory.cpp: Fixed typo in the last commit. Thu Jun 17 12:04:50 1999 Alexander Babu Arulanthu * TAO_IDL/be/be_interface_fwd.cpp: * TAO_IDL/be/be_structure.cpp: * TAO_IDL/be/be_union.cpp: * TAO_IDL/be/be_valuetype.cpp: * TAO_IDL/be/be_valuetype_fwd.cpp: * TAO_IDL/be_include/be_interface_fwd.h: * TAO_IDL/be_include/be_structure.h: * TAO_IDL/be_include/be_type.h: * TAO_IDL/be_include/be_union.h: * TAO_IDL/be_include/be_valuetype.h: * TAO_IDL/be_include/be_valuetype_fwd.h: Changed the signature of various "gen_out_impl", "gen_out_defn", "gen_var_impl" and "gen_var_defn" signatures from "void" to char *'s with default values 0. Thanks to Carlos again for reporting the warnings from IRIX. Thu Jun 17 11:54:11 1999 Carlos O'Ryan * tao/ORB_Core.cpp: Fixed problem with the ORB reactor initialization on multi-threaded programs with global resources. Thu Jun 17 11:17:28 1999 Jeff Parsons * TAO_IDL/ast/ast_generator.cpp: * TAO_IDL/be/be_visitor_argument/vardecl_ss.cpp: * TAO_IDL/be/be_visitor_argument/compiled_marshal_ss.cpp: * TAO_IDL/be/be_visitor_valuetype/valuetype.cpp: * TAO_IDL/be/be_visitor_valuetype/marshal_ch.cpp: * TAO_IDL/be/be_visitor_operation/compiled_marshal.cpp: * TAO_IDL/be/be_visitor_typecodet/typecode_defn.cpp: Removed unused arg warnings from AIX 4.3 w/ egcs 1.1.2. Thu Jun 17 10:48:15 1999 Jeff Parsons * tao/default_server.cpp: * tao/CDR_Interpreter.cpp: * tao/Operation_Table.cpp: * tao/ORB.cpp: * tao/Stub.cpp: * tao/Typecode.cpp: * tao/ValueBase.cpp: * tao/GIOP.cpp: * tao/Resource_Factory.cpp: * tao/Transport_mux_Strategy.cpp: * tao/Context.cpp: * tao/Messaging_Policy_i.cpp: * tao/Pluggable.cpp: * tao/Protocol_Factory.cpp: * tao/IIOP_Transport.cpp: * tao/UIOP_Factory.cpp: * tao/UIOP_Connect.cpp: Removed unused arg warnings from AIX 4.3 w/ egcs 1.1.2. Thu Jun 17 10:05:53 1999 Carlos O'Ryan * */run_test.pl: Fixed several problems with the EXE_EXT variable. Thu Jun 17 00:47:30 1999 Alexander Babu Arulanthu * TAO_IDL/ast/ast_decl.cpp: * TAO_IDL/be/be_interface.cpp: * TAO_IDL/be/be_visitor_operation/operation_cs.cpp: * TAO_IDL/include/ast_decl.h: Fixed the warnings in IRIX. Thanks to Carlos for reporting this. Thu Jun 17 00:13:03 1999 Carlos O'Ryan * TAO_IDL/be/be_visitor_operation/operation_cs.cpp: * TAO_IDL/be/be_interface.cpp: Fixed generation of skeletons that require the _cxx_ prefix. Wed Jun 16 23:59:17 1999 Irfan Pyarali * tao/default_resource.cpp (get_reactor): Must instruct Reactor to delete implementation. * tao/TAO.cpp (~TAO_ORB_Manager): Fixed reversed logic in if statement. * tao/ORB_Core.cpp (init): Must setup flags before creating the reactor. In ~TAO_ORB_Core_TSS_Resources(), must remove() allocators in addition to deleting them. * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Server.cpp (init): ORB Manager duplicates before returning. Must assign return value to PortableServer::POA_var. * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_i.cpp (_default_POA): Must duplicate before return poa. * orbsvcs/orbsvcs/Log/Logger_i.cpp (Logger_Factory_i): Removed template specialization. ACE_CString already has a hash() method. Wed Jun 16 22:49:01 1999 Carlos O'Ryan * examples/Callback_Quoter/Makefile: * examples/Callback_Quoter/Consumer.idl: * examples/Callback_Quoter/Consumer_Handler.cpp: * examples/Callback_Quoter/Consumer_Handler.h: * examples/Callback_Quoter/Consumer_Input_Handler.cpp: * examples/Callback_Quoter/Consumer_i.cpp: * examples/Callback_Quoter/Notifier_Input_Handler.cpp: * examples/Callback_Quoter/example.stocks: * examples/Callback_Quoter/run_test.pl: Added a run_test.pl to automate this test. Had to modify it so the programs will take options to work in non-interactive mode. Wed Jun 16 21:08:58 1999 Irfan Pyarali * TAO_IDL/be/be_visitor_operation/operation_ss.cpp (visit_operation): If the operation is oneway and has no "in" parameters, don't generate the <_tao_server_request> argument since it will not be used. * tao: The following files were updated to remove "unused argument" warnings. Thanks to Steve Huston for reporting these warnings. - Active_Object_Map.cpp - DomainC.cpp - Key_Adapters.cpp - MessagingC.cpp - MessagingS.cpp - POA.cpp - PolicyC.cpp - Sequence_T.cpp - Servant_Base.cpp Wed Jun 16 21:15:31 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Event/EC_ObserverStrategy.h: * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.h: Removed bogus ACE_INLINE declarations, thanks to Dave Meyer for pointing this out. Wed Jun 16 20:14:28 1999 Carlos O'Ryan * tao/ORB_Core.cpp: Added missing initializations * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Client.cpp: * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Server.cpp: Fixed error messages, they were crashing the application (incorrect usage of %p), they were misleading and hard to read. * performance-tests/Cubit/TAO/IDL_Cubit/run_test.pl: Minor fixes for NT. * tao/varout.i: A minor change to keep HP/aCC happy, thanks to Steve Huston for reporting this problem. * tao/TAO.cpp: Catch any exceptions in the destructor so they won't get propagated. Wed Jun 16 19:59:33 1999 Carlos O'Ryan * tao/ORB_Core.cpp: Fixed reactor initialization problem, thanks to Jeff for reporting this problem. Wed Jun 16 19:24:30 1999 Irfan Pyarali * TAO_IDL/be/be_visitor_interface/interface_cs.cpp (visit_interface): Added an ACE_UNUSED_ARG (ACE_TRY_ENV) for the _unchecked_narrow method. Wed Jun 16 19:11:39 1999 Carlos O'Ryan * examples/POA/Forwarding/run_test.pl: Fixed run-time errors, thanks to Irfan for helping out with this. Wed Jun 16 19:08:47 1999 Balachandran Natarajan * examples/Simple/time/Time_i.h: * examples/Simple/time/Time_i.cpp:Added ACE_THROW_SPEC Wed Jun 16 18:54:32 1999 Alexander Babu Arulanthu * TAO_IDL/be/be_interface.cpp: * TAO_IDL/be/be_visitor_operation/operation_cs.cpp: If there is _cxx_ in the beginning of an IDL operation or attribute, we will remove that and keep a copy of the original name. TAO IDL's front end adds _cxx_ prefix to the all the reserved keywords. But when we invoke the operation remotely, we should be sending only the name with out "_cxx_" prefix. Similarly, the look up table should be generated with the names without "_cxx_". * TAO_IDL/include/ast_decl.h: * TAO_IDL/ast/ast_decl.cpp: Added a new method "original_local_name" to return the operation/attribute name without "_cxx_" prefix. Thanks to Sean Landis for reporting this problem. Also, added "-F 0" to the options list given to the gperf by the IDL compiler. This was needed to get rid of the warnings in some platforms. Thanks to Irfan and Naga for helping in this. Wed Jun 16 18:48:28 1999 Carlos O'Ryan * tao/ORB_Core.cpp: Removed bogus template instantiations. * tao/UIOP_Connector.cpp: * tao/IIOP_Connector.cpp: Removed duplicate template instantiations when compiling in single threaded environments. Wed Jun 16 18:26:06 1999 Pradeep Gore * examples/Simple/chat/Broadcaster_i.h: * examples/Simple/chat/Broadcaster_i.cpp: * examples/Simple/chat/Receiver_i.h: * examples/Simple/chat/Receiver_i.cpp: * orbsvcs/examples/CosEC/Factory/CosEventChannelFactory_i.h: * orbsvcs/examples/CosEC/Factory/CosEventChannelFactory_i.cpp: * orbsvcs/tests/CosEC_Basic/CosECConsumer.h: * orbsvcs/tests/CosEC_Basic/CosECConsumer.cpp: * orbsvcs/tests/CosEC_Basic/CosECSupplier.h: * orbsvcs/tests/CosEC_Basic/CosECSupplier.cpp: * orbsvcs/tests/CosEC_Multiple/CosECConsumer.h: * orbsvcs/tests/CosEC_Multiple/CosECConsumer.cpp: * orbsvcs/tests/CosEC_Multiple/CosECSupplier.h: * orbsvcs/tests/CosEC_Multiple/CosECSupplier.cpp: Added the ACE_THROW spec. Wed Jun 16 18:17:24 1999 Irfan Pyarali * tao/DomainS.cpp * tao/MessagingS.cpp * tao/POAS.cpp * tao/PolicyS.cpp * tao/PollableS.cpp Fixed initialization of in TAO_operation_db_entry by changing the nothing initialization to a zero initialization. Wed Jun 16 18:17:24 1999 Balachandran Natarajan * examples/Simple/grid/Grid_i.h: * examples/Simple/grid/Grid_i.cpp:Added the ACE_THROW_SPEC Wed Jun 16 17:50:10 1999 Douglas C. Schmidt * examples/Simple/time-date/Time_Date_i: Added the ACE_THROW specs. Wed Jun 16 17:35:27 1999 Carlos O'Ryan * orbsvcs/orbsvcs/AV/AVStreams_i.cpp: Fixed warning due to misplaced comment. Wed Jun 16 16:54:11 1999 Irfan Pyarali * tao/Object.cpp (CORBA_Object): Check for a non-zero before accessing it. Thanks to Mark L. Boriack for this suggestion. Wed Jun 16 16:05:35 1999 Carlos O'Ryan * performance-tests/POA/Object_Creation_And_Registration/run_test.pl: * examples/POA/Identity/run_test.pl: * examples/POA/RootPOA/run_test.pl: Added scripts to timeout the test in case of failure * orbsvcs/tests/EC_Throughput/run_test.pl: New test for the collocated and remote event channel * orbsvcs/tests/EC_Throughput/ECT_Throughput.cpp: Fixed event channel shutdown * orbsvcs/orbsvcs/Event/EC_Dispatching_Task.cpp: * orbsvcs/orbsvcs/Event/EC_MT_Dispatching.cpp: Fixed multi-threaded dispatching strategy. * tests/MT_Client/Makefile: Use the IDL_EXT macro for the .PRECIOUS and realclean targets. Wed Jun 16 15:59:42 1999 Jeff Parsons * TAO/tests/Param_Test/client.dsp: * TAO/tests/Param_Test/Makefile: * TAO/performance-tests/Pluggable/client.dsp: * TAO/performance-tests/Pluggable/Makefile: * TAO/performance-tests/Cubit/TAO/IDL_Cubit/client.dsp: * TAO/performance-tests/Cubit/TAO/IDL_Cubit/Makefile: * TAO/performance-tests/Cubit/TAO/DII_Cubit/client.dsp: * TAO/performance-tests/Cubit/TAO/DII_Cubit/Makefile: Modified files to reflect the new independence of client code from generated *S.* files. Wed Jun 16 13:41:30 1999 Carlos O'Ryan * Incorporated the changes in the second phase for the asynchronous messaging support. This time Alex changed the IDL compiler to generate the ReplyHandler and the sendc_ methods. The merge includes all the changes from ami_phase2_start to ami_phase2_end. Wed Jun 16 15:31:31 1999 Jeff Parsons * TAO_IDL/be/be_visitor_union/discriminant_ci.cpp: Fixed code that was adding the scope twice when setting the discriminant to a default (unused) enum value. Wed Jun 16 15:10:17 1999 Irfan Pyarali * examples/POA/Forwarding/MyFooServant.cpp (handle_input): Changed ACE_CHECK to ACE_TRY_CHECK. Thanks to Carlos for reporting this warning. Wed Jun 16 14:57:09 1999 Jeff Parsons * tao/DynUnion_i.h: * tao/DynUnion_i.cpp: * tao/DynUnion_i_T.h: * tao/DynUnion_i_T.cpp: Removed the 'const' from the Any args of the DynUnion extractor functions, both template and specialized versions. Thanks to Steve Huston for reporting the errors with AIX 4.3 w/ IBM C/C++ 3.6.4. Wed Jun 16 14:00:53 1999 Jeff Parsons * TAO_IDL/be/be_visitor_interface/interface_cs.cpp: Commented out an unused variable that was causing a compiler warning reported by Carlos. Wed Jun 16 13:47:54 1999 Nagarajan Surendran * orbsvcs/orbsvcs/AV/AVStreams_i.cpp: * orbsvcs/orbsvcs/AV/sfp.cpp: Fixed the THROW_SPEC warnings on HP-UX. Thanks to Steve Huston for reporting these. Wed Jun 16 13:23:57 1999 Vishal Kachroo * orbsvcs/Time_Service/IR_Helper.cpp: Fixed ACE_THROW_SPEC * tests/InterOp-Naming/INS_i.cpp, * tests/InterOp-Naming/INS_i.h: Fixed ACE_THROW_SPEC. Wed Jun 16 12:30:21 1999 Carlos O'Ryan * tao/Makefile: * docs/Options.html: * tao/ORB_Core.h: * tao/ORB_Core.i: * tao/ORB_Core.cpp: * tao/Object_Adapter.cpp: * tao/POA.cpp: * tao/Policy_Manager.cpp: * tao/Servant_Base.cpp: * tao/IIOP_Connect.cpp: * tao/UIOP_Connect.cpp: * tao/Resource_Factory.h: * tao/Resource_Factory.cpp: * tao/default_resource.h: * tao/default_resource.i: * tao/default_resource.cpp: Added new per-ORB-per-thread resources, they only include the reactor and the output CDR allocators at this point. This eliminates some of the problems at shutdown because now the reactor goes down *after* the ORB shutdowns, not before. Also added a new option to the ORB (not the resource factory) to control if the resources are TSS or global, the old option in the resource factory is maintained for backwards compatibility * tests/OctetSeq/Makefile: * tests/OctetSeq/README: * tests/OctetSeq/client.cpp: * tests/OctetSeq/run_test.pl: * tests/OctetSeq/server.cpp: * tests/OctetSeq/test.idl: * tests/OctetSeq/test_i.cpp: * tests/OctetSeq/test_i.h: * tests/OctetSeq/test_i.i: * tests/OctetSeq/OctetSeq.cpp: Added a new test to check the octet sequence optimizations have no side effects across multiple calls. Wed Jun 16 03:13:22 1999 Douglas C. Schmidt * TAO_IDL/ast/ast_expression.cpp (eval_un_op): Fixed an obscure bug in TAO's IDL compiler whereby negative constants weren't being evaluated correctly. Thanks to Hata Yoshiaki for reporting this. Wed Jun 16 01:12:55 1999 Nanbor Wang * docs/releasenotes/orbcore.html: Updated information wrt collocation support. * docs/poa_migration.html: * docs/compiler.html: Removed section about having to include both stubs and skeletons in the client side and how to generate "pure client" code. * TAO-INSTALL.html: Updated intructions on creating MSVC projects. Removed VC 4.2 section. Tue Jun 15 22:16:57 1999 Matthew J Braun * orbsvcs/tests/Concurrency/CC_command.cpp * orbsvcs/tests/Concurrency/CC_test_utils.cpp * orbsvcs/tests/Concurrency/CC_tests.cpp * orbsvcs/Logging_Service/Logging_Service_i.h,cpp: Added ACE_const_cast statements. Those should have been checked in a while ago, but I screwed up. Also, I migrated the TAO_THROW macros to ACE_THROW macros in the Concurrency files. Tue Jun 15 20:19:43 1999 Jeff Parsons * tao/Any.cpp: Removed a comment to me that I had left after fixing what the comment referred to. * TAO/performance-tests/Pluggable/PP_Test_Server.cpp: * TAO/performace-tests/Cubit/TAO/IDL_Cubit/Cubit_Server.cpp: Added a check of the return value of parse_args(). Tue Jun 15 20:15:27 1999 Carlos O'Ryan * orbsvcs/tests/Trading/Offer_Exporter.cpp: * orbsvcs/tests/Trading/Offer_Exporter.h: * orbsvcs/tests/Trading/Offer_Importer.cpp: * orbsvcs/tests/Trading/Offer_Importer.h: * orbsvcs/tests/Trading/Service_Type_Exporter.cpp: * orbsvcs/tests/Trading/Service_Type_Exporter.h: * orbsvcs/tests/Trading/Simple_Dynamic.cpp: * orbsvcs/tests/Trading/Simple_Dynamic.h: * orbsvcs/tests/Trading/TT_Info.h: More TAO_THROW_SPEC converted to ACE_THROW_SPEC, easy job thanks to Seth foresight... Tue Jun 15 18:49:56 1999 Irfan Pyarali * tao: Fixed simple miscellaneous stuff marked by Dr. Schmidt. - Active_Object_Map.h - Active_Object_Map.i - Forwarding_Servant.cpp Tue Jun 15 18:04:36 1999 Carlos O'Ryan * orbsvcs/orbsvcs/orbsvcs.dsp: * orbsvcs/orbsvcs/orbsvcs_static.dsp: Added new file for the event channel implementation. Tue Jun 15 17:44:45 1999 Irfan Pyarali * examples/POA: Fixed the throw spec. * examples/POA/Forwarding/MyFooServant.h (MyFirstFooServant::forward): Added a *hack* (but it's the only one in TAO so that's ok ;-))! We cannot ask the POA to forward us while the upcall is still in progress. So we ask the Reactor to wake us up as soon as this upcall completes. At that time (in handle_input), we ask the POA to forward us. The politically correct way to handle this is to use a separate object (probably a separate interface, e.g., a forwarding agent) to do the forwarding. Also fixed some ACE_DEBUG usage errors. * tao/Invocation.cpp (TAO_GIOP_Twoway_Invocation::start and TAO_GIOP_Locate_Request_Invocation::start): If there was a previous reply, cleanup its state first. Thanks to Carlos for helping with this. Tue Jun 15 16:42:58 1999 Carlos O'Ryan * tao/Exception.h: * tao/Exception.cpp: Added the _raise() method to the system exceptions Tue Jun 15 16:16:48 1999 Nanbor Wang * TAO_IDL/be_include/be_visitor_operation/collocated_ss.h: * TAO_IDL/be/be_visitor_operation/collocated_ss.cpp (void_return_type): Added a helper method to determine whether the generated function returns void or not. Replaced several places that can use the method. (visit_operation): Added ACE_UNUSED_ARG for _tao_retval to avoid warngings on some platforms. The following changes decouple the generated skeletons from the generated stubs. Therefore, there's no need to include *S.* files on client side anymore. * TAO_IDL/be_include/be_visitor_interface/interface_ss.h: * TAO_IDL/be/be_visitor_interface/interface_ss.cpp (visit_interface): Fixed the code to generate <_create_collocated_objref.> * TAO_IDL/be/be_visitor_interface/interface_cs.cpp (visit_interface): Changed to use the _create_collocated_objref of ServantBase to get the collocated object from the servant. * TAO_IDL/be/be_codegen.cpp (start_client_stubs): There's no need to include the server header file in client side anymore. * tao/Servant_Base.{h,cpp} (_create_collocated_objref): This function now takes an extra argument so we can check whether we are asking for the right collocated object reference. Tue Jun 15 16:18:12 1999 Jeff Parsons * tao/decode.cpp: Put back a couple of lines that got cut out accidently in TAO_Marshal_Sequence::decode(). Thanks to Carlos for reporting the Param_Test DII error and to Nanbor for his help in navigating through the extensive change he recently made to this file. Tue Jun 15 15:08:12 1999 Carlos O'Ryan * TAO-INSTALL.html: Updated NT installation notes because the ACE_ROOT and/or TAO_ROOT variable is required. * orbsvcs/tests/Event/Basic/run_test.pl: * orbsvcs/tests/Event/Performance/run_test.pl: Use the new features in the Process perl class to timeout any of the tests. Tue Jun 15 14:50:29 1999 Jeff Parsons * TAO/performance-tests/Pluggable/PP_Test_i.h: * TAO/performance-tests/Pluggable/PP_Test_i.cpp: Added ACE_THROW_SPEC code to member functions. Tue Jun 15 13:24:30 1999 Marina Spivak * orbsvcs/tests/Simple_Naming/client.cpp: Added ACE_THROW_SPEC macros. * orbsvcs/orbsvcs/Naming/Transient_Naming_Context.cpp * orbsvcs/orbsvcs/Naming/Persistent_Naming_Context.cpp: * orbsvcs/orbsvcs/Naming/Persistent_Context_Index.cpp: Added missing template instantiations, workarounds for g++ template problems. Tue Jun 15 12:23:26 1999 Irfan Pyarali * tao/ORB.h (CORBA_ORB): Removed old comments about perform_work() and work_pending() not being supported -- they are actually supported now. Thanks to Pradeep Gore for pointing this out. Tue Jun 15 10:57:08 1999 Douglas C. Schmidt * docs/compiler.html: Improved the TAO IDL compiler documentation. Tue Jun 15 11:51:38 1999 Nagarajan Surendran * orbsvcs/tests/AVStreams/benchmark/run_test.pl: Fixed the run_test.pl so that the first line doesn't start with a # and also appended . to the executable PATH in the script. Tue Jun 15 11:06:13 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Log/Logger_i.cpp: * orbsvcs/orbsvcs/Log/Logger_i.h: * orbsvcs/orbsvcs/Trader/Constraint_Interpreter.cpp: * orbsvcs/orbsvcs/Trader/Constraint_Interpreter.h: * orbsvcs/orbsvcs/Trader/Offer_Database.cpp: * orbsvcs/orbsvcs/Trader/Offer_Database.h: * orbsvcs/orbsvcs/Trader/Offer_Iterators.cpp: * orbsvcs/orbsvcs/Trader/Offer_Iterators.h: * orbsvcs/orbsvcs/Trader/Offer_Iterators_T.cpp: * orbsvcs/orbsvcs/Trader/Offer_Iterators_T.h: * orbsvcs/orbsvcs/Trader/Service_Type_Repository.cpp: * orbsvcs/orbsvcs/Trader/Service_Type_Repository.h: * orbsvcs/orbsvcs/Trader/Trader.cpp: * orbsvcs/orbsvcs/Trader/Trader.h: * orbsvcs/orbsvcs/Trader/Trader_Interfaces.cpp: * orbsvcs/orbsvcs/Trader/Trader_Interfaces.h: * orbsvcs/orbsvcs/Trader/Trader_T.cpp: * orbsvcs/orbsvcs/Trader/Trader_T.h: * orbsvcs/orbsvcs/Trader/Trader_Utils.cpp: * orbsvcs/orbsvcs/Trader/Trader_Utils.h: More ACE_THROW_SPEC fixes, finally the orbsvcs library compile on IRIX! Mon Jun 14 22:58:34 1999 Alexander Babu Arulanthu * orbsvcs/orbsvcs/Property/CosPropertyService_i.h: * orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp: Fixed ACE_THROW_SPEC issues again. Included the CORBA::SystemException. Mon Jun 14 22:02:41 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Makefile: * orbsvcs/orbsvcs/Event/EC_MT_Dispatching.h: * orbsvcs/orbsvcs/Event/EC_MT_Dispatching.i: * orbsvcs/orbsvcs/Event/EC_MT_Dispatching.cpp: Added new dispatching strategy that uses several dispatching threads. Thanks to Thomas Lockhart for motivating this use case. * orbsvcs/orbsvcs/Event/EC_Default_Factory.h: * orbsvcs/orbsvcs/Event/EC_Default_Factory.i: * orbsvcs/orbsvcs/Event/EC_Default_Factory.cpp: Added support for the new dispatching strategy. * orbsvcs/orbsvcs/Event/EC_Command.h: * orbsvcs/orbsvcs/Event/EC_Command.i: * orbsvcs/orbsvcs/Event/EC_Command.cpp: * orbsvcs/orbsvcs/Event/EC_ProxyPushSupplier_Set.h: * orbsvcs/orbsvcs/Event/EC_ProxyPushSupplier_Set.cpp: Fixed name conflict between two classes. * orbsvcs/tests/EC_Throughput/ec.mt.conf: New config file for the MT dispatching strategy * orbsvcs/tests/EC_Throughput/ECT_Throughput.cpp: We don't use the naming service anymore. Mon Jun 14 22:10:15 1999 Douglas C. Schmidt * tao/GIOP.cpp (process_server_request): Make sure to initialize response_required to 0 to keep G++ from complaining. Thanks to Marina for reporting this. Mon Jun 14 21:04:53 1999 Carlos O'Ryan * orbsvcs/orbsvcs/CosEvent_Utilities.cpp: * orbsvcs/orbsvcs/CosEvent_Utilities.h: * orbsvcs/orbsvcs/CosEvent/ConsumerAdmin_i.cpp: * orbsvcs/orbsvcs/CosEvent/ConsumerAdmin_i.h: * orbsvcs/orbsvcs/CosEvent/EventChannel_i.cpp: * orbsvcs/orbsvcs/CosEvent/EventChannel_i.h: * orbsvcs/orbsvcs/CosEvent/ProxyPushConsumer_i.cpp: * orbsvcs/orbsvcs/CosEvent/ProxyPushConsumer_i.h: * orbsvcs/orbsvcs/CosEvent/ProxyPushSupplier_i.cpp: * orbsvcs/orbsvcs/CosEvent/ProxyPushSupplier_i.h: * orbsvcs/orbsvcs/CosEvent/SupplierAdmin_i.cpp: * orbsvcs/orbsvcs/CosEvent/SupplierAdmin_i.h: More ACE_THROW_SPEC stuff * tao/Object.h: Fixed warning in method declaration, it included the class name! Mon Jun 14 20:53:44 1999 Nagarajan Surendran * orbsvcs/orbsvcs/AV/AVStreams_i.{h,cpp}: Fixed a few more ACE_THROW_SPEC errors. Thanks to Carlos for pointing these. Mon Jun 14 19:38:47 1999 Alexander Babu Arulanthu * orbsvcs/orbsvcs/Property/CosPropertyService_i.h: * orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp: Fixed the problems with the ACE_THROW_SPEC. Mon Jun 14 19:36:32 1999 Douglas C. Schmidt * tao/GIOP.cpp (process_server_request): Fixed a couple of "unused" arg warnings caused by various #ifdef paths through the code. Thanks to Marina for reporting this. Mon Jun 14 16:55:26 1999 Irfan Pyarali * tao/Server_Strategy_Factory.cpp (create_servant_lock): * tao/default_server.cpp (create_servant_lock): Removed create_servant_lock(). It is not used and is *very* TAO specific and difficult to get right in the new architecture. Mon Jun 14 16:07:47 1999 Alexander Babu Arulanthu * tao/default_client.cpp: Creating Exclusive TMS always, since Muxed TMS is not available yet. * orbsvcs/orbsvcs/Property/CosPropertyService_i.h: * orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp: Added ACE_THROW_SPEC to the relevant methods. Mon Jun 14 15:34:21 1999 Jeff Parsons * TAO/performance-tests/Cubit/TAO/DII_Cubit/run_test.pl: * TAO/tests/DynAny_Test/run_test.pl: Added timeout features similar to that in IDL_Cubit/run_test.pl: Mon Jun 14 14:37:00 1999 Nagarajan Surendran * orbsvcs/orbsvcs/AV/AVStreams_i.{h,cpp}: Fixed the throw specifications for all the CORBA methods. Mon Jun 14 13:45:41 1999 David L. Levine * performance-tests/Cubit/TAO/MT_Cubit/Cubit_Task.{h,cpp}, Task_Client.h,server.cpp: fixed const char * warnings by replacing CORBA::String with const char *, and adding a few casts for objects that are passed to ACE_ARGV constructors. The casts aren't good: the proper fix would be to fix ACE_ARGV to take const ASYS_TCHAR * arguments. Mon Jun 14 12:29:04 1999 Nanbor Wang * tao/Context.cpp: * tao/Environment.cpp: * tao/Principal.cpp: Made sure the is initialized properly. Thanks to for pointing this out. * tao/Object_KeyC.h: TAO_ObjectKey_var needs to be exported on Win32. Mon Jun 14 11:04:05 1999 Balachandran Natarajan * examples/OBV/Simple_util.cpp: Added a #include. The problem was that HP_UX compiler reported that TAO_debug_level was not found. Hence the #include as a solution. This was reported by Bill Tovrea . Thanks to him for reporting this. Mon Jun 14 10:32:04 1999 Jeff Parsons * TAO/docs/releasenotes/TODO.html: Added item for Dynamic Any overhaul in the 'pending' section. Mon Jun 14 09:59:45 1999 Carlos O'Ryan * TAO_IDL/be/be_visitor_operation/collocated_ss.cpp: Fixed code for void functions, the collocated version was calling through the POA and directly (yikes!) * orbsvcs/orbsvcs/Naming/Transient_Naming_Context.cpp: * orbsvcs/orbsvcs/Naming/Persistent_Naming_Context.cpp: Minor cosmetic fixes. Mon Jun 14 09:58:47 1999 Douglas C. Schmidt * TAO-INSTALL.html: Updated Barry Hoggard's CORBA page URL. Mon Jun 14 08:56:02 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Naming/Transient_Naming_Context.cpp: * orbsvcs/orbsvcs/Naming/Persistent_Naming_Context.cpp: Added missing template instantiations Mon Jun 14 03:57:48 1999 Nanbor Wang * TAO_IDL/be_include/be_visitor_operation/collocated_ss.h: * TAO_IDL/be/be_visitor_operation/collocated_ss.cpp (visit_operation): Added code to generate the implementation that supports Thru_POA collocation strategy. The implementtion for Direct collocation strategy is still here. The generated code query the calling thread's ORB Core to determine the collocation strategy to use. Currently, we don't handle the case in Thru_POA implementation when _downcast fails, i.e., if the servant is a DSI, we'll die a horrible death. That need to be fixed to at least, throw an exception, we may add support for collocated DII/DSI call later. (gen_invoke): (gen_check_exception): Added two helper methods to generate collocated forwarding code and the "ACE_CHECK" macro if the native c++ exception is not supported. * TAO_IDL/be/be_visitor_interface/interface_sh.cpp * TAO_IDL/be/be_visitor_interface/interface_ss.cpp (visit_interface): Added code to generate the declaration and the default implementation of <_create_collocated_objref> method. The default implementation only returns a _tao_collocated_* object because I didn't separate the implementation of Thru_POA and Direct collocated object implementation. Users are allowed to overwrite this method to provide more nifty collocated objects. However, this method is not CORBA compliant. * TAO_IDL/be/be_visitor_interface/interface_cs.cpp (visit_interface): First attemp to decouple stubs from skeleton files. Since we still need to reinterpret the servant pointer returned by the _create_collocated_objref, we still need the skeleton files for now. But it should be fixed real soon. * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_i.{h,cpp} (_default_POA): We need to overwrite the <_default_POA> method because we use two different ORBs in collocation_test. (set_default_poa): Added the method to both Cubit_Factory and Cubit to propage and set the default POA down to Cubit. * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Server.cpp (init): Default_POA must be set correctly for collocation to work. * tao/Servant_Base.{h,cpp} (_create_collocated_objref): This method was intended to decouple the dependency of generated skeletons in stubs. But it is not fully functional yet. Therefore, we still need to include skeletons in client side. * tao/Servant_Base.cpp (_create_stub): We must record the servant_orb when creating a new stub. Stub objects now alway carry a pointer to servant_orb. *Very important*: If it is possible for a servant to be collocated with clients and the clients are using a different ORB from the servant, it is necessary for the servant to *overwrite* the _default_POA method. * tao/Object_Adapter.h (Servant_Upcall): Added TAO_Export to this class. Also added not-implemented copy ctor and operator=. * tao/Object.cpp (_object_key): Added a TAO extension to support Thru_POA collocation strategy. This function returns a reference of object key of the object reference without copying. Since the use of an object key during a collocated upcall never outlives the object reference' lifetime, we don't need to copy the object key. Thanks to Irfan for helping this out. * tao/ORB.cpp (_get_collocated_servant): Set the servant_orb once a collocated servant is found. Notice that at this moment, the method doesn't consider the collocation strategy being used by the orb and record both servant_orb and servant in the stub objects. The consequence of this is, only object that already has a servant available at the time _get_collocated_servant is called will be treated as collocated object. The advantage of this is, we can switch collocation strategy at run-time, but there doesn't seem to be a use case for this. AT any rate. this will be fixed in the future so that if Thru-POA collocation strategy is used, only servant_orb is recorded. Otherwise, only servant is carried by the stub object of the collocated objects. * tao/GIOP.h (TAO_GIOP_Message_State): Added TAO_Export to the class TAO_GIOP_Message_State. Sun Jun 13 23:38:02 1999 Nanbor Wang Quest for TAO try macros free TAO: * tao/deep_copy.cpp: * tao/decode.cpp: * tao/Typecode.{i,cpp}: * tao/Object.cpp: Commented out calls to ACE_TRY_ENV.clear (). We shouldn't depend on them for correct execution of programs. Changed the use of env to ACE try macros. * tao/Marshal.cpp (make_marshal_object): Changed to use ACE try macros. * tao/Exception.cpp (item): Replaced TAO_IN_ENV with ACE_TRY_ENV and commented out ACE_TRY_ENV.clear () since we shouldn't depend on clearing up the environment to make it works correctly. Sun Jun 13 23:29:22 1999 Marina Spivak * orbsvcs/orbsvcs/Naming/Transient_Naming_Context.{h,cpp} * orbsvcs/orbsvcs/Naming/Bindings_Iterator_T.{h,cpp}: Added the above files. * orbsvcs/orbsvcs/Naming/Persistent_Bindings_Map.{h,cpp} * orbsvcs/orbsvcs/Naming/Persistent_Context_Index_T.{h,cpp}: Removed the above files. * orbsvcs/orbsvcs/Naming/Naming_Context.{h,cpp} * orbsvcs/orbsvcs/Naming/Persistent_Naming_Context.{h,cpp} * orbsvcs/orbsvcs/Naming/Persistent_Context_Index.{h,cpp} * orbsvcs/orbsvcs/Naming/Hash_Naming_Context.{h,cpp} * orbsvcs/orbsvcs/Naming/Naming_Utils.{h,cpp} * orbsvcs/orbsvcs/Naming/Entries.{h,cpp} * orbsvcs/orbsvcs/Naming/Persistent_Entries.{h,cpp}: Modified the above files. Restructured the implementation of NamingContext to factor out the common code between persistent and nonpersistent implementations through the Template method pattern (added TAO_Transient_Naming_Context, TAO_Bindings_Map, TAO_Transient_Bindings_Map classes and modified others). Made TAO_Persistent_Context_Index a non-template class, and TAO_Bindings_Iterator a template class. Made a pass through some files for code review - added comments. Got rid of the use of method, and changed lock pointers to lock references. Many other minor adjustments... Sun Jun 13 22:39:51 1999 Douglas C. Schmidt * orbsvcs/orbsvcs/Event/EC_ProxySupplier.h, * orbsvcs/orbsvcs/Event/EC_SupplierFiltering.h, * orbsvcs/orbsvcs/Event/EC_ProxyPushSupplier_Set.h, * orbsvcs/orbsvcs/Event/EC_Gateway.h, * orbsvcs/orbsvcs/Event/EC_Dispatching.h: Added default TAO_default_environment() calls. Thank to Russ Noseworthy for reporting this. Sun Jun 13 21:46:25 1999 Carlos O'Ryan * tests/NestedUpcall/Triangle_Test/run_test.pl: * tests/NestedUpcall/MT_Client_Test/run_test.pl: More scripts changed to use timeouts. * tests/MT_Client/test.idl: * tests/MT_Client/test_i.cpp: * tests/MT_Client/test_i.h: * tests/NestedUpcall/MT_Client_Test/MT_Object_i.cpp: * tests/NestedUpcall/MT_Client_Test/MT_Object_i.h: * tests/NestedUpcall/Reactor/Reactor.idl: * tests/NestedUpcall/Reactor/eh_i.cpp: * tests/NestedUpcall/Reactor/eh_i.h: * tests/NestedUpcall/Reactor/reactor_i.cpp: * tests/NestedUpcall/Reactor/reactor_i.h: * tests/NestedUpcall/Triangle_Test/Initiator_i.cpp: * tests/NestedUpcall/Triangle_Test/Initiator_i.h: * tests/NestedUpcall/Triangle_Test/Object_A_i.cpp: * tests/NestedUpcall/Triangle_Test/Object_A_i.h: * tests/NestedUpcall/Triangle_Test/Object_B_i.cpp: * tests/NestedUpcall/Triangle_Test/Object_B_i.h: * tests/Param_Test/param_test_i.cpp: * tests/Param_Test/param_test_i.h: * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_i.cpp: * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_i.h: * performance-tests/Cubit/TAO/MT_Cubit/cubit_i.cpp: * performance-tests/Cubit/TAO/MT_Cubit/cubit_i.h: * orbsvcs/Event_Service/Event_Service.cpp: * orbsvcs/Event_Service/Event_Service.h: * orbsvcs/tests/EC_Throughput/ECT_Consumer.cpp: * orbsvcs/tests/EC_Throughput/ECT_Consumer.h: More throw specs added Sun Jun 13 16:18:31 1999 Carlos O'Ryan * docs/releasenotes/orbcore.html: Documented the GIOP 1.1 implementation. * docs/releasenotes/TODO.html: Made a pass marking the completed tasks as such Sun Jun 13 15:35:42 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Time/TAO_TIO.cpp: * orbsvcs/orbsvcs/Time/TAO_TIO.h: * orbsvcs/orbsvcs/Time/TAO_Time_Service_Clerk.cpp: * orbsvcs/orbsvcs/Time/TAO_Time_Service_Clerk.h: * orbsvcs/orbsvcs/Time/TAO_Time_Service_Server.cpp: * orbsvcs/orbsvcs/Time/TAO_Time_Service_Server.h: * orbsvcs/orbsvcs/Time/TAO_UTO.cpp: * orbsvcs/orbsvcs/Time/TAO_UTO.h: More throw specs fixed. Sat Jun 12 21:56:35 1999 Carlos O'Ryan * docs/index.html: * docs/Tags.html: A new document that describes how TAO uses tags and other magic numbers. Sat Jun 12 20:29:09 1999 Carlos O'Ryan * tao/corbafwd.h: Documented the tags obtained from the OMG. * tao/ORB.cpp: Improve debugging messages * tao/GIOP.h: Use an OMG assigned profile ID for the unix domain sockets * examples/POA/Default_Servant/File_i.cpp: Create the files in 644 mode, so we can write on them! * examples/POA/Default_Servant/run_test.pl: * tests/MT_Client/run_test.pl: * tests/NestedUpcall/Reactor/run_test.pl: Use the new timed routines to drive this test. * orbsvcs/tests/Simple_Naming/run_test.pl: Minor revision to the multithreaded test * TAO_IDL/be/be_visitor_operation/operation_cs.cpp: * tao/DomainC.cpp: * tao/Invocation.cpp: * tao/MessagingC.cpp: * tao/Object.cpp: * tao/POAC.cpp: * tao/PolicyC.cpp: * tao/PollableC.cpp: The right exception to raise if the stubobj is nil() is CORBA::INTERNAL Sat Jun 12 19:51:29 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Runtime_Scheduler.cpp: * orbsvcs/orbsvcs/Runtime_Scheduler.h: * orbsvcs/orbsvcs/Naming/Hash_Naming_Context.cpp: * orbsvcs/orbsvcs/Naming/Hash_Naming_Context.h: * orbsvcs/orbsvcs/Naming/Naming_Context.cpp: * orbsvcs/orbsvcs/Naming/Naming_Context.h: * orbsvcs/orbsvcs/Naming/Persistent_Naming_Context.cpp: * orbsvcs/orbsvcs/Naming/Persistent_Naming_Context.h: * orbsvcs/orbsvcs/Sched/Config_Scheduler.cpp: * orbsvcs/orbsvcs/Sched/Config_Scheduler.h: * orbsvcs/tests/EC_Basic/EC_Basic.cpp: * orbsvcs/tests/EC_Basic/EC_Basic.h: * orbsvcs/tests/EC_Mcast/EC_Mcast.cpp: * orbsvcs/tests/EC_Mcast/EC_Mcast.h: * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: * orbsvcs/tests/EC_Multiple/EC_Multiple.h: * orbsvcs/tests/Event/lib/Consumer.cpp: * orbsvcs/tests/Event/lib/Consumer.h: * orbsvcs/tests/Event/lib/Supplier.cpp: * orbsvcs/tests/Event/lib/Supplier.h: * orbsvcs/tests/Event_Latency/Event_Latency.cpp: * orbsvcs/tests/Event_Latency/Event_Latency.h: * orbsvcs/tests/EC_Custom_Marshal/ECM_Consumer.cpp: * orbsvcs/tests/EC_Custom_Marshal/ECM_Consumer.h: * orbsvcs/tests/EC_Custom_Marshal/ECM_Supplier.cpp: * orbsvcs/tests/EC_Custom_Marshal/ECM_Supplier.h: More throw spec fixes Sat Jun 12 18:42:04 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Channel_Clients_T.cpp: * orbsvcs/orbsvcs/Channel_Clients_T.h: * orbsvcs/orbsvcs/Concurrency/CC_LockSet.cpp: * orbsvcs/orbsvcs/Concurrency/CC_LockSet.h: * orbsvcs/orbsvcs/Concurrency/CC_LockSetFactory.cpp: * orbsvcs/orbsvcs/Concurrency/CC_LockSetFactory.h: * orbsvcs/orbsvcs/Event/EC_ConsumerAdmin.cpp: * orbsvcs/orbsvcs/Event/EC_ConsumerAdmin.h: * orbsvcs/orbsvcs/Event/EC_Event_Channel.cpp: * orbsvcs/orbsvcs/Event/EC_Event_Channel.h: * orbsvcs/orbsvcs/Event/EC_Gateway.cpp: * orbsvcs/orbsvcs/Event/EC_Gateway.h: * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp: * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.h: * orbsvcs/orbsvcs/Event/EC_ObserverStrategy.cpp: * orbsvcs/orbsvcs/Event/EC_ObserverStrategy.h: * orbsvcs/orbsvcs/Event/EC_ProxyConsumer.cpp: * orbsvcs/orbsvcs/Event/EC_ProxyConsumer.h: * orbsvcs/orbsvcs/Event/EC_ProxySupplier.cpp: * orbsvcs/orbsvcs/Event/EC_ProxySupplier.h: * orbsvcs/orbsvcs/Event/EC_SupplierAdmin.cpp: * orbsvcs/orbsvcs/Event/EC_SupplierAdmin.h: * orbsvcs/orbsvcs/Event/EC_UDP_Admin.cpp: * orbsvcs/orbsvcs/Event/EC_UDP_Admin.h: * orbsvcs/orbsvcs/Event/Event_Channel.cpp: * orbsvcs/orbsvcs/Event/Event_Channel.h: * orbsvcs/orbsvcs/Event/Event_Channel.i: Fixed throw specifications for all the event channel and concurrency service files. Sat Jun 12 18:08:49 1999 Carlos O'Ryan * tao/GIOP.i: Fixed buffer managment bug, the incoming buffer on each (server) transport was re-used for the next call, but we cannot do that because the buffer may be in use by some octet sequences. * tao/GIOP.cpp: More initializations to keep purify happy * tao/ORB.cpp: Removed UMR warning on purify by initializing a CDR buffer with 0's The warning was due to padding bytes, it was not harmful, but it could hide real problems. * utils/nslist/nslist.cpp: Improved output * orbsvcs/tests/Simple_Naming/run_test.pl: Use a file to communicate the IOR back to the client, is more reliable. Several improvements in the subprocess managment. Sat Jun 12 14:28:20 1999 Aniruddha Gokhale * TAO_IDL/be/be_union.cpp: TAO_IDL/be_include/be_union.h: Removed the cast to long for the case when the union member is of type boolean. We handled this by making the blval union member as a long. * TAO_IDL/be/be_visitor_field/field_ch.cpp: TAO_IDL/be/be_visitor_union_branch/public_ch.cpp: We were not handling the code generation of union defined inside a structure or another union. * TAO_IDL/be/be_visitor_field/field_ci.cpp: Cosmetic changes. * TAO_IDL/be/be_visitor_interface/interface_sh.cpp: Fixed indentation problem in generated code. * TAO_IDL/be/be_visitor_operation/arglist.cpp: TAO_IDL/be/be_visitor_operation/argument.cpp: TAO_IDL/be_include/be_visitor_operation/arglist.h: TAO_IDL/be_include/be_visitor_operation/argument.h: These operation visitors now inherit from the be_operation visitor so that we can use the base operations defined on the base class operation visitor. Additional changes are described below. * TAO_IDL/be/be_visitor_operation/arglist.cpp: TAO_IDL/be/be_visitor_operation/argument.cpp: TAO_IDL/be/be_visitor_operation/collocated_ss.cpp: TAO_IDL/be/be_visitor_operation/operation.cpp: TAO_IDL/be_include/be_visitor_operation/operation.h: TAO_IDL/be/be_visitor_operation/operation_cs.cpp: TAO_IDL/be/be_visitor_operation/operation_ih.cpp: TAO_IDL/be_include/be_visitor_operation/operation_ih.h: TAO_IDL/be/be_visitor_operation/operation_is.cpp: TAO_IDL/be_include/be_visitor_operation/operation_is.h: TAO_IDL/be/be_visitor_operation/operation_sh.cpp: TAO_IDL/be/be_visitor_operation/operation_ss.cpp: TAO_IDL/be/be_visitor_operation/tie_si.cpp: Generated stubs/skeletons now support real C++ exceptions as specified by the IDL->C++ mapping. We also generate the ACE_THROW_SPEC macro for the stubs and skeletons. To support this, some common code was factored out and put into the base operation visitor. Users will need to use the -Ge option to the IDL compiler to enable support for C++ exceptions. * docs/releasenotes/index.html: docs/compiler.html: Updated documentation. Fri Jun 11 20:36:37 1999 Balachandran Natarajan * examples/POA/TIE/run_test.pl: Changed the way the client process was launched. Initial a system call was used. But now we are using a Process::Create call to do that. Fri Jun 11 20:04:07 1999 Carlos O'Ryan * performance-tests/Cubit/TAO/IDL_Cubit/run_test.pl: Removed obsolete options Fri Jun 11 19:26:30 1999 Balachandran Natarajan * examples/POA/TIE/server.cpp (main): Fixed a small problem on NT. It was not writing the IOR to a file. It was fixed. * examples/POA/TIE/run_test.pl: Made a change to be on par with Carlos's latest standard. * examples/POA/TIE/run_test.pl: Added a new file. * examples/POA/TIE/server.cpp : To facilitate usage of a perl script for running the test, made the server to ior to a file. * examples/POA/TIE/client.cpp: To facilitate reading the ior by the perl script, change was made to read the ior from the command line in "file://" format . Fri Jun 11 19:08:45 1999 John Heitmann * TAO/examples/POA/DSI/run_test.pl: * TAO/examples/POA/Default_Servant/run_test.pl: * TAO/examples/POA/Explicit_Activation/run_test.pl: * TAO/examples/POA/FindPOA/run_test.pl: * TAO/examples/POA/Forwarding/run_test.pl: * TAO/examples/POA/Loader/run_test.pl: * TAO/examples/POA/NewPOA/run_test.pl: * TAO/examples/POA/On_Demand_Activation/run_test.pl: * TAO/examples/POA/On_Demand_Loading/run_test.pl: * TAO/examples/POA/Adapter_Activator/run_test.pl: * TAO/examples/POA/Reference_Counted_Servant/run_test.pl: Changed all instances where a test would wait forever to waits which time out after a period of time. Fri Jun 11 18:33:21 1999 Jeff Parsons * TAO/tests/Param_Test/server.cpp: Added a const to avoid a SunC++ "string literal to char*" warning. * TAO/performance-tests/Cubit/TAO/DII_Cubit/client.cpp: Various changes to avoid SunC++ 5.0's "string literal to char*" warnings. * TAO/performance-tests/Cubit/TAO/IDL_Cubit/collocation_test.cpp: * TAO/performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Client.h: * TAO/performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Client.cpp: Various maneuvers to avoid SunC++ 5.0 "string literal to char*" warnings. * TAO/tests/DynAny_Test/data.h: Added a 'const' to get rid of SunC++ warnings. * TAO/tests/Param_Test/run_test.pl: Added an unlink $iorfile at the beginning so the client won't get the wrong IOR if the file already exists. This was causing the first test to show CORBA::TRANSIENT exceptions on NT. Thanks to Carlos for suggesting a better fix than the one I had. Fri Jun 11 12:27:29 1999 Douglas C. Schmidt * TAO_IDL/fe/lex.yy.cpp.diff: Updated the diff output to handle the new flex output from idl.ll. * TAO_IDL/fe/idl.ll: Made the following two changes to TAO's IDL flex file. Removed the "A" through "Z" characters ranges. Under EBCDIC the need to be "A through I", "J through R", and "S through Z" (ditto for the lower case letters). Perhaps it should just be changed to be "[ABCDEFGHIJKLMNOPQRSTUVWXYZ]"... Added support for the trigraph "??=" which is the trigraph for the "#" sign. The OpenEdition preprocessor inserts a "pragma" statement at the start of the preprocessed output using this trigraph. Thanks to Jim Rogers for these fixes. Fri Jun 11 14:48:11 1999 David L. Levine * performance-tests/Cubit/TAO/IDL_Cubit/run_test.pl, performance-tests/Cubit/TAO/MT_Cubit/run_test.pl: updated to use Carlos' timeouts. Cool! Fri Jun 11 14:33:27 1999 Jeff Parsons * TAO/tests/DynAny_Test/test_dynenum.cpp: Changed test code to match the change in enum labels made in the IDL file a while back. Fri Jun 11 14:17:20 1999 Carlos O'Ryan * TAO_IDL/include/be_extern.h: Changed several extern "C" functions to plain extern. They were actually compiled with C++ and was giving warnings under Sun/CC 5.0 (and errors in other platforms). * tests/MT_Client/run_test.pl: * examples/POA/Forwarding/run_test.pl: Modified to use the new timeouts, just an example for other test developers. * orbsvcs/tests/Simple_Naming/run_test.pl: It was missing the ACEutils package. Updated to use the process timeouts. Fri Jun 11 11:42:07 1999 Balachandran Natarajan * tests/DynAny_Test/test_wrapper.cpp: Added #include "ace/OS.h" so that they compile on aCC compiler on HP_UX Thu Jun 10 23:17:38 1999 Jeff Parsons * TAO_IDL/be_include/be_enum.h: * TAO_IDL/be/be_enum.cpp: Added a method to convert a numerical value to an enum's string name for it. When generating code for the _default() method for a union, if the discriminator is an enum, some compilers (MSVC among them) will complain about assigning a numeric constant to the discriminator in _default(). This method and the changes below enable the assignment of the enum label identifier instead. * TAO_IDL/be/be_visitor_union/union_ci.cpp: * TAO_IDL/be/be_visitor_union/discriminant_ci.cpp: Moved generation of code for the _default() method from the union visitor to the discriminant visitor, so it would be a little easier to get at the enum labels. Thanks to Kristopher Johnson for pointing out the problem and supplying an IDL file for a test case. Thu Jun 10 23:10:23 1999 Carlos O'Ryan * tao/UIOP_Profile.cpp: Fixed bug in UIOP_Profile enconding. Thu Jun 10 21:32:59 1999 Carlos O'Ryan * tao/TAO.dsp: * tao/TAO_Static.dsp: Added the new files Thu Jun 10 21:20:19 1999 Carlos O'Ryan * tao/Tagged_Components.h: * tao/Tagged_Components.i: * tao/Tagged_Components.cpp: New class to manipulate and query tagged components efficiently. * tao/IIOP_Profile.h: * tao/IIOP_Profile.i: * tao/IIOP_Profile.cpp: * tao/IIOP_Acceptor.cpp: * tao/UIOP_Profile.h: * tao/UIOP_Profile.i: * tao/UIOP_Profile.cpp: * tao/UIOP_Acceptor.cpp: The IIOP and UIOP profiles use the TAO_Tagged_Components class to implement the tagged_components field in GIOP/IIOP 1.1 The Acceptors generate the standard IOP::TAG_ORB_TYPE and IOP * tao/iopfwd.h: * tao/MessagingC.h: Removed "tao/iopfwd.h" the contents are in IOPC.h * tao/corbafwd.h: Added several magic numbers that we use for the tagged components and the codeset support, I tried to describe the source for each one. * tao/ORB.cpp: Fixed demarshaling of TC_opaque (again!) * tao/CONV_FRAME.pidl: * tao/CONV_FRAMEC.cpp: * tao/CONV_FRAMEC.h: * tao/CONV_FRAMEC.i: * tao/CONV_FRAMES.cpp: * tao/CONV_FRAMES.h: * tao/CONV_FRAMES.i: * tao/CONV_FRAMES_T.cpp: * tao/CONV_FRAMES_T.h: * tao/CONV_FRAMES_T.i: Implement the the CONV_FRAME module in CORBA 2.2, it is just a bunch of types, no interfaces. * tao/IOPC.h: * tao/IOPC.i: * tao/IOPC.cpp: * tao/IOPS.h: * tao/IOPS.i: * tao/IOPS.cpp: * tao/IOPS_T.h: * tao/IOPS_T.i: * tao/IOPS_T.cpp: Added the complete (as of CORBA 2.2) IOP module definition. * tao/Makefile: Added the new files. * tao/orbconf.h: * tao/ORB_Core.cpp: * tao/params.h: * tao/params.i: * tao/params.cpp: New option (-ORBStdProfileComponents 0/1) to control the generation of the standard tagged components on each profile. They are optional, i.e. we are not required to generate them, and take some space (in the IORs). Notice that they do *not* affect the critical path (unless you are sending a lot of object references). * docs/Options.html: Documented the new -ORBStdProfileComponents option * utils/catior/catior.cpp: Added support for GIOP 1.1 tagged components in both IIOP and UIOP profiles * tao/GIOP.cpp: Removed unused variable * tao/orbconf.h: * tao/corbafwd.h: * tao/ORB.h: * tao/Exception.h: * tao/Exception.cpp: Removed the last use of TAO_CONST * TAO_IDL/driver/drv_args.cpp: If the temporary directory cannot be open we print an Error, not a Warning (it would be confusing otherwise). Thanks to Jim Rogers for pointing this out. Thu Jun 10 17:15:37 1999 Jeff Parsons * tao/Exception.cpp: Added include and modified identifier related to the codeset translator implemented for IBM1047. Thanks to Jim Rogers for pointing this out. Thu Jun 10 16:51:02 1999 Pradeep Gore * examples/Simple/chat/Server_i.h: * orbsvcs/orbsvcs/CosEvent_Utilities.cpp: fixed sunc++ 5.0 warning for initializing a non const char* with a string literal. Thu Jun 10 15:24:21 1999 Irfan Pyarali * tao/ORB_Core.cpp: Added the inclusion of ace/Object_Manager.h because of the use of ACE_Static_Object_Lock. Thanks to J. Russell Noseworthy for reporting this. Thu Jun 10 15:27:39 1999 Kirthika Parameswaran * examples/Callback_Quoter/Consumer_Handler.h (class Consumer_Handler): Made the stock_name_ member const char* from char* to take care of Sun C++ 5.0 compiler warnings. Thu Jun 10 14:54:30 1999 Balachandran Natarajan * TAO_IDL/be/be_visitor_sequence/sequence_base.cpp * TAO_IDL/be/be_visitor_sequence/sequence_ch.cpp * TAO_DIL/be/be_visitor_sequence/sequence_cs.cpp : Fix for scoped names on NT. NT does not accept scoped names in header files. Thu Jun 10 14:19:02 1999 Kirthika Parameswaran * examples/POA/On_Demand_Loading/Server_Manager.cpp (create_poa): Removed typecast warning and changed the return value to 0 from -1. * examples/POA/On_Demand_Loading/README: Explicitly mentioned that by default Generic_Servant is used and hence needs to be built before running this example using run_test.pl. Thu Jun 10 14:13:19 1999 Jeff Parsons * TAO_IDL/be/be_visitor_typedef/typedef_ch.cpp: be_visitor_typedef_ch::visit_array() had numerous problems, such as the generation of "static" where "ACE_INLINE" should have been in a couple of places, and multiple calls from the same be_typedef object to nested_type_name() in the same stream output statement. This generates incorrect code because nested_type_name() contains static buffers, and the order of evaluations within a chained stream output statement is not guaranteed, only the order of output. Thanks to Carlos for explaining why my fix to this last worked, and to Schuderer Christian for supplying the IDL file that caused the problem. Thu Jun 10 13:53:09 1999 Irfan Pyarali * examples/Simple/Simple_util.cpp: Fixed improper use of return values from the ORB Manager. Since the ORB Manager duplicates the data members before returning them, we must store them in vars. * examples/Simple/chat/Client_i.cpp (run): Changed the use of ORB to ORB Manager to simplify the activatation of the POA Manager. The POA Manager must be activated before incoming calls can reach the servants registered with the POAs that the POA Manager manages. Thanks to Bill Tovrea for pointing out this problem. Thu Jun 10 13:18:31 1999 Nanbor Wang * tao/Request.h: Inline functions must be included *before* RequestSeq to avoid inline functions being used before declared inline warnings. * tao/Request.{i,cpp} (release): Re-inlined release method. Thu Jun 10 13:03:14 1999 Irfan Pyarali * tao/IIOP_Connect.cpp (handle_input): Must return from handle_input if TAO_GIOP::handle_input() returns -1. * tao/ORB_Core.cpp: Added inclusion of POA.h since I removed it from default_resources.h. * tao/default_resource.cpp (init): Removed the -ORBPOA option. Code for parsing this option was still there but this option has not been used in a long time. Thanks to Phil Mesnier for reporting this. * tao/default_server.cpp (TAO_Default_Server_Strategy_Factory): Removed . It is no longer used. Also, in parse_args(), changed -ORBEventLock to -ORBEventLoopLock and fixed the code associated with its parsing (previously it was setting , yikes!). Note that -ORBEventLoopLock should probably remain undocumented for now since its utility is still in question and the default of null lock seems reasonable in many cases. Thu Jun 10 11:07:30 1999 Balachandran Natarajan * tests/Param_Test/tmplinst.cpp: Fixed #pragma instantiations. * TAO_IDL/be/be_visitor_sequence/sequence_cs.cpp * TAO_IDL/be/be_visitor_sequence/sequence_ch.cpp: Fixed a problem in NT. Thanks to Chris & Andy for pointing this out. Thu Jun 10 09:41:06 EDT 1999 Aniruddha Gokhale * tao/Sequence_T.{i, cpp}: Fixed incorrect number of parameters passed to templates. Thu Jun 10 08:12:14 EDT 1999 Aniruddha Gokhale * tao/MessageC.cpp: There were serveral instances where the CORBA::Environment parameter was declared as "env", but we were using the ACE_THROW_* macros which need the ACE_TRY_ENV variable. This is now fixed. * tao/Pluggable.cpp (start_request, start_locate): The header file was using ACE_THROW_SPEC to indicate all possible exceptions these operations can throw. The *.cpp file was, however, using the TAO_THROW_SPEC macro which is a NO-OP and will soon be deprecated. With exceptions enabled, the compiler was giving errors. We now use ACE_THROW_SPEC. Wed Jun 09 23:16:21 1999 Irfan Pyarali * tao/orbconf.h: Without Minimum CORBA, the user will get regular (no locality constraints) policies by default. With Minimum CORBA, the user will get locality constraint policies by default. If #define TAO_HAS_REMOTE_POLICIES 0, then the user will always get locality constraint policies (regardless of Minimum CORBA). If #define TAO_HAS_REMOTE_POLICIES 1, then the user will always get regular policies (regardless of Minimum CORBA). Thanks to Nanbor for helping with this. * tao/Servant_Base.cpp (_dispatch): Added a non-op, exception throwing _dispatch(). * tao/Servant_Base.h: TAO_Local_ServantBase should virtually inherit from TAO_ServantBase. * tao/POAS: * tao/DynAnyS: * tao/Current: Removed the _dispatch() method from all locality constraint classes. Also for the policy classes, moved the _dispatch() method into the TAO_HAS_LOCALITY_CONSTRAINT_POLICIES defines. * tao/Policy: Made the Policy stub and skeleton classes aware of TAO_HAS_LOCALITY_CONSTRAINT_POLICIES, and moved the extra methods not required for locality constraint policies under the TAO_HAS_LOCALITY_CONSTRAINT_POLICIES #defines. * tao/Messaging_Policy_i (RelativeRoundtripTimeoutPolicy): Made inheritance virtual and removed extra copy constructor. * tao/MessagingC (all policies): Since the policies are locality constrained, we can make the stub methods pure virtual and make sure that the _narrow method does not create the stub class. * tao/POA.h (all policies): Removed unnecessary copy constructors. * tao/POA_CORBA: Made the CORBA::Current, PolicyManager, and PolicyCurrent classes locality constrained to match the spec. Wed Jun 9 22:18:10 1999 Balachandran Natarajan * tao/Sequence_T.cpp * tao/Sequence_T.h * tao/Sequence_T.i: Added an operator= (T_var) in TAO_Object_Manager class. This was achieved by adding an extra parameter to the template. This necessiateted that the classes TAO_Unbounded_Object_Sequence, TAO_Bounded_Object_Sequence, TAO_Pseudo_Unbounded_Object_Sequence,TAO_Bounded_Pseudo_Sequence had to be changed. An extra template parameter was added in these classes also. * tao/DomainC.cpp * tao/DomainC.h * tao/DomainC.i * tao/PolicyC.cpp * tao/PolicyC.h * tao/PolicyC.i * tao/Request.cpp * tao/Request.h * tao/corbafwd.h: The changes in these files were done to reflect the changes that were made in the classes above. They had to be done keep in sync with the new template class declarations. * TAO_IDL/be/be_visitor_sequence/elemtype.cpp * TAO_IDL/be/be_visitor_sequence/gen_object_manager_ch.cpp * TAO_IDL/be/be_visitor_sequence/gen_object_manager_ci.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_cs.cpp * TAO_IDL/be_include/be_visitor_sequence/sequence_base.h: Changes to the IDL compiler to reflect the above change that was made. Thanks to Jake Hamby for pointing out the need for the assignment operator and also in helping us out with a sample solution. Wed Jun 9 21:13:00 1999 Chris Gill * examples/Simulator/DOVEMIB/clnt.h: moved CORBA::ORB_var member declaration first in the class. Wed Jun 9 20:16:36 1999 Carlos O'Ryan * Started the work on GIOP 1.1, the current version is still incomplete, but works and has to be tested in more platforms. The features implemented so far include: + Requests are issued using version 1.1 or version 1.0, depending on the version of the profile. + Acceptors create v 1.1 profiles by default, but can generate 1.0 profiles if a -ORBendpoint option with an explicit version is present (like -ORBendpoint iiop://1.0@host:0) + Replys are sent using the same version that the request + There is a framework to receive a request (or reply) broken in multiple fragments. The framework is not specially efficient, is does not handle fragments with different byte order or different GIOP versions and is completely untested. TAO does *not* generate fragments. + Notice that the tagged components in the profile are *not* implemented yet. * tao/orbconf.h: Added new macros to control the default GIOP protocol version, either 1.0 or 1.1 * tao/Acceptor_Registry.cpp: Use the version in the command-line endpoint to initialize the Acceptor. * tao/Environment.h: Cosmetic fixes * tao/GIOP.h: * tao/GIOP.i: * tao/GIOP.cpp: Many changes to support 1.1, including a new class to keep the state of an incoming message composed by multiple fragments. * tao/Server_Request.h: * tao/GIOP_Server_Request.h: * tao/GIOP_Server_Request.cpp: The server request uses the version of the request to determine the version of the reply. We don't need to use exceptions in the constructor, saving us from some really nasty portability problems. * tao/Invocation.h: * tao/Invocation.i: * tao/Invocation.cpp: Moved the code to initialize a Request or LocateRequest message to the transport classes, not only this isolates the use of TAO_GIOP even further, it is also needed because the transport class needs to query the version of the Profile to determine the version of the GIOP message. * tao/ORB_Core.h: * tao/ORB_Core.i: Added the Service Context List to the ORB core, it lacks an elegant interface, but at least it can be set and is used. * tao/Reply_Dispatcher.h: * tao/Reply_Dispatcher.cpp: * tao/Transport_Mux_Strategy.h: * tao/Transport_Mux_Strategy.cpp: Changed the interfaces in the the ORB core to use a TAO_GIOP_Message_State that keeps track of not only the payload, but of any fragments for the current message, the current amount of data read on the fragment, etc. * tao/Pluggable.h: * tao/Pluggable.i: * tao/Pluggable.cpp: * tao/IIOP_Acceptor.h: * tao/IIOP_Acceptor.cpp: * tao/IIOP_Connect.h: * tao/IIOP_Connect.cpp: * tao/IIOP_Factory.h: * tao/IIOP_Factory.cpp: * tao/IIOP_Profile.h: * tao/IIOP_Profile.i: * tao/IIOP_Profile.cpp: * tao/IIOP_Transport.h: * tao/IIOP_Transport.cpp: * tao/UIOP_Acceptor.h: * tao/UIOP_Acceptor.cpp: * tao/UIOP_Connect.h: * tao/UIOP_Connect.cpp: * tao/UIOP_Factory.h: * tao/UIOP_Factory.cpp: * tao/UIOP_Profile.h: * tao/UIOP_Profile.i: * tao/UIOP_Profile.cpp: * tao/UIOP_Transport.h: * tao/UIOP_Transport.cpp: All the classes where change to propagate the GIOP version of the message and the profile used for each request. * orbsvcs/tests/Simple_Naming/client.cpp: Use CORBA::is_nil() to validate object references * orbsvcs/ImplRepo_Service/ImplRepo_i.h: * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp: Updated to use the new TAO IIOP_Profile constructor * utils/catior/catior.cpp: TAO moved to GIOP 1.1, but this test can only handle GIOP 1.0 * utils/nslist/nslist.cpp: * orbsvcs/orbsvcs/Sched/Config_Scheduler.cpp: Fixed use of String_var and managed types must passed using .in() to ACE_DEBUG() * orbsvcs/tests/Trading/Makefile: * examples/POA/Generic_Servant/Makefile: Define PSRC so the dependencies for the program files are also generated. Wed Jun 9 17:16:44 1999 Marina Spivak * orbsvcs/tests/Simple_Naming/run_test.pl: Made the output from print statements go to STDERR. Wed Jun 9 17:07:49 1999 Carlos O'Ryan * tests/NestedUpcall/Reactor/run_test.pl: Improved test output * examples/POA/Generic_Servant/Makefile: Updated dependencies Wed Jun 9 16:58:47 1999 Douglas C. Schmidt * orbsvcs/orbsvcs/Trader/Constraint_Visitors.cpp: Added the explicit template specialization macro, ACE_TEMPLATE_SPECIALIZATION, to make SunC++ 5.0 happy. Thanks to Carlos for explaining how to add this. Wed Jun 09 16:42:03 1999 David L. Levine * orbsvcs/orbsvcs/Sched/Config_Scheduler.cpp (compute_scheduling): changed type of anomaly_severity_msg from char * to const char *, to avoid warnings from Sun C++ 5.0 about string literal conversion. Thanks to Doug for reporting this. Also, removed and changed a few casts to ANSI-style casts. Wed Jun 9 16:26:55 1999 Jeff Parsons * tao/Any.cpp: Changed >>= (to_object) to reflect the change in CORBA 2.3 - namely that the caller is responsible for release of the result of this call. Thanks to Doug Anderson for pointing this out. Wed Jun 09 16:03:12 1999 Irfan Pyarali * examples/POA/Default_Servant/client.cpp * examples/POA/Forwarding/server.cpp * examples/POA/On_Demand_Activation/server.cpp * examples/POA/RootPOA/RootPOA.cpp * examples/POA/TIE/server.cpp: Simple clean up. Also fixed one memory leak. * tao/default_resource.cpp (init): -ORBReactorType handling and selection of Reactor was incorrect. Correct behavior is that "null" should select TAO_REACTOR_SELECT_ST and "token" should select TAO_REACTOR_SELECT_MT. Thanks to Phil Mesnier for reporting this bug. Wed Jun 9 13:43:18 1999 Douglas C. Schmidt * TAO_IDL/fe: Regenerated the y.tab.cpp file with the new BYACC so that we won't have any more annoying warnings about cons t correctness. * utils/nslist: Added a new utility program that prints out a nicely organized list of Naming Contexts in a Naming Service. Thanks to Thomas Lockhart for contributing this. * TAO_IDL/driver/drv_preproc.cpp (DRV_pre_proc): Fixed a bug that was preventing the IDL compiler from putting files in the current directory. Thanks to Byron Harris for reporting this. Tue Jun 08 21:13:36 1999 Irfan Pyarali * tao/IIOP_Profile.cpp (set): Removed the use of TAO_ORB_Core_instance() in this method. The use of this function was incorrect since each ORB has its own set of orb parameters and we should only look at our own ORB's parameters. * tao/IIOP_Profile: Removed extra and unused constructors (again). Also, added extra ORB Core argument to remaining constructors. * tao/IIOP_Profile.h (TAO_IIOP_Profile): * tao/IIOP_Connector.h (TAO_IIOP_Connector): * tao/IIOP_Acceptor.cpp (TAO_IIOP_Acceptor): Added orb core as data member. * tao/UIOP_Acceptor.cpp * tao/UIOP_Acceptor.h * tao/UIOP_Connector.cpp * tao/UIOP_Connector.h * tao/UIOP_Profile.cpp * tao/UIOP_Profile.h Made identical changes to the UIOP side as described above for IIOP. Note that currently we don't need an ORB Core in the UIOP Profile. However, changes were still made for the sake of consistency. * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp (activate_object): Added ORB Core parameter to IIOP Profile constructor. Tue Jun 8 20:32:39 1999 Douglas C. Schmidt * tao/ORB_Core.cpp (init): Fixed a minor bug in the processing of unknown -ORB arguments. Tue Jun 8 20:24:39 1999 Carlos O'Ryan * tao/ORB_Core.cpp: Fixed argument parsing, thanks to Nanbor for pointing this out. Tue Jun 8 20:19:15 1999 Matthew J Braun * tao/Principal.i * tao/Request.cpp,i: Fixed inline use before declaration problem. Tue Jun 8 19:48:01 1999 Jeff Parsons * TAO_IDL/ast/ast_module.cpp: Added TCKind to the CORBA:: scoped names added to the symbol table when module CORBA is first added to the scopes. I noticed that CORBA::TCKind is used as a return type in the forthcoming Dynamic Any spec and so it couldn't hurt to add IDL compiler recognition of it now. Tue Jun 8 18:57:00 1999 Balachandran Natarajan * examples/POA/Default_Servant/server.cpp * examples/POA/Default_Servant/client.cpp * examples/POA/Generic_Servant/MyFooServant.cpp * examples/POA/Identity/Identity.cpp * examples/POA/NewPOA/NewPOA.cpp * examples/POA/On_Demand_Activation/server.cpp * examples/POA/On_Demand_Loading/Servant_Manager.cpp * examples/POA/RootPOA/RootPOA.cpp * TIE/client.cpp * TIE/server.cpp: Made changes to the way exceptions were being handled. Some comments were added to make the printout from ACE_PRINT_EXCEPTION look meaningful. Tue Jun 08 18:50:00 1999 Kirthika Parameswaran * /orbsvcs/tests/AVStreams/benchmark/svc.conf * /orbsvcs/tests/AVStreams/benchmark/clnt.conf * /performance-tests/Thruput/TAO/svc.conf * /MT_Client/client.conf * /NestedUpcall/MT_Client_Test/client.conf * /orbsvcs/tests/ImplRepo/implrepo.conf * /orbsvcs/tests/Time/implrepo.conf Modified these files to remove redundant configuration options. * /orbsvcs/tests/AVStreams/mpeg/source/client/svc.conf * /orbsvcs/tests/AVStreams/mpeg/source/server/svc.conf * /orbsvcs/tests/ImplRepo/svc.conf * /tests/Param_Test/svc.conf * /examples/POA/On_Demand_Loading/svc.conf * /examples/Simulator/DOVEMIB/svc.conf * /examples/Simulator/Event_Supplier/svc.conf * /MT_Client/client.global.conf Removed the *.conf files above since they contained only redundant options. * /orbsvcs/Event_Service/svc.conf * /orbsvcs/tests/Event/Basic/svc.conf * /orbsvcs/tests/EC_Mcast/svc.conf * /orbsvcs/CosEvent_Service/svc.conf * /tests/FL_Cube/svc.conf * /tests/NestedUpcall/Reactor/svc.conf * /examples/Simple/time-date/svc.conf * /examples/POA/Identity/svc.conf * /performance-tests/Cubit/TAO/IDL_Cubit/collocation/svc.conf * /performance-tests/Cubit/TAO/IDL_Cubit/svc.conf * /performance-tests/Cubit/TAO/MT_Cubit/svc.conf * /performance-tests/POA/Object_Creation_And_Registration/svc.conf * /POA/Explicit_Activation/alternate.conf * /Quoter/client.conf * /Quoter/server.conf * /MT_Client/client.tss.conf * /MT_Client/server.conf * /NestedUpcall/Reactor/svc.mt.conf * /orbsvcs/tests/Event/Basic/sched.conf * /orbsvcs/tests/Event/Basic/observer.conf * /orbsvcs/tests/Event/Performance/ec.mt.conf * /orbsvcs/tests/Event/Performance/ec.st.conf * /orbsvcs/tests/EC_Throughput/ec.conf * /orbsvcs/tests/EC_Throughput/ec.mt.conf Retained the *.conf files above as they were originally. Thanks to Irfan, Nanbor, Naga, Carlos, David of the DOC group for helping me with this. Tue Jun 08 18:17:38 1999 Irfan Pyarali * tao/POA.cpp (find_POA): Must release the Object Adapter lock before calling the Adapter Activators which may call back into the POA (create_POA) causing a deadlock. Thanks to Carlos for pointing this out. * performance-tests/POA/Object_Creation_And_Registration/svc.conf: Changed ORBTableSize to ORBActiveObjectMapSize. Also, removed POA lock null option. Tue Jun 8 17:12:24 1999 Vishal Kachroo Made the ORB_var to be after all other _var member variables. * /orbsvcs/Time_Service/Clerk_i.h * /orbsvcs/Time_Service/Server_i.h * /orbsvcs/Time_Service/IR_Helper.h * /orbsvcs/tests/Time/Client_i.h * docs/Options.html : Updated the -ORBInitRef to include the filetype IOR. Tue Jun 08 16:10:09 1999 David L. Levine * tao/corbafwd.h: fixed comments that describe the minor code format. Tue Jun 8 16:06:15 1999 Pradeep Gore * examples/Event_Comm/Consumer_Handler.h: * examples/Event_Comm/Notifier_Handler.h: * examples/Simple/chat/Client_i.h: * orbsvcs/CosEvent_Service/CosEvent_Service.h: Reordered the CORBA::ORB_var declaration in these files so that the ORB_var is destroyed after all the other "_var" members. Tue Jun 08 15:47:25 1999 Nanbor Wang * tao/Object.i: * tao/Typecode.i: * tao/ORB.i: Moved is_nil and release around to avoid inline functions being used before declared inlined warnings. Thanks to David for pointing this out. Tue Jun 8 15:53:54 1999 Douglas C. Schmidt * orbsvcs/LifeCycle_Service/Criteria_Evaluator.cpp (getCriteriaMember): Fixed a const-correctness problem. Thanks to Michael Kircher for this. * Fixed the capitalization of all options in TAO's svc.conf files. * tao/ORB_Core.cpp, tao/default_resource.cpp, tao/default_server.cpp, tao/default_client.cpp: Fixed the parsing of options so that they are case insensitive, e.g., "-ORBsvcconf" is the same as "-ORBSvcConf". This allows us to use more intuitive "intercap" spelling in the documentation without breaking existing software. * tao/ORB_Core.cpp (init): If an non "-ORB" argument is given to ORB_init() we now print a warning message (if the TAO_debug_level > 0) and "consume" the argument. This is in accordance with the CORBA spec. Tue Jun 8 15:38:01 1999 Alexander Babu Arulanthu * docs/Options.html: * tao/default_client.cpp (create_transport_mux_strategy): Renamed the ORBtransportmuxstrategy to ORBRequestMuxStrategy. Tue Jun 08 15:12:05 1999 Irfan Pyarali * examples/POA/Loader/Servant_Activator.cpp (ServantActivator_i): Fixed "ANSI C++ forbids casting between pointers to functions and objects" warning. Thanks to David for pointing this out. Tue Jun 8 15:15:09 1999 Jeff Parsons * TAO/tests/Param_Test/param_test_i.h: * TAO/tests/Param_Test/param_test_i.cpp: * TAO/tests/NestedUpcall/MT_Client_Test/client.h: Moved class member ORB_var orb_ up the list so it will get destroyed after other _vars. * tao/DynArray_i.h: * tao/DynArray_i.cpp: * tao/DynSequence_i.h: * tao/DynSequence_i.cpp: * tao/DynStruct_i.h: * tao/DynStruct_i.cpp: * tao/DynUnion_i.h: * tao/DynUnion_i.cpp: Renamed member 'index_' as 'current_index_' just to be safe. * TAO_IDL/be/be_visitor_root/root.cpp: Added missing case to function visit_constant(). Thanks to Sridevi Subramanian for pointing out this problem. Tue Jun 8 15:09:35 1999 Kirthika Parameswaran * examples/Callback_Quoter/Consumer_i.h (class Consumer): * examples/Callback_Quoter/Consumer_Handler.h (class Consumer_Handler): * examples/Callback_Quoter/Supplier_i.h (class Supplier): Moved the CORBA::ORB_var before the other vars in the member declaration so that it gets destructed last. Tue Jun 8 15:03:02 1999 Alexander Babu Arulanthu * orbsvcs/tests/Property/client.h: * orbsvcs/tests/Property/client.cpp: Fixed the SunCC5.0 warnings. Tue Jun 08 13:36:36 1999 Nanbor Wang * tao/Stub.{h,i} (servant_orb): Added data member servant_orb_ and its accessor and mutator. This ORB_var stores the pointer of a collocated servant and is used to locate/query the servant/POA. Mon Jun 07 15:47:02 1999 Nanbor Wang * docs/Options.html: Documented ORB options -ORBglobalcollocation and -ORBcollocationStrategy. * tao/ORB_Core.{h,i,cpp}: Removed accessor/mutator using_collocation methods. They have been replaced by optimize_collocation_objects. Added enum definition for collocation_strategy and get_collocation_strategy which is an accessor for ORB's collocation strategy. TAO will support two strategies THRU_POA and DIRECT which should be self-explaining. The default strategy will be THRU_POA because it is considered the safe thing to do. Veteran users might consider using DIRECT collocation strategy if situation allows. A third strategy "ORB_CONTROL" is the default value passed to Servant_Base::_create_collocated_objref. This makes all servant to query the ORB to decide which collocation strategy to use. But we can also provide per-object collocation strategy in a later point of time. (init): Added a new option -ORBcollocationstrategy which takes two possible values "thru_poa" and "direct". The defualt is, of course, "thru_poa". * tao/Servant_Base.{h,cpp} (_create_collocated_objref): Added a factory method to strategize what collocated object implementation we want to use and also to decouple the stubs and skeletons code. * tao/Exception.h: Reordered class member functions to put all TAO extensions at the end of the public section of each class. Added more comments. * tao/Exception.{h,cpp} (_tao_print_exception): Renamed to _tao_print_exception to avoid clashing with user defined methods. (_tao_print_system_exception): Renamed to _tao_print_system_exception to avoid name clashing. (_tao_minor_code,_tao_errno): Rename and to _tao_minor_code and _tao_errno to avoid name clashing. Changed several uses of "new" to ACE_NEW_THROW_EX. * tao/POA.cpp: * tao/Invocation.cpp: * tao/GIOP.cpp: Changed the use of minor_code_tao_ to _tao_minor_code. * tao/TAO.{h,cpp}: * tao/GIOP_Server_Request.cpp (marshal): Changed to use ACE_TRY macros and made sure the code is exception safe. * tao/orbconf.h (TAO_NAMESPACE_INLINE_FUNCTION): Inline function within a namespace must be treated differently. On most platform, using TAO_NAMESPACE_STORAGE_CLASS would work for functions within a namespace. However, since the macro uses TAO_Export, which totally confuses MSVC to think that the symbols for these functions are to be exported while in fact, they are only inline functions and do not need any entry point at all. The newly added macro (TAO_NAMESPACE_INLINE_FUNCTION) separates out this situation and simply uses the "inline" keyword. * tao/Marshal.h: Added #include "tao/Principal.h" because Marshal.i uses inline functions in Principal.i. * tao/Context.{i,cpp}: * tao/Environment.{i,cpp}: * tao/NVList.{i,cpp}: * tao/ORB.{i,cpp}: * tao/Object.{i,cpp}: * tao/Principal.{i,cpp}: * tao/ValueBase.{i,cpp}: * tao/Request.{i,cpp}: * tao/Server_Request.{i,cpp}: * tao/Typecode.{i,cpp}: * tao/corbafwd.{i,cpp}: Re-inlined string_alloc, string_free, is_nil and release methods. Tue Jun 08 14:39:55 1999 David L. Levine * tao/corbafwd.h,Exception.cpp: added minor code support for ENOENT, EBADF, EPERM, and EAFNOSUPPORT errno values. Tue Jun 08 14:15:52 1999 David L. Levine * TAO version 0.3.24 released. Tue Jun 08 10:00:12 1999 David L. Levine * examples/Simple/time-date/Makefile: added some Time_Date* files to FILES and LDLIBS to LIBS, to enable creation of the shlib without warnings on DU 5.0. Tue Jun 08 09:42:20 1999 David L. Levine * orbsvcs/tests/Simple_Naming/client.cpp (execute): added .ptr () derference of orb_ before comparing it to 0. Tue Jun 08 00:15:44 1999 Irfan Pyarali * examples/POA/Loader/Servant_Activator.cpp (ServantActivator_i): * examples/POA/On_Demand_Loading/Servant_Manager.cpp (obtain_servant): Fixed void* to function pointer cast. Tue Jun 8 00:19:02 1999 Fred Kuhns * Files modified: Acceptor_Registry.cpp, Acceptor_Registry.h, Connector_Registry.cpp, Connector_Registry.h, IIOP_Acceptor.cpp, IIOP_Connector.cpp, IIOP_Connector.h, IIOP_Profile.cpp, IIOP_Profile.h, IIOP_Profile.i, Invocation.cpp, ORB.cpp, ORB_Core.cpp, Object.cpp, Pluggable.cpp, Pluggable.h, UIOP_Acceptor.cpp, UIOP_Connector.cpp, UIOP_Profile.cpp, UIOP_Profile.h, UIOP_Profile.i, UIOP_Transport.h * Changed the interface to Connector_Registry. Altered connect() method to accept profiles rather than a Stub Object pointer. * tao/Acceptor_Registry: comments updates * tao/IIOP_Acceptor: Comments and fixed is_collocated to use the cached copy of the local address. * tao/IIOP_Connector: comments and fixed use of profile->addr_to_string * tao/IIOP_Profile: Comments, changes add_to_string to accept a buffer. changed _key () to be _key (void), removed use of body_ (CDR stream). * tao/Invocation: comments and fixed use of connector_registry->connect () * tao/ORB.cpp: comments and fixed use of profile->_key () to not include ENV. * tao/ORB_Core: comments * tao/Pluggable: comments and fixed TAO_XX_Profile::addr_to_string () to include a buffer, alsoc TAO_XX_Profile::_key () to not include ENV. * tao/UIOP_{Acceptor,Connector,Profile,Transport}: comments and also UIOP_Profile::_key() and UIOP_Profile::addr_to_string. Tue Jun 8 00:09:10 1999 Carlos O'Ryan * tests/MT_Client/run_test.pl: The test driver works more reliably now. * tests/NestedUpcall/Reactor/client.h: * tests/NestedUpcall/Reactor/mt_client.h: Fixed ORB vs. servants order Mon Jun 07 23:39:40 1999 Irfan Pyarali * tao/Object_Adapter.cpp (Servant_Upcall): The code in the destructor of POA Current must be run before the Object Adapter lock is released. With the reorganization Nanbor and I did, this was no longer true. Therefore, the solution was to move the code from the destructor to a teardown() method which is run before the Object Adapter lock is released. * tao/IIOP_Connect: Removed the following extra and unused functions: - TAO_IIOP_Server_Connection_Handler::handle_message - TAO_IIOP_Server_Connection_Handler::handle_locate - TAO_UIOP_Server_Connection_Handler::handle_message - TAO_UIOP_Server_Connection_Handler::handle_locate * tao/GIOP: Moved the exception handling code from process_server_message() to process_server_request() and process_server_locate(). This was necessary since the two handle exceptions in different ways: process_server_request() propogates to the client in a GIOP::Reply while process_server_locate() propogates to the client in a GIOP::LocateReply. BTW, the credit/blame for this goes to Carlos. * examples/POA/Forwarding/client.cpp (main): Fixed exception handling. * examples/POA/Forwarding/Servant_Locator.cpp (preinvoke): The forwarding location must be specified when constructing the ForwardRequest. * examples/POA/FindPOA/FindPOA.cpp (main): POA Manager must be activated before use. * tao/TAO.h (TAO_ORB_Manager): Added POA Manager accessor. * orbsvcs/ImplRepo_Service/ImplRepo_i.h (AdapterActivator): * tao/POA.cpp (TAO_Adapter_Activator::unknown_adapter): Held on to the POA Manager. If we don't, we'll have to create a new one and then we'll have to worry about its state (remember that POA Managers are created in holding state). * orbsvcs/ImplRepo_Service/ImplRepo_i: * orbsvcs/tests/ImplRepo/airplane_server_i.cpp: Fixed improper use of return values from the ORB Manager. Since the ORB Manager duplicates the data members before returning them, we must store them in vars. * orbsvcs/tests/ImplRepo/IR_Helper.cpp (IR_Helper): Since the POA and ORB are kept as vars, we must duplicate them since keep them around in the constructor. Mon Jun 7 23:49:51 1999 Carlos O'Ryan * orbsvcs/examples/CosEC/Factory/CosEventChannelFactory_i.cpp: * orbsvcs/examples/CosEC/Factory/FactoryClient.cpp: Fixed problems with conversion from T_var to T_ptr for g++ 2.7.X * orbsvcs/tests/Event/Basic/Observer.cpp: * orbsvcs/tests/Event/Performance/Connect.cpp: * orbsvcs/tests/Event/Performance/Throughput.cpp: More T_var to T_ptr problems and a few unused variables. Mon Jun 7 21:57:29 1999 Carlos O'Ryan * tao/append.cpp: * tao/skip.cpp: The marshaling and demarshaling code for object references inside anys was broken, it only handled IIOP profiles and used chars where octets where needed. * tao/UIOP_Profile.cpp: Improve debugging messages and handle errors more gracefully. * tests/Param_Test/Makefile: * tests/Param_Test/server.cpp: Minor cosmetic fixes Mon Jun 7 20:37:27 1999 Carlos O'Ryan * orbsvcs/tests/Simple_Naming/client.h: * orbsvcs/tests/Simple_Naming/client.cpp: The ORB was being leaked: the TAO_ORB_Manager::orb() method returns a duplicate and that was not getting released in both the MT_Test constructor invocation and in the naming_client.init() call. * tao/ORB.cpp: The naming service and other object references should be release *before* releasing the ORB core. * tao/ORB_Core.cpp: Made the use of ACE_CString in the ORB_Table explicit, so we understand what is going on. Mon Jun 7 16:13:31 1999 Carlos O'Ryan * tao/Exception.h: * tao/Exception.cpp: * tao/Invocation.cpp: The system exceptions were not being demarshaled on the server side. Fixed the signature of TAO_Exceptions::create_system_exception, it was returning a CORBA::Exception* but a CORBA::SystemException* was better. * tao/IIOP_Acceptor.cpp: * tao/IIOP_Connector.cpp: Added a few debugging messages if there is an error. * performance-tests/Cubit/TAO/MT_Cubit/cubit_i.h: * performance-tests/Cubit/TAO/MT_Cubit/cubit_i.cpp: * performance-tests/Cubit/TAO/MT_Cubit/Cubit_Task.cpp: * performance-tests/Cubit/TAO/MT_Cubit/Task_Client.cpp: The Cubit_i objects were activated with the _default_POA(), but that was not overriden, hence they were using the default/_default_POA which is the RootPOA of the default ORB. There was also an activation under a child POA but that was not exported through the IORs printed to the file. Mon Jun 07 15:14:47 1999 David L. Levine * utils/catior/catior.cpp (cat_iiop_profile): added missing read of port_number from the str. * utils/catior/README: updated to mention that there's now a test subdirectory containing samples, instead of just a single sample file. Mon Jun 7 12:39:14 1999 Douglas C. Schmidt * examples/Simple: Fixed const-correctness problems with all the simple examples. Mon Jun 07 11:51:52 1999 David L. Levine * performance-tests/Cubit/TAO/MT_Cubit/Task_Client.cpp (svc,cube_octet,do_test): added timestamps and an errno printout, for debugging purposes. The errno printout should be removed later. Mon Jun 07 10:43:12 1999 Irfan Pyarali * tao/default_resource.cpp (TAO_Allocated_Resources): Moved the destruction of the Reactor before the destruction of the allocators. The handlers deleted when the Reactors die access these allocators. Thanks to Carlos for helping with this. Mon Jun 7 01:11:06 1999 Douglas C. Schmidt * examples/POA/DSI/client.cpp (main): Corrected an overly aggresive removal of "const char *". Thanks to David for reporting this. * orbsvcs/orbsvcs/Naming/Naming_Context.h: Added default CORBA::Environment & = TAO_default_environment() calls. Thanks to Frank Buschmann for reporting this. * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.h, orbsvcs/orbsvcs/Event/EC_Event_Channel.h: Added default CORBA::Environment & = TAO_default_environment() calls. Thanks to J. Russell Noseworthy for catching this. Sun Jun 06 23:17:05 1999 Irfan Pyarali * tao/POAC: Changed back to . We can't rename this since it is specified in the CORBA spec. Please let us know if this breaks anything on compilers like MVS C++ and we'll figure out another workaround. * tao/GIOP.cpp (process_server_locate): Initialized to TAO_GIOP_UNKNOWN_OBJECT. This is a safe initial value and will prevent the "might be used uninitialized in this function" warning. * orbsvcs/orbsvcs/Naming/Naming_Utils.cpp (init): Fixed the method such that when we are not looking for an existing Naming Service and we are simply become one, we don't print extra erroneous debug messages. Thanks to Gul Onural for pointing this out. Sun Jun 6 22:09:39 1999 Carlos O'Ryan * orbsvcs/orbsvcs/AV/sfp.cpp: * orbsvcs/orbsvcs/Trader/Trader.cpp: Fixed duplicate template instantiations, IRIX does not like that. Sun Jun 06 21:42:46 1999 Carlos O'Ryan * orbsvcs/orbsvcs/orbsvcs.dsp: * orbsvcs/orbsvcs/orbsvcs_static.dsp: A couple of .idl file where not re-compiled when the DIL compiler changed, fixed the dependencies. Sun Jun 6 20:25:31 1999 Carlos O'Ryan * TAO_IDL/ast/ast_decl.cpp: * TAO_IDL/ast/ast_expression.cpp: * TAO_IDL/ast/ast_generator.cpp: * TAO_IDL/ast/ast_operation.cpp: * TAO_IDL/be/be_codegen.cpp: * TAO_IDL/be/be_expression.cpp: * TAO_IDL/be/be_generator.cpp: * TAO_IDL/be_include/be_expression.h: * TAO_IDL/be_include/be_generator.h: * TAO_IDL/driver/drv_preproc.cpp: * TAO_IDL/fe/idl.ll: * TAO_IDL/fe/idl.yy: * TAO_IDL/fe/lex.yy.cpp: * TAO_IDL/fe/y.tab.cpp: * TAO_IDL/fe/y.tab.h: * TAO_IDL/include/ast_decl.h: * TAO_IDL/include/ast_expression.h: * TAO_IDL/include/ast_generator.h: * TAO_IDL/include/idl_global.h: * TAO_IDL/include/utl_error.h: * TAO_IDL/include/utl_string.h: * TAO_IDL/include/utl_strlist.h: * TAO_IDL/util/utl_error.cpp: * TAO_IDL/util/utl_global.cpp: * TAO_IDL/util/utl_string.cpp: * TAO_IDL/util/utl_strlist.cpp: Obliterated any references to 'String' this was just a macro that expanded to the UTL_String class, but was an endless sort of confusion with just a typedef for 'char*' Also cleaned up the use of UTL_Strings in the idl_global interface. This seems to have put the IDL compiler into usable state again. Sun Jun 6 18:55:00 1999 Carlos O'Ryan * TAO_IDL/util/utl_global.cpp: Fixed several memory managment problems Sun Jun 6 18:04:05 1999 Carlos O'Ryan * TAO_IDL/include/drv_extern.h: * TAO_IDL/driver/drv_preproc.cpp: More constness fixes Sun Jun 6 17:42:41 1999 Carlos O'Ryan * TAO_IDL/tao_idl.cpp: Fixed DRV_drive() it is taking a const char* now Sun Jun 6 15:14:13 1999 Douglas C. Schmidt * TAO_IDL/fe/keywords.dat: The type of keyword_ in TAO_IDL_CPP_Keyword_Entry should be const char *. * TAO_IDL: Fixed zillions of improper uses of non-const char *'s that were reported by the new SunC++ 5.0 compiler. Everything should be "const-correct" now. BTW, whoever wrote the Sun IDL compiler clearly didn't understand the C++ const rules... Sun Jun 6 17:08:57 1999 Carlos O'Ryan * tao/GIOP.cpp: More @@ comments addressed. Sun Jun 6 16:14:50 1999 Jeff Parsons * TAO/performance-tests/Pluggable/PP_Test_Client.h: * TAO/performance-tests/Pluggable/PP_Test_Client.cpp: Moved member CORBA::ORB_var orb_ ahead of the other _vars in the declaration/initialization order. Sun Jun 6 15:41:51 1999 Jeff Parsons * tao/Any.h: Added comment for Any_var operator= (CORBA::Any_var). * tao/Any.cpp: Added checks for failure of memory allocation at several places in the insertion and extraction operators. * tao/Context.h: Added comment to some member functions. * tao/Stub.h: Cosmetic changes. Sun Jun 6 14:07:24 1999 Jeff Parsons * TAO/tests/DynAny_Test/data.h: * TAO/tests/DynAny_Test/data.cpp: * TAO/tests/DynAny_Test/driver.h: * TAO/tests/DynAny_Test/test_dynany.h: * TAO/tests/DynAny_Test/test_dynany.cpp: * TAO/tests/DynAny_Test/test_dynarray.h: * TAO/tests/DynAny_Test/test_dynarray.cpp: * TAO/tests/DynAny_Test/test_dynenum.h: * TAO/tests/DynAny_Test/test_dynenum.cpp: * TAO/tests/DynAny_Test/test_dynsequence.h: * TAO/tests/DynAny_Test/test_dynsequence.cpp: * TAO/tests/DynAny_Test/test_dynstruct.h: * TAO/tests/DynAny_Test/test_dynstruct.cpp: * TAO/tests/DynAny_Test/test_dynunion.h: * TAO/tests/DynAny_Test/test_dynunion.cpp: * TAO/tests/DynAny_Test/test_wrapper.h: * TAO/tests/DynAny_Test/test_wrapper.cpp: Made CORBA::ORB_var the first private member (declared and initialized) of any class where it appears, and also other cosmetic changes. Sun Jun 6 14:04:43 1999 Carlos O'Ryan * tao/Acceptor_Impl.h: * tao/Environment.cpp: * tao/GIOP.cpp: * tao/Wait_Strategy.cpp: * tao/GIOP.cpp: Addesses the @@ Carlos comments. * tao/IOP.pidl: Completed the IOP module definition Sun Jun 6 13:32:25 1999 Douglas C. Schmidt * tao/GIOP.cpp: Fixed a typo in read_header. Thanks to Jeff for reporting this. * tao/GIOP.cpp (process_server_message): Fixed what appeared to be an unbalanced '}' in the TAO_HAS_EXCEPTIONS block. Sun Jun 06 12:54:57 1999 David L. Levine * orbsvcs/orbsvcs/Trader/Trader.cpp: added ACE_Equal_To explicit instantiation, because g++ on LynxOS 3.0.0 needs it. Sun Jun 6 11:51:00 1999 Douglas C. Schmidt * tao: Continued to make a huge pass through the code to ensure that TAO conforms to the ACE programming guidelines. Sun Jun 06 11:44:56 1999 David L. Levine * tao/Messaging_Policy_i.i (TAO_RelativeRoundtripTimeoutPolicy_i): dereferenced rhs.poa_ with .in () to please old g++. Sun Jun 06 09:08:48 1999 David L. Levine * PROBLEM-REPORT-FORM: added requests to not send as attachment, or tar'red, compressed, and/or uuencoded, or with line lengths >= 80 characters. Sun Jun 06 08:19:55 1999 David L. Levine * performance-tests/Cubit/TAO/MT_Cubit/MT_Cubit_Test: remove old IOR file, if any, before starting the server. Sun Jun 6 02:14:25 1999 Nagarajan Surendran * orbsvcs/orbsvcs/AV/sfp.cpp: Fixed a few missing template instantiations spotted by Sun CC 5.0. Thanks to Carlos for reporting them. Sat Jun 5 23:48:23 1999 Douglas C. Schmidt * tao: Replaced all uses of "index" with "slot" since "index" is defined as a macro by some broken C++ compilers... Sun Jun 6 00:23:19 1999 Carlos O'Ryan * orbsvcs/orbsvcs/AV/sfp.cpp: Added missing template instantiations Sun Jun 6 00:06:26 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Sched/Scheduler.h: * orbsvcs/orbsvcs/Sched/Scheduler.cpp: * orbsvcs/orbsvcs/Sched/DynSched.h: * orbsvcs/orbsvcs/Sched/DynSched.cpp: Replaced "export" with "export_to_file", the first one is a keyword in ANSI/C++ Sat Jun 5 23:06:01 1999 Carlos O'Ryan * Sun/CC 5.0 works with TAO now! Partly because we don't use the same templates than before and partly because we found work arounds the other SunC++ compiler bugs, e.g., incorrect code generation for certain types of default constructors. * tao/Object_Adapter.h: * tao/Object_Adapter.i: * tao/Policy_Manager.h: * tao/Policy_Manager.i: Sun/CC was generating buggy code for the compiler-generated default constructor of TAO_Policy_Current, TAO_POA_Current, added explicit default constructors and now it is happy. * tao/Messaging_Policy_i.h: * tao/Messaging_Policy_i.i: The compiler-generated copy constructor was not working, added an explicit one and now things are happy. * tao/DynUnion_i.cpp: * tao/Sequence.h: Added the ACE_TEMPLATE_SPECIALIZATION macro * tao/Operation_Table.h: Made the opname_ field a "const char*" instead of just "char*" to avoid warnings because we assign string literals to that field. * tao/debug.cpp: * tao/debug.h: Removed unused variable * tao/CDR_Interpreter.cpp: * tao/DynAnyC.h: * tao/GIOP.h: * tao/ObjectIDList.h: * tao/PolicyC.h: * tao/Request.h: * tao/Services.h: * tao/Stub.cpp: * tao/corba.h: Include "Sequence_T.h" directly from Sequence.h, is the ACE way and it is easier to use. Sat Jun 5 20:09:51 1999 Carlos O'Ryan * tao/ORB_Core.cpp: Removed unused variable * tao/GIOP.cpp: Changed ACE_THROW for ACE_TRY_THROW, we want the exception catched in the enclosing TRY/CATCH clause. * examples/OBV/Simple_util.h: * orbsvcs/examples/CosEC/Factory/FactoryDriver.h: Fixed order of declaration between ORB_var and other objects, the ORB must be the last object destroyed. Sat Jun 05 19:00:18 1999 David L. Levine * tao/corbafwd.h: changed value of TAO_UNKNOWN_MINOR_CODE from 0xFF to 0xF because it's only 4 bits wide. Sat Jun 5 18:04:00 1999 Carlos O'Ryan * tao/PollableS_T.i: Removed more calls to TAO_ORB_Core_instance() Sat Jun 5 17:49:08 1999 Carlos O'Ryan * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Client.h: * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Client.cpp: Fixed problem on shutdown: some objects where still around even though the ORB was destroyed. Sat Jun 5 16:46:16 1999 Nanbor Wang * tao/Object_Adapter.cpp (~Servant_Upcall): Added missing case INITIAL_STAGE to keep compiler happy although it is not used anywhere. Sat Jun 05 16:23:12 1999 David L. Levine * tao/corbafwd.h,Exception.cpp: added TAO_EPIPE_MINOR_CODE, TAO_ECONNREFUSED_MINOR_CODE, and TAO_UNSPECIFIED_MINOR_CODE, and TAO_INVOCATION_RECV_REQUEST_MINOR_CODE. * tao/Invocation.cpp (invoke_i): set TAO_INVOCATION_RECV_REQUEST_MINOR_CODE if proper reply is not received. Sat Jun 5 15:27:24 1999 Alexander Babu Arulanthu * tao/ORB_Core.cpp: Put an ACE_UNUSED_ARG around at Line 1069 to remove warning in Linux egcs. Sat Jun 5 12:58:00 1999 Carlos O'Ryan * tao/CDR.h: * tao/GIOP.cpp: * tao/GIOP.h: * tao/IIOP_Connect.cpp: * tao/IIOP_Connect.h: * tao/IIOP_Transport.cpp: * tao/UIOP_Connect.cpp: * tao/UIOP_Connect.h: * tao/UIOP_Transport.cpp: Removed several memory allocations from the critical path, they were introduced in the flurry of changes to support asynch messaging and pluggable protocols. * tao/MessagingS_T.cpp: * tao/DomainS_T.i: Removed several uses of TAO_ORB_Core_instance() Sat Jun 05 06:15:00 1999 Chris Gill * orbsvcs/orbsvcs/Sched/Reconfig_Scheduler.cpp orbsvcs/orbsvcs/RtecScheduler.idl: added locking guards to public methods, refactored some of them to allow sharing of lock-less private methods between public methods, added SYNCHRONIZATION_FAILURE user exception to module RtecScheduler. Sat Jun 5 03:54:27 1999 Nanbor Wang * tao/Object_Adapter.{h,i,cpp}: Extracted the steps needed to making an upcall from dispatch_servant and dispatch_servant_i into a new class Servant_Upcall. For collocated operation invocation to be "safe," we need to query the POA for every invocation, locate the servant, create and setup the POA_Current object, bump up the servant reference count, and make sure the upcall conform with POA's threading policy. The Servant_Upcall class gathers the information needed to make an upcall and makes sure all the locks are held/release at appropriate time. With this class, we can change how an upcall is actually made without repeatedly puting these logic everywhere. The new dispatch_servant now uses the class. dispatch_servant_i is no longer needed. Also gone are Single_Threaded_POA_Lock and Outstanding_Request because they are only used in the original dispatch_servant_i. The Servant_Upcall class'es implementation is exception safe regardless a platform supports native C++ exception or not. With this class, we can fix the collocated object's behave so that they obey the POA's state and policies without bloating the generated code. * tao/POA.{h,i,cpp}: Moved TAO_POA_Current_Impl to Object_Adapter.* to avoid circular dependency. Fri Jun 4 23:48:41 1999 Carlos O'Ryan * tao/ORB_Core.h: * tao/ORB_Core.i: * tao/ORB_Core.cpp: The ORB core holds Codeset translators between the native char and ISO88659 and between the native wchar codeset and UNICODE. This is not a complete implementation but should be enough to get platforms that do not have ISO8859 as their native set working (such as MVS). Many thanks to Jim Rogers for his cooperation on this task. The acceptor registry is initialized on demand, not on the class construction. Removed methods to set the protocol factories, acceptor registry and connector registry, this objects do not change after initialization. * tao/GIOP.cpp: * tao/ORB.cpp: * tao/Invocation.cpp: The OutputCDR are initialized with the right codeset translators. * tao/Exception.h: * tao/Exception.cpp: On MVS generate the typecodes using the translator to ISO8859, that way the buffers are all in that codeset (including the hardcoded buffers in the Typecode_Constants.cpp file). Many thanks to Jim Rogers for his cooperation on this task. * tao/CDR.h: * tao/CDR.i: * tao/CDR.cpp: Added support for code set translators, they are either provided as a parameter (for the OutputCDR streams) or obtained from the ORB_Core. Needs some cleanup, but the basics are there. * tao/Typecode_Constants.cpp: Re-generated the typecodes for CORBA::Object, CORBA::TypeCode::BadKind and CORBA::TypeCode::Bounds. I used the IDL compiler this time to obtain a consistent and platform independent mapping. * tao/Transport_Mux_Strategy.h: * tao/Transport_Mux_Strategy.cpp: Removed uneeded lock * tao/Wait_Strategy.h: Removed uneeded #include * tao/IIOP_Profile.cpp: * tao/UIOP_Profile.cpp: Removed unused statement * tao/default_resource.h: The acceptor registry and connector registry instances where left in the class by accident. * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Client.h: * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Client.cpp: * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_i.cpp: Some improvements to the propagation of exceptions, but it needs a major rework. * tao/Object_Adapter.cpp: The compiler (egcs) was complaining about a switch() over an enum but not using all the values, the code was OK, because not all the values are reached. added a default case to shut it up. Fri Jun 04 19:47:30 1999 Irfan Pyarali * tao/ORB_Core.cpp * tao/ORB_Core.h * tao/ORB_Core.i * tao/Resource_Factory.cpp * tao/Resource_Factory.h * tao/default_resource.cpp * tao/default_resource.h The following changes are related to the rearchitecture of resource management inside the ORB: - Moved the object adapter, root POA, and the thread manager from the default resources to the ORB Core. - Removed the root POA and thread manager set methods. Fri Jun 4 18:57:02 1999 Jeff Parsons * TAO_IDL/be/be_visitor_array/cdr_op_ci.cpp: Removed incorrect error output from a couple of default switch cases. Thanks to Robert Flanders for pointing out the problem and to Carlos for his help with the fix. Fri Jun 04 17:30:00 1999 Chris Gill * orbsvcs/orbsvcs/Sched/Reconfig_Scheduler.{cpp, h}: completed most of the reconfigurable scheduler implementation. * performance-tests/Cubit/TAO/IDL_Cubit/client.dsp performance-tests/Cubit/TAO/IDL_Cubit/collocation_test.dsp performance-tests/Cubit/TAO/IDL_Cubit/server.dsp: added relative paths to projects. Fri Jun 04 16:11:30 1999 Nanbor Wang * tao/Context.{i,cpp}: * tao/Environment.{i,cpp}: * tao/NVList.{i,cpp}: * tao/ORB.{i,cpp}: * tao/Object.{i,cpp}: * tao/Principal.{i,cpp}: * tao/ValueBase.{i,cpp}: * tao/Request.{i,cpp}: * tao/Server_Request.{i,cpp}: * tao/Typecode.{i,cpp}: * tao/corbafwd.{i,cpp}: Unlined a bunch of methods in CORBA namespace to avoid duplicate definitions on platforms with namespace support. Fri Jun 04 15:25:38 1999 Irfan Pyarali * TAO_IDL/be/be_visitor_interface/tie_si.cpp (visit_interface): Fixed the generated code for _default_POA() for the tie classes. If is nil, simply delegate to the base class. Thanks to Carlos for helping with this. Fri Jun 4 14:40:48 1999 Carlos O'Ryan * tao/ORB.cpp: * tao/ORB_Core.cpp: Added debugging messages to keep track of ORB creation and destruction (only at debug level >= 3) The ORB_Table singleton will destroy all ORBs that are still on the table at process shutdown. The TAO_ORB_Core_instance() will return the first ORB on the ORB table, only if the table is empty it will create one. * tests/Param_Test/server.h: * tests/Param_Test/param_test_i.h: * tests/Param_Test/param_test_i.cpp: It was using ORB_Core_instance() to shutdown the ORB, we keep an ORB pointer around to do the right thing. * utils/catior/catior.cpp: Added support for TAO's Unix domain sockets. Fri Jun 4 13:35:29 1999 Jeff Parsons * TAO/performance-tests/Cubit/TAO/DII_Cubit/client.cpp: Finally was able to remove the last use of CORBA_Any::replace() to set the return value of the request to get the Cubit object from the factory. We are now using the preferred 'req->return_value() >>=' construction. Fri Jun 4 13:04:45 1999 Jeff Parsons * TAO_IDL/util/utl_global.cpp: Since the one 'official' IDL file that gave us problems has been fixed, the default behavior of the IDL compiler for case-only spelling differences in identifiers sharing the same scope has been reverted to error output, as the spec requires. Fri Jun 4 12:01:34 1999 Vishal Kachroo * tao/GIOP.cpp (process_server_locate): Added the INS functionality for lookup of "simple" object keys when the incoming request is a GIOP LocateRequest message. This was previously possible only for GIOP Request messages. Fri Jun 04 11:37:33 1999 Irfan Pyarali * examples/Simple/Simple_util (class Client): Reordered the ORB and the var instance declaration in the header file. Previously, the ORB was getting destroyed before the var was destroyed. This was causing a free memory read when the var was cleaned up. By reordering, the ORB gets destroyed after the var, and hence there is no problem anymore. Thanks to Shaun Ohagan for pointing out this problem. Also, fixed the options parsing with respect to reporting problems and helping the user (-? option was changed to -h). Fri Jun 4 11:03:05 1999 Jeff Parsons * TAO/performance-tests/Cubit/TAO/DII_Cubit/client.cpp: Fixed broken test code in cube_union_dii(). Fri Jun 4 00:32:04 1999 Alexander Babu Arulanthu * tao/Client_Strategy_Factory.cpp: * tao/Client_Strategy_Factory.h: * tao/IIOP_Transport.cpp: * tao/Makefile: * tao/Pluggable.cpp: * tao/Pluggable.h: * tao/Request_Mux_Strategy.cpp: * tao/Request_Mux_Strategy.h: * tao/UIOP_Transport.cpp: * tao/Wait_Strategy.h: * tao/default_client.cpp: * tao/default_client.h: * tao/Transport_Mux_Strategy.h: * tao/Transport_Mux_Strategy.cpp: * tao/TAO.dsp * tao/TAO_Static.dsp The Mux strategies are over the Transport objects. So naming them as Transport_Mux is more appropriate than Request_Mux. Thanks Carlos! Thu Jun 3 23:27:27 1999 Carlos O'Ryan * tao/UIOP_Connector.cpp: We forgot the UIOP connector when changing the Connector_Lock allocation. Thu Jun 3 21:50:45 1999 Douglas C. Schmidt * utils/catior/catior.cpp (catior): Fixed a byte-ordering problem that caused the catior utility to incorrectly decode little endian IOR's. Thanks to Jeff D. Hopper for reporting this. Thu Jun 03 21:03:42 1999 Irfan Pyarali * tao/Pluggable.h: * tao/Pluggable.cpp: * tao/UIOP_Connect.cpp: * tao/UIOP_Transport.h: * tao/UIOP_Transport.cpp: * tao/IIOP_Transport.h: * tao/IIOP_Transport.cpp: * tao/IIOP_Connect.cpp: * tao/Wait_Strategy.h: * tao/Wait_Strategy.cpp: Cleaned up the connection managment: there is no need to inform the transport when the reactor invokes handle_close(). The Transport class is always the one that closes the connection. Still the Wait_Strategy needs to know to wake up any threads that are waiting on the transport. Right now we don't send any messages to the Wait_Strategy if the connection is closed during a write (i.e. while sending a message), but in the future we may need to do so. Also, fixed crashes and infinite loops on the event of a write() failure. The system was not informing the Cached_Connect_Strategy that the transport was not useful anymore, and sometimes the same transport was attempted again, if it wasn't closed then we went into an infinite loop; if it was closed then we crashed. Thanks to Kristopher Johnson for pointing out the above problem. * tao/GIOP: Cleaned up the implementation of TAO_GIOP::process_server_message(), checking that it handles all the errors conditions correctly and removing some error conditions that just could not happen. Also converted C++ exceptions into CORBA::UNKNOWN Make sure that send_message returns -1 if there is an error. Made several functions return void because they raise exceptions instead of returning errors (and they shouldn't do both). Also, removed unused values for the Message_Type enum, they wre TAO extensions that nobody used anymore. In addition, removed the TAO_GIOP::message_name() function, nobody was using it * tao/corbafwd.h: * tao/Exception.cpp: Added new exception minor code for the C++ to CORBA::UNKNOWN * tao/ORB_Core.cpp: Fixed the POA_Current object that was being leaked. * tao/default_resource.cpp: * tao/Acceptor_Registry.cpp: * tao/Connector_Registry.cpp: Removed memory leaks in the pluggable protocol framework * tao/Servant_Base.cpp (TAO_Local_ServantBase::_create_stub): Reverted the code back to using TAO_ORB_Core_instance instead of trying to get the default POA. The unfortunate part is that calling default_POA() requires the creation of a local stub, hence causing a infinite loop. It is ok to use TAO_ORB_Core_instance here since the locality constrained servant does not really register with a POA or get exported remotely. * tao/Resource_Factory.h: * tao/Resource_Factory.cpp: * tao/default_resource.cpp: * tao/IIOP_Connector.cpp (open): Created and passed in the TAO_Cached_Connector_Lock explicitly. This will allow us to avoid calling TAO_ORB_Core_instance() in the constructor of TAO_Cached_Connector_Lock. Thu Jun 3 16:42:59 1999 Vishal Kachroo * Cleaned up the TAO/performance-tests/Demux directory. The tests are in TAO/performance-tests/POA/Demux. Thu Jun 3 16:30:46 1999 Alexander Babu Arulanthu * tao/GIOP.h: * tao/GIOP.cpp: * tao/Invocation.cpp * tao/Invocation.h: Moved the request/locate request header writing code from Invocation class to GIOP class. Thu Jun 3 16:17:48 1999 Jeff Parsons * TAO/performance-tests/Cubit/TAO/DII_Cubit/client.cpp: Removed the member environment variable and replaced it with ACE_TRY_ENV. Thu Jun 03 15:46:11 1999 Carlos O'Ryan * tao/Exception.cpp: MSVC 5.0 has some problems defining variables inside a namespace, a fully qualified name does not work, it *must* be done inside the namespace. We were not doing that for the _tc_* variables for the system exceptions. Thu Jun 3 15:16:04 1999 Carlos O'Ryan * tao/corbafwd.h: * tao/corbafwd.i: * tao/ORB_Core.cpp: Some compilers get extremely confused with CORBA::default_environment() as a default parameter. But they are happy with a function outside the CORBA namespace, for example: TAO_default_environment We added the function above and made the CORBA::default_environment() just a thin wrapper. * TAO_IDL/be/be_interface.cpp: * TAO_IDL/be/be_visitor_interface/interface_ch.cpp: * TAO_IDL/be/be_visitor_interface/interface_sh.cpp: * TAO_IDL/be/be_visitor_interface/tie_sh.cpp: * TAO_IDL/be/be_visitor_operation/arglist.cpp: * TAO_IDL/be/be_visitor_operation/operation_sh.cpp: * TAO_IDL/be/be_visitor_sequence/gen_bounded_obj_sequence_ch.cpp: * TAO_IDL/be/be_visitor_sequence/gen_unbounded_obj_sequence_ch.cpp: * TAO_IDL/be/be_visitor_union_branch/private_ch.cpp: The IDL compiler generates TAO_default_environment now. * tao/Any.h: * tao/CDR.h: * tao/CDR_Interpreter.h: * tao/Context.h: * tao/CurrentC.h: * tao/DomainC.h: * tao/Exception.h: * tao/Forwarding_Servant.h: * tao/GIOP.h: * tao/GIOP.cpp: * tao/GIOP_Server_Request.h: * tao/IIOP_Connect.h: * tao/Invocation.h: * tao/Marshal.h: * tao/Messaging_Policy_i.h: * tao/NVList.h: * tao/ORB.cpp: * tao/ORB.h: * tao/ORB_Core.h: * tao/Object.h: * tao/POA.h: * tao/POAC.h: * tao/POAManager.h: * tao/POAS.h: * tao/POA_CORBA.h: * tao/PolicyC.h: * tao/Policy_Manager.h: * tao/PollableC.h: * tao/Request.h: * tao/Sequence.h: * tao/Sequence_T.h: * tao/Servant_Base.h: * tao/Server_Request.h: * tao/Stub.h: * tao/TAO.h: * tao/Typecode.h: * tao/UIOP_Connect.h: * tao/varout.h: * orbsvcs/CosEvent_Service/CosEvent_Service.h: * orbsvcs/Time_Service/IR_Helper.h: * orbsvcs/orbsvcs/Event/EC_Command.cpp: * orbsvcs/orbsvcs/Event/EC_ProxyConsumer.h: * orbsvcs/orbsvcs/Event/EC_ProxySupplier.h: * performance-tests/Cubit/TAO/DII_Cubit/client.cpp: Replaced all uses of CORBA::default_environment() with TAO_default_environment() Thu Jun 03 14:54:23 1999 Irfan Pyarali * tao/poa_T.*: Removed unused files. * tao/Reply_Dispatcher: Fixed incorrect inclusion of the Reply_Dispatcher.i file. * tao/GIOP.cpp (process_server_message): Fixed use of . Thu Jun 03 13:30:30 1999 Carlos O'Ryan * tao/GIOP.cpp: Fixed typo in exception handling code * tao/GIOP_Server_Request.h: Added missing #include, or at least it seems like MSVC needs it. Thu Jun 3 13:20:09 1999 Carlos O'Ryan * tao/GIOP.h: * tao/GIOP.cpp: * tao/GIOP_Server_Request.h: * tao/GIOP_Server_Request.i: * tao/GIOP_Server_Request.cpp: * tao/IIOP_Connect.h: * tao/IIOP_Connect.cpp: * tao/IIOP_Profile.cpp: * tao/IIOP_Transport.cpp: * tao/IIOP_Transport.h: * tao/Invocation.h: * tao/Invocation.i: * tao/Invocation.cpp: * tao/Pluggable.h: * tao/Pluggable.cpp: * tao/Wait_Strategy.h: * tao/Wait_Strategy.cpp: * tao/Reply_Dispatcher.h: * tao/Reply_Dispatcher.i: * tao/Reply_Dispatcher.cpp: * tao/Request_Mux_Strategy.h: * tao/Request_Mux_Strategy.cpp: * tao/UIOP_Connect.h: * tao/UIOP_Connect.cpp: * tao/UIOP_Transport.h: * tao/UIOP_Transport.cpp: Moved all the GIOP code into GIOP.cpp, i.e. the Invocation, Transport and Connect classes do not parse headers or read any data, it is all controlled by the GIOP module. This also saved some code because the UIOP and IIOP protocols can share the implementation in GIOP.cpp Improve the interface between the Reply_Dispatcher, the Request_Muxers and the transport objects. Removed a bunch of methods that were not used anymore, like suspend_* and resume_* In short: we continue the process of integrating pluggable protocols and the first phase of messaging. * tests/MT_Client/test_i.cpp: Call shutdown() with the default parameter, otherwise it dies a horrible death. Thu Jun 3 13:17:50 1999 Carlos O'Ryan * tao/varout.h: * tao/Sequence_T.h: Work around egcs problems with default parameters in templates and namespaces. Who would ever use that ;-) * tao/Exception.cpp: Fixed problem with VMCID identification in debugging code. Tue Jun 01 23:48:33 1999 Irfan Pyarali * tao/corbafwd.h (CORBA): Changed CORBA from a class to a namespace on platforms that support namespaces. Thanks to Joerg Pommnitz for pointing out this problem. Files that required changes: - Exception.cpp - PolicyC.cpp - Typecode_Constants.cpp - corbafwd.cpp - corbafwd.h - corbafwd.i * tao/ORB.h (CORBA_ORB): Removed the . This was non-standard and not needed since you can always get to the default ORB through ORB_init (0,0,0). * tao/ORB_Core.cpp (TAO_ORB_Core_instance): Redone because of the above change to . This method is somewhat slower now, but should not be used very often. * tao/Servant_Base.cpp (TAO_Local_ServantBase::_create_stub, TAO_DynamicImplementation::_create_stub, and TAO_ServantBase::_create_stub): Changed implementation such that it does not use TAO_ORB_Core_instance() and made sure that the correct ORB is used in creating the stub. Also improved the exception handling. * tao/POAC.cpp: IDL compiler generated code uses istub->orb_core() instead of TAO_ORB_Core_instance(). Thu Jun 3 09:16:38 1999 Carlos O'Ryan * tests/NestedUpcall/MT_Client_Test/client.cpp: Fixed silly problems with exception handling Wed Jun 2 18:53:15 1999 Carlos O'Ryan * tao/Pluggable.h: * tao/Pluggable.cpp: * tao/Wait_Strategy.h: * tao/Wait_Strategy.cpp: * tao/Invocation.cpp: * tao/IIOP_Transport.h: * tao/IIOP_Transport.cpp: * tao/IIOP_Connect.h: * tao/IIOP_Connect.cpp: * tao/UIOP_Transport.h: * tao/UIOP_Transport.cpp: * tao/UIOP_Connect.h: * tao/UIOP_Connect.cpp: Removed several unused functions The send_error() method was assuming that request_id==0 was an impossible, that is wrong. * tests/NestedUpcall/Reactor/client.cpp: * tests/NestedUpcall/MT_Client_Test/client.cpp: The POA state was not changed, so the test was failing. Wed Jun 02 17:36:14 1999 Carlos O'Ryan * tao/TAO.dsp: * tao/TAO_Static.dsp: Changed the Connect.{h,i,cpp} files for IIOP_Connect.{h,i,cpp} Wed Jun 2 17:35:12 1999 Carlos O'Ryan * tao/corbafwd.h: Added new locations for the TRANSIENT exceptions raised in the POA * tao/POA.cpp: Added location info in the TRANSIENT exceptions raised here. * tao/Exception.cpp: Added code to handle non-TAO minor codes. Added the strings for the new minor code locations * TAO_IDL/include/fe_extern.h: Several functions where declared extern "C" but where actually regular C++ functions, this was causing problems on MVS. Thanks to Jim Rogers for these MVS patches. * TAO_IDL/driver/drv_preproc.cpp: Pass the "-+" argument to the preprocessor under MVS, otherwise it does not recognize .cc files as C++. * TAO_IDL/driver/drv_args.cpp: Work around a problem in the access() function for MVS. * tao/DynAnyS.cpp: One of the constructors was not using the ACE_NESTED_CLASS() macro, generating problems under MVS. * TAO_IDL/ast/ast_module.cpp: Generate only a warning if a module is reopened on platforms without namespaces. It is possible that the user is cross-compiling the code. Thanks to Byron Harris for pointing this out. Wed Jun 2 17:27:43 1999 Carlos O'Ryan * tao/Connect.cpp: * tao/Connect.h: * tao/Connect.i: * tao/IIOP_Connect.cpp: * tao/IIOP_Connect.h: * tao/IIOP_Connect.i: Renamed Connect.{h,i,cpp} to IIOP_Connect.{h,i,cpp} * tao/IIOP_Acceptor.cpp: * tao/IIOP_Acceptor.h: * tao/IIOP_Connector.h: * tao/IIOP_Profile.cpp: * tao/IIOP_Transport.cpp: * tao/IIOP_Transport.h: Updated to include "tao/IIOP_Connect.h" * tao/params.h: Removed unused forward declaration of TAO_Server_Connection_Handler * examples/Simple/time-date/Time_Date.h: Added missing header file * examples/Simple/time-date/Time_Date.cpp: Added missing template instantiations * */Makefile: Updated dependencies Wed Jun 2 17:14:33 1999 Alexander Babu Arulanthu * tests/NestedUpcall/Reactor/README: Updated the README. Removed the -f option. Wed Jun 02 15:17:24 1999 * tests/NestedUpcall/Reactor/NestedUpcall.dsw * tests/NestedUpcall/Reactor/mt-client.dsp * tests/MT_Client/simple_client.dsp * tests/MT_Client/MT_Client.dsw * tests/MT_Client/server.dsp Projec files for the new simple client and mt-client test. Wed Jun 2 14:49:36 1999 Vishal Kachroo * tao/ORB.cpp (resolve_initial_references): Raised a CORBA::ORB::InvalidName exception if the ORB is unable to find the service name in the ORB IOR tables or among the hard-coded service names. Wed Jun 2 13:18:38 1999 Carlos O'Ryan * tao/Resource_Factory.h: * tao/Server_Strategy_Factory.h: * tao/Client_Strategy_Factory.h: * tao/Client_Strategy_Factory.cpp: * tao/default_client.cpp: * tao/default_client.h: * tao/default_resource.cpp: * tao/default_resource.h: * tao/default_server.h: * tao/params.h: * tao/Invocation.cpp: * tao/ORB.cpp: * tao/ORB_Core.h: * tao/ORB_Core.cpp: * tao/Object.cpp: * tao/Wait_Strategy.cpp: * tao/Connect.h: * tao/Connect.cpp: * tao/IIOP_Connector.h: * tao/IIOP_Connector.cpp: * tao/IIOP_Profile.h: * tao/IIOP_Profile.i: * tao/IIOP_Transport.h: * tao/IIOP_Transport.cpp: * tao/UIOP_Connect.cpp: * tao/UIOP_Connect.h: * tao/UIOP_Connector.cpp: * tao/UIOP_Connector.h: * tao/UIOP_Transport.cpp: * tao/UIOP_Transport.h: Removed several uses g(or abuses?) of TAO_ORB_Core_instance() The Client_Strategy_Factory does not create the IIOP Client_Connection_Handlers anymore, it only creates the Wait_Strategy and its friends. This was the last thorn in the PP framework (which could use some polishing, but nothing big). Renamed the TAO_Client_Connection_Handler to TAO_IIOP_Client_Connection_Handler, this is more consistent with the UIOP protocol (and puts the class in its right place). Removed several #includes from header files to minimize cross-dependencies and optimize (re)compilation time * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp: * orbsvcs/Time_Service/IR_Helper.cpp: * orbsvcs/orbsvcs/AV/sfp.cpp: * orbsvcs/orbsvcs/AV/sfp.h: * orbsvcs/orbsvcs/Log/Logger_i.cpp: * orbsvcs/orbsvcs/Trader/Trader_Interfaces.cpp: * orbsvcs/tests/ImplRepo/IR_Helper.cpp: * orbsvcs/tests/Simple_Naming/client.h: * orbsvcs/tests/Trading/Offer_Exporter.cpp: * tests/NestedUpcall/MT_Client_Test/local_server.h: Some internal header files are not visible in TAO anymore, this means that some ace header files are not visible either. I added them to the few files that actually required those #include's * */Makefile: Updated dependencies * tao/ORB_Strategies_T.cpp: * tao/ORB_Strategies_T.h: * tao/ORB_Strategies_T.i: Removed this files are not used anymore. * tao/Any.cpp: Minor cosmetic fixes Wed Jun 2 10:51:48 1999 Jeff Parsons * tao/Stub.cpp: Removed an "optimization" I had made to DII the other day (it was broken). I suspected it might be too good to be true. * TAO/tests/DynAny_Test/da_tests.idl: * TAO/tests/DynAny_Test/test_dynunion.cpp: Put the typecode member back into the union in the IDL file, now that that stuff works, and modified the test to check that member.