Wed Jun 16 13:00:59 1999 Alexander Babu Arulanthu * TAO_IDL/be/be_visitor_operation/operation_ami_ch.cpp: * TAO_IDL/be/be_visitor_operation/operation_ami_cs.cpp: * TAO_IDL/be_include/be_visitor_operation/operation_ami_ch.h: * TAO_IDL/be_include/be_visitor_operation/operation_ami_cs.h: Added these files. * TAO_IDL/be/be_visitor_operation/operation_ami.cpp: Removed this file. * TAO_IDL/Makefile: * TAO_IDL/be/be_visitor_factory.cpp: * TAO_IDL/be/be_visitor_operation.cpp: * TAO_IDL/ be/be_visitor_interface/interface.cpp: * TAO_IDL/ be/be_visitor_operation/rettype_return_cs.cpp: * TAO_IDL/ be_include/be_codegen.h: * TAO_IDL/ be_include/be_visitor_operation.h: * TAO_IDL/driver/drv_args.cpp: Changes for generating AMI Call back code in *C.cpp. But sendc_ methods still have code that we have for synchronous invocations. Tue Jun 15 13:25:16 1999 Alexander Babu Arulanthu * TAO_IDL/be/be_visitor_interface/ami_handler_fwd_ci.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_ci.cpp: * TAO_IDL/be/be_visitor_operation/argument.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/driver/drv_args.cpp: * TAO_IDL/include/idl_global.h: * TAO_IDL/util/utl_global.cpp: * TAO_IDL/L/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: Completed generating .i file contents for the AMI__Handler interface. Introduced an option -MC to generate Call back features. Fri Jun 11 22:32:46 1999 Alexander Babu Arulanthu Generated AMI__Handler_{var, out, ptr} class definitions in the ch file. * 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_interface_fwd.cpp: * TAO_IDL/be/be_visitor_interface/interface_ch.cpp: * TAO_IDL/be/be_visitor_operation/arglist.cpp: * TAO_IDL/ TAO_IDL/ be_include/be_codegen.h:: * TAO_IDL/be_include/be_interface.h: * TAO_IDL/be_include/be_visitor_interface.h: * TAO_IDL/be_include/be_visitor_interface_fwd.h: * TAO_IDL/ be_include/be_visitor_interface/interface_ch.h: Changes for the above. * TAO_IDL/be_include/be_visitor_interface/ami_handler_fwd_ch.h: * TAO_IDL/be_include/be_visitor_interface/ami_handler_fwd_ci.h: * TAO_IDL/be/be_visitor_interface/ami_handler_fwd_ch.cpp: * TAO_IDL/be/be_visitor_interface/ami_handler_fwd_ci.cpp: Added these files. Thu Jun 10 13:05:17 1999 Alexander Babu Arulanthu * TAO_IDL/be/be_visitor_operation/arglist_ami.h: * TAO_IDL/be/be_visitor_operation/arglist_ami.cpp: Updated the files to generate parameters for all the different types. * TAO_IDL/Makefile: Updated the dependencies. Wed Jun 9 19:19:43 1999 Alexander Babu Arulanthu * TAO_IDL/be_include/be_codegen.h * TAO_IDL/be_include/be_visitor_argument.h * TAO_IDL/be_include/be_visitor_operation.h * TAO_IDL/be_include/be_codegen.h: * TAO_IDL/be/be_visitor_interface/interface.cpp * TAO_IDL/be/be_visitor_operation/argument.cpp * TAO_IDL/be/Makefile.am * TAO_IDL/be/be_visitor_argument.cpp * TAO_IDL/be/be_visitor_factory.cpp * TAO_IDL/be/be_visitor_operation.cpp First step on generating AMI stubs for operations. Just generating "sendc_" for all the operations. * TAO_IDL/be/be_visitor_argument/arglist_ami.cpp * TAO_IDL/be/be_visitor_operation/arglist_ami.cpp * TAO_IDL/be/be_visitor_operation/operation_ami.cpp * TAO_IDL/be_include/be_visitor_argument/arglist_ami.h * TAO_IDL/be_include/be_visitor_operation/operation_ami.h * TAO_IDL/be_include/be_visitor_operation/arglist_ami.h Added these files. Mon Jun 7 16:13:31 1999 Carlos O'Ryan * tao/Exception.h: * tao/Exception.cpp: * tao/Invocation.cpp: The system exceptions were not beign 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. * 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. Tue Jun 01 21:40:20 1999 Carlos O'Ryan * tao/Request_Mux_Strategy.h: MSVC does not like forward declaration of struct as class * tao/TAO.dsp: * tao/TAO_Static.dsp: Added new files to the project Tue Jun 1 21:54:56 1999 Carlos O'Ryan * tao/Connector_Registry.cpp: * tao/Acceptor_Registry.cpp: Remove all the elements from the acceptor and connector registries when their close_all() method is invoked. Tue Jun 1 21:50:16 1999 Carlos O'Ryan * tao/Pluggable.cpp: Added missing #include * tao/UIOP_Transport.cpp: * tao/IIOP_Transport.cpp: Removed pesky warnings about unreached statements Tue Jun 1 19:48:12 1999 Carlos O'Ryan * Merged in the changes from ami_phase1_start to ami_phase1_end. The main trunk *before* the merge is tagged as pre_ami_phase1_merge and after the merge is pos_ami_phase1_merge * This change is the first phase in the quest for supporting asynchronous messaging in TAO, it involved a somewhat large re-organization of the critical path to: * Decouple the waiting strategy for the protocol implementations: a new strategy in incorporated that can handle any of the current waiting modes (on read, select or the leader-follower set) using *any* protocol. * Allowing multiple simultaneous requests over the same connection, this is also strategized so low-latency or QoS enabled applications can obtain better guarantees. Currently only the "exclusive" strategy is implemented. * Decoupling the thread that sends a request from the thread that receives the reply: a new object is introduced, the Reply_Dispatcher that will process the reply. Currently the Synch_Reply_Dispatcher is a noop and simply stores the CDR stream and reply status. The thread that initiated the request then process the reply. In the future an Asynch_Reply_Dispatcher will process the reply as soon as it arrives and pass it up to the Reply_Handlers specified by the user when making asynchronous invocations. * Most of the work on this branch was done by Alexander Babu Arulanthu I'm just helping him with the merge. Please check http://www.cs.wustl.edu/~alex/Messaging/messaging_design.html for more details on these changes. Tue Jun 1 18:00:23 1999 Nagarajan Surendran * orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Audio_Control_State.cpp: * orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Audio_Control_i.cpp: * orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Globals.cpp: * orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Control_State.cpp: * orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Control_i.cpp: Added missing template instantiation pragmas. * orbsvcs/tests/AVStreams/mpeg/source/server/as.cpp: * orbsvcs/tests/AVStreams/mpeg/source/server/augmented_server.cpp: * orbsvcs/tests/AVStreams/mpeg/source/server/server.cpp: * orbsvcs/tests/AVStreams/mpeg/source/server/vs.cpp: Added missing template instantiation pragmas. * orbsvcs/tests/AVStreams/mpeg/source/server/Property_Exporter.cpp: Fixed a Any reference to CORBA::Any. Tue Jun 1 17:27:49 1999 Jeff Parsons * TAO_IDL/be/be_visitor_typecode/typecode_defn.cpp: Removed ACE_NTOHL macro from code generated for 32-bit union case label values (long, ulong and enum). The bytes were getting swapped one too many times. Thanks to Carlos for his explanation of the byte- swapping that goes on in typecode generation. Tue Jun 1 14:08:46 1999 Carlos O'Ryan * docs/releasenotes/orbcore.html: Documented the new (and correct) behavior of ORB_init() Tue Jun 1 14:37:14 1999 Douglas C. Schmidt * examples/Simple/time-date: Got this example to work on UNIX platforms, as well as NT. Tue Jun 1 13:56:09 1999 Vishal Kachroo Replaced ACE_U_LongLong * ACE_UINT64 with ACE_U_LongLong * ACE_UINT32 in the following files : * orbsvcs/orbsvcs/Time/TAO_Time_Service_Server.cpp * orbsvcs/orbsvcs/Time/TAO_Time_Service_Clerk.cpp * orbsvcs/orbsvcs/Time/Timer_Helper.cpp Tue Jun 01 12:33:53 1999 Irfan Pyarali * tao/TAO.cpp (init_child_poa and init): Added new methods that take the addition orb name parameter. * performance-tests/Cubit/TAO/MT_Cubit/Cubit_Task.cpp (initialize_orb): Fixed orb initialization such that a different orb name is specified for every new ORB. Tue Jun 01 10:45:04 1999 David L. Levine * tao/Request.cpp: added TAO_Object_Manager explicit instantiation. * tao/ValueFactory_Map.cpp: added ACE_Hash_Map_Iterator_Ex and ACE_Hash_Map_Reverse_Iterator_Ex explicit instantiations. Tue Jun 1 09:57:42 1999 Douglas C. Schmidt * TAO-INSTALL.html: Updated the list of platforms that TAO is supported on. * tao/Policy.pidl: Removed a stray '_' at the end of the file. Thanks to David Levine for reporting this. * examples/Simple/Simple_util: Fixed more inconsistent programming style. Thanks to David Levine for reporting this. Tue Jun 1 09:37:20 1999 Fred Kuhns * removed the explicit instantiation of ACE_Node, ACE_Unbounded_Set and ACE_Unbounded_Set_Iterator from params.cpp. These are already instantiated in Service_Config.cpp. Thanks to David Levine for reporting this. Mon May 31 20:34:26 1999 Irfan Pyarali * tests/InterOp-Naming/: Fixed NT project files. * performance-tests/POA/Object_Creation_And_Registration/registration.cpp (parse_args): Fixed signed/unsigned comparison. * tao/orb.idl: Included the Policy.pidl file in orb.idl. This will bring the Policy interface into the CORBA module. * tao/Policy.pidl: Added ending pragmas and appropriate #defines for file inclusion. Mon May 31 19:32:29 1999 Carlos O'Ryan * docs/releasenotes/ec.html: * examples/POA/Default_Servant/README: * examples/POA/Forwarding/README: * examples/POA/Generic_Servant/README: * examples/POA/On_Demand_Activation/README: * examples/Simulator/README: * orbsvcs/Naming_Service/README: * orbsvcs/orbsvcs/Event/RT_Task.cpp: * orbsvcs/tests/start_services: * orbsvcs/tests/AVStreams/benchmark/server.cpp: * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/Command_Handler.cpp: * orbsvcs/tests/AVStreams/mpeg/source/server/augmented_server.cpp: * orbsvcs/tests/AVStreams/mpeg/source/server/server.cpp: * orbsvcs/tests/EC_Multiple/README: * orbsvcs/tests/EC_Multiple/run_dynamic: * orbsvcs/tests/EC_Multiple/run_latency: * orbsvcs/tests/EC_Multiple/run_overhead: * orbsvcs/tests/EC_Multiple/run_schedule: * orbsvcs/tests/EC_Multiple/run_throughput: * orbsvcs/tests/EC_Multiple/run_utilization: * performance-tests/Cubit/COOL/IDL_Cubit/README: * performance-tests/Cubit/CORBAplus/MT_Cubit/server/svr.cpp: * performance-tests/Cubit/TAO/DII_Cubit/README: * performance-tests/Thruput/CORBAplus/run_server: * performance-tests/Thruput/TAO/new_server_test: * performance-tests/Thruput/TAO/run_server: * tests/NestedUpcall/MT_Client_Test/README: * tests/NestedUpcall/Reactor/README: * tests/NestedUpcall/Triangle_Test/README: Removed all references to the -ORBhost or -ORBport options, first because the default values work in most cases and second because the options are obsolete (-ORBendpoint replaces both). Mon May 31 19:21:59 1999 Ossama Othman * tao/UIOP_Acceptor.cpp: Enabled and fixed default UIOP endpoint creation code. Mon May 31 18:09:22 1999 Carlos O'Ryan * tests/InterOp-Naming/InterOp-Naming.dsw: * tests/InterOp-Naming/INS_client.dsp: * tests/InterOp-Naming/INS_server.dsp: * tests/InterOp-Naming/InterOp_test.dsp: Updated the MSVC project files, thanks to Vishal for updating this example. Mon May 31 18:19:01 1999 Jeff Parsons * tao/encode.cpp: Removed a superfluous cast to ACE_Message_Block* in TAO_Marshal_Union::encode(). Mon May 31 17:45:56 1999 Jeff Parsons * tao/Stub.cpp: Made a change in do_dynamic_call() in the case where the 'return' Any contains only a message block. This was one of those 'how did this code ever work?' situations, but it's possible that this branch had never been tested. After making this small mod, I saw a way to eliminate two CDR stream constructions (I think). I left the original code (with the small fix) commented out, so it can be quickly restored if anyone sees something I missed or if there are resulting problems. This fixes a problem reported by Dale/Christine Wood . Mon May 31 17:35:51 1999 Ossama Othman * docs/Options.html: Updated -ORBendpoint documentation with new "default endpoint" description. Mon May 31 15:55:07 1999 Vishal Kachroo * orbsvcs/orbsvcs/Time/TAO_Time_Service_Server.cpp, orbsvcs/orbsvcs/Time/TAO_Time_Service_Clerk.cpp, orbsvcs/orbsvcs/Time/Timer_Helper.cpp: Fixed a warning on VxWorks. Replaces long int * ACE_UINT64 with ACE_UINT64 * ACE_UINT64. * Removed tests/InterOp-Naming/InterOp_test.cpp as it was obsolete. Mon May 31 16:44:22 1999 Ossama Othman * tao/Acceptor_Registry.{h,cpp} (close_all): Added an Acceptor_Registry::close_all() method that closes all registered open acceptors. * tao/Acceptor_Registry.{h,cpp} (open, open_default): Updated to accept "empty string" endpoints. If an endpoint is specified with only the protocol, e.g. `uiop://', then open an Acceptor with a default endpoint. This conforms to the "iioploc" syntax. All TAO pluggable protocols will be expected to have the ability to create a default endpoint. Minor cosmetic changes. * tao/Connector_Registry.cpp (close_all): Minor cosmetic changes. * tao/ORB_Core.cpp (fini): Added calls to Connector_Registry::close_all() and Acceptor_Registry::close_all() to make sure all connectors and acceptors are shutdown properly. * tao/IIOP_Profile.cpp (set): Added a comment about passing in TAO_ORB_Core as a parameter, instead of using the TAO_ORB_Core singleton. * tao/UIOP_Connector.cpp: Fixed pragma template instantiation that was split between two lines without a backslash. * tao/UIOP_Profile.cpp (parse_string): Corrected memory allocation/deallocation mismatch. Memory was being allocated using CORBA::string_alloc() but deallocated by delete []. * tao/params.cpp: ACE_Unbounded_Set_Iterator template was being incorrectly instantiated with a second template argument. In addition, ACE_CString was mispelled "ACE_Cstring." Mon May 31 15:55:07 1999 Vishal Kachroo Converted the INS test to a stand-alone. It was previously working in conjunction with the bank server.The test can be used to locate the Naming Service or any arbitrary service through iioploc IORs. Added the following files : * tests/InterOp-Naming/INS.idl: Defines a simple interface with a single operation. The following files define the INS test server capable of being located through iiopoc IORs. * tests/InterOp-Naming/Server_i.h: * tests/InterOp-Naming/Server_i.cpp: * tests/InterOp-Naming/INS_test_server: The following files define the servant implementation. * tests/InterOp-Naming/INS_i.cpp: * tests/InterOp-Naming/INS_i.h: The test client : * tests/InterOp-Naming/INS_test_client.cpp: Changed the Makefile and README according to the above changes. * tests/InterOp-Naming/README: * tests/InterOp-Naming/Makefile: Mon May 31 14:50:07 1999 Nanbor Wang * tao/default_resource.cpp (init_protocol_factories): This routine needs to provide default protocol factories for both IIOP and UIOP if it cannot get ones from Service_Config. Otherwise, programs that skip TAO_Internal::open_services() won't work. Mon May 31 13:49:17 1999 Ossama Othman * performance-tests/Cubit/TAO/MT_Cubit/server.cpp: Removed all occurrences of -ORBhost and -ORBport, and updated to use new -ORBendpoint option instead. This removes all of the run-time warnings regarding the usage of -ORBhost and -ORBport. Mon May 31 11:56:43 1999 Nanbor Wang * performance-tests/Cubit/TAO/IDL_Cubit/collocation_test.cpp (main): Removed unused . Rearranged code. * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Server.cpp (~Cubit_Server): No need to deactivate the factory object because by the time we reach the destructor, the ORB has already been shut down. * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Client.cpp (init,shutdown_server): Changed to toggle collocation optimization directly from the ORB. We cannot do this thru TAO_ORB_Core_instance anymore because it gives you back the "default" ORB which is not the one we want in collocation_test. * performance-tests/Cubit/TAO/IDL_Cubit/collocation/svc.conf: Changed obsolete option -ORBreactorlock to -ORBreactortype. Changed to use reactive concurrency model. Currently, ORB cannot shutdown the acceptor thread if we use thread-per-connection model. Mon May 31 11:22:53 1999 Douglas C. Schmidt * examples/Simple/time-date: Added a new example that illustrates how to dynamically link the TAO ORB into an application using the ACE Service Configurator. Thanks to Michael Kircher for helping with this implementation. * examples/Simple/Simple_Util: Fixed a few inconsistencies in the programming style. * tao/ORB_Core.cpp (init), tao/TAO_Internal.cpp (close_services): Added the SkipServiceConfigOpen option to ensure the ORB doesn't try to perform the Service Config open() processing, which is important if the ORB is already being linked by the ACE Service Configurator. Sun May 30 21:23:31 1999 Nagarajan Surendran * orbsvcs/orbsvcs/sfp.idl : * orbsvcs/orbsvcs/AV/sfp.cpp: Fixed the case-only difference in IDL by suffixing a _Msg to all enumerators as a temporary fix until the OMG AVStreams RTF fixes the SFP idl. Sun May 30 16:23:17 1999 Ossama Othman * docs/releasenotes/index.html: * docs/releasenotes/orbcore.html: Updated Pluggable Protocol release notes and updated all references of the now deprecated "-ORBhost" and "-ORBport" options with "-ORBendpoint." Sun May 30 13:51:18 1999 Ossama Othman * tao/Acceptor_Registry.cpp: * tao/Connector_Registry.cpp: * tao/Protocol_Factory.cpp: * tao/Resource_Factory.cpp: Removed semi-colons at end of pragma template instantiations. Sun May 30 13:39:47 1999 Jeff Parsons * docs/compiler.html: Added new IDL compiler options -Cw and -Ce to the releasenotes, along with an explanation of the current inconsistency between OMG's identifier spelling rule and its sfp.idl file. Sat May 29 20:25:10 1999 Jeff Parsons * TAO_IDL/include/UTL_Identifier.h: * TAO_IDL/include/UTL_Error.h: * TAO_IDL/include/IDL_Global.h: * TAO_IDL/util/UTL_Identifier.cpp: * TAO_IDL/util/UTL_Scope.cpp: * TAO_IDL/util/UTL_Global.cpp: * TAO_IDL/util/UTL_String.cpp: * TAO_IDL/util/UTL_Error.cpp: * TAO_IDL/driver/DRV_Args.cpp: Started out as an attempt to have the IDL compiler output an error if two identifiers in the same scope differ only in the case of one or more or their characters. However, it was discovered that sfp.idl (which is derived from the spec) contains such errors - some enum values clash with struct names, and since enums don't generate their own scope... So what we did was to default the IDl compiler to produce a warning if this happens. This behavior can also be specified explicitly by the command line option -Cw. To be more strict and produce errors instead, use the command line option -Ce. Sat May 29 17:48:24 1999 Irfan Pyarali * tao/Object.cpp (_non_existent): This function is not required with minimum CORBA. * tao/POAC: Forwarding exception is not supported with minimum CORBA. * tao/UIOP_Connect.cpp (handle_locate): * tao/Connect.cpp (handle_locate): No need to check for Forwarding exception in the case of minimum CORBA. * tao/orbconf.h: With minimum CORBA, we don't have the ForwardRequest exception. Therefore, we can't support the INS forwarding agent. Sat May 29 16:33:13 1999 Jeff Parsons * TAO/tests/DynAny_Test/da_tests.idl: * TAO/tests/DynAny_Test/test_dynenum.cpp: * TAO/tests/DynAny_Test/test_dynunion.cpp: Changed some enum value names in the IDl file to be not so likely to clash with something else in the namespace. Hopefully this will get rid of some DU errors, reported by David Levine. Sat May 29 13:40:41 1999 Marina Spivak * tao/TAO.{h, cpp} (TAO_ORB_Manager): added method to put the POA manager into the state for processing the requests. This is useful for clients, which are not going to call "orb->run", yet want to be able to process incoming CORBA requests while waiting on CORBA requests sent to servers. * orbsvcs/tests/Simple_Naming/client.cpp: added a call to TAO_ORB_Manager::activate_poa_manager in client initialization code, so client can respond to incoming requests (this fixes a problem in Exception test that surfaced due to recent updates to the POA). Fri May 28 23:11:56 1999 Carlos O'Ryan * tao/Connect.cpp: Instead of constructing a CORBA::Environment on the stack for each upcall we use the one allocated on TSS storage. This saves a little time since each Environment has its one mutex that needs to be initialized in that case. * performance-tests/Cubit/TAO/IDL_Cubit/client.cpp: * performance-tests/Cubit/TAO/IDL_Cubit/server.cpp: The server and client try to put themselves on the real-time scheduling class, if they cannot make it they just print a warning. Fri May 28 16:21:02 1999 Jeff Parsons * tao/ORB.cpp: Removed 'ACE_INLINE' from the create_dyn_* functions, which had eveidently been moved out of ORB.i. Thanks to Carlos for reporting the resulting link errors on CC. Fri May 28 15:51:18 1999 Vishal Kachroo Fixed the overflow problem in some expressions. Thanks to Byron Harris for reporting this and suggesting the fix. * orbsvcs/orbsvcs/Time/Timer_Helper.cpp: * orbsvcs/orbsvcs/Time/TAO_Time_Service_Server.cpp: * orbsvcs/orbsvcs/Time/TAO_Time_Service_Clerk.cpp: Fri May 28 12:09:27 1999 Carlos O'Ryan * tao/Object.cpp: Added missing #include Fri May 28 09:56:29 1999 Carlos O'Ryan * TAO_IDL/be/be_visitor_root/root.cpp: Fixed bug in processing for forward declarations. Fri May 28 04:41:30 1999 Nanbor Wang * docs/compiler.html: Added documentation for -Gv flag (to generate code that supports OBV.) * TAO_IDL/ast/ast_module.cpp (AST_Module): Symbols in module CORBA should only be added to the table once. * tao/orb.idl: Added macros to avoid including this file twice. * tao/GIOP_Server_Request.i (principal): Changed to return Principal_var::ptr() directly to avoid type ambiguity. * tao/Stub.i: Reordered function definitions to avoid inline functions being used before declared inlined. Thu May 27 23:15:53 1999 Marina Spivak * orbsvcs/orbsvcs/Naming/Naming_Utils.cpp (init_new_naming): Modified to add the object reference to the root naming context to the orb's ior lookup table, so that Naming Service can be located through iioploc IORs. Thu May 27 22:00:07 1999 Carlos O'Ryan * tao/Any.cpp: * tao/Object.cpp: If an object is extracted from an InputCDR stream that doesn't have an ORB Core configured then the default ORB core is used. This is common in extraction from Anys. Thanks to Jeff Parsons for tracking this down. * TAO_IDL/driver/drv_preproc.cpp: Added missing '/' between ACE_ROOT and TAO/tao to find the orb.idl file Thu May 27 21:42:28 1999 Jeff Parsons * TAO_IDL/be/be_visitor_array.cpp: Fixed a typo. Thu May 27 21:02:54 1999 Carlos O'Ryan * TAO_IDL/Makefile: * TAO_IDL/be/be_decl.cpp: * TAO_IDL/be/be_visitor_array.cpp: * TAO_IDL/be/be_visitor_enum.cpp: * TAO_IDL/be/be_visitor_exception.cpp: * TAO_IDL/be/be_visitor_factory.cpp: * TAO_IDL/be/be_visitor_field.cpp: * TAO_IDL/be/be_visitor_interface.cpp: * TAO_IDL/be/be_visitor_root.cpp: * TAO_IDL/be/be_visitor_sequence.cpp: * TAO_IDL/be/be_visitor_structure.cpp: * TAO_IDL/be/be_visitor_typedef.cpp: * TAO_IDL/be/be_visitor_union.cpp: * TAO_IDL/be/be_visitor_union_branch.cpp: * TAO_IDL/be/be_visitor_valuetype.cpp: * TAO_IDL/be/be_visitor_array/cdr_op_ci.cpp: * TAO_IDL/be/be_visitor_array/cdr_op_cs.cpp: * TAO_IDL/be/be_visitor_enum/cdr_op_ci.cpp: * TAO_IDL/be/be_visitor_enum/cdr_op_cs.cpp: * TAO_IDL/be/be_visitor_exception/cdr_op_ci.cpp: * TAO_IDL/be/be_visitor_exception/cdr_op_cs.cpp: * TAO_IDL/be/be_visitor_exception/exception.cpp: * TAO_IDL/be/be_visitor_field/cdr_op_ci.cpp: * TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp: * TAO_IDL/be/be_visitor_interface/cdr_op_ci.cpp: * TAO_IDL/be/be_visitor_interface/cdr_op_cs.cpp: * TAO_IDL/be/be_visitor_interface/interface.cpp: * TAO_IDL/be/be_visitor_module/module.cpp: * TAO_IDL/be/be_visitor_root/root.cpp: * TAO_IDL/be/be_visitor_sequence/cdr_op_ch.cpp: * TAO_IDL/be/be_visitor_sequence/cdr_op_ci.cpp: * TAO_IDL/be/be_visitor_sequence/cdr_op_cs.cpp: * TAO_IDL/be/be_visitor_structure/cdr_op_ch.cpp: * TAO_IDL/be/be_visitor_structure/cdr_op_ci.cpp: * TAO_IDL/be/be_visitor_structure/cdr_op_cs.cpp: * TAO_IDL/be/be_visitor_structure/structure.cpp: * TAO_IDL/be/be_visitor_typedef/cdr_op_ci.cpp: * TAO_IDL/be/be_visitor_typedef/cdr_op_cs.cpp: * TAO_IDL/be/be_visitor_typedef/typedef.cpp: * TAO_IDL/be/be_visitor_union/cdr_op_ch.cpp: * TAO_IDL/be/be_visitor_union/cdr_op_ci.cpp: * TAO_IDL/be/be_visitor_union/cdr_op_cs.cpp: * TAO_IDL/be/be_visitor_union/union.cpp: * TAO_IDL/be/be_visitor_union_branch/cdr_op_ci.cpp: * TAO_IDL/be/be_visitor_union_branch/cdr_op_cs.cpp: * TAO_IDL/be/be_visitor_valuetype/cdr_op_ci.cpp: * TAO_IDL/be/be_visitor_valuetype/cdr_op_cs.cpp: * TAO_IDL/be/be_visitor_valuetype/field_cdr_ci.cpp: * TAO_IDL/be/be_visitor_valuetype/valuetype.cpp: * TAO_IDL/be_include/be_codegen.h: * TAO_IDL/be_include/be_visitor_array.h: * TAO_IDL/be_include/be_visitor_enum.h: * TAO_IDL/be_include/be_visitor_exception.h: * TAO_IDL/be_include/be_visitor_field.h: * TAO_IDL/be_include/be_visitor_interface.h: * TAO_IDL/be_include/be_visitor_sequence.h: * TAO_IDL/be_include/be_visitor_structure.h: * TAO_IDL/be_include/be_visitor_typedef.h: * TAO_IDL/be_include/be_visitor_union.h: * TAO_IDL/be_include/be_visitor_union_branch.h: * TAO_IDL/be_include/be_visitor_valuetype.h: * TAO_IDL/be_include/be_visitor_array/cdr_op_ci.h: * TAO_IDL/be_include/be_visitor_array/cdr_op_cs.h: * TAO_IDL/be_include/be_visitor_enum/cdr_op_ci.h: * TAO_IDL/be_include/be_visitor_enum/cdr_op_cs.h: * TAO_IDL/be_include/be_visitor_exception/cdr_op_ci.h: * TAO_IDL/be_include/be_visitor_exception/cdr_op_cs.h: * TAO_IDL/be_include/be_visitor_field/cdr_op_ci.h: * TAO_IDL/be_include/be_visitor_field/cdr_op_cs.h: * TAO_IDL/be_include/be_visitor_interface/cdr_op_ci.h: * TAO_IDL/be_include/be_visitor_sequence/cdr_op_ci.h: * TAO_IDL/be_include/be_visitor_structure/cdr_op_ci.h: * TAO_IDL/be_include/be_visitor_structure/cdr_op_cs.h: * TAO_IDL/be_include/be_visitor_typedef/cdr_op_ch.h: * TAO_IDL/be_include/be_visitor_typedef/cdr_op_ci.h: * TAO_IDL/be_include/be_visitor_typedef/cdr_op_cs.h: * TAO_IDL/be_include/be_visitor_union/cdr_op_ci.h: * TAO_IDL/be_include/be_visitor_union/cdr_op_cs.h: * TAO_IDL/be_include/be_visitor_union_branch/cdr_op_ci.h: * TAO_IDL/be_include/be_visitor_union_branch/cdr_op_cs.h: * TAO_IDL/be_include/be_visitor_valuetype/cdr_op_ch.h: * TAO_IDL/be_include/be_visitor_valuetype/cdr_op_ci.h: * TAO_IDL/be_include/be_visitor_valuetype/cdr_op_cs.h: * TAO_IDL/be_include/be_visitor_valuetype/field_cdr_ci.h: Moved all the code to generate CDR extraction and insertion operators to the _ci files (and classes), they were in the _cs files due to an historic accident. This was no big deal, but I needed to move the CDR operators for sequences generated into the *C.cpp files, so I needed to separate the code for the C.i file from the code to the C.cpp file. With this change Param_Test compiles with both compiled and interpretive marshaling. * tests/Multiple_Profiles/Makefile: * tests/Multiple_Profiles/forward.cpp: Removed, the test was obsolete. Thu May 27 19:16:47 1999 Jeff Parsons * tao/orb.idl: Removed the empty "interface" definitions. Recognizing certain scoped names is now handled in the IDL compiler. * TAO_IDL/fe/fe_init.cpp: Removed initialization of predefined types 'TypeCode' and 'ValueBase'. They're now added inside CORBA module, and must not be used in an IDL file without the CORBA:: scoping. * TAO_IDL/be/be_module.cpp: Added code to call base class (AST_Module) constructor explicitly, in order to use a private function to add the above types to the symbol table. * TAO_IDL/ast/ast_module.cpp: If called for 'module CORBA' inside orb.idl, constructor adds 'CORBA::TypeCode' and 'CORBA::ValueBase' to symbol table. * TAO/tests/Param_Test/param_test.idl: Added '#include ' and scoped all typecode test parameters with 'CORBA::'. * TAO/tests/Param_Test/server.dsp: * TAO/tests/Param_Test/Makefile: Removed '-Gi' from command line for IDL compiler. Carlos fixed the problem that made that arg necessary. * TAO/orbsvcs/orbsvcs/CosPropertyService.idl: * TAO/orbsvcs/orbsvcs/CosTradingDynamic.idl: * TAO/orbsvcs/orbsvcs/CosTradingRepos.idl: Added '#include ' and added 'CORBA::' to all 'TypeCode' parameters. Thu May 27 18:14:26 1999 Ossama Othman * docs/Options.html: Added the new `-ORBendpoint' option to the CORBA::ORB option table, and added a note to the `-ORBhost' and `-ORBport' options explaining that the `-ORBendpoint' option supercedes them. Updated the `-ORBpreconnect' option description to reflect the new endpoint format. Thu May 27 14:27:21 1999 Ossama Othman * tao/[IU]IOP_Connector.cpp (preconnect): Fixed bug where memory was being freed even if no memory was allocated. Added debugging output for successful and unsuccessful preconnections. Thu May 27 12:28:45 1999 Ossama Othman * tao/[IU]IOP_Profile.cpp (parse_string, to_string): Updated URL style object reference parsing and creation methods to conform to the "iioploc" BNF specification. All URL style object references will be of the form: protocol://V.v@addr1,...,W.w@addrN/object_key The version prefix (e.g. "V.v@") is optional. All endpoints and preconnects specified with the "-ORBendpoint" and "-ORBpreconnect" command line options should be of the above form (without the object key). NOTE: The UIOP URL style object reference uses a vertical bar "|" to delimit where the object key begins. This is needed to avoid any ambiguities caused by the fact that UIOP endpoints can have forward slashes "/" in them. The use of the vertical bar "|" as an object key delimiter for UIOP may change in the future. * tao/Pluggable.cpp (make_mprofile): * tao/params.cpp (parse_endpoint): Updated to support the new URL style endpoints as specified by the "iioploc" BNF specification. * tao/Acceptor_Registry.cpp (open): * tao/[IU]IOP_Connector.cpp (preconnect): Corrected a problem where the protocol version was not removed from the endpoint string prior to passing it to the appropriate acceptor/connector. * tao/Pluggable.h: * tao/[IU]IOP_Connector.{h,cpp}: Added "object_key_delimiter ()" method. This method is used when parsing URL style IORs during MProfile creation. * tao/ORB_Core.cpp (init): Fixed the "-ORBpreconnect" option so that the preconnect strings get added to the preconnect set, not the endpoint set. Thu May 27 11:55:55 1999 Irfan Pyarali * performance-tests/POA/Object_Creation_And_Registration/registration.cpp: Small fixes to the quantify code. Wed May 26 22:28:18 1999 Irfan Pyarali * TAO: Patched a bunch of NT project files: - examples/TAO_Examples.dsw - examples/Callback_Quoter/Consumer.dsp - examples/Callback_Quoter/Notifier.dsp - examples/Callback_Quoter/Supplier.dsp - examples/Event_Comm/Consumer.dsp - examples/Event_Comm/Event_Comm.dsw - 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/client.dsp - examples/POA/Forwarding/server.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/client.dsp - examples/Simple/echo/server.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.idl - examples/Simple/time-date/Time_Date_Client_i.cpp - examples/Simple/time-date/Time_Date_Client_i.h - examples/Simple/time-date/Time_Date_i.cpp - examples/Simple/time-date/Time_Date_i.h - examples/Simple/time-date/client.dsp - examples/Simple/time-date/client_static.dsp - examples/Simple/time-date/server.dsp - examples/Simple/time-date/server_static.dsp - examples/Simple/time-date/time_date.dsw - performance-tests/TAO_Perf_Tests.dsw - performance-tests/POA/Object_Creation_And_Registration/registration.dsp - performance-tests/Pluggable/Pluggable.dsw - performance-tests/Pluggable/client.dsp - performance-tests/Pluggable/server.dsp Thu May 27 10:05:28 1999 Carlos O'Ryan * tao/Managed_Types.i: Fixed initialization of TAO_String_Manager, unfortunately we still don't have a portable fix for TAO_WString_Manager. Thanks to Tim Stack for reporting this problem. Thu May 27 09:55:10 1999 Carlos O'Ryan * TAO_IDL/be/be_visitor_argument/compiled_marshal_ss.cpp: * TAO_IDL/be/be_visitor_argument/marshal_ss.cpp: Fixed problem with generated code for arrays in interpretive marshaling based skeletons. * TAO_IDL/be_include/be_codegen.h: Minor cosmetic fixes. Thu May 27 09:16:17 1999 Jeff Parsons * tao/decode.cpp: * tao/Stub.cpp: Changed some any_owns_data_ assignments from 1 to 0. In all cases, the Any's value_ had just been freed and set to 0. Thu May 27 09:06:01 1999 Jeff Parsons * tao/corbafwd.h: * tao/Principal.h: * tao/Principal.i: * tao/GIOP_Server_Request.h: * tao/GIOP_Server_Request.cpp: * tao/TAO.dsp: * tao/TAO_Static.dsp: Added _var and _out code for class Principal, and made request_principal_ member of GIOP_Server_Request a _var. When a TAO server gets a request from an OmniORB client, the Principal pointer in the header is non-null, and we were leaking the memory. Thanks to Rebecca Sanford for pointing this out. Wed May 26 21:40:34 1999 Carlos O'Ryan * examples/POA/Adapter_Activator/run_test.pl: * examples/POA/Explicit_Activation/run_test.pl: * examples/POA/Forwarding/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: * examples/POA/Reference_Counted_Servant/run_test.pl: * examples/Quoter/run_test.pl: * orbsvcs/tests/AVStreams/benchmark/run_test.pl: * orbsvcs/tests/ImplRepo/run_test.pl: * orbsvcs/tests/Time/run_test.pl: * performance-tests/Cubit/TAO/DII_Cubit/run_test.pl: * performance-tests/Cubit/TAO/IDL_Cubit/run_test.pl: * performance-tests/Cubit/TAO/MT_Cubit/run_test.pl: * tests/CDR/run_test.pl: * tests/NestedUpcall/MT_Client_Test/run_test.pl: * tests/NestedUpcall/Reactor/run_test.pl: * tests/NestedUpcall/Triangle_Test/run_test.pl: * tests/Param_Test/run_test.pl: Removed all uses of -ORBobjrefstyle and -ORBport from the run_test.pl scripts. * performance-tests/Cubit/TAO/MT_Cubit/client.cpp: Changed the deprecated -ORBport and -ORBhost options for a -ORBendpoint option. * performance-tests/POA/Object_Creation_And_Registration/registration.cpp: Added little methods to wrap around Quantify vs. Visual Quantify calls. Wed May 26 20:44:30 1999 Carlos O'Ryan * tao/Pluggable.h: * tao/IIOP_Connector.h: * tao/IIOP_Connector.cpp: * tao/UIOP_Connector.h: * tao/UIOP_Connector.cpp: Declaring a method with return type "const char" is superfluous, "char" is enough. Some compilers don't like that. Wed May 26 20:21:18 1999 Carlos O'Ryan * tao/Pluggable.cpp: A variable declared in a loop (like for(int i;;)), was declared again in another loop, this is not a problem in ANSI C++, but some compilers don't know this yet. * tao/TAO.dsp: * tao/TAO_Static.dsp: Added the new files (from the branch) into the project files. Wed May 26 18:51:39 1999 Carlos O'Ryan * tao/*: Merged the pluggable_testing branch. From the tag to The main trunk was tagged before (pluggable_testing_pre_merge1) and after the merge (pluggable_testing_pos_merge1). Now for the interesting stuff: this branch adds support for: * Multiple endpoints in the ORB, a list of TAO_Acceptors is kept in the acceptor registry, when the ORB needs to create an IOR it iterates over all the acceptors to do so. Using either multiple -ORBendpoint options or several endpoints separated by ';' the user can specify what addresses the ORB should use. Each endpoint is specified in URL format (ex: iiop://foo.bar.com:0), this format can be extended to support different protocols. * If the user does not specify a list of endpoints then the ORB creates a default endpoint for each protocol configured. * Support for multiple Connectors in the ORB, the ORB finds the correct connector based on the tag for the profile. * Support for multiple profiles in the IORs, when the ORB demarshals an IOR it queries the Connector Registry to create the right kind of profile for the known protocols. If one of the protocols is unknown we create a special profile class that can only be used for marshaling and demarshaling, not communication. * Protocol can be dynamically loaded into the ORB: the default resource factory reads the protocol "names" from its list of arguments. These protocol names are used to load an abstract factory via the service configurator, this factory can create acceptors or connectors on demand. By default only IIOP and UIOP are loaded. * Added a correct implementation of CORBA::ORB_init(), if the same ORBid is passed (either in the orbid argument or via an -ORBid option) the same ORB is returned. WARNING: this changes the current behavior in TAO, which returns a different ORB on each thread! * The -ORBhost and -ORBport options are deprecated, the new -ORBendpoint option supercedes them, the ORB issues a warning if they are used. * The -ORBpreconnect option supports multiple protocols using the same URL formats that -ORBendpoint does. Notice that the old host:port format is supported for backwards compatibility. * Enabled the UIOP protocol, this protocol uses local IPC (aka UNIX domain) sockets as the transport mechanism. The protocol is loaded by default but no endpoints are created unless an explicit -ORBendpoint option is used. * Most of these changes where implemented by Fred Kuhns and Ossama Othman. I am simply the humble CVS merger * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp: * orbsvcs/Time_Service/IR_Helper.h: * orbsvcs/Time_Service/IR_Helper.cpp: * orbsvcs/tests/ImplRepo/IR_Helper.cpp: Adapted to work with the pluggable protocols framework, but needs a major redesign to be fully integrated. * */Makefile: Updated dependencies Wed May 26 17:37:40 1999 Vishal Kachroo * tao/ORB.cpp : Used delete [] in resolve_initial_references () instead of delete. Changed the signatures of add/find IORs in the IOR table to use consts. * tao/ORB.h : Changed the function declarations for the above. * tao/IOR_LookupTable.cpp : Removed the private members ObjectID and IOR table. Added comments for the class description. Used consts in the function declarations wherever appropriate. * tao/IOR_LookupTable.h : Changed the function declarations for the above. Wed May 26 15:50:00 1999 Irfan Pyarali * tao/POAManager: Fixed hold_requests_i(), discard_requests_i(), and deactivate_i() such that there is a check for a valid flag and the flag is processed correctly on all the POAs that the POA Manager is managing. * tao/POA: Renamed to since waiting doesn't only happen on destruction. find_POA_i(): Check the state of the POA Manager before dispatching a POA creation request to the adapter activator. check_for_valid_wait_for_completions(): The thread that calls a POA/ORB function with set to true must not be a dispatch thread itself. If it is, this would lead to a deadlock situation. In this case, the ORB must raise a CORBA::BAD_INV_ORDER() exception. wait_for_completions(): Waits for outstanding requests on this POA to complete. cleanup_servant(): We need to let go of the Object Adapter / POA lock before calling etherealize() on the servant activator. cleanup_servant(): Teardown of the servant lock must happen before the _remove_ref() or etherealize() calls since they might end up deleting the servant. * tao/Object_Adapter: deactivate(): The Object Adapter now keeps a list of all active POA Managers. This is useful in ORB::shutdown() where we need to deactivate all the POA Managers. dispatch_servant_i(): Check the state of the POA Manager before dispatching the client request to the target POA. Only if the POA Manager state is active is the request dispatched to the servant. dispatch_servant_i(): The single threaded POA lock must be acquired *after* the POA lock has been released. This is necessary since we cannot block waiting for the servant lock while holding the POA lock. Otherwise, the thread that wants to release this lock will not be able to do so since it can't acquire the POA lock. * tao/ORB.cpp (shutdown): Fixed this function such that it properly deactivates all the POA Managers. * tao/Messaging_Policy_i.h: Fixed inherits via dominance warnings. * performance-tests/POA/Object_Creation_And_Registration/registration.cpp: This test was out of date and needed some maintenance. Also, made the reverse map effectiveness checking optional, and added exception checking code. Wed May 26 14:56:03 1999 Nanbor Wang * examples/OBV/Typed_Events/Event_Types_impl.h: Disabled VC warning 4250. Also added macros to prevent circular inclusion. * examples/OBV/Typed_Events/Event_Types.dsw: * examples/OBV/Typed_Events/client.dsp: * examples/OBV/Typed_Events/server.dsp: New workspace/projects. * orbsvcs/orbsvcs/orbsvcs.dsp: * orbsvcs/orbsvcs/orbsvcs_static.dsp: Fixed build options for newly added template files. Wed May 26 14:05:18 1999 Carlos O'Ryan * orbsvcs/orbsvcs/IOR_Multicast.cpp: Added missing include file. Wed May 26 13:56:56 1999 Nanbor Wang * tao/Messaging_Policy_i.h: Disabled VC warning 4250 for class TAO_RelativeRoundtrigTimeoutPolicy_i. Wed May 26 11:54:39 1999 Jeff Parsons * TAO_IDL/be/be_visitor_union_branch/cdr_op_cs.cpp: Fixed extractor for pseudo objects (at least for the two cases TypeCode and Object. A case for ValueBase is still TODO). Wed May 26 10:28:21 1999 Jeff Parsons * TAO_IDL/be/be_visitor_sequence/cdr_op_cs.cpp: Fixed extractor for bounded strings. Existing code assumed that CORBA::Any::to_string::bound_ includes the terminating '\0', which it does not. Thanks to Keith Nichol for pointing this out. Wed May 26 08:41:32 1999 Carlos O'Ryan * orbsvcs/orbsvcs/CosEvent_Utilities.cpp: Added several explicit .in() calls to convert from T_var into T_ptr, old g++ cannot handle the implicit conversion. Thanks to David Levine for bringing this up. Tue May 25 17:00:08 1999 Balachandran Natarajan * examples/Callback_Quoter/Supplier_i.cpp (via_naming_service): * examples/Callback_Quoter/Consumer_Handler.cpp * examples/Callback_Quoter/Consumer_Input_Handler.cpp * examples/Callback_Quoter/Consumer_Signal_Handler.cpp * examples/Callback_Quoter/Notifier_Input_Handler.cpp * examples/Callback_Quoter/Notifier_i.cpp * examples/Callback_Quoter/Supplier_i.cpp * examples/Callback_Quoter/notifier.cpp : Removed some ACE_TRY_NEW_ENV's and cleaned up the way exception handling is being done. Tue May 25 16:24:23 1999 Nanbor Wang * tao/ORB_Core.cpp (set_endpoint): Seveal "reason" strings for "%p" directive were missing. Thanks to Christopher Kohlhoff for pointing this out. Tue May 25 12:54:23 1999 Carlos O'Ryan * tao/Messaging_Policy_i.h: Fixed syntax error only IRIX catched this one. * tao/ORB.h: The throw specs need complete types in IRIX/MIPSPro, added include for PolicyC.h * tao/ORB.cpp: Fixed problems in resolve_initial_references. Tue May 25 12:39:27 1999 David L. Levine * tao/Environment.cpp,Exception.{h,cpp},Invocation.cpp,corbafwd.h: added support for passing location and errno through minor status of CORBA_SystemExceptions. * docs/releasenotes/orbcore.html: added mention of support for CORBA_SystemException minor status. Tue May 25 12:17:00 1999 Carlos O'Ryan * orbsvcs/tests/Event/Performance/Connect.dsp: * orbsvcs/tests/Event/Performance/Throughput.dsp: * orbsvcs/tests/Event/lib/ECTest.dsp: Fixed configuration for Win32/Release * tao/TAO.dsp: * tao/TAO_Static.dsp: Added new files to the TAO project Tue May 25 12:07:25 1999 Carlos O'Ryan * tao/Makefile: TAO_HAS_CORBA_MESSAGING is defined in the orbconf.h the user must comment out that definition to eliminate the CORBA messaging support. * tao/Invocation.cpp: Added some debugging code (currently commented out) to test the timeout policies. If the send() call fails we should return an TAO_INVOKE_RESTART, this needs more debugging, but the code there was broken anyway. * tao/Messaging_Policy_i.cpp: * tao/Messaging_Policy_i.h: * tao/Messaging_Policy_i.i: Added new file for the Messaging policy implementations. * tao/MessagingS.h: Removed declaration of skeletons, the skeletons where in fact removed, but somehow I missed the files. * tao/orbconf.h: * tao/MessagingC.cpp: Initialize the Policy_Type constants using macros in orbconf.h that way we can use the same macros to switch() in the code. * tao/ORB.h: * tao/ORB.cpp: Added the create_policy() method, it delegates on the right class to actually create the policy. In resolve_initial_references() the hard-coded object ids (such as "RootPOA") are searched before anything else. * tao/Stub.h: * tao/Stub.cpp: * tao/ORB_Core.h: * tao/ORB_Core.i: Added new method to query the default timeout policy in an efficient way. * tao/Policy_Manager.h: * tao/Policy_Manager.i: * tao/Policy_Manager.cpp: We keep a pointer to the RelativeRoundtripTimeoutPolicy *implementation* that way the ORB can speed up its lookups, minimize memory allocations and in general work in a more deterministic way. * tao/corbafwd.h: Added missing forward declaration for PolicyManager_var, PolicyCurrent_var and their _out classes. Tue May 25 11:50:01 1999 Nanbor Wang * tao/ORB.cpp (ORB_init): Removed out-dated comments. Thanks to Irfan for pointing this out. Tue May 25 11:40:29 1999 Jeff Parsons * TAO/orbsvcs/orbsvcs/AV/sfp.cpp: Initialized 'result' in end_stream()to avoid a compiler warning. Tue May 25 11:21:00 1999 Jeff Parsons * TAO_IDL/fe/idl.yy: * TAO_IDL/fe/y.tab.{h,cpp}: Added a couple of ACE_UNUSED_ARG macros to the yacc file and regenerated y.tab. Thanks to David Levine for pointing out the egcs warnings. Tue May 25 11:03:17 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp: Fixed errors in fragment size computation, thanks to J. Russell Noseworthy for catching this up and providing a fix. * orbsvcs/orbsvcs/Event/EC_ObserverStrategy.cpp: Fixed several uses of T_var in calls to _duplicate(), old g++ needs you to call the .in() method explicitly. Thanks to Irfan for catching this one. Tue May 25 10:06:41 1999 Irfan Pyarali * tao/Request.cpp: Moved the #endif for TAO_HAS_MINIMUM_CORBA after the template instantiations. Thanks to Andreas for pointing this out. Tue May 25 10:23:52 1999 Jeff Parsons * TAO_IDL/be/be_union.cpp: Fixed a signed/unsigned mismatch and an unused variable warning. * TAO_IDL/be/be_visitor_typecode/typecode_defn.cpp: Fixed some 'statement not reached' warnings. Tue May 25 08:23:03 1999 David L. Levine * tao/try_macros.h (TAO_THROW_ENV,TAO_THROW_ENV_RETURN): with native exceptions, added ACE_UNUSED_ARG (ENV). * examples/Quoter/Quoter_i.cpp (copy): wrapped final return statement with ACE_NOTREACHED, to please DU cxx 6.2-021. * orbsvcs/tests/Simple_Naming/client.cpp (init): commented out retun in catchany clause, to avoid warning about redundant return at end of function from DU cxx. Tue May 25 01:42:03 1999 Nanbor Wang * tao/Exception.h (TAO_Exceptions): Added an static ACE_Allocator pointer which is used when building the global system exception typecode. * tao/Exception.cpp (init,fini): Added creation and deletion of . (make_unknown_user_typecode,make_standard_typecode): Changed to use the TAO_Exceptions::global_allocator_ for OutputCDR's. They are default to acquire allocators from the ORB. But we have to move the typecode creation before the ORB_init call so we can throw exceptions in case ORB_init itself failed. * tao/ORB.cpp (ORB_init): Moved init_orb_globals method before oc->init because init_orb_globals no longer accesses the orb. This allows up to throw an exception if ORB_init failed. TAO players, notice that you should not access any orb specific information from within init_orb_globals method because the ORB was not initialized when the orb globals get constructed. Mon May 24 22:15:05 1999 Jeff Parsons * tao/corbafwd.h: Added a 'CORBA_' to one of the TypeCode typedefs so it cosmetically matches the other groups of typedefs. Mon May 24 17:56:22 1999 Jeff Parsons * TAO_IDL/be/be_visitor_union_branch/cdr_op_cs.cpp: Removed '.in ()' and '.out ()' from pseudo-object implementations of << and >> respectively. Pseudo- objects are declared in unions as _ptr, not as _var. Mon May 24 16:28:20 1999 Irfan Pyarali * tao/Policy_Manager.cpp (implementation): Moved a couple of functions from the .i file to the .cpp file so that it compiles when inlining is turned on. Mon May 24 16:43:17 1999 Jeff Parsons * TAO/tests/Dynany_Test/test_dynarray.cpp: * TAO/tests/Dynany_Test/test_dynsequence.cpp: * TAO/tests/Dynany_Test/test_dynstruct.cpp: Fixed some scoping errors due to my moving AnySeq, FieldName and NameValuePairSeq to the CORBA namespace. Thanks to Irfan for reporting this problem. * TAO/tests/DynAny_Test/da_tests.idl: Commented out a typecode-inside-union case until it can be fixed in the IDL compiler. Mon May 24 16:20:39 1999 Jeff Parsons * TAO/tests/Param_Test/recursive_struct.h: * TAO/tests/Param_Test/recursive_struct.cpp: * TAO/tests/Param_Test/param_test.idl: * TAO/tests/Param_Test/param_test_i.h: * TAO/tests/Param_Test/param_test_i.cpp: * TAO/tests/Param_Test/driver.cpp: * TAO/tests/Param_Test/options.h: * TAO/tests/Param_Test/options.cpp: * TAO/tests/Param_Test/tests.h: * TAO/tests/Param_Test/client.dsp: * TAO/tests/Param_Test/run_test.pl: * TAO/tests/Param_Test/Makefile: Added new test to Param_Test to test a struct that contains a sequence of itself, for example: struct foo { long x; sequence offspring; }; Also made the IDL compiler use interpreted marshaling until a further mod to the IDl compiler is made (according to Andy, his changes work now only for interpreted marshaling). Mon May 24 16:03:20 1999 Irfan Pyarali * tests: Modified/fixed the following NT makefiles: - TAO_Tests.dsw - DynAny_Test/DynAny_Test.dsw - DynAny_Test/basic_test.dsp - InterOp-Naming/InterOp_test.dsp - MT_Client/client.dsp - MT_Client/orb_creation.dsp - MT_Client/server.dsp - NestedUpcall/MT_Client_Test/client.dsp - NestedUpcall/MT_Client_Test/server.dsp - NestedUpcall/Reactor/client.dsp - NestedUpcall/Reactor/server.dsp - NestedUpcall/Triangle_Test/initiator.dsp - NestedUpcall/Triangle_Test/server_A.dsp - NestedUpcall/Triangle_Test/server_B.dsp Mon May 24 15:58:14 1999 Jeff Parsons * tao/CDR_Interpreter.cpp: Committed a fix to calc_seq_attributes() sent to me by Andy Gokhale , which corrected a problem with recursive structs. Thanks, Andy! Mon May 24 15:35:57 1999 Jeff Parsons * TAO_IDL/be/be_union.cpp: Fixed a couple of MSVC warnings - a signed/unsigned mismatch and a 32-bit overflow caused by adding 1 to ACE_UINT32_MAX. Mon May 24 15:13:14 1999 Irfan Pyarali * tao/Policy_Current: Made changes to this class such that the Policy_Current class is no longer TSS. This object belongs to the ORB, but its implementation (TAO_Policy_Current_Impl) is in TSS. These changes are similar to the ones made to the POA Current classes. The following files were changed: - ORB.cpp - ORB_Core.cpp - ORB_Core.h - Policy_Manager.cpp - Policy_Manager.h - Policy_Manager.i - Stub.cpp Mon May 24 13:15:16 1999 Carlos O'Ryan * tao/corbafwd.h: Use the OMG assigned number of the default minor code. Mon May 24 12:47:45 1999 Carlos O'Ryan * TAO_IDL/be/be_visitor_union/union_ci.cpp: There was a missing ';' in the generated code. Mon May 24 07:59:45 EDT 1999 Aniruddha Gokhale * TAO_IDL/ast/ast_generator.cpp (create_union_branch): TAO_IDL/ast/ast_union_branch.cpp (constructor): TAO_IDL/be/be_generator.cpp (create_union_branch): TAO_IDL/be_include/be_generator.h (create_union_branch): TAO_IDL/be_include/be_union_branch.h (constructor): TAO_IDL/fe/{idl.yy, y.tab.cpp, y.tab.h}: TAO_IDL/include/ast_geneator.h (create_union_branch): TAO_IDL/include/ast_union_branch.h (constructor): Constructor of the union_branch node has been slightly modified so that now it can take a list of labels as its parameter instead of a single Union_Label node. This was required because a single union branch can be shared by several case labels as shown in the example below: union U switch (long) { case 0: char c; case 1: case 2: default: octet o; }; We were also required to make modifications to the "actions" in the fe/idl.yy file for the union branch rule because previously it would not allow us to have a union branch node to have several case labels. We now create a UTL_Label_List out of all such shared case/default labels and then pass this list as a parameter to the constructor of the UnionBranch node. This required us to the change the create_union_branch operation signature in the generator classes. The fe/y.tab.{h, cpp} have been regenerated. * TAO_IDL/be/be_union.cpp: TAO_IDL/be_include/be_union.h: Added the compute_default_value and default_value methods. These methods will compute/return the value that must be used for the "default" label. There are two scenarios whenever such a value is required. Wheneveran explicit "default" label exists in a union definition, the Typecode for the default label must provide a value for the default case. This default value must be something other than that used by all other case labels and which is a permissible value as defined by the "type" of the discriminant. For example, if the discriminant type is an unsigned long, then the permissible value for default label is anything from 0 to MAX_ULONG except those already used up by the case labels. The second scenario where we need this default value is when no explicit default clause is provided in the union definition AND the case labels do not cover all the permissible values supported by the discriminant type. In such a scenario, the CORBA IDL->C++ mapping requires us to generate a method called "default ()". The compute_default_value () method provides the algorithm that takes care of computing the default value (if at all it is required) as demanded by the two scenarios described above. The "default_value" method simply returns the computed value. * TAO_IDL/be/be_visitor_typecode/typecode_defn.cpp: In the gen_encapsulation and compute_encap_len for union_branch, we must now account for the shared case labels as well as the default label that we now support. In particular, the modifications were necessary because union branches now contain a list of UnionLabels and special treatment is necessary for default labels. If we want optimized typecodes, we can now generate indirections for union branches that have several shared case labels. Thus, the first one will be fully specified and the rest will be indirections. No specific change was required for this part to work. Another cosmetic change was for "tk_objref", there was an indentation missing. * TAO_IDL/be/be_visitor_union/cdr_op_cs.cpp: TAO_IDL/be/be_visitor_union/union_ch.cpp: TAO_IDL/be/be_visitor_union/union_ci.cpp: TAO_IDL/be/be_visitor_union_branch/public_assign_cs.cpp: TAO_IDL/be/be_visitor_union_branch/public_reset_cs.cpp: TAO_IDL/be/be_visitor_union_branch/public_access_cs.cpp: Provided support to handle shared case labels and default label. We now generate the "default ()" method whenever it is required as described in the scenario above. * TAO_IDL/be/be_visitor_union_branch/cdr_op_cs.cpp: Thanks to (name unknown) gwtovrea@west.raytheon.com for pointing out incorrectly generated code for enums in the CDR >> operator. Rather than generating the actual type for the enum, we were generating CORBA::Long. This is now fixed. Sun May 23 18:06:37 1999 Carlos O'Ryan * orbsvcs/tests/Event/Basic/Observer.h: * orbsvcs/tests/Event/Basic/Observer.cpp: Fixed memory leak in the test * orbsvcs/orbsvcs/Event/EC_Gateway.cpp: Initialize fields to avoid UMR problems in purify. Sun May 23 16:37:03 1999 Carlos O'Ryan * orbsvcs/tests/Event/lib/Driver.cpp: On IRIX the threads were not activated because the priority was too high. Sun May 23 16:06:05 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Makefile: * orbsvcs/orbsvcs/Event/EC_Defaults.h: * orbsvcs/orbsvcs/Event/EC_Default_Factory.h: * orbsvcs/orbsvcs/Event/EC_Default_Factory.i: * orbsvcs/orbsvcs/Event/EC_Event_Channel.h: * orbsvcs/orbsvcs/Event/EC_Event_Channel.i: * orbsvcs/orbsvcs/Event/EC_ProxyPushSupplier_Set.cpp: Added a new header file where the default configuration of the EC is defined. The current values provide an MT-safe configuration, which allows delayed operations to wait for a long time. This works best in most cases, but hard real-time applications may wish to fine tune the algorithm to avoid starvations of delayed changes. * orbsvcs/tests/Event/Basic/run_test.pl: * orbsvcs/tests/Event/Performance/ec.st.conf: * orbsvcs/tests/Event/Performance/run_test.pl: The configuration file now sets the configuration for a single threaded event channel, without any locks. The default settings are MT-safe so there is no need to use a file anymore. * orbsvcs/tests/Event/lib/Driver.cpp: Some fields where unitiliazed, fixed. Sun May 23 10:06:36 1999 Carlos O'Ryan * orbsvcs/tests/Event/lib/README: * orbsvcs/tests/Event/Basic/README: * orbsvcs/tests/Event/Basic/run_test.pl: * orbsvcs/tests/Event/Performance/README: * orbsvcs/tests/Event/Performance/run_test.pl: Added some README files explaining the purpose of each test and how to run it. Also added some simple run_test scripts to execute the tests. Sat May 22 22:16:57 1999 Carlos O'Ryan * orbsvcs/tests/EC_Throughput/ECT_Throughput.cpp: The busy_hwm should be set in the attributes now. Sat May 22 18:43:00 1999 Carlos O'Ryan * orbsvcs/orbsvcs.dsw: * orbsvcs/CosEvent_Service/CosEvent_Service.dsp: * orbsvcs/CosEvent_Service/CosEvent_Service.dsw: * orbsvcs/examples/CosEC/Factory/Makefile: * orbsvcs/examples/CosEC/Factory/Factory.dsw: * orbsvcs/examples/CosEC/Factory/FactoryClient.dsp: * orbsvcs/examples/CosEC/Factory/FactoryServer.dsp: * orbsvcs/examples/CosEC/Factory/CosEventChannelFactory.idl: * orbsvcs/orbsvcs/orbsvcs.dsp: * orbsvcs/orbsvcs/orbsvcs_static.dsp: * orbsvcs/tests/Event/Event.dsw: * orbsvcs/tests/Event/Basic/Basic.dsw: * orbsvcs/tests/Event/Basic/Observer.dsp: * orbsvcs/tests/Event/Basic/Reconnect.dsp: * orbsvcs/tests/Event/Basic/Schedule.dsp: * orbsvcs/tests/Event/Basic/Shutdown.dsp: * orbsvcs/tests/Event/Performance/Connect.dsp: * orbsvcs/tests/Event/Performance/ECPerformance.dsw: * orbsvcs/tests/Event/Performance/Throughput.dsp: * orbsvcs/tests/Event/lib/ECTest.dsp: Added project files for several new tests and examples. Sat May 22 17:50:12 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Event/EC_ConsumerAdmin.h: * orbsvcs/orbsvcs/Event/EC_ConsumerAdmin.i: * orbsvcs/orbsvcs/Event/EC_ConsumerAdmin.cpp: * orbsvcs/orbsvcs/Event/EC_Event_Channel.h: * orbsvcs/orbsvcs/Event/EC_Event_Channel.i: * orbsvcs/orbsvcs/Event/EC_Event_Channel.cpp: * orbsvcs/orbsvcs/Event/EC_Per_Supplier_Filter.h: * orbsvcs/orbsvcs/Event/EC_Per_Supplier_Filter.cpp: The EC attributes include parameters that control the level of concurrency in the proxy supplier sets. * orbsvcs/orbsvcs/Event/EC_SupplierFiltering.h: * orbsvcs/orbsvcs/Event/EC_Trivial_Supplier_Filter.h: * orbsvcs/orbsvcs/Event/EC_Trivial_Supplier_Filter.cpp: * orbsvcs/orbsvcs/Event/EC_Per_Supplier_Filter.h: * orbsvcs/orbsvcs/Event/EC_Per_Supplier_Filter.cpp: Added reference counting: several threads could be pushing on one consumer proxy and another thread decides to disconnect from it. The corresponging supplier set must be deleted only once all the threads finish using it. In many cases the implementation is trivial because there is a clear owner (ex: the ConsumerAdmin), and in others the locking is shared with the consumer proxy (Per_Supplier). * orbsvcs/orbsvcs/Event/EC_Gateway.h: * orbsvcs/orbsvcs/Event/EC_Gateway.cpp: The gateway was not properly synchronized. The locking in the push() method is interesting: we don't hold the lock during the complete dispatch, instead we keep track of the number of threads pushing to the gateway. If we receive an update_consumer() call during a push we post the change until all the push() call finish. Only the last update_consumer() is kept because they overwrite each other. * orbsvcs/orbsvcs/Event/EC_ProxyConsumer.h: * orbsvcs/orbsvcs/Event/EC_ProxyConsumer.i: * orbsvcs/orbsvcs/Event/EC_ProxyConsumer.cpp: We needed an unprotected accessor to the publications, to avoid dead-locks during connect_push_consumer call. Use the new reference counting on the EC_SupplierFiltering class. * orbsvcs/orbsvcs/Event/EC_ObserverStrategy.cpp: We were holding locks during upcalls to the gateways and not setting the QoS parameters correctly. The update_consumer/update_supplier messages were backwards. * orbsvcs/orbsvcs/Event/EC_ProxySupplier.cpp: Fixed several race conditions related to connect/disconnect calls during pushes. * orbsvcs/orbsvcs/Event/EC_ProxyPushSupplier_Set_T.cpp: Removed debug messages. * orbsvcs/tests/Event/Basic/Observer.h: * orbsvcs/tests/Event/Basic/Observer.cpp: * orbsvcs/tests/Event/Basic/svc.conf: Fixed minor problems with the test itself. Sat May 22 17:10:11 1999 Chris Gill * TAO version 0.3.23 released. Sat May 22 14:07:57 1999 Nagarajan Surendran * orbsvcs/orbsvcs/AV/AVStreams_i.{h,cpp} (TAO_Forward_FlowSpec_Entry): Prefixed the enumerations with TAO_AV to avoid name clash. Thanks to David Levine for reporting this error. Fri May 21 22:09:09 1999 Irfan Pyarali * tao: Modified the following files to make minimum CORBA work again. - Connect.cpp - DomainC.cpp - DomainS.cpp - ORB_Core.cpp - POA.cpp - POAC.h - POAManager.h - POAManager.i - POAS.cpp - PolicyS.cpp - Request.cpp - WrongTransactionC.cpp - WrongTransactionC.h - corbafwd.h - orbconf.h * examples/Simple/Simple_util.cpp (test_for_ins): Removed unnecessary bank dependencies that Vishal had added to this generic code. * tao/Connect.cpp (svc): * tao/ORB_Core.cpp (inherit_from_parent_thread): Redid (with the help of Carlos) these methods in view of the new architecture. ORB_Core is no longer TSS, only TAO_ORB_Core_TSS_Resources is. This will fix a bug in all applications using the new architecture, TSS resources and thread per connection (like the ImplRepo). * tao/Connect.cpp (handle_message): Changed the length of the INS lookup string from to . Since Vishal always tested with the "bank" string, he got lucky with this since is 4 and strlen ("bank") is also 4. Thanks to Vyacheslav A. Batenin for reporting this. Fri May 21 16:19:08 1999 Jeff Parsons * TAO/tests/Param_Test/param_test.idl: * TAO/tests/Param_Test/complex_any.h: * TAO/tests/Param_Test/complex_any.cpp: * TAO/tests/Param_Test/options.h: * TAO/tests/Param_Test/options.cpp: * TAO/tests/Param_Test/driver.cpp: * TAO/tests/Param_Test/param_test_i.h: * TAO/tests/Param_Test/param_test_i.cpp: * TAO/tests/Param_Test/tests.h: * TAO/tests/Param_Test/client.dsp: * TAO/tests/Param_Test/Makefile: Added new test. The data type is a complex Any, suggested by a real-world use case submitted by Frank Buschmann . See comment in complex_any.cpp above reset_parameters for the Any structure. * TAO/tests/Param_Test/any.cpp: Fixed some indentation and removed a memory leak related to gen_string. Fri May 21 12:27:16 1999 Nagarajan Surendran * orbsvcs/orbsvcs/AV/AVStreams_i.{h,cpp}: * orbsvcs/orbsvcs/AV/sfp.cpp: Fixed g++ template errors and warnings. Thanks to David and Andy for reporting these errors. Fri May 21 09:20:10 1999 Carlos O'Ryan * tao/GIOP.cpp: Changed character literals in the GIOP magic number to numeric constants, otherwise it does not work in EBCDIC (or machines that are not ASCII for that matter). Thanks to Jim Rogers for pointing out this problem. * orbsvcs/tests/Property/Makefile: Updated dependencies Fri May 21 09:31:32 EDT 1999 Aniruddha Gokhale * orbsvcs/orbsvcs/Makefile: ran "make depend". Thu May 20 23:09:32 1999 Pradeep Gore * orbsvcs/examples/CosEC/Factory/FactoryClient.cpp: * orbsvcs/CosEvent_Service/CosEvent_Service.cpp: Added error checks in the and methods. Thu May 20 21:49:42 1999 David L. Levine * all run_test*pl scripts: moved comment line(s) from head of file so that it is not interpreted as a csh file. Thanks to Gregory W Ross for reporting problems with the comment lines. Thu May 20 21:28:25 1999 Nagarajan Surendran * orbsvcs/orbsvcs/AV/AVStreams_i.{h,cpp}: Fixed a few MSVC warnings and prefixed the Direction enumeration to DIR_ since IN,OUT and INOUT are MSVC keywords. Thu May 20 21:09:29 1999 Jeff Parsons * tao/DomainC.cpp: Added #include "tao/POA_CORBA.h" so we can compile on IBM OpenEdition. Thanks to Jim Rogers for pointing this out. Thu May 20 20:29:16 1999 Irfan Pyarali * tao/ORB.i (orb_core): Added accessor. * tao/POA.cpp (implementation): Removed extra semi-colon. * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp (invoke): Needed fixing since the POA Current changed. Thu May 20 20:34:35 1999 Nagarajan Surendran * orbsvcs/orbsvcs/Makefile: Added sfp to Makefile and updated dependencies. Thu May 20 20:00:08 1999 Jeff Parsons * tao/decode.cpp: Added a typecode release call to TAO_Marshal_Any::decode() to plug a memory leak occurring with inout Any parameters. Thu May 20 19:52:49 1999 Nagarajan Surendran * orbsvcs/orbsvcs/AV/AVStreams_i.{h,cpp}: Changed TAO_StreamEndPoint from a template to non-template and added MSVC dominance warning disabling pragma and moved it from AVStreams_i_T.{h,cpp} to these files. Also Added a flowspec class to parse the flowSpec string into different components. * orbsvcs/orbsvcs/AV/AVStreams_i_T.{h,cpp}: Removed the AVStreams_i_T.{h,cpp} as they're no longer needed. * orbsvcs/orbsvcs/Property/CosPropertyService_i.{h,cpp}: Changed TAO_PropertySet from a template to non-template and added MSVC dominance warning disabling pragma and moved it from CosPropertyService_i_T.{h,cpp} to these files. * orbsvcs/orbsvcs/Property/CosPropertyService_i_T.{h,cpp}: Removed these files as they're no longer needed. The above fixes solves the template errors/warnings in orbsvcs seen on HP-UX,SunOS 5.6 and Digital Unix. Thanks to John R. Taylor ,gwtovrea@west.raytheon.com, Andy Gokhale and David Levine for reporting these errors. * orbsvcs/orbsvcs/Makefile: Updated dependencies. Thu May 20 18:46:44 1999 Pradeep Gore * orbsvcs/examples/CosEC/Factory/Makefile: updated dependencies. * orbsvcs/orbsvcs/CosEC_Utility_Methods_T.{h,cpp}: Removed this file. templates seem to be an overkill here. * orbsvcs/orbsvcs/CosEvent_Utilities.h: added TAO_ORBSVCS_Export. added a #pragma for msvc warning 4250 * orbsvcs/orbsvcs/Makefile: removed CosEC_Utility_Methods_T * orbsvcs/orbsvcs/CosEvent_Utilities.cpp: * orbsvcs/examples/CosEC/Factory/CosEventChannelFactory_i.cpp * orbsvcs/CosEvent_Service/CosEvent_Service.cpp: removed CosEC_Utility_Methods usage. * orbsvcs/CosEvent_Service/CosEvent_Service.h added a method. * orbsvcs/CosEvent_Service/README modified the README to reflect the change in parameter options. Thu May 20 17:39:50 1999 Nanbor Wang * TAO/tao/TAO.dsp: * TAO/TAO_IDL/tao_idl.dsp: * orbsvcs/orbsvcs/orbsvcs.dsp: Fixed Alpha configurations. Thanks to Christian Schuderer for reporting this. * TAO/TAO_IDL/tao_idl_static.dsp: Removed definitions of IDL_CFE_VERSION. Thu May 20 17:11:02 1999 Jeff Parsons * tao/Typecode_Constants.cpp: Added _tc_Pollable, _tc_DIIPollable, and _tc_PollableSet to fini(). Thu May 20 15:22:49 1999 Irfan Pyarali * tao/default_resource.cpp (get_reactor): The problem was that when the reactor implementation was given to the reactor interface class, it was not instructed to delete the implementation. Once this was fixed, the change below by Carlos was not necessary. * tao/POA_Current: Changed the POA Current from a TSS specific object to a global object owned by the ORB. Its state, however, is still managed by a TSS object (this new object is called TAO_POA_Current_Impl). All the POA, Object_Adapter, TSS_Resources, and Servant Base classes were changed to use this new class. Also, cleaned up the POA Current implementation class. There were many extra methods that not used in the new scheme. Thanks to Jon Biggar for pointing out that the original scheme was not compliant. * examples/POA/DSI: - Changed access to POA Current. Previously, we use to ask the ORB everytime. Now we only ask once and keep it around as a state variable. - Added shutdown() method. - Fixed exception handling. - Added more debugging info to the server. Thu May 20 15:00:37 1999 Carlos O'Ryan * tao/Pluggable.h: * tao/IIOP_Acceptor.h: * tao/IIOP_Acceptor.cpp: * tao/default_resource.cpp: Added a close() method to the TAO_Acceptor class to orderly cleanup the resources on shutdown. Thu May 20 13:53:11 1999 Carlos O'Ryan * orbsvcs/tests/Event/Basic/Makefile: * orbsvcs/tests/Event/Basic/Observer.h: * orbsvcs/tests/Event/Basic/Observer.cpp: * orbsvcs/tests/Event/Basic/observer.conf: * orbsvcs/tests/Event/lib/Consumer.h: * orbsvcs/tests/Event/lib/Consumer.cpp: * orbsvcs/tests/Event/lib/Driver.h: * orbsvcs/tests/Event/lib/Driver.cpp: New test for the observers and dynamic connection/reconnections. It compiles, but needs more testing and I cannot do that on Linux. * orbsvcs/orbsvcs/Event/EC_Gateway.h: * orbsvcs/orbsvcs/Event/EC_Gateway.cpp: Minor fixes to support configurations without an scheduling service. Thu May 20 12:17:36 1999 Jeff Parsons * tao/Any.h: * tao/Any.cpp: * tao/GIOP_Server_Request.cpp: * tao/NVList.cpp: Changed the signature of void _tao_replace (CORBA::TypeCode_ptr, const ACE_Message_Block *mb, CORBA::Boolean any_owns_data, CORBA::Environment &TAO_IN_ENV = CORBA::default_environment ()); to void _tao_replace (CORBA::TypeCode_ptr, const ACE_Message_Block *mb, CORBA::Environment &TAO_IN_ENV = CORBA::default_environment ()); Also modified Any's copy contructor and assignment operator to set any_own_data_ to 0. In all these cases, the void* value_ is freed, but not set to anything. Also changed the calls to _tao_replace() in the last two files to reflect the new signature. Thu May 20 12:14:20 1999 Carlos O'Ryan * orbsvcs/examples/CosEC/Factory/CosEventChannelFactory_i.cpp: Added missing template instantiations. Thu May 20 11:06:25 1999 Pradeep Gore * orbsvcs/orbsvcs/CosEvent_Utilities.cpp: Fixed a bug in parsing QOS parameters - thanks to Paul Calabrese for reporting this and providing a fix. * orbsvcs/orbsvcs/CosEC_Utility_Methods_T.cpp: removed an extra ";" Wed May 19 18:14:41 1999 Nanbor Wang * orbsvcs/orbsvcs/orbsvcs_static.dsp: * 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: Fixed Release configuations. Wed May 19 16:21:11 1999 Carlos O'Ryan * tao/default_resource.cpp: Fixed incorrect use of ACE_WIN32, ACE_HAS_FL and ACE_HAS_XT macros, thanks to Jeff Parsons for reporting this. Wed May 19 15:54:53 1999 Jeff Parsons * tao/Typecode_Constants.cpp: Added some typecodes to fini() that I had forgotten to add before. Wed May 19 15:25:00 1999 Carlos O'Ryan * tao/corbafwd.h: * tao/corbafwd.i: * tao/ORB.h: * tao/ORB.i: * tao/ORB.cpp: * tao/CDR_Interpreter.cpp: * tao/Managed_Types.cpp: * tao/Managed_Types.h: * tao/Managed_Types.i: * tao/Marshal.i: * tao/POA.cpp: * tao/POA.h: * tao/Request.cpp: * tao/Typecode_Constants.cpp: * orbsvcs/tests/EC_Custom_Marshal/ECM_Supplier.cpp: * orbsvcs/tests/Logger/Logging_Test_i.cpp: * orbsvcs/tests/Logger/client_i.cpp: * orbsvcs/tests/Property/client.cpp: * orbsvcs/tests/Property/main.cpp: * performance-tests/Cubit/TAO/IDL_Cubit/svc.conf: * tests/Param_Test/options.cpp: Added support for CORBA::WString_var and CORBA::WString_out, also did a quick cleanup for the WString_Manager classes. Thanks to Lothar Werzinger for providing this fixes. Also removed all uses of string_copy which is a non-standard TAO extension. * docs/releasenotes/TODO.html: More EC updates * orbsvcs/orbsvcs/Event/EC_ObserverStrategy.cpp: Added copy-on-read to avoid dead-locks during dispatch. Wed May 19 15:12:26 1999 Carlos O'Ryan * orbsvcs/CosEvent_Service/CosEvent_Service.cpp: * orbsvcs/CosEvent_Service/svc.conf: Use the TAO_EC_Default_Factory for the Rtec Event Channel and configure it using a svc.conf file. * orbsvcs/examples/CosEC/Factory/CosEventChannelFactory_i.cpp: Fixed more template instantiation problems. Wed May 19 13:07:06 1999 Carlos O'Ryan * orbsvcs/orbsvcs/CosEvent_Utilities.cpp: Fixed several syntax errors, at least it compiles now. Wed May 19 00:20:08 1999 Pradeep Gore * orbsvcs/orbsvcs/CosEvent_Utilities.{h,cpp}: * orbsvcs/orbsvcs/CosEC_Utility_Methods_T.{h,cpp}: Added these files to provide utility base classes and useful methods for implementing CosEC applications. * orbsvcs/orbsvcs/Makefile: added CosEvent_Utilities and CosEC_Utility_Methods_T to the CosEvent section. * orbsvcs/examples/CosEC/Factory/FactoryCosEventChannel_i{h,cpp}: Removed these files - All the functionality of this implementation has been moved to the class defined in orbsvcs/orbsvcs/CosEvent_Utilities.h * orbsvcs/examples/CosEC/Factory/CosEventChannelFactory_i.cpp modified to use the class. * orbsvcs/examples/CosEC/Factory/FactoryClient.cpp Added an extra debug message in the method. * orbsvcs/examples/CosEC/Factory/Makefile removed FactoryCosEventChannel_i. * orbsvcs/CosEvent_Service/CosEvent_Service.{h,cpp}: All redone now to use the class. Tue May 18 22:19:36 1999 Carlos O'Ryan * tao/Resource_Factory.h: * tao/Resource_Factory.cpp: * tao/default_resource.h: * tao/default_resource.i: * tao/default_resource.cpp: * docs/Options.html: The default resource factory can select any of the "exotic" ACE reactors (XtReactor, FlReactor, WFMO_Reactor, Msg_WFMO_Reactor) as well as the regular Select reactor (with or without locking). The old option (-ORBreactorlock) is obsolete and should be removed after a couple of beta kits. * tests/Makefile: * tests/FL_Cube/Makefile: * tests/FL_Cube/client.cpp: * tests/FL_Cube/server.cpp: * tests/FL_Cube/svc.conf: * tests/FL_Cube/test.idl: * tests/FL_Cube/test_i.cpp: * tests/FL_Cube/test_i.h: * tests/FL_Cube/test_i.i: A small example that illustrates how TAO can work with the FlReactor. A simple server displays a cube using the FL toolkit for the GUI elements and OpenGL for the graphics, its CORBA interface lets the client control the viewpoint for the cube. A simple client uses GUI elements to let the user control the remote cube displayer. Tue May 18 11:05:23 1999 David L. Levine * TAO_IDL/Makefile: removed DU cxx and Green Hills gcx warning suppressions because they're no longer necessary (at least with cxx 6.2-020). Mon May 17 19:41:04 1999 Jeff Parsons * tao/corbafwd.h: * tao/POA_CORBA.h: * tao/Typecode_Constants.cpp: * tao/DynAnyC.{h,i,cpp}: * tao/dynAnyS.cpp: * tao/DynArray_i.{h,cpp}: * tao/DynSequence_i.{h,cpp}: * tao/DynStruct_i.{h,cpp}: Moved AnySeq, FieldName, NameValuePair, and NameValuePairSeq to the CORBA namespace. They had previously been in the global namespace. Generated new typecodes for these, to reflect the new scoping, and moved the typecodes to Typecode_Constants.cpp. Thanks to Serge Du for pointing out a namespace clash with AnySeq in his application that led to all this. Mon May 17 18:17:42 1999 Douglas C. Schmidt * tao/UIOP_Transport.cpp, tao/IIOP_Transport.cpp: Removed ACE_DEFAULT_WRITEV_MAX and replaced it with IOV_MAX. Mon May 17 15:25:40 1999 David L. Levine * orbsvcs/tests/Event_Latency/run_tests.sh: replaced hard-coded user name with $login, which is derived using the same logic as in orbsvcs/tests/start_services. Thanks to Lothar Werzinger for reporting this. Mon May 17 15:17:50 1999 Carlos O'Ryan * tests/Event/Makefile: * tests/Event/Performance/Connect.cpp: * tests/Event/Performance/Connect.h: * tests/Event/Performance/Makefile: * tests/Event/Performance/Throughput.cpp: * tests/Event/Performance/Throughput.h: * tests/Event/Performance/ec.mt.conf: * tests/Event/Performance/ec.st.conf: * tests/Event/lib/Consumer.h: * tests/Event/lib/Driver.cpp: * tests/Event/lib/Driver.h: * tests/Event/lib/Supplier.h: Added new test to measure the throughput/latency of the EC and the time it takes to connect/disconnect from it. * orbsvcs/orbsvcs/Event_Service_Constants.h: * orbsvcs/Event/Event_Channel.cpp: In some applications we need to use recursive mutexes in the Event Channel otherwise it dead-locks. Thanks to Mike Mazurek for finding this bug and providing the fixes. Mon May 17 14:40:09 1999 Irfan Pyarali * tao/ORB_Core.cpp (init): Removed extra call to orb_params()->use_dotted_decimal_addresses. Mon May 17 11:31:48 1999 Marina Spivak * orbsvcs/orbsvcs/Naming/Naming_Utils.cpp * orbsvcs/orbsvcs/Naming/Hash_Naming_Context.cpp: Added "ACE_UNUSED_ARG (c_impl);" to avoid DEC compiler warning. Mon May 17 11:04:02 1999 Jeff Parsons * tao/tests/Param_Test/ub_any_seq.cpp: Changed the logic of check_validity() so that *all* the elements of the sequence get checked instead of just the first one (this should also get rid of a DU warning), added a constant representing the number of possible types tested in the sequence, and removed some unnecessary switch cases in init_parameters() and reset_parameters(). Sun May 16 21:07:34 1999 Nanbor Wang * rules.tao.GNU: Merged the stub and skeleton rules for flick compiler together. * TAO_IDL/Makefile: * TAO_IDL/fe/Makefile.am: lex.yy.cpp needs to be patched with lex.yy.cpp.diff. * TAO_IDL/fe/idl.ll: Applied ACE_NOTREACHED to unreachable break's. * TAO_IDL/fe/lex.yy.cpp: Patched with lex.yy.cpp.diff. * TAO_IDL/fe/lex.yy.cpp.diff: Added this file to preserve patches that can't be done using 'sed'. It also prevents me from throwing tantrums. Sun May 16 18:47:38 1999 Douglas C. Schmidt * TAO version 0.3.22 released. Sun May 16 18:25:26 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Event/EC_Event_Channel.i: Fixed default concurrency high water mark. Sun May 16 10:59:12 1999 Carlos O'Ryan * orbsvcs/examples/CosEC/Factory/FactoryCosEventChannel_i.cpp: * orbsvcs/examples/CosEC/Factory/CosEventChannelFactory_i.cpp: Added missing template instantiations, at least IRIX/MIPSPro needs them. * TAO_IDL/be/be_visitor_typecode/typecode_defn.cpp: Removed unused variable * TAO_IDL/be/be_visitor_union/any_op_cs.cpp: The generated code produced a warning in the extraction operator of unions from anys. Sun May 16 10:35:17 1999 Pradeep Gore * orbsvcs/examples/CosEC/Factory/CosEventChannelFactory_i.cpp: Fixed a compile warning regarding checking nil pointers. Sat May 15 23:04:55 1999 David L. Levine * TAO_IDL/fe/lex.yy.cpp (TAO_YY_BREAK): removed the ACE_NOTREACHED because it caused tao_idl to fail on IRIX and DU. Ref: Sat May 15 11:38:59 1999 Nanbor Wang . Sat May 15 22:15:20 1999 Carlos O'Ryan * orbsvcs/examples/CosEC/Factory/CosEventChannelFactory_i.cpp: * orbsvcs/examples/CosEC/Factory/CosEventChannelFactory_i.h: Added some more @@ comments for Pradeep, in response to his questions. * tao/Connect.cpp: Remvoed yet another call to ORB_Core_instance() Sat May 15 22:16:06 1999 Marina Spivak * orbsvcs/orbsvcs/Naming/Persistent_Context_Index_T.cpp: Added variable to store the return value in the method. This is to avoid various compiler warnings regarding "reaching the end of non-void function". * orbsvcs/orbsvcs/Naming/Naming_Utils.cpp * orbsvcs/orbsvcs/Naming/Naming_Utils.cpp: Fixed an incorrect comment. 1999-05-15 Vishal Kachroo * performance-tests/POA/Demux/poa_names_100.dat: * performance-tests/POA/Demux/demux_test_server.h * performance-tests/POA/Demux/demux_test_server.cpp Removed the restriction on the no. of servants on the server side. Sat May 15 16:51:08 1999 Vishal Kachroo * tao/ObjectIDList.i : Fixed some warnings on VxWorks. Thanks to David Levine for pointing this out. Sat May 15 16:26:49 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Event/EC_Dispatching_Task.cpp: Fixed placement new expression, thanks to David Levine for pointing this out. Sat May 15 14:45:28 1999 David L. Levine * orbsvcs/ImplRepo_Service/Repository.h: added #include of ace/SString.h. * orbsvcs/ImplRepo_Service/Repository.h,ImplRepo_i.h: change multiple #include protection to #ifndef. * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp (activate_object): commented out unused local "new_addr". Sat May 15 14:35:48 1999 David L. Levine * tao/ObjectIDList.*: fixed RCS Id string. Sat May 15 14:11:37 1999 Carlos O'Ryan * TAO_IDL/Makefile: * TAO_IDL/be/be_visitor_argument/compiled_marshal_ss.cpp: * TAO_IDL/be/be_visitor_argument/marshal_ss.cpp: * TAO_IDL/be/be_visitor_argument/post_upcall_ss.cpp: * TAO_IDL/be/be_visitor_argument/vardecl_ss.cpp: * TAO_IDL/be/be_visitor_operation/argument.cpp: * TAO_IDL/be/be_visitor_operation/argument_marshal.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/operation_ss.cpp: * TAO_IDL/be/be_visitor_operation/rettype_post_docall_cs.cpp: * TAO_IDL/be/be_visitor_operation/rettype_post_upcall_ss.cpp: * TAO_IDL/be/be_visitor_operation/rettype_vardecl_cs.cpp: * TAO_IDL/be/be_visitor_operation/rettype_vardecl_ss.cpp: * TAO_IDL/be_include/be_visitor_argument.h: * TAO_IDL/be_include/be_visitor_argument/post_upcall_ss.h: * TAO_IDL/be_include/be_visitor_operation/rettype_post_docall_cs.h: * TAO_IDL/be_include/be_visitor_operation/rettype_post_upcall_ss.h: Fixed warnings in generated code if the arguments of an operation where arrays. The changes have been tested for both fixed sized and variable sized arrays in Param_Test. This should also fix the compilation problem on HP-UX and other platforms. Sat May 15 11:38:59 1999 Nanbor Wang * TAO_IDL/fe/lex.yy.cpp (TAO_YY_BREAK): Reapplied my old change that handles not-reached break statement. How did it get lost? Sat May 15 10:22:52 EDT 1999 Aniruddha Gokhale * TAO_IDL/be/be_array.cpp: TAO_IDL/be_include/be_array.h: TAO_IDL/be/be_enum.cpp: TAO_IDL/be_include/be_enum.h: TAO_IDL/be/be_enum_val.cpp: TAO_IDL/be_include/be_enum_val.h: TAO_IDL/be/be_exception.cpp: TAO_IDL/be_include/be_exception.h: TAO_IDL/be/be_field.cpp: TAO_IDL/be_include/be_field.h: TAO_IDL/be/be_interface.cpp: TAO_IDL/be_include/be_interface.h: TAO_IDL/be/be_interface_fwd.cpp: TAO_IDL/be_include/be_interface_fwd.h: TAO_IDL/be/be_predefined_type.cpp: TAO_IDL/be_include/be_predefined_type.h: TAO_IDL/be/be_scope.cpp: TAO_IDL/be_include/be_scope.h: TAO_IDL/be/be_sequence.cpp: TAO_IDL/be_include/be_sequence.h: TAO_IDL/be/be_string.cpp: TAO_IDL/be_include/be_string.h: TAO_IDL/be/be_structure.cpp: TAO_IDL/be_include/be_structure.h: TAO_IDL/be/be_typedef.cpp: TAO_IDL/be_include/be_typedef.h: TAO_IDL/be/be_union.cpp: TAO_IDL/be_include/be_union.h: TAO_IDL/be/be_union_branch.cpp: TAO_IDL/be_include/be_union_branch.h: Removed the gen_encapsulation, gen_typecode, tc_size, and tc_encap_len methods. All this has been moved to the typecode visitor (be_visitor_typecode_defn). * TAO_IDL/be/be_decl.cpp: TAO_IDL/be_include/be_decl.h: Removed the data members encap_len_, and the methods gen_encapsulation, gen_typecode, tc_encap_len, tc_size, tc_name2long, repoID_encap_len, and name_encap_len. All this has been moved to the be_visitor_typecode_defn visitor. * TAO_IDL/be/be_helper.cpp: TAO_IDL/be_include/be_helper.h: Added more operator<< for various ACE_CDR types. * TAO_IDL/be/be_sequence.cpp: TAO_IDL/be_include/be_sequence.h: TAO_IDL/be/be_structure.cpp: TAO_IDL/be_include/be_structure.h: TAO_IDL/be/be_type.cpp: TAO_IDL/be_include/be_type.h: TAO_IDL/be/be_union.cpp: TAO_IDL/be_include/be_union.h: Added a method (in_recursion) that returns a boolean result that indicates whether the sequence's element type is involved in a direct or indirect recursion. An example of such a scenario is: struct foo { // other fields sequence bar; }; The be_type's in_recursion method always returns 0 because all other subclasses of be_type except be_sequence, be_structure, and be_union will never be involved in the limited recursion allowed by the CORBA spec. * TAO_IDL/be/be_visitor_typecode.cpp: Added explicit template instantiations for templates used in the typecode_defn.cpp file. See below. * TAO_IDL/be/be_visitor_argument_post_docall_cs.cpp: In the visit interface method, we were not handling the out type. Now we correctly narrow the type and release the base type. * TAO_IDL/be/be_visitor_array/cdr_op_cs.cpp: TAO_IDL/be/be_visitor_attribute/attribute.cpp: TAO_IDL/be/be_visitor_sequence/cdr_op_cs.cpp: Added default cases to switch statements to eliminate warnings produced by EGCS about enums not handled. * TAO_IDL/be_include/be_codegen.h: Added new substate enumerations for use in typecode generation. * TAO_IDL/be/be_valuetype.cpp: TAO_IDL/be_include/be_valuetype.h: Commented out the typecode related methods. These need to be added later to the typecode visitor. This is still TO-DO. * TAO_IDL/be/be_visitor_enum/enum_cs.cpp: TAO_IDL/be/be_visitor_exception/exception_cs.cpp: TAO_IDL/be/be_visitor_interface/interface_cs.cpp: TAO_IDL/be/be_visitor_structure/structure_cs.cpp: TAO_IDL/be/be_visitor_typedef/typedef_cs.cpp: TAO_IDL/be/be_visitor_union/union_cs.cpp: Added a step where we set the context substate to typecode generation. This way we can then generate the top-level typecode encapsulation for the type we are dealing with. Nested typecodes are then generated by the visitor itself by setting the appropriate substate. * TAO_IDL/be/be_visitor_operation/operation_cs.cpp: Rearranged the invocation of the POST_INVOKE_CS visitor. Otherwise some code was getting duplicated. This was also necessary because for interpreted marshaling, we had to do some cleaning up of local variables. However, this was not required for the compiled marshaling stubs. * TAO_IDL/be/be_visitor_sequence/sequence_ch.cpp: TAO_IDL/be/be_visitor_sequence/sequence_cs.cpp: Commented out the code that generates typecodes for anonymous sequences. Once we are sure that nothing breaks, we will remove this code. * TAO_IDL/be/be_visitor_typecode/typecode_defn.cpp: TAO_IDL/be_include/be_visitor_typecode/typecode_defn.h: All the typecode generation is now handled by this visitor rather than individual files such as be_array.cpp, and others. Added all the methods for typecode generation such as gen_typecode, gen_encapsulation, tc_size, tc_encap_len, repoID_encap_len, name_ID_len, and name2long. Also added data members to track the computed sizes. We were required to add all the visit_* methods to deal with all the types. The most prominent addition to this visitor is the capability to generate typecodes for recursive types and the ability to generate optimized typecodes. Optimized typecodes use sharing of typecodes for repeated types. This is achieved via indirections. We do not optimize for typecodes of primitive types. * TAO_IDL/be/be_visitor_union_branch/public_access.cpp (visit_interface): The access method for object references was incorrect. We have now come up we a new way of returning the value from the acces method. In particular, instead of casting the value to CORBA::Object_ptr and then to void *, we simply return a pointer to TAO_Object_Field_T. In the decode and encode methods of the marshaling engine (see ChangeLog entry below), we invoke the appropriate upcast method to give us the right CORBA::Object_ptr value. This fix has now led to successful working of the Param_Test test for obj references that use interpretive marshaling. * TAO_IDL/driver/drv_args.cpp: Enabled optimized typecode handling. Also, we were checking for -Go option instead of -Gt option. This is now fixed. * tao/CDR_Interpreter.cpp: Handled indirected streams properly so that it will allow us to cross encapsulation boundaries. Previously, it wouldn't allow us to do so. * tao/Typecode.h: tao/Typecode.cpp: Added two data members called tc_base_ and root_tc_base_. The tc_base_ points to our tk_kind field in the CDR representation. The root_tc_base_ is for children typecodes (i.e., nested typecodes who have parents) and it points to the tk_kind field of the topmost level typecode. Also note that in the CTOR for complex typecodes, we now allocate 8 bytes in addition to the length parameter. The first two words occupy the top-level typecode's tk_kind value and the encapsulation length. The buffer_ member still points to the encapsulation so that no other change in the entire file is required. The reason why we had to have these extra 8 bytes at the start is to handle the recursive typecodes. For example struct foo { // fields sequence bar; }; The encaspulation for the above will generate an indirection whose offset will point to the tk_kind field of "foo". However, prior to the change described here, we only maintained the CDR representation of the encapsulation. So the offset would have pointed to 8 bytes before the encapsulation which really diod not exist. We would have required unnecessary code to handle such a case. So the best way was to maintain the entire typecode representation. * tao/decode.cpp: tao/encode.cpp: Indirected streams are now constructed properly such that we can cross encapsulation boundaries. We were not required to make any changes to the CTORs of ACE_InputCDR. We also properly handle the object reference fields of unions. The access method gives us a TAO_Object_Field_T<> pointer and then we invoke the _upcast method to give us the CORBA::Object_ptr. * tests/Param_Test/param_test.idl: tests/Param_Test/big_union.cpp: cosmetic changes. TO-DO for anonymous sequences whose element type gives rise to a recursion, we must generate the <<, >> compiled marshaling operators in the *.cpp file else we get a circular dependency. Fri May 14 23:55:47 1999 Jeff Parsons * tao/Request.{h,i,cpp}: Added Context_ptr member ctx_ to class CORBA_Request, along with accessor and mutator methods. Although Contexts are not implmented by TAO, these methods do not throw CORBA::NO_IMPLEMENT. Since I didn't see any functions in CORBA_Request using environment variables, I kept to that scheme and therefore could not use ACE_THROW or related macros. The accessor simply returns the member (which is set to 0 in all constructors) and the mutator does nothing but throw away its arg. For the record, these were actually checked in a few days ago, but I neglected to make a ChangeLog entry at the time. Fri May 14 20:27:59 1999 Pradeep Gore * orbsvcs/examples/CosEC/Factory/CosEventChannelFactory_i.{h,cpp}: * orbsvcs/examples/CosEC/Factory/FactoryCosEventChannel_i.{h,cpp}: * orbsvcs/examples/CosEC/Factory/FactoryClient.cpp: * orbsvcs/examples/CosEC/Factory/main.cpp: code review changes and compile error fixes. Fri May 14 17:00:43 1999 Douglas C. Schmidt * tao/IIOP_Transport.cpp (send), tao/UIOP_Transport.cpp (send): Removed the local const for TAO_WRITEV_MAX and replaced it with the new ACE_DEFAULT_WRITEV_MAX. Fri May 14 17:14:12 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Event/EC_Priority_Dispatching.cpp: Removed bogus ACE_INLINE, left over when moved from .i file. Fri May 14 16:15:00 1999 Chris Gill * orbsvcs\orbsvcs\Sched\Reconfig_Scheduler.{cpp, h}: more on a very rough draft of the initial implementation. Fri May 14 15:25:18 1999 Carlos O'Ryan * orbsvcs/orbsvcs/orbsvcs.dsp: * orbsvcs/orbsvcs/orbsvcs_static.dsp: Added new files in the EC implementation * orbsvcs/tests/Event/Event.dsw: * orbsvcs/tests/Event/Basic/Basic.dsw: * orbsvcs/tests/Event/Basic/Schedule.dsp: Added new project for the Schedule test. * orbsvcs/orbsvcs/Event/EC_Sched_Filter_Builder.cpp: Fixed type conversions problem. Fri May 14 15:06:47 1999 Carlos O'Ryan * docs/releasenotes/OBV.html: Added releases notes contributed by Torsten Kuepper. Fri May 14 12:34:27 1999 Balachandran Natarajan * tao/DomainC.i: * tao/DomainC.cpp: Moved CORBA_DomainManager::_nil () from DomainC.i to DomainC.cpp file. * tao/Request.i: * tao/Request.cpp: Moved two methods CORBA::release () and CORBA_Request::_nil () from the Request.i to Request.cpp. This would help us to avoid annoying warnings with Sun_g++ which was complaining about these two methods being inline as they were used before they were declared so. This seems to be a easier way to get around this. Fri May 14 12:20:38 1999 Carlos O'Ryan * tao/ValueBase.h: * tao/ValueBase.i: * tao/ValueBase.cpp: Added new patches from Torsten Kuepper, this should eliminate the warnings about enums. * */Makefile: Updated all the dependencies Fri May 14 09:30:14 1999 Carlos O'Ryan * Integrated scheduling back into the EC, this is still experimental. * orbsvcs/orbsvcs/Event/EC_Scheduling_Strategy.h: * orbsvcs/orbsvcs/Event/EC_Scheduling_Strategy.i: * orbsvcs/orbsvcs/Event/EC_Scheduling_Strategy.cpp: * orbsvcs/orbsvcs/Event/EC_Null_Scheduling.h: * orbsvcs/orbsvcs/Event/EC_Null_Scheduling.i: * orbsvcs/orbsvcs/Event/EC_Null_Scheduling.cpp: * orbsvcs/orbsvcs/Event/EC_Priority_Scheduling.h: * orbsvcs/orbsvcs/Event/EC_Priority_Scheduling.i: * orbsvcs/orbsvcs/Event/EC_Priority_Scheduling.cpp: The scheduling strategy parametrize the aspects of the EC that relate to the Scheduler. When using the Null_Scheduling the EC does not update dependencies in the Scheduler, making that a suitable choice for run-time execution (once the dependencies have been computed in configuration runs) and for systems that do not require scheduling. The Priority_Scheduling strategy does update the dependencies in the scheduler. Notice that many real-time properties of the EC do *not* depend on this, for example, locks are bounded to minimize priority inversion in any case. Thus application that require real-time behavior but no scheduling can use the EC too. * orbsvcs/orbsvcs/Event/EC_QOS_Info.h: * orbsvcs/orbsvcs/Event/EC_QOS_Info.i: Add fields to carry RT_Info and Preemption priority information. * orbsvcs/orbsvcs/Event/EC_Per_Supplier_Filter.cpp: Use the scheduling strategy to update the dependencies. * orbsvcs/orbsvcs/Event/EC_Factory.h: * orbsvcs/orbsvcs/Event/EC_Basic_Factory.h: * orbsvcs/orbsvcs/Event/EC_Basic_Factory.cpp: * orbsvcs/orbsvcs/Event/EC_Default_Factory.h: * orbsvcs/orbsvcs/Event/EC_Default_Factory.i: * orbsvcs/orbsvcs/Event/EC_Default_Factory.cpp: * orbsvcs/orbsvcs/Event/EC_Null_Factory.h: * orbsvcs/orbsvcs/Event/EC_Null_Factory.cpp: Added new methods to the factory to obtain the scheduling strategy. * orbsvcs/orbsvcs/Event/EC_Event_Channel.h: * orbsvcs/orbsvcs/Event/EC_Event_Channel.i: * orbsvcs/orbsvcs/Event/EC_Event_Channel.cpp: The event channel receives an scheduler and an scheduling strategy from the attributes and the factory respectively. The scheduler may be a nil object reference in it is not used. * orbsvcs/orbsvcs/Event/EC_Filter.h: * orbsvcs/orbsvcs/Event/EC_Filter.cpp: * orbsvcs/orbsvcs/Event/EC_Filter_Builder.h: * orbsvcs/orbsvcs/Event/EC_Filter_Builder.cpp: * orbsvcs/orbsvcs/Event/EC_Basic_Filter_Builder.h: * orbsvcs/orbsvcs/Event/EC_Basic_Filter_Builder.cpp: * orbsvcs/orbsvcs/Event/EC_Conjunction_Filter.h: * orbsvcs/orbsvcs/Event/EC_Conjunction_Filter.i: * orbsvcs/orbsvcs/Event/EC_Conjunction_Filter.cpp: * orbsvcs/orbsvcs/Event/EC_Disjunction_Filter.h: * orbsvcs/orbsvcs/Event/EC_Disjunction_Filter.i: * orbsvcs/orbsvcs/Event/EC_Disjunction_Filter.cpp: * orbsvcs/orbsvcs/Event/EC_Timeout_Filter.h: * orbsvcs/orbsvcs/Event/EC_Timeout_Filter.cpp: * orbsvcs/orbsvcs/Event/EC_Type_Filter.h: * orbsvcs/orbsvcs/Event/EC_Type_Filter.cpp: In some cases the Filter_Builder may need to make CORBA calls and thus requires an CORBA::Environment. Added new operation to add dependencies between leaves of the filter tree and RT_Infos. This operation is a noop if no scheduling is enabled, and in fact it is not even invoked. * orbsvcs/orbsvcs/Event/EC_Sched_Filter.h: * orbsvcs/orbsvcs/Event/EC_Sched_Filter.i: * orbsvcs/orbsvcs/Event/EC_Sched_Filter.cpp: * orbsvcs/orbsvcs/Event/EC_Sched_Filter_Builder.h: * orbsvcs/orbsvcs/Event/EC_Sched_Filter_Builder.i: * orbsvcs/orbsvcs/Event/EC_Sched_Filter_Builder.cpp: Added new type of filter, it decorates a regular filter to inform the scheduling service of the dependencies between the filter elements and finally between suppliers and consumers. * orbsvcs/orbsvcs/Event/EC_Dispatching_Task.h: * orbsvcs/orbsvcs/Event/EC_Dispatching_Task.i: * orbsvcs/orbsvcs/Event/EC_Dispatching_Task.cpp: Allocates the message blocks from a per-queue thread, also use a per-thread data block to minimize memory allocations. * orbsvcs/orbsvcs/Event/EC_Priority_Dispatching.h: * orbsvcs/orbsvcs/Event/EC_Priority_Dispatching.i: * orbsvcs/orbsvcs/Event/EC_Priority_Dispatching.cpp: Use the TAO_EC_QOS_Info and the scheduling service to determine on which queue we should dispatch the event. * orbsvcs/orbsvcs/Event/EC_ProxySupplier.h: * orbsvcs/orbsvcs/Event/EC_ProxySupplier.cpp: Update the filtering aspects of this class. * orbsvcs/tests/Event/Basic/Makefile: * orbsvcs/tests/Event/Basic/Schedule.h: * orbsvcs/tests/Event/Basic/Schedule.cpp: * orbsvcs/tests/Event/Basic/sched.conf: * orbsvcs/tests/Event/Basic/Reconnect.cpp: * orbsvcs/tests/Event/lib/Driver.h: * orbsvcs/tests/Event/lib/Driver.cpp: Added new test that creates an scheduler and uses the scheduling strategies. * orbsvcs/orbsvcs/Event/EC_Trivial_Supplier_Filter.cpp: Loop over consumers and then over events, not vice-versa. That improves throughput by reducing the locking overhead. * orbsvcs/orbsvcs/Makefile: Added the new files, updated dependencies * orbsvcs/Event_Service/Makefile: Added depedencies Fri May 14 07:18:31 1999 David L. Levine * orbsvcs/tests/Concurrency/Makefile,lex.CC_command.cpp, lex.CC_command.cpp.diff: hacked scanner a bit to remove unreachable code warning with ace_yy_wrap() #defined to 1. Thu May 13 22:58:38 1999 Irfan Pyarali * examples/POA/DSI/Database_i.cpp (invoke): Removed extra return. Thu May 13 22:46:05 1999 David L. Levine * examples/OBV/Typed_Events/Event_Types_impl.h: added "class" to a bunch of friend declarations. * examples/OBV/Typed_Events/Makefile: updated dependencies. Thu May 13 19:33:27 1999 David L. Levine * orbsvcs/examples/CosEC/Factory/Makefile: don't built if either CosEvent or Naming weren't built. Thu May 13 18:18:50 1999 Carlos O'Ryan * tao/DomainC.cpp: Added instantiation for TAO_Object_Manager Thu May 13 14:48:22 1999 Balachandran Natarajan * tao/corbafwd.h (CORBA): * tao/corbafwd.cpp: Fixed warnings on Greenhills compiler. Thu May 13 11:44:02 1999 Carlos O'Ryan * tao/ORB.h: * tao/ORB.cpp: Fixed const violation in resolve_initial_references() Thu May 13 09:55:52 1999 Carlos O'Ryan * orbsvcs/Makefile: * orbsvcs/examples/Makefile: * orbsvcs/examples/CosEC/Makefile: * orbsvcs/examples/CosEC/Factory/Makefile: * orbsvcs/examples/CosEC/Factory/CosEventChannelFactory.idl: * orbsvcs/examples/CosEC/Factory/CosEventChannelFactory_i.cpp: * orbsvcs/examples/CosEC/Factory/CosEventChannelFactory_i.h: * orbsvcs/examples/CosEC/Factory/FactoryClient.cpp: * orbsvcs/examples/CosEC/Factory/FactoryCosEventChannel_i.cpp: * orbsvcs/examples/CosEC/Factory/FactoryCosEventChannel_i.h: * orbsvcs/examples/CosEC/Factory/FactoryDriver.h: Added several @@ comments in the new CosEC/Factory example. Thu May 13 00:42:38 1999 Irfan Pyarali * tao/ORB.h (CORBA_ORB): Rewrote the comments for . Previously, it was somewhat unclear what this function was doing. Thanks to Trey Grubbs for pointing this out. Wed May 12 19:40:12 1999 Jeff Parsons * tao/Object.{h,cpp}: Changed the name of the second create_request function to be identical to the name of the first. The spec clearly indicates in some places that it is to be called 'create_request2', but that's wrong. Wed May 12 19:22:28 1999 Jeff Parsons * tao/corba.h: Added some missing #includes which turned up in the branding tests. Wed May 12 18:02:20 1999 Jeff Parsons * tao/Any.{h,i}: Added a non-copying version of <<= for Any into Any, as required by the CORBA spec (see CORBA 2.3a, section 20.16.2, page 20-58). Wed May 12 16:26:14 1999 Balachandran Natarajan * tao/ORB.cpp (resolve_initial_references): Changed the const CORBA::String to const char * as is expected by the test suite and also by the CORBA v2.2 spec vide page 20-115, section 20-39-20. Wed May 12 16:04:39 1999 Jeff Parsons * tao/TAO.dsp: * tao/TAO_Static.dsp: Added Bala's new files (below) to the MSVC projects. Wed May 12 15:46:57 1999 Balachandran Natarajan * tao/Makefile: * tao/ORB.h * tao/ORB.i * tao/ORB.i * tao/Managed_Types.h * tao/Services.h * tao/Services.i * tao/Services.cpp * tao/Pluggable.h * tao/corbafwd.cpp (New file) * tao/corbafwd.i (New file) Added a new method get_service_information in to ORB.h. This added a few circular dependencies which was resolved by Carlos by adding new files viz. corbafwd.cpp & corbafwd.i. Updated the Services.* files with some new headers and removed the "tao/corba.h" file inclusion from them as this would add a high dependency on these files. Managed_Types.h included ORB.h for just a few operations which has now been moved to corbafwd.i Wed May 12 15:41:39 1999 Jeff Parsons * tao/corbafwd.h: * tao/Context.i: * tao/Environment.{h,i,cpp}: Added CORBA::is_nil() for Contexts, and both CORBA::release() and CORBA::is_nil() for Environment. In implementing the release() method, also added refcount_, refcount_lock_, incr_refcount() and decr_refcount() to Environment. All the above methods were declared in corbafwd.h (CORBA::is_nil (Context_ptr) was commented out), but not implemented. Wed May 12 14:47:37 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Event/EC_Event_Channel.cpp: * orbsvcs/orbsvcs/Event/EC_ConsumerAdmin.cpp: * orbsvcs/orbsvcs/Event/EC_SupplierAdmin.cpp: * orbsvcs/orbsvcs/Event/EC_ProxySupplier.cpp: * orbsvcs/orbsvcs/Event/EC_ProxyConsumer.cpp: * 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: * orbsvcs/orbsvcs/Event/EC_ProxyPushSupplier_Set_T.h: * orbsvcs/orbsvcs/Event/EC_ProxyPushSupplier_Set_T.cpp: * orbsvcs/orbsvcs/Event/EC_SupplierFiltering.h: * orbsvcs/orbsvcs/Event/EC_Trivial_Supplier_Filter.h: * orbsvcs/orbsvcs/Event/EC_Trivial_Supplier_Filter.cpp: * orbsvcs/orbsvcs/Event/EC_Per_Supplier_Filter.h: * orbsvcs/orbsvcs/Event/EC_Per_Supplier_Filter.cpp: Fixed several memory leaks on "dirty" shutdowns of the EC (i.e. shutdowns when there are some consumers or suppliers still connected). Implemented new "delayed" shutdown operation on the Supplier_Sets. Handling shutdowns while the EC is still processing events may prove more tricky, I'm certain that there are some race conditions still lurking there. * orbsvcs/tests/Event/Basic/Makefile: Fixed order of libraries. * orbsvcs/tests/Event/lib/Driver.cpp: Reset all pointers to 0 after destruction. Wed May 12 13:58:59 1999 Jeff Parsons * tao/ORB.{h,cpp}: Added the dummy function list_initial_services(). For now it just throws CORBA::NO_IMPLEMENT. Wed May 12 13:35:19 1999 Carlos O'Ryan * tao/MProfile.h: * tao/MProfile.cpp: Fixed warnings * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp: I forgot to fix the TAO_Stub constructors in this file. * orbsvcs/ImplRepo_Service/Makefile: Updated dependencies. Wed May 12 12:14:41 1999 Ossama Othman * COPYING: Additional updates/clarifications suggested by Richard Stallman. Wed May 12 10:38:03 1999 Carlos O'Ryan * tao/MProfile.h: * tao/MProfile.i: * tao/MProfile.cpp: * tao/Stub.h: * tao/Stub.i: * tao/Stub.cpp: * tao/Pluggable.h: * tao/Pluggable.i: * tao/Pluggable.cpp: * tao/IIOP_Profile.h: * tao/IIOP_Profile.i: * tao/IIOP_Profile.cpp: * tao/UIOP_Profile.h: * tao/UIOP_Profile.i: * tao/UIOP_Profile.cpp: * tao/Invocation.cpp: * tao/ORB.cpp: * tao/Object.cpp: Fixed memory leaks in the managment of MProfiles. Use references to document and clarify the memory managment rules. Implemented the forward_to() methods on TAO_Profile instead of TAO_IIOP_Profile, they are required for all protocols. Wed May 12 10:18:34 1999 Carlos O'Ryan * docs/releasenotes/TODO.html: * orbsvcs/orbsvcs/Event/EC_Gateway.cpp: * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp: * orbsvcs/orbsvcs/Event/EC_ProxySupplier.cpp: Some servants where not beign properly deactivated, thanks to J. Russell Noseworthy for pointing this out. Wed May 12 10:16:15 EDT 1999 Aniruddha Gokhale * tao/corbafwd.h: Fixed the warnings on NT related to foward declaration of ServiceDetail and ServiceInformation. * tao/ObjectIDList.h: Fixed an error in the declaration of the CDR operators. * tao/Service.h: Fixed an error where TAO_Unbounded_Sequence should have been TAO_Unbounded_Sequence Wed May 12 08:56:40 EDT 1999 Aniruddha Gokhale * tao/corbafwd.h tao/ORB.h tao/ObjectIDList.{h, i, cpp}: Fixed a number of compile errors with the newly added ObjectIdList class. We now use the same trick that we use for classes defined in the CORBA namespace. Thus, we define the ObjectIdList class as CORBA_ORB_ObjectIdList and then typedef it inside class CORBA_ORB. We needed some forward declarations in corbafwd.h. Removed some possibly unnecessary explicit template instantiation from ObjectIDList.cpp. We were trying to instantiate a TAO_Object_Field_T. Wed May 12 02:38:52 1999 Pradeep Gore Code review changes and additions for the CosEC Factory. Added the following files: * orbsvcs/examples/CosEC/Factory/main.cpp * orbsvcs/examples/CosEC/Factory/FactoryDriver.{h,cpp} modified the following: * orbsvcs/examples/CosEC/Factory/FactoryClient.cpp: completed the test code for the factory. * orbsvcs/examples/CosEC/Factory/CosEventChannelFactory_i.{h,cpp}: * orbsvcs/examples/CosEC/Factory/FactoryCosEventChannel_i.{h,cpp}: code review corrections. Tue May 11 22:39:38 1999 Jeff Parsons * tao/TAO.dsp: * tao/TAO_Static.dsp: Added Bala's new files to these projects. Tue May 11 21:46:52 1999 Vishal Kachroo Added a new type ObjectIDList to the ORB interface. This is required by the list_initital_references (). Handcrafted the IDL generated files into the following files : * tao/ObjectIDList.cpp * tao/ObjectIDList.h * tao/ObjectIDList.i Added the above files. Included the declaration of ObjectIDList in the CORBA_ORB class. * tao/ORB.h Included ObjectIDList into the makefile. * tao/Makefile Tue May 11 21:46:29 1999 Jeff Parsons * tao/DomainC.h: Removed the generated typecode declarations - they're unnecessary and cause warnings on VxWorks. Tue May 11 20:40:52 1999 Jeff Parsons * tao/Environment.cpp: Added a check for NULL pointer before dereferencing the exception (to increment the refcount) in the copy constructor. This was causing all the DII param_tests to fail. * tao/Any.cpp: Removed the branch from value() that returns (void *)cdr_. After checking through all the code in the TAO directory, there seems to be nothing that this endangers. Also ran the DII param_tests before and after committing the change - the results were the same. So now the functionality is cleanly divided: Any::value() for the void* and Any::_tao_get_cdr() for the cdr_. Tue May 11 18:06:40 1999 Balachandran Natarajan * tao/Makefile: * tao/corbafwd.h * tao/corba.h * tao/TypeCode_Constants.cpp * tao/Services.i (New file) * tao/Services.cpp (New file) * tao/Services.h (New file): Addition of new data types that we did not have and which is carefully checked for by the test suite from Open Group. The data types added include ServiceType, ServiceDetailType, ServiceOption, ServiceDetail, ServiceInformation. The defintions come from CORBA 2.2 spec, chapter4, pg-4.2. The above data types have been tested on SunCC & Linux_EGCS with some test cases in TAO liek Param_Test. They compiled clean and ran without any errors. Tue May 11 17:47:30 1999 Jeff Parsons * tao/append.cpp: Fixed a case (wchar) of TAO_Marshal_Union::append that Andy had marked as TODO and eliminated another shaky call to Any::value(). Tue May 11 17:19:30 1999 Carlos O'Ryan * orbsvcs/tests/Event/Event.dsw: * orbsvcs/tests/Event/Basic/Basic.dsw: * orbsvcs/tests/Event/Basic/Reconnect.dsp: * orbsvcs/tests/Event/Basic/Shutdown.dsp: * orbsvcs/tests/Event/lib/Consumer.h: * orbsvcs/tests/Event/lib/Driver.h: * orbsvcs/tests/Event/lib/ECTest.dsp: * orbsvcs/tests/Event/lib/ECTest.dsw: * orbsvcs/tests/Event/lib/Supplier.h: * orbsvcs/tests/Event/lib/ectest_export.h: Added project files, workspaces and export macros to compile this tests on NT. Tue May 11 16:46:20 1999 Jeff Parsons * tao/Object.{h,cpp}: Added the second form of create_request(). It has two additional args - an exception list and a context list, which are both unused in this implementation. Tue May 11 16:03:01 1999 Jeff Parsons * tao/corbafwd.h: Added some flags to the enum containing the ones for NVList. The new ones are: DEPENDENT_LIST If a sublist is added as a single item, this indicates that it should be freed when the parent list is freed. CTX_RESTRICT_SCOPE Used in Context::get_values to limit the scope of the search to the supplied scope arg. CTX_DELETE_DESCENDENTS Deletes child Context objects along with the parent. INV_NO_RESPONSE INV_TERM_ON_ERR RESP_NO_WAIT Used in deferred synchronous requests. Tue May 11 14:34:56 1999 David L. Levine * performance-tests/Cubit/TAO/IDL_Cubit/{client,server}.cpp: removed unnecessary #includes of "tests/test_config.h". * performance-tests/Cubit/TAO/IDL_Cubit/run_tests.pl: fixed check for existing files to work on NT, by using full path. Tue May 11 14:17:54 1999 Jeff Parsons * tao/DomainS.cpp: Added some ACE_UNUSED_ARGs for generated code that has been commented out, and a marshaling exception because this method (ConstructionPolicy::make_domain_manager) is not yet implemented. Tue May 11 13:51:55 1999 Carlos O'Ryan * docs/releasenotes/TODO.html: * orbsvcs/orbsvcs/Event/EC_ConsumerAdmin.cpp: * orbsvcs/orbsvcs/Event/EC_ConsumerAdmin.h: * orbsvcs/orbsvcs/Event/EC_Event_Channel.cpp: * 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/tests/Event/Basic/Makefile: * orbsvcs/tests/Event/Basic/Reconnect.cpp: * orbsvcs/tests/Event/Basic/Shutdown.cpp: * orbsvcs/tests/Event/Basic/Shutdown.h: * orbsvcs/tests/Event/lib/Consumer.cpp: * orbsvcs/tests/Event/lib/Driver.cpp: * orbsvcs/tests/Event/lib/Driver.h: * orbsvcs/tests/Event/lib/Supplier.cpp: Completed the implementation of the destroy() method in the new Event Channel. It was not invoking the disconnect_push_XXX() operations on its list of suppliers and consumers. Tue May 11 13:45:00 1999 Jeff Parsons * tao/WrongTransactionC.{h,cpp}: * tao/corbafwd.h: * tao/Typecode_Constants.cpp: * tao/TAO.dsp: * tao/TAO_Staatic.dsp: * tao/Makefile: Added WrongTransaction exception. It applies to Requests so it is not part of minimum CORBA. Also, while the spec does not say so explicitly, it seems to be thrown only on the client side, so only that part of the generated code is here. If this turns out not to be the case, server side code will have to be added. Tue May 11 13:25:40 1999 David L. Levine * performance-tests/Cubit/TAO/IDL_Cubit/{server.dsp,client.dsp}: fixed path for static release builds. Actually, Nanbor fixed it. Tue May 11 12:30:45 1999 Jeff Parsons * TAO_IDL/ast/AST_Expression.cpp: * TAO_IDL/include/AST_Expression.h: Backed out the change I made yesterday. Not an important change by itself, but one day we'll have to overhaul all the basic type stuff in the IDL compiler. Tue May 11 11:03:16 1999 David L. Levine * performance-tests/Cubit/TAO/MT_Cubit/MT_Cubit_Test: support shells that don't have $OPTIND. Tue May 11 09:48:09 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Event/EC_Dispatching.h: * orbsvcs/orbsvcs/Event/EC_ObserverStrategy.h: * orbsvcs/orbsvcs/Event/EC_Priority_Dispatching.h: * orbsvcs/orbsvcs/Event/EC_Trivial_Supplier_Filter.h: Added missing TAO_ORBSVCS_Export macros, thanks to Frank Hodum for pointing this out. Tue May 11 09:22:08 1999 David L. Levine * tao/DomainC.cpp: added TAO_Object_Field_T explicit template instantiation. Mon May 10 22:57:37 1999 Carlos O'Ryan * tao/DomainC.cpp: Added missing #include Mon May 10 22:40:29 1999 Carlos O'Ryan * docs/releasenotes/TODO.html: * docs/releasenotes/ec.html: Updated to include the latest EC results. Mon May 10 22:39:30 1999 Jeff Parsons * TAO_IDL/ast/AST_Expression.cpp: * TAO_IDL/include/AST_Expression.h: Added constructors for AST_Expressions of type long long and unsigned long long - bracketed with ifdefs concerning ACE_LACKS_LONGLONG_T. Mon May 10 21:54:30 1999 Carlos O'Ryan * orbsvcs/tests/Makefile: Added the Event directory * orbsvcs/tests/Event/Basic/Reconnect.h: * orbsvcs/tests/Event/Basic/Reconnect.cpp: Added new option to control the number of disconnections, fixed some minor problems. Removed execution of the regular test since it will take too long to run thousands of consumers and suppliers. * orbsvcs/tests/Event/lib/Driver.h: * orbsvcs/tests/Event/lib/Driver.i: * orbsvcs/tests/Event/lib/Driver.cpp: Fixed and cleaned up memory managment for tasks. Fixed computation of the Supplier QOS Fixed argument parsing Fixed throughput computation * orbsvcs/tests/Event/lib/Supplier.cpp: Better error handling if the QoS is invalid * orbsvcs/tests/Event/lib/Consumer.cpp: Fixed throughput computation * orbsvcs/orbsvcs/Event/EC_ProxyConsumer.cpp: Implemented reconnection of suppliers * orbsvcs/orbsvcs/Event/EC_Event_Channel.i: Fixed typo Mon May 10 19:44:16 1999 Jeff Parsons * Domain.pidl: * DomainC.{h,i,cpp}: * DomainS.{h,cpp}: * DomainS_T.{h,i,cpp}: New files incorporating the (as yet unimplemented) classes DomainManager, ConstructionPolicy, and DomainManagerList. * corbafwd.h: * POA_CORBA.h: * Typecode_Constants.cpp: * TAO.dsp: * TAO_Static.dsp: * Makefile: All the necessary modifications corresponding to the above new files. Also removed the (nonexistent) file PolicyS.h from the two projects. Mon May 10 17:21:52 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Event/EC_Event_Channel.h: * orbsvcs/orbsvcs/Event/EC_Event_Channel.i: * orbsvcs/orbsvcs/Event/EC_Event_Channel.cpp: New class TAO_EC_Event_Channel_Attributes used to initialize the event channel. This will close the interface for the EC constructor, yet will allow us to add more (optional or mandatory) arguments. * orbsvcs/orbsvcs/Event/EC_ProxySupplier.cpp: The event channel can be configured to support multiple connect() calls to the same ProxyPushSupplier. * orbsvcs/Event_Service/Event_Service.cpp: * orbsvcs/CosEvent_Service/CosEvent_Service.cpp: * orbsvcs/examples/CosEC/Factory/FactoryCosEventChannel_i.cpp: * orbsvcs/tests/EC_Throughput/ECT_Throughput.cpp: * orbsvcs/tests/Event_Latency/Event_Latency.cpp: * orbsvcs/tests/EC_Mcast/EC_Mcast.cpp: Use the TAO_EC_Event_Channel_Attributes class to initiliaze TAO_EC_Event_Channel * orbsvcs/orbsvcs/Event/EC_Trivial_Supplier_Filter.cpp: Minor cosmetic fixes. * orbsvcs/tests/EC_Throughput/ECT_Consumer.cpp: Removed dead code. Mon May 10 16:46:41 1999 Nanbor Wang * TAO-INSTALL.html (href): Added a link to Barry Hoggard's CORBA page which contains TAO specific information. Mon May 10 15:02:21 1999 Balachandran Natarajan * tao/Exception.h: * tao/Exception.cpp: * tao/corbafwd.h: Added new exceptions in TAO_SYSTEM_EXCEPTIONS viz.TRANSACTION_REQUIRED, TRANSACTION_ROLLEDBACK & INVALID_TRANSACTION. These are part of the spec, v2.2, section 3.5.3, page 3-39. We had not implemented this and it was flagged of by the branding test suite. Mon May 10 12:47:29 1999 Nanbor Wang * TAO_IDL/driver/drv_preproc.cpp (DRV_cpp_init): TAO_IDL will try to figure out where MSVC is located if CPP_LOCATION is not defined. It does this by checking if MSVCDir environment variable is defined. Although this approach ties TAO_IDL closer to MSVC, it is probably the most widely used compiler on Win32 platforms. Therefore, I think it is not really a "bad taste." Thanks to Jonathan Biggar for suggesting this. Mon May 10 11:43:04 1999 Ossama Othman * COPYING: Made some updates suggested by Richard Stallman of the Free Software Foundation (http://www.fsf.org/). Mon May 10 08:24:20 1999 David L. Levine * TAO/orbsvcs/orbsvcs/Makefile,examples/Callback_Quoter/Makefile, tests/MT_Client/Makefile: ran make depend to fix dependencies. Thanks to Andy for reporting that they were missing. Mon May 10 08:39:19 EDT 1999 Aniruddha Gokhale * tao/Request.cpp: Explicit template instantiations for the newly added sequence of CORBA::Request were missing. Mon May 10 00:36:02 1999 Balachandran Natarajan * tao/Request.h (CORBA_Request>): * tao/Request.cpp : Added new definition for the class CORBA_ORB_RequestSeq. This was added to facilitate the testing process. Thanks to Carlos for helping to generate the new class by inheriting from TAO_Pseudo_Unbounded_Sequence (). Sun May 9 12:47:47 1999 Carlos O'Ryan * docs/releasenotes/index.html: * docs/releasenotes/OBV.html: Added template for the OBV release notes. Sun May 09 11:26:57 1999 Chris Gill * TAO/examples/Callback_Quoter/Makefile TAO/examples/Event_Comm/Makefile TAO/examples/OBV/Typed_Events/Makefile TAO/examples/POA/Adapter_Activator/Makefile TAO/examples/POA/DSI/Makefile TAO/examples/POA/Default_Servant/Makefile TAO/examples/POA/Explicit_Activation/Makefile TAO/examples/POA/Forwarding/Makefile TAO/examples/POA/Generic_Servant/Makefile TAO/examples/POA/Identity/Makefile TAO/examples/POA/On_Demand_Activation/Makefile TAO/examples/POA/Reference_Counted_Servant/Makefile TAO/examples/POA/TIE/Makefile TAO/examples/Quoter/Makefile TAO/examples/Simple/bank/Makefile TAO/examples/Simple/chat/Makefile TAO/examples/Simple/echo/Makefile TAO/examples/Simple/grid/Makefile TAO/examples/Simple/time/Makefile TAO/orbsvcs/Concurrency_Service/Makefile TAO/orbsvcs/CosEvent_Service/Makefile TAO/orbsvcs/Dump_Schedule/Makefile TAO/orbsvcs/Event_Service/Makefile TAO/orbsvcs/ImplRepo_Service/Makefile TAO/orbsvcs/LifeCycle_Service/Makefile TAO/orbsvcs/Logging_Service/Makefile TAO/orbsvcs/Naming_Service/Makefile TAO/orbsvcs/Scheduling_Service/Makefile TAO/orbsvcs/Time_Service/Makefile TAO/orbsvcs/Trading_Service/Makefile TAO/orbsvcs/orbsvcs/Makefile TAO/orbsvcs/tests/Concurrency/Makefile TAO/orbsvcs/tests/CosEC_Basic/Makefile TAO/orbsvcs/tests/CosEC_Multiple/Makefile TAO/orbsvcs/tests/EC_Basic/Makefile TAO/orbsvcs/tests/EC_Custom_Marshal/Makefile TAO/orbsvcs/tests/EC_Mcast/Makefile TAO/orbsvcs/tests/EC_Multiple/Makefile TAO/orbsvcs/tests/EC_Throughput/Makefile TAO/orbsvcs/tests/Event_Latency/Makefile TAO/orbsvcs/tests/ImplRepo/Makefile TAO/orbsvcs/tests/Logger/Makefile TAO/orbsvcs/tests/Property/Makefile TAO/orbsvcs/tests/Sched_Conf/Makefile TAO/orbsvcs/tests/Simple_Naming/Makefile TAO/orbsvcs/tests/Time/Makefile TAO/orbsvcs/tests/Trading/Makefile TAO/performance-tests/Cubit/TAO/DII_Cubit/Makefile TAO/performance-tests/Cubit/TAO/IDL_Cubit/Makefile TAO/performance-tests/Cubit/TAO/MT_Cubit/Makefile TAO/performance-tests/Thruput/TAO/Makefile TAO/tao/Makefile TAO/tests/MT_Client/Makefile TAO/tests/Multiple_Inheritance/Makefile TAO/tests/NestedUpcall/MT_Client_Test/Makefile TAO/tests/NestedUpcall/Reactor/Makefile TAO/tests/NestedUpcall/Triangle_Test/Makefile TAO/tests/OctetSeq/Makefile TAO/tests/Param_Test/Makefile: ran make depend after adding new RB_Tree interface. Sat May 08 17:17:57 1999 David L. Levine * TAO_IDL/be/be_valuetype.cpp,be_valuetype_fwd.cpp: removed extraneous ; after function definitions. Sat May 8 16:10:33 1999 Carlos O'Ryan * TAO_IDL/be/be_visitor_valuetype/field_ch.cpp: * TAO_IDL/be/be_visitor_valuetype/field_cs.cpp: Added non-const accesor for array fields in valuetypes. Thanks to David Levine for pointing this out. Sat May 8 15:02:37 1999 Balachandran Natarajan * tao/GIOP.h (TAO_GIOP): * tao/GIOP.cpp: * tao/Connect.cpp: * tao/corbafwd.h: Changed the exception type defined as an enum in corbafwd.h as 'ExceptionType' to 'exception_type'. This is defined in the spec in chapter-3, pg.3-38, section 3.15.1 under Standard Exception Definitions in CORBAv2.2 spec. The vsOrb test suite also tests for this with this spelling. The previous spelling 'ExceptionType' seems to a spill out of the CORBA-COM, CORBA-OLE specs. Changes to other *.cpp and *.h files listed above to acommodate the change made in corbafwd.h. Sat May 08 08:42:00 1999 Chris Gill * orbsvcs/orbsvcs/Event/EC_ObserverStrategy.cpp: added missing template instantiation for ACE_RB_Tree_Reverse_Iterator. Sat May 08 08:20:48 1999 David L. Levine * performance-tests/Cubit/TAO/MT_Cubit/client.cpp: changed type of SWITCHES from int to u_int to avoid signed/unsigned comparisons. Sat May 08 08:17:48 1999 David L. Levine * tao/DynUnion_i_T.{h,cpp} (DU_Extractor): added virtual destructor, to please egcs 1.1.2/VxWorks. Sat May 08 03:45:55 1999 Nanbor Wang * TAO/TAO_Static.dsp: Added missing source files. * TAO_IDL/tao_idl_static.dsp: * examples/Simple/time/client_static.dsp: * examples/Simple/time/server_static.dsp: * orbsvcs/orbsvcs/orbsvcs_static.dsp: * performance-tests/Cubit/TAO/IDL_Cubit/client.dsp: * performance-tests/Cubit/TAO/IDL_Cubit/server.dsp: * performance-tests/Cubit/TAO/MT_Cubit/client.dsp: * performance-tests/Cubit/TAO/MT_Cubit/server.dsp: * tao/TAO_Static.dsp: We should have used ACE_NO_INLINE instead of defining __ACE_INLINE__=0 to supress the use of inlining. Thanks to Nick Sawadsky for reporting this. Sat May 08 02:36:53 1999 Irfan Pyarali * examples/POA/Identity/Identity.cpp (test_poas): Added testing for root POA. * tao/POA.cpp (reference_to_servant and reference_to_id): Fixed the checking of results from TAO_POA::parse_key(). POA names should not be compared when the target POA is the root POA. Thanks to Tommy Andreasen for pointing out this bug. * tao/TAO_Static.dsp and tao/TAO.dsp: Removed Sequence_T.cpp from compilation list; it only contains template code. Fri May 07 23:49:38 1999 Irfan Pyarali * tao/default_server.cpp (parse_args): Fixed ORBuniqueidpolicyreversedemuxstrategy option. Thanks to Phil Mesnier for pointing out that the "user" option was extra and that the "linear" option was missing. Fri May 07 22:45:33 1999 David L. Levine * orbsvcs/tests/Trading/Makefile: removed -lTTest from LDLIBS because it now appears explicitly on the link line, because it is a dependency of $(BIN). egcs complained about the multiple occurrences. Fri May 7 22:34:58 1999 Balachandran Natarajan * tao/corbafwd.h (CORBA): * tao/TypeCode_Constants.cpp: Added new typecode for the interface NamedValue. This would make us compatible with CORBA spec. Fri May 7 19:50:41 1999 Carlos O'Ryan * tao/Sequence_T.i: * TAO_IDL/be/be_visitor_sequence/gen_bounded_obj_sequence_ci.cpp: * TAO_IDL/be/be_visitor_sequence/gen_bounded_obj_sequence_cs.cpp: * TAO_IDL/be/be_visitor_sequence/gen_bounded_sequence_ch.cpp: * TAO_IDL/be/be_visitor_sequence/gen_bounded_sequence_ci.cpp: * TAO_IDL/be/be_visitor_sequence/gen_bounded_sequence_cs.cpp: * TAO_IDL/be/be_visitor_sequence/gen_bounded_str_sequence_ch.cpp: * TAO_IDL/be/be_visitor_sequence/gen_bounded_str_sequence_ci.cpp: * TAO_IDL/be/be_visitor_sequence/gen_bounded_str_sequence_cs.cpp: * TAO_IDL/be/be_visitor_sequence/gen_unbounded_obj_sequence_cs.cpp: * TAO_IDL/be/be_visitor_sequence/gen_unbounded_sequence_ch.cpp: * TAO_IDL/be/be_visitor_sequence/gen_unbounded_sequence_cs.cpp: Fixed bug in TAO_Bounded_Sequence thanks for Jim Rogers for finding this out. Fri May 7 20:57:19 1999 Jeff Parsons * tao/TAO.dsp: * tao/TAO_Static.dsp: Added Sequence_T.cpp and Object_Adapter.h to the projects. Fri May 7 20:39:30 1999 Jeff Parsons * tao/Sequence_T.i: Added a to the argument of the copy constructor for TAO_Object_Manager. Was causing a problem with IBM OpenEdition. * tao/Object_Adapter.h: Moved the classes Hint_Strategy, Active_Hint_Strategy, and No_Hint_Strategy to the public section of TAO_Object_Adapter. IBM OpenEdition didn't like the protected class Hint_Strategy being inherited by the other two. * tao/ORB.h: Moved forward declaration and typedefs of CORBA_ORB_InconsistentTypeCode outside of class ORBA_ORB to the beginning of the file. IBM OpenEdition didn't like this either. Thanks to Jim Rogers for pointing out the problems and suggesting fixes. Fri May 7 19:37:18 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Event/EC_Dispatching_Task.h: * orbsvcs/orbsvcs/Event/EC_Dispatching_Task.i: * orbsvcs/orbsvcs/Event/EC_Priority_Dispatching.h: * orbsvcs/orbsvcs/Event/EC_Priority_Dispatching.cpp: Eliminate one memory allocation on the priority dispatching case, thanks to Tom Venturella for this idea. In the future we should use a per-supplier data block instead of a global one, to minimize priority inversion. Fri May 7 19:16:50 1999 Jeff Parsons * TAO_IDL/be/be_sunsoft.cpp: * TAO_IDL/ast/ast_expression.cpp: * TAO_IDL/include/ast_expression.h: Put in many many #if ! defined (ACE_LACKS_LONGLONG_T) brackets to avoid compile errors on GreenHills and IBM OpenEdition. Thanks to Jim Rogers for pointing out the problem. Fri May 7 16:55:08 1999 Balachandran Natarajan * tao/Typecode.h (CORBA_TypeCode): Changed the _narrow definitions in TypeCode::BadKind and Type_code::Bounds to be of type static. THis will now be according to the spec. This is the result of test run on the header module. * tao/ORB.h, * ORB.cpp: Changed the signature of the method, resolve_initial_reference(). This now takes in const string and it was previously a non-const one. We had to make this change to be compatible with the spec and the vsOrb test suite checks for this. Fri May 7 12:56:08 1999 Alexander Babu Arulanthu * TAO_IDL/driver/drv_preproc.cpp (DRV_pre_proc): Integrated Byron Harris 's patches for checking for \\'s in command line IDL file given to tao_idl. * orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp: Fixed the IRIX warnings. Fri May 7 10:00:25 1999 Carlos O'Ryan * tao/Makefile: * tao/Context.cpp: * tao/Context.h: * tao/DynAnyC.h: * tao/ORB.cpp: * tao/ORB.h: * tao/Object_Adapter.cpp: * tao/POA.i: * tao/POAC.i: * tao/Typecode_Constants.cpp: * tao/corbafwd.h: Several fixes to support minimum CORBA. * examples/Quoter/server.cpp: Fixed error in my use of ACE_PRINT_EXCEPTION. Thu May 6 21:49:22 1999 Carlos O'Ryan * TAO_IDL/be/be_union_branch.cpp: * TAO_IDL/be/be_visitor_interface/tie_si.cpp: * TAO_IDL/be/be_visitor_operation/operation_ss.cpp: * examples/Callback_Quoter/Supplier_i.cpp: * examples/POA/Default_Servant/client.cpp: * examples/POA/Default_Servant/server.cpp: * examples/Quoter/server.cpp: * examples/Simple/Simple_util.cpp: * orbsvcs/Trading_Service/Trading_Service.cpp: * orbsvcs/orbsvcs/IOR_Multicast.cpp: * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp: * orbsvcs/orbsvcs/Event/Event_Channel.cpp: * orbsvcs/orbsvcs/Event/Timer_Module.cpp: * orbsvcs/tests/EC_Custom_Marshal/ECM_Consumer.cpp: * orbsvcs/tests/EC_Custom_Marshal/ECM_Supplier.cpp: * orbsvcs/tests/EC_Throughput/ECT_Consumer_Driver.cpp: * orbsvcs/tests/EC_Throughput/ECT_Supplier_Driver.cpp: * orbsvcs/tests/EC_Throughput/ECT_Throughput.cpp: * orbsvcs/tests/Event_Latency/Event_Latency.cpp: * performance-tests/Thruput/TAO/ttcp_i.cpp: * tao/ORB_Core.cpp: * tao/Operation_Table.cpp: * tests/MT_Client/server.cpp: * tests/Multiple_Inheritance/client.cpp: * tests/Multiple_Inheritance/server.cpp: * utils/catior/catior.cpp: Fixed inconsisten use of ACE_ERROR and LM_DEBUG, also removed use of the DEBUG macro in favor of ACE_NDEBUG. Thu May 6 18:34:43 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Event/EC_ProxySupplier.h: * orbsvcs/orbsvcs/Event/EC_ProxySupplier.cpp: Fixed problem with disconnections while pushing an event, thanks to Pradeep Gore for finding this out. Thu May 6 18:09:15 1999 Carlos O'Ryan * TAO_IDL/be/be_visitor_valuetype/field_cs.cpp: * TAO_IDL/be/be_visitor_valuetype/field_ch.cpp: Fixed return type for the accesor of array fields of a valuetype. Thu May 6 17:52:47 1999 Kirthika Parameswaran * examples/Simple/echo/README (client): Updated Naming Service option from -s to -n. Thu May 6 15:46:00 1999 Carlos O'Ryan * TAO_IDL/be/be_args.cpp: * TAO_IDL/be/be_visitor.cpp: Removed characters after #endif * TAO_IDL/be/be_valuetype.cpp: * TAO_IDL/be_include/be_valuetype.h: Function overloaded with different signature? * examples/OBV/Typed_Events/Event_Types_impl.cpp: Fixed return expression on void function. * tao/ValueBase.h: * tao/ValueBase.i: No sense in passing arguments by value as const, and they gave Sun/CC 4.2 some headaches. Use unsigned quantities for enums MSVC balks at expressions like (-0x80000000L). * tao/ValueFactory_Map.cpp: Fixed some constness problems. * utils/catior/catior.cpp: Fixed unsigned/signed warning. * orbsvcs/tests/EC_Throughput/ECT_Supplier.cpp: No need to change the priority of this thread, it is activated at the right priority. * orbsvcs/tests/EC_Throughput/ECT_Driver.cpp: Fixed debug messages. * orbsvcs/tests/EC_Throughput/ECT_Scheduler_Info.h: Adjusted priorities for LynxOS. * orbsvcs/tests/EC_Throughput/ECT_Throughput.cpp: * orbsvcs/orbsvcs/Event/EC_Priority_Dispatching.cpp: Use (min+max)/2 as default priority, to avoid problems on LynxOS where the lowest real-time priority is the lowest priority of the system! * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.i: Inline functions where not declared as such, got duplicate symbols when compiling against static library. * orbsvcs/orbsvcs/Event/EC_Dispatching_Task.cpp: Do not exit the loop on exception, continue until shutdown event. Thu May 06 14:34:31 1999 Carlos O'Ryan * TAO_IDL/tao_idl.dsp: * TAO_IDL/tao_idl_static.dsp: * tao/TAO.dsp: * tao/TAO_Static.dsp: Added the new files that support OBV. * orbsvcs/orbsvcs/orbsvcs.dsp: * orbsvcs/orbsvcs/orbsvcs_static.dsp: Added missing idl files CosTradingRepos.idl, CosTradingDynamic.idl and some new EC files too. Thu May 6 12:11:22 1999 Carlos O'Ryan * Many thanks and kudos to Torsten Kuepper who contributes an initial implementation of Object-by-Value to TAO. His ChangeLog entry follows: * TAO/tao/Makefile: * TAO/TAO_IDL/Makefile: * TAO/tao/orbconf.h: * TAO/TAO_IDL/include/idl.h: Support of Valuetypes if TAO_HAS_OBV resp. IDL_HAS_OBV is defined. This is far from complete. However + you are able to pass valuetypes as arguments in operation signatures (see examples/OBV). - Valuetype as member of other types (union, sequence ...) is missing until the compiler backend is provided with visitors for that. + A valuetype could have a valuetype as state member, ... - ... but currently the sharing of valuetypes in the context of an invocation is not yet implemented. This means you got two out of one (if two references point to one object) and cyclic references are not feasible. + The marshalling code accesses the state member data directly for optimization (-Wb,obv_opt_accessor). - This will be changed for unoptimized (standard) valuetypes, where the implementer should be able to override the accessor/modifier functions even for marshalling. Currently she isn't able to do so. - The marshalling does no fragmentation (chunking) yet. But this is required for custom marshalling and truncation. - Ordinary (not hashed) repository ids are used. Some code is missing that would optimize sending repo ids away (if the formal parameter is equal the current type) or that backreferences earlier send repository ids, when marshalling a graph. - The code generated for typedefs and forwards of valuetypes is not complete and will not compile. - Support of an interface is not yet there. Perhaps the TIE to a valuetype may give comparable functionality. - Abstract interfaces are not implemented too. - TypeCode for valuetypes are missing, and without that, packing a valuetype into an any is not yet possible. - init () is not yet mapped to create () in the _init class. But you can declare create () on your own in your factory class. - Some helper classes (e.g. _var for ValueFactory) are missing. And I have confused a few issues on constness in modifier functions and members (in _init) which should be private and friend of another class, but it didn't want to compile right. I will correct these points, when I have the time. * TAO/examples/OBV/Typed_Events [new]: Demonstration of Typed Events, e.g. measuring values. The idea is to have common attributes (time and origin id) and operations (do_print()) in a base class. The event (temperature, position...) that is derived from the base is created in one process and is passed (type safe) to another process which invokes member function of the base class to do something with this concrete event (e.g. show, perform a test). (Naturally, the receiving process must have an implementation of the valuetypes.) * TAO_IDL/idl_global.h: * TAO_IDL/utl_global.cpp: * TAO_IDL/drv_args.cpp: * TAO_IDL/be/be_args.cpp: New TAO_IDL options -Gv enable OBV (Valuetype) -Sv disable OBV (Valuetype) (currently default) read option with idl_global->obv_support() -Wb,obv_opt_accessor Nonvirtual inline accessor/modifier functions Currently it is necessary to use compiled marshalling (-Gc) when using the valuetype feature. * TAO_IDL/fe/idl.ll: * TAO_IDL/fe/fe_init.cpp: Compiler FE recognizes the OBV token (abstract, custom, init, private, public, supports, truncatable, valuetype) (CORBA 2.3 3.2.4), but only if it is compiled with IDL_HAS_OBV and -Gv is given. * TAO_IDL/fe/idl.yy: There are some new productions in the parser. member is now a wrapper for member_i, which previously was member but now accesses $0 as visibility parameter. * TAO_IDL/include/ast_generator.h: * TAO_IDL/be/be_generator.cpp: * TAO_IDL/include/ast_interface.h: * TAO_IDL/ast/ast_interface.cpp: * TAO_IDL/include/ast_interface_fwd.h: * TAO_IDL/ast/ast_interface_fwd.cpp: * TAO_IDL/include/ast_field.h: * TAO_IDL/ast/ast_field.cpp: * TAO_IDL/be_include/be_field.h: * TAO_IDL/be/be_field.cpp: * TAO_IDL/be_include/be_valuetype.h [new]: * TAO_IDL/be/be_valuetype.cpp [new]: * TAO_IDL/include/fe_interface_header.h: * TAO_IDL/fe/fe_interface_header.cpp: AST_Interface is currently used for valuetypes too. (This attempt was made for better staying in sync with the rushing TAO development.) Though lots of code for name lookup and inheritance rules can be reused. AST_Interface has the new methods is_valuetype(), is_abstract_valuetype() and is_abstract_interface() which allows the frontend to distinguish them. Later on a new AST_ class should be refactored which is a base class to the IDL types that provide inheritance. Some shared code in idl.yy is now in AST_Interface::redefine() and AST_Interface::fwd_redefinition_helper(). Forward definition is a little changed, that the dummy full definition be_ object stored in AST_InterfaceFwd is of the right type. FE_InterfaceHeader::compile_inheritance () is extended with the rules to check right inheritance of valuetypes and abstract interfaces. The constructor of FE_InterfaceHeader has now a default parameter which let the derived FE_obv_header invoke compile_inheritance () at later time. * TAO_IDL/be_include/be.h: * TAO_IDL/be_include/be_codegen.h: * TAO_IDL/be_include/be_visitor.h: * TAO_IDL/be_include/be_visitor_module/module.h: * TAO_IDL/be_include/be_visitor_root/root.h: * TAO_IDL/be_include/be_visitor_argument/arglist.h: * TAO_IDL/be_include/be_visitor_argument/compiled_marshal_cs.h: * TAO_IDL/be_include/be_visitor_argument/compiled_marshal_ss.h: * TAO_IDL/be_include/be_visitor_argument/post_docall_compiled_cs.h: * TAO_IDL/be_include/be_visitor_argument/upcall_ss.h: * TAO_IDL/be_include/be_visitor_argument/vardecl_ss.h: * TAO_IDL/be_include/be_visitor_field/field_ch.h: * TAO_IDL/be_include/be_visitor_operation/compiled_marshal.h: * TAO_IDL/be_include/be_visitor_operation/rettype*.h: * TAO_IDL/be_include/be_visitor_valuetype.h [new]: * TAO_IDL/be_include/be_visitor_valuetype_fwd.h [new]: * TAO_IDL/be_include/be_visitor_valuetype/*.h [new]: * TAO_IDL/be/be_visitor.cpp: * TAO_IDL/be/be_visitor_factory.cpp: * TAO_IDL/be/be_visitor_module/module.cpp: * TAO_IDL/be/be_visitor_root/root.cpp: * TAO_IDL/be/be_visitor_argument/arglist.cpp: * TAO_IDL/be/be_visitor_argument/compiled_marshal_cs.cpp: * TAO_IDL/be/be_visitor_argument/compiled_marshal_ss.cpp: * TAO_IDL/be/be_visitor_argument/post_docall_compiled_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_field/field_ch.cpp: * TAO_IDL/be/be_visitor_operation/compiled_marshal.cpp: * TAO_IDL/be/be_visitor_operation/rettype*.cpp: * TAO_IDL/be/be_visitor_valuetype_fwd.cpp [new]: * TAO_IDL/be/be_visitor_valuetype/*.cpp [new]: The visiting of valuetype is integrated into the root and module visitors. The OBV_ classes resp. namespaces are generated in an extra pass over the syntax tree. * tao/corba.h: * tao/corbafwd.h: * tao/ValueBase.h [new]: * tao/ValueBase.i [new]: * tao/ValueBase.cpp [new]: All valuetypes inherit from the CORBA::ValueBase. It has abstract operations for the reference counting, which are implemented by multiply inherit from e.g. CORBA::DefaultValueRefCountBase. _copy_value () is not yet implemented. There is some internal stuff for doing [un]marshalling and dynamic type conversion (used by _downcast ()), whose underlaying mechanism is like in the tao_idl compiler itself: The static member _downcast () calls a virtual function, which is implemented from the IDL compiler, with an id of the wanted type. These it is compared against the actual id of the object. In case of mismatch the ancestors of the valuetype are called (in depth first order). _downcast () is used during unmarshaling too. This may result in quite undeterministic real time behaviour. The worst case would be that the _downcast walks the complete inheritance graph. The detailed marshaling is best studied from the comments in ValueBase.cpp. * tao/ValueFactory.h [new]: * tao/ValueFactory.i [new]: * tao/ValueFactory.cpp [new]: * tao/ValueFactory_Map.h [new]: * tao/ValueFactory_Map.i [new]: * tao/ValueFactory_Map.cpp [new]: The map of registered valuetype factories. TAO_OBV_REGISTER_FACTORY macro is for on the fly factory registration, but its not like in the OMG specs. * tao/ORB.h: * tao/ORB.cpp: Integration of the factory map for valuetypes with the ORB. It is accessed through CORBA_ORB::register_value_factory (), unregister_value_factory () and lookup_value_factory (). This needs some revision to make the changing of the map thread safe and changes to make it per ORB and not per process as it is currently. * */Makefile: Many makefile dependencies updated. * examples/Simple/chat/Makefile: The dependencies did not include Client_i.cpp or Server_i.cpp * orbsvcs/tests/Trading/Makefile: Added dependencies to for parallel compilation. Thu May 6 09:24:30 1999 Carlos O'Ryan * orbsvcs/tests/EC_Throughput/ECT_Supplier.cpp: * orbsvcs/tests/EC_Throughput/ECT_Consumer.cpp: Small changes in debugging messages. Wed May 05 15:11:26 1999 David L. Levine * orbsvcs/orbsvcs/Time_Utilities.i (Time_Value_to_TimeT): replaced static cast of ACE_ONE_SECOND_IN_NSECS to ACE_UINT32 with ACE_U_ONE_SECOND_IN_NSECS, so we don't cast away constness. Wed May 05 13:07:49 1999 David L. Levine * all Makefiles: replaced /bin/rm with $(RM) and /bin/mv with mv. Wed May 5 12:58:14 1999 Carlos O'Ryan * orbsvcs/tests/EC_Throughput/ECT_Throughput.cpp: Calibrate the High_Res_Timer before starting the test. * orbsvcs/tests/EC_Throughput/ECT_Supplier.cpp: The last shutdown event was not properly initialized. * orbsvcs/tests/EC_Throughput/ECT_Driver.cpp: Corrected variance computation and use the ACE_High_Res_Timer::global_scale_factor() to map from ACE_hrtime_t to microseconds. * orbsvcs/orbsvcs/Event/EC_ProxySupplier.cpp: Minor cosmetic fixes. * orbsvcs/orbsvcs/Event/EC_Priority_Dispatching.cpp: For experimentation purposes the dispatching thread runs at a higher priority that the supplier threads. This minimizes the latency because the dispatching thread becomes runnable as soon as there is data available. Of course this will be controlled by the scheduler in production code. Wed May 05 12:20:00 1999 Chris Gill * orbsvcs/orbsvcs/Event/EC_ObserverStrategy.cpp: added missing template instantiations for ACE_RB_Tree_Iterator_Base. Thanks to David Levine for reporting this. Wed May 05 09:52:18 1999 David L. Levine * orbsvcs/CosEvent_Service/Makefile: added subset dependency on Event2, because it needs the TAO_EC_Event_Channel ctor. Wed May 5 02:20:15 1999 Jeff Parsons * tao/corbafwd.h: * tao/Environment.{h,i,cpp}: Added _var and _out classes. * tao/Any.{h,i,cpp}: Edited the comment for the Any_var extraction operators, added the Any_out -> operator, which was missing, and made a cosmetic change to Any.cpp. * tao/Typecode.{h,i}: Moved the operator assigning a TypeCode_var to a TypeCode_out to private: and removed the implementation - it's not allowed. Tue May 4 23:50:04 1999 Jeff Parsons * tao/corbafwd.h: * tao/ORB.{h,cpp}: * tao/Typecode_Constants.cpp: Added typedef'd strings ORBid to CORBA and ObjectId to CORBA_ORB, along with their typecodes. Also moved the typecode initialization for the exception InconsistentTypeCode out of ORB.cpp and into Typecode_Constants. Also cosmetized Typecode_Constants a little. Tue May 4 21:46:31 1999 Carlos O'Ryan * TAO_IDL/driver/drv_preproc.cpp: Fixed memory managment problems with the new implicit option -I$TAO_ROOT/tao, also use $ACE_ROOT/TAO if TAO_ROOT is not defined and print a warning message if none is defined. Tue May 4 21:15:51 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Event/EC_Dispatching_Task.h: * orbsvcs/orbsvcs/Event/EC_Dispatching_Task.i: * orbsvcs/orbsvcs/Event/EC_Dispatching_Task.cpp: * orbsvcs/orbsvcs/Event/EC_Priority_Dispatching.h: * orbsvcs/orbsvcs/Event/EC_Priority_Dispatching.i: * orbsvcs/orbsvcs/Event/EC_Priority_Dispatching.cpp: Added new Dispatching strategy that uses multiple threads (one per priority) and a queues to dispatch the events. This strategy allows invocations from high-priority suppliers to low-priority consumers or vice-versa with minimum priority inversion. It also decouples the collocated suppliers from the time spent in the collocated consumers. * orbsvcs/orbsvcs/Event/EC_Null_Factory.cpp: * orbsvcs/orbsvcs/Event/EC_Default_Factory.cpp: Added support for the new dispatching strategy and for Immediate changes in the supplier sets, but with locking. * orbsvcs/orbsvcs/Event/EC_ProxySupplier.cpp: Before passing data to the dispatching module we increment the reference count, that way the dispatching module doesn't have to do it and we minimize locking overhead. * orbsvcs/orbsvcs/Event/Dispatching_Modules.cpp: Minor cosmetic changes. * orbsvcs/tests/EC_Throughput/ECT_Consumer.cpp: Enabled debug message if an empty event is received. * orbsvcs/tests/EC_Throughput/ec.conf: * orbsvcs/tests/EC_Throughput/ec.mt.conf: Added new configuration for Priority_Dispatching strategy. Re-ordered options in old configuration to match the new one. Tue May 4 20:23:37 1999 Jeff Parsons * tao/Any.{h.cpp}: Change the signature of the constructor CORBA_Any (CORBA::TypeCode_ptr type, const ACE_Message_Block* mb) to CORBA_Any (CORBA::TypeCode_ptr type, COREBA::UShort dummy, const ACE_Message_Block* mb) in order to avoid ambiguity with a call to CORBA_Any (CORBA::TypeCode_ptr type, void *value = 0, CORBA::Boolean any_owns_data = 0) where the second arg is NULL and the third arg is left out. * tao/DynArray_i.cpp: * tao/DynEnum_i.cpp: * tao/DynSequence_i.cpp: * tao/DynStruct_i.cpp: * tao/DynUnion_i.cpp: * tao/Invocation.cpp: * tao/Typecode.cpp: Changed the signature of all the calls to the above constructor. * orbsvcs/orbsvcs/AV/AVStreams_i.cpp: Fixed the '*/ outside of comment' warning. Tue May 4 20:17:41 1999 Balachandran Natarajan * tao/CORBA.pidl: New file for adding entries that would generate new typecodes. 1999-05-04 Seth Widoff * orbsvcs/orbsvcs/Makefile: * orbsvcs/orbsvcs/CosTrading.idl: * orbsvcs/orbsvcs/CosTradingRepos.idl: * orbsvcs/orbsvcs/CosTradingDynamic.idl: Broke the CosTrading.idl file up so that each idl file gets one module. * orbsvcs/orbsvcs/Trader/Offer_Iterators.{h,cpp}: * orbsvcs/orbsvcs/Trader/Trader.h: * orbsvcs/orbsvcs/Trader/Trader_Interfaces.{h,cpp}: * orbsvcs/orbsvcs/Trader/Trader_T.{h,cpp}: * orbsvcs/orbsvcs/Trader/Trader_Utils.{h,cpp}: For the stem_id used in federated query, obliterated the calls to rand_r, since they apparently return -1 on NT. Since random numbers were kind of a cludge anyway, the trader now establishes a unique sequence number space by generating a prefix consisting of IP address and process id. If the trader is running on a machine without an IP address, then it defaults to a random prefix (using plain old rand, this time). Thanks to Ulf Jährig for pointing this problem out. I also adapted all servants in the trader to use POA reference counting. * orbsvcs/tests/Offer_Exporter.cpp: * orbsvcs/tests/TT_Info.cpp: Fixed the includes to respect the new idl file schema. Tue May 4 17:45:43 1999 Jeff Parsons * TAO/tao/orb.idl: Added this file as required by CORBA spec. Contains only empty interface defs for ORB, TypeCode and Object, inside module CORBA, so the IDL compiler can recognize 'CORBA::' scoped versions of the above. Interface defs suggested by Carlos, who also says we may need to add to them later. * TAO_IDL/driver/drv_preproc.cpp: Added a line to include the $TAO_ROOT/tao directory in the preprocessor invocation, so it can find orb.idl. Tue May 4 14:11:43 1999 Nagarajan Surendran * orbsvcs/orbsvcs/AV/sfp.cpp: Fixed the misinterpretation of the credit message where I was adding the cred_num field to the allowed credit. Its actually a sequence number and the credit doesn't change for a session. Thanks to Leif Jakobsmeier for pointing this out. Tue May 4 12:34:08 1999 Carlos O'Ryan * tao/orbconf.h: * TAO_IDL/be/be_helper.cpp: The IDL compiler can use either templates or explicit code for the classes mapped from IDL sequences. I cleaned up the macros to control which scheme is used by default on each platform. The complete documentation is in orbconf.h next to TAO_USE_SEQUENCE_TEMPLATES Tue May 04 12:15:06 1999 David L. Levine * tao/Object_Adapter.cpp (dispatch_servant_i): replaced direct comparison of ACE_thread_t's with ACE_OS::thr_equal (). Thanks to Steven D. Chen for reporting this on HP-UX and for verifying the fix. Tue May 04 12:03:52 1999 David L. Levine * orbsvcs/orbsvcs/Makefile,tmplinst-orbsvcs.cpp: removed tmplinst-orbsvcs.cpp, because none of its explicit instantiations appear to be used. Arranged orbsvcs subsets so that the Naming Service is always built. Many examples and tests need it. * docs/configurations.html: removed note about orbsvcs subsets not considering dependencies between the services. The hard-coded dependencies and Makefile dependencies should take care of that now. Tue May 4 09:47:04 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Event/EC_ObserverStrategy.cpp: Completed implementation of the EC_Basic_ObserverStrategy. Fixed computation of the consumers subscription list. Thanks to J. Russell Noseworthy for helping out with this. * orbsvcs/orbsvcs/Event/EC_Event_Channel.h: * orbsvcs/orbsvcs/Event/EC_Event_Channel.i: * orbsvcs/orbsvcs/Event/EC_SupplierAdmin.h: * orbsvcs/orbsvcs/Event/EC_SupplierAdmin.cpp: Added locking on the SupplierAdmin object, the ConsumerAdmin does not need it since the locking is handled by its SupplierSet. * orbsvcs/orbsvcs/Event/EC_Gateway.cpp: Cleaned up publication list computation, thanks to J. Russell Noseworthy for helping out with this. * orbsvcs/Event_Service/svc.conf: Added locks for the ConsumerAdmin and SupplierAdmin modules. * orbsvcs/orbsvcs/Event/EC_ProxyConsumer.cpp: * orbsvcs/tests/EC_Throughput/ECT_Throughput.cpp: Minor cosmetic fixes. * orbsvcs/tests/EC_Mcast/svc.conf: Added the right configuration options for the new EC. * orbsvcs/tests/EC_Mcast/EC_Mcast.cpp: Added initialization of the EC_Default_Factory. Workaround what appears to be a bug in glibc2 implementation of rand_r(), it returns negative values but it should only return numbers in the range [0,RAND_MAX) Mon May 3 23:46:31 1999 Jeff Parsons * TAO_IDL/driver/drv_preproc.cpp: Added a line to suppress inclusion of "fooC,h" and "fooS.h" if foo.idl is "orb.idl". We're not fully functional with '#include ' yet - more changes to come. Mon May 03 22:02:34 1999 David L. Levine * TAO_IDL/include/ast_expression.h: reverted replacement of LongLong with Long for GreenHills/Solaris, because it'll take a lot more than that. Mon May 03 21:57:56 1999 David L. Levine * TAO_IDL/tao_idl.cpp,TAO_IDL/be/be_init.cpp, TAO_IDL/driver/drv_{args,fork,preproc}.cpp, TAO_IDL/fe/fe_init.cpp,TAO_IDL/fe/lex.yy.cpp: replaced exit (n) with ACE_OS::exit (n). Thanks to Steve Huston for reporting this abomination. Mon May 3 18:31:25 1999 Jeff Parsons * TAO/examples/POA/DSI/Database_i.{h,cpp}: Updated format of a CORBA::NO_IMPLEMENT exception and removed a leading underbar from an 'is_a' so that declaration, definition and call signature all agree. Mon May 3 17:19:26 1999 Jeff Parsons * tao/Any.{h,i}: Added insertion and extraction operators for Any_var. CORBA spec requires these for all copying insertion operators defined as members of Any. The extraction operators are there as a tip of the hat to user of other ORBs that may be used to them. Mon May 3 16:09:24 1999 Ossama Othman * tao/IIOP_Server_Reqeust.*: * tao/GIOP_Server_Request.*: Changed all references to IIOP_ServerRequest to GIOP_ServerRequest since the implementation is GIOP-specific, not IIOP-specific. * tao/UIOP_Server_Request.*: A UIOP-specific ServerRequest class is no longer needed since the UIOP case falls under the GIOP case. Removed these files. * tao/Connect.cpp: * tao/UIOP_Connect.cpp: Changed references to IIOP_ServerRequest and UIOP_ServerRequest to GIOP_ServerRequest since both transport protocols fall under GIOP. Mon May 3 15:53:45 1999 Jeff Parsons * TAO_IDL/include/AST_Expression.h: Used #if defined (ACE_LACKS_LONGLONG_T) to conditionally define a longlong and unsigned longlong as a long and an unsigned long, respectively. This in only to make GreenHills/Solaris happy. Thanks to David Levine for reporting the problem. Mon May 03 15:26:19 1999 David L. Levine * tao/Object_Adapter.h: added "class" in friend declarations. Mon May 03 10:39:33 1999 David L. Levine * TAO version 0.3.21 released. Mon May 03 10:18:24 1999 David L. Levine * tests/NestedUpcall/MT_Client_Test/Makefile: removed unused orbsvcs references. Mon May 03 10:04:00 1999 David L. Levine * performance-tests/POA/Demux/Makefile, tests/InterOp-Naming/Makefile: only build if the orbsvcs library was built with the Naming component. Mon May 03 09:46:31 1999 David L. Levine * performance-tests/Cubit/TAO/DII_Cubit/Makefile: removed use of orbsvcs headers and lib. They're no longer needed. Sun May 02 22:11:42 1999 David L. Levine * orbsvcs/orbsvcs/Makefile: always build Trader with LifeCycle. Sun May 02 22:09:42 1999 David L. Levine * orbsvcs/orbsvcs/CosEvent/{Consumer,Supplier}Admin_i.cpp, EventChannel_i.cpp,ProxyPush{Consumer,Supplier}_i.cpp: added auto_ptr and ACE_Auto_Basic_Ptr explicit instantiations, for old g++. Sun May 02 22:05:46 1999 David L. Levine * orbsvcs/orbsvcs/Event/EC_Default_Factory.cpp (create_dispatching): put ??? in a comment, so that old g++ doesn't complain about encountering a trigraph. Sun May 2 15:57:33 1999 Nagarajan Surendran * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/Command_Handler.cpp: Removed the call to remove_handlers () in the ~Command_Handler to avoid double deletion of the signal handler. Sun May 02 14:47:58 1999 David L. Levine * orbsvcs/orbsvcs/Event/EC_ProxySupplier.cpp: removed ACE_Reverse_Lock and ACE_Guard > explicit template instantiations because they're in tao/Object_Adapter.cpp. Sun May 02 14:32:44 1999 David L. Levine * orbsvcs/orbsvcs/Time_Utilities.i (Time_Value_to_TimeT): added static cast of ACE_ONE_SECOND_IN_NSECS to ACE_UINT32 so that it will compile with ACE_LACKS_U_LONGLONG_T. Sun May 02 14:02:23 1999 David L. Levine * orbsvcs/orbsvcs/Makefile: always build Sched with Event or Event2. Added dependency on Event's IDL_SRC's. Thanks to Carlos for letting me know that these are necessary. Reordered subset support to be top-to-bottom, so that lower level services can be easily included if needed only by higher level services. * orbsvcs/Event_Service/Makefile,orbsvcs/tests/EC_Throughput/Makefile: added dependency on TAO_ORBSVCS Naming. Thanks to Carlos for pointing out that these modules use Naming. Sun May 02 11:55:00 1999 Chris Gill * orbsvcs\orbsvcs\Sched\Reconfig_Scheduler.{cpp, h, i} (new) orbsvcs\orbsvcs\Scheduler_Factory.h: Very early draft of the reconfigurable scheduler implementation. Sun May 02 08:15:50 1999 David L. Levine * tao/Context.cpp: removed ACE_Unbounded_Queue explicit instantiations, because they're in ace/ARGV.cpp (except ACE_HAS_MOSTLY_UNICODE_APIS, which we only use on WIN CE). Sun May 2 00:12:40 1999 Nagarajan Surendran * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/Command_Handler.cpp: Fixed the code to restart the event loop for Audio Buffer and Video Buffer process for the java init case when the Java Gui sends ior to the mpeg client. * orbsvcs/tests/AVStreams/mpeg/source/mpeg_mib/mibButton.cpp: * orbsvcs/tests/AVStreams/mpeg/source/mpeg_mib/mibLabel.cpp: * orbsvcs/tests/AVStreams/mpeg/source/mpeg_mib/mibList.cpp: * orbsvcs/tests/AVStreams/mpeg/source/mpeg_mib/mibToggle.cpp: Fixed compilation errors for using unsigned char * instead of XmString on SunOS5.7 CC 4.2. Thanks to Bala for helping with this. * orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Globals.h: Fixed a redundant redinition warnings for macros nextByte and computePicSize. * orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/routine.{h,cpp}: Fixed void usleep to int usleep to avoid ambiguity errors on SunOS5.7 CC 4.2. * orbsvcs/tests/AVStreams/mpeg/source/server/Machine_Properties.cpp: Redefined xdr_void to int xdr_void (XDR *,void *) to fix compilation errors on SunOS5.7 CC 4.2. Sat May 1 23:30:08 1999 Nagarajan Surendran * orbsvcs/orbsvcs/AV/AVStreams_i.{h,cpp}: * orbsvcs/orbsvcs/AV/AVStreams_i_T.{h,cpp}: * orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.cpp: Added the correct implementation of destroy method according to Irfan's suggestion. Also corrected some TAO_ macros used for exceptions. Sat May 1 22:01:41 1999 Pradeep Gore * orbsvcs/CosEvent_Service/CosEvent_Service.h: added virtual destructors. Sat May 1 21:01:40 1999 Jeff Parsons * TAO_IDL/be/be_visitor_argument/compiled_marshal_cs.cpp: Stub code generation was not checking inout args for the char, wchar, boolean and octet cases, where the Any::to_* structs must be used when demarshaling. Result was 'ambiguous >> operator' error in compilation. Added the switch statement, checks and code generation. Thanks to englishmalc@my-dejanew.com for reporting this bug. Sat May 1 17:44:34 1999 Douglas C. Schmidt * tao/ORB.cpp (multicast_query): Make sure we close down the ACE_SOCK_Acceptor so we don't leak handles. Thanks to Vishal and James Johnson for tracking this down. 1999-05-01 Vishal Kachroo * orbsvcs/orbsvcs/Time_Utilities.i: Fixed the precision error. Use 64-bit precision for 64bit*32bit operation. Thanks to Tom Venturella for reporting that is had been using only 32-bit precision. Sat May 1 15:06:40 1999 Nagarajan Surendran * tao/Typecode.cpp (parameter): Changed the variable env to ACE_TRY_ENV in CORBA_TypeCode::parameter method. Sat May 1 13:32:13 1999 Alexander Babu Arulanthu * orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp : Fixed the g++ warnings. 1999-05-01 Vishal Kachroo * orbsvcs/orbsvcs/IOR_Multicast.cpp (handle_input): Added stream.close () after stream.send_n () to explicitly close the socket. Thanks to James Johnson for finding this bug and suggesting the fix. Sat May 01 08:22:12 1999 David L. Levine * performance-tests/Cubit/TAO/IDL_Cubit/run_test.pl: check to see that the executables exist before trying to run them. Sat May 01 03:03:47 1999 Nanbor Wang * orbsvcs/orbsvcs/CosEvent/ConsumerAdmin_i.h: * orbsvcs/orbsvcs/CosEvent/ProxyPushConsumer_i.{h,cpp}: * orbsvcs/orbsvcs/CosEvent/ProxyPushSupplier_i.{h,cpp}: * orbsvcs/orbsvcs/CosEvent/SupplierAdmin_i.h: * orbsvcs/orbsvcs/CosEvent/Event_Channel_i.h: * orbsvcs/orbsvcs/Event/Event_Channel.h: Disable MSVC's warning 4250. * tao/tao[_static].dsp: Added IIOP_Server_Request.{h,i,cpp}. Fri Apr 30 21:43:29 1999 Alexander Babu Arulanthu * orbsvcs/tests/Property/server.cpp * orbsvcs/tests/Property/README * orbsvcs/tests/Property/client.cpp * orbsvcs/tests/Property/client.h * orbsvcs/tests/Property/main.cpp * orbsvcs/tests/Property/server.cpp * orbsvcs/orbsvcs/Property/CosPropertyService_i_T.h: * orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp: * orbsvcs/orbsvcs/Property/CosPropertyService_i.h: * orbsvcs/orbsvcs/Property/CosPropertyService_i_T.cpp: Update the code to use ACE exception macros. Also updated the destroy method semantics to do POA deactivate. Removed unnecessary ACE_DEBUG's from the code. Fri Apr 30 20:06:44 1999 Jeff Parsons * tao/Typecode_Constants.cpp: Fixed a bunch of 'Memory in Use' reports from Purify reported by Irfan. Of a group of 10 Policy-related Typecodes in init(), only 3 had been added to fini(). Fri Apr 30 19:55:26 1999 Pradeep Gore * orbsvcs/orbsvcs/CosEvent/EventChannel_i.*: * orbsvcs/orbsvcs/CosEvent/ConsumerAdmin_i.*: * orbsvcs/orbsvcs/CosEvent/SupplierAdmin_i.*: * orbsvcs/orbsvcs/CosEvent/ProxyPushSupplier_i.*: * orbsvcs/orbsvcs/CosEvent/ProxyPushConsumer_i.*: modified the CosEvent Channel to use reference counted servants. Fri Apr 30 19:05:32 1999 Ossama Othman * tao/Server_Request.*: * tao/IIOP_Server_Request.*: * tao/UIOP_Server_Request.*: Moved IIOP specific stuff from Server_Request.* to IIOP_Server_Request.*. Created UIOP-specific UIOP_Server_Request files based on the IIOP ones. * tao/Makefile: Added IIOP_Server_Request files to the Makefile and updated the dependencies. * tao/UIOP_Connect.{h,i,cpp}: Rough implementation of UIOP connection handlers based on the IIOP connection handlers. Not operational yet. * tao/Connect.*: Changed all references of TAO_SVC_HANDLER to TAO_IIOP_SVC_HANDLER. * tao/LSOCK_*: * tao/UIOP_*: Changed all references of "LSOCK" to "UIOP" (except for ACE related LSOCK references). Renamed all `LSOCK*' files to `UIOP*'. Thanks to Fred for motivating these naming conventions. Fri Apr 30 18:46:10 1999 Jeff Parsons * TAO_IDL/be/be_sunsoft.cpp: Added a couple of cases to the character constant switch that eliminated the IDL compiler error messages produced from one of the test IDL files in the OMG tests. I don't think all of the IDL compiler tests have been run yet, so there may remain more to be done. Fri Apr 30 17:41:31 1999 Jeff Parsons * tao/Typecode.{h,cpp}: Added a parameter() function. Although this function is gone from CORBA2.3a, it is still in 2.2 (though deprecated). Also found twp methods, ulong_param and typecode_param, that were internal hacks to use until other member functions had been written. They were never part of the spec and not now used by anything in TAO, orbsvcs, or any of the tests or examples, so they have been removed. Fri Apr 30 14:06:41 1999 Douglas C. Schmidt * COPYING: Updated the COPYING file to reflect the use new of ACE(TM) and TAO(TM). Fri Apr 30 12:42:06 1999 Carlos O'Ryan * 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: Generate CORBA::default_environment() instead of CORBA::Environment::default_environment. It is easier to generate code for the TAO library that way and it is slightly more efficient. * 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_Event_Channel.i: * orbsvcs/orbsvcs/Event/EC_ProxyConsumer.cpp: * orbsvcs/orbsvcs/Event/EC_ProxyConsumer.h: * orbsvcs/orbsvcs/Event/EC_ProxyConsumer.i: * orbsvcs/orbsvcs/Event/EC_ProxySupplier.cpp: * orbsvcs/orbsvcs/Event/EC_ProxySupplier.h: * orbsvcs/orbsvcs/Event/EC_SupplierAdmin.cpp: * orbsvcs/orbsvcs/Event/EC_SupplierAdmin.h: Added support for reference counting of ProxyPushConsumer and ProxyPushSupplier objects. Also fixed the initialization of the default_POAs for those classes and the Admin interfaces. Added strategized locking to the * tao/Context.h: * tao/Context.cpp: Use CORBA::defaul_environment() instead of CORBA::Environment::default_environment() that way we can include Context.h without requiring Environment.h Also reordered some includes in the .cpp file to validate the Context.h file on its own. * tao/IOR_LookupTable.cpp: * tao/ORB.cpp: Protected some debug messages with TAO_debug_level. Also added a few more to check the iioploc support. Fri Apr 30 11:58:23 1999 Nanbor Wang * tao/Request.{h,cpp} (operator[]): Changed the return type from "const CORBA::Request_ptr" to "const CORBA::Request*". * orbsvcs/orbsvcs/AV/AVStreams_i.cpp (connect): Reordered the code to avoid putting compiler specific code here. Fri Apr 30 02:05:22 1999 Irfan Pyarali * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_i.cpp (Cubit_Factory_i): Make sure to deactivate the cubit servant (in addition to cubit factory servant) from the POA. * tao/TAO.cpp (deactivate_under_child_poa and deactivate): The code was incorrect in assuming that the parameter is the object id; it is actually the ior. Anyway, it should work now. Fri Apr 30 01:56:37 1999 Jeff Parsons * tao/corbafwd.h; * tao/Request.{h,cpp}: * tao/ORB.{h,cpp}: Added the RequestSeq class, inherited from TAO_Unbounded_Sequence. Used as an arg in the (no-op) new ORB functions send_multiple_requests_oneway() and send_multiple_requests_deferred(), although the RequestSeq class itself is fully functional, should any of this ever really get implemented. Added several spec-required ORB functions: - create_environment() - create_exceptions() - create_context_list() - create_named_value() - get_default_context() - send_multiple_requests_onewasy() - send_multiple_requests_deferred() - get_next_response() - poll_next_response() All of these are no-ops and just throw CORBA::NO_IMPLEMENT. Fri Apr 30 00:40:44 1999 Kirthika Parameswaran * examples/POA/On_Demand_Loading/Server_Manager.h: * examples/POA/On_Demand_Loading/Servant_Activator.h: * examples/POA/On_Demand_Loading/Servant_Loader.h: Changed TAO_TRY to ACE_TRY macros. * examples/POA/On_Demand_Loading/Server_Manager.cpp: * examples/POA/On_Demand_Loading/Servant_Activator.cpp: * examples/POA/On_Demand_Loading/Servant_Loader.cpp: Added ACE_NEW_DECLARE_CORBA_ENV instead of ACE_TRY_NEW_ENV and also changed the CORBA::OBJECT_NOT_EXIST() exception to fit the current api. * examples/POA/Loader/Server_Manager.h: * examples/POA/Loader/Servant_Activator.h: * examples/POA/Loader/Servant_Loader.h: Changed TAO_TRY to ACE_TRY macros. * examples/POA/Loader/Server_Manager.cpp: * examples/POA/Loader/Servant_Activator.cpp: * examples/POA/Loader/Servant_Loader.cpp: Added ACE_NEW_DECLARE_CORBA_ENV instead of ACE_TRY_NEW_ENV and also changed the CORBA::OBJECT_NOT_EXIST() exception to fit the current api. Thu Apr 29 22:12:25 1999 Marina Spivak * orbsvcs/tests/Simple_Naming/client.cpp: modified the dummy servants to use POA reference counting. Thu Apr 29 19:58:03 1999 Douglas C. Schmidt * examples/Simple: Added the new time-date example, which will illustrate how to dynamically link an ORB via the svc.conf! Thu Apr 29 19:53:09 1999 Jeff Parsons * tao/TAO.dsp: * tao/TAO_Static.dsp: Added corbafwd.h and Invocation.h to the projects. Thu Apr 29 19:21:14 1999 Irfan Pyarali * tao/Object_Adapter.cpp (find_servant_i): We are grabbing the lock in this function when we had already grabbed it in find_servant(). This causes a deadlock when the lock are non-recursive (i.e., on all non-NT platforms). Thanks to Marina for helping with this. Thu Apr 29 19:28:49 1999 Jeff Parsons * tao/Request.{h,i,cpp}: * tao/Object.cpp: Added the contexts() and env() operations to Request. Since this involved adding an env_ member to Request, I modified Objects's _create_request and _request methods to pass along their environment args to the Request constructors, whicn were also modified to accept them and initialize env_. This won't change the signature or the functionality of any existing code. Thu Apr 29 19:16:04 1999 Nagarajan Surendran * orbsvcs/orbsvcs/AV/AVStreams_i.cpp (connect): Fixed a Vxworks warning for ACE_NOTREACHED in the connect function.Thanks to Irfan for pointing this out. Thu Apr 29 18:35:52 1999 Jeff Parsons * tao/Request.{h,cpp}: Added no-op versions of send_deferred, get_response, and poll_response. These just throw CORBA::NO_IMPLEMENT. Thu Apr 29 17:28:36 1999 Nanbor Wang Added support to allow Policy objects to be locality constraint. This reduces the footprint of TAO when policy objects will never be accessed remotely. You can enable this feature by defining TAO_HAS_LOCALITY_CONSTRAINT_POLICIES. * tao/POAC.{h,cpp}: * tao/CurrentS.cpp: * tao/POAS.{h,i,cpp}: * tao/POA_CORBA.h * tao/PolicyS.cpp: Other than supporting locality constraint policies, also removed unused op_tables, skeletons, stubs. Thu Apr 29 16:33:31 1999 David L. Levine * orbsvcs/orbsvcs/Event/EC_ProxySupplier.cpp: added ACE_Guard > explicit instantiation, for old g++. Thu Apr 29 16:23:15 1999 Douglas C. Schmidt * TAO_IDL/COPYING.sun: Split out the copyright information from the INSTALL.sun file. Thu Apr 29 15:58:30 1999 Jeff Parsons * TAO/performance-tests/Pluggable/PP_Test_Server.{h,cpp}: * TAO/performance-tests/Pluggable/server.dsp: Fixed servant deletion to deactivate under the POA before doing so. Also added some files to the server MSVC project for convenience. Thu Apr 29 13:59:23 1999 David L. Levine * tao/Context.cpp: replaced # that was inadvertantly removed by last change. Thu Apr 29 13:57:33 1999 Jeff Parsons * tao/Context.cpp: Fixed an include problem that was causing string_dup and string_free not to be found when linking to TAO. Thu Apr 29 12:15:22 1999 Marina Spivak * orbsvcs/orbsvcs/Naming/Hash_Naming_Context.cpp * orbsvcs/orbsvcs/Naming/Persistent_Naming_Context.cpp: Provided a temporary fix for the methods, to avoid crashing since the new POA changes. Appropriate fix will be committed soon together with the restructured version of Naming implementation classes. * orbsvcs/tests/Simple_Naming/client.cpp: Updated for servants to deregister from POA before being destroyed. Thu Apr 29 10:36:59 1999 Nanbor Wang * tao/Servant_Base.{h,cpp}: Changed the type of ref_count_ to CORBA::ULong and removed the template instantiation for Atomic_Ops. Thu Apr 29 09:34:40 1999 David L. Levine * performance-tests/Cubit/TAO/MT_Cubit/MT_Cubit_Test: check to see that the executables exist before trying to run them (and wait for the ior file to be created). Thu Apr 29 06:41:34 1999 David L. Levine * tao/Context.cpp: removed ACE_Atomic_Op explicit instantiation because it was already in Exception.cpp. Thu Apr 29 02:54:04 1999 Nanbor Wang * lots of .cpp files: Removed "TAO_DEFAULT_MINOR_CODE, CORBA::COMPLETED_NO" from many system exception instantiations because they are what the default constructors use. Thanks to Irfan for suggesting this. Thu Apr 29 01:23:03 1999 Irfan Pyarali * tao/POA (policies): Fixed destroy() methods of the policies by (a) removing "delete this" from the destroy() function, and (b) using servant/POA reference counting. The new destroy() function simply removes self from POA. Because of reference counting, the POA will automatically delete the servant when all pending requests on this servant are complete. * tao/Object_Adapter.cpp (TAO_Object_Adapter): Fixed memory leak by deleting dynamically allocated lock. Wed Apr 28 21:16:55 1999 Irfan Pyarali * tao/MessagingS.h: Removed inclusion of MessagingS_T.h. Old g++ cannot handle nested template classes properly. This is the same reason we cannot compile examples/POA/TIE with old g++. * docs/Options.html: Removed -ORBpoa option since it does not make sense in the new ORB/POA architecture. * examples/Simple/echo/server.dsp: * examples/Simple/echo/client.dsp: Added release dependencies to the IDL compiler. * examples/POA/Reference_Counted_Servant/server.dsp: Updated this since some source files were removed. * examples/POA/Explicit_Activation/server.cpp (main): Added the use of SINGLE_THREAD_MODEL POA policy. This helps in MT debugging of the POA. Wed Apr 28 19:03:34 1999 Jeff Parsons * tao/corbafwd.h: * tao/Context.{h,i,cpp}: Added an implementation of ContextList, based on TAO's implementation of ExceptionList, since the IDL definitions and the C++ mappings are very similar. Also added ContextList_var and ContextList_out classes. Added the methods from the OMG C++ mapping for Context. Since our support for Context is intentionally minimal, these methods just throw CORBA::NO_IMPLEMENT. Wherever a Context_ptr is used as an argument in TAO, the only value it may have is 0 (or the above exception is raised). * Exception.h: Added the _var_type typedef to class Exception. It wouldn't compile before, because of a (just-discovered) typo in corbafwd.h. Wed Apr 28 18:52:49 1999 Irfan Pyarali * tao/Object_Adapter: - Single_Threaded_POA_Lock: This class helps us by locking servants in a single threaded POA for the duration of the upcall. Single_Threaded_POA_Lock has a magic constructor and destructor. We acquire the servant lock in the constructor. We release the servant lock in the destructor. * tao/POA: - Added appropriate code for establishing and tearing down locks for servants in POAs with the SINGLE_THREAD_MODEL policy. * tao/Servant_Base: - Added a lock pointer to the servant base class. This lock will be created when the servant is registered with a single threaded poa and removed/deleted when the servant is deactivated from the POA. Note that because a servant maybe registered with multiple single threaded POAs simultaneously, we do reference counting on this lock. Wed Apr 28 18:05:38 1999 Nanbor Wang * orbsvcs/orbsvcs/orbsvcs[_static].dsp: Fixed dependencies of some idl files. Wed Apr 28 15:21:33 1999 Irfan Pyarali * tao/TAO.cpp (deactivate_under_child_poa and deactivate): Changed object_id to object_id.in (). Wed Apr 28 16:21:02 1999 David L. Levine * performance-tests/Cubit/TAO/DII_Cubit/Makefile: moved BUILD definition to after wrapper_macros.GNU include, because that would always clobber it. Thanks to Irfan for reporting that the IDL_Cubit server didn't get built first without this change. Wed Apr 28 15:56:23 1999 Carlos O'Ryan * tao/orbconf.h: * tao/MessagingC.h: * tao/MessagingC.cpp: * tao/MessagingS.h: * tao/MessagingS.cpp: * tao/Policy_Manager.h: * tao/Policy_Manager.cpp: * tao/TAO.dsp * tao/TAO_Static.dsp Added the Messaging components to the NT build, not very relevant since this are just the skeleton features that we will need, but good for validation. * tao/MessagingS_T.i: * tao/MessagingS_T.cpp: Fixed problems under HP-UX/aCC thanks to Brian Wallis for initially reporting this problem and helping us with the fix validation. Wed Apr 28 14:00:20 1999 Carlos O'Ryan * orbsvcs/examples/CosEC/Factory/CosEventChannelFactory_i.h: * orbsvcs/examples/CosEC/Factory/CosEventChannelFactory_i.cpp: * orbsvcs/examples/CosEC/Factory/FactoryCosEventChannel_i.cpp: Added @@ comments for Pradeep. Wed Apr 28 10:07:54 1999 David L. Levine * examples/POA/Reference_Counted_Servant/Makefile: added PSRC and re-ran make depend. The old dependencies had a syntax error. Wed Apr 28 09:47:05 1999 David L. Levine * TAO/tests/CDR/octet_sequence.cpp: replaced use of cout with ACE_DEBUG statements. Thanks to James D. Rucker for reporting that it didn't build on VxWorks. Wed Apr 28 09:19:24 1999 Carlos O'Ryan * tao/ORB_Core.cpp: ORB_init() was crashing if argv was nil or argc was 0, thanks to David for reporting this one. * tao/ORB.cpp: Use double checked pattern to reduce locking overhead in CORBA::instance(), the method is invoked on the critical path, that needs fixing too. Thanks to Irfan for reporting this problem. * tao/Exception.cpp: Added missing template instantiation. Wed Apr 28 09:09:03 1999 David L. Levine * orbsvcs/Event_Service/Makefile, orbsvcs/tests/EC_Mcast/Makefile, orbsvcs/tests/EC_Throughput/Makefile: require Event2 TAO_ORBSVCS component, instead of Event. Wed Apr 28 03:20:42 1999 Nanbor Wang * tao/Exception.{h,i,cpp}: Added a new class CORBA_ExceptionList_var and changed the class CORBA_ExceptionList to enable reference counting. Fixed the constructor's signature of all CORBA_SystemException's derived classes. Thanks to Ian Pepper for reporting this. * orbsvcs/orbsvcs/Event/EC_ProxySupplier.cpp: Added a typedef TAO_EC_Unlock to avoid MSVC errors. (reactive_push_to_consumer): Declared reverse_lock as TAO_EC_Unlock. * tao/corbafwd.h: Added typedef of ExceptionList_ptr and ExceptionList_var in CORBA's namespace. Added a macro definition TAO_DEFAULT_MINOR_CODE. * orbsvcs/orbsvcs/Trader/Locking.h: Changed system exception initialization signature using TAO_DEFAULT_MINOR_CODE. * lots of *.cpp files: Fixed system exception instantiations. Wed Apr 28 02:07:42 1999 Pradeep Gore * created the directories orbsvcs/examples/CosEC/Factory * added the following files: orbsvcs/examples/CosEC/Factory/CosEventChannelFactory.idl: idl definition of the CosEventChannelFactory module. orbsvcs/examples/CosEC/FactoryCosEventChannelFactory_i.h: orbsvcs/examples/CosEC/Factory/CosEventChannelFactory_i.cpp: servant implementation of the CosEC Factory. orbsvcs/examples/CosEC/Factory/FactoryCosEventChannel_i.h: orbsvcs/examples/CosEC/Factory/FactoryCosEventChannel_i.cpp: Decorator for the CosEventChannelAdmin::EventChannel servant. orbsvcs/examples/CosEC/Factory/FactoryClient.cpp: Client to test the Factory. orbsvcs/examples/CosEC/Factory/Makefile Wed Apr 28 01:45:33 1999 Irfan Pyarali * examples/POA/Generic_Servant/MyFooServant.cpp (timed_operation): Added a timed operation. This can be used to see how the POA dispatches multiple upcalls simultaneously. * examples/POA/Reference_Counted_Servant/server.cpp (Reference_Counted_Foo): There is no need to completely redefine Reference_Counted_Foo. Simply use the magic of multiple inheritance and inherit from PortableServer::RefCountServantBase and MyFooServant. Wed Apr 28 00:44:59 1999 Pradeep Gore * orbsvcs/CosEvent_Service/CosEvent_Service.{h,cpp}: modified to use the new RtEC. Tue Apr 27 23:32:52 1999 Irfan Pyarali * tao/TAO.cpp (deactivate_under_child_poa and deactivate): Added new methods to deactivate the servant. * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Server.cpp (~Cubit_Server): Deactivate servant before deleting it. Tue Apr 27 23:01:30 1999 Vishal Kachroo Added the directory $TAO_ROOT/performance-tests/POA/Demux and the following files for the POA Demux tests. * Makefile * README * client.cpp : client for the tests. * demux_stats.cpp : To calculate statistics out of the timeprobe data generated. * demux_test.idl : IDL used for the test. * demux_test_client.cpp : Makes calls on the remote objects parameterized by the no. of POAs, servants and operations. * demux_test_client.h: * demux_test_client.i: Helper class for the client. * demux_test_i.cpp : Servant Implementation. * demux_test_i.h: * demux_test_macros.h: Some #defines for the test. * demux_test_server.cpp: Server for the test. Parameterized by the POA ID policy, lifespan policy, no. of servants, operations. * demux_test_server.h * names_file: Names used by the servants. * poa_names_100.dat: Names used by the POAs. * server.cpp : server main program. * write_names.cpp : generates the names_file. Tue Apr 27 22:35:10 1999 Irfan Pyarali * tao/Object_Adapter.cpp: Fixed template instantiations and constructor initialization order problems. Tue Apr 27 21:46:08 1999 Carlos O'Ryan * Eliminated priority inversion in the reactive dispatcher, we release the lock during the upcall to limit the time during which it is held. * orbsvcs/orbsvcs/Event/EC_Dispatching.cpp: Use the "reactive_push_to_consumer()" method in the ProxyPushSupplier to ensure that the lock is released during the upcall. * orbsvcs/orbsvcs/Event/EC_Filter_Builder.h: * orbsvcs/orbsvcs/Event/EC_Filter_Builder.cpp: * orbsvcs/orbsvcs/Event/EC_Basic_Filter_Builder.h: * orbsvcs/orbsvcs/Event/EC_Basic_Filter_Builder.cpp: The timeout "filters" need direct access to the ProxyPushSupplier. * orbsvcs/orbsvcs/Event/EC_ProxySupplier.h: * orbsvcs/orbsvcs/Event/EC_ProxySupplier.cpp: * orbsvcs/orbsvcs/Event/EC_Timeout_Filter.h: * orbsvcs/orbsvcs/Event/EC_Timeout_Filter.cpp: * orbsvcs/orbsvcs/Event/EC_Timeout_Generator.cpp: Added a new callback method to the ProxyPushSupplier used by the Timeout filters to correctly grab the lock before dispatching the timeout. We need to control access to this kind of callback interfaces, possibly using helper classes with "friend" access. * orbsvcs/tests/EC_Throughput/ec.conf: * orbsvcs/Event_Service/svc.conf: By default use a regular mutex in the ProxyPushSupplier, it is more efficient and works correctly. Tue Apr 27 17:27:16 1999 Ossama Othman * tao/LSOCK_Acceptor.{h,cpp}: * tao/LSOCK_Connector.{h,cpp}: * tao/LSOCK_Profile.{h,i,cpp}: * tao/LSOCK_Transport.{h,cpp}: These are the Unix Domain Socket pluggable protocol files for TAO. They are not operational yet, but getting them under CVS control at this point seems like a good thing to do. Tue Apr 27 16:48:24 1999 Irfan Pyarali * tao/POA: - destroy_i: If the parameter is TRUE, the destroy operation will return only after all requests in process have completed and all invocations of etherealize have completed. Otherwise, the destroy operation returns after destroying the POAs. If a servant manager is associated with the POA, ServantLocator::etherealize will be invoked with the oid and the servant. (The deactivate_object operation does not wait for the etherealize operation to complete before deactivate_object returns.) If the POA has no ServantActivator associated with it, the POA implementation calls _remove_ref when all operation invocations have completed. If there is a ServantActivator, the Servant is consumed by the call to ServantActivator::etherealize instead. * tao/Object_Adapter: - Non_Servant_Upcall: This class helps us with a recursive thread lock without using a recursive thread lock. Non_Servant_Upcall has a magic constructor and destructor. We unlock the Object_Adapter lock for the duration of the non-servant (i.e., adapter activator and servant activator) upcalls; reacquiring once the upcalls complete. Even though we are releasing the lock, other threads will not be able to make progress since has been set. - Outstanding_Requests: This class helps us by increasing for the duration of the servant upcall. Outstanding_Requests has a magic constructor and destructor. We increment in the constructor. We decrement in the destructor. Note that the lock is released after is increased and is decreased after the lock has been reacquired. * tao/Active_Object_Map: - Added flag to each entry in the map. This flag is needed because there is a period of time between an object's deactivation and the etherealization (during which outstanding requests are being processed) in which arriving requests on that object should not be passed to its servant. During this period, requests targeted for such an object act as if the POA were in holding state until etherealize completes. If etherealize is called as a consequence of a deactivate call with a etherealize_objects parameter of TRUE, incoming requests are rejected. - bind_using_system_id(): Removed extra code: entry->system_id_ = entry->user_id_; this was already happening in TAO_Active_Hint_Strategy::bind(). - unbind_using_user_id(): Only unbind servant if non-zero. * tao/Servant_Base.h (TAO_ServantBase): Change reference count from ACE_Atomic_Op to ACE_Atomic_Op. This way we can utilize the InterlockedIncrement / InterlockedDecrement specializations for Atomic_Op on NT. * tao/ORB_Core.cpp (create_and_set_root_poa): Fixed POA constructor call. * tao/default_server.cpp (enable_poa_locking): Changed server factory to simply inform Object Adapter if POA locking should be enabled. The Object Adapter will create the proper lock. Tue Apr 27 16:40:00 1999 Chris Gill * orbsvcs/orbsvcs/Sched/Config_Scheduler.cpp: added some additional structure member initializations to remove uninitialized memory reads that were being reported by Purify. Tue Apr 27 15:04:14 1999 Jeff Parsons * TAO_IDL/be/be_visitor_union_branch/public_ci.cpp: Removed an incorrect "var" string appended to the local member name in the case where a union contains another union. Was causing a compile error in fooC.i. Thanks to Srikumar Kareti for reporting this. Tue Apr 27 12:01:38 1999 Nanbor Wang * orbsvcs/Event_Service/Event_Service.cpp (main): Changed to use TAO_EC_Default_Factory::init_svcs () to add the static service into service configurator. * orbsvcs/orbsvcs/AV/AVStreams_i.cpp (connect): * orbsvcs/orbsvcs/Naming/Persistent_Context_Index_T.cpp (init): Added ACE_NOTREACHED macros. KAI compiler is pretty good at figuring out unreachable statements. Mon Apr 26 16:49:24 1999 Nanbor Wang * TAO_IDL/fe/lex.yy.cpp: Redefined TAO_YY_BREAK as ACE_NOTREACHED (break;) and made sure it is used properly in the file. Mon Apr 26 10:44:18 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Event/EC_Default_Factory.h: * orbsvcs/orbsvcs/Event/EC_Default_Factory.cpp: * orbsvcs/tests/EC_Throughput/ECT_Throughput.cpp: Added helper method to register the default factory with the service configurator. This is needed on NT where the export/import madness does no allow us to use the static service declaration from outside the DLL. * orbsvcs/orbsvcs/orbsvcs.dsp: * orbsvcs/orbsvcs/orbsvcs_static.dsp: Added the new Event Channel files. Mon Apr 26 09:16:51 1999 Carlos O'Ryan * orbsvcs/tests/EC_Throughput/ECT_Driver.h: * orbsvcs/tests/EC_Throughput/ECT_Driver.i: * orbsvcs/tests/EC_Throughput/ECT_Driver.cpp: Encapsulated throughput measurements in a helper class. Added support for accumulating several latency measurements. * orbsvcs/tests/EC_Throughput/ECT_Consumer.h: * orbsvcs/tests/EC_Throughput/ECT_Consumer.cpp: * orbsvcs/tests/EC_Throughput/ECT_Consumer_Driver.cpp: * orbsvcs/tests/EC_Throughput/ECT_Supplier.h: * orbsvcs/tests/EC_Throughput/ECT_Supplier.cpp: * orbsvcs/tests/EC_Throughput/ECT_Supplier_Driver.cpp: * orbsvcs/tests/EC_Throughput/ECT_Throughput.h: * orbsvcs/tests/EC_Throughput/ECT_Throughput.cpp: Added support for accumulated throughput and per-consumer latency. * orbsvcs/orbsvcs/Event/EC_Type_Filter.cpp: Fine tuned. * orbsvcs/orbsvcs/Event/EC_ProxyPushSupplier_Set.cpp: We should not raise an exception when removing a supplier, because we would need to filter out supplier removal too. It is enough to raise the exception from the SupplierAdmin module. * orbsvcs/orbsvcs/Event/EC_Per_Supplier_Filter.cpp: Added debugging messages (currently commented out). * orbsvcs/orbsvcs/Event/EC_Filter.cpp: Added some @@ comments. Mon Apr 26 05:35:12 1999 Nanbor Wang * tao/TAO_Internal.{h,cpp}: Changed *_args to of type const char *. Thanks to Andy for reporting this. * tao/TAO_Internal.{i,cpp} (default_svc_conf_entries): Moved to .cpp file and remove TAO_Internal.i from repository. Sun Apr 25 16:59:59 1999 Nanbor Wang * TAO_IDL/fe/lex.yy.cpp: Added ACE_NOTREACHED to two redundant break statements. * TAO_IDL/ast/ast_expression.cpp (coerce_value): Removed a redundant return statement. Sun Apr 25 16:05:19 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Event/EC_Factory.h: * orbsvcs/orbsvcs/Event/EC_Basic_Factory.h: * orbsvcs/orbsvcs/Event/EC_Basic_Factory.i: * orbsvcs/orbsvcs/Event/EC_Basic_Factory.cpp: * orbsvcs/orbsvcs/Event/EC_Null_Factory.h: * orbsvcs/orbsvcs/Event/EC_Null_Factory.i: * orbsvcs/orbsvcs/Event/EC_Null_Factory.cpp: * orbsvcs/orbsvcs/Event/EC_Default_Factory.h: * orbsvcs/orbsvcs/Event/EC_Default_Factory.i: * orbsvcs/orbsvcs/Event/EC_Default_Factory.cpp: * orbsvcs/orbsvcs/Event/EC_Event_Channel.h: * orbsvcs/orbsvcs/Event/EC_Event_Channel.i: * orbsvcs/orbsvcs/Event/EC_Event_Channel.cpp: The EC_Factories create a Supplier_Filter_Builder now. This simplifies some of the memory managment in the system: now the EC must handle the builder and the builder handles the object it creates. I was able to lift a restriction of the factories implemented so far: they can be used from multile ECs now. * orbsvcs/orbsvcs/Event/EC_Supplier_Filter_Builder.h: * orbsvcs/orbsvcs/Event/EC_Supplier_Filter_Builder.i: * orbsvcs/orbsvcs/Event/EC_Supplier_Filter_Builder.cpp: * orbsvcs/orbsvcs/Event/EC_ProxyConsumer.h: * orbsvcs/orbsvcs/Event/EC_ProxyConsumer.i: * orbsvcs/orbsvcs/Event/EC_ProxyConsumer.cpp: The EC_Factory creates a factory object for the supplier-side filters. Analogous to the consumer-side filter builder. The ProxyPushConsumer uses this object to create its filter, but the creation is deferred until the user connects to the ProxyConsumer (as it is done in the consumer side). * orbsvcs/orbsvcs/Event/EC_SupplierFiltering.h: * orbsvcs/orbsvcs/Event/EC_SupplierFiltering.cpp: * orbsvcs/orbsvcs/Event/EC_Trivial_Supplier_Filter.h: * orbsvcs/orbsvcs/Event/EC_Trivial_Supplier_Filter.i: * orbsvcs/orbsvcs/Event/EC_Trivial_Supplier_Filter.cpp: Moved the trivial supplier-side filter to its own filter. Added a builder for it. * orbsvcs/orbsvcs/Event/EC_ConsumerAdmin.cpp: * orbsvcs/orbsvcs/Event/EC_SupplierAdmin.cpp: Fixed some problems with late registration of suppliers/consumers. * orbsvcs/orbsvcs/Event/EC_Per_Supplier_Filter.h: * orbsvcs/orbsvcs/Event/EC_Per_Supplier_Filter.i: * orbsvcs/orbsvcs/Event/EC_Per_Supplier_Filter.cpp: Fixed several bugs during consumer/supplier match. Also added a supplier filter builder for this type. The EC_Default_Factory has support for it too. * orbsvcs/orbsvcs/Event/EC_Filter_Builder.h: Fixed comments. * orbsvcs/tests/EC_Throughput/ECT_Throughput.cpp: Use the new EC by default. Start the threads at the right priority. * orbsvcs/tests/EC_Throughput/ec.conf: Enabled the per-supplier filters by default. * Updated many makefiles. Sat Apr 24 22:57:42 1999 Jeff Parsons * TAO_IDL/be/be_interface.cpp: Fixed a typo that was causing a derived interface's _set_xxx_skel method to call the base class' _get_xxx_skel method. Thanks to Kris Johnson for pointing this out. Sat Apr 24 08:51:11 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Event/EC_Factory.cpp: IRIX required an extra #include Sat Apr 24 07:21:24 1999 David L. Levine * performance-tests/Cubit/TAO/MT_Cubit/Global.cpp (get_high_priority): on VxWorks, fixed access of default_priority. It's in the Globals singleton. Fri Apr 23 18:11:42 1999 Jeff Parsons * tao/ORB.cpp: Modified file_string_to_object() to use ACE::fopen instead of ACE::open. Formerly it was crashing when called from the MSVC debugger, due to a recent change made to plug a memory leak. This change (suggested by Carlos) will not support cool filename-within-file recursive behavior (past the file descriptor limit), but has the advantage of working with NT and causing no leaks on Unix. Fri Apr 23 16:09:41 1999 Carlos O'Ryan * orbsvcs/orbsvcs/orbsvcs.dsp: * orbsvcs/orbsvcs/orbsvcs_static.dsp: Added EC_Default_Factory to the project files. * orbsvcs/orbsvcs/Event/EC_Event_Channel.cpp: Added include file that is required on NT, but not on Unix, beats me. Fri Apr 23 16:17:04 1999 David L. Levine * performance-tests/Cubit/TAO/MT_Cubit/Globals.{h,cpp}: use ACE_THR_PRI_OTHER_DEF instead of ACE_THR_PRI_FIFO_DEF, and THR_NEW_LWP instead of THR_BOUND, if not using FIFO scheduling. Thanks to David H. Whittington for testing these changes on HP/UX (where we're still not successful) and Irix (where we are successful), not running as root. Fri Apr 23 11:12:29 1999 Carlos O'Ryan * orbsvcs/Event_Service/Event_Service.cpp: * orbsvcs/orbsvcs/Event/EC_Basic_Factory.cpp: * orbsvcs/orbsvcs/Event/EC_Basic_Factory.h: * orbsvcs/orbsvcs/Event/EC_Basic_Factory.i: * orbsvcs/orbsvcs/Event/EC_Default_Factory.cpp: * orbsvcs/orbsvcs/Event/EC_Default_Factory.h: * orbsvcs/orbsvcs/Event/EC_Event_Channel.cpp: * orbsvcs/orbsvcs/Event/EC_Event_Channel.h: * orbsvcs/orbsvcs/Event/EC_Event_Channel.i: * orbsvcs/orbsvcs/Event/EC_Factory.cpp: * orbsvcs/orbsvcs/Event/EC_Factory.h: * orbsvcs/orbsvcs/Event/EC_Null_Factory.cpp: * orbsvcs/orbsvcs/Event/EC_Null_Factory.h: * orbsvcs/orbsvcs/Event/EC_Null_Factory.i: * orbsvcs/tests/EC_Throughput/ECT_Throughput.cpp: * orbsvcs/tests/Event_Latency/Event_Latency.cpp: Cleaned up EC_Event_Channel initialization: now it takes the POA for the consumer and suppliers in the constructor instead of using the factory. This is was required since not all factories can be initialized with the right POAs. * orbsvcs/tests/EC_Mcast/EC_Mcast.cpp: * orbsvcs/tests/EC_Mcast/svc.conf: This test also uses the default factory now. Fri Apr 23 10:15:26 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Event/EC_Factory.h: * orbsvcs/orbsvcs/Event/EC_Factory.cpp: The factory is a service object now. Some factories will require the user to set the POA objects. * orbsvcs/orbsvcs/Event/EC_Default_Factory.h: * orbsvcs/orbsvcs/Event/EC_Default_Factory.i: * orbsvcs/orbsvcs/Event/EC_Default_Factory.cpp: Added new EC_Factory that uses the command line arguments to control which strategies and objects are created, it is not very efficient, but is very useful for experimentation. * orbsvcs/orbsvcs/Event/EC_Event_Channel.h: * orbsvcs/orbsvcs/Event/EC_Event_Channel.i: * orbsvcs/orbsvcs/Event/EC_Event_Channel.cpp: Added new methods to set the POAs in the factory, they should be used for factories that require them. Added support for controlling ownership of the factory class. If the user does not specify any factories explicitly we try to dynamically load the abstract factory. If that fails we fall back of the EC_Default_Factory. * orbsvcs/orbsvcs/Event/EC_ProxySupplier.cpp: * orbsvcs/orbsvcs/Event/EC_ProxyConsumer.cpp: The proxy was not reporting its destruction to the EC, thus it wasn't removed from all the data structures. * orbsvcs/Event_Service/Event_Service.h: * orbsvcs/Event_Service/Event_Service.cpp: * orbsvcs/Event_Service/svc.conf: The new Event Service is configured using the EC_Default_Factory and the svc.conf file. * orbsvcs/tests/EC_Throughput/run_test.pl: * orbsvcs/tests/EC_Throughput/ECT_Throughput.cpp: * orbsvcs/tests/EC_Throughput/ec.conf: Added support for the new "dynamically loadable" EC_Default_Factory. The ec.conf file contains the proper configuration for this test. * orbsvcs/tests/EC_Throughput/ECT_Consumer_Driver.h: * orbsvcs/tests/EC_Throughput/ECT_Consumer_Driver.cpp: Added option to disable EC shutdown on program exit. * orbsvcs/tests/EC_Throughput/ECT_Supplier_Driver.cpp: Minor fixes in debugging messages. Fri Apr 23 000:39:51 1999 Jeff Parsons * tao/Marshal.{h,i}: TAO_Marshal_Any::deep_free() was a no-op! I just forced the Any's destructor call. This may not be portable, but the alternative would probably necessitate un-inlining the function. Time will tell. Anyway, this fixed memory leaks due to Anys containing Anys. * tao/append.cpp: TAO_Marshal_Any::append() was causing client side memory leaks due to unreleased typecodes. Also fixed some Any weirdness I noticed by chance in TAO_Marshal_Union. * tao/skip.cpp: TAO_Marshal_Any::skip() was causing server side memory leaks due to unreleased typecodes. Thanks to Frank Buschmann for providing a tortuous Any test idea. Thu Apr 22 20:18:58 1999 Ossama Othman * man/man7/TAO.7: Moved `man/man1/TAO.1' to `man/man7/TAO.7' since TAO.1 doesn't describe a user program. It seems to fit better in "Miscellaneous," i.e. man section 7. * man/man1/*: Updated to reflect move of TAO.1 to man/man7/TAO.7. Thu Apr 22 17:24:27 1999 Jeff Parsons * tao/Typecode.cpp: Cosmetic changes to ~TC_Private_State so I can read it. Thu Apr 22 13:37:49 1999 Ossama Othman * man/man1/tao_idl.1: Moved tao_idl man page to newly created man page directory. * man/man1/TAO.1: * man/man1/TAO_Concurrency_Service.1: * man/man1/TAO_CosEvent_Service.1: * man/man1/TAO_Event_Service.1: Started added man pages for TAO and TAO's ORB services. There are still several more to complete. Some of the ones listed above need to be revised. Thu Apr 22 07:53:07 1999 Carlos O'Ryan * examples/POA/Reference_Counted_Servant/Makefile: Fixed small compilation problems. Wed Apr 21 22:15:43 1999 Irfan Pyarali * tao/POA: Phase three of the POA rearchitecturing is now complete. This phase includes: - Addition of reference counting to servants. This includes: (a) obeying reference counting protocol between the POA and the servant (b) addition of the ServantBase_var class to TAO (c) addition of the RefCountServantBase class to TAO (d) addition of reference counting hooks to the ServantBase class (e) addition of reference counting to active object map entries to help in counting the number of outstanding requests on the servant - Etherealization of servants has now been fixed. and should both have correct values. - New methods were added that help in deactivating and cleaning up servants. These methods are used by both the POA and the POA Manager. - New example was added. Reference_Counted_Servant shows how to use reference counted servants to automatically manage dynamic memory for servants. - Setting up of POA Current object id was only done with the RETAIN policy. This has now been fixed such that it works properly for all policies. Thanks to Steve Totten for pointing this out. Wed Apr 21 21:56:01 1999 David L. Levine * examples/Quoter/client.cpp (main): adding missing , between arguments to activate (). Wed Apr 21 19:11:00 1999 Chris Gill * examples/Simulator/DOVEBrowser/NS_Resolve.java: New NS resolution method based on CORBA standard approach. Many thanks to Margaret Reitz and Hans Ridder for contributing these changes. * examples/Simulator/NavWeap.idl examples/Simulator/Event_Supplier/{DualEC_Sup, Event_Sup, Logging_Sup}.dsp: Changes to use the new CORBA standard TimeBase.idl Wed Apr 21 14:45:28 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Event/EC_Basic_Factory.cpp: Use Recursive_Mutexes for the Basic_Factory, otherwise we risk a dead-lock if the user decides to disconnect or push a new event that it finally reaches the same consumer. * orbsvcs/orbsvcs/Event/EC_Dispatching.h: * orbsvcs/orbsvcs/Event/EC_Dispatching.cpp: * orbsvcs/orbsvcs/Event/EC_ProxySupplier.h: * orbsvcs/orbsvcs/Event/EC_ProxySupplier.cpp: Added new method push_to_consumer() to the ProxyPushSupplier implementation, this method is invoked by the dispatching module to really push the event. Its job is to verify that the consumer is not disconnected and/or suspended. The Dispatching module does not need to receive the consumer anymore. * orbsvcs/orbsvcs/Event_Service_Constants.h: * orbsvcs/orbsvcs/Event_Utilities.i: Added new macro for the ANY_SOURCE source id. * orbsvcs/orbsvcs/Event/EC_Timeout_Filter.cpp: * orbsvcs/orbsvcs/Event/EC_Timeout_Generator.cpp: Timeout filters should not accept any events in the filter() methods. The Timeout generator passes the event directly to their push_nocopy() methods. * orbsvcs/orbsvcs/Makefile: Fixed little problem with the Time -> ImplRepo dependency in TAO_ORBSVCS * orbsvcs/tests/Event_Latency/Event_Latency.cpp: Added compile-time support for the new Event Channel, just for experimentation purposes. Wed Apr 21 11:06:57 1999 David L. Levine * performance-tests/Cubit/TAO/MT_Cubit/Globals.{h,cpp}, server.cpp,client.cpp: factored out thread creation flags to Globals::thr_create_flags. Only set THR_SCHED_FIFO flag if sched_fifo_init operation to set process FIFO scheduling succeeded. Wed Apr 21 09:37:27 1999 David L. Levine * performance-tests/Cubit/TAO/MT_Cubit/summarize: added 0 low-priority thread case to example usage. * performance-tests/Cubit/TAO/MT_Cubit/MT_Cubit_Test: added exit at end of trap statement, so that the script will die after catching a signal and cleaning up. Wed Apr 21 09:25:16 1999 David L. Levine * tests/NestedUpcall/MT_Client_Test/client.cpp (main), examples/Quoter/client.cpp (main), performance-tests/Cubit/COOL/MT_Cubit/client.cpp (do_priority_inversion_test): replaced ACE_SCHED_FIFO with THR_SCHED_FIFO in activate calls. Thanks to Carlos for finding this subtle error. Wed Apr 21 09:12:20 1999 Carlos O'Ryan * performance-tests/Cubit/TAO/MT_Cubit/client.cpp: * performance-tests/Cubit/TAO/MT_Cubit/server.cpp: The activate() function was called with the wrong flag, ACE_SCHED_FIFO was used, but THR_SCHED_FIFO is the Right Thing[tm] Wed Apr 21 03:41:51 1999 Douglas C. Schmidt * TAO version 0.3.20 released. Wed Apr 21 01:24:26 1999 Irfan Pyarali * tao/default_resource.cpp: Removed extra #pragma instantiates for TAO_Collocation_Table_Lock. Wed Apr 21 00:56:21 1999 Nanbor Wang * orbsvcs/orbsvcs/Property/CosPropertyService_i_T.cpp (operator=): Added an empty implementation to stop MSVC from complaining. Tue Apr 20 23:21:22 1999 Jeff Parsons * tao/Typecode.cpp: Removed a superfluous duplication of an ACE_Message_Block in private_member_label(). This got rid of another memory leak associated with unions. In general, it's never necessary to duplicate a message block before calling the Any constructor that takes a message block or either of the Any::_tao_replace() functions. All of these duplicate the message block themselves. Tue Apr 20 22:57:57 1999 Jeff Parsons * TAO_IDL/be/be_visitor_union/any_op_cs.cpp: <<= was causing a memory leak. Removed the ->clone () from the message block being inserted into the Any. Tested both copying and non-copying versions of <<=, over the wire, with a dynamically allocated type inside the union. All worked ok, and the leak was gone. Tue Apr 20 20:43:25 1999 Nagarajan Surendran * orbsvcs/orbsvcs/Property/CosPropertyService_i_T.h: Added a operator= declaration to avoid this being generated which leads to undefined operator= for the PropertyTypes member when linking orbsvcs. Thanks to Irfan Pyarali for the fix. Tue Apr 20 20:27:48 1999 Darrell Brunsch * orbsvcs/ImplRepo_Service/*: Added an options class for storing program options and also changed the repository class to not use the ACE Naming Context. It doesn't have persistence now, but that will be added soon. * orbsvcs/tests/ImplRepo/*: Changed to work with the above changes. Tue Apr 20 17:31:28 1999 Douglas C. Schmidt * docs: Performed copy editing on a bunch of documentation and added the new Interoperable Naming Service documentation to the main documentation page. Tue Apr 20 15:24:00 1999 Darrell Brunsch * tests/MT_Client/orb_creation.dsp: * tests/MT_Client/MT_Client.dsp: New MSVC project file for orb_creation. Tue Apr 20 15:18:35 1999 Vishal Kachroo * TAO_ROOT/docs/INS.html: Added this page. It documents the InterOperable Naming Service. * TAO_ROOT/docs/releasenotes/index.html: Added a link to INS.html Tue Apr 20 14:27:07 1999 Jeff Parsons * tao/deep_free.cpp: Removed local variable discrim_size_with_pad, which is no longer being used. Tue Apr 20 11:09:07 1999 Carlos O'Ryan * tao/ORB_Core.cpp: Removed several memory leaks, including the ORB_Core itself: it wasn't destroyed when the last ORB reference went away. * tao/ORB.cpp: Fixed resource leak in file_string_to_object() * tao/default_resource.h: * tao/default_resource.i: * tao/default_resource.cpp: Merged the App_Allocated and Pre_Allocated classes into a single class, it is easier to control their lifetime and it didn't make sense to have two. * tao/IIOP_Connector.cpp: Fixed comment. * tests/MT_Client/client.global.conf: * tests/MT_Client/client.tss.conf: Use static services. * tests/MT_Client/orb_creation.cpp: * tests/MT_Client/server.cpp: * tests/MT_Client/client.cpp: Use the ACE macros to print out exceptions. * tao/MessagingC.cpp: Fixed warnings about unitialized variables. * tests/MT_Client/Makefile: Updated dependencies * tests/MT_Client/run_test.pl: Added support for the orb_creation test. Tue Apr 20 02:47:32 1999 Nanbor Wang * tests/Param_Test/param_test_i.cpp (test_exception): It was still using environment to throw exceptions. Changed to use ACE_THROW. * tests/Param_Test/except.{h,cpp}: Differentiated results based on the exception received in that iteration so we can determine if the exception is the one the test is waiting. Egcs on Linux seems to have trouble downcasting exceptions. Mon Apr 19 22:17:28 1999 Irfan Pyarali * TAO_IDL/be/be_visitor_interface/interface_ss.cpp (visit_interface): Removed access to input CDR since it is not used in this function. Thanks to David for pointing this out. Mon Apr 19 20:17:02 1999 Jeff Parsons * tao/Any.{h,i}: Changed the signature of the constructor for Any::to_object to reflect the change set out in issue 154 of the 1.3 RTF. This makes the caller responsible for disposing of the results of extracting to to_object, and allows the constructor to be passed an Object_var to facilitate this. Also had to add '#include Object.h' to keep sunc++ happy. Mon Apr 19 17:09:14 1999 Douglas C. Schmidt * performance-tests/Cubit/TAO/MT_Cubit/client.cpp (start_servant): Arrgh! There was a missing comma that caused the test to fail! Thanks to David H. Whittington for reporting this. Mon Apr 19 16:26:43 1999 Jeff Parsons * tao/deep_free.cpp: Updated TAO_Marshal_Union::deep_free to use the Union class virtual functions. The old code was bumpint the void *data pointer along to point to the discriminator value, then to the member value. This wasn't working on NT where the first thing in the union class memory layout is the vptr. Also changed the use of value() to _tao_get_cdr() on the elements of the member label list. That wouldn't work on any platform because those Anys are all created with void *value = 0; * tao/decode.cpp, * tao/encode.cpp, * tao/skip.cpp: Changed the tk_enum case for the discriminator inside the TAO_Marshal_Union versions to use CORBA::ULong as was determined to be the correct mapping earlier today. Also finished implementing the tk_wchar cases, which Andy had marked TODO. Mon Apr 19 15:23:56 1999 Irfan Pyarali * orbsvcs/tests/Trading/colocated_test.cpp (main): * orbsvcs/tests/EC_Throughput/ECT_Throughput.cpp (run): * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp (run): * orbsvcs/Trading_Service/Trading_Service.cpp (init): * tao/Stub.cpp (set_policy_overrides): * tao/POA.cpp (create_POA): Avoided annoying g++ warning about by explicitly making a temporary. Thanks to David for pointing this out. Mon Apr 19 13:54:10 1999 David L. Levine * docs/configurations.html: removed TAO_ORBSVCS limitation that said we don't check for the macro in the each of the orbsvcs and orbsvcs/tests subdirectories. We do now. Mon Apr 19 13:15:25 1999 Irfan Pyarali * tao/POA: Fixed POA code to pass and use the environment when calling _add_ref and _remove_ref on servants. * tao/Servant_Base (_add_ref and _remove_ref): Added default environment parameter to call. Thanks to David for pointing this out. * tao/ORB.cpp (resolve_root_poa and resolve_poa_current): Now that resolve_initial_references takes a environment, we don't need to create temporary environments. Changed these functions to take the environment as a parameter. Thanks to Carlos for pointing this out. * tao/POA: The following changes were made to comply with the new servant reference counting schemes in the upcoming CORBA 2.3 specification: - Changed type of from Servant to ServantBase_var. This will help in (a) calling _remove_ref() on when it is replaced with a new and (b) calling _remove_ref() on when the POA goes away. - Added servant reference counting to the following methods: get_servant set_servant activate_object activate_object_with_id servant_to_id servant_to_reference reference_to_servant id_to_servant - To be done: Calling _remove_ref() on deactivation of objects, deactivation of POAs, and destruction of POAs. Sun Apr 18 12:32:15 1999 Nanbor Wang * TAO_IDL/driver/drv_args.cpp (DRV_parse_args): Added check of validity of temp directory. If tao_idl can't access the temp directory, spit out some warning and switch to use current directory. Sun Apr 18 09:08:13 1999 David L. Levine * tao/ORB.cpp: removed ACE_Atomic_Op explicit template instantiation. It duplicated the one in Servant_Base.cpp. Sun Apr 18 03:34:33 1999 Irfan Pyarali * tao/Servant_Base.h (class ServantBase_var): Added reference counting servant auto pointer class (as per CORBA spec). * tao/Servant_Base (class RefCountServantBase): Added reference counted mix-in class (as per CORBA spec). * tao/Servant_Base.cpp (operator= and TAO_ServantBase): - Fixed the copy constructor and assignment operator to copy the optable pointer from the object. - Made the assignment operator protected (as per CORBA spec). - Also added _remove_ref() and _add_ref() (as per CORBA spec). * tao/Servant_Base.h (TAO_ServantBase): Made _is_a public and add _non_existent. * tao/Object.cpp (_non_existent): Added collocation optimization similar to the ones in _is_a(). * TAO_IDL/be/be_visitor_interface/collocated_ss.cpp * TAO_IDL/be/be_visitor_interface/collocated_sh.cpp (visit_interface): Removed the generation of the _is_a from the collocated class since there is already a call to the servant from the object if the object is collocated. * TAO_IDL/be/be_visitor_interface/interface_cs.cpp (visit_interface): Removed the incorrect comment that said that CORBA_Object::_is_a is a remote call. * TAO_IDL/be/be_visitor_interface/interface_ss.cpp (visit_interface): Changed the _is_a skeleton to use compiled marshaling. Also, changed the _non_existent skeleton to use compiled marshaling and to call the servant instead of simply returning false. * tao/Sequence.cpp (operator==): Moved the comparison of octet sequences from Stub.cpp to Sequence.cpp. Also, removed the comparison of object keys. Sat Apr 17 17:41:12 1999 Nagarajan Surendran * orbsvcs/orbsvcs/AV/AVStreams_i.{h,cpp} : * orbsvcs/orbsvcs/AV/AVStreams_i_T.cpp : Fixed g++ warnings/errors. Thanks to David Levine and JM Strauss for reporting this. Fri Apr 16 21:57:15 1999 David L. Levine * examples/Simple/{bank,echo,grid,time}/Makefile: only build if the orbsvcs library was built with the Naming TAO_ORBSVCS component. Fri Apr 16 19:40:27 1999 Jeff Parsons * tao/Typecode.cpp: Okay, here goes. A recent bug report concerning crashes upon exit after inserting a union into an Any led to this discovery. When the Any goes away, it calls free_value() on the union (since it owns it). This leads eventually to TAO_Marshal_Union::deep_free(). The union wants to free its contents, so it goes to its own typecode's private_member_label() to find out which case is active. The private_state member_label_list is not constructed until a member_label is asked for, so one is often constructed at this point. It is an array of Any_ptrs, and each Any is constructed on the heap from an output CDR stream which is formed from a message block read from an input CDR stream formed from the typecode's buffer_. So far so good? The output CDR stream was constructed using the default ORB allocators. Then, when the typecode's destructor is called, it wants to free the member_label_list, which means freeing the Any(s), which means freeing their message blocks, which means freeing their data blocks. But by this time, the ORB has gone away, so the data block(s) are hanging, and we crash. The solution is to construct the output CDR with specified allocators, namely ACE_Allocator::instance (). This class seems to have been designed especially for problems like this, since it hangs around longer than anybody. As far as I can tell, there are no more instances in Typecode where a CDR stream hangs around, so this should be the only place where this fix is needed (but a better one will come along someday). Thanks to Irfan for mucho help with this and to Frank Buschmann for reporting the problem. Fri Apr 16 19:02:07 1999 Nagarajan Surendran * orbsvcs/orbsvcs/AV/AVStreams_i.cpp: Fixed a few warnings in g++ and also added TAO_McastConfigIf and TAO_Negotiator class declarations. Fri Apr 16 16:39:22 1999 Irfan Pyarali * tao/Connect: Added a new connection handling strategy that simply blocks in recv() when waiting for a response from the server instead of waiting in the Reactor. This strategy only works when the application does not have to worry about new requests showing up when waiting for a response. Therefore, this strategy is appropriate only for "pure" clients. Note that applications with nested upcalls are not "pure" clients. Also note that this strategy will only effect two way calls, since there is no waiting for one way calls. This strategy can also be used in an application that is both a client and a server, if the server side is handled by a separate thread and the client threads are "pure" clients. Carlos has promised to add policies that will make the selection of these connection handling policies finer grain than the "all or nothing" selection that currently exists. The aim would be to allow some clients (maybe invocations) to use one connection handling policy and while others to use other policies. If applications can use this strategy, they can improve their performance since the Reactor will not get involved in this code path. Descriptive comparison of the different connection handling strategies is available in: http://www.cs.wustl.edu/~schmidt/ACE_wrappers/TAO/docs/Options.html Here are some numbers that compare the effect of different policies on the performance of a simple two way call: Policy Performance Speedup percentage (calls/second) (relative to MT) ------ ----------- ---------------- MT Connection Handler (with a Reactor lock) 4346 0.0 ST Connection Handler (with a Reactor lock) 4416 1.6 ST Connection Handler (without a Reactor lock) 4473 2.9 RW Connection Handler 4676 7.6 The above numbers were obtained from the examples/POA/Generic_Servant/client and examples/POA/Explicit_Activation/server examples (with the other usual optimizations turned on) using the following configuration in loopback mode: MSVC 6.0, release mode, NT4.0 SP 3, on a quad CPU Zeon (400 MHz) * performance-tests/Cubit/TAO/IDL_Cubit/svc.conf: * performance-tests/Cubit/TAO/IDL_Cubit/svc.conf.dynamic: * performance-tests/Cubit/TAO/MT_Cubit/svc.conf: Added the new RW connection handling option to these tests. * performance-tests/Cubit/TAO/MT_Cubit/svc.conf.static: Removed this file is it was now identical to the svc.conf file. Fri Apr 16 17:16:23 1999 David L. Levine * examples/Simulator/{DOVEMIB,Event_Supplier}/Makefile: only build if the orbsvcs library was built with the necessary TAO_ORBSVCS components. Also, ran make depend on DOVEMIB Makefile. Fri Apr 16 17:02:43 1999 Balachandran Natarajan * examples/Simple/bank * examples/Simple/time Update the README files Fri Apr 16 15:31:04 1999 Nagarajan Surendran * orbsvcs/orbsvcs/Trader/Trader.h : Added TAO_ORBSVCS_Export to TAO_String_Hash_Key as it is used in AVStreams implemtation. Fri Apr 16 14:49:04 1999 Vishal Kachroo * tests/InterOp-Naming/Makefile (LDLIBS): Removed the -lorbsvcs. Fri Apr 16 14:17:08 1999 Jeff Parsons * TAO_IDL/be_include/be_visitor_field/cdr_op_cs.h: * TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp: Added a visit_typedef() method to be_visitor_cdr_op_field_decl, so that we can generate cdr operations for typedef'd members of structs as well as anonymous ones. Previously, cdr operation code for this type of struct member would just be missing. Thanks to Torsten Kuepper for pointing out the problem and suggesting a fix. Fri Apr 16 13:41:00 1999 Chris Gill * examples/Simulator/Event_Supplier/DOVE_Supplier.cpp examples/Simulator/Event_Supplier/Logging_Sup.cpp examples/Simulator/Event_Supplier/DualEC_Sup.cpp: changed a number of instances of ORBSVCS_Time::zero to ORBSVCS_Time::zero () Fri Apr 16 09:39:47 1999 David L. Levine * tests/NestedUpcall/Triangle_Test/Makefile: removed unnecessary use of orbsvcs include path and library. * tests/NestedUpcall/Reactor/Makefile, performance-tests/Demux/Makefile, examples/Callback_Quoter/Makefile, examples/Event_Comm/Makefile: only build if the orbsvcs library was built with the Naming TAO_ORBSVCS component. * examples/Quoter/Makefile: only build if the orbsvcs library was built with the Naming and LifeCycle TAO_ORBSVCS components. Fri Apr 16 09:36:14 1999 David L. Levine * tao/default_resource.cpp: removed ACE_*Guard instantiation pragmas. There were no corresponding template class instantiation directives, and the pragmas duplicated those in ORB_Core.cpp. Fri Apr 16 08:24:58 1999 Carlos O'Ryan * tests/MT_Client/Makefile: * tests/MT_Client/orb_creation.cpp: Added new test to check if the simultaneous creation of multiple ORB works and to check for memory leaks in the ORB lifecycle. * tests/MT_Client/client.cpp: Minor cosmetic fix. * tao/default_resource.cpp: Re-order the destruction of objects in the TAO_App_Allocated_Resources class, otherwise we get seg faults on shutdown. Thanks to Irfan for reporting this problem. Fri Apr 16 07:25:25 1999 David L. Levine * orbsvcs/Dump_Schedule/Makefile,orbsvcs/Event_Service/Makefile, orbsvcs/Scheduling_Service/Makefile,orbsvcs/tests/EC_Basic/Makefile, orbsvcs/tests/EC_Custom_Marshal/Makefile, orbsvcs/tests/EC_Mcast/Makefile,orbsvcs/tests/EC_Multiple/Makefile, orbsvcs/tests/EC_Throughput/Makefile, orbsvcs/tests/Event_Latency/Makefile orbsvcs/tests/Sched/Makefile,orbsvcs/tests/Sched_Conf/Makefile: only build if the orbsvcs library was built with the respective TAO_ORBSVCS component. Thu Apr 15 16:35:27 1999 Carlos O'Ryan * tao/ORB_Core.cpp: * tao/Environment.cpp: Fixed initialization problem, to query the default environment we don't need the ORB_Core, only its TSS resources, this allow us to use CORBA_init() without the environment argument. Thu Apr 15 15:58:52 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Trader/Trader_Utils.h: * orbsvcs/orbsvcs/Trader/Trader_Utils.cpp: * orbsvcs/tests/AVStreams/server_discovery/Trader_Client.cpp: * orbsvcs/tests/Trading/Offer_Importer.cpp: * orbsvcs/tests/Trading/Offer_Importer.h: Changed the name of the TAO_Policy_Manager class in Trader_Utils to TAO_Policy_Creator, the previous name had conflicts with the new TAO_Policy_Manager in $TAO_ROOT/tao. * docs/releasenotes/TODO.html: A small update Thu Apr 15 15:40:53 1999 David L. Levine * all orbscvs/tests/AVStreams Makefiles: added BIN2, LIB2, and SHLIB2 support, for make realclean. * orbsvcs/tests/AVStreams/server_discovery/Makefile: added Video_Discovery.idl to make realclean target. Thu Apr 15 13:22:15 1999 Carlos O'Ryan * tao/ORB.h: * tao/ORB_Core.h: * tao/TAO.dsp: * tao/TAO_Static.dsp: Fixed some problems with compilation under NT. Thu Apr 15 10:44:12 1999 Carlos O'Ryan * tao/ORB_Core.h: * tao/ORB_Core.i: * tao/ORB_Core.cpp: * tao/TAO_Internal.cpp: * tao/ORB.h: * tao/ORB.cpp: Each ORB creates its own ORB_Core. The ORB_Core is no longer a TSS singleton, instead it keeps some of its resources in TSS storage, but it is a per-ORB resource. TAO_ORB_Core_instance() returns the ORB_Core of the default ORB. * tao/default_server.h: * tao/default_server.cpp: * tao/Server_Strategy_Factory.h: * tao/Server_Strategy_Factory.cpp: The open() method receives the ORB_Core as a parameter to avoid recursive calls to TAO_ORB_Core_instance() during startup. * tao/default_client.h: * tao/default_client.cpp: Moved the {MT,ST}_Connect_Creation_Strategy classes to this file because here is where they are used, not in the ORB_Core. * tao/IIOP_Connector.cpp: Moved template instantiations required on this file from ORB_Core.cpp * tao/Servant_Base.cpp: * tao/POAManager.cpp: * tao/Object_Adapter.h: * tao/Object_Adapter.i: * tao/Invocation.cpp: * tao/IIOP_Profile.cpp: * tao/Connect.cpp: Added some includes because they were removed from ORB_Core.h * tao/Connect.h: * tao/params.h: * tao/params.i: * docs/Options.html: Removed deprecated OA options. * tao/Resource_Factory.h: * tao/Resource_Factory.cpp: * tao/default_resource.h: * tao/default_resource.i: * tao/default_resource.cpp: Separated the Resource_Factory from the ORB_Core files, also separated the Resource_Factorty from its default implementation, as we do for the client and server strategy factories. * tests/MT_Client/client.global.conf: * tests/MT_Client/client.tss.conf: * tests/NestedUpcall/MT_Client_Test/client.conf: * examples/POA/On_Demand_Loading/svc.conf: * examples/Quoter/client.conf: * examples/Quoter/server.conf: * examples/Simulator/DOVEMIB/svc.conf: * examples/Simulator/Event_Supplier/svc.conf: * orbsvcs/tests/AVStreams/benchmark/clnt.conf: * orbsvcs/tests/AVStreams/benchmark/svc.conf: * orbsvcs/tests/AVStreams/mpeg/source/client/svc.conf: * orbsvcs/tests/AVStreams/mpeg/source/server/svc.conf: * orbsvcs/tests/ImplRepo/implrepo.conf: * orbsvcs/tests/ImplRepo/svc.conf: * orbsvcs/tests/Time/implrepo.conf: * performance-tests/Cubit/TAO/IDL_Cubit/svc.conf.dynamic: * performance-tests/Thruput/TAO/svc.conf: Updated the configuration files, to reflect the new name of the default resource factory. Wed Apr 14 20:38:51 1999 Irfan Pyarali * tao/PolicyC.cpp: Added missing template instantiations. Thanks to Robert V. Head for reporting them. * orbsvcs/orbsvcs/AV/AVStreams_i.cpp: Added missing instantiation for TAO_PropertySet. * tao/Object_Adapter.cpp: Removed trailing semi-colon from #pragma instantiate. Wed Apr 14 16:43:32 1999 Carlos O'Ryan * tao/ORB_Core.cpp: One of the strings removed in ORB_Core::init() was not duplicated first. Wed Apr 14 15:33:35 1999 Nagarajan Surendran * orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.cpp: * orbsvcs/orbsvcs/AV/Endpoint_Strategy.cpp: * orbsvcs/orbsvcs/AV/AVStreams_i_T.cpp: * orbsvcs/orbsvcs/AV/AVStreams_i.cpp: Replaced all uses of TAO_TRY macros with ACE_TRY macros. Wed Apr 14 15:25:53 1999 Balachandran Natarajan * TAO_IDL/be_visitor_sequnce/gen_object_manager_ch.cpp * TAO_IDL/be_visitor_sequnce/gen_object_manager_ci.cpp Added a new -> operator and also removed a 'const' signature for the .in method in TAO_Object_Manager_{Name}_Sequence classes that are generated by the IDL compiler. This has been in TAO for sometime now.. --------------------------------------------- tao/Sequence_T.i (operator->): Added operator-> to TAO_Object_Manager. Also, made the in() method return a non-const pointer ------------------------------------------- Wed Apr 14 13:01:13 1999 Nagarajan Surendran * orbsvcs/orbsvcs/AV/AVStreams_i.cpp: Fixed template instantiation errors. Thanks to Andy Gokhale for reporting this. Wed Apr 14 07:06:11 1999 David L. Levine * orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp: fixed semicolons at ends of explicit template instantiations. Wed Apr 14 00:24:42 1999 Irfan Pyarali * tao/Object_Adapter.cpp: Added missing template instantiations. Thanks to Robert V. Head for reporting them. Tue Apr 13 17:02:39 1999 Carlos O'Ryan * tao/Stub.cpp: auto_ptr<> requires an explicit constructor, thanks to David and the green hills compiler for detecting this. Tue Apr 13 13:59:32 1999 Jeff Parsons * TAO/performance-tests/Cubit/TAO/IDL_Cubit/server.cpp: * TAO/performance-tests/Cubit/TAO/IDL_Cubit/client.cpp: Added inlcudes and macros to send output to a file, as the tests in ACE_wrappers/tests do. The macros are commented out, so the cubit tests will work exactly the same as before unless client.cpp and server.cpp are built with those macros uncommented. Especially useful for dealing with timeprobes, where there might be hundreds of entries in the output Tue Apr 13 12:35:18 1999 Carlos O'Ryan * tao/Connect.h: * tao/Connect.cpp: The MT_Client_Connection handler was using ORB_Core_instance() all over the place. Now it uses the ORB_Core provided in the send_request call. We will need to revisit this class, right now it allocates one condition variable per-connection, but allocating one on a per-thread (many per-thread-per-ORB) basis should be enough. We are also careful to use the ORB_Core's reactor to send the request and to implement the leader-follower model. * tao/ORB_Core.cpp: Changed bunch of calls to TAO_ORB_Core_instance() in an ORB_Core method, using is enough in that case. * tests/MT_Client/client.cpp: * tests/MT_Client/server.cpp: * tests/MT_Client/test_i.cpp: * tests/MT_Client/server.conf: * tests/MT_Client/client.tss.conf: * tests/MT_Client/client.global.conf: * tests/MT_Client/run_test.pl: Added configuration files for the client, it can use TSS storage now. Also added some (optional) debugging information to monitor the client progress. The script supports this new features too. Simplified the server configuration file. * performance-tests/Cubit/TAO/MT_Cubit/svc.conf: * performance-tests/Cubit/TAO/MT_Cubit/svc.conf.static: * performance-tests/Cubit/TAO/IDL_Cubit/svc.conf: * performance-tests/Cubit/TAO/IDL_Cubit/svc.conf.dynamic: We can use TSS allocators in this examples. Tue Apr 13 09:52:20 1999 David L. Levine * orbsvcs/Concurrency_Service/Makefile, orbsvcs/CosEvent_Service/Makefile, orbsvcs/ImplRepo_Service/Makefile, orbsvcs/Logging_Service/Makefile, orbsvcs/Naming_Service/Makefile, orbsvcs/tests/Concurrency/Makefile, orbsvcs/tests/CosEC_Basic/Makefile, orbsvcs/tests/CosEC_Multiple/Makefile, orbsvcs/tests/ImplRepo/Makefile, orbsvcs/tests/Logger/Makefile, orbsvcs/tests/Simple_Naming/Makefile: added BIN2 support, for make realclean. Mon Apr 12 22:12:27 1999 Vishal Kachroo Removed the resolve_commandline_ref (). This was no longer being used. Also passed ACE_TRY_ENV as a parameter to the following functions. Carlos suggested these changes : resolve_service () multicast_to_service () resolve_trading_service () * tao/ORB.h * tao/ORB.cpp Mon Apr 12 17:13:37 1999 Nagarajan Surendran * orbsvcs/orbsvcs/orbsvcs.dsp: Added the AVStreams_i_T.{h,cpp} and CosPropertyService_i_T.{h,cpp} to the project file. * orbsvcs/tests/AVStreams/benchmark/AV_benchmark.dsw: * orbsvcs/tests/AVStreams/benchmark/av_benchmark_client.dsp: * orbsvcs/tests/AVStreams/benchmark/av_benchmark_server.dsp: * orbsvcs/tests/AVStreams/benchmark/av_benchmark_child.dsp: Added the NT VC++ project files and worspace files. * orbsvcs/tests/AVStreams/benchmark/server.cpp: * orbsvcs/tests/AVStreams/benchmark/client.cpp: Fixed the compilation errors on NT. Works fine on Unix platforms. * orbsvcs/tests/AVStreams/benchmark/child_process.cpp: Added the new file which has just the main() for the child process. Thanks to David Hooker for reporting the errors. * orbsvcs/orbsvcs/AV/AVStreams_i_T.{h,cpp}: Moved the TAO_StreamEndpoint classes from AVStreams_i.{h,cpp} as it was made a template to avoid interface inheritance errors on NT VC++. * orbsvcs/orbsvcs/Property/CosPropertyService_i_T.{h,cpp}: Moved the TAO_PropertySet classes from AVStreams_i.{h,cpp} as it was made a template to avoid interface inheritance errors on NT VC++. * orbsvcs/orbsvcs/Makefile: Added the new AVStreams_i_T.{h,cpp} and CosPropertyService_i_T.{h,cpp}. Mon Apr 12 14:24:12 1999 Carlos O'Ryan * tao/ORB.cpp: The resolve_policy_manager() and resolve_policy_current() only worked if TAO_HAS_CORBA_MESSAGING was defined. * tao/ORB_Core.cpp: * tao/Stub.cpp: More problems if TAO_HAS_CORBA_MESSAGING is not defined. Mon Apr 12 14:19:45 1999 David L. Levine * LifeCycle_Service/Makefile,tests/Property/Makefile, Trading_Service/Makefile,tests/Trading/Makefile: only build if the orbsvcs library was built with the necessary component. * Time_Service/Makefile,tests/Time/Makefile: added BIN2 support, for make realclean. Mon Apr 12 14:09:06 1999 Alexander Babu Arulanthu * TAO_IDL/be/be_visitor_interface/interface_ss.cpp, * tao/Servant_Base.h, * tao/Server_Request.i, * tao/Operation_Table.h, * tao/Servant_Base.cpp, * tao/Server_Request.cpp, * tao/Operation_Table.cpp: Committed again the changes related to Removing strlen calculation for the Operation Name from the critical path. Length as it is obtained during demarshalling is stored in the IIOP_Request object and passed to the Perfect Hash's find operation. ACE_CString is used to store the operation as opposed char *. Thanks to Irfan for suggesting this change. Mon Apr 12 13:41:23 1999 Jeff Parsons * tao/Timeprobe.h, * tao/Connect.cpp, * tao/Invocation.cpp: Added four new timeprobes to measure client outgoing process time and server process time. Whereas the pluggable protocols timeprobes were a subset of the regular timeprobes, these are a disjoint set. If both the pluggable and minimal timeprobes macros are uncommented in Timeprobe.h, pluggable will override. Mon Apr 12 12:37:39 1999 Carlos O'Ryan * tao/Stub.cpp: Added missing template instantiations. Mon Apr 12 10:38:46 1999 Carlos O'Ryan * tao/MessagingC.cpp: * tao/PolicyC.cpp: Removed warnings about unused variables, the variables are required for platforms without native C++ exceptions. * docs/Options.html: Fixed description of the ORBinputcdrallocator option. Mon Apr 12 09:52:58 1999 Carlos O'Ryan * tao/Makefile: Keep working on the CORBA Messaging framework. * tao/orbconf.h: * tao/ORB.h: * tao/ORB.cpp: Added support for "PolicyCurrent" and "ORBPolicyManager" into resolve_initial_references() * tao/ORB_Core.h: * tao/ORB_Core.i: * tao/ORB_Core.cpp: Added methods to set and query the TSS PolicyCurrent and the per-ORB PolicyManager. * tao/Object.h: * tao/Object.cpp: Implemented the standard methods to access and query policies, but they just delegate on the TAO_Stub methods. * tao/Stub.h: * tao/Stub.cpp: Added methods to set and query the policies. * tao/Policy_Manager.h: * tao/Policy_Manager.i: * tao/Policy_Manager.cpp: Simple implementation of the CORBA::PolicyManager and CORBA::PolicyCurrent interfaces. There is a helper class shared between both implementations that is also used by the corresponding methods in CORBA::Object (and TAO_Stub). * tao/MessagingC.cpp: Added missing template instantiation * tests/Param_Test/Makefile: * examples/Event_Comm/Makefile: * examples/Quoter/Makefile: * performance-tests/Cubit/TAO/IDL_Cubit/Makefile: * performance-tests/Pluggable/Makefile: * performance-tests/Thruput/TAO/Makefile: Removed extra rules to compile .idl files, they were giving me headaches when running parallel compiles. Mon Apr 12 03:30:18 1999 Pradeep Gore * TAO_IDL/be/be_visitor_union/any_op_cs.cpp (gen_extraction): modified ACE_static_cast to ACE_dynamic_cast to fix a compile error on SunCC 5.0 when casting to void* from non-void pointer. Thanks to Darren Whobrey for reporting this bug. Mon Apr 12 00:26:31 1999 Douglas C. Schmidt * TAO version 0.3.19 released. Sun Apr 11 23:55:50 1999 Balachandran Natarajan * tests/Param_Test/driver.cpp * tests/Param_Test/multdim_array.cpp * tests/Param_Test/param_test.idl * tests/Param_Test/param_test_i.cpp * tests/Param_Test/param_test_i.h Temporarily comments out test code for Multi-dimensional arrays due to nasty compile bugs on NT. Sun Apr 11 19:38:39 1999 Marina Spivak * orbsvcs/orbsvcs/Naming/Naming_Utils.cpp * orbsvcs/orbsvcs/Persistent_Naming_Context.{h, cpp} * orbsvcs/orbsvcs/Persistent_Context_Index_T.cpp Changed the use of the variable name to to avoid conflict with the macro of the same name. Sun Apr 11 18:29:47 1999 Douglas C. Schmidt * orbsvcs/orbsvcs/Naming/Naming_Utils.cpp (TAO_Naming_Client): Fixed the use of ACE_Thread_Mutex to ACE_SYNCH_MUTEX to ensure this will run properly on non-threaded platforms. Thanks to Alex for reporting this. Sun Apr 11 15:36:33 1999 Balachandran Natarajan * examples/POA/DSI/Database_i.cpp * examples/POA/DSI/Database_i.h Fixed some warnings on IRIX Sun Apr 11 11:45:49 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Naming/Persistent_Naming_Context.cpp: Added missing template instantiation. Sat Apr 10 20:55:00 1999 Balachandran Natarajan * tests/Param_Test/multdim_array.cpp: * tests/Param_Test/multdim_array.h * tests/Param_Test/Makefile * tests/Param_Test/driver.cpp * tests/Param_Test/options.cpp * tests/Param_Test/param_test.idl * tests/Param_Test/param_test_i.cpp * tests/Param_Test/param_test_i.h * tests/Param_Test/tests.h: Added a new test case for multi-dimensional array checking. Sat Apr 10 16:22:59 1999 Vishal Kachroo * doc/papers/COOTS-99/poa.tex (): Made the Nos. in the table consistent with the figure. Sat Apr 10 14:26:48 1999 Alexander Babu Arulanthu * tao/POA.cpp: Removed #POA_NO_TIMESTAMP according to Irfan's suggestion to get things to work on Soalris. Fri Apr 9 22:18:08 1999 Alexander Babu Arulanthu * TAO_IDL/be/be_visitor_interface/interface_ss.cpp: * tao/Servant_Base.h : * tao/Server_Request.i : * tao/Operation_Table.h : * tao/Servant_Base.cpp: * tao/Server_Request.cpp : * tao/Operation_Table.cpp : Reverted the earlier changes related to saving strlen calculation on the critical path. Fri Apr 9 17:49:25 1999 Carlos O'Ryan * tao/Server_Request.h: * tao/Server_Request.i: Removed extra in return type. The return was by-value, no sense in putting const in that case. Further, some compilers bark when you do so. Fri Apr 9 17:14:09 1999 Carlos O'Ryan * rules.tao.GNU: Fixed typos in the alternative extensions for generated files. Fri Apr 9 16:23:47 1999 Marina Spivak * orbsvcs/orbsvcs/Naming/README: Added a short blurb about persistent Naming Service * orbsvcs/orbsvcs/Naming/Persistent_Context_Index_T.cpp: Removed the use of nested typedefs, as this was breaking old g++ compiler. Surrounded Debug statements by . Added a return statement to avoid warnings. * orbsvcs/Naming_Service/README: Added description of persistence command-line option. * orbsvcs/orbsvcs/Naming/Naming_Utils.{h,cpp}: Changed the order of arguments in method and constructor, to avoid breaking old code with the addition of the new parameter. Fri Apr 09 16:19:12 1999 Irfan Pyarali * tao/POA.cpp (create_object_key and parse_key): We must include the persistent bit even when the POA_NO_TIMESTAMP is defined. Otherwise, we won't know which POA map to search. Thanks to Russ Noseworthy for reporting this. Fri Apr 9 15:20:10 1999 Alexander Babu Arulanthu * TAO_IDL/be/be_visitor_interface/interface_ss.cpp (visit_interface): * tao/Servant_Base.h (TAO_ServantBase): * tao/Server_Request.i (operation): * tao/Operation_Table.h (TAO_Operation_Table): * tao/Servant_Base.cpp: * tao/Server_Request.cpp (retval_): * tao/Operation_Table.cpp (TAO_Dynamic_Hash_OpTable): Removed strlen calculation for the Operation Name from the critical path. Length as it is obtained during demarshalling is stored in the IIOP_Request object and passed to the Perfect Hash's find operation. Fri Apr 09 12:52:24 1999 Irfan Pyarali * examples/POA/DSI/Database_i.cpp (_is_a): Removed ACE_UNUSED_ARG(named_value_1) since named_value_1 was removed. Fri Apr 9 14:29:42 1999 Jeff Parsons * tao/Any.{h,cpp}: Changed the argument of the static dump() function from const value to const reference. Thanks to Ulf Jaehrig for suggesting this. Fri Apr 9 13:28:06 1999 Vishal Kachroo Added the following .xls files : * TAO/performance-tests/Demux/operation_demux2d.xls * TAO/performance-tests/Demux/operation_demux3d.xls * TAO/performance-tests/Demux/servant_dispatch2d.xls * TAO/performance-tests/Demux/servant_dispatch3d.xls * TAO/performance-tests/Demux/poa_lookup2d.xls * TAO/performance-tests/Demux/poa_lookup3d.xls Updated the following .dsp files to incorporate the recent file name changes for Time service server and clerk. * Time_Service_{Server,Clerk}.dsp Fri Apr 9 11:30:37 1999 Nanbor Wang * tao/default_server.cpp: * tao/default_client.cpp: * tao/ORB_Core.cpp: Removed ACE_STATIC_SVC_REQUIRE. * tao/TAO_Internal.cpp (open_services): Added in TAO's default static services here. Fri Apr 09 08:19:42 1999 David L. Levine * Logging_Service/Makefile,Naming_Service/Makefile, tests/Logger/Makefile,tests/Simple_Naming/Makefile: only build if the orbsvcs library was built with the necessary component. Fri Apr 09 01:51:52 1999 Irfan Pyarali * tao/PolicyC.i (_duplicate and _nil): Non-inlined these to remove "used before defined" warning. * tao/Object_Adapter.i (lock and find_persistent_poa): Rearranged to remove "used before defined" warning. Fri Apr 9 00:49:35 1999 Balachandran Natarajan * examples/POA/On_Demand_Activation/server.cpp (main), * examples/POA/On_Demand_Activation/Servant_Activator.cpp, * examples/POA/On_Demand_Activation/Servant_Locator.cpp: Made some cosmetic changes. Basically changed some ACE_TRY macros Fri Apr 9 00:04:45 1999 Pradeep Gore * orbsvcs/CosEvent_Service/CosEvent_Service.cpp: * orbsvcs/tests/CosEC_Basic/CosEC_Basic.cpp: * orbsvcs/tests/CosEC_Multiple/CosEC_Multiple.cpp: added trailing ";" to ACE_DECLARE_NEW_CORBA_ENV Thu Apr 8 23:12:18 1999 Douglas C. Schmidt * orbsvcs/orbsvcs/Naming/Naming_Utils.h (TAO_Naming_Server): Added a default value of 0 to the persistence_location so that the code will build again... * tao/ORB.cpp: Rewrote the multicast_query() method to test a theory about what might be causing the problem on NT. Thanks to Margaret Reitz for motivating this. Thu Apr 08 18:45:56 1999 Irfan Pyarali * tao/ORB_Core.cpp (root_poa_reference): Had to non-inline this function because of reference to the TAO_POA class. * tao/POA: * tao/POAManager: Changed a bunch of functions to be non-virtual. * tao/Active_Object_Map.cpp: * tao/Object_Adapter.cpp: Inlined a bunch of functions. * tao/Object_Adapter: Moved the timeprobes from the POA to this class. Thu Apr 08 20:36:39 1999 Nanbor Wang * tao/TAO[_Static].dsp: * orbsvcs/orbsvcs/orbsvcs[_static].dsp: Reworked. Thu Apr 8 15:30:55 1999 Marina Spivak * docs/releasenotes/index.html: Updated to reflect the availability of the Persistent Naming Service. * orbsvcs/tests/Simple_Naming/client.cpp: Added a missing coma after macro. * orbsvcs/orbsvcs/Naming/Persistent_Context_Index.{h, cpp} * orbsvcs/orbsvcs/Naming/Persistent_Bindings_Map.{h, cpp} * orbsvcs/orbsvcs/Naming/Persistent_Entries.{h, cpp}: Fixed various compiler warnings/errors, e.g., order of member initialization, explicit template instantiation, qualifying types with class names, etc. * orbsvcs/orbsvcs/Naming/Persistent_Context_Index_T.{h, cpp}: Added the files to separate template code from non-template code in Persistent_Context_Index.{h,cpp}. * orbsvcs/orbsvcs/Naming/Shared_Hash_Map.{h, cpp}: Changed the name to Shared_Hash_Map_T.{h, cpp}. Thu Apr 08 14:48:15 1999 David L. Levine * performance-tests/Cubit/TAO/IDL_Cubit/svc.conf.dynamic, performance-tests/Cubit/TAO/MT_Cubit/svc.conf.static: Added -ORBallowreactivationofsystemids 0. Thu Apr 08 14:31:19 1999 Irfan Pyarali * performance-tests/Cubit/TAO/MT_Cubit/svc.conf: * performance-tests/Cubit/TAO/IDL_Cubit/svc.conf: Added -ORBallowreactivationofsystemids 0 to the svc.conf files since no reactivation of servants was taking place. Thu Apr 8 14:17:31 1999 Nagarajan Surendran * orbsvcs/tests/AVStreams/sfp/sfp_client.dsp: * orbsvcs/tests/AVStreams/sfp/sfp_server.dsp: * orbsvcs/tests/AVStreams/sfp/sfp_tests.dsw: Added these project/ worspace files for VC++. * orbsvcs/tests/AVStreams/sfp/server.cpp: * orbsvcs/tests/AVStreams/sfp/client.cpp: Added a ORB shutdown so that the tests terminate when the SFP stream terminates. * orbsvcs/tests/AVStreams/sfp/common.h: Added a #include "orbsvcs_export.h" for VC++. * orbsvcs/orbsvcs/AV/sfp.{h,cpp}: Changed the DUMP_BUF macro to a function. Fixed the signed/unsigned warnings on NT.Fixed a missing return 0 so that the tests work on NT. Thu Apr 8 13:49:16 1999 Carlos O'Ryan * tao/Active_Object_Map.cpp: * orbsvcs/orbsvcs/Event/EC_ObserverStrategy.cpp: Added missing template instantiations. Thanks to Dave Meyer for this one. * rules.tao.GNU: * orbsvcs/orbsvcs/Makefile: Fixed some dependencies and rules problems with the IDL generated files, now we can do "make -j 4" in orbsvcs (and apparently all the TAO directories) Thu Apr 08 14:05:28 1999 David L. Levine * CosEvent_Service/Makefile,tests/CosEC_Basic/Makefile, tests/CosEC_Multiple/Makefile: only build if the orbsvcs library was built with the CosEvent TAO_ORBSVCS component. Thu Apr 08 13:47:03 1999 David L. Levine * BUG-REPORT-FORM,PROBLEM-REPORT-FORM, README,VERSION,Makefile,Makefile.am: moved BUG-REPORT-FORM to PROBLEM-REPORT-FORM. Thanks to Thomas Lockhart for suggesting this. Thu Apr 8 12:59:21 1999 Vishal Kachroo * tao/orbconf.h (TAO_DEFAULT_SERVICE_RESOLUTION_TIMEOUT): Changed the value from 1 to 4 to prevent premature timeouts. Thanks to Margaret Reitz for motivating this. Also removed the #ifdef for TAO_DEFAULT_MULTICAST_SEND_ATTEMPTS since this is obsolete now. Thu Apr 8 11:40:59 EDT 1999 Aniruddha Gokhale * orbsvcs/orbsvcs/Naming_Service/Persistent_Context_Index.cpp: Missing implementation of the virtual destructor for TAO_Index added. Wed Apr 7 20:28:03 1999 Nanbor Wang * orbsvcs/tests/CosEC_Multiple/CosECConsumer.cpp: * orbsvcs/tests/CosEC_Multiple/CosECSupplier.cpp: * orbsvcs/tests/CosEC_Multiple/CosEC_Multiple.cpp: Added trailing semi-columns after ACE_DECLARE_NEW_CORBA_ENV. Wed Apr 7 19:34:44 1999 Alexander Babu Arulanthu * orbsvcs/tests/Property/{server, client}.dsp:Made the release versions. Wed Apr 7 18:49:41 1999 Carlos O'Ryan * tao/Typecode_Constants.cpp: Added missing _tc_ static in the CORBA module. * tao/Object_Adapter.cpp: Removed duplicate template instantiations. * tao/MessagingS_T.i: Commented out code for CORBA::Poller and friends. * tao/MessagingC.cpp: Removed unwanted template instantiations. Wed Apr 7 17:31:40 1999 Nagarajan Surendran * orbsvcs/orbsvcs/AV/sfp.{h,cpp}: Replaced CDR with ACE_CDR. Also moved the FRAGMENT_SET_ITERATOR typedef outside the TAO_SFP_Fragment_Table_Entry. Thanks to David Hooker for reporting this. Wed Apr 7 16:36:26 1999 Darrell Brunsch * TAO-INSTALL.html: Added a note about rebuilding all when upgrading releases. Wed Apr 7 16:32:05 1999 Jeff Parsons * TAO_IDL/ast/ast_expression.cpp: * TAO_IDL/include/ast_expression.h: A quick fix for the DEC bug report by Rod Joseph and Hoggard . More extensive changes are in progress. This fix just removes the declaration and definition of AST_Expression constructors taking ACE_CDR::LongLong and ACE_CDR::ULongLong args. Wed Apr 7 16:25:49 1999 Darrell Brunsch * orbsvcs/orbsvcs/orbsvcs.dsp: Renamed references to CosTimeBase to TimeBase. * tao/GIOP.cpp: Removed what looked to be a rogue "o". Wed Apr 7 15:52:06 1999 Ossama Othman * Makefile.am: Added `clean-local' targets to all Makefile.am files. Minor updates to the top-level TAO Makefile.am. Wed Apr 07 15:17:02 1999 Carlos O'Ryan * tao/POA_CORBA.h: * tao/Typecode_Constants.cpp: Fixed problems with the (unimplemented) CORBA::Poller and friends. Thanks to Darrell for pointing this out. Wed Apr 7 15:13:23 1999 Ossama Othman * configure.in: * tao-config.1.in: * tao-config.in: * taoConf.sh.in: * Makefile.am: * TAO_IDL/ast/Makefile.am: * TAO_IDL/be/Makefile.am: * TAO_IDL/be_include/Makefile.am: * TAO_IDL/driver/Makefile.am: * TAO_IDL/fe/Makefile.am: * TAO_IDL/include/Makefile.am: * TAO_IDL/narrow/Makefile.am: * TAO_IDL/util/Makefile.am: * TAO_IDL/Makefile.am: * orbsvcs/Concurrency_Service/Makefile.am: * orbsvcs/CosEvent_Service/Makefile.am: * orbsvcs/Dump_Schedule/Makefile.am: * orbsvcs/Event_Service/Makefile.am: * orbsvcs/ImplRepo_Service/Makefile.am: * orbsvcs/LifeCycle_Service/Makefile.am: * orbsvcs/Logging_Service/Makefile.am: * orbsvcs/Naming_Service/Makefile.am: * orbsvcs/Scheduling_Service/Makefile.am: * orbsvcs/Time_Service/Makefile.am: * orbsvcs/Trading_Service/Makefile.am: * orbsvcs/Makefile.am: * orbsvcs/orbsvcs/AV/Makefile.am: * orbsvcs/orbsvcs/Concurrency/Makefile.am: * orbsvcs/orbsvcs/CosEvent/Makefile.am: * orbsvcs/orbsvcs/Event/Makefile.am: * orbsvcs/orbsvcs/Makefile.am: * orbsvcs/orbsvcs/Log/Makefile.am: * orbsvcs/orbsvcs/Naming/Makefile.am: * orbsvcs/orbsvcs/Property/Makefile.am: * orbsvcs/orbsvcs/Sched/Makefile.am: * orbsvcs/orbsvcs/Time/Makefile.am: * orbsvcs/orbsvcs/Trader/Makefile.am: * orbsvcs/tests/AVStreams/benchmark/Makefile.am: * orbsvcs/tests/AVStreams/mpeg/source/client/Makefile.am: * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/Makefile.am: * orbsvcs/tests/AVStreams/mpeg/source/mpeg_mib/Makefile.am: * orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Makefile.am: * orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Makefile.am: * orbsvcs/tests/AVStreams/mpeg/source/server/Makefile.am: * orbsvcs/tests/AVStreams/mpeg/source/Makefile.am: * orbsvcs/tests/AVStreams/mpeg/Makefile.am: * orbsvcs/tests/AVStreams/server_discovery/Makefile.am: * orbsvcs/tests/AVStreams/sfp/Makefile.am: * orbsvcs/tests/AVStreams/Makefile.am: * orbsvcs/tests/Makefile.am: * tao/Makefile.am: Checked these files into the CVS repository. These files are part of the TAO+auto{conf,make}/libtool integration work. There are still some missing files and some of the above files need to be modified before they will work. I just wanted to get these files under CVS control so that I can easily recover from a mishap or for some reason beyond my control. Wed Apr 07 14:34:31 1999 Irfan Pyarali * examples/POA/DSI/Database_i.cpp (_is_a): Removed unused variable. * examples/POA/Loader/Servant_Activator.cpp (ServantActivator_i): * examples/POA/Loader/Servant_Locator.cpp (ServantLocator_i): * examples/POA/On_Demand_Loading/Servant_Manager.cpp (obtain_servant): Should use a simple cast for casting functions and not reinterpret_cast. * examples/POA/On_Demand_Loading/Servant_Manager.cpp (parse_string): Fixed comparison between signed and unsigned; should be signed. Wed Apr 7 14:05:09 1999 Marina Spivak * orbsvcs/orbsvcs/Naming/Hash_Naming_Context.{h,cpp} * orbsvcs/orbsvcs/Naming/Naming_Context.{h, cpp} * orbsvcs/orbsvcs/Naming/Naming_Utils.{h,cpp} Updated to use new exceptions macros. * orbsvcs/orbsvcs/Naming/Persistent_Naming_Context.{h,cpp} * orbsvcs/orbsvcs/Naming/Persistent_Entries.{h,cpp} * orbsvcs/orbsvcs/Naming/Persistent_Context_Index.{h,cpp} * orbsvcs/orbsvcs/Naming/Persistent_Bindings_Map.{h,cpp} * orbsvcs/orbsvcs/Naming/Shared_Hash_Map.{h,cpp} * orbsvcs/orbsvcs/Naming/Naming_Utils.{h,cpp} * orbsvcs/Naming_Service/Naming_Service.{h,cpp} * orbsvcs/orbsvcs/Makefile: Added the files above, to implement persistent naming service. The first version of persistent naming service is available. It uses memory-mapped file to store the persistent state of the naming service. When starting the Naming Service from orbsvcs/Naming_Service, if -f option is provided, the persistent implementation is used, if no -f option is provided, an non-persistent implementation is used. We'll be adding comments/documentation for the above shortly. The class structure for the persistent implementation will also change in the near future, as I'll be merging some of persistent/non-persistent classes. Wed Apr 07 14:11:19 1999 Nanbor Wang * tao/PolicyS.cpp: Need to use ACE_CORBA_1 to specify PolicyManager and PolicyCurrent in constructors. Wed Apr 7 13:42:13 1999 Balachandran Natarajan * examples/POA/DSI/Database_i.cpp (_is_a): Added a ACE_UNSED_ARG to avoid warnings.. Wed Apr 07 13:27:00 1999 Nanbor Wang * tao/POAS.h: * tao/POAC.h: Removed unnecessary TAO_EXPORT_MACRO redefinition. Made sure warning 4250 is reenabled at the end of header files. * tao/POA_CORBA.h: Disabled warnings 4250 on NT. Wed Apr 7 12:54:49 1999 Marina Spivak * orbsvcs/tests/Simple_Naming/client.{h,cpp}: Updated the files to use the new exceptions macros. Wed Apr 7 12:40:46 1999 Carlos O'Ryan * tao/PolicyC.cpp: Fixed syntax error, Sun/CC is *way* too lax. * tao/POA.cpp: Fixed duplicate template instantiations. Wed Apr 7 12:03:33 1999 Carlos O'Ryan * tao/Makefile: * tao/Exception.h: * tao/Exception.cpp: * tao/Current.pidl: * tao/DynAnyC.cpp: * tao/DynAnyS.cpp: * tao/IOP.pidl: * tao/iopfwd.h: * tao/corbafwd.h: * tao/POA_CORBA.h: * tao/Typecode_Constants.cpp: * tao/InconsistentTypeCodeC.cpp: * tao/Messaging.pidl: * tao/MessagingC.cpp: * tao/MessagingC.h: * tao/MessagingC.i: * tao/MessagingS.cpp: * tao/MessagingS.h: * tao/MessagingS.i: * tao/MessagingS_T.cpp: * tao/MessagingS_T.h: * tao/MessagingS_T.i: * tao/Policy.pidl: * tao/PolicyC.cpp: * tao/PolicyC.h: * tao/PolicyC.i: * tao/PolicyS.cpp: * tao/Pollable.pidl: * tao/PollableC.cpp: * tao/PollableC.h: * tao/PollableC.i: * tao/PollableS.cpp: * tao/PollableS.h: * tao/PollableS.i: * tao/PollableS_T.cpp: * tao/PollableS_T.h: * tao/PollableS_T.i: * tao/TimeBase.pidl: * tao/TimeBaseC.cpp: * tao/TimeBaseC.h: * tao/TimeBaseC.i: * tao/TimeBaseS.cpp: * tao/TimeBaseS.h: * tao/TimeBaseS.i: * tao/TimeBaseS_T.cpp: * tao/TimeBaseS_T.h: * tao/TimeBaseS_T.i: Started work on the Messaging spec policy framework. I added new modules (such as Messaging, TimeBase and IOP) and extended others to include more features (such as Policy). Right now the modules are not compiled by default, I want to test the changes in more platforms before moving on. Also added support for more system exceptions and left some place holders for the Poller and Handler objects that are part of the AMI support. * TAO_IDL/fe/fe_lookup.cpp: * TAO_IDL/fe/keywords.dat: Added support for the "export" C++ keyword. * TAO_IDL/util/utl_global.cpp: Added support for files with .IDL, .pidl and .PIDL extensions. * TAO_IDL/be/be_visitor_exception/exception_ch.cpp: * TAO_IDL/be/be_visitor_exception/exception_ctor.cpp: Any helper classes for the fields of an exception must be generated *before* the code for the ctor, because the ctor uses them. * orbsvcs/orbsvcs/CosTimeBase.idl: * orbsvcs/orbsvcs/Makefile: * orbsvcs/orbsvcs/RtecEventComm.idl: * orbsvcs/orbsvcs/RtecScheduler.idl: * orbsvcs/orbsvcs/TimeBase.idl: * orbsvcs/orbsvcs/TimeService.idl: * orbsvcs/orbsvcs/Time_Utilities.h: * orbsvcs/orbsvcs/Sched/DynSched.cpp: * orbsvcs/orbsvcs/Sched/SchedEntry.cpp: * orbsvcs/orbsvcs/Sched/SchedEntry.i: Removed all references to CosTimeBase.idl, the standard file name is TimeBase.idl, I also changed things so the code is actually defined in $TAO_ROOT/tao/TimeBase.pidl because the ORB needs those types. Many dependencies where updated to match this. * orbsvcs/tests/Trading/Offer_Exporter.cpp: * orbsvcs/tests/AVStreams/mpeg/source/server/Machine_Properties.cpp: * orbsvcs/tests/AVStreams/mpeg/source/server/Property_Exporter.cpp: * orbsvcs/tests/AVStreams/mpeg/source/server/Property_Exporter.h: * orbsvcs/tests/AVStreams/mpeg/source/server/augmented_server.cpp: * orbsvcs/tests/AVStreams/mpeg/source/server/augmented_server.h: * orbsvcs/orbsvcs/Trader/Offer_Database.cpp: * orbsvcs/orbsvcs/Trader/Trader_Interfaces.cpp: * orbsvcs/orbsvcs/Trader/Trader_Interfaces.h: * orbsvcs/LifeCycle_Service/Factory_Trader.cpp: * orbsvcs/LifeCycle_Service/Factory_Trader.h: * orbsvcs/LifeCycle_Service/LifeCycle_Service_i.cpp: Changed all the calls to export() into _cxx_export() the people responsible for this code should revise my changes. * orbsvcs/tests/EC_Throughput/Makefile: Added some missing files to the SRC variable, the dependencies were incomplete. Wed Apr 7 11:27:08 1999 Carlos O'Ryan * TAO_IDL/ast/ast_expression.cpp: Fixed the problems with LL_MAX and friends, use the ACE_*_MAX constants instead. * TAO_IDL/be/be_visitor_interface/interface_cs.cpp: T::_narrow() can use T::_unchecked_narrow() to complete its job. * TAO_IDL/be/be_interface.cpp: The generated operation table is static to avoid namespace pollution. * TAO_IDL/be/be_visitor_interface/interface_sh.cpp: * TAO_IDL/be/be_visitor_interface/interface_si.cpp: * TAO_IDL/be/be_visitor_interface/interface_ss.cpp: * TAO_IDL/be/be_visitor_interface/interface_ch.cpp: The generated code is more readable now. The code for the collocated class and the skeleton where mixed and thus harder to read. Wed Apr 07 10:11:23 1999 David L. Levine * orbscvs/Concurrency_Service/Makefile, orbscvs/tests/Concurrency/Makefile, only build if the orbsvcs library was built with the Concurrency TAO_ORBSVCS component. * orbscvs/tests/AVStreams/sfp/Makefile: only build if the orbsvcs library was built with the AV TAO_ORBSVCS component. And, commented out (and replaced /bin/rm with $(RM)) unused realclean target. Wed Apr 07 02:50:08 1999 Douglas C. Schmidt * TAO version 0.3.18 released. Wed Apr 07 01:02:31 1999 Irfan Pyarali * tao/POA.cpp (parse_key and create_object_key): Improved the parsing of object keys belonging to the RootPOA. Since this is the default POA and is commonly used, we have given it a reserved byte in the object key in order to quickly identify it. With the reserved bit, the active demux key for the RootPOA is not used, and no map lookups are required. * orbsvcs/orbsvcs/Trader/Service_Type_Repository.h (ServiceTypeRepository): Used Service_Type_Map_Iterator instead of Service_Type_Map::iterator. Stupid g++ could not gork it. * tao/default_server.cpp (parse_args): Removed parsing for POAManager lock since it is no longer supported. * tao/Object_Adapter.cpp: Added missing template instantiations for ACE_Hash_Map_Manager_Ex_Adapter and ACE_Map_Manager_Adapter. Thanks to Carlos for pointing this out. * tao/POA.cpp (create_object_key and parse_key): Fixed the use of ACE_NTOHL and ACE_HTONL. Thanks to David for helping here. * tao/POA (Current): The object id information in the POA Current was broken since it kept the system id instead of the user id. The fix was to modify the Active_Object_Map to always recover the user id. Thanks to Steve Totten for pointing this out. Wed Apr 7 01:10:55 1999 Darrell Brunsch * orbsvcs/tests/Property/PropertyTest.dsw: * orbsvcs/tests/Property/server.dsp: * orbsvcs/tests/Property/client.dsp: * orbsvcs/tests/Property/README: Tested on WIN NT. Tue Apr 6 18:20:48 1999 Vishal Kachroo * tao/ORB.cpp (multicast_query ()): Used ACE_HTONS for the sent data length (CORBA::Short). * orbsvcs/orbsvcs/IOR_Multicast.cpp (handle_input()): Used ACE_NTOHS on the received CORBA::Short. Tue Apr 6 17:55:48 1999 Balachandran Natarajan * examples/POA/NewPOA/NewPOA.cpp (main): * examples/POA/Loader/server.cpp: * examples/POA/Identity/Identity.cpp: * examples/POA/Generic_Servant/client.cpp: Changed ACE_TRY_NEW_ENV as ACE_TRY with appropriate declaration Tue Apr 06 16:29:58 1999 Nanbor Wang * tao/ORB.cpp (ORB_init): Some how, calling to init_orb_globals() got moved before ORB Core initialization. This must come AFTER the initialization of ORB Core. Otherwise, all hell breaks loose. Tue Apr 6 16:29:55 1999 Balachandran Natarajan * examples/Simple/echo/Echo_i.cpp (echo_string): * examples/Simple/echo/Echo_Client_i.cpp * examples/Simple/echo/server.cpp: Made some changes to the ACE_TRY macros Tue Apr 6 15:44:52 1999 Vishal Kachroo * Changed the Names of the following files: orbsvcs/Time_Service/server.cpp -> Time_Service_Server.cpp: orbsvcs/Time_Service/clerk.cpp -> Time_Service_Clerk.cpp: * orbsvcs/Time_Service/Makefile: Changed the Makefile to reflect the above changes. Tue Apr 06 15:33:34 1999 David L. Levine * all orbscvs/tests/AVStreams Makefiles: only build if the orbsvcs library was built with the AV TAO_ORBSVCS component. Tue Apr 06 05:04:51 1999 Irfan Pyarali * tao/POA.cpp: Phase two of the new POA design is complete. - We now have support for active demuxing of POAs. For transient POAs, we directly use an active demuxing key in the object key since transient POAs cannot be reactivated. For persistent POAs, we have added a active demux hint field in the object key. This hint is in addition to the persistent POA name. - Transient POAs identifiers in the object key are of fixed size. For persistent POAs, the object key contains a number that specifies how long the POA name is. This feature speeds up things since there is no need for sequential, byte by byte searching for field separators. - The use of the active demux hint for the POA name in the object key is optional. If used, the lookups are faster (unless the hint is invalidated by a deactivation or by restarting a persistent POA). However, using the hint results in a larger IOR, and more memory being used in the active object map. This option can be controlled through the -ORBactivehintinpoanames runtime switch and is turned on by default. - The POA related classes have been rewritten with respect to exceptions. Memory management in case of exceptions from servants and in case of dynamic memory / constructor failures have been greatly improved through the use of auto pointers and the new ACE_NEW_THROW_EX macro. One of the problems related to exceptions was that the POA Current was not reset properly. This has also been fixed. - New file Object_Adapter contains an abstraction for all the POAs in the ORB. This class is used to hold the Object Adapter lock and the tables for the POAs in the ORB. The point of contact for dispatching requests and finding servants has changed from the RootPOA to the Object Adapter. The file also contains classes to iterate through a folded POA name. - New file Key_Adapters contains the common classes used by the Object_Adapter class and the Active_Object_Map class. These common classes are usually used for similar maps such as the ACE_Active_Map_Manager_Adapter and ACE_Hash_Map_Manager_Ex_Adapter. - POA name separator was changed from '/' to '\0'. Since POA names are strings, this makes a better choice since there is no chance of a conflict with the string specified by the user. - The POA name separator change also led to the removal of the TAO specific extension which allowed users to specify a nested POA name in find_POA() and create_POA(). The Explicit_Activation, FindPOA, and NewPOA examples were changed not to use the above TAO extention. - Fixed RootPOA example to remove extra exception code left there by Bala. - Collocation table now maps addresses to Object Adapters instead to the Root POAs. - POA objects and POA Manager objects now contain a reference to lock rather than a lock instance. The lock comes from the Object Adapter. This change was made to centralize the locking and reduce the number of locks grabbed during request dispatching. - Added ids for POA policies. * tao/Active_Object_Map.cpp: - Fixed the calculation of . - Removed a memory leak by iterating over the entries left in the user id map and deleting the dynamically allocated s. - Made sure that the user can specify the map sizes if desired. * tao/Connect.cpp (handle_message): Reduced the number of calls made to access the object_key and its buffer. * tao/Object_KeyC.h: Added operator!= for Object Keys. * tao/poa_macros.h (TAO_POA_GUARD_RETURN and TAO_POA_GUARD): Added new macros. * examples/POA/Adapter_Activator/: Added new example to test the dynamic creation of POAs when dispatching requests. The original POAs are deleted once the object references have been created. After this, an adapter activator is install in the RootPOA to reactivate the POAs on demand. Tue Apr 6 02:40:31 1999 Nanbor Wang * examples/Simple/Simple_util.cpp (init): We have to make sure we don't try to proceed if querying of naming service failed. Thanks to David Hauck for reporting the bug. Tue Apr 06 00:12:11 1999 Irfan Pyarali * examples/POA/DSI/Database_i.cpp (_is_a): Added back the code that Bala had commented out. I am not sure why Bala had commented this out, but without this code, the application does not work. Mon Apr 5 21:34:05 1999 Jeff Parsons * TAO_IDL/include/ast_expression.h: * TAO_IDL/ast/ast_expression.cpp: * TAO_IDL/ast/ast_constant.cpp: * TAO_IDL/be/be_expression.cpp: * TAO_IDL/be/be_sunsoft.cpp: * TAO_IDL/util/utl_global.cpp: We can now define constants (in .idl files) of type long long, unsigned long long and wchar. This has been made easier by the fact that the CORBA basic types are now defined in ACE. Still need more ACE/TAO support in order to do long double and wide strings, though. All the above builds cleanly on NT, sunc++, g++ and egcs. A few simple examples work on NT - more testing to come. Mon Apr 5 16:26:32 1999 Vishal Kachroo * orbsvcs/orbsvcs/IOR_Multicast.cpp (handle_input): Fixed the handle_input () that handles the multicast to work for both Naming and Trading Service. Thanks to James CE Johnson for reporting this. Mon Apr 05 09:59:26 1999 David L. Levine * tao/Makefile,docs/configurations.html: removed enabling of fakesvcconf with static libraries, so that we can use -ORBsvcconf with them. * tao/POA.cpp (create_object_key): don't declare local creation_time_length with POA_NO_TIMESTAMP, to avoid compiler warning. Also, replaced two occurrences of TAO_Creation_Time::creation_time_length () with creation_time_length, to save the function call. Mon Apr 5 02:06:57 1999 Nanbor Wang * performance-tests/Thruput/TAO/svc.conf: * orbsvcs/tests/ImplRepo/svc.conf: * orbsvcs/tests/AVStreams/mpeg/source/client/svc.conf: * orbsvcs/tests/AVStreams/mpeg/source/server/svc.conf: * examples/Simulator/Event_Supplier/svc.conf: * examples/POA/On_Demand_Loading/svc.conf: * examples/Simulator/DOVEMIB/svc.conf: * tests/Param_Test/svc.conf: * performance-tests/Cubit/TAO/MT_Cubit/svc.conf: Some of the services didn't get changed to be static. Sun Apr 04 22:33:23 1999 David L. Levine * performance-tests/Cubit/TAO/MT_Cubit/svc.conf.static: updated comments to show -ORBsvcconf svc.conf.static option. Sun Apr 4 14:15:12 1999 Jeff Parsons * TAO_IDL/tao_idl.cpp: Removed an extra semicolon from a chain of << stream insertions. Sun Apr 4 04:50:00 1999 Nanbor Wang * TAO_IDL/be/be_init.cpp: * TAO_IDL/tao_idl.cpp: * TAO_IDL/Makefile: Moved the IDL_CFE_VERSION macro definition from Makefile to tao_idl.cpp. It doesn't get changed anyway. Changed the version information generated by "tao_idl -V" to something more helpful. This is what it looks like now: tao_idl FE: Base on Sun IDL CFE version 1.3.0 TAO C++ BE, Version 0.3.17 * examples/POA/Forwarding/run_test.pl: Changed to use ACE::waitforfile to ensure proper startup of servers and the client. Also made sure the temporary ior files get removed after each test cycle so ACE::waitforfile works properly. * examples/POA/Forwarding/MyFooServant.cpp (forward): The prefix for I/R id has changed from 'IDL:' to 'IDL:omg.org/'. * tao/Forwarding_Servant.cpp (invoke): We do own the exception in Any. Sun Apr 4 01:59:48 1999 Nagarajan Surendran * orbsvcs/tests/AVStreams/sfp/client.cpp: * orbsvcs/tests/AVStreams/sfp/server.cpp: Added code to test the fragmentation/reassembly features using a -f option. * orbsvcs/orbsvcs/AV/sfp.h: Defined new classes for sfp fragmentation and reassembly. * orbsvcs/orbsvcs/AV/sfp.cpp: Removed the unnecessary connect on the ACE_SOCK_Dgram which prevented the code from working on Windows because calling sendto on a connected socket is wrong. Thanks to David Hooker for reporting this. Added code to do reassembly of fragmented SFP packets. The code is now cleaner as it uses the interpretive marshalling to marshal/demarshal sfp headers. Sun Apr 4 00:33:20 1999 Balachandran Natarajan * examples/POA/Forwarding/client.cpp (do_calls): * examples/POA/Forwarding/Servant_Locator.cpp: * examples/POA/Forwarding/MyFooServant.cpp: Made some aesthetic changes and the way exception is thrown. Sat Apr 3 23:55:32 1999 Balachandran Natarajan * examples/POA/DSI/Database_i.cpp (destroy_entry): Made some changes to the way exceptions are thrown Fri Apr 02 23:25:47 1999 David L. Levine * tao/Version.h: added. Fri Apr 02 15:42:34 1999 David L. Levine * performance-tests/Cubit/TAO/MT_Cubit/svc.conf{,.static}: updated ORB configuration to correspond to that of IDL_Cubit, except to use -ORBresources tss. Thanks to Irfan for providing the configuration parameters. Fri Apr 2 13:25:37 1999 Carlos O'Ryan * examples/POA/Default_Servant/File_i.cpp: Fixed some more warnings. Fri Apr 2 12:33:45 1999 Balachandran Natarajan * examples/POA/Default_Servant/File_i.cpp: Fixed error in IRIX Thu Apr 01 22:52:00 1999 Douglas C. Schmidt * TAO version 0.3.17 released. Thu Apr 1 21:41:01 1999 Balachandran Natarajan * $TAO_ROOT/examples/POA/FindPOA/FindPOA.cpp: Made some cosmetic changes Thu Apr 1 13:47:56 1999 Vishal Kachroo * tao/Connect.cpp (handle_message): Changed a c-style cast to ACE_reinterpret_cast (). * orbsvcs/orbsvcs/IOR_Multicast.cpp (handle_input): Fixed a warning for g++. Thu Apr 1 12:17:14 1999 Carlos O'Ryan * TAO_IDL/be/be_visitor_interface/interface_ci.cpp: * TAO_IDL/be/be_visitor_interface/interface_cs.cpp: Moved _duplicate() to the .cpp file again, this eliminates a pesky warning from the broken g++ 2.7.X compilers. Thu Apr 01 03:26:30 1999 Nanbor Wang * TAO/tao/ORB_Core.{h,cpp}: * TAO/tao/TAO_Internal.{h,i,cpp}: * TAO/tao/default_client.{h,cpp}: * TAO/tao/default_server.{h,cpp}: TAO is now build with static services enabled. You can use TAO components as either static or dynamic services (wrt. Service Configurator.) There are many ways to set up the svc.conf entries. All these are documented in http://www.cs.wustl.edu/~schmidt/ACE_wrappers/TAO/docs/configurations.html#programming * Changed all svc.conf file to use TAO components as static services. A perl script call tao_svcconf.pl under $ACE_ROOT/bin/ can help you convert svc.conf files. * performance-tests/Cubit/TAO/IDL_Cubit/svc.conf.dynamic: Renamed svc.conf.static to svc.conf.dynamic as a sample svc.conf file that uses dynamic services. Wed Mar 31 23:32:13 1999 Vishal Kachroo Purified the INS changes in the following files. Also minimized data copying. * tao/IOR_LookupTable.cpp: * tao/IOR_LookupTable.h: Passed params by reference for the add () and find (). * tao/Connect.cpp: Removed data copying. * tao/ORB_Core.cpp: Changed the add_to_ior_table () to fix some memory leaks. * tao/ORB.cpp: Fixed memory leaks in resolve_initial_references () and iioploc_string_to_object (). Changed the add/find IOR APIs to take params by reference for minimal copying. * tao/ORB.h: Changed the signatures of the add/find IOR APIs. Wed Mar 31 14:09:51 1999 Balachandran Natarajan * examples/POA/Explicit_Activation/server.cpp: Made some cosmetic changes to the ACETRY macros defined inside. Wed Mar 31 09:02:39 1999 Carlos O'Ryan * tao/ORB_Core.h: * tao/ORB_Core.i: * tao/ORB_Core.cpp: Moved the output CDR allocators from the ORB_Core into the resource factory. Even though this resources can always be TSS the ORB_Core is not used is a single thread anymore. Changes similar to this may be required as the ORB-thread relationship is decoupled. Wed Mar 31 06:58:28 1999 Douglas C. Schmidt * tao/ORB.cpp (multicast_to_service): Fixed a couple mistakes in this function that were causing it to fail on errors. Thanks to Mike Mazurek for reporting this. Wed Mar 31 03:24:35 1999 Nanbor Wang * tao/POAS.{h,cpp}: * tao/POAC.{h,i,cpp}: Brought these files in-synch with TAO_IDL generated files. Major changes are: Use of namespace on platforms that support it. Use of perfect-hash optable. Use of compile marshalling. Added _interface_repository_id accessors. Added _non_existent_skel for skeletons. Repository ID changed to start with IDL:omg.org/. Remote operation invocation now understand MP. Use of ACE_TRY macros. Thanks to Jeff for the reminder. Wed Mar 31 000:42:30 1999 Jeff Parsons * TAO_IDL/fe/idl.ll: * TAO_IDL/lex.yy.cpp: Added a definition above the rules section to generalize newline to handle '\n' and "\r\n", and plugged the definition in where appropriate in the rules section. Since we don't regenerate lex.yy.cpp with every build, that had to be generated and checked in as well. Thanks to Ossama for his quick hack of a simple test for this. Also tested by ftp of Ping.idl (in binary mode) from NT to Unix and rebuild of orbsvcs after removing generated Ping interface files. Also, thanks to Andreas Geisler for reporting the problem. Wed Mar 31 00:25:17 1999 Pradeep Gore * orbsvcs/tests/CosEC_Multiple/CosECConsumer.cpp: fixed a bug in counting down the events received in the consumer's method. Wed Mar 31 00:14:53 1999 Balachandran Natarajan * examples/POA/Default_Servant/File_i.cpp (destroy): * examples/POA/Default_Servant/server.cpp * examples/POA/Default_Servant/client.cpp * examples/POA/DSI/Database_i.cpp examples/POA/DSI/server.cpp examples/POA/DSI/client.cpp: MAde some cosmetic changes to the ACETRY macros defined inside Tue Mar 30 18:30:27 1999 Nanbor Wang * docs/Options.html: Added a paragraph describing the relation and useage of command-line options, environment variables, and svc.conf files. Thanks to Don Busch for pointing this out. Tue Mar 30 12:33:06 1999 Douglas C. Schmidt * TAO version 0.3.16 released. Tue Mar 30 11:16:57 1999 Nanbor Wang * tao/ORB.cpp (resolve_initial_references,iioploc_string_to_object): We don't need a char* array here. Tue Mar 30 09:51:03 1999 Carlos O'Ryan * tao/ORB.cpp: Missing ORB_Core argument in the InputCDR for ior_string_to_object. * tao/GIOP.cpp: Improved error messages. * tao/Server_Request.cpp: Use ACE_TRY macros to throw exceptions. * tao/ORB_Core.cpp: We cannot cache the allocators because the ORB_Core_instance will not be TSS in the future. * tests/MT_Client/server.conf: Use global resources. * tests/MT_Client/client.cpp: Use ACE_PRINT_EXCEPTION to print the exception. Mon Mar 29 22:42:31 1999 Vishal Kachroo * tao/Connect.cpp : Used CORBA::string_dup () in handle_message (). Un-owned memory was being assigned to an auto-ptr, which caused the INS test to fail on NT. Also added a check for TAO_debug_level. * tests/InterOp-Naming/InterOp_test.cpp (main): Removed some Debug statements. Mon Mar 29 21:27:56 1999 David L. Levine * TAO-INSTALL.html: removed 2>&1 from cross-compilation instructions. Thanks to Jeff for reporting that t/csh doesn't like it. Mon Mar 29 20:12:12 1999 Vishal Kachroo Changed the ACE_TRY_ENV in ACE_PRINT_EXCEPTION to ACE_ANY_EXCEPTION. * orbsvcs/orbsvcs/Time/TAO_UTO.cpp * orbsvcs/orbsvcs/Time/TAO_TIO.cpp * orbsvcs/orbsvcs/Time/Timer_Helper.cpp * TAO/examples/Simple/time: Updated the following projects to contain Simple_util.* Removed the obsolete files. Thanks to Barry Hoggard for pointing this out. * TAO/examples/Simple/timeserver.dsp * TAO/examples/Simple/timeclient.dsp * TAO/examples/Simple/timeserver_static.dsp * TAO/examples/Simple/timeclient_static.dsp * TAO/examples/Simple/time: Updated the following projects to contain Simple_util.* Removed the obsolete files. Thanks to Barry Hoggard for pointing this out. * TAO/examples/Simple/timeserver.dsp * TAO/examples/Simple/timeclient.dsp * TAO/examples/Simple/timeserver_static.dsp * TAO/examples/Simple/timeclient_static.dsp Mon Mar 29 19:10:09 1999 Carlos O'Ryan * tao/Stub.h: * tao/Stub.i: * tao/Stub.cpp: The Stub carries the ORB_Core around, this reduces the number of calls to TAO_ORB_Core_instance(), at least on the client-side. It is also the first step to be able to get to the policy list effective for an object, because we needed some way to map from the CORBA::Object to the ORB that it belongs to. * tao/CDR.h: * tao/CDR.i: * tao/CDR.cpp: The InputCDR class can carry the ORB_Core around to initialize the TAO_Stub's appropiately. Unfortunately we cannot use this feature everywhere. * tao/Invocation.i: Initialize the InputCDR with the right ORB_Core. * tao/ORB.cpp: Changed the code to create TAO_Stub's to use the new constructor and pass it the ORB_Core. Use the right ORB_Core when extracting an object reference from a string. * tao/Object.cpp: When extracting an Object from a CDR stream we use the right ORB_Core. * TAO_IDL/be/be_visitor_operation/operation_cs.cpp: Use the ORB_Core in the stub instead TAO_ORB_Core_instance() to make a request. * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp: Migrated to the new TAO_Stub constructors. Mon Mar 29 15:55:23 1999 Balachandran Natarajan * tao/Request.h (CORBA_Request): Put a default argument for calls send_oneway () and invoke () as CORBA::Environment::default_environment(). This is for users who are using the native exception. But users using the non-native exceptions should pass in their environment to get the exception back. This change is attributed to Barry Hoggard Sun Mar 28 21:37:42 1999 David L. Levine * examples/Simple/grid/Grid_Client_i.cpp (run): fixed typo in ACE_DECLARE_NEW_CORBA_ENV. Sun Mar 28 18:28:10 1999 Darrell Brunsch * orbsvcs/tests/ImplRepo/nestea_i.cpp: Removed extra ACE_File_Connector variables that were not being used. Sun Mar 28 17:55:10 1999 Vishal Kachroo Replaced the TAO exception macros with ACE exception macros. * orbsvcs/orbsvcs/Time/Timer_Helper.cpp (handle_timeout): * orbsvcs/orbsvcs/Time/TAO_UTO.cpp * orbsvcs/orbsvcs/Time/TAO_TIO.cpp Sun Mar 28 14:58:50 1999 Balachandran Natarajan * tests/Param_Test/any.cpp * tests/Param_Test/bd_short_seq.cpp * tests/Param_Test/bd_str_seq.cpp * tests/Param_Test/client.cpp * tests/Param_Test/except.cpp * tests/Param_Test/objref.cpp * tests/Param_Test/server.cpp Made cosmetic changes to these files. Sun Mar 28 14:27:28 1999 Nanbor Wang * orbsvcs/Event/EC_ConsumerAdmin.cpp: * orbsvcs/Event/EC_ObserverStrategy.cpp: * orbsvcs/Event/EC_Per_Supplier_Filter.cpp: * orbsvcs/Event/EC_ProxyPushSupplier_Set_T.cpp: * orbsvcs/Event/EC_ProxySupplier.cpp: * orbsvcs/Event/EC_SupplierFiltering.cpp: * orbsvcs/Naming/Hash_Naming_Context.cpp: Replaced ACE_GRUAD_THROW* with ACE_GUARD_TRHOW_EX with appropriate ACE_CHECK*. Sun Mar 28 14:20:25 1999 Jeff Parsons * tao/DynAnyC.{h,i,cpp}: * tao/DynAny_i.{h,cpp}: * tao/DynArray_i.{h,cpp}: * tao/DynEnum_i.{h,cpp}: * tao/DynSequence_i.{h,cpp}: * tao/DynStruct_i.{h,cpp}: * tao/DynUnion_i.{h,cpp}: Changed over TAO_IN_ENV to ACE_TRY_ENV and ACE_NEW_THROW_RETURN to ACE_NEW_THROW_EX/ACE_CHECK_RETURN. Also replaced a few Any_ptr/delete pairs with Any_vars. Sun Mar 28 11:39:36 1999 Nanbor Wang * examples/Simple/bank/AccountManager_i.cpp (open): Fixed a typo. Sun Mar 28 07:40:45 1999 David L. Levine * orbsvcs/orbsvcs/Naming/Naming_Utils.cpp: added ACE_Auto_Basic_Ptr explicit instantiation. Sun Mar 28 03:27:59 1999 Nanbor Wang * TAO/examples/Callback_Quoter/Notifier_i.cpp: * TAO/examples/Simple/bank/AccountManager_i.cpp: * TAO/examples/Simple/grid/Grid_i.cpp: * TAO/orbsvcs/orbsvcs/Runtime_Scheduler.cpp: * TAO/orbsvcs/orbsvcs/Concurrency/CC_LockSetFactory.cpp: * TAO/orbsvcs/orbsvcs/CosEvent/ProxyPushConsumer_i.cpp: * TAO/orbsvcs/orbsvcs/CosEvent/ProxyPushSupplier_i.cpp: * TAO/orbsvcs/orbsvcs/Log/Logger_i.cpp: * TAO/orbsvcs/orbsvcs/Naming/Hash_Naming_Context.cpp: * TAO/orbsvcs/orbsvcs/Time/TAO_TIO.cpp: * TAO/orbsvcs/orbsvcs/Time/TAO_Time_Service_Clerk.cpp: * TAO/orbsvcs/orbsvcs/Time/TAO_Time_Service_Server.cpp: * TAO/orbsvcs/orbsvcs/Time/TAO_UTO.cpp: * TAO/tao/DynAny_i.cpp: * TAO/tao/Invocation.cpp: * TAO/tao/ORB.cpp: * TAO/tao/Typecode.cpp: Replaced ACE_NEW_THROW* macros with ACE_NEW_THROW_EX and appropriate ACE_CHECK* macros. 1999-03-27 Nagarajan Surendran * docs/releasenotes/index.html: Updated the A/V documentation. Sat Mar 27 14:20:09 1999 Pradeep Gore * examples/Event_Comm/Consumer_Input_Handler.cpp, Notifier_Handler.cpp, Supplier_Input_Handler.cpp, notifier.cpp: Fixed compile warnings. Sat Mar 27 11:57:11 1999 Carlos O'Ryan * tao/ORB.h: * tao/ORB.cpp: Removed an Unbounded_Set that I moved from IIOP_ORB, but it was not used at all. Sat Mar 27 06:51:38 1999 David L. Levine * examples/Event_Comm/Makefile: updated dependencies so that it can build. Fri Mar 26 23:50:46 1999 Nanbor Wang * tao/POA.pidl (PortableServer): Added State and get_state. Thanks to Umar Syyid for pointing this out. Fri Mar 26 22:53:09 1999 Jeff Parsons * tao/Any.h: * tao/Context.h: * tao/DynAnyC.h: * tao/Environment.h: * tao/Exception.h: * tao/NVList.h: * tao/ORB.h: * tao/Object.h: * tao/POA_CORBA.h: * tao/POAC.h: * tao/Principal.h: * tao/Request.h: * tao/Server_Request.h: * tao/TypeCode.h: Put in some more of the _ptr_type and _var_type typedefs. As I read in the Henning/Vinoski book, I see that these things are used just about anywhere xxx_ptr and/or xxx_var are defined. This should about do it for TAO code. Still some places in the IDL compiler left where these can be generated. Fri Mar 26 21:57:44 1999 Balachandran Natarajan * tao/POAManager.cpp (get_state): Made changes to the type declarations in this file. The scoping was not right to acces the enum variables. Thanks to Naga for pointing out the mistake. Fri Mar 26 18:08:10 1999 Carlos O'Ryan * tao/TAO.dsp: * tao/TAO_Static.dsp: Removed the IIOP_ORB.{h,cpp} from the project files. Fri Mar 26 18:07:43 1999 Nanbor Wang * tao/POAC.h: * tao/POAS.{h,cpp}: * tao/POAManager.{h,cpp} (get_state): Added enum definition for PortableServer::POAManager::State and the get_state method which got added in Corba 2.3 spec. Thanks to Umar Syyid for pointing this out. Fri Mar 26 18:12:56 1999 Darrell Brunsch * orbsvcs/tests/ImplRepo/airplane_server_i.cpp: * orbsvcs/tests/ImplRepo/nestea_server_i.cpp: I think the passing of a _var into a method that accepts _ptr was causing errors on some platforms so I added .ionout () to it hoping to fix it. Fri Mar 26 17:59:22 1999 Darrell Brunsch * orbsvcs/tests/ImplRepo/IR_Helper.cpp: * orbsvcs/tests/ImplRepo/airplane_client_i.cpp: * orbsvcs/tests/ImplRepo/airplane_i.cpp: * orbsvcs/tests/ImplRepo/airplane_i.h: * orbsvcs/tests/ImplRepo/airplane_server.cpp: * orbsvcs/tests/ImplRepo/airplane_server_i.cpp: * orbsvcs/tests/ImplRepo/airplane_server_i.h: * orbsvcs/tests/ImplRepo/nestea_client_i.cpp: * orbsvcs/tests/ImplRepo/nestea_server.cpp: * orbsvcs/tests/ImplRepo/nestea_server_i.cpp: * orbsvcs/tests/ImplRepo/nestea_server_i.h: Replaced all TAO exception macros with ACE exception macros. Fri Mar 26 17:58:58 1999 Carlos O'Ryan * tao/Makefile: * tao/IIOP_ORB.h: * tao/IIOP_ORB.i: * tao/IIOP_ORB.cpp: * tao/IOR_LookupTable.h: * tao/IOR_LookupTable.cpp: * tao/ORB.h: * tao/ORB.i: * tao/ORB.cpp: * tao/ORB_Core.cpp: Removed the IIOP_ORB class, it was not needed, it was confusing the pluggable protocols work and it added more layering than was desirable. Also added a pointer from the ORB to the ORB_Core that created it, that way we don't need to rely on the TAO_ORB_Core_instance() method. The more I think about it the more the ORB_Core looks like an implementation class for the ORB interface. * examples/Makefile: Added Event_Comm to the list. * docs/releasenotes/TODO.html: Updated with the new tasks ahead. Fri Mar 26 15:38:00 1999 Vishal Kachroo * orbsvcs/orbsvcs/IOR_Multicast.cpp (handle_input): Cosmetic change. Moved the null termination of service name ahead so it prints properly in the ACE_DEBUG. Fri Mar 26 16:00:58 1999 David L. Levine * orbsvcs/orbsvcs/Makefile: instead of not building Time component if ImplRepo component isn't built, build ImplRepo component if Time component is built. Fri Mar 26 13:01:50 1999 Jeff Parsons * TAO/performance-tests/Cubit/TAO/DII_Cubit/client.cpp: Modified code to use member environment variable inside cube_* calls, and ACE_TRY_ENV inside init and shutdown code. * TAO/performance-tests/Cubit/TAO/IDL_Cubit/server.dsp: * TAO/performance-tests/Cubit/TAO/IDL_Cubit/collocation_test.dsp: Deleted a header file that was included twice and added a couple that were missing. Fri Mar 26 12:51:07 1999 Marina Spivak * orbsvcs/orbsvcs/Naming/Naming_Context.{h, cpp} orbsvcs/orbsvcs/Naming/Hash_Naming_Context.{h, cpp} orbsvcs/orbsvcs/Naming/README: Added the files above. * orbsvcs/orbsvcs/Naming/Naming_Utils.{h, cpp} orbsvcs/orbsvcs/Makefile: Update the files above. * orbsvcs/orbsvcs/Naming/CosNaming_i.{h, cpp}: Removed the files above. Restructured the implementation of the Naming Service to follow the bridge pattern. This will allow to easily plug additional implemenations of the Naming Service, as well as dynamically load the appropriate implementation at run-time with Service_Config. Please see orbsvcs/orbsvcs/Naming/README for details. Fri Mar 26 11:39:44 1999 Steve Huston * orbsvcs/orbsvcs/Event/EC_Timeout_Generator.h: Replaced forward declaration of TAO_EC_Timeout_Filter with include EC_Timeout_Filter.h so static_cast knows the complete type. * utils/IOR-parser/Makefile: Now builds without a library; builds on HP-UX. Fri Mar 26 09:26:48 1999 David L. Levine * orbsvcs/orbsvcs/Time_Utilities.*: replace static zero object with static zero () member function. This removes the dependencies of all other services on TAO's Time Service. * orbsvcs/orbsvcs/CosEvent/ProxyPushConsumer_i.cpp, orbsvcs/orbsvcs/Event/Dispatching_Modules.cpp, orbsvcs/orbsvcs/Event/EC_Gateway.cpp, orbsvcs/orbsvcs/Event/Event_Channel.{h,cpp}, orbsvcs/orbsvcs/Event/ReactorTask.cpp, orbsvcs/orbsvcs/Event/EC_ObserverStrategy.cpp, orbsvcs/orbsvcs/Sched/Config_Scheduler.cpp, orbsvcs/tests/EC_Basic/EC_Basic.cpp, orbsvcs/tests/EC_Custom_Marshal/ECM_Supplier.cpp, orbsvcs/tests/EC_Mcast/EC_Mcast.cpp, orbsvcs/tests/EC_Multiple/EC_Multiple.cpp, orbsvcs/tests/EC_Throughput/ECT_Supplier.cpp, orbsvcs/tests/Event_Latency/Event_Latency.cpp: changed ORBSVCS_Time::zero to ORBSVCS_Time::zero (). Fri Mar 26 08:39:45 1999 Carlos O'Ryan * TAO_IDL/be/be_helper.cpp: Fixed minor syntax error in the be_helper.cpp file. Fri Mar 26 01:33:05 1999 Vishal Kachroo Updated the InterOperable Naming Service sections of the following: * docs/Options.html: * docs/releasenotes/#nservices: Thu Mar 25 22:08:21 1999 Jeff Parsons * tao/CDR.{h,cpp}: Changed TAO_TRY stuff to ACE_TRY; Thu Mar 25 21:42:28 1999 Ossama Othman * TAO_IDL/be/be_helper.cpp: Updated tao_idl's copyright message. Thu Mar 25 21:11:11 1999 Jeff Parsons * TAO/tests/Dynany_Test/driver.cpp: * TAO/tests/Dynany_Test/test_dynany.cpp: * TAO/tests/Dynany_Test/test_dynarray.cpp: * TAO/tests/Dynany_Test/test_dynenum.cpp: * TAO/tests/Dynany_Test/test_dynsequence.cpp: * TAO/tests/Dynany_Test/test_dynstruct.cpp: * TAO/tests/Dynany_Test/test_dynunion.cpp: * TAO/tests/Dynany_Test/test_dynunion.cpp: * TAO/tests/CDR/basic_types.cpp: * TAO/tests/CDR/tc.cpp: * TAO/performance-tests/Pluggable/server.cpp: * TAO/performance-tests/Pluggable/PP_Test_Server.cpp: * TAO/performance-tests/Pluggable/PP_Test_Client.cpp: * TAO/performance-tests/Cubit/TAO/DII_Cubit/client.cpp: * TAO/performance-tests/Cubit/TAO/IDL_Cubit/server.cpp: * TAO/performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Client.cpp: * TAO/performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Server.cpp: * TAO/performance-tests/Cubit/TAO/IDL_Cubit/collocation_test.cpp: Changed TAO_TRY stuff to ACE_TRY. Also re-enabled the cube_union test in DII_Cubit. Thu Mar 25 20:26:40 1999 Vishal Kachroo * tao/ORB.cpp : Fixed some memory leaks in resolve_initial_references (). Called resolve_service for service names other than those statically defined in the orb. The resolve_service was initially resolve_naming_service. Now it takes a string as a parameter for the service name to be resolved. * tao/ORB.h: Changed the function resolve_naming_service () to resolve_service passing in the service name as a parameter. This function calls multicast_to_service () with the given service name. Thu Mar 25 16:34:55 1999 Carlos O'Ryan * TAO_IDL/be/be_union_branch.cpp: The TypeCode buffer generated for unions that had a short, ushort, char or wchar as discriminator was broken. This was giving all kinds of problems with the new test in Param_Test (union inside any). Hopefully it will fix the problem that Frank Buschmann reported. * tao/Typecode.cpp: Changed one of the methods (private_member_label) to use the ACE_TRY macros and fixed several problems with its demarshaling of the labels. Another attempt at fixing the problem with unions that was good, but no the right solution. * TAO_IDL/be_include/be_visitor_union/any_op_cs.h: * TAO_IDL/be/be_visitor_union/any_op_cs.cpp: Added support for interpretive and compiled marshaling versions of the <<= and >>= operators for unions. This was an attempt to fix a bug in marshaling unions inside anys, but finally the problem was in other place, the change is useful though, and I am leaving it as an example on how to start removing the need for the encode() and decode() operations, even in the support of the CORBA::Any type. * tao/Any.h: * tao/Any.cpp: Added new operations to manipulate CORBA::Any with compiled marshaling. * tests/Param_Test/any.h: * tests/Param_Test/any.cpp: * tests/Param_Test/client.cpp: * tests/Param_Test/param_test_i.cpp: Added new sub-test for the any test. It inserts a union into the any. * tao/encode.cpp: Simplified implementation of union marshaling. * tao/decode.cpp: Minor optimization in Any demarshaling. * tao/Invocation.cpp: Added @@ comment. * tao/Stub.cpp: * tao/GIOP.cpp: Minor cosmetic fix. Thu Mar 25 16:24:08 1999 David L. Levine * performance-tests/Cubit/TAO/MT_Cubit/{MT_Cubit_Test,run_test.pl}, performance-tests/Cubit/TAO/IDL_Cubit/run_tests.pl: changed iioplite to gioplite. See ChangeLogTag:Mon Mar 8 20:49:45 1999 Carlos O'Ryan. Thu Mar 25 15:09:37 1999 Vishal Kachroo Added the following files for the InterOperable Naming Service test. * tests/InterOp-Naming/InterOp_test.cpp: * tests/InterOp-Naming/README: * tests/InterOp-Naming/Makefile: Thu Mar 25 07:41:57 1999 Carlos O'Ryan * TAO_IDL/util/utl_global.cpp: Fixed use of ACE_NEW_RETURN, ACE_NEW was the right macro here. Thu Mar 25 01:05:47 1999 Alexander Babu Arulanthu * TAO_IDL/include/idl_global.h (class IDL_GlobalData): * TAO_IDL/driver/drv_preproc.cpp: Removed the code that was resolving "TEMP" variable to figure out temp directory. Instead use the global temp_dir () which has already been resolved once in drv_args.cpp * TAO_IDL/util/utl_global.cpp (temp_dir): * TAO_IDL/driver/drv_args.cpp: Added an option -t to specify temp directory for the IDL COMPILER. If this is not specified, it will be resolved from ACE_DEFAULT_TEMP_DIR_ENV environment variable. IF that is also not defined, /tmp/ will be used. * TAO_IDL/be/be_interface.cpp: Fixed to use the temp directory to keep the gperf temp files. Thanks to Margaret Reitz for reporting the problem. Wed Mar 24 16:39:03 1999 Darrell Brunsch * examples/Quoter/Quoter_i.cpp: Fixed a warning with copy (). Wed Mar 24 15:07:22 1999 Darrell Brunsch * TAO_IDL/Makefile: Hardcoded our specialized yacc path in it (and it can be overridden via the command line). Also automatically put an CVS ID string in the y.tab.cpp also. * TAO_IDL/fe/y.tab.cpp.diff: * TAO_IDL/fe/y.tab.cpp: Removed some warnings and updated the diff. Wed Mar 24 10:04:28 1999 Carlos O'Ryan * TAO_IDL/be/be_visitor_interface_fwd/interface_fwd_ci.cpp: Removed definitions of inline functions for the T_var and T_out classes corresponding to a forward declaration. The classes will be generated again for the interface. This change should let us use inline versions of T::_nil() and T::_duplicate(). Wed Mar 24 09:00:01 1999 Carlos O'Ryan * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp: This is the only file outside $TAO_ROOT/tao that was using STUB_Object. Wed Mar 24 06:13:45 1999 David L. Levine * tao/Invocation.cpp (invoke_i): removed ACE_NOTREACHED wrapper from final return statement. Both DU cxx and ghs complained that the statement is reachable, I think because the last switch statement doesn't have a default case. Tue Mar 23 22:33:43 1999 Carlos O'Ryan * tao/Stub.h: * tao/Stub.i: * tao/Stub.cpp: Changed the name from STUB_Object to TAO_Stub, otherwise it pollutes the namespace. This affected many files. * tao/corbafwd.h: * tao/Exception.h: * tao/Exception.cpp: Added new system exceptions: INV_POLICY (invalid policy), REBIND (request will require object rebind) and TIMEOUT (the request timed out). This new exceptions are not raised yet, but they will be as part of the CORBA Messaging effort. * tao/IIOP_Profile.cpp: Changed all CORBA_DATA_CONVERSION exceptions for CORBA::MARSHAL. DATA_CONVERSION is reserved to errors while handling basic types, such as fixed<> or marshaling character sets. * TAO_IDL/be/be_visitor_interface.cpp: * TAO_IDL/be/be_visitor_interface/collocated_sh.cpp: * TAO_IDL/be/be_visitor_interface/collocated_ss.cpp: * TAO_IDL/be/be_visitor_interface/interface_ch.cpp: * TAO_IDL/be/be_visitor_interface/interface_ci.cpp: * TAO_IDL/be/be_visitor_interface/interface_cs.cpp: * TAO_IDL/be/be_visitor_interface/interface_ss.cpp: * TAO_IDL/be/be_visitor_operation/operation_cs.cpp: The IDL compiler generates TAO_Stub now. Moved the generation of the _duplicate() and _nil() methods to the .i files. We now generate the _unchecked_narrow() method. Tue Mar 23 21:55:21 1999 David L. Levine * rules.tao.GNU,orbsvcs/orbsvcs/Makefile,docs/configurations.html: moved TAO_ORBSVCS default setting from rule.tao.GNU to orbsvcs/orbsvcs/Makefile. Tue Mar 23 21:36:12 1999 Carlos O'Ryan * tao/Invocation.cpp: The error codes returned from invoke_i() were wrong. Resulting in missing user exceptions and other evil things. * docs/Options.html: * tao/ORB_Core.cpp: Added option to control TAO_debug_level directly. * tao/GIOP.cpp: Enabled more debugging messages for the beginning of an outgoing buffer, only if TAO_debug_level > 3. * orbsvcs/tests/Simple_Naming/client.cpp: Print some debugging messages if the tests fail. Tue Mar 23 19:14:23 1999 Vishal Kachroo * examples/Simple/Simple_util.h (class Server): Added a method to test the InterOperable Naming Service with any of the existing Simple examples in TAO (like bank,time etc.) Specifying a "-i object_id" option to the any of the examples will allow a client to use the multiple end-point iioploc ior for the server as iioploc:1.0//:/, This change will be used by the InterOperable Naming Service test that will be added soon to the TAO\tests. * tao/ORB.cpp (multicast_query): Printed the error message in the accept call only if the TAO_debug_level > 0. Tue Mar 23 10:14:58 1999 Douglas C. Schmidt * TAO_IDL/be/be_interface.cpp: There were some missing '\n' that were making the ACE_ERROR statements hard to read. Tue Mar 23 09:27:51 1999 David L. Levine * orbsvcs/Makefile: if not building ImplRepo Service, don't build Time Service. * ImplRepo_Service/Makefile,Time_Service/Makefile, tests/ImplRepo/Makefile,tests/Time/Makefile: only build if the orbsvcs library was built with the respective TAO_ORBSVCS component. Tue Mar 23 09:01:01 1999 Carlos O'Ryan * tao/Invocation.h: * tao/Invocation.cpp: Fixed throw spec declarations. Tue Mar 23 08:59:22 1999 David L. Levine * tao/Stub.cpp (do_static_call,do_dynamic_call): removed unused local variable "status". Tue Mar 23 00:22:16 1999 Carlos O'Ryan * tao/Invocation.h: * tao/Invocation.i: * tao/Invocation.cpp: * tao/Stub.h: * tao/Stub.cpp: Major changes to the start() and invoke() methods, they now control most of the loop for connection establishment and forwarding. The clients only need to restart the request if the invoke method returns TAO_INVOKE_RESTART. Also factored out the common code for several versions of the invoke() method. Fixed severe error in protocol implementation, a successful write followed by a read error must result in a COMM_FAILURE exception. Carefully examined what exceptions and what status code to raise from start() and invoke(). Re-organized the implementation of do_static_call and do_dynamic_call to use the new features of the invocation classes. Cleaned up the LocationRequest implementation. * tao/Pluggable.h: * tao/Pluggable.cpp: * tao/IIOP_Connector.h: * tao/IIOP_Connector.cpp: No exceptions are raised by the connector, simply an error code is returned. * TAO_IDL/be/be_visitor_operation/operation_cs.cpp: Changed the IDL compiler to exploit the new features in the Invocation classes. * tao/IIOP_Transport.cpp: * tao/GIOP.cpp: Cleaned up error propagation. * tao/Environment.cpp: * tao/Connect.cpp: Minor cosmetic fixes. Improved error messages format. * tao/Object.cpp: Reimplemented some methods using the new form of compiled marshaling. Mon Mar 22 17:32:19 1999 Vishal Kachroo * tao/IIOP_ORB.cpp: Removed an extra ACE_DEBUG. * orbsvcs/Time_Service/Server_i.cpp (init): Added a TAO_CHECK_ENV. This came up while I was testing the InterOperable Naming Service on NT. * tao/ORB.cpp (multicast_query): removed the unused variable 'result'. egcs was complaining for this. * tao/orbconf.h: Removed the #defs for IIOPNAME_PREFIX and IIOPLOC_PREFIX. I am not using these anywhere. * tao/ORB.cpp (multicast_query): Removed an unnecessary ACE_DEBUG. Moved the dgram.close () up. Mon Mar 22 17:15:20 1999 Darrell Brunsch * tao/tao.dsp: Added IOR_LookupTable files. * tao/IIOP_ORB.cpp: Fixed a signed/unsigned warning and an error with an ambiguous use of []. Mon Mar 22 16:40:36 1999 Vishal Kachroo * orbsvcs/orbsvcs/Time/TAO_UTO.cpp (TAO_UTO): Included "ace/OS.h". Used ACE_static_cast. Mon Mar 22 16:40:36 1999 Vishal Kachroo The first version of the InterOperable Naming Service is commited. * tao/ORB.cpp: Changed the resolve_initial_references () to check for the ORB params ORBInitRef and ORBDefaultInitRef. resolve_initial_references (): The references are resolved in the following order : 1. ORBInitRef 2. DefaultInitRef 3. Multicast to service. The IORs can be specified in the iiopname or iioploc format. multicast_query (): Sends out a multicast to locate a service (specified by a service name) and receives the response using TCP instead of UDP. The service name and port are sent in the data of the multicast. multicast_to_service (): Calls multicast_query with a service name instead of a service ID. Owns the memory read into in multicast_query (). resolve_naming_service (), resolve_trading_service (): Call multicast_to_service () with a service name instead of a service ID. * tao/IIOP_ORB.h: Added the following APIs to the ORB to access the table of IORs TAO_IOR_LookupTable : _tao_add_to_IOR_table () _tao_find_in_IOR_table (). * tao/IIOP_ORB.cpp: Added the function iioploc_string_to_object(). This function is called by the string_to_object () for iioploc IORs. It creates a multiple profile stub object and then an object reference. The string_to_object () parses the incoming ior to detect an iioploc IOR and then calls the iiooploc_ior_to_string (). Conversion for the iiopname type IORs will be added soon. * tao/ORB_Core.cpp: Added the options -ORBInitRef and -ORBDefaultInitRef. Added the orb parameters init_ref and ior_lookup_table. These parameters are populated based on the commandline options. They are used by the resolve_initial_references () that calls get on these params through the singleton instance of the ORB core. * tao/POA.cpp: Added a TAO_Object_key_prefix (^t^a^o\0). All the changes are within #ifndef (TAO_NO_IOR_TABLE). Changed the parse_key () to skip over the TAO Object key prefix. Changed the create_object_key () to prepend TAO Object key to all generated object keys. * tao/Connect.cpp : Changed the handle_message () to parse the object key in the incoming IIOP request. If the object key is not preceded by ^(TAO)/0 (which is now the default for all usual TAO object keys) then the key is treated as simple and looked up in the IOR table. A LOCATION_FORWARD/NOT_EXIST exception is raised if the key is found/not-found in the table. Currently only the GIOP Request type messages are handled. Similar logic will be added to the GIOP LocateRequest type messages. This will go into the handle_locate method. * orbsvcs/orbsvcs/IOR_Multicast.cpp: Changed the handle_input method to receive a multicast for a service, parse the data for the service name and a reply port. Then use TCP to send back the IOR of the requested service. If the service is other than a "NameService" then the table is looked up for an IOR. The table can be populated through commandline orb parameters and can use iioploc/iiopname format IORs. * tao/Makefile: * tao/IOR_LookupTable.h: * tao/IOR_LookupTable.cpp: This is an abstraction over the hash map manager. It is used by the orb to keep track of the object-id : IOR mappings. The table is owned by the orb and _tao_{add,find}_ior_{to,in}_table are APIs to access it. The APIs take CORBA_Object * as a parameter and stringify it before adding to the table. This takes care of adding only valid IOR strings to the table. * orbsvcs/orbsvcs/Makefile: * orbsvcs/orbsvcs/IOR_LookupTable.h: * orbsvcs/orbsvcs/IOR_LookupTable.cpp: Removed IOR_LookupTable, it is now in $TAO_ROOT/tao. * tao/params.{cpp,h,i}: Added the params init_ref, ior_lookup_table and default_init_ref to the orb core. Also added the GET/SET methods for these. * tao/orbconf.h: Added the protocol prefixes iiopname and iioploc. Mon Mar 22 14:13:17 1999 David L. Levine * tao/Makefile,orbsvcs/orbsvcs/Makefile: added ace_components support for TAO_COMPONENTS and ORBSVCS_COMPONENTS, respectively. This allows other Makefiles to determine which components were built into libTAO and liborbsvcs. Sun Mar 21 22:33:17 1999 Douglas C. Schmidt * tao/ORB_Core.cpp (init): The second call to sock_rcvbuf_size() should be sock_sndbuf_size(). Thanks to Russ Noseworthy for reporting this. Sun Mar 21 21:23:44 1999 Douglas C. Schmidt * TAO version 0.3.15 released. Sun Mar 21 20:52:58 1999 Douglas C. Schmidt * TAO version 0.3.14 released. Sun Mar 21 20:27:37 1999 Carlos O'Ryan * tests/Param_Test/objref.cpp: The test for object references was broken; but only Linux/EGCS triggered the error. Sun Mar 21 15:45:04 1999 Jeff Parsons * tao/GIOP.cpp: Added missing comma in timeprobe message string array. Sun Mar 21 14:47:12 1999 Vishal Kachroo * orbsvcs/orbsvcs/Time/TAO_UTO.cpp (TAO_UTO): Used #ifdef (ACE_LACKS_U_LONGLONG_T) instead of #ifdef (VXWORKS)||(CHORUS) Sat Mar 20 23:38:39 1999 Irfan Pyarali * orbsvcs/orbsvcs/orbsvcs.dsp: * tests/MT_Client/server.dsp: * tests/MT_Client/client.dsp: Fixed some project settings for the above project files. Sat Mar 20 20:27:54 1999 Carlos O'Ryan * tests/MT_Client/MT_Client.dsw: Added projects and workspace for this test, thanks to Irfan for helping me out with it. * tests/MT_Client/README: * tests/MT_Client/run_test.pl: Added canonical files to the example. * tests/MT_Client/client.cpp: Added an error message in case thread creation fails. * orbsvcs/tests/EC_Throughput/ECT_Throughput.cpp: Added a debug message when orb->shutdown() is called. * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp: Removed one method from the Profile classes that was only used here. Used the constructor instead, which is more efficient, anyway. * orbsvcs/tests/ImplRepo/Makefile: Removed call to upper level Makefile, that's not the style we use. Sat Mar 20 19:10:48 1999 Carlos O'Ryan * tao/IIOP_Connector.h: * tao/IIOP_Connector.cpp: * tao/IIOP_ORB.cpp: * tao/IIOP_Profile.h: * tao/IIOP_Profile.i: * tao/IIOP_Profile.cpp: * tao/Invocation.h: * tao/Invocation.cpp: * tao/ORB_Core.h: * tao/ORB_Core.cpp: * tao/Pluggable.h: * tao/Pluggable.cpp: Fixed a nasty concurency problem in the Cached_Connector. The solution is to separate the path to return the new hint and the new Svc_Handler from the Cached_Connector (check the ACE changelog for details). We store the profile and transport used for an invocation in the Invocation object to avoid the same concurrency problems. In this way if another thread changes the profile_in_use() of the stub object that we are using we are not affected. We still need to check that the modifications to the MProfile and to STUB_Object object are thread-safe. Sat Mar 20 15:21:41 1999 Darrell Brunsch * orbsvcs/tests/ImplRepo/nestea_i.cpp: * orbsvcs/tests/ImplRepo/nestea_i.h: Implemented persistance for the number of cans. It saves it to a file. * orbsvcs/tests/ImplRepo/nestea_server.cpp: * orbsvcs/tests/ImplRepo/nestea_server_i.cpp: * orbsvcs/tests/ImplRepo/nestea_server_i.h: Removed leftover references to Paper Airplanes. Sat Mar 20 14:40:10 1999 Darrell Brunsch * examples/Quoter/Factor_Finder.dsp: * examples/Quoter/client.dsp: * examples/Quoter/server.dsp: Removed the generated headers from the projects. I don't think the listing of generated classes in classview is helpful. * examples/Quoter/Quoter_i.h: * examples/Quoter/Quoter_i.cpp: Fixed some warnings. Sat Mar 20 14:28:59 1999 Carlos O'Ryan * tests/Makefile: * tests/MT_Client/Makefile: * tests/MT_Client/client.cpp: * tests/MT_Client/server.conf: * tests/MT_Client/server.cpp: * tests/MT_Client/test.idl: * tests/MT_Client/test_i.cpp: * tests/MT_Client/test_i.h: * tests/MT_Client/test_i.i: New test that runs a MT client using the same object reference is all threads. Notice that this may be a bad idea performance-wise, but it must work correctly. Sat Mar 20 13:38:23 1999 Jeff Parsons * tao/Timeprobe.h: Left some macros uncommented which would lead to link errors when building TAO. Fixed. Sat Mar 20 11:06:16 1999 Douglas C. Schmidt * tao/ORB.cpp (multicast_query): Only print an error message if the TAO_debug level is > 0. Also, make sure to terminate the line with '\n'. Thanks to Russ Noseworthy for reporting this. Sat Mar 20 01:34:28 1999 Jeff Parsons * tao/Timeprobe.h: * tao/CDR.cpp: * tao/Connect.cpp: * tao/GIOP.cpp: * tao/IIOP_Transport.cpp: * tao/Invocation.cpp: * tao/Operation_Table.cpp: * tao/ORB.cpp: * tao/POA.cpp: * tao/Servant_Base.cpp: * tao/Server_Request.cpp: * tao/Stub.cpp: Renamed the timeprobe macros that are pertinent to the pluggable protocols test and added a macro to Timeprobe.h that turns off all the others. Fri Mar 19 22:04:55 1999 Irfan Pyarali * tao/decode.cpp (decode): When decoding an Any we need to create a Message_Block, use append() to copy the contents of the CDR stream and then store the message block into the any for later decoding (when we either use DynAny or we have enough static information). The manipulation of the Message_Block was incorrect: the data was copied using an OutputCDR stream, that copies the contents but acts on a duplicate of the Message_Block, thus, it does not update the wr_ptr() and rd_ptr(). We corrected this problem and things are happy again. * examples/POA/DSI/Database_i.h (class DatabaseImpl): Switched the memory allocator to be a local one rather than a persistent one. Fri Mar 19 19:15:56 1999 Carlos O'Ryan * tao/Stub.h: * tao/IIOP_ORB.h: * Benchmark/Marshal_Test/TAO/tao_marshal_impl.cpp: * Benchmark/Marshal_Test/TAO/marshalS.cpp: * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp: * utils/catior/catior.cpp: Removed last references to IIOP_Object. Fri Mar 19 17:55:47 1999 Jeff Parsons * tao/CurrentC.h: * tao/DynAnyC.h: * tao/PolicyC.h: * tao/POAC.h: * tao/Object_KeyC.h: Added the _ptr_type and _var_type typedefs for these non-regenerated classes. Thanks to Carl Grinstead and James A. Risinger for pointing out the oversight. Fri Mar 19 14:56:59 1999 Carlos O'Ryan * tao/corbafwd.h: * tao/CDR.h: * tao/CDR.cpp: * tao/Connect.cpp: * tao/GIOP.cpp: * tao/IIOP_ORB.cpp: * tao/Invocation.h: * tao/Invocation.i: * tao/Invocation.cpp: * tao/Typecode.cpp: * tao/decode.cpp: * orbsvcs/orbsvcs/AV/sfp.cpp: * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.i: * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp: * utils/catior/Makefile: * utils/catior/catior.cpp: The CDR class changed to ACE_CDR. * TAO_IDL/util/utl_global.cpp: By default we must generate "tao/corba.h" instead of ; in other words the compiler behaves as if the if the "-in" option was used. * TAO_IDL/driver/drv_args.cpp: Added an error message if the -i option is missused, only -ic and -in are valid. * Updated the dependencies since to exploit the change in the generate #includes. Fri Mar 19 14:27:58 1999 Jeff Parsons * TAO/examples/POA/DSI/Database_i.cpp: Changed DatabaseImpl::Entry::_is_a() to use >>= before comparing arg values. This slows down the test code, but TAO defers populating the void* field of the Any until necessary (most of the time ;-)), which speeds up everything else. Fri Mar 19 14:20:58 1999 Jeff Parsons * tao/Server_Request.cpp: Fixed an incorrect (and on closer inspection, unnecessary) use of TAO_CHECK_ENV. Also added a release() for a newly allocated (and immedialtely duplicated) message block. Fri Mar 19 01:19:16 1999 Jeff Parsons * tao/Server_Request.h: Typo in comments. * tao/Server_Request.cpp: Fixed IIOP_Server_Request::arguments(), which was totally broken, with a change suggested by Carlos. 1999-03-18 Seth Widoff * orbsvcs/orbsvcs/Trader/Trader_Interfaces.cpp: Returning from a query where the request_id had been seen wasn't allocating memory for the out parameters. This was causing an unwholesome seg fault. Thanks to Pradeep Gore for discovering this. Thu Mar 18 21:06:58 1999 David L. Levine * tao/Server_Strategy_Factory.cpp (Active_Object_Map_Creation_Parameters): removed extraneous semicolon following the function definition. 1999-03-18 Seth Widoff * orbsvcs/Trading_Service/Trading_Service.cpp: On Linux, the get_host_name call added the domain name complete with dots. Since I'm using the hostname as part of the link identifiers for the trader federation, dots are bad. I changed the dots to underscores. * orbsvcs/tests/Trader/Offer_Importer.cpp: * orbsvcs/tests/Trader/Offer_Exporter.cpp: * orbsvcs/tests/Trader/Service_Type_Exporter.cpp: Some vestigial TAO_HAS_OBJECT_IN_STRUCT_MARSHAL_BUG code was being compiled and screwing up the exporter_test for federated exports. That code has been vanquished. Thu Mar 18 16:43:44 1999 Marina Spivak * orbsvcs/tests/Simple_Naming/client.cpp (execute): fixed NT warnings in two Naming Service tests. Thu Mar 18 15:41:08 1999 Darrell Brunsch * orbsvcs/tests/ImplRepo/run_test.pl: Fixed spelling error and reorganized both_ir test. Thu Mar 18 12:32:02 1999 Ossama Othman * orbsvcs/tests/Property/client.cpp (test_delete_property, test_get_property_value): Fixed warnings about unused arguments. Fixed conversion from `CORBA_Object_var' to non-scalar type `CORBA_Any::to_object' problem. Thanks to Jeff for helping me out on this. Thu Mar 18 01:54:09 1999 Irfan Pyarali * tao/POAC.h: Fixed all the _out copy constructors to prevent warnings. Wed Mar 17 23:39:44 1999 Marina Spivak * orbsvcs/orbsvcs/IOR_Multicast.cpp (handle_input): 1) Made the server send only 1 reply in response to multicast, since the client (ORB.cpp) was modified to use multiple attempts, i.e., it's the responsibility of the client to attempt to insure 'reliability', server just replies once. 2) If replying to a multicast fails, the multicast handler is *not* deregistered from the reactor, unless we get some really bad errno. This needs to be further refined. This fixes the bug on Linux servers of multicast not working properly. Thanks to Seth Widoff for tracking this down. Wed Mar 17 22:53:33 1999 Irfan Pyarali * tao/POA.cpp: Phase one of the new POA design is complete. - We now have support for active demuxing of user defined ids. This is achieved by using a active demux hint field in the object key. - We have support for reactivating servants with system generated ids. In this case, system ids are simply generated by incrementing a counter. Note that in this case, the id -> servant map is a hash map since active demux keys cannot be reused once deactivated. However, the good news is that the active demux key can be used as the hint in the object key. - The use of the hint in the object key is optional. If used, the lookups are faster (unless the hint is invalidated by a deactivation or by restarting a persistent POA). However, using the hint results in a larger IOR, and more memory being used in the active object map. This option can be controlled through the -ORBactivehintinids runtime switch and is turned on by default. - If the applications knows that reactivations will not occur, they can simply use the old scheme of directly using the active demux key as the system id. This will (a) make the IOR shorter, (b) less memory will be used in the active object map, and (c) the lookups will be quicker and (more) predictable. - Etherialization of servants (through the use of a Servant Activator) is temporarily disabled. Once we fix the reference counting on the servants, this will start working again. - Removed the POA exceptions from the list of system exceptions, and reverted them back to being user exceptions. - Timestamps are no longer used in persistent object keys. - Removed the TAO specific synchronization POA policy. In the new POA design, this scheme will not be required. Also, removed the POA locking example in $TAO_ROOT/examples/POA/locking. * examples/POA/Identity/: Added new example to test a whole bunch of conversions from servant to id to reference. The example is designed to test the new POA IOR creation and its Active Object Map. * tao: Added support for minimalCORBA to TAO. For some applications CORBA is too large to meet exacting size and performance requirements. Such scenarios require a cut-down version of CORBA. This cut-down version is called minimumCORBA. minimumCORBA defines a profile (or subset) of CORBA where the following features are removed: - Dynamic Invocation Interface - Dynamic Skeleton Interface - Dynamic Any - Interface Repository - Interceptors - Advance POA features: - Servant Managers - Adaptor Activators - Most POA Manager features On platforms that use the Makefiles, simply minimum_corba=1. On Win32, define TAO_HAS_MINIMUM_CORBA in the orbconf.h file. * tao/Makefile: Added support for measuring subsets of TAO. These subsets are not independent, but are useful in providing an idea of how big different components of the ORB are. * tao/Server_Strategy_Factory.cpp: Remove the active object map creation responsibilities from this class. Now it simply holds on to the creation parameters and feeds them to the active object map constructor. * tao/Sequence_T.i (operator->): Added operator-> to TAO_Object_Manager. Also, made the in() method return a non-const pointer. Missing still is operator= taking T::var_type. Other managers should also be check for these features (Carlos said he'll look into it). * examples/POA/Loader/run_test.pl: * examples/POA/On_Demand_Loading/run_test.pl: * examples/POA/On_Demand_Activation/run_test.pl: - We now have support for active demuxing of user defined ids. This is achieved by using a active demux hint field in the object key. - We have support for reactivating servants with system generated ids. In this case, system ids are simply generated by incrementing a counter. Note that in this case, the id -> servant map is a hash map since active demux keys cannot be reused once deactivated. However, the good news is that the active demux key can be used as the hint in the object key. - The use of the hint in the object key is optional. If used, the lookups are faster (unless the hint is invalidated by a deactivation or by restarting a persistent POA). However, using the hint results in a larger IOR, and more memory being used in the active object map. This option can be controlled through the -ORBactivehintinids runtime switch and is turned on by default. - If the applications knows that reactivations will not occur, they can simply use the old scheme of directly using the active demux key as the system id. This will (a) make the IOR shorter, (b) less memory will be used in the active object map, and (c) the lookups will be quicker and (more) predictable. - Etherialization of servants (through the use of a Servant Activator) is temporarily disabled. Once we fix the reference counting on the servants, this will start working again. - Removed the POA exceptions from the list of system exceptions, and reverted them back to being user exceptions. - Timestamps are no longer used in persistent object keys. - Removed the TAO specific synchronization POA policy. In the new POA design, this scheme will not be required. Also, removed the POA locking example in $TAO_ROOT/examples/POA/locking. * examples/POA/Identity/: Added new example to test a whole bunch of conversions from servant to id to reference. The example is designed to test the new POA IOR creation and its Active Object Map. * tao: Added support for minimalCORBA to TAO. For some applications CORBA is too large to meet exacting size and performance requirements. Such scenarios require a cut-down version of CORBA. This cut-down version is called minimumCORBA. minimumCORBA defines a profile (or subset) of CORBA where the following features are removed: - Dynamic Invocation Interface - Dynamic Skeleton Interface - Dynamic Any - Interface Repository - Interceptors - Advance POA features: - Servant Managers - Adpator Activators - Most POA Manager features On platforms that use the Makefiles, simply minimum_corba=1. On Win32, define TAO_HAS_MINIMUM_CORBA in the orbconf.h file. * tao/Makefile: Added support for measuring subsets of TAO. These subsets are not independent, but are useful in providing an idea of how big different components of the ORB are. * tao/Server_Strategy_Factory.cpp: Remove the active object map creation responsibilities from this class. Now it simply holds on to the creation parameters and feeds them to the active object map constructor. * tao/Sequence_T.i (operator->): Added operator-> to TAO_Object_Manager. Also, made the in() method return a non-const pointer. Missing still is operator= taking T::var_type. Other managers should also be check for these features (Carlos said he'll look into it). * examples/POA/Loader/run_test.pl: * examples/POA/On_Demand_Loading/run_test.pl: * examples/POA/On_Demand_Activation/run_test.pl: Fixed the above scripts to pass the extra parameters along to the client and the server. * examples/POA/DSI/server.cpp: Added missing #include "ace/Get_Opt.h" Wed Mar 17 19:36:31 1999 Vishal Kachroo Fixed compilation errors for VxWorks and CHORUS. Used the constructor of ACE_ULongLong (UINT32, UINT32) for VxWorks which doesnt have an unsigned long long. * orbsvcs/orbsvcs/Time/Timer_Helper.cpp (handle_timeout) * orbsvcs/orbsvcs/Time/TAO_UTO.cpp (TAO_UTO). Wed Mar 17 19:00:14 1999 Nanbor Wang * performance-tests/Cubit/TAO/MT_Cubit/Globals.h: FreeBSD also needs to get SCHED_PRIORITY at runtime. Thanks to Russell L. Carter for reporting this. Wed Mar 17 14:47:32 1999 Jeff Parsons * TAO/docs/releasenotes/orbcore.html: Added an entry about the new Context stuff and removed one about DynAnys being "in progress". Wed Mar 17 14:26:14 1999 Darrell Brunsch * orbsvcs/tests/ImplRepo/airplane_i.cpp: * orbsvcs/tests/ImplRepo/nestea_i.cpp: Removed the #include "time.h" from these files. They shouldn't be needed there. Wed Mar 17 13:33:49 1999 Jeff Parsons * tao/Context.i: Removed definition of is_nil(). Must have been pasted in by mistake. Anyway, our Contexts are always nil, so we don't need it. Wed Mar 17 13:14:16 1999 Jeff Parsons * tao/Any.cpp: Added a check for NULL ACE_Message_Block pointer in _tao_replace(). * tao/Request.i: Type in comments. *tao/Context.{h,i,cpp}: New files for our minimal Context support, basically just so Object::_create_request() can be compliant. * tao/Object.{h,cpp}: * tao/corbafwd.h: * tao/corba.h: * tao/TAO.dsp: * tao/Makefile: Other files that needed additions for Context support. * TAO/tests/param_test/client.cpp: * TAO/Benchmark/Marshal_Test/TAO/tao_marshal_client.cpp: Test files that use _create_request() and so needed the added Context arg in the calls. Wed Mar 17 12:28:32 1999 Jeff Parsons * TAO/performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Client.cpp: Fixed a cut-and-paste error. Thanks to Greg Holtmeyer for pointing this out. Wed Mar 17 11:32:01 1999 Balachandran Natarajan * tests/Param_Test/objref.cpp * tests/Param_Test/ub_objref_seq.cpp: Fixed warnings from the build. Wed Mar 17 10:05:15 1999 Douglas C. Schmidt * tao/GIOP: Replaced *IIOP_LITE* with *GIOP_LITE* since we've renamed this. * tao/GIOP.cpp (recv_request): Replaced the magic number 5 with TAO_IIOP_LITE_HEADER_LEN. Thanks to the ever vigilant Mark Boriak for reporting this. Wed Mar 17 08:39:59 1999 David L. Levine * TAO version 0.3.13 released. Wed Mar 17 02:06:47 1999 Douglas C. Schmidt * TAO version 0.3.12 released. Tue Mar 17 01:01:57 1999 Irfan Pyarali * tao/Object.cpp (_non_existent): * TAO_IDL/be/be_visitor_operation/operation_cs.cpp (gen_marshal_and_invoke): <_invoke_status> should be set before use (at least according to g++). * orbsvcs/orbsvcs/Time/TAO_UTO.cpp (TAO_UTO): Changed attr_utc_time_.inacchi> to 0 since the conversion routines Vishal used are not supported on vxworks. Vishal should consult David in fixing this correctly. * orbsvcs/orbsvcs/Time/Timer_Helper.cpp (handle_timeout): Also changed to 0. Vishal should fix this also. Tue Mar 16 15:52:57 1999 David L. Levine * tao/POAManager.i (lock): moved function definition before inline activate (), because that function uses it. Tue Mar 16 15:41:13 1999 Balachandran Natarajan * tests/Param_Test/*.cpp Made them exception safe using the latest ACE_TRY macros. Had a bunch of code which did not handle exception. Added code so that they are exception safe.. Tue Mar 16 15:34:29 1999 David L. Levine * examples/Simple/bank/AccountManager_i.cpp: removed ACE_Hash and ACE_Equal_To explicit template instantiations, because they're in tao/POA.cpp. Thanks to Wei Chiang for reporting this. 1999-03-16 Nagarajan Surendran * tao/Server_Request.cpp: Removed a continue statement in the marshal method since it prevented an exception from getting printed on the server side if the idl method had no arguments and only a return value. Tue Mar 16 02:25:56 1999 Jeff Parsons * TAO_IDL/be/be_visitor_union_branch/private_ch.cpp: A line of code was being generated without an ending semicolon. Tue Mar 16 00:26:01 1999 Jeff Parsons * tao/Server_Request.cpp: Used Any::_tao_get_cdr() in init_reply() instead of casting to ACE_Messsage_Block* the return of Any::value(). Also streamlined dsi_marshal(), again based on the use of Any::_tao_get_cdr(). * tao/Any.cpp: Changed the constructor from ACE_Message_Block* to set the value of any_owns_data_ to 0, since the value_ of this Any is 0, so we want the value() call to return the cdr_. Mon Mar 15 21:08:55 1999 Jeff Parsons * tao/POAC.cpp: Replaced all the <<= and >>= with newer versions generated by the latest TAO IDL compiler. Mon Mar 15 19:09:35 1999 Irfan Pyarali * tao/TAO.cpp (run): Added the other run() methods to the ORB_Manager. Thanks to Jean-Marc Strauss for pointing this out. Mon Mar 15 02:27:05 1999 Nanbor Wang * tao/Environment.{h,cpp}: * tao/Exception.h: * tao/IIOP_Profile.{h,i}: Removed all FLICK specific code. Thanks very much to Tim Stack for removing the dependency from FLICK. Mon Mar 15 17:35:14 EST 1999 Aniruddha Gokhale * TAO_IDL/be/be_visitor_field/field_ch.cpp (visit_predefined_type): * TAO_IDL/be/be_visitor_union_branch/private_ch.cpp (visit_predefined_type): For struct/union members that are object references, we always generate the TAO_Object_Field_T parametrized type. Earlier we were generating CORBA::Object_var if the member was of the type CORBA::Object and the parametrized type for interfaces. However, this was causing runtime errors in the (de)marshaling engine. * tao/{encode, decode}.cpp (TAO_Marshal_Struct::{encode,decode}): Members that are simple CORBA::Object_ptr and not a user defined interface type is also treated in the same way as if it was an interface type. Thus, we can treat everything as a TAO_Object_Field_T* type. Mon Mar 15 15:27:34 1999 Darrell Brunsch * orbsvcs/LifeCycle_Service/Life_Cycle_Service.cpp: * orbsvcs/LifeCycle_Service/Life_Cycle_Service.h: * orbsvcs/LifeCycle_Service/Life_Cycle_Service_i.cpp: * orbsvcs/LifeCycle_Service/Life_Cycle_Service_i.h: Renamed to the following to have a more consistent naming scheme. * orbsvcs/LifeCycle_Service/LifeCycle_Service.cpp: * orbsvcs/LifeCycle_Service/LifeCycle_Service.h: * orbsvcs/LifeCycle_Service/LifeCycle_Service_i.cpp: * orbsvcs/LifeCycle_Service/LifeCycle_Service_i.h: New file names. * orbsvcs/LifeCycle_Service/LifeCycle_Service.dsp: * orbsvcs/LifeCycle_Service/Makefile: Uses the new names. Mon Mar 15 02:27:05 1999 Nanbor Wang * tao/POAManager.i: Fixed typos. * tao/POAManager.h: Added include 'poa_macros.h'. Mon Mar 15 10:48:39 1999 Carlos O'Ryan * tests/Param_Test/except.cpp: Fixed throw expression. In platforms that support native C++ exceptions the right way to throw is TAO_THROW(Foo()); not TAO_THROW(Foo). Of course the form proposed works in platforms without native C++ exceptions too. Mon Mar 15 10:42:27 EST 1999 Aniruddha Gokhale * tao/POAManager.{h,i,cpp}: There were some compile errors in teh changes that Nanbor made. There was a need to include the poa_macros.h file and change "env" to "ACE_TRY_ENV". * tao/encode.cpp (Alias::encode): The "data" parameter was first cast to char* and then passed to stream->encode. Instead, we now pass data itself. I am not sure, however, if this will fix some of the runtime errors we are getting in the Trading Service. Mon Mar 15 02:27:05 1999 Nanbor Wang * tao/POA.{h,cpp}: Applied "some" ACE try macros into POA. (etherealize_servants): Moved the function out of destroy method. * tao/POAManager.{h,i,cpp} (remove_poa): Removed the POAManager if there is no more POA under this POAManager's control. The current implementation may cause potential race condition when one thread hold the lock to remove the last POA and another thread is blocked the POAManager's lock and is trying to add another POA into this POAManager. This should be solved by refcounting the POAMnanger's usage but currently, POA uses TAO_POA_Manager directly... * tao/POAManager.{h,i,cpp} (deactivate_i): According to the spec., this function should etherealize servants in the managing POAs and wait for request completion instead of destroying the POAs. (activate_i,hold_requests_i,discard_requests_i,deactivate_i): Added these no-lock functions. Sun Mar 14 18:05:51 1999 Balachandran Natarajan * tests/Param_Test/*.h * tests/Param_Test/*.cpp: Made the changes that are necessary because of the previous changes to the tao/Request.* Sun Mar 14 14:58:51 1999 Balachandran Natarajan * tao/Request.i: * tao/Request.cpp: * tao/Request.h: Changed the arguments of two method call in the Request class. They are send_oneway () and invoke (). They now take in the environment variable ACE_TRY_ENV that should be passed in from the application. These methods were using a variable env_ stored in the class itself. The variable env_ has also been removed thus necesitating the users of the API to send their own environment variables that should be theoretically in a TRY block. * performance-tests/Cubit/TAO/DII_Cubit/client.cpp: Made the changes that is a fallout of the above changes.. Sun Mar 14 14:13:22 19 99 Vishal Kachroo * orbsvcs/orbsvcs/Time/Timer_Helper.cpp (handle_timeout): Fixed warnings reported by David and Carlos for g++/egcs. Replaced the constant 0xFFFFFFFFFFFFFFFF with 0xFFFFFFFFFFFFFFFFull and for platforms lacking Ulonglong, called the constructor of ACE_U_LongLong. * orbsvcs/orbsvcs/Time/Timer_Helper.cpp (handle_timeout): Added the ACE_UINT64_LITERAL () to fix an NT warning. Sat Mar 13 23:35:01 1999 Pradeep Gore * orbsvcs/tests/CosEC_Basic/CosEC_Basic.cpp: * orbsvcs/tests/CosEC_Basic/CosECConsumer.cpp: * orbsvcs/tests/CosEC_Multiple/CosEC_Multiple.cpp: * orbsvcs/tests/CosEC_Multiple/CosECConsumer.cpp: * orbsvcs/CosEvent_Service/CosEvent_Service.cpp: fixed minor compile warnings regarding "statements not reached", "unused parameters", and using .in (). Sat Mar 13 23:33:14 1999 David L. Levine * tao/Object.cpp: removed trailing semicolons from instantiation pragmas. Sat Mar 13 21:53:57 1999 Vishal Kachroo * Added the Inaccuracy measure to the time returned by a Universal Time Object (UTO). The inaccuracy is a 64 bit number broken into inacchi and inacclo as: Inaccuracy 64-bits |------------------------------------| | | inacchi | inacclo | |------------------------------------| 16-bits 16-bits 32-bits The current measure of inaccuracy is the skew in synchronization of the clerk's time. It is the difference in the largest and smallest times from servers that the clerk syncs its time with. The inaccuracy is dynamically updated with every time synchronization cycle. * orbsvcs/orbsvcs/Time/Timer_Helper.cpp (handle_timeout): Added the logic to calculate the inaccuracy from the times returned by servers. * orbsvcs/orbsvcs/Time/TAO_Time_Service_Clerk.cpp: Constructed the Inaccuracy within UTO from the hi,lo values in UTC struct in uto_from_utc(). Filled the UTO with the current inaccuracy estimate in universal_time (). Added the GET/SET methods for the inaccuracy. * orbsvcs/orbsvcs/Time/TAO_Time_Service_Clerk.h: Added a class variable for inaccuracy estimate and the declarations for the GET/SET methods. These are used by the Timer_Helper class to set the inaccuracy. * orbsvcs/orbsvcs/Time/TAO_UTO.cpp: Changed the constructor to initialise the UTO inacchi and inacclo with properly extracted bits from the given inaccuracy. Rewrote the GET method for inaccuracy to construct the inaccuracy from the UTC struct hi,lo values. This was previously being returned as just the addition of hi and lo values. * orbsvcs/tests/Time/Client_i.cpp : Changed the test to test for the newly added inaccuracy and timezone information in the UTO time. * orbsvcs/Time_Service/README : Updated to include this addition in the Time Service. Thanks to Brian Dance for reporting this. Sat Mar 13 11:58:27 1999 Carlos O'Ryan * orbsvcs/tests/EC_Mcast/EC_Mcast.cpp: Removed unused variable, thanks to David Levine for reporting this. * TAO-INSTALL.html: Updated the notes on how to compile TAO. * orbsvcs/orbsvcs/orbsvcs_static.dsp: Added the new event channel files to the static library. Also removed some old files that are no longer used (Event/Task_Manager.cpp) thanks to Francois Bernier for reporting this problem. Sat Mar 13 11:57:27 1999 Douglas C. Schmidt * tao/ORB.cpp (ORB_init): Revised the multicast_query() stuff just a bit to make it easier to maintain. Sat Mar 13 00:44:51 1999 Douglas C. Schmidt * TAO version 0.3.11 released. Fri Mar 12 20:48:00 1999 Carlos O'Ryan * orbsvcs/tests/ImplRepo/IR_Helper.cpp: Fixed improper use of TAO_RETHROW macros. * tao/Invocation.cpp: Fixed problem in location forwarding, the test for errors while demarshaling the new object reference was inverted. Fri Mar 12 19:51:36 1999 Carlos O'Ryan * TAO_IDL/be/be_visitor_operation/operation_cs.cpp: Fixed some bugs with forwarding support in void functions without output arguments. * tao/Object.cpp: Fixed warning about unused variable. Fri Mar 12 18:09:25 1999 Carlos O'Ryan * TAO_IDL/be/be_visitor_interface/cdr_op_cs.cpp: Removed warnings in generated code. * TAO_IDL/be/be_helper.cpp: Cosmetic changes. Fri Mar 12 16:17:40 1999 Darrell Brunsch * orbsvcs/tests/ImplRepo/client.cpp: * orbsvcs/tests/ImplRepo/client.dsp: * orbsvcs/tests/ImplRepo/client_impl.cpp: * orbsvcs/tests/ImplRepo/client_impl.h: * orbsvcs/tests/ImplRepo/server.cpp: * orbsvcs/tests/ImplRepo/server.dsp: * orbsvcs/tests/ImplRepo/server_impl.cpp: * orbsvcs/tests/ImplRepo/server_impl.h: * orbsvcs/tests/ImplRepo/Simple_Object.idl: * orbsvcs/tests/ImplRepo/simple_object_impl.cpp: * orbsvcs/tests/ImplRepo/simple_object_impl.h: Removed the Simple Test. * orbsvcs/tests/ImplRepo/Nestea.idl: * orbsvcs/tests/ImplRepo/nestea_client.cpp: * orbsvcs/tests/ImplRepo/nestea_client.dsp: * orbsvcs/tests/ImplRepo/nestea_client_i.cpp: * orbsvcs/tests/ImplRepo/nestea_client_i.h: * orbsvcs/tests/ImplRepo/nestea_i.cpp: * orbsvcs/tests/ImplRepo/nestea_i.h: * orbsvcs/tests/ImplRepo/nestea_server.cpp: * orbsvcs/tests/ImplRepo/nestea_server.dsp: * orbsvcs/tests/ImplRepo/nestea_server_i.cpp: * orbsvcs/tests/ImplRepo/nestea_server_i.h: Added the new Nestea Bookshelf test. * orbsvcs/tests/ImplRepo/README: * orbsvcs/tests/ImplRepo/run_test.pl: * orbsvcs/tests/ImplRepo/ImplRepo.dsw: Changed because of the new test. * orbsvcs/tests/ImplRepo/IR_Helper.cpp: * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp: * orbsvcs/ImplRepo_Service/ImplRepo_i.h: Now uses ACE exception handling macros. * orbsvcs/tests/ImplRepo/airplane_client_i.cpp: Added the -k option for IOR input. Fri Mar 12 14:11:28 1999 Fred Kuhns * ORB.h, ORB.cpp and orbconf.h: Fixed multicast problem. Removed dynamic memory allocation in multicast_query () and now pass a pointer to a buffer allocated on the stack in multicast_to_service (). Also added a macro TAO_DEFAULT_MULTICAST_SEND_ATTEMPTS = 2. This control the number of attempts multicast)query () will make to get a response. Also moved a call to multicast.close () to after to attempt loop. It seems when multicast.close () is called the reply packet from the server is lost on solaris hosts. By moving this to after the recv the packets are now read on the first recv. Fri Mar 12 12:23:07 1999 Vishal Kachroo * orbsvcs/orbsvcs/Time/Timer_Helper.cpp (handle_timeout): Retrieved the timezone information and set the time displacement factor for the clerk's time. * orbsvcs/orbsvcs/Time/TAO_Time_Service_Clerk.h : Added the GET/SET methods for the time displacement factor. * orbsvcs/orbsvcs/Time/TAO_Time_Service_Clerk.cpp : Added implementation for the above methods. Passed the time zone information to the UTO created in universal_time (). The timer_helper uses the newly added timezone wrappers of OS.h. These wrappers are yet to be tested on NT. Thanks to Brian Dance for reporting this. Fri Mar 12 10:38:18 EST 1999 Aniruddha Gokhale * tao/CDR_Interpreter.cpp: setup_entry for objrect references required TAO_Object_Field_T as the first parameter instead of CORBA_OBject_ptr for the accurate size computation. Thanks to Alexey Gadzhiev for reporting the bug and supplying us with a test program and other information to help us fix the bug. * tao/{encode, decode, deep_free}.cpp: In encode/decode/deep_free for structures, for the case where we are dealing with fields that are object references, we cast the data to TAO_Object_Field_T* instead of simply TAO_Object_Field*. These changes were made during the bug fix described aove. These fixes also removed the Array Bounds Read (ABR) error message produced by Purify. Fri Mar 12 00:35:47 1999 Marina Spivak * orbsvcs/orbsvcs/IOR_Multicast.cpp Fixed the problem of client not being able to resolve Naming Service ior through multicast when client and server are run on different hosts. Thanks to Steve Totten for tracking down since when this was broken, and to Carlos O'Ryan for providing hypotheses as to why. Made the server wait a little bit before sending a reply to the multicast as well as send a reply several times. This 1) gives client a chance to start listening for a reply, 2) provides a better protection against packet loss. (The problem was occuring because the server sent a reply before the client had a chance to start receiving. This was happening due to the added dynamic memory allocation in the client code in the interval between multicast_send and reply_receive). A more flexible policy-based solution should be added (as opposed to hardcoding intervals and retries). This will probably be a part of Vishal's upcoming Interoperable Naming Service changes. Values encoded in the code now should work for most platforms/networks. However, they are not guaranteed to work for all! Part of the problem is that UDP is unreliable, so in theory can be retransmitted 100 times and still not work. Also, specific network configurations (busy network, busy hosts, old routers, etc.) may have special needs. Again, this should be better addressed once hardcoded values are replaced by flexible policies. Thu Mar 11 22:49:35 1999 Marina Spivak * tao/ORB.cpp (multicast_query): INET_Addr::get_port_number () returns a port number converted to host byte order. Made changes to account for that. * orbsvcs/orbsvcs/IOR_Multicast.cpp: Made sure that upon the receipt of the multicast packet, the reply was sent to the port indicated in the array contained in the packet as opposed to the port from which the packet came from. Thu Mar 11 20:41:39 1999 Douglas C. Schmidt * orbsvcs/orbsvcs/IOR_Multicast.cpp: There were some major inconsistencies with byte order conversions. * tao/ORB.cpp (multicast_query): Fixed some subtle bugs with multicast. First, we were sending a struct when we should have been sending an array (due to portability issues with struct padding). Second, we weren't being consistent with ACE macros. * tao/ORB.cpp (multicast_query): There was a read of BUFSIZ where there should have been a read of ACE_MAX_DGRAM_SIZE. Thanks to Marina for noticing this. Thu Mar 11 20:46:04 1999 Marina Spivak * orbsvcs/tests/Simple_Naming/client.cpp: In the CosNaming_Client::init () changed // Initialize ORB. is->orbmgr_.init (argc, argv, TAO_TRY_ENV); to // Initialize ORB. this->orbmgr_.init (this->argc_, this->argv_, TAO_TRY_ENV); to facilitate proper processing of the arguments. Thu Mar 11 19:55:18 1999 Carlos O'Ryan * tao/Object.cpp: Fixed template instantiations and some warnings. * tao/encode.cpp: Removed unused variable. * tests/Param_Test/run_test.pl: Use IOR object references, they are actually easier than URL-style. Thu Mar 11 19:07:20 1999 Carlos O'Ryan * tao/CDR.h: * tao/CDR.cpp: * tao/Connect.cpp: * tao/Exception.cpp: * tao/IIOP_ORB.cpp: * tao/IIOP_Profile.h: * tao/IIOP_Profile.i: * tao/IIOP_Profile.cpp: * tao/MProfile.h: * tao/MProfile.i: * tao/Object.h: * tao/Object.i: * tao/Object.cpp: * tao/Pluggable.h: * tao/Server_Request.cpp: * tao/Stub.h: * tao/Stub.i: * tao/decode.cpp: * tao/encode.cpp: Implemented compiled marshaling and demarshaling of object references. Removed uses of do_static_call() from the CORBA::Object class in favor of compiled marshaling. Removed several uses of interpretive marshaling, we can use compiled marshaling now. * tests/Param_Test/run_test.pl: The client cleanly shutdowns the server now. Thu Mar 11 16:36:34 1999 Jeff Parsons * TAO_IDL/be/be_visitor_interface/interface_ch.cpp: Fixed code generation of _ptr_type and _var_type typedefs to include a guard against certain versions of g++. Thu Mar 11 14:30:05 1999 Carlos O'Ryan * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp: Check for error in call to Repository::get_hostport * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Client.cpp: Enabled test for unions and the RTI data structure. Thu Mar 11 13:59:05 1999 David L. Levine * tao/Any.{i,cpp} (operator<<=): un-inlined, to avoid use of inline CORBA::string_dup () before definition. Thu Mar 11 13:43:12 1999 Carlos O'Ryan * TAO_IDL/util/utl_global.cpp: Enabled compiled marshaling by default (again). * TAO_IDL/be/be_visitor_operation/operation_cs.cpp: Fixed generated code to handle location forwarding. * tao/Invocation.cpp: Minor cosmetic fixes. * orbsvcs/tests/ImplRepo/airplane_client_i.cpp: We don't abort on the first exception, instead we keep trying. We also clear the environment before making a request. Wed Mar 10 16:43:55 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Event/EC_Timeout_Filter.h: * orbsvcs/orbsvcs/Event/EC_Timeout_Filter.i: * orbsvcs/orbsvcs/Event/EC_Timeout_Filter.cpp: * orbsvcs/orbsvcs/Event/EC_Timeout_Generator.cpp: The type of event generated by the filter is can be passed in the Filter constructor. This is also used to control if the event is a one shot timeout or an interval timeout. * orbsvcs/orbsvcs/Event/EC_Basic_Filter_Builder.cpp: We must create a Timeout_Filter for events of type ACE_ES_TIMEOUT_EVENT too. The type of event is passed to the Timeout_Filter. * orbsvcs/orbsvcs/Event/EC_ProxySupplier.cpp: Only push events if the consumer is not disconnected. * orbsvcs/orbsvcs/Event/EC_ProxyPushSupplier_Set_T.cpp: Fixed memory managment bug. * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.h: * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp: The UDP gateway does not require an scheduler, it can be argued that it cannot use an scheduler because UDP is not suitable for hard real-time systems. * orbsvcs/tests/EC_Mcast/EC_Mcast.h: * orbsvcs/tests/EC_Mcast/EC_Mcast.cpp: Removed scheduler and some includes related to the old EC. * orbsvcs/orbsvcs/Event/EC_ProxyPushSupplier_Set.h: Work around horrible g++ 2.7.2 bug with forward declaration of templates. * orbsvcs/orbsvcs/Event/EC_ObserverStrategy.h: Also fixed a couple of g++ 2.7.2 warnings, that look like compiler bugs to me. * tao/decode.cpp: Updated some comments in the object reference decoder. * tests/CDR/allocator.cpp: Minor cosmetic fixes. Wed Mar 10 10:43:08 EST 1999 Aniruddha Gokhale * TAO_IDL/fe/idl.yy: The front-end was incorrectly handling "const" definitions of type strings. Thanks to Yaolong Lan (lyaolong@cs.sunysb.edu) for reporting the problem. * TAO_IDL/fe/{y.tab.cpp, y.tab.h, lex.yy.cpp}: Regenerated since idl.yy was modified. Tue Mar 9 20:01:40 1999 Ossama Othman * examples/Simulator/DOVEMIB/Makefile: * examples/Simulator/Event_Supplier/Makefile: * orbsvcs/Naming_Service/Naming_Service.dsp: * orbsvcs/tests/AVStreams/benchmark/Makefile: * orbsvcs/tests/AVStreams/server_discovery/Makefile: * performance-tests/Demux/Makefile: * performance-tests/POA/Object_Creation_And_Registration/Makefile: * tao/Makefile: * tao/ORB.cpp: * tao/TAO.dsp: * tao/TAO4.mak: * tao/TAO_Static.dsp: * tao/Typecode.cpp: * tao/tao.bld: Updated these files to use the newly renamed CDR_Interpreter classes and files. * tao/IIOP_Interpreter.h * tao/IIOP_Interpreter.cpp Renamed these files to: * tao/CDR_Interpreter.h * tao/CDR_Interpreter.cpp All references to IIOP_Interpreter have been changed to CDR_Interpreter since "IIOP_Interpreter" is no longer an accurate name for the classes and files in question. Tue Mar 9 19:58:54 1999 Nanbor Wang * tao/POA.{h,cpp}: * tao/Makefile: * tao/TAO[_Static].dsp: * tao/POAManager.{h,i,cpp}: Moved POA_Manager implementation to separate files. Tue Mar 9 15:40:06 1999 Jeff Parsons * TAO/tests/Param_Test/big_union.cpp: Fixed a MSVC++ double-to-float warning. Tue Mar 9 15:35:31 1999 Darrell Brunsch * examples/Quoter/Factory_Finder.cpp: * examples/Quoter/Generic_Factory.cpp: * examples/Quoter/server.cpp: Fixed null-pointer usage in the server destructors when the naming service wasn't resolved. * examples/Quoter/server.cpp: Also fixed some memory leaks. Tue Mar 9 13:42:49 1999 Douglas C. Schmidt * TAO_IDL/fe: Regenerated the y.tab.cpp file using Berkeley yacc rather than yacc so the nifty tracing features will be enabled. Tue Mar 9 13:05:49 1999 Alexander Babu Arulanthu * docs/releasenotes/index.html: * orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp: Fixed all the Sequence_out parameters to get created even though their length may be zero. This is according to the CORBA spec. Tue Mar 09 01:16:41 1999 Douglas C. Schmidt * TAO version 0.3.10 released. Tue Mar 09 00:52:42 1999 Douglas C. Schmidt * TAO version 0.3.9 released. Mon Mar 8 23:33:28 1999 Douglas C. Schmidt * orbsvcs/orbsvcs/Makefile: Fixed a problem in the Makefile. Mon Mar 08 22:20:32 1999 David L. Levine * orbsvcs/orbsvcs/Makefile (TAO_ORBSVCS_SRCS): if the Trader is built without the Naming Service in TAO_ORBSVCS, add IOR_Multicast because the Trader needs it. Thanks to Seth for reporting this. Mon Mar 8 20:49:45 1999 Carlos O'Ryan * tao/params.h: * tao/ORB_Core.cpp: * docs/Options.html: * docs/configurations.html: * docs/releasenotes/orbcore.html: Change the iioplite option to gioplite. * tao/IIOP_ORB.h: * tao/IIOP_ORB.cpp: Added support for file://-style IORs; we simply use the ACE_Read_Buffer class to read the IOR from the file and then call string_to_object again. * tao/GIOP.cpp: Fixed debug message. * tao/Server_Request.cpp: Minor cosmetic fixes. Mon Mar 8 20:09:07 1999 Jeff Parsons * TAO/docs/releasenotes/index.html: Added an entry about the Pluggable test. Mon Mar 8 19:02:21 1999 Jeff Parsons * TAO_IDL/be/be_visitor_interface/interface_ch.cpp: Added the new typedefs for _ptr_type and _var_type (see Advanced CORBA Programming with C++, section 7.6.1). I couldn't find anywhere that the IDL compiler generates code for template member functions - everything like that in orbsvcs seems to be handwritten. If anyone sees that I overlooked something. let me know. Mon Mar 8 16:20:22 1999 Douglas C. Schmidt * tao/ORB.i: Moved CORBA::string_dup() into the *.i file and made it an inline method. Thanks to Jon Biggar for suggesting this. Mon Mar 8 16:46:36 1999 Matthew J Braun * orbsvcs/tests/Logger/README: Changed description of correct test output to reflect change from get_host_by_name () to get_host_by_addr (). * orbsvcs/orbsvcs/Log/Logger_i.cpp: Altered the return values in verbosity_conversion to correspond to the changed values in ace/Log_Msg.h. Also modified logv to use get_host_by_addr () rather than get_host_by_name (). This speeds things up somewhat. Thanks to Ulf Jährig for pointing this out. Mon Mar 8 14:27:38 1999 Jeff Parsons * tao/Invocation.cpp: * tao/IIOP_Transport.cpp: * tao/Connect.cpp: * tao/ORB.cpp: * tao/skip.cpp: The first four files have the new ACE timeprobes for the pluggable protocols test. The last has a change in TAO_Marshal_Union::skip() from using (ACE_Message_Block *) Any::value() to Any::_tao_get_cdr (). Mon Mar 8 13:44:23 1999 Douglas C. Schmidt * tao/ORB.cpp: Added a superfast implementation of CORBA::string_copy(). Thanks to Terry Rosenbaum for suggesting this and to Jon Biggar for optimizing it still further ;-). Mon Mar 8 11:08:02 EST 1999 Aniruddha Gokhale * TAO_IDL/include/utl_scope.h: TAO_IDL/util/utl_scope.cpp: Incorporated the right scoping lookup rules based on the latest CORBA 2.3 revisions. Thanks to Torsten Kuepper for providing the patches. Sun Mar 7 19:29:06 1999 Balachandran Natarajan * docs/Options.html (bgcolor): Updated the documentation for the ORB configuration Sun Mar 07 17:39:22 1999 Nanbor Wang * tao/IIOP_Transport.cpp (send): Remember to reset after we send out a batch of data. Sun Mar 7 17:27:31 1999 Jeff Parsons * TAO/performance-tests/Pluggable/client.cpp: Removed ACE_OS::thr_exit(). this was borrowed from IDL_Cubit/client.cpp. It has been decided that this usage is a "Bad Thing"[TM], and that line has been removed from the IDL Cubit client as well. Sun Mar 07 16:39:03 1999 David L. Levine * performance-tests/Cubit/TAO/IDL_Cubit/client.cpp (main): removed call to ACE_OS::thr_exit (). It's no longer necessary; it's just a relic from a workaround that's no longer needed. Thanks to Jeff for noticing it. Sun Mar 7 16:03:51 1999 Jeff Parsons * TAO/performance-tests/Pluggable/PP_Test_Client.{h,cpp}: * TAO/performance-tests/Pluggable/PP_Test_Server.{h,cpp}: * TAO/performance-tests/Pluggable/PP_Test_i.{h,cpp}: * TAO/performance-tests/Pluggable/PP_Test.idl: * TAO/performance-tests/Pluggable/client.cpp: * TAO/performance-tests/Pluggable/server.cpp: * TAO/performance-tests/Pluggable/client.dsp: * TAO/performance-tests/Pluggable/server.dsp: * TAO/performance-tests/Pluggable/Pluggable.dsw: * TAO/performance-tests/Pluggable/Makefile: * TAO/performance-tests/Pluggable/README: New files implementing tests for pluggable protocols stuff, using ACE Timeprobes. Builds and runs fine on NT, builds with suncc, but client seg faults on ACE_OS::thr_exit(). I've emailed the doc group to see if anyone can give me a hand with this bug. Sun Mar 7 10:41:58 1999 Alexander Babu Arulanthu * orbsvcs/tests/Property/client.cpp: Fixed the g++ warnings Fri Mar 5 21:59:18 1999 Darrell Brunsch * examples/Quoter/Factory_Finder.cpp: * examples/Quoter/Factory_Finder_i.cpp: * examples/Quoter/Quoter_i.cpp: * examples/Quoter/Quoter_i.h: * examples/Quoter/client.cpp: * examples/Quoter/client.h: * examples/Quoter/server.cpp: * examples/Quoter/server.h: In general, redid a lot of exception handling to work better with native exceptions. Fri Mar 5 20:50:23 1999 Pradeep Gore * orbsvcs/Makefile: included the CosEvent_Channel in the list of directories to build. * orbsvcs/CosEvent_Service/CosEvent_Service{.h, .cpp}: replaced the TAO_TRY macros with ACE_ macros. * orbsvcs/tests/CosEC_Basic/{*.h, *.cpp}: replaced the TAO_TRY macros with ACE_ macros. * orbsvcs/tests/CosEC_Basic/CosECConsumer{.h.cpp}: added an ORB pointer, which is used to shutdown the ORB after a is received by a consumer. * orbsvcs/tests/CosEC_Basic/CosEC_Basic{.h, .cpp}: fixed a bug that caused this test to fail - thanks to Jim Crossley for pointing this out. The RtEC needs to be constructed with a valid TAO_Reactive_Module_Factory. Creating the Rtec on the heap with an initialized module factory fixed this. * orbsvcs/tests/CosEC_Multiple {*.h, *.cpp} replaced the TAO_TRY macros with ACE_ macros. * docs/releasenotes/index.html: updated the CosEC information. Fri Mar 5 18:11:04 1999 Darrell Brunsch * orbsvcs/orbsvcs/orbsvcs.dsp: Added the new EC files. Fri Mar 5 16:43:06 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Event/EC_Timeout_Generator.cpp: Fixed const correctness problem, Sun/CC didn't even give a warning for this one! * orbsvcs/orbsvcs/Event/EC_ProxyPushSupplier_Set.cpp: Added missing template instantiation. Fri Mar 5 15:12:00 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Event/EC_Null_Factory.h: * orbsvcs/orbsvcs/Event/EC_Null_Factory.cpp: * orbsvcs/orbsvcs/Event/EC_Event_Channel.h: * orbsvcs/orbsvcs/Event/EC_Event_Channel.i: * orbsvcs/orbsvcs/Event/EC_Event_Channel.cpp: * orbsvcs/orbsvcs/Event/EC_Basic_Factory.h: * orbsvcs/orbsvcs/Event/EC_Basic_Factory.cpp: * orbsvcs/orbsvcs/Event/EC_Basic_Filter_Builder.h: * orbsvcs/orbsvcs/Event/EC_Basic_Filter_Builder.i: * orbsvcs/orbsvcs/Event/EC_Basic_Filter_Builder.cpp: * orbsvcs/orbsvcs/Event/EC_Reactive_Timeout_Generator.h: * orbsvcs/orbsvcs/Event/EC_Reactive_Timeout_Generator.i: * orbsvcs/orbsvcs/Event/EC_Reactive_Timeout_Generator.cpp: * orbsvcs/orbsvcs/Event/EC_Timeout_Filter.h: * orbsvcs/orbsvcs/Event/EC_Timeout_Filter.i: * orbsvcs/orbsvcs/Event/EC_Timeout_Filter.cpp: * orbsvcs/orbsvcs/Event/EC_Timeout_Generator.h: * orbsvcs/orbsvcs/Event/EC_Timeout_Generator.i: * orbsvcs/orbsvcs/Event/EC_Timeout_Generator.cpp: Added support for timeout events, including a simple Timeout_Generator based on the ORB's reactor. * orbsvcs/orbsvcs/Event/EC_ObserverStrategy.i: * orbsvcs/orbsvcs/Event/EC_ProxyConsumer.i: * orbsvcs/orbsvcs/Event/EC_ProxyConsumer.cpp: * orbsvcs/orbsvcs/Event/EC_ProxySupplier.i: * orbsvcs/orbsvcs/Event/EC_ProxySupplier.cpp: Fixed several problems with g++ 2.7.2.X; thanks to David Levine for reporting them. * orbsvcs/tests/Makefile: Added a bunch of missing directories to the list. * orbsvcs/tests/EC_Mcast/EC_Mcast.cpp: * orbsvcs/tests/EC_Throughput/ECT_Throughput.cpp: The Event2 service is compiled by default, not need to check for it. * orbsvcs/Event_Service/Event_Service.h: * orbsvcs/Event_Service/Event_Service.cpp: Added support for the new EC implementation. * tao/append.cpp: * tao/decode.cpp: * tao/deep_free.cpp: * tao/encode.cpp: * tao/skip.cpp: The debug messages are only be printed out if TAO_debug_level is greater than 0. Also fixed many of them. * orbsvcs/Event_Service/Makefile: * orbsvcs/ImplRepo_Service/Makefile: * orbsvcs/tests/EC_Mcast/Makefile: * orbsvcs/tests/EC_Throughput/Makefile: * orbsvcs/tests/CosEC_Multiple/Makefile: * orbsvcs/tests/Property/Makefile: * orbsvcs/tests/Sched/Makefile: * orbsvcs/tests/Sched_Conf/Makefile: Updated dependencies. * orbsvcs/tests/ImplRepo/Makefile: Fixed the Makefile so it would compile. * orbsvcs/tests/ImplRepo/airplane_client_i.cpp: Fixed memory leak. * orbsvcs/orbsvcs/Event/EC_Busy_Lock.h: * orbsvcs/orbsvcs/Event/EC_Command.h: * orbsvcs/orbsvcs/Event/EC_Conjunction_Filter.h: * orbsvcs/orbsvcs/Event/EC_ConsumerAdmin.h: * orbsvcs/orbsvcs/Event/EC_Disjunction_Filter.h: * orbsvcs/orbsvcs/Event/EC_Dispatching.h: * orbsvcs/orbsvcs/Event/EC_Factory.h: * orbsvcs/orbsvcs/Event/EC_Filter.h: * orbsvcs/orbsvcs/Event/EC_Filter_Builder.h: * orbsvcs/orbsvcs/Event/EC_ObserverStrategy.h: * orbsvcs/orbsvcs/Event/EC_Per_Supplier_Filter.h: * orbsvcs/orbsvcs/Event/EC_ProxyConsumer.h: * orbsvcs/orbsvcs/Event/EC_ProxyPushSupplier_Set.h: * orbsvcs/orbsvcs/Event/EC_ProxyPushSupplier_Set_T.h: * orbsvcs/orbsvcs/Event/EC_ProxySupplier.h: * orbsvcs/orbsvcs/Event/EC_QOS_Info.h: * orbsvcs/orbsvcs/Event/EC_SupplierAdmin.h: * orbsvcs/orbsvcs/Event/EC_Type_Filter.h: * orbsvcs/tests/EC_Throughput/ECT_Supplier_Driver.cpp: * orbsvcs/tests/ImplRepo/IR_Helper.cpp: Minor cosmetic changes. Fri Mar 05 12:51:08 1999 David L. Levine * rules.tao.GNU: replaced -Wno-used for g++, but just for pre-2.8. It has many complaints about unused parameters in generated code. Fri Mar 5 12:15:50 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Trader/Trader.cpp: Removed some repeated template instantiations. * orbsvcs/orbsvcs/AV/AVStreams_i.cpp: Removed some template instantiations that belong in Trader/Trader.cpp Thu Mar 04 21:04:59 1999 Irfan Pyarali * orbsvcs/orbsvcs/Trader: Removed TAO_Hashable_ULong as all the Trader classes were changed to use the new Hash_Map_Manager_Ex. Thu Mar 4 20:19:32 1999 Jeff Parsons * TAO_IDL/be/be_visitor_array/any_op_cs.cpp: * TAO_IDL/be/be_visitor_enum/any_op_cs.cpp: * TAO_IDL/be/be_visitor_exception/any_op_cs.cpp: * TAO_IDL/be/be_visitor_interface/any_op_cs.cpp: * TAO_IDL/be/be_visitor_sequence/any_op_cs.cpp: * TAO_IDL/be/be_visitor_structure/any_op_cs.cpp: * TAO_IDL/be/be_visitor_union/any_op_cs.cpp: Removed redundant cast to ACE_Message_Block* of the return value of _tao_get_cdr(). Thu Mar 4 18:40:45 1999 Jeff Parsons * tao/CurrentC.cpp: Changed the code for the >>= operator to get rid of another Any::value() inconsistency and to reflect what the IDL compiler now generates for these operators. Thu Mar 4 16:53:28 1999 Jeff Parsons * TAO_IDL/be/be_visitor_operation/operation_ss.cpp: * TAO_IDL/be/be_visitor_union/cdr_op_cs.cpp: Removed some more unused args, as noted by Irfan and g++. Thu Mar 04 16:29:41 1999 Carlos O'Ryan * orbsvcs/orbsvcs/orbsvcs.dsp: Added new Event Channel to the orbsvcs project file. Thu Mar 04 16:08:22 1999 David L. Levine * tao/Makefile: removed unused LSRC2 macro definition. Thu Mar 4 15:42:23 1999 Fred Kuhns * Primarily cosmetic changes to tao/GIOP.cpp tao/GIOP.h tao/IIOP_Acceptor.h tao/IIOP_Connector.h tao/IIOP_Profile.cpp tao/IIOP_Profile.h tao/IIOP_Profile.i tao/IIOP_Transport.cpp tao/IIOP_Transport.h tao/Invocation.cpp tao/Pluggable.cpp tao/Pluggable.h tao/Stub.cpp Thu Mar 4 15:14:19 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Event/EC_ProxyPushSupplier_Set_T.h: * orbsvcs/orbsvcs/Event/EC_Basic_Filter_Builder.cpp: Fixed minor warnings. Thu Mar 4 12:43:46 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Event/EC_Filter.i: Fixed nasty bug, thanks to J. Russell Noseworthy for catching this one. * orbsvcs/orbsvcs/Event/EC_ObserverStrategy.cpp: * orbsvcs/orbsvcs/Event/EC_ProxySupplier.cpp: Removed a couple of memory leaks, thanks to J. Russell Noseworthy for catching them up. * orbsvcs/Event_Service/Makefile: * orbsvcs/Event_Service/Event_Service.h: * orbsvcs/Event_Service/Event_Service.cpp: * orbsvcs/orbsvcs/Event/Event_Channel.cpp: The ACE_EventChannel implementation does not shutdown the ORB anymore, instead we use composition in the Event_Service program to shutdown the ORB there (where it actually makes sense). * orbsvcs/orbsvcs/Makefile: Updated dependencies. * orbsvcs/orbsvcs/Event/EC_ObserverStrategy.i: Minor cosmetic fixes. * orbsvcs/orbsvcs/Event/EC_Basic_Factory.h: * orbsvcs/orbsvcs/Event/EC_Basic_Filter_Builder.h: * orbsvcs/orbsvcs/Event/EC_Command.h: * orbsvcs/orbsvcs/Event/EC_Conjunction_Filter.h: * orbsvcs/orbsvcs/Event/EC_ConsumerAdmin.h: * orbsvcs/orbsvcs/Event/EC_Disjunction_Filter.h: * orbsvcs/orbsvcs/Event/EC_Dispatching.h: * orbsvcs/orbsvcs/Event/EC_Event_Channel.h: * orbsvcs/orbsvcs/Event/EC_Factory.h: * orbsvcs/orbsvcs/Event/EC_Filter.h: * orbsvcs/orbsvcs/Event/EC_Filter_Builder.h: * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.h: * orbsvcs/orbsvcs/Event/EC_Null_Factory.h: * orbsvcs/orbsvcs/Event/EC_Per_Supplier_Filter.h: * orbsvcs/orbsvcs/Event/EC_ProxyConsumer.h: * orbsvcs/orbsvcs/Event/EC_ProxyPushSupplier_Set.h: * orbsvcs/orbsvcs/Event/EC_ProxyPushSupplier_Set_T.h: * orbsvcs/orbsvcs/Event/EC_ProxySupplier.h: * orbsvcs/orbsvcs/Event/EC_QOS_Info.h: * orbsvcs/orbsvcs/Event/EC_SupplierAdmin.h: * orbsvcs/orbsvcs/Event/EC_SupplierFiltering.h: * orbsvcs/orbsvcs/Event/EC_Type_Filter.h: * orbsvcs/orbsvcs/Event/EC_ObserverStrategy.h: Added the TAO_ORBSVCS_Export in many classes. Thu Mar 04 10:22:55 1999 David L. Levine * orbsvcs/tests/EC_Throughput/ECT_Consumer_Driver.cpp (parse_args): when type_count_ <= 0, moved the statement that resets it to 1 to before the ACE_ERROR_RETURN. That way, it really will be reset to 1 :-) * orbsvcs/tests/EC_Throughput/ECT_Throughput.cpp (parse_args): when ec_concurrency_hwm_ <= 0, moved the statement that resets it to 1 to before the ACE_ERROR_RETURN. Wed Mar 3 18:28:51 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Makefile: * orbsvcs/orbsvcs/Event/EC_ConsumerAdmin.h: * orbsvcs/orbsvcs/Event/EC_ConsumerAdmin.i: * orbsvcs/orbsvcs/Event/EC_ConsumerAdmin.cpp: * orbsvcs/orbsvcs/Event/EC_ConsumerAdmin_T.h: * orbsvcs/orbsvcs/Event/EC_ConsumerAdmin_T.i: * orbsvcs/orbsvcs/Event/EC_ConsumerAdmin_T.cpp: * orbsvcs/orbsvcs/Event/EC_ProxyPushSupplier_Set.h: * orbsvcs/orbsvcs/Event/EC_ProxyPushSupplier_Set.i: * orbsvcs/orbsvcs/Event/EC_ProxyPushSupplier_Set.cpp: * orbsvcs/orbsvcs/Event/EC_ProxyPushSupplier_Set_T.h: * orbsvcs/orbsvcs/Event/EC_ProxyPushSupplier_Set_T.i: * orbsvcs/orbsvcs/Event/EC_ProxyPushSupplier_Set_T.cpp: Factored out the collection of ProxyPushSuppliers from the ConsumerAdmin class: it is used in other places like the SupplierFiltering strategies. I also added extensive documentation about the several variations on this particular strategy. * orbsvcs/orbsvcs/Event/EC_Per_Supplier_Filter.h: * orbsvcs/orbsvcs/Event/EC_Per_Supplier_Filter.i: * orbsvcs/orbsvcs/Event/EC_Per_Supplier_Filter.cpp: Added a new SupplierFiltering strategy, simply keep the list of consumers for each supplier. * orbsvcs/orbsvcs/Event/EC_Filter.h: * orbsvcs/orbsvcs/Event/EC_Filter.i: * orbsvcs/orbsvcs/Event/EC_Filter.cpp: * orbsvcs/orbsvcs/Event/EC_ProxySupplier.h: * orbsvcs/orbsvcs/Event/EC_ProxySupplier.cpp: * orbsvcs/orbsvcs/Event/EC_Conjunction_Filter.h: * orbsvcs/orbsvcs/Event/EC_Conjunction_Filter.cpp: * orbsvcs/orbsvcs/Event/EC_Disjunction_Filter.h: * orbsvcs/orbsvcs/Event/EC_Disjunction_Filter.cpp: * orbsvcs/orbsvcs/Event/EC_Type_Filter.h: * orbsvcs/orbsvcs/Event/EC_Type_Filter.cpp: Changed the mechanism to match suppliers and consumers: the filter objects have a new method that can be used to detect if a event is potentially interesting to the consumer. The red-black tree is not needed anymore. * orbsvcs/orbsvcs/Event/EC_ObserverStrategy.h: * orbsvcs/orbsvcs/Event/EC_ObserverStrategy.i: * orbsvcs/orbsvcs/Event/EC_ObserverStrategy.cpp: Moved the instantiation of the EventHeader red-black tree to this file, because now this is the only place we use it. * orbsvcs/orbsvcs/Event/EC_Event_Channel.h: * orbsvcs/orbsvcs/Event/EC_Event_Channel.i: * orbsvcs/orbsvcs/Event/EC_Factory.h: * orbsvcs/orbsvcs/Event/EC_Basic_Factory.h: * orbsvcs/orbsvcs/Event/EC_Basic_Factory.cpp: * orbsvcs/orbsvcs/Event/EC_Null_Factory.h: * orbsvcs/orbsvcs/Event/EC_Null_Factory.cpp: Added new factory methods to create and detroy EC_ProxyPushSupplier_Set objects. * tao/orbconf.h: Added description of the TAO_DOTTED_DECIMAL_ADDRESSES macro. * tao/MProfile.i: * tao/Any.h: * orbsvcs/Event_Service/Event_Service.cpp: Minor cosmetic fixes. Wed Mar 3 18:15:14 1999 Darrell Brunsch * tests/Param_Test/client.dsp: * tests/Param_Test/server.dsp: Added big_union. Wed Mar 3 03:05:06 1999 Jeff Parsons * TAO/performance-tests/Cubit/TAO/DII_Cubit/client.cpp: * TAO/performance-tests/Cubit/TAO/DII_Cubit/client.dsp: * TAO/performance-tests/Cubit/TAO/DII_Cubit/README: * TAO/performance-tests/Cubit/TAO/DII_Cubit/Makefile: Removed all the naming service stuff from DII_Cubit_Test. Made a note in the README file that the IDL server no longer uses it either. Also removed the orbsvcs library load from the makefile since we no longer need it. And removed client.h from the VC project file and the link to orbsvcsd.lib from same. Tue Mar 2 17:36:29 1999 Pradeep Gore * orbsvcs/orbsvcs/CosEventComm.idl: * orbsvcs/orbsvcs/CosEventChannelAdmin.idl: added a comment header to describe the idl file contents. Tue Mar 2 11:41:00 1999 Chris Gill * examples/Simulator/DOVEBrowser/DoubleVisComp.java: Added flexible monotonic scaling of all DoubleVisComp windows. Tue Mar 2 02:32:34 1999 Nanbor Wang * tao/IIOP_Profile.{h,i,cpp}: Added new file IIOP_Profile.i for inline functions. Moved some accessors from .cpp file to .i file. Added _host_(), _port_(), _object_key_(), reset_object_addr() when TAO_USES_FLICK is defined. Flick needs to access the structure directly. Mon Mar 1 23:37:58 1999 Jeff Parsons * tao/Server_Request.cpp: Fixed yet another instance of backwards any_owns_data behavior, is dsi_marshal(). Will look at the rest of Server_Request.cpp later - there seems to be questionable stuff in the other methods as well. Mon Mar 1 17:57:18 1999 Jeff Parsons * TAO/tests/dynany_test/test_dynsequence.cpp: Fixed a double-deletion problem with a data string. All the dynany test code will need to be looked over for memory-handling behavior since the many recent changes to the IDL compiler. Thanks to Barry Hoggard for reporting this bug. Mon Mar 1 17:31:57 1999 Nagarajan Surendran * orbsvcs/orbsvcs/AV/sfp.cpp: Added the flowProtocol:: class specifier for frameHeader so that it compiles on win32. Thanks to David Hooker for the fix. Mon Mar 01 17:19:04 1999 David L. Levine * TAO version 0.3.8 released. Mon Mar 1 14:43:20 1999 Carlos O'Ryan * docs/compiler.html: Fixed minor error in the IDL compiler documentation, thanks to Frederic Maria for pointing this out. Mon Mar 01 14:20:44 1999 David L. Levine * TAO version 0.3.7 released. Mon Mar 01 08:28:26 1999 David L. Levine * tao/ORB_Core.cpp: removed ACE_Guard template instantiation, because it collided with ACE_Guard in ace/Synch.cpp. Sat Feb 27 20:05:10 1999 Carlos O'Ryan * TAO_IDL/be/be_visitor_union_branch/public_ci.cpp: * TAO_IDL/be/be_visitor_union_branch/public_assign_cs.cpp: Removed unused variables. * TAO_IDL/be/be_visitor_union/cdr_op_cs.cpp: The temporary used to read the discriminant must be declared using the fully qualified name of the type, because the operator>> is in the global scope. Fri Feb 26 23:41:08 1999 Nanbor Wang * TAO_IDL/driver/drv_preproc.cpp (DRV_pre_proc): Oops, unlinking of temp file should not be disable on non-Win32 platforms. Thanks to David for noticing this. Fri Feb 26 23:30:12 1999 David L. Levine * TAO_IDL/Makefile: removed the clean target, because it deleted tao_idl. The realclean target does that. Thanks to Tres Seaver for reporting this. Fri Feb 26 21:03:47 1999 Carlos O'Ryan * TAO_IDL/be/be_visitor_operation/operation_cs.cpp: Added support for forwarding in stubs generated with compiled marshaling. We use the new ACE_TRY macros to do this. * TAO_IDL/be/be_union_branch.cpp: * TAO_IDL/be/be_union_label.cpp: * TAO_IDL/be/be_visitor_union/cdr_op_cs.cpp: * TAO_IDL/be/be_visitor_union_branch/public_access_cs.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: * TAO_IDL/be_include/be_type.h: * TAO_IDL/be_include/be_union_branch.h: Fixed code generation for unions whose discriminators are enums. It wasn't prefixing the enum label with the scope where the enum was generated i.e. for enums defined inside a module Foo it was using "value1" instead of "Foo::value1". * orbsvcs/orbsvcs/Event/Timer_Module.cpp: Fixed Timeprobe use. * orbsvcs/orbsvcs/Event/EC_ConsumerAdmin_T.cpp: Minor cosmetic fixes. * orbsvcs/orbsvcs/Event/README: Added more details, started a section that describes the interaction between the components. * orbsvcs/orbsvcs/Event/EC_SupplierFiltering.cpp: The SupplierFiltering module splits an EventSet into single events before passing them to the ProxyPushSuppliers, this is needed so that filtering will work correctly. Fri Feb 26 18:29:04 1999 Balachandran Natarajan * orbsvcs/tests/Time/implrepo.conf tests/NestedUpcall/MT_Client_Test/client.conf examples/POA/On_Demand_Loading/svc.conf examples/Quoter/client.conf examples/Quoter/server.conf performance-tests/Cubit/TAO/MT_Cubit/svc.conf performance-tests/Thruput/TAO/svc.conf Changed -ORBdemuxstrategy option to -ORBsystemidpolicydemuxstrategy Fri Feb 26 18:00:52 1999 Jeff Parsons * tao/Makefile: * tao/TAO.dsp: Removed file Align.h from the repository, the makefile and the project file. All that stuff moved to OS.h with the CDR classes. Fri Feb 26 17:37:04 1999 Fred Kuhns * Added the function next_profile_retry to stub object. Fri Feb 26 16:46:37 1999 Fred Kuhns * Added some methods to Stub_Object for forwarding. Fri Feb 26 13:32:35 1999 Balachandran Natarajan * examples/Simple/grid/README: New file for the benefit of the community. Thanks to Dr.Schmidt for reminding me to do this. Fri Feb 26 12:44:58 1999 Carlos O'Ryan * tests/Param_Test/big_union.cpp: Fixed some warnings for Linux/EGCS. check_validity was incomplete. * tests/Param_Test/svc.conf: Removed obsolete options. Fri Feb 26 11:35:51 1999 Carlos O'Ryan * TAO_IDL/Makefile: * TAO_IDL/be/be_visitor_factory.cpp: * TAO_IDL/be/be_visitor_union_branch.cpp: * TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp: * TAO_IDL/be/be_visitor_union/cdr_op_cs.cpp: * TAO_IDL/be/be_visitor_union/union_cs.cpp: * TAO_IDL/be/be_visitor_union_branch/cdr_op_cs.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: * TAO_IDL/be_include/be_codegen.h: * TAO_IDL/be_include/be_visitor_union/cdr_op_cs.h: Implemented compiled marshaling for unions. I also had to debug and fix parts of the union implementation too. * tests/Param_Test/Makefile: * tests/Param_Test/run_test.pl: * tests/Param_Test/tests.h: * tests/Param_Test/driver.cpp: * tests/Param_Test/driver.h: * tests/Param_Test/options.cpp: * tests/Param_Test/options.h: * tests/Param_Test/param_test.idl: * tests/Param_Test/param_test_i.cpp: * tests/Param_Test/param_test_i.h: * tests/Param_Test/big_union.h: * tests/Param_Test/big_union.cpp: Added a new test for unions, the union contains many basic types, sequences, arrays, variable and fixed sized structures, object references, sequences, strings, etc. I couldn't test unions inside unions because there seems to be a bug with union code generator. Fri Feb 26 10:06:57 1999 Fred Kuhns * Fixed inline function ordering in Stub.i! Fri Feb 26 00:43:30 1999 Douglas C. Schmidt * orbsvcs/orbsvcs: Updated all the ORB services IDL files so that they are protected by #ifndef ... #endifs. Thanks to Lothar Werzinger for this suggestion. Fri Feb 26 00:05:16 1999 Douglas C. Schmidt * TAO version 0.3.6 released. Thu Feb 25 23:38:46 1999 Jeff Parsons * tao/decode.cpp: Fixed another confusion between an Any's value and its message block. This one was in TAO_Marshal_Union. Maybe unions will work a little better now ;-). Thu Feb 25 20:19:26 1999 Ossama Othman * performance-tests/Cubit/TAO/MT_Cubit/Cubit_Task.h: * performance-tests/Cubit/TAO/MT_Cubit/Cubit_Task.cpp: * performance-tests/Cubit/TAO/MT_Cubit/Globals.h: * performance-tests/Cubit/TAO/MT_Cubit/Task_Client.h: * performance-tests/Cubit/TAO/MT_Cubit/Task_Client.cpp: Modified these files so that they will compile if ACE was built without thread support by changing ACE_MT_SYNCH macros to ACE_SYNCH and by using the ACE_SYNCH_SEMAPHORE macro instead of ACE_Thread_Semaphore. Thanks to Doug for suggesting the ACE_SYNCH changes. * performance-tests/Cubit/TAO/MT_Cubit/Task_Client.cpp: Modified these files so that they will compile if ACE was built without thread support by changing ACE_MT_SYNCH macros to ACE_SYNCH and by using the ACE_SYNCH_SEMAPHORE macro instead of ACE_Thread_Semaphore. Thanks to Doug for suggesting the ACE_SYNCH changes. ACE_Condition in Task_Client.h for the unthreaded case will be dealt with soon. ACE_Condition in Task_Client.h for the unthreaded case will be dealt with soon. Thu Feb 25 18:16:31 1999 Jeff Parsons * TAO_IDL/be/be_visitor_argument/compiled_marshal_cs.cpp: * TAO_IDL/be/be_visitor_argument/compiled_marshal_ss.cpp: * TAO_IDL/be/be_visitor_operation/compiled_marshal.cpp: * TAO_IDL/be/be_visitor_sequence/cdr_op_cs.cpp: IDL generated code was passing in the size instead of the length for bounded strings. Then CDR would add 1 to get back the size... Just subtracted 1 in the appropriate spots in IDL compiler code. Checked out the new version in param_test and all seems to be ok. Thanks to Henrik Nordberg for reporting this bug. Thu Feb 25 16:06:49 1999 Nanbor Wang * rules.tao.GNU: Added make commands to generate dummy *S_T.* files when building with Flick. Thu Feb 25 15:53:13 1999 Balachandran Natarajan * TAO_IDL/be TAO_IDL/driver: Changed the TAO_TRY macros with ACE_TRY macros in the IDL generated stubs and skeletons Thu Feb 25 15:35:14 1999 David L. Levine * performance-tests/Cubit/TAO/MT_Cubit/client.cpp (main): removed ACE_OS::thr_exit () call on VxWorks, because it's no longer necessary: the client doesn't die on shutdown. Thu Feb 25 14:44:40 1999 Jeff Parsons * orbsvcs/Event/Timer_Module.cpp: Fixed a typo, still another timeprobe error - not sure what was intended, will email doc_group. Thu Feb 25 12:41:08 1999 Douglas C. Schmidt * TAO/performance-tests/Cubit/Orbix: Updated the Makefiles to use the newer dependencies. Thanks to Uma Markandu for reporting this. Thu Feb 25 11:38:48 1999 Nanbor Wang * tao/default_server.cpp (parse_args): Still allow the use of -ORBdemuxstrategy but spit out a warning when used. * TAO_IDL/driver/drv_preproc.cpp (DRV_pre_proc): Don't remove temporary files on Win95/98. Thanks to Rod Joseph for reporting the problem. * docs/Options.html: Added a short note about the change of -ORBdemuxstrategy. Thu Feb 25 09:27:07 1999 Carlos O'Ryan * TAO_IDL/util/utl_global.cpp: Use interpretive marshaling by default, at least until unions work correctly. Wed Feb 24 23:21:53 1999 Pradeep Gore * orbsvcs/tests/CosEC_Multiple/CosECConsumer.cpp: * orbsvcs/tests/CosEC_Multiple/CosECSupplier.cpp: added #include Wed Feb 24 22:54:59 1999 Nanbor Wang * tao/TAO_Internal.i (_svc_conf): This new function allows user to overwrite TAO_DEFAULT_*_ARGS settings at application's main without recompiling TAO library. Notice these settings are further overwritten by external svc.conf files because svc.conf files are parsed before these fake entries. * performance-tests/Cubit/TAO/MT_Cubit/svc.conf: -ORBdemuxstrategy has become -ORBsystemidpolicydemuxstrategy now. * performance-tests/Cubit/TAO/MT_Cubit/svc.conf.static: Fixed static service's names. Changed to use -ORBsystemidpolicydemuxstrategy. * tao/orbconf.cpp: Fixed TAO_DEFAULT_*_ARGS. * tao/ORB_Core.cpp: * tao/default_client.cpp: * tao/default_server.cpp: Corrected names of the static services. Wed Feb 24 17:08:27 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Event/EC_Basic_Factory.cpp: * orbsvcs/orbsvcs/Event/EC_Command.cpp: * orbsvcs/orbsvcs/Event/EC_Conjunction_Filter.cpp: * orbsvcs/orbsvcs/Event/EC_ConsumerAdmin.cpp: * orbsvcs/orbsvcs/Event/EC_ConsumerAdmin_T.h: * orbsvcs/orbsvcs/Event/EC_Filter.cpp: * orbsvcs/orbsvcs/Event/EC_ObserverStrategy.cpp: Fixed explicit template instantiations. Wed Feb 24 16:01:53 1999 Darrell Brunsch * tao/Stub.cpp: Fred and I fixed up Location Forward logic in do_static_call (). It wasn't advancing the profiles when a location forward message was returned. Wed Feb 24 14:13:03 1999 Nanbor Wang * docs/index.html: Added a link to $ACE_ROOT/docs/exceptions.html. Wed Feb 24 11:45:29 1999 Fred Kuhns * Added a test for multiple profile forwarding. This test verifies the Stub methods by duplicating the forwarding and request handling logic in wrappers. tests/Multiple_Profiles/forwarding.cpp Wed Feb 24 11:40:08 1999 Fred Kuhns * Stub.cpp - changed goto two_way to goto one_way Wed Feb 24 11:07:32 1999 Fred Kuhns * Updated how forwarding is performed so that multiple profiles are used. This following files were modified. These is still an issue with concurrency since the Stub object is responsible for managing the profile list and forwarding information. IIOP_Profile.cpp IIOP_Profile.h Invocation.cpp MProfile.cpp MProfile.h MProfile.i Pluggable.cpp Pluggable.h Stub.cpp Stub.h Stub.i encode.cpp Tue Feb 23 20:10:52 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Makefile: Added EC_ObserverStrategy to the set of files for Event2 * orbsvcs/Event/EC_ConsumerAdmin.h: * orbsvcs/Event/EC_ConsumerAdmin.i: * orbsvcs/Event/EC_ConsumerAdmin.cpp: * orbsvcs/Event/EC_ConsumerAdmin_T.h: * orbsvcs/Event/EC_ConsumerAdmin_T.i: * orbsvcs/Event/EC_ConsumerAdmin_T.cpp: * orbsvcs/Event/EC_SupplierFiltering.cpp: Implemented delayed and/or immediate removal and additions from the ConsumerAdmin internal set (of ProxyPushSupplier). This is important to applications that use reactive dispatching and can generate disconnections and/or connections to the EC as part of the consumer upcalls. This strategies require condition variables and thus the use of templates to parametrize the locking strategy. I also added a simple policy to control the level of concurrency in the ConsumerAdmin set: the user can specify how many threads can be concurrently running on the ConsumerAdmin. If this limit is exceeded then the new threads must wait until all the other threads leave. At that point the delayed operations are executed. This strategy ensures that operations are not delayed forever; setting the HWM to 1 (the default) ensures that operations are executed before the next upcall; setting the HWM to a very high value results in maximum concurrency; this could be a reasonable options if periodically there are periods without any activity. * orbsvcs/Event/EC_ObserverStrategy.h: * orbsvcs/Event/EC_ObserverStrategy.i: * orbsvcs/Event/EC_ObserverStrategy.cpp: Added missing destructor. Minor cosmetic changes. * orbsvcs/Event/EC_ProxySupplier.h: * orbsvcs/Event/EC_ProxySupplier.cpp: Added reference counting to this objects. * orbsvcs/Event/EC_Busy_Lock.h: * orbsvcs/Event/EC_Busy_Lock.i: * orbsvcs/Event/EC_Busy_Lock.cpp: A simple adapter that conforms to the ACE_Lock interface. It invokes the busy() and idle() method on another object to acquire and release. * orbsvcs/Event/EC_Command.h: * orbsvcs/Event/EC_Command.i: * orbsvcs/Event/EC_Command.cpp: Implemented two simple Command objects that can invoke the connected_i() and disconnected_i() methods on another class, this are useful to implement the delayed connection and disconnection from the EC. * orbsvcs/Event/EC_Null_Factory.cpp: * orbsvcs/Event/EC_Basic_Factory.cpp: Use the new EC_ConsumerAdmin types with the right locking strategies. * tests/EC_Throughput/ECT_Consumer.cpp: * tests/EC_Throughput/ECT_Consumer.h: * tests/EC_Throughput/ECT_Consumer_Driver.cpp: * tests/EC_Throughput/ECT_Consumer_Driver.h: * tests/EC_Throughput/ECT_Supplier.cpp: * tests/EC_Throughput/ECT_Supplier.h: * tests/EC_Throughput/ECT_Supplier_Driver.cpp: * tests/EC_Throughput/ECT_Supplier_Driver.h: * tests/EC_Throughput/ECT_Throughput.cpp: * tests/EC_Throughput/ECT_Throughput.h: The test is more flexible wrt event types subscribed by each consumer and published by the suppliers, this could be useful to measure how the test scales with the number of consumers and/or suppliers. * orbsvcs/RtecEventComm.idl: * orbsvcs/Event/EC_Event_Channel.cpp: Minor cosmetic changes. Tue Feb 23 19:44:20 1999 Yamuna Krishnamurthy * TAO_IDL/be/be_visitor_root/root.cpp: Added context state. Thanks to Mason Taube. Tue Feb 23 18:11:11 1999 Kirthika Parameswaran * examples/Callback_Quoter/Callback_Quoter.dsw: examples/Callback_Quoter/Notifier.dsp: examples/Callback_Quoter/Consumer.dsp: examples/Callback_Quoter/Supplier.dsp: Changes due to the removal of the ACE_LACKS_PRAGMA_ONCE directive from the stubs and skeletons generated by the tao_idl compiler. This directive caused compiler errors using MSVC 5.0. It went through when compiled with MSVC 6.0. Tue Feb 23 17:22:00 1999 Chris Gill * examples/Simulator/DOVEBrowser/make.bat examples/Simulator/DOVEMIB/DOVEMIB.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 orbsvcs/tests/Simulator/Makefile orbsvcs/tests/Simulator/NavWeap.idl orbsvcs/tests/Simulator/README orbsvcs/tests/Simulator/DOVEBrowser/AnswerEvent.java orbsvcs/tests/Simulator/DOVEBrowser/AnswerListener.java orbsvcs/tests/Simulator/DOVEBrowser/DOVEBrowser.html orbsvcs/tests/Simulator/DOVEBrowser/DOVEBrowser.java orbsvcs/tests/Simulator/DOVEBrowser/DOVEBrowserApplet.java orbsvcs/tests/Simulator/DOVEBrowser/DataHandler.java orbsvcs/tests/Simulator/DOVEBrowser/DemoCore.java orbsvcs/tests/Simulator/DOVEBrowser/DemoObservable.java orbsvcs/tests/Simulator/DOVEBrowser/DoubleVisComp.java orbsvcs/tests/Simulator/DOVEBrowser/MTDataHandlerAdapter.java orbsvcs/tests/Simulator/DOVEBrowser/MTQueue.java orbsvcs/tests/Simulator/DOVEBrowser/Makefile orbsvcs/tests/Simulator/DOVEBrowser/NS_Resolve.java orbsvcs/tests/Simulator/DOVEBrowser/NavWeapDataHandler.java orbsvcs/tests/Simulator/DOVEBrowser/NavigationVisComp.java orbsvcs/tests/Simulator/DOVEBrowser/ObservablesDialog.java orbsvcs/tests/Simulator/DOVEBrowser/Properties.java orbsvcs/tests/Simulator/DOVEBrowser/PushConsumer.java orbsvcs/tests/Simulator/DOVEBrowser/PushConsumer.java.JDK1.2 orbsvcs/tests/Simulator/DOVEBrowser/PushConsumerFactory.java orbsvcs/tests/Simulator/DOVEBrowser/PushConsumerFactory.java.JDK1.2 orbsvcs/tests/Simulator/DOVEBrowser/Queue.java orbsvcs/tests/Simulator/DOVEBrowser/VisComp.java orbsvcs/tests/Simulator/DOVEBrowser/VisCompFactory.java orbsvcs/tests/Simulator/DOVEBrowser/WeaponsVisComp.java orbsvcs/tests/Simulator/DOVEBrowser/make.bat orbsvcs/tests/Simulator/DOVEMIB/AnyAnalyser.cpp orbsvcs/tests/Simulator/DOVEMIB/AnyAnalyser.h orbsvcs/tests/Simulator/DOVEMIB/DOVEMIB.cpp orbsvcs/tests/Simulator/DOVEMIB/DOVEMIB.dsp orbsvcs/tests/Simulator/DOVEMIB/DOVEMIB.dsw orbsvcs/tests/Simulator/DOVEMIB/DOVEMIB.h orbsvcs/tests/Simulator/DOVEMIB/DOVEMIBx.dsp orbsvcs/tests/Simulator/DOVEMIB/Makefile orbsvcs/tests/Simulator/DOVEMIB/Node.cpp orbsvcs/tests/Simulator/DOVEMIB/Node.h orbsvcs/tests/Simulator/DOVEMIB/NodeVisitor.h orbsvcs/tests/Simulator/DOVEMIB/PrintVisitor.cpp orbsvcs/tests/Simulator/DOVEMIB/PrintVisitor.h orbsvcs/tests/Simulator/DOVEMIB/TestClient.dsp orbsvcs/tests/Simulator/DOVEMIB/any_test.idl orbsvcs/tests/Simulator/DOVEMIB/any_test_i.cpp orbsvcs/tests/Simulator/DOVEMIB/any_test_i.h orbsvcs/tests/Simulator/DOVEMIB/clnt.cpp orbsvcs/tests/Simulator/DOVEMIB/clnt.h orbsvcs/tests/Simulator/DOVEMIB/svc.conf orbsvcs/tests/Simulator/DOVEMIB/svr.cpp orbsvcs/tests/Simulator/Event_Supplier/DOVE_Supplier.cpp orbsvcs/tests/Simulator/Event_Supplier/DOVE_Supplier.h orbsvcs/tests/Simulator/Event_Supplier/DualEC_Sup.cpp orbsvcs/tests/Simulator/Event_Supplier/DualEC_Sup.dsp orbsvcs/tests/Simulator/Event_Supplier/DualEC_Sup.h orbsvcs/tests/Simulator/Event_Supplier/EDF.dat orbsvcs/tests/Simulator/Event_Supplier/Event_Con.cpp orbsvcs/tests/Simulator/Event_Supplier/Event_Con.h orbsvcs/tests/Simulator/Event_Supplier/Event_Sup.cpp orbsvcs/tests/Simulator/Event_Supplier/Event_Sup.dsp orbsvcs/tests/Simulator/Event_Supplier/Event_Sup.dsw orbsvcs/tests/Simulator/Event_Supplier/Event_Sup.h orbsvcs/tests/Simulator/Event_Supplier/Logging_Sup.cpp orbsvcs/tests/Simulator/Event_Supplier/Logging_Sup.dsp orbsvcs/tests/Simulator/Event_Supplier/Logging_Sup.h orbsvcs/tests/Simulator/Event_Supplier/MLF.dat orbsvcs/tests/Simulator/Event_Supplier/MUF.dat orbsvcs/tests/Simulator/Event_Supplier/Makefile orbsvcs/tests/Simulator/Event_Supplier/RMS.dat orbsvcs/tests/Simulator/Event_Supplier/RMS_Dyn.dat orbsvcs/tests/Simulator/Event_Supplier/svc.conf: moved the DOVE Simulator from orbsvcs/tests to examples (adjusting NT project files and batch scripts accordingly). Tue Feb 23 16:53:14 1999 David L. Levine * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Client.cpp (run): removed old comment that server shutdown would cause a memPartFree on VxWorks. It no longer does. * performance-tests/Cubit/TAO/MT_Cubit/Globals.{h,cpp} (sched_fifo_init): removed SCHED_PARAMS_FIFO macro, because it's not needed, fixed name of program in comment. Tue Feb 23 15:24:46 1999 Jeff Parsons * TAO_IDL/be/be_visitor_union/cdr_op_cs.cpp: * TAO_IDL/be/be_visitor_interface/cdr_op_cs.cpp: Fixed some more g++ warnings in generated code. It was unused arg in the case of the union and an unnecessary ACE_NOTREACHED in the case of the objref. If g++ is going to complain now about this, we might need to add it to the list in the #define of ACE_NOTREACHED. Tue Feb 23 11:48:15 1999 Darrell Brunsch * TAO_IDL/be/be_codegen.cpp (start_client_stubs, start_server_skeletons): removed #pragma once directives because they do not make sense in .cpp files, plus they don't work with MSVC 5. Mon Feb 22 20:34:02 1999 Nanbor Wang * orbsvcs/orbsvcs/orbsvcs_static.dsp: Totally broken. * orbsvcs/LifeCycle_Service/LifeCycle_Service.dsp: Fixed configurations. * orbsvcs/Concurrency_Service/Concurrency_Service.dsp: Fixed Release build settings. Mon Feb 22 19:18:55 1999 Balachandran Natarajan * $TAO/examples/POA/RootPoa/RootPoa.cpp: Fixed a annoying warning due to an unchecked exception * examples/Simple/Simple_util.cpp: * examples/Simple/bank/Makefile: Updated dependencies Mon Feb 22 19:13:58 1999 Carlos O'Ryan * examples/Simple/bank/Bank_Client_i.cpp: Removed an annoying warning due to an unchecked exception. Mon Feb 22 19:15:09 1999 Darrell Brunsch * examples/Simple/bank/bank.dsw: * examples/Simple/bank/client.dsp: * examples/Simple/bank/server.dsp: Created MSVC Project files for the Simple Bank Example. * examples/TAO_Examples.dsw: Added the Simple Bank Example project files. Mon Feb 22 14:27:44 1999 Nanbor Wang * rules.tao.GNU: Added rules to compile IDL files using Flick. You need to invoke a Makefile with "use_flick=1" command line flag. Thanks to Tim Stack for sending the detailed instruction. Mon Feb 22 12:34:31 1999 David L. Levine * TAO_IDL/be/be_codegen.cpp (start_client_header,start_client_stubs, start_server_header,start_server_skeletons): added #pragma once directives to generated code. Thanks to Doug for suggesting this. Mon Feb 22 10:32:09 1999 Balachandran Natarajan * examples/Quoter/Factory_Finder.cpp * examples/Quoter/Factory_Finder_i.cpp * examples/Quoter/Generic_Factory.cpp * examples/Quoter/Generic_Factory_i.cpp * examples/Quoter/Quoter.cpp: Changed the TAO_TRY macros to ACE_TRY macros. Mon Feb 22 09:38:29 1999 Ossama Othman * orbsvcs/orbsvcs/Event/Dispatching_Modules.cpp: * orbsvcs/orbsvcs/Event/Module_Factory.cpp: * orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp: * orbsvcs/orbsvcs/Sched/Scheduler_Generic.cpp: * orbsvcs/orbsvcs/Trader/Trader_Utils.cpp: * orbsvcs/tests/Trading/Service_Type_Exporter.cpp: * performance-tests/Cubit/TAO/MT_Cubit/client.cpp: * tao/IIOP_Profile.cpp: Added some ACE_UNUSED_ARGs to prevent g++ 2.7.x from warning about unused arguments. Sun Feb 21 21:48:12 1999 Balachandran Natarajan * examples/POA: Changed TAO_TRY macros to ACE_TRY macros. Sun Feb 21 18:59:15 1999 Douglas C. Schmidt * TAO version 0.3.5 released. Sun Feb 21 17:29:28 1999 Balachandran Natarajan * examples/Simple/bank/server.cpp: * examples/Simple/bank/AccountManager_i.cpp: Fixed compilation error in EGCS compiler Sun Feb 21 16:54:46 1999 Jeff Parsons * tao/MProfile.i: Modifed TAO_MProfile::get_prev() and TAO_MProfile::get_current_profile() to always return a value - warning turned up in VC 6.0. Sun Feb 21 16:38:15 1999 Alexander Babu Arulanthu * TAO_IDL/driver/drv_preproc.cpp (DRV_pre_proc): Took care of #includes with <>'s in the idl files. Thanks to Mark Little for pointing this out. Sun Feb 21 09:07:38 1999 David L. Levine * orbsvcs/tests/EC_Throughput/ECT_Driver.cpp (dump_results): fixed 64-to-32 bit conversions so that they operate on the 64-bit quantity directly, instead of a quotient. And, divide by a float instead of an int, to use floating point division. Thanks to Souhad Mcheik for reporting that the code attempted to convert an unsigned 64-bit integer to a double. That's not supported by MSVC++ 5.0. Sat Feb 20 21:09:49 1999 Balachandran Natarajan * examples/Simple/bank/AccountManager_i.cpp (AccountManager_i): * examples/Simple/bank/Bank_Client_i.cpp: * examples/Simple/bank/Bank_Client_i.h: * examples/Simple/bank/client.cpp: * examples/Simple/bank/server.cpp: Made changes to the TAO_TRY macros Sat Feb 20 15:55:01 1999 David L. Levine * tests/Param_Test/Makefile: moved TAO_IDLFLAGS override to after includes, so that any settings in platform_macros.GNU are not lost. Sat Feb 20 000:28:57 1999 Jeff Parsons * tao/InconsistentTypeCodeC.h: Added title and description to the class header. Fri Feb 19 23:12:58 1999 Jeff Parsons * TAO/performance-tests/Cubit/TAO/DII_Cubit/client.cpp: Updated to the new request arg manipulation functions. Commented out cube_union for the present until compiled marshaling gets finished for unions. Fri Feb 19 22:53:19 1999 Douglas C. Schmidt * TAO/tao/Pluggable: Began to add support for CORBA operation calls that can timeout. Thanks to Kevin Royalty for suggesting this. Fri Feb 19 21:52:45 1999 Irfan Pyarali * tao/Invocation.cpp: The Twoway_Invocation class was re-fetching the profile and transport objects *after* sending the request. But during a nested upcall the transport hint in the current profile can change (if an invocation over the same object reference is required). The solution is to keep a reference to the transport object in the stack and pass it down to the invoke_i() method of the GIOP_Invocation class. Thanks to Hans Horsmann for reporting this bug. Thu Feb 18 20:07:10 1999 Yamuna Krishnamurthy * TAO_IDL/be/be_visitor_factory.cpp: Added missing context states in the TAO_Compiled_Visitor_Factory for servant implementation files Thanks to Mason Taube for bringing it to our notice. Thu Feb 18 17:28:43 1999 Jeff Parsons * TAO/tests/dynany_test/Makefile: Fixed a line that needed to start with a tab. Thanks to Hakan Kallberg for reporting this. Thu Feb 18 00:50:10 1999 Nanbor Wang * tao/MProfile.cpp: Need to include MProfile.i here when not inlined. Wed Feb 17 17:57:01 1999 Fred Kuhns * IIOP_ORB.cpp MProfile.cpp MProfile.h ORB.cpp Stub.cpp Stub.h Stub.i decode.cpp MProfile.i Inlined many of the MProfile methods Also, changed MProfile so it could assume ownership of a profile, thus saving a lock. Wed Feb 17 10:45:28 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Event/EC_ObserverStrategy.h: * orbsvcs/orbsvcs/Event/EC_ObserverStrategy.i: * orbsvcs/orbsvcs/Event/EC_ObserverStrategy.cpp: * orbsvcs/orbsvcs/Event/EC_Factory.h: * orbsvcs/orbsvcs/Event/EC_Null_Factory.h: * orbsvcs/orbsvcs/Event/EC_Null_Factory.cpp: * orbsvcs/orbsvcs/Event/EC_Basic_Factory.h: * orbsvcs/orbsvcs/Event/EC_Basic_Factory.cpp: * orbsvcs/orbsvcs/Event/EC_Event_Channel.h: * orbsvcs/orbsvcs/Event/EC_Event_Channel.cpp: I added an strategy to support the Event Channel observers. The Event Channel uses this strategy to implement the append_observer(), remove_observer() methods and it informs the strategy of any changes in the set of consumers and/or suppliers. * orbsvcs/orbsvcs/RtecEventChannelAdmin.idl: The operation remove_observer can also raise a SYNCHRONIZATION_ERROR exception * orbsvcs/orbsvcs/Event/EC_Filter.h: Added a typedef for the HeaderSet iterator. * orbsvcs/orbsvcs/Event/EC_SupplierAdmin.h: * orbsvcs/orbsvcs/Event/EC_SupplierAdmin.i: * orbsvcs/orbsvcs/Event/EC_SupplierAdmin.cpp: Made the iterator over the set of consumers a public interface. * orbsvcs/orbsvcs/Event/EC_ProxySupplier.h: * orbsvcs/orbsvcs/Event/EC_ConsumerAdmin.h: * orbsvcs/orbsvcs/Event/Event_Channel.h: * orbsvcs/orbsvcs/Event/Event_Channel.i: * orbsvcs/orbsvcs/Event/Event_Channel.cpp: Minor cosmetic fixes. Tue Feb 16 17:15:12 1999 Nagarajan Surendran * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/vb.{h,cpp}: * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/ab.{h,cpp} Defined a new VideoBuffer () class for the Video buffering process and AudioBuffer class for the audio buffering process and used the reactor for i/o handling instead of blocking i/o calls. Also uses a socketpair between the control process for exit notifications which eliminates the SIGUSR* signals. Also replaced the exit () calls with reactor end_event_loop so that the processes exit cleanly. * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/Command_Handler.cpp: * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/vd.cpp: Replaced the SIGUSR signals code with socket notification code. Tue Feb 16 16:48:28 1999 Nanbor Wang * tao/Exception.{h,cpp} (print_exception): Added this method to print out the exception type in a human readable form. This is not CORBA compliant and should never be used directly in user code. * tao/Environment.cpp (print_exception): Changed to use _narrow to determine if we have a SystemException or not. * tao/Invocation.cpp (location_forward): Changed to use ACE_PRINT_EXCEPTION. Tue Feb 16 16:45:38 1999 Carlos O'Ryan * tao/Invocation.cpp: Fixed warning due to unproper use of ACE_TRY macros, this time the warning was *very* significant. Mon Feb 15 21:22:55 1999 Jeff Parsons * TAO_IDL/be/be_visitor_argument/post_upcall_ss.cpp: * TAO_IDL/be/be_visitor_argument/pre_docall_cs.cpp: * TAO_IDL/be/be_visitor_argument/upcall_ss.cpp: Some g++ unused arg warning fixes I overlooked checking in. Mon Feb 15 17:24:52 1999 Pradeep Gore * tao/Invocation.cpp: * tao/Invocation.i: replaced all the TAO_TRY macros with their ACE_ equivalents. Mon Feb 15 16:24:42 1999 Carlos O'Ryan * tests/CDR/Makefile: * tests/CDR/allocator.cpp: Added a new test to measure the effect of using TSS allocators in the CDR streams. Mon Feb 15 13:26:29 1999 Douglas C. Schmidt * TAO version 0.3.4 released. Mon Feb 15 10:45:10 EST 1999 Aniruddha Gokhale * TAO_IDL/be/be_visitor_argument/post_docall_cs.cpp: * TAO_IDL/be_include/be_visitor_argument/post_docall_compiled_cs.cpp: Jeff's changes are now valid only for the "inout" paramater and not to the "out" parameter. Mon Feb 15 09:11:27 EST 1999 Aniruddha Gokhale * TAO_IDL/be/be_visitor_argument.cpp TAO_IDL/be_include/be_visitor_argument.h: Jeff had forgotten to #include the newly added files that he mentioned in his ChangeLog below. Due to this, we wre getting compile errors. * TAO_IDL/be_include/be_visitor_argument/post_docall_cs.h: Once again, Jeff had forgotten to add the visit_string method to the class declaration, although he had provided the implementation. Sun Feb 14 18:29:50 1999 Jeff Parsons * TAO_IDL/be_include/be_visitor_argument/post_docall_compiled_cs.h: * TAO_IDL/be/be_visitor_factory.cpp: * TAO_IDL/be/be_visitor_argument/post_docall_cs.cpp: * TAO_IDL/be_include/be_visitor_argument/post_docall_compiled_cs.cpp: * TAO_IDL/be_include/be_visitor_operation/operation_cs.h: * TAO_IDL/be_include/be_visitor_operation/arglist.h: Added post_invoke string_free() for INOUT and OUT strings, and release() for OUT objects, to plug a leak found with Purify. Added the compiled marshaling version classes for this as well. Changed the spot where post_invoke lines are generated, plus some other cosmetic fixes. Sun Feb 14 12:41:55 1999 Carlos O'Ryan * tao/Invocation.cpp: * tao/Pluggable.cpp: We must always check the environment after passing it down to another function. * tao/IIOP_Acceptor.cpp: * tao/IIOP_Connector.cpp: * tao/IIOP_ORB.cpp: * tao/IIOP_Profile.cpp: * tao/ORB.cpp: * tao/Object_KeyC.cpp: * tao/POAC.cpp: * tao/Typecode_Constants.cpp: * tao/orbconf.h: Several cosmetic fixes, mostly trailing spaces removed. Sat Feb 13 17:52:01 1999 Vishal Kachroo * orbsvcs/orbsvcs/Time/TAO_Time_Service_Server.cpp, * orbsvcs/orbsvcs/Time/TAO_Time_Service_Clerk.cpp), * orbsvcs/orbsvcs/Time/Timer_Helper.cpp: Changed the following to make the time returned in units of 100 nanoseconds instead of seconds. Sat Feb 13 01:11:52 1999 Nagarajan Surendran * orbsvcs/tests/AVStreams/mpeg/source/server/Property_Exporter.cpp: * orbsvcs/tests/AVStreams/mpeg/source/server/augmented_server.cpp: Replaced the _env environment variable usages with the TAO_IN_ENV parameters. Fri Feb 12 22:04:31 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Event/EC_Factory.h: * orbsvcs/orbsvcs/Event/EC_Basic_Factory.h: * orbsvcs/orbsvcs/Event/EC_Basic_Factory.cpp: * orbsvcs/orbsvcs/Event/EC_Null_Factory.h: * orbsvcs/orbsvcs/Event/EC_Null_Factory.cpp: * orbsvcs/orbsvcs/Event/EC_Event_Channel.h: * orbsvcs/orbsvcs/Event/EC_Event_Channel.i: Added new methods to create the locking strategies in the ProxyPushConsumer and ProxyPushSupplier. The Null_Factory uses ACE_Lock_Adapter, the Basic_Factory uses ACE_Lock_Adapter. * orbsvcs/orbsvcs/Event/EC_ProxySupplier.h: * orbsvcs/orbsvcs/Event/EC_ProxySupplier.i: * orbsvcs/orbsvcs/Event/EC_ProxySupplier.cpp: The ProxyPushSupplier uses the new locking strategies. A couple of private _i methods were added to avoid dead-locks. * orbsvcs/orbsvcs/Event/EC_Dispatching.h: * orbsvcs/orbsvcs/Event/EC_Dispatching.cpp: The dispatching strategy receives the consumer object reference from the ProxyPushSupplier, otherwise it has to make an upcall and incurs in a dead-lock. * orbsvcs/orbsvcs/Event/EC_SupplierFiltering.h: * orbsvcs/tests/EC_Throughput/ECT_Throughput.cpp: * orbsvcs/orbsvcs/Event/EC_ProxyConsumer.cpp: Minor cosmetic changes. * orbsvcs/orbsvcs/Makefile: Added dependencies for the new Event2 service. * tao/GIOP.cpp: Added some comments. Fri Feb 12 21:20:49 1999 Jeff Parsons * TAO/orbsvcs/orbsvcs/Time/TAO_UTO.cpp: * TAO/orbsvcs/orbsvcs/Time/TAO_TIO.cpp: * TAO/orbsvcs/orbsvcs/Time/Timer_Helper.cpp: * TAO/orbsvcs/orbsvcs/Log/Logger_i.cpp: * TAO/orbsvcs/orbsvcs/Concurrency/CC_Lock.cpp: * TAO/orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp: * TAO/orbsvcs/orbsvcs/Trader/Offer_Iterators.{h,cpp}: * TAO/orbsvcs/orbsvcs/Trader/Constraint_Visitors.cpp: * TAO/orbsvcs/orbsvcs/Trader/Service_Type_Repository.cpp: * TAO/orbsvcs/orbsvcs/Trader/Trader_Interfaces.h: * TAO/orbsvcs/orbsvcs/Trader/Offer_Iterators_T.h: * TAO/orbsvcs/orbsvcs/Trader/Trader_T.h: * TAO/orbsvcs/orbsvcs/Runtime_Scheduler.cpp: * TAO/orbsvcs/orbsvcs/Sched/Strategy_Scheduler.cpp: * TAO/orbsvcs/orbsvcs/Event/Event_Channel.cpp: * TAO/orbsvcs/orbsvcs/CosEvent/ConsumerAdmin_i.cpp: * TAO/orbsvcs/orbsvcs/CosEvent/SupplierAdmin_i.cpp: * TAO/orbsvcs/orbsvcs/CosEvent/EventChannel_i.cpp: * TAO/orbsvcs/orbsvcs/AV/AVStreams_i.cpp: * TAO/orbsvcs/orbsvcs/AV/Endpoint_Strategy.cpp: * TAO/orbsvcs/LifeCycle_Service/Criteria_Evaluator.h: * TAO/orbsvcs/LifeCycle_Service/Life_Cycle_Service.cpp: * TAO/orbsvcs/Time_Service/IR_Helper.cpp: * TAO/orbsvcs/Time_Service/Server_i.cpp: * TAO/orbsvcs/Time_Service/Clerk_i.cpp: * TAO/orbsvcs/ImplRepo_Service/ImplRepo_i.cpp: * TAO/orbsvcs/tests/Simple_Naming/client.cpp: * TAO/orbsvcs/tests/EC_Throughput/ECT_Supplier.cpp: * TAO/orbsvcs/tests/EC_Custom_Marshal/ECM_Supplier.cpp: * TAO/orbsvcs/tests/EC_Custom_Marshal/ECM_Consumer.cpp: * TAO/orbsvcs/tests/Concurrency/CC_tests.cpp: * TAO/orbsvcs/tests/Concurrency/CC_naming_service.cpp: * TAO/orbsvcs/tests/Concurrency/CC_command.tab.cpp: * TAO/orbsvcs/tests/Trading/TT_Info.h: * TAO/orbsvcs/tests/Trading/Simple_Dynamic.h: * TAO/examples/Callback_Quoter/Consumer_Signal_Handler.cpp: * TAO/examples/Callback_Quoter/Consumer_i.cpp: * TAO/examples/Callback_Quoter/Supplier_Timer_Handler.cpp: * TAO/examples/Callback_Quoter/Notifier_i.cpp: * TAO/examples/POA/Forwarding/Servant_Locator.cpp: * TAO/examples/POA/Generic_Servant/MyFooServant.cpp: * TAO/examples/Simple/bank/Account_i.cpp: * TAO/examples/Simple/bank/Server_i.cpp: * TAO/examples/Simple/bank/Client_i.cpp: * TAO/examples/Simple/chat/Broadcaster_i.cpp: * TAO/examples/Simple/echo/Echo_i.cpp: * TAO/examples/Simple/time/Time_i.cpp: * TAO/examples/Simple/grid/Grid_i.cpp: * TAO/tests/OctetSeq/OctetSeq.cpp: * TAO/tests/NestedUpcall/Reactor/reactor_i.cpp: * TAO/tests/NestedUpcall/Reactor/eh_i.cpp: * TAO/tests/NestedUpcall/Traingle_Test/Object_A_i.cpp: * TAO/tests/NestedUpcall/Traingle_Test/Object_B_i.cpp: * TAO/tests/NestedUpcall/Traingle_Test/Initiator_i.cpp: * TAO/tests/NestedUpcall/Traingle_Test/initiator.cpp: This takes care of the g++ unused arg warnings for all except IDL-generated code. I'm sure there are some mistakes in here, and I may have missed a file or two. I'll build what I can before I go tonight, but there will still be a few mistakes, I'm sure. Fri Feb 12 17:30:50 1999 Jeff Parsons * TAO_IDL/be/be_visitor_argument/pre_docall_cs.cpp: * TAO_IDL/be/be_visitor_argument/upcall_ss.cpp: I missed a couple. Fri Feb 12 17:12:33 1999 Jeff Parsons * TAO_IDL/util/utl_scope.cpp: * TAO_IDL/be/be_visitor.cpp: * TAO_IDL/be/be_visitor_argument/argument.cpp: * TAO_IDL/be/be_visitor_argument/docall_cs.cpp: * TAO_IDL/be/be_visitor_argument/post_marshal_ss.cpp: * TAO_IDL/be/be_visitor_argument/post_upcall_ss.cpp: * TAO_IDL/be/be_visitor_argument/pre_upcall_ss.cpp: * TAO_IDL/be/be_visitor_argument/compiled_marshal_cs.cpp: * TAO_IDL/be/be_visitor_argument/compiled_marshal_ss.cpp: * TAO_IDL/be/be_visitor_argument/pre_invoke_cs.cpp: * TAO_IDL/be/be_visitor_array/array.cpp: * TAO_IDL/be/be_visitor_exception/exception.cpp: * TAO_IDL/be/be_visitor_field/field_ch.cpp: * TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp: * TAO_IDL/be/be_visitor_interface/interface.cpp: * TAO_IDL/be/be_visitor_operation/operation_ss.cpp: * TAO_IDL/be/be_visitor_operation/rettype_is.cpp: * TAO_IDL/be/be_visitor_operation/rettype_post_upcall_ss.cpp: * TAO_IDL/be/be_visitor_operation/rettype_return_cs.cpp: * TAO_IDL/be/be_visitor_operation/compiled_marshal.cpp: * TAO_IDL/be/be_visitor_structure/structure.cpp: * TAO_IDL/be/be_visitor_typedef/typedef.cpp: * TAO_IDL/be/be_visitor_typedef/typedef_ch.cpp: * TAO_IDL/be/be_visitor_union/union.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_reset_cs.cpp: * TAO_IDL/be/be_visitor_union_branch/public_access_cs.cpp: * TAO_IDL/be/be_visitor_union_branch/public_ch.cpp: * TAO_IDL/be/be_visitor_union_branch/public_ci.cpp: * TAO_IDL/be/be_visitor_union_branch/public_cs.cpp: * TAO_IDL/be/be_visitor_union_branch/cdr_op_cs.cpp: Fixed g++ unused arg warnings for the TAO_IDL files. Fri Feb 12 16:16:19 1999 Nanbor Wang * tao/POA.cpp: Added missing parens. * docs/configurations.html: Changed the pointer to multi-thread, thread-per-connection example back to IDL_Cubit. * performance-tests/Cubit/TAO/IDL_Cubit/collocation_test.dsp: * performance-tests/Cubit/TAO/IDL_Cubit/Makefile: Changed to generate collocation_test executable to collocation/ so it can use a different default svc.conf file. * performance-tests/Cubit/TAO/IDL_Cubit/svc.conf.static: * performance-tests/Cubit/TAO/IDL_Cubit/svc.conf: Changed to use global ORB resources. Fri Feb 12 15:04:24 1999 Jeff Parsons * tao/DynanyC.cpp: * tao/Exception.cpp: * tao/Object.cpp: * tao/POA.cpp: * tao/Server_Request.cpp: * tao/IIOP_Acceptor.cpp: * tao/Stub.cpp: * tao/Connect.cpp: * tao/Active_object_Map.cpp: Fixed some new g++ unused arg warnings. Fri Feb 12 12:55:53 1999 Balachandran Natarajan * examples/Simple/Simple_util.cpp: Fix for the warning from Digital Unix Fri Feb 12 10:03:56 1999 Fred Kuhns * tao/IIOP_Profile.{h,cpp} tao/ORB.cpp tao/Stub.{i,cpp} Modified Stub and IIOP_Profile creation to use the cached address info in the orb_core. Thanks to Dr. David A. Janello for reporting this performance problem. * Modified tao/Stub.i to not print warning messages with a forwarded request is itself forwarded. Since the multiple profile code and forwarding is still in development I left a debug message. Fri Feb 12 09:35:00 1999 Chris Gill * TAO/orbsvcs/tests/Simulator/DOVEBrowser/DemoCore.java TAO/orbsvcs/tests/Simulator/DOVEBrowser/DoubleVisComp.java TAO/orbsvcs/tests/Simulator/DOVEBrowser/MTQueue.java TAO/orbsvcs/tests/Simulator/DOVEBrowser/make.bat: changed all uses of notify () to notifyAll () in MTQueue class, added monotonic scaling of windows for the dual EC demo. * TAO/orbsvcs/tests/Simulator/Event_Supplier/DOVE_Supplier.{cpp, h} TAO/orbsvcs/tests/Simulator/Event_Supplier/DualEC_Sup.{cpp, h}: added dummy registrations to schedulers to ensure priority separation for high and low priority channels, put all threads in DualEC_Sup process into the realtime scheduling class. Thu Feb 11 20:11:33 1999 Balachandran Natarajan * examples/Simple/grid/Grid_Client_i.cpp: * examples/Simple/grid/Grid_Client_i.h: * examples/Simple/grid/client.cpp: Made changes to accomodate changes that were put in to Simple_util for Naming service. Thu Feb 11 18:01:42 1999 Jeff Parsons * TAO/performance-tests/cubit/tao/idl_cubit/Cubit_Client.cpp: Took out one too many "unused args". Had to put one back. Thanks to Nanbor for pointing this out. Thu Feb 11 17:37:02 1999 Balachandran Natarajan * examples/Simple/time/client.cpp (main): * examples/Simple/time/Time_Client_i.cpp: * examples/Simple/time/Time_Client_i.h * examples/Simple/echo/client.cpp: * examples/Simple/echo/Echo_Client_i.cpp: * examples/Simple/echo/Echo_Client_i.h * examples/Simple/Simple_util.cpp * examples/Simple/Simple_util.h: Made changes to use the name service. Thu Feb 11 16:01:17 1999 Vishal Kachroo * orbsvcs/Time_Service/Clerk_i.cpp: Changed the ior_read () method to use ACE_Read_Buffer instead of fscanf (). Also ran purify on this. Got 0 memory leaks. * orbsvcs/Time_Service/Clerk_i.h (class Clerk_i): Changed ior_fp_ from FILE * to int. Used an ACE_HANDLE instead of FILE*. Thu Feb 11 15:36:42 1999 Jeff Parsons * orbsvcs/Trader/Trader_Utils.h: Fixed a g++ unused arg warning. Thu Feb 11 15:29:20 1999 Nanbor Wang * tao/Exception.h: * tao/Environment.{h,cpp}: Unprotected private members and add exception id and major number to CORBA_Environment if TAO_USES_FLICK is defined. Thanks to Tim Stack for notifying us the change. Thu Feb 11 15:28:49 1999 Nagarajan Surendran * orbsvcs/orbsvcs/AV/AVStreams_i.cpp: Fixed the g++ unused argument warnings. Thanks to Irfan for reporting this. Thu Feb 11 15:12:08 1999 Irfan Pyarali * tao/Forwarding_Servant.cpp (_primary_interface): Fixed the g++ unused arg warnings. Thu Feb 11 15:02:44 1999 Jeff Parsons * TAO/performance-tests/Cubit/tao/idl_cubit/Cubit_Client.cpp: Fixed the g++ unused arg warnings. Thu Feb 11 14:59:52 1999 Alexander Babu Arulanthu * orbsvcs/tests/Property/client.cpp: * orbsvcs/orbsvcs/CosPropertyService.idl: * orbsvcs/orbsvcs/AVStreams.idl: * orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp : Fixed the problem with marshalling/demarshalling multiple exceptions. Also changed PropertyException from exception to struct the CosPropertyService.idl file, as suggested by OMG. But, AVStreams is not updated by OMG yet. All the instances of "raises CosPropertyService::PropertyException" in AVStreams.idl has been changed to "raises AVStreams::PropertyException". Thanks to Carlos for the great help in debugging exception marshalling problem. Thanks to Ulf for the bug report. Thu Feb 11 14:40:01 1999 Jeff Parsons * tao/DynanyC.cpp: * tao/DynanyS.cpp: * tao/DynAny_i.cpp: * tao/DynEnum_i.cpp: * tao/DynSequence_i.cpp: * tao/DynStruct_i.cpp: * tao/DynUnion_i.cpp: Fixed the g++ unused arg warnings for these files. Thu Feb 11 14:34:46 1999 Darrell Brunsch * tao/tao.dsp: * orbsvcs/orbsvcs/orbsvcs.dsp: Fixed Alpha Configuration. Thu Feb 11 14:07:54 1999 Nanbor Wang * docs/configurations.html: Changed the multi-thread, thread-per-connection example to Concurrency_Service. Thanks to Terry Rosenbaum for reporting this. Thu Feb 11 11:28:44 1999 Vishal Kachroo * orbsvcs/orbsvcs/IOR_LookupTable.cpp: removed an extra #pragma from the file. Thu Feb 11 11:23:05 1999 Carlos O'Ryan * tao/IIOP_Interpreter.cpp: The GreenHills compiler (at least versions 1.8.8 and 1.8.9 of it) gets really confused by some template forward declarations. We had to re-arrange the includes to match the compiler liking. * tao/TAO_Internal.cpp: Need to include ORB_Core.h in platforms that do not support svc.conf or when tao is using a static services. Thu Feb 11 10:34:41 1999 Fred Kuhns * Use of PHandle in MProfile.{h,cpp} create a name conflict. Added TAO_ to fix this. * Thanks to John Morey for reminding me of the ACE-Guidelines ;). Thu Feb 11 02:51:34 1999 Nanbor Wang * tao/ORB.cpp (ORB_init): Only initialize the ORB global variables _after_ the ORB has been initialized. Otherwise, the init_orb_globals() will create a server_strategy_factory (as TAO is now) before we have a chance to initialize it. This bug was causing grief in POA registration test. Thanks to David A. Janello for reporting the bug. Wed Feb 10 23:50:11 1999 Irfan Pyarali * tao/Connect.cpp (handle_input): It is unfotunate that an exception (probably a system exception) was thrown by the upcall code (even by the user) when the client was not expecting a response. However, in this case, we cannot close the connection down, since it really isn't the client's fault. Thanks to Mark L. Boriack for helping in tracking down this problem. Wed Feb 10 23:15:27 1999 Vishal Kachroo * orbsvcs/Time_Service/Clerk_i.cpp : Fixed a bug for the service not working on NT with files. The initialization of the ACE_Array_Base was not being done in the right place. Thanks to Souhad Mcheik for reporting this. Wed Feb 10 22:16:01 1999 Darrell Brunsch * TAO_IDL/be/be_interface.cpp: Fixed off-by-one error with calculating dynamic string length. Wed Feb 10 19:39:27 1999 Alexander Babu Arulanthu * TAO_IDL/be/be_interface.cpp: Using ACE_DEFAULT_TEMP_FILE for generating gperf input file. Thanks to Lothar Werzinger for suggesting this. Wed Feb 10 18:55:09 1999 Fred Kuhns * Changed Stub.i, set_fwd_profiles () so it doesn't complain about fwd_profiles which are themselves forwarded. Wed Feb 10 17:17:46 1999 Carlos O'Ryan * TAO_IDL/be/be_decl.cpp: I had to zero out the buffer to generate identical Typecodes on all platforms, including the padding bytes (which are now zeros). Thanks to Jim Crossley for chasing down the problems with this code and for suggesting that we test it out by comparing the output of different IDL compilers; this showed that the padding bytes were not initialized. Wed Feb 10 16:36:41 1999 Jeff Parsons * tao/Request.{i,cpp}: Streamlined the new arg manipulation helper functions. They're now short enought to be inlined. Wed Feb 10 14:22:34 1999 Carlos O'Ryan * rules.tao.GNU: Enabled the unused variable warning again. It compiles cleanly enough on Linux/EGCS. * orbsvcs/orbsvcs/Log/Logger_i.cpp: * TAO_IDL/be/be_visitor_argument/marshal_ss.cpp: * TAO_IDL/be/be_visitor_argument/post_marshal_ss.cpp: * TAO_IDL/be/be_visitor_argument/post_upcall_ss.cpp: * TAO_IDL/be/be_visitor_argument/pre_docall_cs.cpp: * TAO_IDL/be/be_visitor_argument/pre_upcall_ss.cpp: * TAO_IDL/be/be_visitor_argument/upcall_ss.cpp: * TAO_IDL/be/be_visitor_argument/vardecl_ss.cpp: * TAO_IDL/be/be_visitor_array/array_ci.cpp: * TAO_IDL/be/be_visitor_array/array_cs.cpp: * TAO_IDL/be/be_visitor_enum/enum_cs.cpp: * TAO_IDL/be/be_visitor_exception/ctor_assign.cpp: * TAO_IDL/be/be_visitor_sequence/gen_object_manager_ci.cpp: * TAO_IDL/be/be_visitor_sequence/sequence_ch.cpp: * TAO_IDL/be/be_visitor_sequence/sequence_ci.cpp: * TAO_IDL/be/be_visitor_sequence/sequence_cs.cpp: * TAO_IDL/be/be_visitor_typedef/any_op_ch.cpp: * TAO_IDL/be/be_visitor_typedef/any_op_cs.cpp: * TAO_IDL/be/be_visitor_typedef/cdr_op_ch.cpp: * TAO_IDL/be/be_visitor_typedef/cdr_op_cs.cpp: * TAO_IDL/be/be_visitor_typedef/typedef_ci.cpp: * TAO_IDL/be/be_visitor_union_branch/public_assign_cs.cpp: * TAO_IDL/util/utl_stack.cpp: Fixed bunch of warnings about unused variables. Wed Feb 10 14:11:07 1999 Jeff Parsons * tao/Any.{h,cpp}: * tao/NVList.cpp: Added a method to Any called _tao_replace(). NVList method add_value() called Any::replace(). A bug report pointed out that, in the case where the Any arg to add_value() has been copy-constructed or assigned to, its value_ is 0, and replace() deals only with value_. _tao_replace is now called in add_value() if the value_ of the Any arg is 0, and _tao_replace() uses the Any's message block instead. A simple test adapted from the bug report code runs ok now with no leaks. Thanks to Barry Hoggard for reporting this bug. Wed Feb 10 13:05:17 1999 Douglas C. Schmidt * orbsvcs/orbsvcs/Event/Event_Channel.h (pdf): Moved struct Observer_Entry into the public part of the class to avoid problems with the SGI compiler. Thanks to Eric Mitchell for reporting this. Wed Feb 10 10:39:09 1999 Carlos O'Ryan * orbsvcs/Time_Service/IR_Helper.cpp: To use TAO_RETHROW the methods must use TAO_IN_ENV as the incoming CORBA_Environment argument. * tao/Typecode.i: Removed unused argument in kind() Wed Feb 10 10:28:16 1999 Vishal Kachroo * orbsvcs/orbsvcs/IOR_LookupTable.cpp (add_ior): Fixed a warning by cxx. Tue Feb 9 22:26:52 1999 Vishal Kachroo * orbsvcs/orbsvcs/IOR_LookupTable.cpp, * orbsvcs/orbsvcs/IOR_LookupTable.h, * orbsvcs/orbsvcs/Makefile: Added the class IOR_LookupTable which is an abstraction over the Hash_Map_Manager to store the object_name -> IOR mappings that will be used by the resolve_initial_references (). Updated the Makefile to include this class. Tue Feb 9 22:11:08 1999 Carlos O'Ryan * TAO_IDL/be/be_visitor_operation/operation_cs.cpp: The generated code contained a variable that was not used in all cases. Now we only generate the variable if we actually use it. Tue Feb 9 22:06:12 1999 Nagarajan Surendran * orbsvcs/orbsvcs/IOR_Multicast.h: Added Title and description comments to the class declaration. Tue Feb 9 21:40:29 1999 Balachandran Natarajan * $TAO_ROOT/examples/Event_Comm/*.cpp Changed all the TAO_* macros for exceptions to ACE_* macros. This went clean on SunOSC++. Tue Feb 9 20:38:24 1999 Carlos O'Ryan * TAO_IDL/be/be_visitor_interface/cdr_op_cs.cpp: Silenced pesky warning about unreached statement. * TAO_IDL/be_include/be_visitor_field/cdr_op_cs.h: * TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp: Added new visitor to generate the variable declarations required for marshaling certain kind of fields. * TAO_IDL/be/be_visitor_exception/cdr_op_cs.cpp: * TAO_IDL/be/be_visitor_structure/cdr_op_cs.cpp: Use the new visitor to generate field declarations. Tue Feb 9 20:43:13 1999 Balachandran Natarajan * $TAO_ROOT/examples/Callback_Quoter/*.cpp Changed all the TAO_* macros for exceptions to ACE_* macros. This went clean on SunOSC++ and SunOSg++ Tue Feb 9 17:55:31 1999 Carlos O'Ryan * tao/corbafwd.h: * tao/Active_Object_Map.h: * tao/Any.cpp: * tao/CDR.h: * tao/Client_Strategy_Factory.h: * tao/IIOP_ORB.h: * tao/Marshal.h: * tao/ORB.cpp: * tao/Object.cpp: * tao/Object.i: * tao/POA.h: Fixed several g++ errors and warnings, the main problem was that g++ could not cope with this code: class CORBA { public: int foo (); void bar (int x = CORBA::foo ()); }; I had to create two versions of the bar() method (actually ORB_init()). It also had some problems with the order of definition of some inline methods (which I was able to solve) and it required the definition (not only forward declarations) of some templates before some templates could be instantiated. Overall a small set of re-arrangment of includes and declarations. We have to test in other platforms now. Tue Feb 9 17:53:42 1999 Jeff Parsons * TAO/docs/configurations.html: Changed the first entry under Homogeneous Systems to reflect the move of tao/orbconf.h/TAO_DISABLE_SWAP_ON_READ to ace/OS.h/ACE_DISABLE_SWAP_ON_READ. Tue Feb 9 16:52:41 1999 Alexander Babu Arulanthu * TAO_IDL/be/be_exception.cpp (gen_typecode): Thanks to Carlos. Fixed the problem with the typecode generation for the exceptions. Tue Feb 9 16:39:27 1999 Carlos O'Ryan * TAO_IDL/be_include/be_decl.h: * TAO_IDL/be/be_decl.cpp: * TAO_IDL/be/be_enum.cpp: * TAO_IDL/be/be_enum_val.cpp: * TAO_IDL/be/be_exception.cpp: * TAO_IDL/be/be_field.cpp: * TAO_IDL/be/be_interface.cpp: * TAO_IDL/be/be_predefined_type.cpp: * TAO_IDL/be/be_structure.cpp: * TAO_IDL/be/be_typedef.cpp: * TAO_IDL/be/be_union.cpp: * TAO_IDL/be/be_union_branch.cpp: The name2long() function was using a but it needed a 32-bit type; the right type to use is a ACE_UINT32. This fixes some strange problems in 64-bit machines, like Alphas. * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Client.cpp: Fixed the ACE_DEBUG calls, they should be protected by the TAO_debug_level. Tue Feb 9 13:47:37 1999 Balachandran Natarajan * tao/try_macros.h: Changed the definition of TAO_IN_ENV to ACE_TRY_ENV Mon Feb 8 17:09:03 1999 Carlos O'Ryan * tao/debug.h: * tao/debug.cpp: * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Client.cpp: * tao/ORB_Core.cpp: * tao/Stub.cpp: * tao/deep_free.cpp: * tests/NestedUpcall/Reactor/client.cpp: Removed all the references to dmsg(), dmsg1(), dexc() and similar debugging macros, that's what we have ACE_DEBUG() for!! * performance-tests/Thruput/TAO/client.cpp: * tests/Multiple_Inheritance/server.cpp: Another couple of files that relied on "tao/corba.h" to include "ace/Get_Opt.h" Mon Feb 08 15:20:09 1999 Carlos O'Ryan * tao/corba.h: * tao/corbafwd.h: On NT we need to define DEBUG when _DEBUG is defined, but this definition was left on corba.h by mistake, now it is in corbafwd.h * tao/Invocation.h: MSVC++ doesn't know that a class and a struct are the same thing, and it complains when a structure is forward declared as a class; silly * orbsvcs/orbsvcs/Trader/Trader.cpp: MSVC++ gets confused by typedefs inside classes again. * tao/ORB_Strategies_T.cpp: Added missing #include. * tao/debug.cpp: * tao/debug.h: Fixed some #include problems. Mon Feb 8 15:25:00 1999 Balachandran Natarajan * examples/Simple/echo/Makefile, * examples/Simple/echo/client.cpp, * examples/Simple/echo/server.cpp, * examples/Simple/echo/Echo_i.cpp: Replaced old TAO_TRY macros with ACE_TRY macros * examples/Simple/echo/Echo_Client_i.cpp, * examples/Simple/echo/Echo_Client_i.h: New files after removing Server_i.* and Client_i.* Mon Feb 8 14:26:29 1999 Carlos O'Ryan * tao/DynAnyC.cpp, * tao/Object.cpp: Added missing #include for template instantiations. * tao/ORB.cpp, * tao/ORB_Core.cpp: Re-ordered includes, otherwise "ace/Dynamic_Service.h" does not have the proper context. Mon Feb 8 13:43:10 1999 Carlos O'Ryan * tao/corbafwd.h: * tao/corba.h: * tao/Active_Object_Map.cpp: * tao/Active_Object_Map.h: * tao/Any.cpp: * tao/Any.h: * tao/CDR.cpp: * tao/CDR.h: * tao/CDR.i: * tao/Client_Strategy_Factory.cpp: * tao/Client_Strategy_Factory.h: * tao/Connect.cpp: * tao/Connect.h: * tao/CurrentC.cpp: * tao/CurrentC.h: * tao/CurrentS.cpp: * tao/DynAnyC.cpp: * tao/DynAnyC.h: * tao/DynAnyS.cpp: * tao/DynAny_i.cpp: * tao/DynAny_i.h: * tao/DynArray_i.cpp: * tao/DynEnum_i.cpp: * tao/DynSequence_i.cpp: * tao/DynStruct_i.cpp: * tao/DynUnion_i.cpp: * tao/DynUnion_i_T.h: * tao/Environment.cpp: * tao/Environment.h: * tao/Exception.cpp: * tao/Exception.h: * tao/Forwarding_Servant.cpp: * tao/Forwarding_Servant.h: * tao/GIOP.cpp: * tao/GIOP.h: * tao/IIOP_Acceptor.cpp: * tao/IIOP_Acceptor.h: * tao/IIOP_Connector.cpp: * tao/IIOP_Connector.h: * tao/IIOP_Interpreter.cpp: * tao/IIOP_Interpreter.h: * tao/IIOP_ORB.cpp: * tao/IIOP_ORB.h: * tao/IIOP_Profile.cpp: * tao/IIOP_Profile.h: * tao/IIOP_Transport.cpp: * tao/IIOP_Transport.h: * tao/InconsistentTypeCodeC.cpp: * tao/InconsistentTypeCodeC.h: * tao/Invocation.cpp: * tao/Invocation.h: * tao/MProfile.cpp: * tao/MProfile.h: * tao/Makefile: * tao/Managed_Types.cpp: * tao/Managed_Types.h: * tao/Managed_Types.i: * tao/Marshal.cpp: * tao/Marshal.h: * tao/Marshal.i: * tao/NVList.cpp: * tao/NVList.h: * tao/ORB.cpp: * tao/ORB.h: * tao/ORB.i: * tao/ORB_Core.cpp: * tao/ORB_Core.h: * tao/Object.cpp: * tao/Object.h: * tao/Object.i: * tao/Object_KeyC.cpp: * tao/Object_KeyC.h: * tao/Object_KeyC.i: * tao/Operation_Table.cpp: * tao/Operation_Table.h: * tao/POA.cpp: * tao/POA.h: * tao/POAC.cpp: * tao/POAC.h: * tao/POAS.cpp: * tao/POAS.h: * tao/POA_CORBA.h: * tao/Pluggable.cpp: * tao/Pluggable.h: * tao/PolicyC.cpp: * tao/PolicyC.h: * tao/PolicyS.cpp: * tao/Principal.cpp: * tao/Principal.h: * tao/Principal.i: * tao/Request.cpp: * tao/Request.h: * tao/Sequence.cpp: * tao/Sequence.h: * tao/Sequence_T.h: * tao/Servant_Base.cpp: * tao/Servant_Base.h: * tao/Server_Request.cpp: * tao/Server_Request.h: * tao/Server_Request.i: * tao/Server_Strategy_Factory.cpp: * tao/Server_Strategy_Factory.h: * tao/Stub.cpp: * tao/Stub.h: * tao/Stub.i: * tao/TAO.cpp: * tao/TAO.h: * tao/TAO_Internal.h: * tao/Typecode.cpp: * tao/Typecode.h: * tao/Typecode.i: * tao/Typecode_Constants.cpp: * tao/Union.cpp: * tao/Union.h: * tao/append.cpp: * tao/debug.cpp: * tao/decode.cpp: * tao/deep_free.cpp: * tao/default_client.h: * tao/default_server.h: * tao/encode.cpp: * tao/orbconf.h: * tao/params.cpp: * tao/params.h: * tao/poa_T.h: * tao/singletons.h: * tao/skip.cpp: * tao/t-sizes.cpp: * tao/varout.h: Cleaned up the include madness, now all the files inside TAO include "tao/corbafwd.h" to obtain the CORBA namespace. This files includes very little (only "ace/CDR.h" and "tao/orbconf.h"); so it is lighter than including "tao/corba.h". External applications only need to include "tao/corba.h", as before, but this file has been trimmed down somewhat. There are still some dependencies between several header files in TAO (specially "tao/ORB_Core.h"), but this are minor compared to the previous situation. * utils/catior/catior.cpp: * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp: * orbsvcs/Time_Service/IR_Helper.cpp: This files make changes to the IIOP_Profile so they need to include "tao/IIOP_Profile.h" explicitly, notice that all the other files in TAO do not need to. * examples/POA/Default_Servant/server.cpp: * examples/POA/Explicit_Activation/server.cpp: * examples/POA/Forwarding/server.cpp: * examples/POA/On_Demand_Activation/server.cpp: * orbsvcs/Naming_Service/Naming_Service.cpp: * orbsvcs/tests/Trading/colocated_test.cpp: * tests/CDR/basic_types.cpp: * tests/Param_Test/options.cpp: This files used the "fact" that "tao/corba.h" included "ace/Get_Opt.h". * All the Makefiles in TAO where updated. Mon Feb 8 12:16:33 1999 Nanbor Wang * TAO_IDL/be/be_visitor_interface/interface_ss.cpp: * TAO_IDL/be/be_visitor_sequence/gen_bounded_obj_sequence_ch.cpp: * TAO_IDL/be/be_visitor_sequence/gen_bounded_obj_sequence_cs.cpp: * TAO_IDL/be/be_visitor_sequence/gen_unbounded_obj_sequence_ch.cpp: * TAO_IDL/be/be_visitor_sequence/gen_unbounded_obj_sequence_cs.cpp: Changed to generate ACE_TRY_ENV instead of TAO_IN_ENV. Mon Feb 08 00:52:18 1999 Douglas C. Schmidt * TAO version 0.3.3 released. Mon Feb 8 00:00:02 1999 Carlos O'Ryan * orbsvcs/tests/Simulator/Event_Supplier/Makefile: Some binaries did not link both NavWeapC.o and NavWeapS.o, this is needed for colocation support. Sun Feb 7 23:45:19 1999 Fred Kuhns * Updated makefile dependencies in orbsvcs/tests/Simulator/Event_Supplier Sun Feb 7 22:31:01 1999 Fred Kuhns * IIOP_ORB.cpp, poa declared twice. Sun Feb 7 21:35:17 1999 Fred Kuhns * Stub.i - added initialization for type_id from arg repository_id. Sun Feb 7 20:01:29 1999 Douglas C. Schmidt * tao/Stub.i (STUB_Object): Fixed warnings about repository_id being unused. Thanks to David for reporting this. * tao/IIOP_ORB.cpp: Added some checks for failed memory allocation. Sun Feb 7 16:57:55 1999 Balachandran Natarajan * examples/Simple/Simple_util.cpp * examples/Simple/time/Time_Client.cpp * examples/Simple/time/server.cpp * examples/Simple/grid/Grid_Client_i.cpp * examples/Simple/grid/server.cpp Changed TAO_TRY macros to ACE_TRY macros Sun Feb 7 15:30:34 1999 Jeff Parsons * tao/IIOP_Profile.cpp: Changed a line in is_equivalent(). The lhs of a == operator comparing two Versions was actually a pointer to a Version. Sun Feb 7 14:32:00 1999 Chris Gill * TAO/orbsvcs/tests/Simulator/DOVEBrowser/DOVEBrowser.java TAO/orbsvcs/tests/Simulator/DOVEBrowser/DOVEBrowserApplet.java TAO/orbsvcs/tests/Simulator/DOVEBrowser/DemoCore.java TAO/orbsvcs/tests/Simulator/DOVEBrowser/MTDataHandlerAdapter.java TAO/orbsvcs/tests/Simulator/DOVEBrowser/PushConsumer.java TAO/orbsvcs/tests/Simulator/DOVEBrowser/PushConsumerFactory.java TAO/orbsvcs/tests/Simulator/DOVEBrowser/make.bat : strategized browser concurrency: can either use direct orb upcalls (default) or use queueing in active data handler adapter objects (via the -queue command line switch). * TAO/orbsvcs/tests/Simulator/Event_Supplier/DOVE_Supplier.{cpp, h} TAO/orbsvcs/tests/Simulator/Event_Supplier/DualEC_Sup.{cpp, h}: fixed shutdown to ensure disconnection of the scheduler and EC servants, deregistration of these from the Naming Service. Also added command line switches -n and -w to set the number of usec slept before generating each navigation or weapons event, respectively. Sun Feb 7 11:44:58 1999 Carlos O'Ryan * TAO_IDL/driver/drv_args.cpp: Fixed the -Gi parsing code, it was setting compiled marshaling to 1, it must be 0. Sun Feb 07 11:19:13 1999 David L. Levine * TAO_IDL/be/be_codegen.cpp: changed #include protection from #if !defined to #ifndef. This allows compilers that recognize the #ifndef ... #define ... #endif idiom to optimize their reads of #include files. Sun Feb 7 01:06:58 1999 Carlos O'Ryan * tao/CDR.h: * tao/CDR.i: Yet another extraction operator for CDR streams (for CORBA::Char*). Sun Feb 7 00:52:36 1999 Jeff Parsons * orbsvcs/tests/EC_Custom_Marshal/ECCM_Consumer.dsp: * orbsvcs/tests/EC_Custom_Marshal/ECCM_Supplier.dsp: Changed the tao_idl.exe path to ACE_wrappers/bin. Sat Feb 6 23:16:14 1999 Carlos O'Ryan * TAO_IDL/util/utl_global.cpp: Activated compiled marshaling by default. IRIX/MIPSpro and Linux/EGCS are happy, and so seems Solaris/CC; the old behavior can be invoked using the -Gi IDL compiler option, or by setting the TAO_IDLFLAGS environment variable to "-Gi". * TAO_IDL/be/be_visitor_field/cdr_op_cs.cpp: A ACE_static_cast was used to remove constness, it should be ACE_const_cast. * TAO_IDL/be/be_visitor_array/cdr_op_ch.cpp: Sometimes the array name is prefixed by an _, but the operator << and >> for CDR streams was generated by appending the _ to the complete name, not just the base name; this made the IRIX compiler very unhappy. * tao/CDR.h: * tao/CDR.i: Added the operator << for TAO_OutputCDR and "const CORBA::Char*" Sat Feb 06 21:11:05 1999 Jeff Parsons * corba.h: Changed to reflect the renaming of the ACE filed to CDR_Stream.* Sat Feb 06 20:41:00 1999 Chris Gill * TAO/orbsvcs/tests/Simulator/Event_Supplier/DualEC_Sup.dsp TAO/orbsvcs/tests/Simulator/Event_Supplier/Event_Sup.dsw TAO/orbsvcs/tests/Simulator/Event_Supplier/Logging_Sup.dsp: Redid NT project file for DualEC_Sup using MSVC++ 5.0, added dependencies for .\NavWeap.idl on ..\NavWeap.idl Sat Feb 6 19:56:27 1999 Carlos O'Ryan * tao/CDR.h: * tao/CDR.i: * tao/CDR.cpp: Added << and >> operators for the TAO_*CDR classes; otherwise we get a lot of ambiguos definitions with the ACE_*CDR versions. * tao/orbconf.h: TAO_NO_COPY_OCTET_SEQUENCES is enabled always, until somebody actually defines ACE_NO_COPY_OCTET_SEQUENCES. Sat Feb 6 17:50:16 1999 Alexander Babu Arulanthu * orbsvcs/tests/Property/client.cpp: * orbsvcs/tests/Property/server.cpp: * orbsvcs/tests/Property/README: Fixed the problem with get_property_value passing IOR 1999-02-06 Nagarajan Surendran * TAO_IDL/driver/drv_preproc.cpp (DRV_pre_proc): Added an exit(1) when the preprocessor fails so that tao_idl doesn't hang. Sat Feb 06 07:55:00 1999 Chris Gill (new) * TAO/orbsvcs/tests/Simulator/DOVEBrowser/MTDataHandlerAdapter.java: Adapts data handler to be an active object that processes events enqueued by another thread. Sat Feb 06 07:33:19 1999 David L. Levine * tao/decode.cpp (decode): removed break statement following a return, because some compilers claim that it's not reachable. Sat Feb 06 01:20:53 1999 Irfan Pyarali * performance-tests/Cubit/TAO/MT_Cubit/svc.conf: No need to specify THR_BOUND since it is now the default. * tao/default_server.cpp (TAO_Default_Server_Strategy_Factory): Made THR_BOUND the default thread flags. Fri Feb 05 21:59:12 1999 Jeff Parsons * tao/CDR.{h,i,cpp}: * tao/orbconf.h: * tao/GIOP.cpp: * tao/ORB_Core.cpp: * tao/params.cpp: * tao/orb.cpp: * tao/orb.h: * tao/corba.h: * tao/Any.{h,i}:: * tao/Invocation.cpp: * tao/Connect.cpp: The leveraging of the ACE CDR classes into TAO. Compiles cleanly on VC, suncc and g++. Both the ACE and the TAO CDR tests are working fine. Fri Feb 05 21:23:33 1999 Douglas C. Schmidt * TAO version 0.3.2 released. Fri Feb 5 19:44:40 1999 Carlos O'Ryan * release.chk: Cleared all the marks, the file was not up-to-date. Fri Feb 5 18:45:36 1999 Fred Kuhns * tao/Stub.i: Rearranged order of declarations. Fri Feb 5 18:11:33 1999 Fred Kuhns * tao/MProfile.cpp Fixed set () so it would reinitialize the list of profiles. Fri Feb 05 16:55:00 1999 Chris Gill * TAO/orbsvcs/tests/Simulator/README: Documented DualEC_Sup. Fri Feb 05 16:05:00 1999 Chris Gill * TAO/orbsvcs/tests/Simulator/DOVEBrowser/PushConsumerFactory.java: Added -dualECdemo switch that resolves the appropriate event and scheduling service names for the DualEC_Sup supplier. Fri Feb 5 15:56:31 1999 Alexander Babu Arulanthu * orbsvcs/tests/Property/client.cpp: * orbsvcs/tests/Property/server.cpp: Added the fixes suggested by jaehrig@desys.com regarding CORBA::Any scopes to all the from_* and to_* methods of Any variables. * orbsvcs/tests/Property/README: Added this file Fri Feb 05 15:55:00 1999 Chris Gill * TAO/orbsvcs/tests/Simulator/Event_Supplier/DualEC_Sup.{cpp, h}: Changed to generate navigation, weapons events from separate threads * TAO/orbsvcs/tests/Simulator/Event_Supplier/Logging_Sup.cpp: fixed a problem valuing the wrong data structure Fri Feb 5 15:25:56 1999 Fred Kuhns * Changed IIOP_Core.{h,cpp} and IIOP_ORB.cpp to use ACE_INET_Addr in the hash map rather than ACE_Addr. Fri Feb 5 14:45:25 1999 Fred Kuhns * MProfile.{h,cpp} Added descriptive comments and fixed several cases of mixing int's with unsigned int's. Fri Feb 5 14:21:33 1999 Carlos O'Ryan * tao/IIOP_ORB.cpp: Fixed problems in the parsing of URL style IORs. * tao/IIOP_Profile.cpp: Added some comments for Fred. Fri Feb 05 13:15:00 1999 Chris Gill * TAO/orbsvcs/tests/Simulator/DOVEBrowser/DemoCore.java (new) TAO/orbsvcs/tests/Simulator/DOVEBrowser/MTQueue.java TAO/orbsvcs/tests/Simulator/DOVEBrowser/NavWeapDataHandler.java TAO/orbsvcs/tests/Simulator/DOVEBrowser/PushConsumer.java TAO/orbsvcs/tests/Simulator/DOVEBrowser/PushConsumerFactory.java TAO/orbsvcs/tests/Simulator/DOVEBrowser/make.bat : reorganized DOVE browser to accept events from multiple named event channels, using a set of named schedulers. Synchronized the data handler, added threaded queueing adapter to do early demultiplexing of ORB upcalls onto data handler threads. * TAO/orbsvcs/tests/Simulator/NavWeap.idl TAO/orbsvcs/tests/Simulator/Event_Supplier/DOVE_Supplier.{cpp, h} (new) TAO/orbsvcs/tests/Simulator/Event_Supplier/DualEC_Sup.{cpp, dsp, h} TAO/orbsvcs/tests/Simulator/Event_Supplier/Event_Sup.{cpp, dsp, dsw} TAO/orbsvcs/tests/Simulator/Event_Supplier/Logging_Sup.{cpp, dsp} TAO/orbsvcs/tests/Simulator/Event_Supplier/Makefile : reorganized supplier infrastructure to be able to define an EC and scheduler per supplier proxy instance. Added a new supplier, DualEC_Sup, which creates two event channels and two schedulers, then generates events and sends them over two channels. Fri Feb 5 11:12:04 EST 1999 Aniruddha Gokhale * TAO_IDL/be/be_visitor_operation/operation_cs.cpp: The generated stubs were using IIOP_Object to access the CORBA object's underlying stub object. However, since the IIOP_Object class is now removed, we use the STUB_Object class. Fri Feb 05 03:41:09 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Event/Event_Channel.h: * orbsvcs/orbsvcs/Event/Event_Channel.cpp: * orbsvcs/orbsvcs/Event/Dispatching_Modules.h: * orbsvcs/orbsvcs/Event/RT_Task.h: * orbsvcs/orbsvcs/Event/ReactorTask.h: * orbsvcs/orbsvcs/Event/Timer_Module.h: MSVC++ gets really confused by a default argument of the form Module::Foo::_nil () * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: * orbsvcs/tests/EC_Throughput/ECT_Throughput.cpp: * orbsvcs/tests/EC_Basic/EC_Basic.cpp: Updated to reflect the changes above. Fri Feb 5 02:34:27 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Event/Dispatching_Modules.cpp: * orbsvcs/orbsvcs/Event/Dispatching_Modules.h: * orbsvcs/orbsvcs/Event/EC_Basic_Filter_Builder.cpp: * orbsvcs/orbsvcs/Event/Event_Channel.cpp: * orbsvcs/orbsvcs/Event/Event_Channel.h: * orbsvcs/orbsvcs/Event/Event_Channel.i: * orbsvcs/orbsvcs/Event/Module_Factory.cpp: * orbsvcs/orbsvcs/Event/RT_Task.cpp: * orbsvcs/orbsvcs/Event/RT_Task.h: * orbsvcs/orbsvcs/Event/ReactorTask.cpp: * orbsvcs/orbsvcs/Event/ReactorTask.h: * orbsvcs/orbsvcs/Event/Timer_Module.cpp: * orbsvcs/orbsvcs/Event/Timer_Module.h: The Event Channel can receive a reference to the scheduler in its constructor, this reference is propagated to all the modules and used instead of the Scheduler_Factory singleton. This can be used to have more than one Event Channel for process or to simplify the testing of multiple Scheduling services. If no scheduler is specified the Event Channel bootstraps from the Scheduler_Factory as usual. * orbsvcs/tests/EC_Throughput/ECT_Throughput.cpp: * orbsvcs/tests/EC_Throughput/ECT_Consumer.cpp: * orbsvcs/tests/EC_Throughput/ECT_Consumer.h: * orbsvcs/tests/EC_Throughput/ECT_Consumer_Driver.cpp: * orbsvcs/tests/EC_Throughput/ECT_Consumer_Driver.h: * orbsvcs/tests/EC_Throughput/ECT_Supplier.cpp: * orbsvcs/tests/EC_Throughput/ECT_Supplier.h: * orbsvcs/tests/EC_Throughput/ECT_Supplier_Driver.cpp: * orbsvcs/tests/EC_Throughput/ECT_Supplier_Driver.h: * orbsvcs/tests/EC_Throughput/ECT_Throughput.cpp: * orbsvcs/tests/EC_Throughput/ECT_Throughput.h: * orbsvcs/tests/EC_Basic/EC_Basic.cpp: It doesn't use the Scheduler_Factory anymore, this illustrates how the EC can receive the scheduler as an argument. Fri Feb 5 02:33:05 1999 Carlos O'Ryan * tao/ORB_Core.cpp: Fixed explicit template instantiations for the new collocation map, it may not work correctly though. * orbsvcs/tests/EC_Custom_Marshal/Makefile: Updated dependencies. Thu Feb 04 23:42:39 1999 Nanbor Wang * tao/Stub.cpp: It should now include Stub.i instead of STUB_Object.i. * tao/TAO[_Static].dsp: Removed IIOP_Object and added MProfile. Thu Feb 4 22:18:13 1999 Fred Kuhns * added public destructor to TAO_IIOP_Profile Thu Feb 4 21:33:07 1999 Carlos O'Ryan * utils/catior/catior.cpp: It included $ACE_ROOT/tao/IIOP_Profile.h explicitly, the file has been removed. I'm not sure if the program will work, but at least I could update the Makefile dependencies. Thu Feb 4 19:18:51 1999 Fred Kuhns * Multiple Profiles (MP). This required the modification of several files, deleting others as well as adding and removing classes. * Removed the files IIOP_Object.{h,i,cpp} and object IIOP_Object. All functionality now resided in the old base class STUB_Object. * Changed many files and classes to multiple profiles or to account for removing the IIOP_Object class. 1) IIOP_Connector.cpp 2) IIOP_ORB.{h,cpp} IIOP_ORB.cpp changed references from IIOP_Object and Client_Handler to STUB_Object and TAO_Transport. Also moved much of the IIOP specific marsheling code to IIOP_Profile. 3) Invocation.{h,i,cpp} Changed references from IIOP_Object to STUB_Object. 4) ORB.{h,i,cpp} 5) ORB_Core.{h,i,cpp} 6) Object.{i,cpp} 7) Servant_Base.cpp 8) Server_Request.cpp 9) Stub.{h,i,cpp} All logic from IIOP_Object (minus transport specific stuff) moved to the STUB_Object. Also the MProfile class is used for storing all profiles. 10) decode.cpp Changed IIOP_Object ref to STUB_Object 11) encode.cpp Changed IIOP_Object ref to STUB_Object 12) Any.h Changed "friend class IIOP_Object" to "friend class STUB_Object" 13) corba.h Added #include's for the Multiple Profile header files. Thu Feb 4 15:07:29 1999 Fred Kuhns * updated MT_Cubit/svc.conf to use THR_BOUND as the default. Thu Feb 4 14:34:43 1999 Nagarajan Surendran * orbsvcs/tests/AVStreams/mpeg/mpeg_server/Globals.cpp: Added the initialization of a missing member variable. Thanks to Phil Ruelle for the fix. Thu Feb 04 10:55:28 1999 Nanbor Wang * tao/ORB_Strategies_T.cpp (activate_svc_handler): Fixed unmatched ACE_TRACE message. Thu Feb 4 00:02:17 1999 Nanbor Wang * tao/orbconf.h: Made sure _WIN32 doesn't get redefined. Thanks to Terry Rosenbaum for pointing this out. Wed Feb 03 15:01:22 1999 Nanbor Wang * tao/TAO_Internal.cpp (open_services): Do not try to parse the default svc.conf file is TAO_PLATFORM_SVC_CONF_FILE_NOTSUP is defined. You can still use the -f command line option to open a specific svc.conf file. Wed Feb 3 12:17:02 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Event/EC_Conjunction_Filter.h: * orbsvcs/orbsvcs/Event/EC_Conjunction_Filter.i: * orbsvcs/orbsvcs/Event/EC_Conjunction_Filter.cpp: Wait for all the children to accept their events, then it does. * orbsvcs/orbsvcs/Event/EC_Disjunction_Filter.h: * orbsvcs/orbsvcs/Event/EC_Disjunction_Filter.i: * orbsvcs/orbsvcs/Event/EC_Disjunction_Filter.cpp: Accepts an event if any of its children does. * orbsvcs/orbsvcs/Event/EC_Type_Filter.h: * orbsvcs/orbsvcs/Event/EC_Type_Filter.i: * orbsvcs/orbsvcs/Event/EC_Type_Filter.cpp: A filter based on source and/or type. * orbsvcs/orbsvcs/Event/EC_Basic_Filter_Builder.h: * orbsvcs/orbsvcs/Event/EC_Basic_Filter_Builder.i: * orbsvcs/orbsvcs/Event/EC_Basic_Filter_Builder.cpp: This Filter_Builder can use the new filters to support basic filtering and correlation. * orbsvcs/orbsvcs/Event/EC_Basic_Factory.h: * orbsvcs/orbsvcs/Event/EC_Basic_Factory.i: * orbsvcs/orbsvcs/Event/EC_Basic_Factory.cpp: A sample configuration based on the filtering above. * orbsvcs/orbsvcs/Event/EC_Filter.h: * orbsvcs/orbsvcs/Event/EC_Filter.i: * orbsvcs/orbsvcs/Event/EC_Filter.cpp: Use a RB_Tree to represent the set of event types required by a set of filters; this will let us implement the matching of consumers and suppliers more effificiently [O(nlog(n))] * orbsvcs/orbsvcs/Event/EC_ProxyConsumer.cpp: Call unbind() on the SupplierFiltering strategy, so it can release our resources. * orbsvcs/orbsvcs/Event/EC_SupplierFiltering.h: * orbsvcs/orbsvcs/Event/EC_SupplierFiltering.cpp: Added an unbind() method to support automatic destruction. * orbsvcs/orbsvcs/Event/EC_ConsumerAdmin.h: * orbsvcs/orbsvcs/Event/EC_Event_Channel.h: * orbsvcs/orbsvcs/Event/EC_Factory.h: * orbsvcs/orbsvcs/Event/EC_Null_Factory.h: * orbsvcs/orbsvcs/Event/EC_ProxyConsumer.h: * orbsvcs/orbsvcs/Event/EC_ProxySupplier.h: Updated comments. Wed Feb 03 07:07:07 1999 David L. Levine * tao/IIOP_Transport.h (send_request): commented out argument names to avoid g++ 2.7.2.3 warnings about unused arguments. * docs/configurations.html: removed note about TAO_ORBSVCS not being supported by orbsvcs/orbsvcs/tmplinst-orbsvcs.cpp. Thanks to Carlos, it is now supported. Tue Feb 02 09:22:31 1999 David L. Levine * tao/ORB.cpp (create_stub_object): removed unused local "orb_core". * tao/decode.cpp (decode): removed return and continue statements following breaks, because some compilers complain that they're unreachable. * tao/IIOP_Transport.cpp (do_sendv): added static cast of iov_len to size_t. It avoids a compile warning about signed/unsigned comparison on g++/Solaris86. Mon Feb 01 21:28:27 1999 Douglas C. Schmidt * TAO version 0.3.1 released. Mon Feb 1 16:33:39 1999 Carlos O'Ryan * tao/IIOP_Profile.cpp: * tao/params.cpp: * utils/catior/catior.cpp: Fixed some egcs warnings. Mon Feb 1 15:33:59 1999 Fred Kuhns * Update Connect.{h,cpp}, removed two unused args TAO_IIOP_Handler_Base Mon Feb 01 13:55:19 1999 David L. Levine * orbsvcs/tests/EC_Custom_Marshal/Makefile: ran make depend. Sun Jan 31 20:32:54 1999 Alexander Babu Arulanthu * docs/compiler.html: * tao_idl.1 * idl_global.h * drv_args.cpp * be_codegen.cpp Added these two options to the tao_idl compiler. -in To generate #include statements with <>'s for the standard include files (e.g. tao/corba.h) indicating them as non-changing files. Thanks to Andreas Geisler for this suggestion. -ic To generate #include statements with ""s for changing standard include files (e.g. tao/corba.h). Sat Jan 30 18:30:50 1999 Yamuna Krishnamurthy * docs/compiler.html: * docs/releasenotes/index.html: Reworded the documents to call the implementation skeleton files as servant implementation templates Sat Jan 30 16:28:57 1999 Pradeep Gore * orbsvcs/orbsvcs/CosEvent/ProxyPushConsumer_i.{h,cpp}: * orbsvcs/orbsvcs/CosEvent/SupplierAdmin_i.cpp: renamed variables named "ppc" to "proxypushconsumer" to fix the compile errors on Green Hills cross-compiler 1.8.8 for PowerPC. Sat Jan 30 14:26:41 1999 Vishal Kachroo Added a new option -ORBInitRef to the ORB. The syntax is -ORBInitRef =. The option works for the IOR formats understandable by the string_to_object (). The string_to_object () will be modified later to understand other ior formats like iiopname, iioploc. The new option takes precedence over the current methods of resolving an initial reference to an arbitrary object ID (through resolve_initial_references ()). * tao/ORB.cpp : Added a new function resolve_commandline_ref (). This function is called by the resolve_initial_references () to resolve a reference to an arbitrary object id specified in the -ORBInitRef param. * tao/ORB.h : Added the declaration for the above method. * tao/ORB_Core.cpp : Added the new option -ORBInitRef in init (). Also set the init_ref parameter if this option is specified. * tao/params.h : Added a new parameter init_ref_. Also added declarations for the Get/Set methods of init_ref_. * tao/params.i : Defined the Get/Set methods for the init_ref_ parameter. * tao/params.cpp : Added the constructor initialization of the init_ref_. Sat Jan 30 11:55:00 1999 Chris Gill * TAO/orbsvcs/tests/Sched_Conf/Sched_Conf.cpp TAO/orbsvcs/tests/Sched_Conf/Sched_Conf_Anomalies.cpp TAO/orbsvcs/tests/Sched_Conf/Sched_Conf_Anomalies_Runtime.h TAO/orbsvcs/tests/Sched_Conf/Sched_Conf_Runtime.{cpp, h}: updated types that had been changed in RtecScheduler.idl. Thanks to gwross for providing this ix, which solves a compilation problem with MSVC++ 6.0. Sat Jan 30 10:08:17 1999 Carlos O'Ryan * examples/POA/Generic_Servant/Makefile: The definition for the static library target was missing (LIB=) Thanks to Robert V. Head for pointing this out. * examples/Event_Comm/Event_Comm_i.cpp: Fixed the instantiation pragmas. Thanks to Robert V. Head for pointing this out. Fri Jan 29 20:16:45 1999 Jeff Parsons * tao/NVList.cpp: Changed add_value() to always copy the value of the Any, ignoring the CORBA::IN_COPY_VALUE flag. Calling replace(), as we did before, is faster, but if the value of the Any is 0 (void* value is null), a crash will result. Thanks to Carlos for figuring this out and to Barry Hoggard for reporting the bug. Fri Jan 29 18:07:28 1999 Yamuna Krishnamurthy * TAO_IDL/be/be_visitor_operation/rettype_is.cpp: Removed unused variables as this was giving warnings with the SGI compiler Fri Jan 29 18:04:25 1999 Fred Kuhns * Fixed an old style ref to IIOP::MY_MINOR and IIOP::MY_MAJOR to TAO_IIOP_Profile::DEF_IIOP_MAJOR, TAO_IIOP_Profile::DEF_IIOP_MINOR in utils/catior/catior.cpp Fri Jan 29 15:55:41 1999 Darrell Brunsch * Makefile: Added TAOACE.dsw to the list of Controlled Files. Fri Jan 29 13:07:42 1999 Nanbor Wang * docs/configurations.html: Added links to various examples for different configurations. Thanks to Jerry D. De Master for this suggestion. Fri Jan 29 12:22:22 1999 Yamuna Krishnamurthy * orbsvcs/tests/AVStreams/server_discovery/AV_Demo : Moved Seths README to AV_Demo * orbsvcs/tests/AVStreams/server_discovery/README : Provided information about how to run the Java Interface to the AV Demo * orbsvcs/tests/AVStreams/mpeg/README: Added how to run the AV Demo with the Trading Service Fri Jan 29 11:01:50 1999 Fred Kuhns * Updated profile references in orbsvcs/Time_Service/IR_Helper.cpp orbsvcs/ImplRepo_Service/ImplRepo_i.cpp Fri Jan 29 09:57:27 1999 Carlos O'Ryan * orbsvcs/Event_Service/Event_Service.cpp: I commited a version with support for the new Event Channel, this was a mistake, I'm reverting the change. Fri Jan 29 09:07:47 1999 David L. Levine * orbsvcs/tests/Sched_Conf/Sched_Conf.cpp: use RtecScheduler::Criticality_t, Importance_t, and Info_Type_T. Thanks to gwross for providing this fix, which solves a compilation problem with MSVC++ 6.0. Thu Jan 28 21:36:38 1999 Carlos O'Ryan * Updated the dependencies in all the Makefiles. Thu Jan 28 20:49:56 1999 David L. Levine * orbsvcs/orbsvcs/Log/Logger_i.cpp: removed ACE_Hash explicit template instantiation, because it's in tao/POA.cpp. Thu Jan 28 18:04:07 1999 Carlos O'Ryan * tao/TAO.dsp: * tao/TAO_Static.dsp: Added the new files to the NT projects. * tao/Makefile: Minor cosmetic changes. * tao/IIOP_Profile.h: * tao/IIOP_Profile.cpp: * tao/IIOP_Transport.cpp: Fixed warnings about out of order initialization of members and about signed/unsigned comparisons. Thu Jan 28 16:47:12 1999 Carlos O'Ryan * orbsvcs/orbsvcs/AVStreams_Full.idl: * orbsvcs/orbsvcs/CosEventChannelAdmin.idl: * orbsvcs/orbsvcs/CosEventComm.idl: * orbsvcs/orbsvcs/RtecScheduler.idl: * orbsvcs/orbsvcs/TimeService.idl: Fixed some problems with #pragma prefix Thu Jan 28 16:34:14 1999 Fred Kuhns * Added support for Pluggable Protocols (PP) This required the modification of several files, deleting others as well as adding and removing classes. * Added the following classes and files 1) Pluggable.h - Contains all the base classes and registries used in Pluggable protocols. New transport implementations will have to use these classes in order to 'plugin' to the framework. a) TAO_Profile b) TAO_Connector c) TAO_Transport d) TAO_Acceptor e) TAO_Connector_Registry Pluggable.cpp - Connector_Registry implementation and Profile Version class. Each transport specific TAO_[*]_Connector registers itself with this singleton. 2) IIOP_Profile.{h,cpp} Class TAO_IIOP_Profile is defined here and it profides IIOP specific processing. Much of the transport specific processing located in the IIOP_Object has been relocated to here. In particular an IIOP_Profile will contain a reference to the currently used transport, that is the connection handler. 3) IIOP_Connector.{h,cpp} All transport specific connection processing is hidden behind this class. The connection handler hint () is taken from the TAO_Profile (i.e. IIOP_Profile) object. 4) IIOP_Acceptor - basically just a transport neutral wrapper for the Acceptor. * Changed many files and classes to use this new transport independent Pluggable classes. Also relocated transport specific processing to the new classes. 1) Connect.{h,cpp} Created new base classes TAO_IIOP_Client_Transport and TAO_IIOP_Server_Transport in order to keep TAO_Transport references and leverage dynamic binding. That is, all handlers use either of these classes as a base class. TAO_SVC_HANDLER is a member object. Edited code so it passed TAO_Transport object references to GIOP::send_request and GIOP::recv_request. 2) GIOP.{h,cpp} Replaced all references to the handler object with the new transport object. Also moved all transport specific code used for reading and writing messages to the network to the new IIOP_Transport class. 3) IIOP_ORB.{h,cpp} IIOP_ORB.h -> got rid of the #include "tao/corba.h" moved much of the IIOP specific marsheling code to IIOP_Profile. 4) Invocation.{h,i,cpp} use TAO_Transport and TAO_Profile instead of Client_Handler and IIOP_Object::IIOP. Additionally, the connection is now made by the Connector_Registry object. All IIOP specific processing moved to TAO_IIOP_Profile. 5) ORB.{h,i,cpp} The preconnect method's functionality is moved to Connector_Registry and TAO_[*]_Profile. 6) ORB_Core.{h,i,cpp} The ORB_Core was changed to allocate memory for the new objects: TAO_Connector_Registry, TAO_IIOP_Connector and TAO_IIOP_Acceptor. Preconnect () moved also. 7) Servant_Base.cpp Changed to use STUB_Object refs rather than IIOP_Object. 8) Server_Request.cpp Changed to use STUB_Object refs rather than IIOP_Object. 9) decode.cpp Moved all IIOP specific processing (parsing IORs) to IIOP_Profile. 12) encode.cpp Moved all IIOP specific processing (parsing IORs) to IIOP_Profile. 13) params.{h,i,cpp} Changed use_IIOP_lite_protocol to use_lite_protocol. 14) corba.h Added #include's for the new Pluggable Protocol header files. Thu Jan 28 15:26:49 1999 Darrell Brunsch * tao/examples/Simple/grid/client.dsp: * tao/examples/Simple/grid/server.dsp: * tao/examples/Simple/time/client.dsp: * tao/examples/Simple/time/server.dsp: * tao/examples/Simple/time/client_static.dsp: * tao/examples/Simple/time/server_static.dsp: Updated to work with Bala's changes. * tao/examples/Simple/Time_Client_i.cpp: Added TAO_CHECK_ENV after using TAO_TRY_ENV in several spots. Thu Jan 28 11:32:11 1999 Nanbor Wang * tao/IIOP_ORB.cpp (string_to_object): Checked if the passed in is null. If yes, simply return a null object. * TAO-INSTALL.html (href): Fixed directory name leads to IDL_Cubit. Thanks to Zoran Ivanovic for reporting these. Thu Jan 28 11:41:39 1999 Carlos O'Ryan * orbsvcs/tests/EC_Throughput/ECT_Throughput.cpp: Disabled the support for the new EC implementation, it is not compiled by default in orbsvcs, hence it cannot be used by default either. Wed Jan 27 22:09:14 1999 Yamuna Krishnamurthy * orbsvcs/tests/AVStreams/mpeg/source/server/Property_Exporter.cpp: Enaaabled the exporting of properties by mutiple augmented servers * orbsvcs/tests/AVStreams/mpeg/source/server/Machine_Properties.cpp: Need to initialize the handle everytime in rstat * orbsvcs/tests/AVStreams/server_discovery/Strip_Chart.java: Modified the algorithm to get the performance graph working * orbsvcs/tests/AVStreams/server_discovery/Server_Discovery_Selection.java: Modified the Jtree to to display multiple movie info Enabled the display of the performance graph * orbsvcs/tests/AVStreams/server_discovery/Server_Discovery.java: Added the thread to get the dynamic properties and display as a graph Wed Jan 27 21:59:13 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Makefile: Added a new entry to the TAO_ORBSVCS macro, Event2, right now it is disabled by default. The makefile add a -DTAO_ORBSVCS_HAS_* for each entry in the TAO_ORBSVCS list. * orbsvcs/orbsvcs/tmplinst-orbsvcs.cpp: Use the TAO_ORBSVCS_HAS_* macros to instantiate only the needed templates. * orbsvcs/orbsvcs/Event/EC_Null_Factory.i: A variable was not properly initialized. * orbsvcs/orbsvcs/Event/EC_ConsumerAdmin.cpp: * orbsvcs/orbsvcs/Event/EC_SupplierAdmin.cpp: Added missing template instantiations * orbsvcs/tests/EC_Throughput/ECT_Throughput.h: * orbsvcs/tests/EC_Throughput/ECT_Throughput.cpp: It can create an instance of the new EC for testing purposes. Wed Jan 27 19:59:58 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Event/EC_ConsumerAdmin.cpp: * orbsvcs/orbsvcs/Event/EC_ConsumerAdmin.h: * orbsvcs/orbsvcs/Event/EC_ConsumerAdmin.i: * orbsvcs/orbsvcs/Event/EC_Dispatching.h: * orbsvcs/orbsvcs/Event/EC_Factory.h: * orbsvcs/orbsvcs/Event/EC_Filter_Builder.h: * orbsvcs/orbsvcs/Event/EC_Null_Factory.cpp: * orbsvcs/orbsvcs/Event/EC_Null_Factory.h: * orbsvcs/orbsvcs/Event/EC_Null_Factory.i: * 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_QOS_Info.cpp: * orbsvcs/orbsvcs/Event/EC_QOS_Info.h: * orbsvcs/orbsvcs/Event/EC_QOS_Info.i: * orbsvcs/orbsvcs/Event/EC_SupplierAdmin.cpp: * orbsvcs/orbsvcs/Event/EC_SupplierFiltering.cpp: * orbsvcs/orbsvcs/Event/EC_SupplierFiltering.h: * orbsvcs/orbsvcs/Event/EC_SupplierFiltering.i: Completed the first prototype, this version does not support filtering or real-time features, but it is useful to get baseline numbers. Wed Jan 27 13:14:32 1999 David L. Levine * TAO version 0.2.53 released. Tue Jan 26 22:06:01 1999 David L. Levine * rules.tao.GNU,docs/configurations.html: moved TAO_ORBSVCS documentation from rules.tao.GNU to docs/configurations.html. Tue Jan 26 16:24:57 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Event/README: * orbsvcs/orbsvcs/Event/EC_Event_Channel.h: Added some documentation about the new Event Channel implementation. * orbsvcs/orbsvcs/Event/EC_Dispatching.cpp: * orbsvcs/orbsvcs/Event/EC_Dispatching.h: * orbsvcs/orbsvcs/Event/EC_Factory.cpp: * orbsvcs/orbsvcs/Event/EC_Filter.cpp: * orbsvcs/orbsvcs/Event/EC_Filter.h: * orbsvcs/orbsvcs/Event/EC_Filter.i: * orbsvcs/orbsvcs/Event/EC_Filter_Builder.cpp: * orbsvcs/orbsvcs/Event/EC_Filter_Builder.h: * orbsvcs/orbsvcs/Event/EC_Filter_Builder.i: * orbsvcs/orbsvcs/Event/EC_ProxySupplier.cpp: * orbsvcs/orbsvcs/Event/EC_ProxySupplier.h: Added the implementation of a null filter and the corresponding filter builder. Also implemented the reactive dispatching strategy. Mon Jan 25 17:24:50 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Event/Timer_Module.h: Removed superfluous component in include path, thanks to Eric B. Mitchell for reporting this one. * orbsvcs/orbsvcs/Event/EC_ConsumerAdmin.cpp: * orbsvcs/orbsvcs/Event/EC_ConsumerAdmin.h: * orbsvcs/orbsvcs/Event/EC_Dispatching.h: * orbsvcs/orbsvcs/Event/EC_Dispatching.i: * orbsvcs/orbsvcs/Event/EC_Event_Channel.cpp: * orbsvcs/orbsvcs/Event/EC_Event_Channel.h: * orbsvcs/orbsvcs/Event/EC_Event_Channel.i: * orbsvcs/orbsvcs/Event/EC_Factory.h: * orbsvcs/orbsvcs/Event/EC_Filter.h: * orbsvcs/orbsvcs/Event/EC_Filter.i: * orbsvcs/orbsvcs/Event/EC_Filter_Builder.h: * orbsvcs/orbsvcs/Event/EC_Filter_Builder.i: * orbsvcs/orbsvcs/Event/EC_ProxyConsumer.cpp: * orbsvcs/orbsvcs/Event/EC_ProxyConsumer.h: * orbsvcs/orbsvcs/Event/EC_ProxyConsumer.i: * orbsvcs/orbsvcs/Event/EC_ProxySupplier.cpp: * orbsvcs/orbsvcs/Event/EC_ProxySupplier.h: * orbsvcs/orbsvcs/Event/EC_ProxySupplier.i: * orbsvcs/orbsvcs/Event/EC_SupplierAdmin.cpp: * orbsvcs/orbsvcs/Event/EC_SupplierAdmin.h: These files compile now, and are fairly complete, but I still have to implement the TAO_EC_Filter hierarchy, the dispatching strategies and a couple of example ProxySupplier/ProxyConsumer classes. We also need to implement the locking strategies. * orbsvcs/orbsvcs/Makefile: Updated dependencies. Mon Jan 25 13:54:00 1999 David L. Levine * rules.tao.GNU,orbsvcs/orbsvcs/Makefile: added TAO_ORBSVCS support for subsetting the liborbsvcs build. See rules.tao.GNU for usage information and limitations. Sun Jan 24 22:46:43 1999 Vishal Kachroo * removed the orbsvcs/orbsvcs/Time_Service/implrepo.conf file. This file is not required here. It is required in the tests dir. Made changes to the following Makefiles to incorporate the Implementation Repository service. * orbsvcs/orbsvcs/Makefile * orbsvcs/Makefile * orbsvcs/orbsvcs/ImplRepo_Service/Makefile * orbsvcs/orbsvcs/Time_Service/Makefile Sun Jan 24 17:04:47 1999 Nanbor Wang * orbsvcs/tests/ImplRepo/Repository_Test.cpp: Removed inclusion of . ACE should take care of it. Sun Jan 24 00:48:01 1999 Darrell Brunsch * orbsvcs/ImplRepo_Service/Ping.idl: * orbsvcs/ImplRepo_Service/ImplRepo.idl: * orbsvcs/orbsvcs/Ping.idl: * orbsvcs/orbsvcs/ImplRepo.idl: Moved IDL files from ImplRepo to orbsvcs. * orbsvcs/orbsvcs/orbsvcs.dsp: * orbsvcs/ImplRepo_Service/implrepo.dsp: * orbsvcs/ImplRepo_Service/ImplRepo_i.h: * orbsvcs/tests/ImplRepo/IR_Helper.h: * orbsvcs/tests/ImplRepo/IR_Helper.cpp: * orbsvcs/tests/ImplRepo/Repository_Test.dsp: * orbsvcs/tests/ImplRepo/airplane_client.dsp: * orbsvcs/tests/ImplRepo/airplane_server.dsp: Changed because of the above move. * orbsvcs/Time_Service/Clerk_i.cpp: * orbsvcs/Time_Service/IR_Helper.cpp: * orbsvcs/Time_Service/IR_Helper.h: * orbsvcs/Time_Service/Server_i.cpp: * orbsvcs/Time_Service/Time_Service_Clerk.dsp: * orbsvcs/Time_Service/Time_Service_Server.dsp: Changed because the IR IDL files moved, and also fixed various warnings on NT (mainly just changing TAO_CHECK_ENV_RETURNs to TAO_CHECK_ENV - since it looks like the result was the same). * orbsvcs/tests/ImplRepo/run_test.pl: Only one test now runs at a time. * orbsvcs/tests/Time/Time_Service_Test.dsp: * orbsvcs/tests/Time/run_test.pl: Fixed various problems on NT. Sat Jan 23 22:29:12 1999 Darrell Brunsch * docs/implrepo.html: * docs/implrepo/paper.html: * docs/implrepo/index.html: Moved the IR document to the implrepo subdirectory and updated it to address comments from John Mulhern <9107@mn3.lawson.lawson.com>. * docs/orbsvcs.html: Added information about the Implementation Repository. * TAO-INSTALL.html: Updated the Unix compile instructions. Sat Jan 23 19:44:32 1999 Darrell Brunsch * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp: Hopefully fixed some warnings on g++. Sat Jan 23 11:59:38 1999 Nanbor Wang * tao/Connect.cpp (send_error): (handle_input): Must use ACE_TRY_CHECK within the try block, not ACE_CHECK. Thanks to David for reporting this. Fri Jan 22 18:45:48 1999 Yamuna Krishnamurthy * docs/releasenotes/index.html: Added the information about the generation of servant implementations for implementation by the IDL Compiler * docs/compiler.html: Added the IDL compiler options for generating servant implementations Fri Jan 22 13:08:00 1999 Chris Gill * TAO/orbsvcs/orbsvcs/Sched/Sched_Entry.{cpp, h} TAO/orbsvcs/orbsvcs/Sched/DynSched.cpp TAO/orbsvcs/orbsvcs/Sched/Strategy_Scheduler.cpp: moved gcd and minimum_frame_size helper functions to class ACE as static methods, removed unnecessary #includes of math.h. Fri Jan 22 11:30:00 1999 Chris Gill * TAO/orbsvcs/tests/Simulator/DOVEBrowser/make.bat: added a "make setup" capability to set up the DOVE browser directory prior to the first build on NT. Fri Jan 22 08:43:30 1999 David L. Levine * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp (parse_args): initialize local "aux" to 0, because DU strtok_r requires it. * examples/Simple/grid/Grid_Client_i.cpp (parse_args): removed unused local "result". Thu Jan 21 22:21:20 1999 David L. Levine * TAO_IDL/util/utl_global.cpp (IDL_GlobalData), TAO_IDL/be/be_codegen.cpp (TAO_CodeGen): reordered initializers to match declaration order. Thu Jan 21 20:16:22 1999 Carlos O'Ryan * TAO_IDL/be/be_visitor_module/module_ih.cpp: Removed warning about unused variable. Thu Jan 21 19:04:36 1999 Carlos O'Ryan * tao/ORB_Core.h: * tao/corba.h: Moved the declaration of ORB_Core_instance() to the corba.h file, this solves some problems for the SAIC guys. Thu Jan 21 15:00:10 1999 Yamuna Krishnamurthy * TAO_IDL/util/utl_global.cpp: * TAO_IDL/include/idl_global.h: Add the following flags: implementation_hdr_ending_ impl_class_suffix_ impl_class_prefix_ implementation_skel_ending_ gen_impl_files_ gen_copy_ctor_ gen_assign_op_ (be_get_implementation_hdr): (be_get_implementation_skel): (be_get_implementation_hdr_fname): (be_get_implementation_skel_fname): (implementation_hdr_ending): (implementation_skel_ending): (impl_class_prefix): (impl_class_suffix): (implementation_hdr_ending): (implementation_skel_ending): (gen_impl_files): (gen_copy_ctor): (gen_assign_op): * TAO_IDL/driver/drv_args.cpp: Addded options to generate implementation header and skeleton files. Also provided options to change the name of the implemenation files created, adding copy constructors, providing prefixes and suffixes to the implementation class names * TAO_IDL/be/be_visitor_root/root.cpp: Add the following case statements to set constext case TAO_CodeGen::TAO_ROOT_IH case TAO_CodeGen::TAO_ROOT_IS * TAO_IDL/be/be_visitor_operation/arglist.cpp: Added the following case satements: case TAO_CodeGen::TAO_OPERATION_ARGLIST_IS: case TAO_CodeGen::TAO_OPERATION_ARGLIST_IH: os->indent (); *os << "CORBA::Environment &TAO_TRY_ENV"; break; * TAO_IDL/be/be_visitor_module/module.cpp: Added the following case statements to set the context case TAO_CodeGen::TAO_MODULE_IH: case TAO_CodeGen::TAO_MODULE_IS: * TAO_IDL/be/be_visitor_interface/interface_ss.cpp: Added the statements: "const POA_" << node->local_name () << "& rhs)" node->local_name () << " (const to generate a copy constructor in the skeleton with the object passed declared as a const. Initially the const was missing * TAO_IDL/be/be_visitor_interface/interface_sh.cpp: Added the statement "<< namebuf << " (const " << namebuf << "&rhs);" << be_nl" to generate a copy constructor in the skeleton with the object passed declared as a const. Initially the const was missing * TAO_IDL/be/be_visitor_interface/interface.cpp: Added the following case statements to set the context case TAO_CodeGen::TAO_INTERFACE_IH case TAO_CodeGen::TAO_INTERFACE_IS * TAO_IDL/be/be_visitor_attribute/attribute.cpp: Added the following case statements to set the context case TAO_CodeGen::TAO_ATTRIBUTE_IH case TAO_CodeGen::TAO_ATTRIBUTE_IS case TAO_CodeGen::TAO_ATTRIBUTE_IH case TAO_CodeGen::TAO_ATTRIBUTE_IS * TAO_IDL/be_include/be_visitor_root.h: Added statements to include root_is.h and root_ih.h * TAO_IDL/be/be_visitor_root.cpp: Added statements to include root_is.h and root_ih.cpp * TAO_IDL/be_include/be_visitor_operation.h: Added statements to include operation_is.h, operation_ih.h and rettype_is.h * TAO_IDL/be/be_visitor_operation.cpp: Added statements to include operation_is.cpp, operation_ih.cpp and rettype_is.cpp * TAO_IDL/be_include/be_visitor_module.h: Added statements to include and module_ih.h * TAO_IDL/be/be_visitor_module.cpp: Added statements to include and module_ih.cpp * TAO_IDL/be_include/be_visitor_interface.h: Added statements to include interface_is.h and interface_ih.h * TAO_IDL/be/be_visitor_interface.cpp: Added statements to include interface_is.cpp and interface_ih.cpp * TAO_IDL/be/be_visitor_factory.cpp: Added case statements for TAO_ROOT_IH TAO_ROOT_IS TAO_MODULE_IH TAO_MODULE_IS TAO_INTERFACE_IH TAO_INTERFACE_IS TAO_ATTRIBUTE_IH TAO_ATTRIBUTE_IS TAO_OPERATION_IS TAO_OPERATION_IH TAO_OPERATION_RETTYPE_IS TAO_OPERATION_ARGLIST_IH TAO_OPERATION_ARGLIST_IS to return corresponding visitors * TAO_IDL/be/be_produce.cpp: Added steps 7 and 8 to generate the implementation header and skeleton if it is asked for by the user by giving the -GI option when running tao_idl * TAO_IDL/be_include/be_interface.h: * TAO_IDL/be/be_interface.cpp: (gen_copy_ctors): function to generate copy constructors (gen_copy_ctors_helper): helper for generating the copy constructors (gen_def_ctors): function to generate default constructors (gen_def_ctors_helper): helper to generate default constructors * TAO_IDL/be_include/be_helper.h: * TAO_IDL/be/be_helper.cpp: Added the two cases for TAO_IMPL_HDR and TAO_IMPL_SKEL * TAO_IDL/be_include/be_decl.h: * TAO_IDL/be/be_decl.cpp: Added the impl_hdr_gen,impl_skel_gen_ ,impl_hdr_gen_,impl_skel_gen_ flags to check if the implementation headers and skeletons are created (impl_hdr_gen): (impl_skel_gen): return the corresponding flags * TAO_IDL/be_include/be_codegen.h: Add the following to the enumeration: TAO_ATTRIBUTE_IH TAO_ATTRIBUTE_IS TAO_INTERFACE_IH TAO_INTERFACE_IS TAO_MODULE_IH TAO_MODULE_IS TAO_OPERATION_IH TAO_OPERATION_IS TAO_OPERATION_RETTYPE_IS TAO_OPERATION_ARGLIST_IH TAO_OPERATION_ARGLIST_IS TAO_ROOT_IH TAO_ROOT_IS Also add the new methods from be_codegen.cpp below * TAO_IDL/be/be_codegen.cpp: Added the implementation_header_(0) and implemenattion_skeleton_(0) that hold the corresponding the TAO_OutStream (end_implementation_header): generate the #endif at the end of the implementation header file (implementation_skeleton): get the implemenatation skeleton stream (start_implementation_skeleton): set the implementation skeleton file stream and generate the #include statements (implementation_header): get the implementation header stream (start_implementation_header): method to set the implemenatation header file stream and generate the ifndef and #include satements * TAO_IDL/be/be_visitor_operation/rettype_is.cpp: * TAO_IDL/be_include/be_visitor_operation/rettype_is.h: Create a visitor to generate the return statements for the operations * TAO_IDL/be_include/be_visitor_operation/operation_ih.h: * TAO_IDL/be/be_visitor_operation/operation_ih.cpp: Create a visitor to generate code for the IDL operations in the implementation header * TAO_IDL/be/be_visitor_operation/operation_is.cpp: * TAO_IDL/be_include/be_visitor_operation/operation_is.h: Create a visitor to generate code for the IDL operations in the implementation skeleton * TAO_IDL/be_include/be_visitor_interface/interface_is.h (class be_visitor_interface_is): * TAO_IDL/be/be_visitor_interface/interface_is.cpp: create a visitor to generate code for the IDL interface in implementation skeleton * TAO_IDL/be/be_visitor_interface/interface_ih.cpp: * TAO_IDL/be_include/be_visitor_interface/interface_ih.h: Create a visitor to generate code for the IDL interface in the implementation header * TAO_IDL/be_include/be_visitor_module/module_ih.h (class be_visitor_module_ih): * TAO_IDL/be/be_visitor_module/module_ih.cpp: Create a visitor to generate code for the IDL module in implementation header * TAO_IDL/be/be_visitor_root/root_ih.cpp: * TAO_IDL/be_include/be_visitor_root/root_ih.h: Create a visitor to generate code for the root node in the implementation header * TAO_IDL/be/be_visitor_root/root_is.cpp: * TAO_IDL/be_include/be_visitor_root/root_is.h: Create a visitor to generate code for the root node in the implementation skeleton Thu Jan 21 14:10:20 1999 Vishal Kachroo * orbsvcs/orbsvcs/Time/Timer_Helper.cpp (handle_timeout): Added the macro ACE_U64_TO_U32 to the ULongLong parameters and added a #ifdef as #if defined ACE_LACKS_LONGLONG_T < apply the conversion macros > #else < dont use the macros > Thu Jan 21 14:10:33 1999 Carlos O'Ryan * orbsvcs/Time_Service/Makefile: The server program was not compiling on IRIX, some object files were placed after the libraries in the link line. Thu Jan 21 10:57:25 1999 Carlos O'Ryan * tao/CDR.cpp: Fixed a problem with TAO_OutputCDR::write_octet_array_mb, thanks to Dave Meyer for reporting and isolating this bug. * tests/CDR/Makefile: * tests/CDR/octet_sequence.cpp: Added a new test to verify that the fix above worked, thanks to Dave for this test also. * tests/CDR/CDR.dsw: * tests/CDR/octet_sequence.dsp: Added a new project for the octet_sequence test. * EC_ConsumerAdmin.cpp: * EC_ConsumerAdmin.h: * EC_ConsumerAdmin.i: * EC_Event_Channel.cpp: * EC_Event_Channel.h: * EC_Event_Channel.i: * EC_Factory.h: * EC_Factory.i: * EC_Filter.h: * EC_Filter.i: * EC_ProxyConsumer.h: * EC_ProxySupplier.cpp: * EC_ProxySupplier.h: * EC_ProxySupplier.i: * EC_SupplierAdmin.cpp: * EC_SupplierAdmin.h: * EC_SupplierAdmin.i: Continue the implementation of the new event channel. Wed Jan 20 23:32:47 1999 Vishal Kachroo * orbsvcs/orbsvcs/Time/Timer_Helper.cpp (handle_timeout): Added the ACE_U64_TO_U32 macros to fix the warnings by g++386. Wed Jan 20 20:52:45 1999 Nanbor Wang * TAO_IDL/driver/drv_preproc.cpp (DRV_pre_proc): Removed Win32 specific code. Wed Jan 20 13:54:37 1999 David L. Levine * tao/ORB_Core.cpp: removed explicit ACE_Convert instantiation. LynxOS' g++ was raising an internal compiler error on it, and it appears to no longer be used. * *.h,TAO_IDL/be/be_codegen.cpp (end_server_template_header): replaced () around #pragma implementation argument. Thanks to Susan Liebeskind and Steve Huston for reporting and confirming that it's necessary on AIX. Tue Jan 19 18:38:57 1999 Balachandran Natarajan * examples/Simple/time/Time_Client_i.h * examples/Simple/Simple_util.h * examples/Simple/Simple_util.cpp * examples/Simple/time/Time_i.cpp * examples/Simple/time/Time_i.h Added stuff for the g++ compiler to compile clean and build clean. Tue Jan 19 16:51:00 1999 Chris Gill * TAO/orbsvcs/orbsvcs/Sched/Config_Scheduler.h TAO/orbsvcs/orbsvcs/Sched/Strategy_Scheduler.{cpp, h}: added new TAO_Criticality_Scheduler_Strategy. Thanks to Amir Bahmanyari (abahmany@teknowledge.com) for suggesting this. * TAO/orbsvcs/tests/Simulator/DOVEBrowser/NavWeapDataHandler.java: added some additional debugging information if an unrecognized any type is received. Tue Jan 19 15:44:09 1999 David L. Levine * orbsvcs/tests/Simulator/Event_Supplier/Makefile: added dependencies. Tue Jan 19 15:22:14 1999 Carlos O'Ryan * orbsvcs/tests/tests.dsw: Added the ECT_Throughput project file. * orbsvcs/tests/EC_Throughput/ECT_Driver.cpp: MSVC5 does not support conversion from 64bit unsigneds to doubles. Tue Jan 19 01:31:36 1999 Nanbor Wang * TAO_IDL/driver/drv_preproc.cpp (DRV_pre_proc): Added a quick hack to open the tmp_file in the "correct" status on Win32 so the tmp_file will get removed automatically. We need to reimplement ACE_OS::fopen to make it behave the same as on other platforms at some later point. (DRV_copy_input): Changed to use ACE_OS::f* functions. It doesn't really make any difference here because the temp file get closed before unlink. Mon Jan 18 22:57:31 1999 Darrell Brunsch * orbsvcs/orbsvcs/orbsvcs.dsp: * tao/TAO.dsp: Updated for NT Alpha. Mon Jan 18 22:01:13 1999 Pradeep Gore * orbsvcs/tests/CosEC_Multiple/run_test.pl Added this script to run the test. This is still *under construction*. * orbsvcs/tests/CosEC_Multiple/README: Updated the README to reflect all the new options. * orbsvcs/tests/CosEC_Multiple/CosECConsumer{.h,cpp}: Added an parameter. * orbsvcs/tests/CosEC_Multiple/CosECSupplier{.h,cpp}: Added an parameter. * orbsvcs/tests/CosEC_Multiple/CosEC_Multiple.cpp: modified the method to check for nil pointer. * orbsvcs/CosEvent_Service/CosEvent_Service.cpp: 1. Removed the code to [un]register the local scheduler with the naming service.This fixed the "-s global option not working" bug. 2. Modified the method to scan for just 1 pair of {sourceid, event type} from the command line. * orbsvcs/CosEvent_Service/README: Updated the README to reflect all the new options. Mon Jan 18 17:37:45 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Channel_Clients.h: * orbsvcs/orbsvcs/Event/Channel_Clients.i: * orbsvcs/orbsvcs/Event/Channel_Clients_T.i: There was an horrible confusion with this files. I removed some obsolote versions and fixed an include. Thanks to Jeff Olszewski for pointing this out. Mon Jan 18 16:51:56 1999 Vishal Kachroo The bank example was throwing an exception if run multiple times. * examples/Simple/bank/Server_i.cpp (init_naming_service): Added the TAO_TRY blocks. Used rebind instead of bind. * examples/Simple/bank/server.cpp: Added a TAO_CHECK_ENV. Mon Jan 18 11:20:10 1999 Carlos O'Ryan * tao/decode.cpp: Fixed a problem with indirected type codes, thanks to Slava Galperin for detecting the problem and providing us with a patch for it. * examples/Simple/time/server.cpp: * examples/Simple/time/Time_Client_i.cpp: Added missing template instantiations. Mon Jan 18 01:16:53 1999 Nanbor Wang * tao/Connect.cpp: * tao/GIOP.cpp: Replaced TAO try macros with ACE try macros. * tao/try_macros.h: Source in ace/CORBA_macros.h so we can start switching over to the new macros. Most of the macros in this file will be gone once we finish the transition. Mon Jan 18 00:25:40 1999 Douglas C. Schmidt * TAO version 0.2.52 released. Sun Jan 17 16:15:10 1999 Carlos O'Ryan * tao/GIOP.h: * tao/GIOP.cpp: Checked the return value of some send_n() calls, at least to print appropiate debug messages if TAO_orbdebug is not 0. Also added constants to document the size of the IIOP_Lite header (vs. the GIOP header) and the offset of the message size in the GIOP and the IIOP_Lite headers. Sun Jan 17 15:51:39 1999 Vishal Kachroo * orbsvcs/Time_Service/Time_Service_Server.dsp: Added the generated files of ImplRepo to the project .dsp. This is required till the ImplRepo idl files are moved to the orbsvcs/orbsvcs directory. Sun Jan 17 15:41:12 1999 Nanbor Wang * TAO/TAOACE_Static.dsw: Removed outdated project files. * TAO/TAO_IDL/tao_idl.dsp: * TAO/TAO_IDL/tao_idl_static.dsp: * TAO/orbsvcs/orbsvcs/orbsvcs.dsp: * TAO/orbsvcs/orbsvcs/orbsvcs_static.dsp: * TAO/tao/TAO.dsp: * TAO/tao/TAO_Static.dsp: Rearranged the intermediate directory for DLL/LIB build to avoid confusing the build utility in VC. Sun Jan 17 15:34:17 1999 Douglas C. Schmidt * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp (wait_until_ready): Replaced ACE_Thread_Mutex with ACE_SYNCH_MUTEX so that this will compile properly with threads=0. Thanks to Russ Noseworthy for reporting this! Sat Jan 16 22:54:14 1999 Ossama Othman * TAO_IDL/driver/drv_args.cpp (DRV_check_gperf): Added ability to check for a gperf program with a name other than "gperf." This modification complements the change that was made to TAO_IDL/util/utl_global.cpp a few months ago that allowed TAO to use a gperf with a name besides "gperf." As before, define the ACE_GPERF macro like so: -DACE_GPERF=\"gperf-ace\" for example, to specify a perfect hash function generator called "gperf-ace." Sat Jan 16 11:49:45 1999 Douglas C. Schmidt * TAO_IDL/util/utl_global.cpp (add_to_included_idl_files): Change line 515 from: this->n_included_idl_files_ += INCREMENT; to: this->n_allocated_idl_files_ += INCREMENT; so that tao_idl won't crash when including 64 or more files. Thanks to Tommy Andreasen for reporting this. Fri Jan 15 19:11:10 1999 Balachandran Natarajan * examples/Simple/time/Time_Client_i.cpp: * examples/Simple/time/Time_Client_i.h: Added permissions for these files. Fri Jan 15 18:43:02 1999 Balachandran Natarajan * examples/Simple/time/Time_Client_i.cpp: * examples/Simple/time/Time_Client_i.h: New files added for implementing the Templates for a single client/server model * examples/Simple/time/Time_i.cpp: * examples/Simple/time/Time_i.h: * examples/Simple/time/server.cpp: * examples/Simple/time/client.cpp: Made changes in a way such that server and client make instantiations of templates with their interface objects. * examples/Simple/Simple_Util.h: * examples/Simple/Simple_Util.cpp: New files that have the template definitions and implementation of those methods. Fri Jan 15 17:24:36 1999 Vishal Kachroo * orbsvcs/tests/Time/Client_i.cpp (init): Checked the return value of the obtain_initial_references () for the client to die gracefully in the absence of a clerk. Thanks to Ulf for pointing out this. * orbsvcs/tests/Time/Client_i.h : Removed explicit qualification of the method test_for_secure_universal_time (). Thanks to Ulf for pointing out this. Fri Jan 15 14:25:29 1999 Seth Widoff * orbsvcs/tests/Trading/Service_Type_Exporter.cpp: * orbsvcs/tests/Trading/TT_Info.{h,cpp}: * orbsvcs/tests/Trading/colocated_test.cpp: * orbsvcs/tests/Trading/export_test.cpp: * orbsvcs/tests/Trading/import_test.cpp: Added the -iorfile or -i option to the export and import test. When provided a file name, the tests read the trader IOR from the file, else from standard input. Fixed some formating in the remaining files. * orbsvcs/orbsvcs/Trader/Service_Type_Repository.cpp: * orbsvcs/orbsvcs/Trader/Trader_Interfaces.cpp: * orbsvcs/orbsvcs/Trader/Trader_T.cpp: * orbsvcs/orbsvcs/Trader/Trader_Utils.cpp: More "clever" uses of sequence buffers to avoid copying broke when the memory mangement of string sequences changed recently. Resorted to good, ol' fashioned copying. There shouldn't be any more of these lurking around. Fri Jan 15 08:21:55 1999 Douglas C. Schmidt * TAO version 0.2.51 released. Fri Jan 15 03:52:22 1999 Nanbor Wang * docs/exceptions.html: Removed most entries in this file. Added redirection to the new exception handling guideline page. Fri Jan 15 01:47:41 1999 Douglas C. Schmidt * TAO version 0.2.50 released. Fri Jan 15 00:35:24 1999 Vishal Kachroo * orbsvcs/tests/Time/run_test.pl : Added this perl script to test run the time service. The script offers options to run the service using either of the following : - Implementation Repository - Naming Service - Files The script runs only a single server because at this time I dont know how to start servers on different machines with the same script. Also the IR doesnt allow to run its multiple copies in the same directory because it writes implrepo.ior to the current directory. * orbsvcs/tests/Time/implrepo.conf : Added this file. This doesnt really belong here but anything which needs to run the IR needs this file. Thu Jan 14 23:50:25 1999 Darrell Brunsch * docs/implrepo/usersguide.html: * docs/implrepo/index.html: * docs/implrepo/status.html: Added and collected most of the information on the Implementation Repository. The main addition was a rough User's Guide which should help people use the IR. * docs/releasenotes/index.html: * docs/index.html: Now point to the correct IR stuff. Thu Jan 14 23:32:19 1999 Vishal Kachroo * orbsvcs/tests/ImplRepo/Makefile: Changed to incorporate the right path for Repository.o file. The make was throwing a link error. Thu Jan 14 22:10:49 1999 Nanbor Wang * tao/try_macros.h: Added comments to indication the macros in the file has been depricated. Thu Jan 14 15:39:34 1999 Irfan Pyarali * tao/Connect.cpp (check_unexpected_data): Only print the closing connection message when TAO_orbdebug is on. Thu Jan 14 15:52:00 1999 Chris Gill * orbsvcs/tests/Simulator/README orbsvcs/tests/Simulator/DOVEBrowser/Makefile orbsvcs/tests/Simulator/DOVEMIB/Makefile orbsvcs/tests/Simulator/Event_Supplier/Makefile Thu Jan 14 14:07:17 1999 Jeff Parsons * tao/Request.{h,i,cpp}: Added the argument manipulation helper functions, as shown in the C++ mapping of ORBOS 98-09-03. Thu Jan 14 11:51:31 1999 Douglas C. Schmidt * orbsvcs/orbsvcs/Event/Event_Channel.h, orbsvcs/orbsvcs/Trader/Service_Type_Repository.h: Changed a private: to public: to fix a problem on IRIX 6.4. Thanks to Eric Mitchell for reporting this. Thu Jan 14 02:46:56 1999 Douglas C. Schmidt * TAO version 0.2.49 released. Thu Jan 14 00:52:48 1999 Irfan Pyarali * tao/ORB.cpp (run): Added a new version of the run() method. This variant takes no timeout parameters and hence does not terminate the event loop if the Reactor returns a 0. This variant is necessary for TAO to work correctly with Reactor implementations such as XtReactor that returns zero even when the timeout does not expire. Thanks to JM Strauss for suggesting this change. Also, fixed the timeout by reference version of the run() method such that it no longer pretends to be dealing with const timeouts. Wed Jan 13 14:56:00 1999 Chris Gill * orbsvcs/tests/Simulator/Event_Supplier/Event_Sup.cpp orbsvcs/tests/Simulator/Event_Supplier/Logging_Sup.cpp: fixed string members of IDL structs by using .inout () to obtain lvalue. Wed Jan 13 09:50:16 1999 David L. Levine * orbsvcs/orbsvcs/Log/Logger_i.cpp: removed ACE_Equal_To explicit instantiation because it's in tao/POA.cpp. Tue Jan 12 20:10:16 1999 Nanbor Wang * tao/GIOP.cpp (send_request): Changed to use sendv_n to do vector write. Tue Jan 12 19:13:07 1999 Pradeep Gore * orbsvcs/CosEvent_Service/CosEvent_Service.cpp: fixed a seg fault that happened on program exit if failed. Now, is called before anything else. Tue Jan 12 18:04:33 1999 Jeff Parsons * tao/Sequence_T.i: Fixed a memory leak in bounded sequences. Thanks to Patrice Bensoussan for helping us track this down. Tue Jan 12 13:09:06 1999 Darrell Brunsch * orbsvcs/ImplRepo_Service/ImplRepo_i.{h,cpp}: Fixed some warning producing code. Tue Jan 12 10:48:15 1999 David L. Levine * tao/Sequence_T.{i,cpp} (TAO_Unbounded_Sequence::operator[]): uninlined to avoid build (template instantiation) problems with Sun C++ 4.2 patch 104631-07. Thanks to Magnus Karlsson for confirming that this solves the problem. Tue Jan 12 08:46:42 1999 Aniruddha Gokhale * TAO_IDL/util/utl_scope.cpp: In the patch applied mentioned in the ChangeLog below, we were using the keyword "true" in a while loop. Unfortunately, it is not supported by SunCC. So we use the value 1 to represent a "true" value. Mon Jan 11 22:56:26 1999 Jeff Parsons * tao_idl/include/utl_scope.h: * tao_idl/util/utl_scope.cpp: Added a patch sent in by Hamish Friedlander. This patch modified his previous patch (which enabled re-opening of modules) to further enable scoped lookups on these re-opened modules. Mon Jan 11 21:20:23 1999 Nanbor Wang * tao/GIOP.cpp (send_request): Fixed typos. Mon Jan 11 19:40:25 1999 Pradeep Gore * orbsvcs/orbsvcs/CosEvent: for all files in this directory - replaced TAO_TRY_ENV with TAO_IN_ENV Mon Jan 11 16:55:57 1999 David L. Levine * IIOP: removed entire directory tree. Mon Jan 11 16:36:08 1999 Jeff Parsons * TAO/docs/releasenotes/index.html: Added a section for the forthcoming Interface Repository Mon Jan 11 13:15:15 1999 Douglas C. Schmidt * tao/GIOP.cpp: Changed the implementation to use the new send_n() method on SOCK_Stream. This enabled me to be able to remove the adhoc use of writev_n() in this file. Mon Jan 11 12:37:23 1999 Vishal Kachroo Dereferenced the _var pointers in the following. * orbsvcs/Time_Service/Server_i.cpp (init_IR): * orbsvcs/Time_Service/Server_i.cpp (create_server): Mon Jan 11 02:10:05 1999 Nanbor Wang * tao/try_macros.h (TAO_THROW_ENV_RETURN): Forgot to removed duplicate definition. * tao/try_macros.h (TAO_CATCHALL): For compilers without c++ exceptions, simply make it identical to TAO_CATCHANY. Thanks, to Irfan for suggesting the change. Sun Jan 10 22:43:06 1999 Nanbor Wang * Active_Object_Map.h: * Active_Object_Map.i: * Any.h: * Any.i: * CDR.h: * CDR.i: * Connect.cpp: * Connect.h: * DynAnyC.h: * DynAny_i.h: * DynArray_i.h: * DynEnum_i.h: * DynSequence_i.h: * DynStruct_i.h: * DynUnion_i.h: * Environment.h: * Exception.cpp: * IIOP_Object.h: * Invocation.cpp: * Invocation.i: * Marshal.i: * ORB.h: * ORB_Core.h: * ORB_Core.i: * Object.i: * POA_CORBA.h: * Server_Request.h: * Stub.h: * TAO.h: Standardized the name of CORBA_Environment argument in functions. This is an effort trying to simplify the use of TAO try macros. * tao/try_macros.h: Removed TAO_THROW_ENV_RETURN_VOID. It's identical to TAO_THROW_ENV. Changed to use TAO_CHECK_ENV_RETURN and TAO_CHECK_ENV_RETURN_VOID to define TAO_CHECK_RETURN and TAO_CHECK_RETURN_VOID. * docs/exceptions.html: Added a section "In a nutshell" which covers 99% of the use case of TAO try macros. Sun Jan 10 16:36:24 1999 Vishal Kachroo Added the following to the Time Service. * orbsvcs/Time_Service/README: * orbsvcs/tests/Time/README: Sun Jan 10 15:36:44 1999 Vishal Kachroo * orbsvcs/Time_Service/Makefile: Added the following rule to make sure the ImplRepo_Service is uptodate. include $(ACE_ROOT)/include/makeinclude/rules.nested.GNU There would be no need for this once the files in the ImplRepo_Service are moved to the proper directories. Sun Jan 10 02:57:26 1999 Irfan Pyarali * examples/POA/DSI/Database_i.cpp: Fixed template instantiation problems and member re-ordereding problems. Sat Jan 9 22:50:35 1999 Vishal Kachroo * orbsvcs/Time_Service/Server_i.cpp : Added the Implementation repository related functions. Made changes to incorporate the additional functionality required by the IR. * orbsvcs/Time_Service/Server_i.h : Addded member variables and functions required by the IR. The following files are required by the server. These files would have to be removed from here once the IR stabilizes and these files are put in a particular directory. * orbsvcs/Time_Service/IR_Helper.cpp * orbsvcs/Time_Service/IR_Helper.h * orbsvcs/Time_Service/implrepo.conf * orbsvcs/Time_Service/Makefile : Changed the Makefile to link in the IR_Helper and other objects required by the Implementation Repository. Sat Jan 9 22:06:09 1999 Nanbor Wang * TAO_IDL/be/be_visitor_interface/interface_ss.cpp: * TAO_IDL/be/be_visitor_sequence/gen_bounded_obj_sequence_ch.cpp: * TAO_IDL/be/be_visitor_sequence/gen_bounded_obj_sequence_cs.cpp: * TAO_IDL/be/be_visitor_sequence/gen_unbounded_obj_sequence_ch.cpp: * TAO_IDL/be/be_visitor_sequence/gen_unbounded_obj_sequence_cs.cpp: Changed to generate code using TAO_IN_ENV instead of _env. * orbsvcs/Concurrency_Service/Concurrency_Service.cpp: * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp: * orbsvcs/LifeCycle_Service/Life_Cycle_Service_i.cpp: * orbsvcs/Trading_Service/Trading_Service.cpp: * orbsvcs/orbsvcs/Channel_Clients_T.cpp: * orbsvcs/orbsvcs/Runtime_Scheduler.cpp: * orbsvcs/orbsvcs/Concurrency/CC_Lock.cpp: * orbsvcs/orbsvcs/Concurrency/CC_LockSet.cpp: * orbsvcs/orbsvcs/Concurrency/CC_LockSetFactory.cpp: * orbsvcs/orbsvcs/CosEvent/ProxyPushSupplier_i.cpp: * orbsvcs/orbsvcs/Event/Dispatching_Modules.cpp: * orbsvcs/orbsvcs/Event/EC_Gateway.cpp: * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp: * orbsvcs/orbsvcs/Event/Event_Channel.cpp: * orbsvcs/orbsvcs/Log/Logger_i.cpp: * orbsvcs/orbsvcs/Naming/CosNaming_i.cpp: * orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp: * orbsvcs/orbsvcs/Sched/Config_Scheduler.cpp: * orbsvcs/orbsvcs/Time/TAO_TIO.cpp: * orbsvcs/orbsvcs/Time/TAO_Time_Service_Clerk.cpp: * orbsvcs/orbsvcs/Time/TAO_Time_Service_Server.cpp: * orbsvcs/orbsvcs/Time/TAO_UTO.cpp: * orbsvcs/orbsvcs/Trader/Constraint_Interpreter.cpp: * orbsvcs/orbsvcs/Trader/Offer_Database.cpp: * orbsvcs/orbsvcs/Trader/Offer_Iterators.cpp: * orbsvcs/orbsvcs/Trader/Offer_Iterators_T.cpp: * orbsvcs/orbsvcs/Trader/Service_Type_Repository.cpp: * orbsvcs/orbsvcs/Trader/Trader.cpp: * orbsvcs/orbsvcs/Trader/Trader_Interfaces.cpp: * orbsvcs/orbsvcs/Trader/Trader_T.cpp: * orbsvcs/orbsvcs/Trader/Trader_Utils.cpp: * orbsvcs/tests/AVStreams/mpeg/source/server/Machine_Properties.cpp: * orbsvcs/tests/AVStreams/mpeg/source/server/Property_Exporter.cpp: * orbsvcs/tests/AVStreams/mpeg/source/server/Video_Repository.cpp: * orbsvcs/tests/AVStreams/mpeg/source/server/augmented_server.cpp: * orbsvcs/tests/Concurrency/CC_command.cpp: * orbsvcs/tests/Concurrency/CC_naming_service.cpp: * orbsvcs/tests/EC_Basic/EC_Basic.cpp: * orbsvcs/tests/EC_Custom_Marshal/ECM_Consumer.cpp: * orbsvcs/tests/EC_Custom_Marshal/ECM_Supplier.cpp: * orbsvcs/tests/EC_Mcast/EC_Mcast.cpp: * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: * orbsvcs/tests/EC_Throughput/ECT_Consumer.cpp: * orbsvcs/tests/EC_Throughput/ECT_Consumer_Driver.cpp: * orbsvcs/tests/EC_Throughput/ECT_Supplier.cpp: * orbsvcs/tests/EC_Throughput/ECT_Supplier_Driver.cpp: * orbsvcs/tests/EC_Throughput/ECT_Throughput.cpp: * orbsvcs/tests/Event_Latency/Event_Latency.cpp: * orbsvcs/tests/ImplRepo/IR_Helper.cpp: * orbsvcs/tests/ImplRepo/airplane_i.cpp: * orbsvcs/tests/ImplRepo/airplane_server_i.cpp: * orbsvcs/tests/Simple_Naming/client.cpp: * orbsvcs/tests/Trading/Offer_Exporter.cpp: * orbsvcs/tests/Trading/Offer_Importer.cpp: * orbsvcs/tests/Trading/Service_Type_Exporter.cpp: * orbsvcs/tests/Trading/Simple_Dynamic.cpp: * tests/Param_Test/except.cpp: * examples/Callback_Quoter/Consumer_Input_Handler.cpp: * examples/Callback_Quoter/Notifier_i.cpp: * examples/Quoter/Factory_Finder_i.cpp: * examples/Quoter/Generic_Factory_i.cpp: * examples/Quoter/Quoter_i.cpp: * examples/Simple/bank/AccountManager_i.cpp: * examples/Simple/grid/Grid_i.cpp: * Any.h: * CDR.h: * Connect.h: * CurrentC.h: * CurrentS.cpp: * DynAnyS.cpp: * DynAny_i.cpp: * DynArray_i.cpp: * DynEnum_i.cpp: * DynSequence_i.cpp: * DynStruct_i.cpp: * DynUnion_i.cpp: * Exception.h: * Forwarding_Servant.h: * GIOP.h: * IIOP_Interpreter.h: * IIOP_ORB.h: * IIOP_Object.h: * Invocation.h: * Marshal.h: * NVList.h: * ORB.cpp: * ORB.h: * Object.h: * POA.h: * POAC.h: * POAS.cpp: * POAS.h: * POA_CORBA.h: * PolicyC.h: * PolicyS.cpp: * Sequence.h: * Sequence_T.h: * Servant_Base.h: * Server_Request.h: * Stub.h: * TAO.h: * Typecode.h: * corba.h: * poa_T.h: * varout.h: Replaced all occurances of <_env> with TAO_IN_ENV. * orbsvcs/orbsvcs/CosEvent/ProxyPushConsumer_i.cpp (connect_push_supplier): Changed to use TAO_IN_ENV. * tao/try_macros.h: Added a new macro definition TAO_IN_ENV which maps to _env. The purpose of adding this macro is to make the use of TAO try macros more readable. From now on, we should always use TAO_IN_ENV to name the CORBA environment passed in from function arguments. TAO_TRY_ENV should only be used within TAO_TRY block. Sat Jan 9 14:53:15 1999 Pradeep Gore * orbsvcs/orbsvcs/CosEvent/EventChannel_i.cpp: dereferenced uses of _var with .in () Fri Jan 8 18:06:11 1999 Pradeep Gore * orbsvcs/orbsvcs/CosEvent: These changes are across all the files in this directory... 1. prefixed each class name with TAO_CosEC_ 2. changed all member *_ptr to *_var, removed calls to . * orbsvcs/orbsvcs/CosEvent/ProxyPushConsumer_i.cpp: 1. now uses an that does not own the buffer. 2. ACE_NEW replaced with ACE_NEW_THROW. * orbsvcs/orbsvcs/CosEvent/ProxyPushSupplier_i.cpp: ACE_NEW replaced with ACE_NEW_THROW. * orbsvcs/tests/CosEC_Basic/CosEC_Basic.h: * orbsvcs/CosEvent_Service/CosEvent_Service.h: Changed EventChannel_i to TAO_CosEC_EventChannel_i. Fri Jan 8 15:05:08 1999 Jeff Parsons * tao_idl/be/be_visitor_union_branch/public_ci.cpp: * tao_idl/be/be_visitor_union_branch/public_reset_cs.cpp.cpp: Further attempt to correct bug report by Ron Barack. I will ask Andy to check my changes. Fri Jan 8 13:49:30 1999 Nanbor Wang * orbsvcs/tests/EC_Throughput/ECT_Throughput.cpp (run): Changed to use TAO_CATCHANY and TAO_CATCHALL. Fri Jan 08 13:10:00 1999 Chris Gill * orbsvcs/tests/Simulator/DOVEMIB/clnt.cpp: added .out () to TAO_String_Manager idl structure fields that are being passed to strcpy calls. Thu Jan 7 21:24:43 1999 Pradeep Gore * orbsvcs/CosEvent_Service/CosEvent_Service.cpp 1. The parse_args method accepts Event and Source Ids from the command line. 2. The scheduler has an option of being local or remote. (specifying remote does not work very well yet). 3. added methods init_SupplierQOS and init_ConsumerQOS. created the CosEC_Multiple test, added all these files: * orbsvcs/tests/CosEvent_Multiple.h * orbsvcs/tests/CosEvent_Multiple.cpp Base class for test consumer and supplier implementation. * orbsvcs/tests/CosECConsumer.h * orbsvcs/tests/CosECConsumer.cpp * orbsvcs/tests/CosECSupplier.h * orbsvcs/tests/CosECSupplier.cpp * orbsvcs/tests/Makefile * orbsvcs/tests/README Thu Jan 7 19:07:45 1999 Nanbor Wang * tao/try_macros.h (TAO_CATCHANY): Don't treat the macro differently in either cases. Simply reuse TAO_CATCH to catch CORBA_Exception. Thu Jan 07 14:34:04 1999 Nanbor Wang * tao/try_macros.h (TAO_CATCHANY,TAO_CATCHALL): Changed TAO_CATCHANY to catch CORBA_Exception or its subclasses only. Another macro TAO_CATCHALL was added to facilitate the use of "catch (...)". TAO_CATCHALL translates to a no-op on platforms without native exception support. This change is aim to unify the error handling behavior of TAO programs on platforms with or without native exceptions. "catch (...)" is evil anyway. * tao/Connect.cpp (handle_input): Changed to use TAO_CATCHANY and TAO_CATCHALL. Thu Jan 07 07:16:29 1999 David L. Levine * orbsvcs/orbsvcs/Event/RT_Task.cpp (svc): initialize local "priority" to 0 to avoid warning about uninitialized use from DEC cxx with DCE threads. * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp (shutdown): fixed if (_env.exception () == 0) test to be if (_env.exception () != 0). Thanks to Russ Noseworthy for providing the fix. Thu Jan 07 05:07:33 1999 Douglas C. Schmidt * TAO version 0.2.48 released. Thu Jan 07 04:06:51 1999 Irfan Pyarali * Connect.cpp (check_unexpected_data): Made the checks for 0 and -1 from recv() the same. 0 is a graceful shutdown, while -1 is a somewhat ugly shutdown. Both will result in this function returning -1 and this connection getting closed. * Invocation.cpp (invoke): Added asserts to check for failures in resume_handler(). Wed Jan 06 16:44:06 1999 David L. Levine * TAO version 0.2.47 released. Wed Jan 06 16:16:40 1999 David L. Levine * orbsvcs/Time_Service/Server_i.cpp (init_IR): added .in () dereference to "time_service_server_". Wed Jan 6 15:33:10 1999 Jeff Parsons * DynStruct_i.cpp: Even though this had already been fixed with respect to the latest compile problem, I noticed that the line in this file that contains ACE_Array_Base<> should be changed to something better that's already used in a couple of the other DynAny classes. Wed Jan 6 15:29:10 1999 Vishal Kachroo Commented out some IR related code for the build to go through. * orbsvcs/Time_Service/Server_i.h (class Server_i): * orbsvcs/Time_Service/Server_i.h: Wed Jan 06 15:03:44 1999 David L. Levine * examples/Simple/echo/Client_i.cpp (echo_list): added .in () dereference to "ior". Wed Jan 06 14:07:15 1999 Nanbor Wang * tao/Exception.{h,cpp} (TAO_DONT_CATCH): * tao/try_macros.h: Reverted my previous change about not using catch (...) on TAO_CATCHANY for debug build. This "feature" is turned on only when you define TAO_DONT_CATCH_DOT_DOT_DOT. Thanks to Irfan for persuading me. Wed Jan 6 13:44:29 1999 Vishal Kachroo * orbsvcs/Time_Service/Server_i.h (class Server_i): Addded the IR related code. Wed Jan 06 13:29:04 1999 David L. Levine * tao/DynStruct_i.cpp: removed ACE_Array_Base instantiation because it's in DynArray_i.cpp. Wed Jan 6 14:05:21 EST 1999 Aniruddha Gokhale * TAO_IDL/be/be_visitor_array/array_ch.cpp: g++ was issuing warnings for the helper methods defined for arrays (e.g., _alloc, _dup, _copy, _free). These warnings appeared only when the helper methods were in the outermost global scope because they were defined static and the compiler could not find their implementation. Thus, we now do not generate the "static" keyword for these helpers if they are in the outermost scope. However, this change made Sun C++ compiler unhappy since it did not like the _free and _alloc in the inline file (*.i) and their forward declarations did not have the inline word. So now also generate the ACE_INLINE macro for the _free and _alloc methods if they are in the outermost scope. Now both compilers are happy. Hopefully others are too. * TAO_IDL/be/be_visitor_sequence/sequence_ci.cpp: TAO_IDL/be/be_visitor_sequence/sequence_cs.cpp: The var and out implementation was not guarded by the #if !defined conditionla. As a result, there were instances when we could get multiple definitions. Thanks to Virginie Amar for submitting the bugreport. We had also forgotten to set the "is_generated" flag to true once we had generated code for the sequence node. * TAO_IDL/be/be_visitor_union_branch/public_reset_cs.cpp: Since we now use the TAO_Object_Field_T for object reference members of union, we couldn't call CORBA::release in the "reset" method. We now simply call "delete". Wed Jan 06 11:55:25 1999 Nanbor Wang * examples/Simple/echo/Client_i.cpp (echo_list): Changed to of type Echo::List_var to free up the return value. The returned string from object_to_string must be freed properly. Wed Jan 6 09:31:16 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp: The UDP_Receiver::init() method should only create the RT_Info if it is not there already. Thanks to Dave Meyer and J. Russell Noseworthy for providing this fix. Wed Jan 06 09:04:46 1999 Carlos O'Ryan * docs/releasenotes/TODO.html: Updated the information about EC related tasks. * docs/releasenotes/ec.html: Added the new features in the EC; removed the entries about a missing CosEventChannel, because we have one now! * docs/releasenotes/index.html: Added some comments for Pradeep. Wed Jan 6 07:44:24 1999 Carlos O'Ryan * tao/DynStruct_i.cpp: Removed the last use (hopefully) of ACE_Array<> Wed Jan 06 02:58:28 1999 Irfan Pyarali * TAO_Examples.dsw * POA/Explicit_Activation/Makefile * POA/Generic_Servant/Makefile * POA/Generic_Servant/server.dsp * POA/Loader/Loader.dsw * POA/Loader/Makefile * POA/Loader/server.dsp * POA/On_Demand_Activation/On_Demand_Activation.dsw * POA/On_Demand_Activation/server.dsp * POA/On_Demand_Activation/Makefile * POA/On_Demand_Loading/Makefile * POA/On_Demand_Loading/On_Demand_Loading.dsw * POA/On_Demand_Loading/server.dsp - Changed the name of the Generic Servant dynamic library from MyFoo back to Generic_Servant. This was causing too many things to break on NT since the original settings were based on the Generic_Servant name. - Removed excess include directories in the make setting. - Fixed NT make files (including release settings) and made them conform with the existing makefiles. * POA/On_Demand_Loading/Servant_Activator.cpp * POA/On_Demand_Loading/Servant_Locator.cpp * POA/Loader/Servant_Activator.cpp * POA/Loader/Servant_Locator.cpp * POA/Loader/Server_Manager.cpp - Removed access includes files. * POA/On_Demand_Loading/Servant_Manager.cpp: Fixed use of ACE_CString. Tue Jan 5 22:36:54 1999 Nanbor Wang * tao/default_server.{h,cpp}: * tao/default_client.{h,cpp}: * tao/ORB_Core.{h,cpp}: We also need to define/declare static services for platform without svc.conf support. Tue Jan 5 18:27:26 1999 Vishal Kachroo * orbsvcs/Time_Service/Server_i.cpp (init): Added the IR related code. Tue Jan 5 17:44:53 1999 Carlos O'Ryan * tao/DynAnyC.h * tao/DynAnyC.i * tao/DynSequence_i.h: * tao/DynStruct_i.h: Removed some other uses of ACE_Array in favor of ACE_Array_Base, in these cases there was no need for the operator== and/or operator!= Tue Jan 05 15:40:20 1999 Nanbor Wang * performance-tests/Cubit/TAO/MT_Cubit/Task_Client.cpp (init_orb): * performance-tests/Cubit/TAO/MT_Cubit/Cubit_Task.cpp (initialize_orb): * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Client.cpp (init): * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Server.cpp (init): Removed explicit call to when building static lib version on Win32 since we can now use them as static service (and configure them thru svc.conf.static file.) * performance_tests/Cubit/TAO/IDL_Cubit/svc.conf.static: * performance_tests/Cubit/TAO/MT_Cubit/svc.conf.static: Added two example svc.conf files to show how to use static services. * tao/orbconf.h: Changed the format of XXX_FACTORY_ARGS strings for platforms without svc.conf support to a single char string. These entries should look like this now: "static TAO_Foobar_Factory \"-ORBsettings a -ORBset b\"" * tao/TAO_Internal.{h,cpp}: Removed method open_services which takes separate argument lists for each of the TAO default service. Service initialization is now done in a more general way. Tue Jan 05 14:32:11 1999 Irfan Pyarali * tao/Object.i (_narrow): _narrow must increase the reference count on the object. Thanks to Ron Barack for reporting this bug. Tue Jan 05 14:21:57 1999 Nanbor Wang * tao/TAO_Internal.cpp (open_services): Added insertion of default static service objects of TAO. I forgot to do that. Tue Jan 5 13:06:12 1999 Vishal Kachroo * examples/Simple/bank/Client_i.cpp (withdraw): Removed the cast and used the .in () method instead. This would probably fix the error on DU cxx. Tue Jan 05 07:57:40 1999 David L. Levine * examples/Simple/bank/Client_i.cpp (withdraw): added in () dereference of except->reason. Thanks to Andy for figuring out how to get this to compile now. * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Client.cpp,client.cpp, MT_Cubit/Task_Client.cpp: removed VxWorks #ifdefs that disabled ORB shutdown, because it no longer causes a MemPartFree with last night's remove () fixes to ace/Synch. Tue Jan 05 04:51:02 1999 Nanbor Wang * tao/TAO_Internal.cpp: * tao/ORB_Core.{h,cpp}: * tao/default_server.{h,cpp}: * tao/default_client.{h,cpp}: Added definitions for static service objects and enabled TAO to use static services if TAO_USES_STATIC_SERVICE is defined. This will allow platforms that doesn't support dynamic linking to change TAO's behavior at run-time. Mon Jan 04 17:48:17 1999 Irfan Pyarali * orbsvcs/orbsvcs/CosEvent/EventChannel_i.cpp (for_suppliers): Fixed typos. Mon Jan 4 16:52:08 1999 Vishal Kachroo Added the following project files for Time Service on NT. * orbsvcs/Time_Service/Time_Service.dsw * orbsvcs/Time_Service/Time_Service_Clerk.dsp * orbsvcs/Time_Service/Time_Service_Server.dsp * orbsvcs/tests/Time/Time_Service_Test.dsw * orbsvcs/tests/Time/Time_Service_Test.dsp * orbsvcs/tests/Time/Client_i.cpp: Changed the TAO_CATCHANY to TAO_CATCH (SystemException, sysex). The former somehow wasn't catching CORBA::NO_IMPLEMENT on NT. Mon Jan 4 16:30:27 1999 Jeff Parsons * tao_idl/be/be_visitor_union_branch/private_ch.cpp: * tao_idl/be/be_visitor_union_branch/public_access_cs.cpp: * tao_idl/be/be_visitor_union_branch/public_assign_cs.cpp: * tao_idl/be/be_visitor_union_branch/public_ci.cpp: Implemented TAO_Object_Field_T in place of foo_ptr for objects inside a union, so that _upcast() and _downcast() will work. Mon Jan 04 16:08:49 1999 David L. Levine * orbsvcs/orbsvcs/CosEvent/Event_Channel_i.cpp (for_consumers): added missing ; at end of statement. * TAO_IDL/Makefile: with GreenHills gcx, added -w to CCFLAGS to suppress many warnings about TAO_YY_BREAK statements being unreachable. Mon Jan 4 14:29:49 EST 1999 Aniruddha Gokhale * TAO_IDL/be/be_visitor_sequence/gen_bounded_str_sequence_ci.cpp: For the [] operator, instead of returning a TAO_SeqElem_String_Manager, we were generating TAO_String_Manager. * tests/Param_Test/objref.cpp tests/Param_Test/ub_objref_seq.cpp: There were instances of incorrect assignment between a String_var and a TAO_String_Manager. Mon Jan 04 12:45:00 1999 Chris Gill * orbsvcs/orbsvcs/Runtime_Scheduler.{cpp, h} orbsvcs/orbsvcs/Scheduler_Utilities.{h, i}: added ACE_NEW_THROW_RETURN, lots of comments. Mon Jan 04 12:04:37 1999 Carlos O'Ryan * orbsvcs/orbsvcs/CosEvent/* * orbsvcs/CosEvent_Service/CosEvent_Service.cpp: Another code review for Pradeep. Mon Jan 4 07:39:27 EST 1999 Aniruddha Gokhale * orbsvcs/orbsvcs/Trader/Trader_Utils.cpp: The code was written with the assumption that a string member of a struct gets mapped to CORBA::String_var. However, due to the recent changes made to the IDL compiler where a string member gets mapped to a TAO_String_Manager caused several problems in the Trader code. This happened when the string member was assigned directly to a CORBA::String_var class. The right way to do this is to use the "in ()" method on the TAO_String_Manager class to retrieve the underlying string. * tao/Managed_Types.h tao/ORB.h: I had forgotten to include the Managed_Types.i file when the ACE_INLINE macro is defined. This was causing all kinds of undefined symbol errors at link time. However, it turns out that the Managed_Types.i file uses operations such as CORBA::string_free that get used before their inline definition is seen in ORB.i. The solution to this dependency problem is to include Managed_Types.i after ORB.i in the file ORB.h. * tao/{Sequence, Sequence_T}.{i,cpp} (operator []): Moved the definition of the [] operator to the *.cpp file since it was using the inline constructor of the TAO_SeqElem_String_Manager before it was defined. * tao/Managed_Types.i: Some missing ACE_INLINE added. Mon Jan 04 00:15:13 1999 Darrell Brunsch * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp: * orbsvcs/tests/ImplRepo/IR_Helper.cpp: Updated to work with recent changes to the ORB (specifically the IIOP_Object constructor and ORB_Core::addr()). Sun Jan 03 23:05:08 1999 Irfan Pyarali * tao/TAO_Static.dsp: * tao/TAO.dsp: Added Managed_Types.cpp to build. Sun Jan 03 22:42:22 1999 David L. Levine * orbsvcs/orbsvcs/Time/TAO_UTO.cpp (TAO_UTO): moved "/2" out of the ACE_U64_TO_U32 conversion, because dividing an ACE_U_LongLong by an int results in an ACE_UINT32. Sun Jan 3 22:01:37 1999 Vishal Kachroo * orbsvcs/Time_Service/Server_i.cpp: Used rebind () instead of bind (). Because servers dont handle ^C, once bound contexts stay bound till the Naming Service is up. This was already being done for clerks. Commented out the IR part. Fixed warnings in init() and run() methods. * orbsvcs/Time_Service/Server_i.h: Added some comments. Also commented out the IR part, so I could fix the warnings pointed out by David and check the files in. * orbsvcs/Time_Service/Clerk_i.cpp: Added some comments. Commented out the IR part. Removed warnings for unreferenced variables Sun Jan 03 21:39:49 1999 Irfan Pyarali * tao/POA.cpp (encode_sequence_to_string): Removed extra call to isascii(). It's followed by an isprint(): if byte is printable, then it must be ascii. Thanks to David Levine and Chris Cleeland for helping with this. Sun Jan 3 21:10:42 1999 Vishal Kachroo Addded a new function to check if it is the first server or clerk. If it is then get a new context and bind it to the Name Server. The subsequent servers and clerks will bind to this context. The way this was being done previously is by clearing the exception and checking the return value of NamingContext::resolve (). Was working fine on Solaris but threw an exception on NT. I am now handling the exception appropriately. Also corrected a memory problem using CORBA::string_dup. * orbsvcs/Time_Service/Server_i.cpp: * orbsvcs/Time_Service/Server_i.h: * orbsvcs/Time_Service/Clerk_i.cpp: * orbsvcs/Time_Service/Clerk_i.h: Sun Jan 3 20:30:00 1999 Chris Gill * docs/releasenotes/index.html: added TAO Scheduling Service section Sun Jan 3 19:22:23 1999 Pradeep Gore * orbsvcs/CosEvent_Service/CosEvent_Service.h: * orbsvcs/CosEvent_Service/CosEvent_Service.cpp: * orbsvcs/CosEvent_Service/README: * orbsvcs/CosEvent_Service/Makefile: added the above files for the COS Event Service. Sun Jan 3 18:56:51 1999 Jeff Parsons * tao/DynSequence_i.{h,cpp}: * tao/DynStruct_i.{h * examples/POA/On_Demand_Loading/On_Demand_Loading.dsw: * examples/POA/On_Demand_Loading/"POA On_Demand_Loading Server.dsp": Added the NT workspace for the On_Demand_Loading example. * examples/POA/Loader/Loader.dsp: * examples/POA/Loader/"POA Loader Server.dsp": Added the NT workspace for the Loader example. * examples/POA/Generic_Servant/Server.dsp: Changed the settings of the project so that MyFoo.dll is produced as output. Sun Jan 3 19:27:01 EST 1999 Aniruddha Gokhale * tao/Managed_Types.{h,i,cpp}: Three new files added. These define and implement the various manager classes such as TAO_String_Manager, TAO_SeqElem_String_Manager that are required by the IDL to C++ mapping for struct members that are strings and sequences of strings, respectively. We had to resort to two different managers because the managed type for sequence of strings must obey the value of the release data member of the sequence class. Other than this, the semantics are the same. * tao/ORB.h: Included the newly added Managed_Types.h file. * tao/{Sequence, Sequence_T}.{h,i,cpp}: Moved the TAO_String_Manager to the Managed_Types.* files. In addition, we now use TAO_SeqElem_String_Manager for the return type of the [] operator. * TAO_IDL/be/be_visitor_array/array.cpp (visit_string): Arrays of strings now use the TAO_String_Manager as its element type instead of CORBA::String_var. This was required to conform to the IDL->C++ mapping. * TAO_IDL/be/be_visitor_field/field_ch.cpp (visit_string): Struct memebrs that are strings now use the TAO_String_Manager as its type instead of CORBA::String_var. This was required to conform to the IDL->C++ mapping. * TAO_IDL/be/be_visitor_sequence/elemtype.cpp TAO_IDL/be/be_visitor_sequence/gen_bounded_str_sequence_ch.cpp TAO_IDL/be/be_visitor_sequence/gen_bounded_str_sequence_ci.cpp The generated code now produces TAO_SeqElem_String_Manager instead of TAO_String_Manager for the [] operator. * docs/releasenotes/index.html: Updated to reflect latest status. Also, removed some old comments that are no longer applicable. Sun Jan 3 17:32:27 1999 Jeff Parsons * orbsvcs/orbsvcs/Time/TAO_UTO.cpp: * orbsvcs/orbsvcs/Trader/Constraint_Vistors.cpp: Added some casting to fix some conversion warnings I was getting while rebuilding with VC5. Sun Jan 3 13:12:27 1999 Vishal Kachroo Added the TAO_ORBSVCS_Export macro to the following files. * orbsvcs/orbsvcs/Time/Timer_Helper.h * orbsvcs/orbsvcs/Time/TAO_Time_Service_Server.h * orbsvcs/orbsvcs/Time/TAO_Time_Service_Clerk.h * orbsvcs/orbsvcs/Time/TAO_UTO.h * orbsvcs/orbsvcs/Time/TAO_TIO.h Sat Jan 2 17:32:35 1999 Pradeep Gore * orbsvcs/tests/CosEC_Basic/CosEC_Basic.cpp: split the method over 3 other methods - , and . Sat Jan 02 11:15:48 1999 David L. Levine * orbsvcs/orbsvcs/CosEvent/ConsumerAdmin_i.cpp (obtain_push_supplier): added .in () dereference to rtecproxypushsupplier. * orbsvcs/orbsvcs/CosEvent/SupplierAdmin_i.cpp (obtain_push_consumer): added .in () dereference to rtecproxypushconsumer. * examples/Simple/grid/Client_i.cpp (test_grid): added ACE_UNUSED_ARG (ret_val) to avoid compiler warning with ACE_NDEBUG. * orbsvcs/Time_Service/Clerk_i.cpp (get_first_IOR): added .in () dereference to obj. Fri Jan 1 23:31:48 1999 Pradeep Gore * orbsvcs/orbsvcs/CosEvent/EventChannel_i.h: * orbsvcs/orbsvcs/CosEvent/EventChannel_i.cpp: corrections to comments after code review. * orbsvcs/orbsvcs/CosEvent/ConsumerAdmin_i.h: * orbsvcs/orbsvcs/CosEvent/ConsumerAdmin_i.cpp: using ACE_NEW now. * orbsvcs/orbsvcs/CosEvent/SupplierAdmin_i.h: * orbsvcs/orbsvcs/CosEvent/SupplierAdmin_i.cpp: using ACE_NEW now. * orbsvcs/orbsvcs/CosEvent/ProxyPushSupplier_i.h: * orbsvcs/orbsvcs/CosEvent/ProxyPushSupplier_i.cpp: uses ACE_NEW now, added a method, connect_push_consumer method throws AlreadyConnected and BAD_PARAM exceptions. * orbsvcs/orbsvcs/CosEvent/ProxyPushConsumer_i.h: * orbsvcs/orbsvcs/CosEvent/ProxyPushConsumer_i.cpp: uses ACE_NEW now. * orbsvcs/tests/CosEC_Basic/CosEC_Basic.h: changed method names to init,run and shutdown. corrections to comments after code review. * orbsvcs/tests/CosEC_Basic/CosEC_Basic.cpp: added checks for return errors. * orbsvcs/tests/CosEC_Basic/CosECSupplier.h: * orbsvcs/tests/CosEC_Basic/CosECSupplier.cpp: corrections to comments after code review. method now deactivates the Supplier object. * orbsvcs/tests/CosEC_Basic/CosECConsumer.h: * orbsvcs/tests/CosEC_Basic/CosECConsumer.cpp: corrections to comments after code review. method now deactivates the Comsumer object. Fri Jan 1 18:11:07 1999 Vishal Kachroo * orbsvcs/Time_Service/Clerk_i.cpp : Used _duplicate () on the server IORs. This overcomes the automatic deletion of memory. * orbsvcs/orbsvcs/Time/Timer_Helper.cpp : Used the advance () method to iterate over the ACE_Array. The ACE_Unbounded_Set which was being used earlier did not require this method to be used. Fri Jan 01 16:48:23 1999 David L. Levine * orbsvcs/orbsvcs/Time/TAO_UTO.cpp (TAO_UTO): replaced cast with ACE_U64_TO_U32 macro invocation. * orbsvcs/orbsvcs/Event/Event_Channel.cpp: added ACE_Array_Base explicit instantiation. * orbsvcs/orbsvcs/Trader/Constraint_Visitors.cpp: added a bunch of TAO_find explicit instantiations. Fri Jan 1 13:33:33 1999 Vishal Kachroo * orbsvcs/orbsvcs/Time/TAO_UTO.cpp: Removed a ; at the end of a function. Digital Unix 4.0 was throwing a warning for this. Fri Jan 1 12:29:28 1999 Carlos O'Ryan * orbsvcs/Makefile: Added the Time_Service directory. * orbsvcs/Time_Service/Clerk_i.h: * orbsvcs/Time_Service/Clerk_i.cpp: * orbsvcs/orbsvcs/Time/TAO_Time_Service_Clerk.h: * orbsvcs/orbsvcs/Time/TAO_Time_Service_Clerk.cpp: * orbsvcs/orbsvcs/Time/Timer_Helper.h: * orbsvcs/orbsvcs/Time/Timer_Helper.cpp: Use ACE_Array_Base instead of ACE_Unbounded_Set because it does not require an == or != operator defined. * tao/DynArray_i.h: * tao/DynArray_i.cpp: Use ACE_Array_Base instead of ACE_Array. Fri Jan 1 11:51:42 1999 Vishal Kachroo Removed some VxWorks errors like 'TAO_TRY_LABEL unreferenced' in the following files. * orbsvcs/orbsvcs/Time/TAO_Time_Service_Server.cpp: * orbsvcs/orbsvcs/Time/TAO_TIO.cpp: * orbsvcs/orbsvcs/Time//TAO_UTO.cpp: * orbsvcs/orbsvcs/Time//TAO_Time_Service_Clerk.cpp: Fri Jan 01 02:45:18 1999 Irfan Pyarali * TAO_IDL/be/be_visitor_array/array_ci.cpp (gen_forany_impl and gen_var_impl): There is no cast required for assigning a pointer to zero. Thanks to Patrice Bensoussan for reporting this bug. * Active_Object_Map.i: Rearranged functions to remove "redeclared inline after being called" warnings. Thanks to David for pointing these out.