Thu Dec 31 16:28:27 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * TAO_IDL/tao_idl.dsp:
        * TAO_IDL/tao_idl_static.dsp: Also write the executables to
          $ACE_ROOT/bin.

        * orbsvcs/Naming_Service/Naming_Service.dsp: Dependency update.

        * orbsvcs/orbsvcs/orbsvcs.dsp: Added Corlos' new files for Event
          Channel into the project.  Cleaned up IDL configurations.

        * orbsvcs/orbsvcs/CosEvent/ConsumerAdmin_i.cpp:
        * orbsvcs/orbsvcs/CosEvent/ProxyPushConsumer_i.cpp:
        * orbsvcs/orbsvcs/CosEvent/ProxyPushSupplier_i.cpp:
        * orbsvcs/orbsvcs/CosEvent/SupplierAdmin_i.cpp: Don't need to
          specify relative path for header files reside in the same
          directory.

        * orbsvcs/orbsvcs/CosEvent/ProxyPushConsumer_i.h:
        * orbsvcs/orbsvcs/CosEvent/ConsumerAdmin_i.h:
        * orbsvcs/orbsvcs/CosEvent/EventChannel_i.h:
        * orbsvcs/orbsvcs/CosEvent/ProxyPushSupplier_i.h:
        * orbsvcs/orbsvcs/CosEvent/SupplierAdmin_i.h: Added
          TAO_ORBSVCS_export decls.

Thu Dec 31 15:28:49 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * orbsvcs/orbsvcs/Event/EC_Event_Channel.h:
        * orbsvcs/orbsvcs/Event/EC_ConsumerAdmin.h:
        * orbsvcs/orbsvcs/Event/EC_Dispatching.h:
        * orbsvcs/orbsvcs/Event/EC_ProxySupplier.h:
        * orbsvcs/orbsvcs/Event/EC_ProxyConsumer.h:
        * orbsvcs/orbsvcs/Event/EC_Filter.h:
        * orbsvcs/orbsvcs/Event/EC_Filter_Builder.h:
          I'm prototyping a new version of the real-time Event Channel,
          this version will be more efficient, more configurable and
          (hopefully) easier to maintain.  This initial commit is just for
          backup purposes, it does not compile and it will suffer many
          changes before it is usable.

Thu Dec 31 15:34:47 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * orbsvcs/orbsvcs/CosEvent/ProxyPushConsumer_i.cpp:
          Removed temporary reference called _env, it is not needed
          because we can use TAO_THROW_ENV() instead of TAO_THROW.

Thu Dec 31 15:04:57 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * orbsvcs/orbsvcs/Makefile:
          Added the CosEC files to the Makefile; it compiles with both
          Sun/CC and egcs.

        * orbsvcs/orbsvcs/Time/Timer_Helper.cpp:
          Removed template instantiations, they are in
          orbsvcs-tmplinst.cpp already.

1998-12-31  Seth Widoff  <swidoff@cs.cmu.edu>

        * orbsvcs/orbsvcs/Trader/Constraint_Visitors.cpp:
          Fixed another g++ error (assignment to an invalid narrower type).

Thu Dec 31 13:20:17 1998  Vishal Kachroo  <vishal@merengue.cs.wustl.edu>

        * orbsvcs/orbsvcs/CosTimeBase.idl: Updated the comments to say
          that module TimeBase is a part of the TAO Time Service IDL.

Thu Dec 31 12:39:24 1998  Vishal Kachroo  <vishal@merengue.cs.wustl.edu>

        * orbsvcs/Time_Service/Server_i.cpp (parse_args): Changed
          the _env to TAO_TRY_ENV.

        * orbsvcs/Time_Service/Server_i.cpp (parse_args): Changed
          the _env to TAO_TRY_ENV. Checked for invalid filename while
          reading from the IOR file. Removed the unreferenced variables.

Thu Dec 31 12:28:31 1998  Vishal Kachroo  <vishal@merengue.cs.wustl.edu>

        * orbsvcs/orbsvcs/Time/Timer_Helper.cpp (handle_timeout): Changed
          the _env to TAO_TRY_ENV.

        * orbsvcs/orbsvcs/Time/TAO_TIO.cpp : Changed the _env to TAO_TRY_ENV.
          Removed the unreferenced variables as pointed out by IRIX compiler.
          Thanks to Carlos for this. Fixed warnings like statement unreachable.

        * orbsvcs/orbsvcs/Time/TAO_UTO.cpp : Changed the _env to TAO_TRY_ENV.

        * orbsvcs/orbsvcs/Time/TAO_Time_Service_Server.cpp : Changed the _env
          to TAO_TRY_ENV. Removed some unreferenced variables.

        * orbsvcs/orbsvcs/Time/TAO_Time_Service_Clerk.cpp :Changed the _env
          to TAO_TRY_ENV.

Thu Dec 31 11:56:47 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * Fixed several errors and warnings detected by the IRIX
          compiler.

        * orbsvcs/orbsvcs/Time/TAO_Time_Service_Server.cpp:
          Removed unused variable.

        * TAO_IDL/be/be_visitor_typedef/typedef.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_argument/pre_docall_cs.cpp:
        * TAO_IDL/be/be_visitor_argument/post_upcall_ss.cpp:
          Removed unused variables and unreached statements.

        * orbsvcs/orbsvcs/Trader/Trader_Interfaces.h:
        * orbsvcs/orbsvcs/Trader/Constraint_Interpreter.h:
          Added several forward declarations.

        * orbsvcs/orbsvcs/Trader/Constraint_Visitors.cpp:
          Removed unnecesary template instantiations.

1998-12-31  Seth Widoff  <swidoff@cs.cmu.edu>

        * orbsvcs/orbsvcs/Trader/Constraint_Visitors.{cpp,h}:
          Fixed a crazy #include problem with g++.

Thu Dec 31 09:46:12 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * orbsvcs/orbsvcs/Makefile:
          Same change as Andy, but also added a dependency between
          TimeService.idl and CosTimeBase.idl; this is safer and should
          also work when running make -j 2 (or more).

Thu Dec 31 09:27:05 1998  Aniruddha Gokhale  <gokhale@sahyadri.research.bell-labs.com>

        * orbsvcs/orbsvcs/Makefile:

          TimeService.idl includes CosTimeBase.idl. However, the
          CosTimeBase.idl file was run through the IDL compiler after
          TimeService.idl which was causing errors because the generated
          files for TimeService were including the generated files for
          CosTimeBase.

Thu Dec 31 03:54:05 1998  Kirthika Parameswaran  <kirthika@cs.wustl.edu>

        * examples/POA/Loader/Servant_Activator.{h,cpp}: Added the
          ServantActivator_i implementation files which load the dll on
          creation and make object-servant associations on demand.

        * examples/POA/Loader/Servant_Locator.{h,cpp}: Added the
          ServantLocator_i implementation files which load the dll on
          creation and obtain and delete servants on demand per client
          request.

        * examples/POA/Loader/Server_Manager.{h,cpp}: Helper class
          implementation used by the server application.

        * examples/POA/Loader/server.cpp: The server application.

        * examples/POA/Loader/Makefile: Added to the repository.

        * examples/POA/Loader/README: Explains the example.

        * examples/POA/Loader/run_test.pl: Perl script for executing the
          example.

        * examples/POA/Generic_Servant/MyFooServant.cpp (supply_servant):
          Added this function. It will provide the appropriate servant
          depending on the ObjectId passed to it.

        * examples/POA/Generic_Servant/MyFooServant.cpp (destroy_servant):
          Added this function. It will terminate the servant.

Thu Dec 31 00:11:32 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * performance-tests/POA/Object_Creation_And_Registration/registration.cpp (main):
          Added timing stats for calls to servant_to_id().

        * orbsvcs/tests/Time/Time.dsp:
        * orbsvcs/Time_Service/Time_Service.dsp:
        * orbsvcs/orbsvcs/orbsvcs.dsp:

          Added new Time Service files.

        * orbsvcs/orbsvcs/Runtime_Scheduler.cpp: Fixed comment typo.

        * performance-tests/POA/Object_Creation_And_Registration/registration.cpp (main):
          Added code to check the effectiveness of the hashing of
          servants.

        * tao/ORB_Core.cpp (root_poa): Reset the root_poa_reference_ when
          the root_poa_ is changed.

        * tao/Servant_Base.cpp (_default_POA): Changed implementation to
          use new ORB_Core::root_poa_reference() routine.

        * tao/ORB_Core.i (root_poa_reference): Added this method so that
          we do not have to create a new reference every time the POA
          reference is needed.

Wed Dec 31 00:01:40 1998  Kirthika Parameswaran  <kirthika@cs.wustl.edu>

        * examples/POA/On_Demand_Loading/server.cpp: Added support so that
          the program can break out of main () in case of any exception/error.

        * examples/POA/On_Demand_Loading/Servant_Manager.h:
          Made <dllname_> and <create_symbol_> as ACE_CString variables.
          Thanks to Irfan for suggesting it.

        * examples/POA/On_Demand_Loading/Servant_Manager.cpp
          (parse_string): Changed the method to implement simpler parsing
          using  ACE_CString methods.

        * examples/POA/On_Demand_Loading/Servant_Manager.cpp
          (create_dll_object_id): Concatenation achieved very simply using
          ACE_CString variable.

        * examples/POA/On_Demand_Loading/README: Thanks to Doug for
          modifying it and making the concept used in the example much
          clearer.

        * examples/POA/On_Demand_Loading/server.cpp: Removed unnecessary
          TAO_TRY macros.

Wed Dec 30 22:52:16 1998  David L. Levine  <levine@cs.wustl.edu>

        * tao/Makefile: on ghs/VxWorks, removed -g suppression for
          POA.cpp build.  It no longer seems to be necessary, and
          for some reason confused the make on SunOS 5.7 host.

Wed Dec 30 20:45:42 1998  Pradeep Gore  <pradeep@flamenco.cs.wustl.edu>

        * orbsvcs/orbsvcs/CosEvent/EventChannel_i.h:
        * orbsvcs/orbsvcs/CosEvent/EventChannel_i.cpp:
          moved initialization from contructor to the init method.
          added a shutdown method.

        * orbsvcs/orbsvcs/CosEvent/ConsumerAdmin_i.h:
        * orbsvcs/orbsvcs/CosEvent/ConsumerAdmin_i.cpp:
          moved initialization from contructor to the init method.

        * orbsvcs/orbsvcs/CosEvent/SupplierAdmin_i.h:
        * orbsvcs/orbsvcs/CosEvent/SupplierAdmin_i.cpp:
          moved initialization from contructor to the init method.

        * orbsvcs/orbsvcs/CosEvent/ProxyPushConsumer_i.h:
        * orbsvcs/orbsvcs/CosEvent/ProxyPushConsumer_i.cpp:
          initialize the EventHeader using the SupplierQOS.
          added <connected> method.

Wed Dec 30 19:17:44 1998  Kirthika Parameswaran  <kirthika@cs.wustl.edu>

        * examples/POA/On_Demand_Loading/Server_Manager.{h,cpp}:
          Added these two files for the helper class Server_i used by the
          server application.

        * examples/POA/On_Demand_Loading/server.cpp:
          This file has been totally revamped and now uses the Server_i
          class object.

        * examples/POA/On_Demand_Loading/Makefile:
          Added an extra entry for Server_Manager used by the server
          program.

Wed Dec 30 17:25:51 1998  Vishal Kachroo  <vishal@merengue.cs.wustl.edu>

        The following files have been added to the newly created
        Time directory under orbsvcs/orbsvcs

        * orbsvcs/orbsvcs/Time/TAO_TIO.cpp: This is the Time Interval
          Object. It represents a time interval and has operations to
          compare itself with a UTO or another TIO. It can also create
          a UTO from the value of it's time interval.

        * orbsvcs/orbsvcs/Time/TAO_TIO.h: This is the Time Interval
          Object. It represents a time interval and has operations to
          compare itself with a UTO or another TIO. It can also create
          a UTO from the value of it's time interval.

        * orbsvcs/orbsvcs/Time/TAO_UTO.cpp: Universal Time Object
          Implementation. This is an encapsulation of time. It provides
          the following operations on basic time.

                - Construction of a UTO from piece parts, and extraction
                of the parts from a UTO. The piece parts are the readonly
                attributes :
                              time
                              inaccuracy
                              time displacement factor
                              structure with all the above.

                 - Comparison of time.

                 - Conversion from relative to absolute time, and conversion
                   to an interval (TIO).

        * orbsvcs/orbsvcs/Time/TAO_UTO.h: Class definition for TAO_UTO.cpp

        * orbsvcs/orbsvcs/Time//TAO_Time_Service_Server.cpp:The server Object
        implementation implements methods to retrieve current time as well
        as secure current time. The times are retrieved as UTOs. The object
        also allows creation of a TIO for a given time interval. The notion
        of time returned here is the local time of the system.

        * orbsvcs/orbsvcs/Time/TAO_Time_Service_Server.h: Class definition
        for TAO_Time_Service_Server.cpp

        * orbsvcs/orbsvcs/Time/TAO_Time_Service_Clerk.cpp: The clerk Object
        implementation implements methods to retrieve GLOBAL time as well as
        secure GLOBAL time. The times are retrieved as UTOs. The object also
        allows creation of a TIO for a given time interval. The notion of time
        returned here is the globally synchronized time.

        * orbsvcs/orbsvcs/Time/TAO_Time_Service_Clerk.h: Class definition
        for TAO_Time_Service_Clerk.cpp

        * orbsvcs/orbsvcs/Time/Timer_Helper.cpp: This is the helper class used
        by clerk to get globally syncronized time. This class is registered with
        the reactor that calls the handle_timeout () on this preiodically. The
        handle_timeout, in turn, gets time from the various servers in the network.
        It then updates the clerks notion of time.

        * orbsvcs/orbsvcs/Time/Timer_Helper.h: Class definition for the
        Timer_Helper.cpp


Wed Dec 30 17:03:16 1998  Vishal Kachroo  <vishal@merengue.cs.wustl.edu>

        * orbsvcs/orbsvcs/TimeService.idl (CosTime): This is the IDL
          for the Time Service. It includes CosTimeBase.idl that
          defines the module TimeBase. This module has the IDL definition
          for the various data structures used in the time service.
          The separation of the two modules is required because the
          TimeBase module is being used in other TAO services.

        * orbsvcs/orbsvcs/Makefile : Updated the makefile to now make
          the newly added Time Service to TAO. This includes generating
          the IDL stubs in orbsvcs/orbsvcs and adding all the implementation
          objects in /orbsvcs/orbsvcs/Time to liborbsvcs.

Wed Dec 30 17:37:19 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.h:
        * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.i:
        * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp:
        * orbsvcs/tests/EC_Mcast/EC_Mcast.h:
        * orbsvcs/tests/EC_Mcast/EC_Mcast.cpp:
          Detecting if a fragment comes from the current process is harder
          than I thought: just using the local address of the seding
          socket is not enough, because in some platform this address has
          the ipaddr set to 0 (the source address is chosen by the kernel
          after routing considerations).
          We use the ACE facilities to find the list of local ipaddresses
          to work around this problem.

        * orbsvcs/tests/EC_Mcast/EC_Mcast.cpp:
          Adjusted the timeout value for the UDP fragments, it was too
          low.

        * orbsvcs/tests/EC_Mcast/README:
          Updated the documentation.

Wed Dec 30 16:43:35 1998  Vishal Kachroo  <vishal@merengue.cs.wustl.edu>

        The following files have been added to the newly created
        Time_Service directory under orbsvcs/

        * orbsvcs/Time_Service/Server_i.h: This is the server driver
          program for the Time Service. It registers the
          TAO_Time_Service_Server with the orb and listens infinitely
          within orb.run () for invocations from the clerk.

        * orbsvcs/Time_Service/Server_i.cpp: This is the server driver
          program for the Time Service. It registers the
          TAO_Time_Service_Server with the orb and listens infinitely
          within orb.run () for invocations from the clerk.

        * orbsvcs/Time_Service/Clerk_i.h : This is the clerk driver
          program for the Time Service. It registers the
          TAO_Time_Service_Clerk with the orb. It also gets the IORs
          of the various time servers in the network and passes them to
          the TAO_Time_Service_Clerk. It listens for invocations from
          the clients.

        * orbsvcs/Time_Service/Clerk_i.cpp: This is the clerk driver
          program for the Time Service. It registers the
          TAO_Time_Service_Clerk with the orb. It also gets the IORs
          of the various time servers in the network and passes them to
          the TAO_Time_Service_Clerk. It listens for invocations from
          the clients.

        * orbsvcs/Time_Service/server.cpp: This is the server wrapper
          program.

        * orbsvcs/Time_Service/clerk.cpp: This is the clerk wrapper
          program.

        * orbsvcs/Time_Service/Makefile: This is the Makefile for this
          directory that generates the server and the clerk binaries.


Wed Dec 30 16:26:51 1998  Vishal Kachroo  <vishal@merengue.cs.wustl.edu>

        The following files have been added to the newly created Time
        directory under orbsvcs/tests.

        * orbsvcs/tests/Time/Makefile: This makefile compiles just the
          client test in this directory.

        * orbsvcs/tests/Time/client.cpp: This is the client wrapper.

        * orbsvcs/tests/Time/Client_i.cpp: This class runs the various
          tests for the Time Service. It calls the TimeService clerk
          running on the same machine and asserts the correctness of the
          various operations.

        * orbsvcs/tests/Time/Client_i.h: This class runs the various
          tests for the Time Service. It calls the TimeService clerk
          running on the same machine and asserts the correctness of the
          various operations.


Wed Dec 30 16:19:06 1998  Pradeep Gore  <pradeep@flamenco.cs.wustl.edu>

        * orbsvcs/tests/CosEC_Basic:
        * orbsvcs/tests/CosEC_Basic/README:
        * orbsvcs/tests/CosEC_Basic/CosECConsumer.cpp:
        * orbsvcs/tests/CosEC_Basic/CosECConsumer.h:
        * orbsvcs/tests/CosEC_Basic/CosECSupplier.cpp:
        * orbsvcs/tests/CosEC_Basic/CosECSupplier.h:
        * orbsvcs/tests/CosEC_Basic/CosEC_Basic.cpp:
        * orbsvcs/tests/CosEC_Basic/CosEC_Basic.h:
        * orbsvcs/tests/CosEC_Basic/Makefile:
          Added the following files for the CosEC test to orbsvcs

1998-12-30  Seth Widoff  <swidoff@cs.cmu.edu>

        * orbsvcs/orbsvcs/Trader/Trader_T.{cpp,h}:
          Fixed a couple of syntax errors in my last change that were
          caught by NT, but missed by the more liberal SunCC
          compiler. Ack!

Wed Dec 30 12:22:58 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/Any.cpp (CORBA_Any): Removed sharing of <value_> in the copy
          constructor.  It'd nice to have it but according to CORBA spec.
          Any always performs a deep_copy and owns the object.

Wed Dec 30 02:47:46 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tao/IIOP_Object (Profile): Removed the 1001 different
          constructors and set() methods of the Profile class.  We are now
          down to a bare minimum.  Also did a complete make-over of this
          class to make it easier and simpler to use.

          The major change that improved the performance of creating new
          objects was moving the calls to get_host_name() and
          get_host_addr() out of the Profile class and into the ORB
          initialization routine.  This way these functions are only
          called once per ORB and not once per object.

          In other words, these changes were necessary to improve the
          performance of object creation in TAO.  The change is fairly
          simple in the sense that previously the IIOP::Profile was fed
          the endpoint INET_Addr on creation by the ORB_Core and the
          Profile figured out the host and port information from the
          INET_Addr. The figuring out part was through the very expensive
          gethostby{name,addr} routine.

          The change was to move the expensive gethostby{name,addr}
          routine out of the Profile and into the ORB_Core and simply
          provide the cached host and port information to the
          IIOP::Profile when it is constructed.

        * tao/Servant_Base.cpp (_create_stub): Removed the creation of an
          extra STUB_Object.

        * tao/params.h (TAO_ORB_Parameters): Did a complete make-over of
          this class to make it easier and simpler to use (memory
          management issues are now much simpler).

        * tao/ORB_Core.h (TAO_Resource_Factory): Removed the <addr_> from
          the ORB_Core.  It was already in the orb parameters.

        * tao/Active_Object_Map.i (TAO_Active_Object_Map): Added the
          deletion of the reverse map.

        * performance-tests/POA/Object_Creation_And_Registration/registration.cpp:
          New test to measure the time it takes to register and activate
          an object in the POA.

        * examples/POA/DSI/run_test.pl:
        * examples/POA/Default_Servant/run_test.pl:
        * examples/POA/On_Demand_Loading/run_test.pl:
        * examples/POA/On_Demand_Activation/run_test.pl:
        * examples/POA/Explicit_Activation/run_test.pl:

          Unlink ior files before starting the server.

Wed Dec 30 01:17:42 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tests/DynAny_Test/basic_test.dsp: Fixed project configurations.

        * tests/DynAny_Test/test_dynsequence.cpp (run_test): Don't delete
          <out_str1>, it is owned by the any underneath.

        * tao/encode.cpp (TAO_Marshal_Any::encode): Try to reuse the cdr
          string in an any as long as it has one, which is almost always
          be the case.

        * tao/DynAny_i.cpp (from_any,to_any):  The correct way of making
          sure if an any contains any data is to check it's cdr ptr, not
          it's value.

        * tao/Any.cpp: Cleaned up the code and fixed many discrepencies
          between code and comments.  Make sure ownerships are well kept.
          (CORBA_Any): Always duplicates the cdr string.  <any_owns_data_>
          now only refers to ownership of <value_>.
          (CORBA_Any): (Copy ctor) Always duplicates the cdr string.  If
          <src> owns its data, then we borrow it.  Notice the copying any
          doesn't own the object.

Tue Dec 29 22:53:08 1998  David L. Levine  <levine@cs.wustl.edu>

        * performance-tests/Cubit/TAO/IDL_Cubit/run_tests.pl:
          removed # at beginning of first line of script.  Thanks
          to Nanbor and Andy for reporting that they couldn't
          run it, because they use tcsh and set their LD_LIBRARY_PATH
          after sourcing their .[t]cshrc.

1998-12-29  Seth Widoff  <swidoff@cs.cmu.edu>

        * orbsvcs/orbsvcs/Trader/Trader_T.{h,cpp}:
        * orbsvcs/orbsvcs/Trader/Constraint_Visitors.{h,cpp}:
          For the "in" operator, the trader now uses Dynamic Anys to
          access the values of service offer sequences rather than
          the deprecated Any::value method. Thanks to Nanbor
          <nanbor@cs.wustl.edu> for noticing this use of the deprecated
          method.

Tue Dec 29 14:29:22 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/try_macros.h:
          Changed the definition of the TAO_TRY_ENV macro from __env to
          _tao_try_environment.

        * tao/decode.cpp:
          Removed another __ in a variable name.

        * tao/ORB.cpp:
        * tao/DynAnyC.cpp:
        * tao/Object_KeyC.cpp:
        * tao/POAC.cpp:
          Changed _tc__tc for _tc_TAO_tc

        * orbsvcs/orbsvcs/Event/Event_Channel.cpp:
          Removed explicit use of __env.

Tue Dec 29 15:18:09 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO version 0.2.46 released.

Tue Dec 29 14:40:55 1998  Kirthika Parameswaran  <kirthika@cs.wustl.edu>

        * examples/POA/On_Demand_Loading/README: Added changes to the
          README so as to make it clear that the level of granualarity in
          this example is at the object level, i.e. every object is
          associated with an dll which is loaded on demand.

Tue Dec 29 14:32:06 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO version 0.2.45 released.

Tue Dec 29 13:16:08 1998  Aniruddha Gokhale  <gokhale@sahyadri.research.bell-labs.com>

        * TAO_IDL/be/be_visitor_typecode/typecode_defn.cpp:

          We were generating variables with names that had two consecutive
          underscores ('_'). However, as per the C++ standard, variables
          with __ are reserved for the compiler. This happened with the
          typecode variables with prefix _tc__tc. We now generate
          _tc_TAO_tc. Thanks to Jonathan Biggar <jon@floorboard.com> for
          noticing this.

Mon Dec 28 16:44:18 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * orbsvcs/orbsvcs/Event/EC_Gateway_UDP: Fixed "used before it was
          declared inline" problem.  Also, made opertor== and opertor!=
          class methods.

Mon Dec 28 13:13:03 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * examples/Simple/time/Server_i.cpp (parse_args): Fixed an
          incorrect return value.  Thanks to Barry Hoggard
          <hoggardb@panix.com> for reporting this.

Mon Dec 28 11:49:04 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * */Makefile:
          Updated dependencies.

        * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.h:
        * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp:
          Fixed egcs 1.1.1 warning, thanks to David for reporting this
          one.

        * tao/ORB.h:
          Removed _tc_alias and _tc_except from the list of TypeCode
          constants, thanks to Jerry De Master <jdemaste@ipdinc.com> for
          reporting this problem.

Mon Dec 28 10:07:55 1998  David L. Levine  <levine@cs.wustl.edu>

        * orbsvcs/orbsvcs/Makefile: re-enabled sfp build.  It
          should be fixed now.

Sun Dec 27 15:23:25 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * orbsvcs/orbsvcs/Trader/Trader_Utils.cpp:
        * orbsvcs/orbsvcs/Trader/Trader.cpp:
        * orbsvcs/orbsvcs/Trader/Service_Type_Repository.cpp: Removed some
          extra template instantiations.  Thanks to Ben Eng
          <ben@jetpen.com> for reporting this.

Sun Dec 27 14:33:33 1998  David L. Levine  <levine@cs.wustl.edu>

        * TAO_IDL/Makefile,fe/y.tab.{h,cpp,cpp.diff}: commented out
          #pragma ident in generated parser, because some compilers
          complain about it.  Thanks to Barry Hoggard <hoggardb@panix.com>
          for reporting this.

        * performance-tests/Cubit/TAO/DII_Cubit/Makefile: added
          -ptr options for Sun CC, so that it uses the IDL_Cubit
          template repository.

Sun Dec 27 09:27:23 1998  David L. Levine  <levine@cs.wustl.edu>

         * orbsvcs/orbsvcs/Makefile: don't build sfp, even with
           Sun CC, because the Makefile didn't handle it properly.

Fri Dec 25 18:26:31 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tao/Object_Table: Renamed all Object_Table classes to
          Active_Object_Map.  This makes the names consistent with the new
          POA spec. Also renamed the files.

          The other major change was to add a reverse lookup table to the
          active object map.  This new table map servants to object ids.
          This is used to find servants in the active object map when
          _this() is called.  The previous implementation was a simple,
          but expensive, linear search.  This made object registration and
          activation very expensive when there are many objects in the
          active object map.  Note that this optimization is only relevant
          in the UNIQUE_ID POA policy.

          Thanks to Jonathan Biggar <jon@floorboard.com> for suggesting
          this optimization.

        * tao/orbconf.h: TAO_DEFAULT_SERVER_OBJECT_TABLE_SIZE is
          deprecated. Please use
          TAO_DEFAULT_SERVER_ACTIVE_OBJECT_MAP_SIZE.

        * tao/Server_Strategy_Factory, default_server and params: Added
          the ability to change the default creation policy of reverse
          active object map.

        * tao/Operation_Table: Removed template specialization and made
          use of the new ACE_Hash_Map_Manager_Ex.

        * tao/Servant_Base.h (TAO_Servant_Hash): Added a new class so that
          we can hash servants.

        * tao/Sequence.h (TAO_Base_Sequence): Removed the hash() method
          from this class.  It was a non-standard method that is not
          required with the new Hash_Map_Manager_Ex design.

          Added TAO_ObjectId_Hash that will help us hash object ids.

        * tao/POA: Removed the second POA constructor which took the
          active object map as a parameter.  Since the user never gets to
          call this function, this second constructor is extra.  Anyway,
          if the user does want to specific their own (custom) active
          object map, they should use the -ORBsystemidpolicydemuxstrategy
          user or -ORBuseridpolicydemuxstrategy user or
          -ORBuniqueidpolicyreversedemuxstrategy user policy.

          This change also effected some functions in ORB.cpp,
          ORB_Core.cpp, and poa_T.cpp.

        * tao/default_server.cpp (parse_args): Added new option
          -ORBuniqueidpolicyreversedemuxstrategy.

Fri Dec 25 18:27:21 EST 1998  Aniruddha Gokhale  <gokhale@sahyadri.research.bell-labs.com>

        * TAO_IDL/be/be_array.cpp
          TAO_IDL/be_include/be_array.h:

          Moved code generation of the var, out, and forany classes to the
          visitor for arrays since there were some dependencies on the
          information stored in the visitor context. In particular, this
          was required to handle anonymous arrays in structs and unions.

        * TAO_IDL/be/be_type.cpp (nested_type_name)
          TAO_IDL/be_include/be_type.h (nested_type_name):

          Added a third parameter for prefix. We need this for anonymous
          array type names who have an underscore prepended to the field
          name.

        * TAO_IDL/be/be_visitor_array/array_ch.cpp
          TAO_IDL/be/be_visitor_array/array_ci.cpp
          TAO_IDL/be/be_visitor_array/array_cs.cpp
          TAO_IDL/be/be_visitor_array/cdr_ch.cpp
          TAO_IDL/be/be_visitor_array/cdr_cs.cpp
          TAO_IDL/be_include/be_visitor_array/array_ch.h
          TAO_IDL/be_include/be_visitor_array/array_ci.h:

          Moved code generation of the var, out, and forany classes to the
          visitors. In addition, fixed a number of problems with anonymous
          arrays in structs and unions. Fixed CDR operators for anonymous
          arrays.

        * TAO_IDL/be/be_visitor_field/field_ch.cpp
          TAO_IDL/be/be_visitor_field/field_ci.cpp
          TAO_IDL/be/be_visitor_field/field_cs.cpp
          TAO_IDL/be/be_visitor_field/cdr_cs.cpp

          Fixed problems with anonymous arrays and sequences.

        * TAO_IDL/be/be_visitor_union_branch/private_ch.cpp
          TAO_IDL/be/be_visitor_union_branch/public_access.cpp
          TAO_IDL/be/be_visitor_union_branch/public_assign.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/public_reset.cpp:

          Fixed problems with anonymous arrays and sequences.

Thu Dec 24 09:45:36 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO version 0.2.44 released.

Thu Dec 24 09:22:02 1998  David L. Levine  <levine@cs.wustl.edu>

        * orbsvcs/orbsvcs/Makefile: only build sfp with Sun CC
          for now.  On some other platforms, the generated code
          from sfp.idl doesn't compile.

Wed Dec 23 23:55:25 1998  Kirthika Parameswaran <kirthika@cs.wustl.edu>

        * examples/POA/On_Demand_Loading/Servant_Manager.{h,cpp}:
          New addition to the repository. These are the helper files
          containing the common code between the ServantActivator and the
          ServantLocator.

        * examples/POA/On_Demand_Loading/Servant_Activator.{h,cpp}:
        * examples/POA/On_Demand_Loading/Servant_Locator.{h,cpp}:
          Removed the superflous methods and added an object of
          ServantManager which provides the helper methods.

        * examples/POA/On_Demand_Loading/Makefile:
          It now contains a Servant_Manager entry.

Wed Dec 23 15:16:00 CST 1998  Chris Gill  <cdgill@cs.wustl.edu>

        * TAO/docs/events_tutorial.html: added tutorial on event channel.
          Thanks to Carlos O'Ryan for ongoing help maintaining this, and to
          Tim Harrison for providing the original version.

        * TAO/orbsvs/tests/EC_Throughput/ECT_Consumer.cpp
          TAO/orbsvs/tests/EC_Throughput/ECT_Consumer_Driver.cpp
          TAO/orbsvs/tests/EC_Throughput/ECT_Supplier_Driver.cpp:
          converted a number of places to use the TAO_CHECK_ENV_RETURN_VOID
          macro consistently, added comments, etc.

Wed Dec 23 14:44:04 EST 1998  Aniruddha Gokhale  <gokhale@sahyadri.research.bell-labs.com>

        * TAO_IDL/be/be_visitor_sequence/gen_bounded_obj_sequence_ch.cpp:
          TAO_IDL/be/be_visitor_sequence/gen_unbounded_obj_sequence_ch.cpp:

          Due to a bug in g++2.7.2.3 we were getting lots of link time
          undefined symbol errors. This happened for sequences of objects
          and interfaces for those platforms that do not support template
          specializations or require explicit template
          instantiations. Thanks to the efforts of David Levine, we were
          able to pinpoint precisely where the problem occured. This was
          fixed by moving the generated class declaration of the object
          manager after the generated class declaration of the sequence.

        * TAO_IDL/be/be_visitor_interface/interface_ss.cpp:

          In the generated code for _non_existent_skel, the
          _tao_obj_reference parameter was unused. We were getting
          warnings for this case.

        * tao/Sequence.h:

          A number of classes had their destructors protected. They are
          now moved to the public section.

Wed Dec 23 12:30:25 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/try_macros.h (TAO_RETHROW_RETURN_VOID): This macro was not
          defined for platforms without native c++ exceptions.

        * tests/Param_Test/except.cpp (dii_req_invoke): Changed to use
          TAO_RETHROW_SAME_ENV_RETURN_VOID.  We are not throwing the
          exception to another env here.

Wed Dec 23 11:07:46 EST 1998  Aniruddha Gokhale  <gokhale@sahyadri.research.bell-labs.com>

        * TAO_IDL/be/be_type.cpp (nested_type_name):

          We had forgotten to insert a "::" in the computation of the
          nested type name. Thanks to Christian von Mueffling (cvm@aiss.de)
          for sending the bug report.

Wed Dec 23 03:41:07 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tests/Param_Test/*.{h,cpp} (dii_req_invoke): Added a new mehtod
          for all test classes.  All of them but Test_Exception simply
          invoke the passed-in DII request.  But for Test_Exception, we
          need to catch the exceptions from the server and check if the
          exceptions are what we are waiting for.

        * tests/Param_Test/objref.cpp (init_parameters): Although
          <out_courier_> and <ret_courier_> are pointers to return values,
          they still need to be initialized to nil object reference.
          Otherwise, any can't encode it.

Tue Dec 23 02:07:14 1998  Kirthika Parameswaran  <kirthika@cs.wustl.edu>

        * examples/POA/Explicit_Activation/Makefile:
        * examples/POA/On_Demand_Activation/Makefile:
        * examples/POA/On_Demand_Loading/Makefile:

          Removed dependency on libserver.a from all the above Makefiles.

Tue Dec 22 13:43:35 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * TAO_IDL/be/be_visitor_array/array_ch.cpp (visit_array): We
          should use TAO_NAMESPACE_STORAGE_CLASS to decorate the array
          memory management functions only when the array is directly
          within a module.  Otherwise, "static" should always be used.

Tue Dec 22 09:13:06 1998  David L. Levine  <levine@cs.wustl.edu>

        * examples/Simple/chat/README: updated VxWorks information.

        * examples/POA/Generic_Servant/Makefile: added LIBS=-lTAO to avoid
          build warning on DU 4.0.

        * TAO_IDL/driver/drv_private.cpp: protected NFILES #define.

Tue Dec 22 09:36:37 EST 1998  Aniruddha Gokhale  <gokhale@sahyadri.research.bell-labs.com>

        * TAO_IDL/be/be_visitor_sequence/gen_bounded_obj_sequence_cs.cpp:
          TAO_IDL/be/be_visitor_sequence/gen_bounded_sequence_cs.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_cs.cpp:

          Added these new files. Some compilers were giving lots of
          problems when we had virtual methods inlined. So we have now
          moved these methods (e.g., _allocate_buffer, _deallocate_buffer,
          _shrink_buffer) to the implementation file.

        * TAO_IDL/be/be_visitor_sequence/gen_bounded_obj_sequence_ch.cpp:
          TAO_IDL/be/be_visitor_sequence/gen_bounded_sequence_ch.cpp:
          TAO_IDL/be/be_visitor_sequence/gen_bounded_str_sequence_ch.cpp:
          TAO_IDL/be/be_visitor_sequence/gen_unbounded_obj_sequence_ch.cpp:
          TAO_IDL/be/be_visitor_sequence/gen_unbounded_sequence_ch.cpp:

          The destructor is now defined "virtual" because there are
          virtual methods.

        * TAO_IDL/be/be_visitor_sequence.cpp:

          Added #include statements for the newly added files.

        * TAO_IDL/be_include/be_visitor_sequence/sequence_cs.h:

          A bunch on new methods added to the visitor class. These methods
          are defined in the five new files added above.

Tue Dec 22 07:44:07 1998  David L. Levine  <levine@cs.wustl.edu>

        * tao/Marshal.i (deep_free): commented out unused parameter
          "source".

Tue Dec 22 03:33:14 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/Exception.{h,cpp}: If you try to catch the same exception
          twice, VC will complain.  Added a new TAO_DONT_CATCH class for
          use when we want to disable catching all exceptions.

Tue Dec 22 02:37:38 1998  Kirthika Parameswaran  <kirthika@cs.wustl.edu>

        * examples/POA/On_Demand_Loading/Servant_Activator.h:
          Added an ACE_HASH_MAP_MANAGER member which associates an
          ObjectId with an dll.

        * examples/POA/On_Demand_Loading/Servant_Activator.cpp
          (activate_servant): The dll object is bound to the ObjectId of
          the servant.

        * examples/POA/On_Demand_Loading/Servant_Activator.cpp
          (deactivate_servant): The dll object is removed from the servant
          hash map.

Tue Dec 22 01:12:16 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/try_macros.h: Defined TAO_CATCHANY as
          TAO_CATCH (TAO_DONT_CATCH, ex) when building DEBUG library
          (when ACE_NDEBUG is _not_ defined.)  This will make un-expected
          exception very out-standing and let debuggers have a chance to
          catch these exceptions for us.

        * orbsvcs/orbsvcs/Trader/Trader_T.cpp (extract): Changed to use
          any's >>= operator to extract a sequence.  No need to decode it
          yourself.

Mon Dec 21 21:42:24 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * orbsvcs/orbsvcs/Trader/Constraint_Nodes.cpp
          (TAO_Literal_Constraint): Strings carried by any's are managed
          by any's.  They must be duplicated before assigned to others.

Mon Dec 21 20:45:26 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * examples/POA/Generic_Servant/MyFooServant.cpp: Changed
          ACE_Svc_Export to GENERIC_SERVANT_Export.

Mon Dec 21 17:05:25 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO/TAO-INSTALL.html: Updated the installation notes to indicate
          that all of TAO should be built.  Thanks to Brian Wallis
          <Brian.Wallis@sr.com.au> for reporting this.

Mon Dec 21 17:05:25 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/Marshal.i (deep_free):
        * tao/decode.cpp:
        * tao/encode.cpp:  More memory management bug fixes for Any with
          Any.

Mon Dec 21 11:56:29 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * TAO_IDL/be/be_visitor_array/array_ch.cpp (visit_array): Fixed
          the functions to use TAO_NAMESPACE_STORAGE_CLASS instead of
          static.  Thanks to Patrice Bensoussan <pbensoussan@amadeus.net>
          for reporting this bug.

Mon Dec 21 09:15:11 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * orbsvcs/tests/EC_Throughput/ECT_Driver.i:
          Fixed some warnings reported by David.

Mon Dec 21 08:30:09 1998  David L. Levine  <levine@cs.wustl.edu>

        * performance-tests/Cubit/TAO/DII_Cubit/Makefile:
          for DEC cxx only, added IDL_Cubit template repository
          location to CCFLAGS.  That allows the linker to find
          all necessary template instantiations.

Sun Dec 20 20:28:36 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tests/Param_Test/param_test_i.cpp (test_any): Added tests for
          array, struct, and sequence types.

        * tests/Param_Test/any.{h,cpp}: Added tests for more data types.
          Restructured parameters setting routine so it will always test
          all the types included in the test.

Sun Dec 20 09:17:51 1998  David L. Levine  <levine@cs.wustl.edu>

        * examples/Simple/chat/README: added VxWorks info.

Sun Dec 20 04:34:58 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * examples/Simple/chat/Client_i.cpp: Couple of minor changes.

        * examples/Simple/chat: Added NT makefiles.

Sat Dec 19 20:12:36 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/Any.cpp (operator<<=): Added a missing "const" keyword.
          Thanks to David for noticing this.

Fri Dec 18 00:20:37 1998  Kirthika Parameswaran  <kirthika@cs.wustl.edu>

        * examples/POA/On_Demand_Loading/Servant_Locator.{h,cpp}:
          This interface of the Servant_Manager loads the servant per
          client request.

        * examples/POA/On_Demand_Loading/run_test_pl: This script is used
          to run this example.

        * examples/POA/On_Demand_Loading/server.cpp: Added changes to
          incorporate the Servant Locator interface.

        * examples/POA/On_Demand_Loading/README: Added changes about the
          Servant Locator.

        * orbsvcs/orbsvcs/Trader/Trader_Interfaces.cpp (export):
          commented out declaration/initialization of unused
          local plength.

Fri Dec 18 23:02:08 1998  Kirthika Parameswaran  <kirthika@cs.wustl.edu>

        * examples/POA/On_Demand_Loading: Removed the following entries:
          examples/POA/On_Demand_Loading/Dir_Service.idl
          examples/POA/On_Demand_Loading/Dir_Sevice_i.{h,cpp}
          examples/POA/On_Demand_Loading/Makefile.DirService
          examples/POA/On_Demand_Loading/Makefile.Client
          examples/POA/On_Demand_Loading/client.cpp

          Now this example uses the
          examples/POA/Generic_Servant/MyFooServant as the servant which
          will be loaded on demand.

        * examples/POA/Generic_Servant/Makefile: Added changes so that an
          libMyFoo.so is created.

        * examples/POA/Generic_Servant/MyFooServant.cpp (create_MyFoo):
          Added this extern "C" function which creates an MyFoo object.


Fri Dec 18 16:18:50 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/Any.{i,cpp} (free_value):  Moved it to cpp file.

        * be/be_visitor_interface/any_op_cs.cpp (>>=):
          Fixed a memory management problem.

        * be/be_visitor_array/any_op_cs.cpp (>>=):
        * be/be_visitor_enum/any_op_cs.cpp (>>=):
        * be/be_visitor_exception/any_op_cs.cpp (>>=):
        * be/be_visitor_sequence/any_op_cs.cpp (>>=):
        * be/be_visitor_structure/any_op_cs.cpp (>>=):
        * be/be_visitor_union/any_op_cs.cpp (>>=): Adopted the changes
          made in Any.  Some of them may still have memory management
          problem.

        * tao/Any.{h,i,cpp}: The usage of <any_owns_data_> was not very
          consistant.  Sometime it meant any owns the cdr string,
          sometimes it meant any owns the internal data stored in
          <value_>.  It is now changed to indicate whether any owns the
          internal data.
          (value):  Now return the internal data if there's own,
          otherwise, it return a pointer to the cdr string.
          (free_value):  A small helper function to free up the internal
          data held by any.
          (any_owns_data): Now return true when any owns a valid data.

        * tao/Connect.cpp: Fixed typo in error messages.

Fri Dec 18 12:14:48 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * orbsvcs/tests/EC_Throughput/ECT_Scheduler_Info.h:
        * orbsvcs/tests/EC_Throughput/ECT_Throughput.cpp:
          I'm starting to support a run-time scheduler for this test.
          But it is still experimental and must be enabled at compile
          time.

Fri Dec 18 09:34:14 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * orbsvcs/tests/EC_Throughput/ECT_Driver.h:
        * orbsvcs/tests/EC_Throughput/ECT_Driver.i:
        * orbsvcs/tests/EC_Throughput/ECT_Driver.cpp:
        * orbsvcs/tests/EC_Throughput/ECT_Consumer_Driver.cpp:
        * orbsvcs/tests/EC_Throughput/ECT_Throughput.cpp:
        * orbsvcs/tests/EC_Throughput/ECT_Consumer.cpp:
        * orbsvcs/tests/EC_Throughput/ECT_Supplier.cpp:
          The test can easily measure latency as well as throughput, so I
          added the necessary methods in the ECT_Driver class.


        * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp:
          Added missing template instantiations.
          Fixed warnings reported by g++ 2.7.2.3

1998-12-17  Seth Widoff  <swidoff@cs.cmu.edu>

        * orbsvcs/orbsvcs/Trader/Trader_Utils.{h,cpp}:
        * orbsvcs/orbsvcs/Trader/Trader_Interfaces.{cpp}:
        My crazy attempt to save copying by passing around sequence
        buffers backfired -- it worked on some platforms but not
        others. So I've supplanted that approach with good, old
        fashioned copying. Thanks to Sunil Kumar <skumar@sutmyn.com>'s
        example program for helping me to pinpoint the problem.

Thu Dec 17 16:11:58 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.h:
        * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.i:
        * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp:
        * orbsvcs/tests/EC_Mcast/EC_Mcast.cpp:
          Added support for fragmentation and reassembly to the UDP
          gateway. This is still experimental, but seems to work OK.
          Though I have payed attention to the first order optimizations:
          no data copying, little or no memory allocation, reduced
          locking; we have to systematically explore if there are any
          performance bottlenecks or problems.
          I still have to Purify/Quantify this code.

        * tao/ORB_Core.cpp:
          By default the CDR allocators where TSS, but this was not safe
          for certain applications. Thanks to Ron Barack
          <r.barack@inobis.de> for pointing this out.

        * orbsvcs/tests/EC_Throughput/run_test.pl:
          Updated the script.

Thu Dec 17 14:09:33 1998  Jeff Parsons <jp4@cs.wustl.edu>

        * tao/DynAnyC.cpp:
          Added some AHETI lines at the end to reflect what the updated
          IDL compiler does. Should fix a build error reported on Dec
          Alpha.
          Builds ok on NT, doing further checking on Unix.

Thu Dec 17 04:45:39 1998  Aniruddha Gokhale  <gokhale@sahyadri.research.bell-labs.com>

        * tao/IIOP_Object.cpp (constructor):

          We were missing the initialization of the forward profile and
          forward profile success in the constructor with the following
          signature.

          IIOP_Object::IIOP_Object (const char *host,
                                    const CORBA::UShort port,
                                    const char *objkey,
                                    char *repository_id);

          Without the above initialization, we were getting segmentation
          fault in the destructor of the underlying Profile as it tried to
          delete the forward profile which pointed to an illegal address
          in memory.

Tue Dec 15 19:39:45 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/ORB.h:
        * tao/corba.h: Commented out "#pragma pack" directive NT used.
          This fixed the mis-alignment problem specific on NT.

Tue Dec 15 19:04:37 1998  Nagarajan Surendran  <naga@cs.wustl.edu>

        * orbsvcs/orbsvcs/sfp.idl : Changed according to the version 1.1
        changes.

        * orbsvcs/orbsvcs/AV/sfp.{h,cpp}: Implemenation of the Simple Flow
        Protocol specified in the Audio/Video Streaming
        specification. This currently has support for sending simple
        frames without fragmentation.

        * orbsvcs/tests/AVStreams/sfp/client.cpp:
        * orbsvcs/tests/AVStreams/sfp/server.cpp:
                client and server test files for sfp.

        * orbsvcs/orbsvcs/Makefile: Added sfp to the list of IDL_SRCS.

Tue Dec 15 14:45:49 1998  David L. Levine  <levine@cs.wustl.edu>

        * *.h,TAO_IDL/be/be_codegen.cpp (end_server_template_header):
          removed () from #pragma implementation argument.  Thanks to
          Christian v. Mueffling <cvm@aiss.de> for reporting this.

Tue Dec 15 14:29:33 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * orbsvcs/tests/EC_Throughput/EC_Throughput.ds[wp]:
        * orbsvcs/tests/EC_Throughput/EC_Supplier.dsp:
        * orbsvcs/tests/EC_Throughput/EC_Comsumer.dsp: Added/Updated
          projects/workspace.

Tue Dec 15 10:40:03 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * orbsvcs/tests/EC_Throughput/Makefile:
        * orbsvcs/tests/EC_Throughput/ECT_Driver.h:
        * orbsvcs/tests/EC_Throughput/ECT_Driver.cpp:
          Base class for the test drivers.

        * orbsvcs/tests/EC_Throughput/ECT_Consumer_Driver.h:
        * orbsvcs/tests/EC_Throughput/ECT_Consumer_Driver.cpp:
        * orbsvcs/tests/EC_Throughput/ECT_Supplier_Driver.h:
        * orbsvcs/tests/EC_Throughput/ECT_Supplier_Driver.cpp:
        * orbsvcs/tests/EC_Throughput/ECT_Supplier.h:
        * orbsvcs/tests/EC_Throughput/ECT_Supplier.cpp:
        * orbsvcs/tests/EC_Throughput/ECT_Consumer.h:
        * orbsvcs/tests/EC_Throughput/ECT_Consumer.cpp:
          Moved the non-collocated test drivers to separate files.

        * orbsvcs/tests/EC_Throughput/ECT_Throughput.h:
        * orbsvcs/tests/EC_Throughput/ECT_Throughput.cpp:
          This is a collocated version of the Event Channel Throughput
          test.

Mon Dec 14 20:38:54 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * TAO_IDL/be/be_codegen.cpp:
        * TAO_IDL/be/be_init.cpp (BE_init): Changed to initialize tao_cg
          to 0 and delay the actual initialization in BE_init.  This avoid
          the "order of initialization" problem and allow us to trace
          TAO_IDL.  The output if not pretty though.  Thanks to Ulf
          Jaehrig <jaehrig@desys.com> for reporting this.

Mon Dec 14 16:16:34 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/Environment.cpp:
          Added the CORBA_Environment::exception_id() method, thanks to
          diesel@dekwl.abb.com (sorry, your name was not in the message!)
          for reporting this problem.

1998-12-14  Seth Widoff  <swidoff@cs.cmu.edu>

        * docs/releasenotes/trader.html:
          Added instructions on using -TSdumpior to have the trader dump
          its ior to a file for use by  -ORBtradingserviceior and the
          TradingServiceIOR environment variable. Removed the bit about
          having the export_test use -ORBport 0 when run on the same
          machine as the trader it's testing, since this is now the
          default. Thanks to Carlos O'Ryan for pointing this out.

Mon Dec 14 12:21:23 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * TAO/performance-tests/Cubit/TAO/MT_Cubit/{client,server}.dsp:
        * TAO/performance-tests/Cubit/TAO/IDL_Cubit/{client,server}.dsp:
        * TAO/tao/TAO_Static.dsp: Removed "__ACE_INLINE__=0" from the
          default static release build settings.

Mon Dec 14 08:35:11 1998  David L. Levine  <levine@cs.wustl.edu>

        * BUG-REPORT-FORM: added a few FMMs.

        * performance-tests/Cubit/TAO/MT_Cubit/Timer.cpp (get_elapsed_time):
          removed VxWorks-conditional code.  It was unnecessary, and
          dangerous because it overwrote the measured usecs with a hard-coded
          value of 2000.

        * performance-tests/Cubit/TAO/MT_Cubit/client.cpp (print_util_stats):
          fixed printout to reflect whether -l option had been used or not.

        * performance-tests/Cubit/TAO/MT_Cubit/client.cpp:
          moved ACE_OS::exit () call to run (), in the hope that we'll
          eventually be able to run more than one iteration of the
          utilization test before exiting.

Mon Dec 14 08:08:32 EST 1998  Aniruddha Gokhale  <gokhale@sahyadri.research.bell-labs.com>

        * TAO_IDL/be/be_visitor_sequence/gen_bounded_obj_sequence_ci.cpp:
          TAO_IDL/be/be_visitor_sequence/gen_bounded_sequence_ci.cpp:
          TAO_IDL/be/be_visitor_sequence/gen_bounded_str_sequence_ci.cpp:
          TAO_IDL/be/be_visitor_sequence/gen_unbounded_obj_sequence_ci.cpp:
          TAO_IDL/be/be_visitor_sequence/gen_unbounded_sequence_ci.cpp:

          The generated code was using inline functions such as allocbuf
          and freebuf before their implementation. Some compilers were
          issuing lots of warnings. Thanks to David Levine for sending me
          a log of these warnings. In addition, when we use these static
          methods, we now use their fully scoped name to avoid any
          conflicts and/or ambiguities.

Sun Dec 13 08:32:04 1998  David L. Levine  <levine@cs.wustl.edu>

        * orbsvcs/tests/Trading/Service_Type_Exporter.cpp (remove_all_types):
          removed unused label "remove_type_label".

1998-12-12  Seth Widoff  <swidoff@cs.cmu.edu>

        * orbsvcs/tests/Trader/README:
        * orbsvcs/tests/Trader/Service_Type_Exporter.cpp:
          The trader test no longer prints an exception message in the
          unexceptional case that the trader has unregistred test types
          when the export_test first tries to remove them. Updated the
          expected output in the README file to reflect the change.

Sat Dec 12 11:29:38 EST 1998  Aniruddha Gokhale  <gokhale@sahyadri.research.bell-labs.com>

        * TAO_IDL/be/be_visitor_sequence/gen_bounded_obj_sequence_ci.cpp:
          TAO_IDL/be/be_visitor_sequence/gen_bounded_sequence_ci.cpp:
          TAO_IDL/be/be_visitor_sequence/gen_bounded_str_sequence_ci.cpp:
          TAO_IDL/be/be_visitor_sequence/gen_object_manager_ci.cpp:
          TAO_IDL/be/be_visitor_sequence/gen_unbounded_obj_sequence_ci.cpp:
          TAO_IDL/be/be_visitor_sequence/gen_unbounded_sequence_ci.cpp:

          The generated signatures of various methods contained default
          arguments which should only appear in the class definition. This
          has been fixed. Thanks to David Levine for reporting the problem.

Sat Dec 12 09:15:14 1998  David L. Levine  <levine@cs.wustl.edu>

        * performance-tests/Cubit/TAO/MT_Cubit/client.cpp
          (print_latency_stats): "microseconds" instead of "seconds".
          Also, added a call to ACE_OS::exit (), for the utilization
          test only.  Otherwise, the program never terminates.

Fri Dec 11 16:53:41 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp:
          The UDP_Sender::init() method should only create the RT_Info if
          it is not there already. Thanks to Dave Meyer
          <dmeyer@std.saic.com> and J. Russell Noseworthy
          <rnosewor@objectsciences.com> for providing this fix.

Fri Dec 11 12:39:22 1998  Alexander Babu Arulanthu  <alex@cs.wustl.edu>

        * TAO_IDL/tao_idl.1:
        * docs/compiler.html: Updated documentation for lookup
        strategies.

Fri Dec 11 11:11:27 EST 1998  Aniruddha Gokhale  <gokhale@sahyadri.research.bell-labs.com>

        * TAO_IDL/be/be_sequence.cpp:

          For sequences of CORBA::Object, we were generating code such
          that the base class was the Pseudo_Sequence class in
          tao/sequence_T.h. However, these base template classes do not
          provide the _upcast and _downcast methods since they are not
          required for the pseudo objects. Thus, whenever the element type
          of a sequence is AST_PredefinedType::PT_pseudo, we check if it
          was a CORBA::Object or a true pseudo-object. If it is
          CORBA::Object, then the managed type becomes MNG_OBJREF instead
          of MNG_PSEUDO. Thus, now we generate the base template class to
          be Object_Sequence which have the _upcast and _downcast
          methods.

          Thanks to Ron Barack (rab@terminal.cz) for reporting that the
          _upcast and _downcast methods were not available for sequences
          of CORBA::Objects.


Fri Dec 11 08:54:42 1998  David L. Levine  <levine@cs.wustl.edu>

        * VERSION: added ace-users/comp.soft-sys.ace info.

Fri Dec 11 07:28:54 EST 1998  Aniruddha Gokhale  <gokhale@sahyadri.research.bell-labs.com>

        * TAO_IDL/be/be_visitor_sequence.cpp:

          Added #include for newly added files described below.

        * TAO_IDL/be/be_visitor_sequence/gen_bounded_obj_sequence_ch.cpp:
          TAO_IDL/be/be_visitor_sequence/gen_bounded_sequence_ch.cpp:
          TAO_IDL/be/be_visitor_sequence/gen_bounded_str_sequence_ch.cpp:
          TAO_IDL/be/be_visitor_sequence/gen_object_manager_ch.cpp:
          TAO_IDL/be/be_visitor_sequence/gen_unbounded_obj_sequence_ch.cpp:
          TAO_IDL/be/be_visitor_sequence/gen_unbounded_sequence_ch.cpp:
          TAO_IDL/be/be_visitor_sequence/sequence_ch.cpp:

          We no longer generate all the code for the base sequence classes
          in the header file itself (Recall that these base sequence
          classes are used for platforms that do not support template
          specialization OR require explicit template instantiation).
          Instead, the implementation of all the methods of the
          classes is now generated in the *.i (inlined) file. The reason
          for doing this was to handle problems with sequences of forward
          declared interfaces. Code for sequences of forward declared
          interfaces would use operations such as _duplicate, _nil, and
          others that get defined only when the actual interface
          definition is seen. To circumvent this problem, we now generate
          only the class definition in the header file and all the
          implementation is moved to the inline file. Thanks to Ron Barack
          (rab@terminal.cz) for submitting the bugreport.

          In addition, I realized that these base sequence classes were
          used only when the platform requires explicit template
          instantiation or does not support template specialization. For
          the other cases, the code for these base classes was never used
          and it was unnecessarily increasing the footprint. Hence, we now
          generate these base sequence classes and its associated inlined
          code inside conditional macro which we call AHETI (please see
          generated code).

        * TAO_IDL/be/be_visitor_sequence/sequence_ci.cpp:
          TAO_IDL/be_include/be_visitor_sequence/sequence_ci.h:

          Added code and new methods so that code for the base sequence
          classes can be generated in the *.i file.

        * TAO_IDL/be/be_visitor_sequence/gen_bounded_obj_sequence_ci.cpp:
          TAO_IDL/be/be_visitor_sequence/gen_bounded_sequence_ci.cpp:
          TAO_IDL/be/be_visitor_sequence/gen_bounded_str_sequence_ci.cpp:
          TAO_IDL/be/be_visitor_sequence/gen_object_manager_ci.cpp:
          TAO_IDL/be/be_visitor_sequence/gen_unbounded_obj_sequence_ci.cpp:
          TAO_IDL/be/be_visitor_sequence/gen_unbounded_sequence_ci.cpp:

          Newly added files that generate code for the base sequences in
          the *.i file.

Thu Dec 10 21:48:08 1998  Kirthika Parameswaran  <kirthika@cs.wustl.edu>

        * examples/Callback_Quoter/Consumer_Signal_Handler.h:
        * examples/Callback_Quoter/Consumer_Input_Handler.h:
        * examples/Callback_Quoter/Consumer_Handler.cpp:

          Replaced #include <signal.h> by #include "ace/OS.h" and also
          changed all #include <ace/foo.h> to #include "ace/foo.h" wherever
          applicable. Thanks to David for pointing out these discrepancies.

Thu Dec 10 09:30:23 1998  David L. Levine  <levine@cs.wustl.edu>

        * examples/Callback_Quoter/Consumer_Input_Handler.h:
          replaced #include of OS.h with ACE.h.

        * examples/Callback_Quoter/Consumer_Signal_Handler.h:
          inserted #include of ace/ACE.h.

        * tao/Invocation.cpp (invoke): added ACE_UNUSED_ARG (retval)
          to avoid cxx compile warnings (with exceptions enabled).

        * VERSION: updated to match ACE VERSION file.

Wed Dec 09 23:07:46 1998  David L. Levine  <levine@cs.wustl.edu>

        * TAO version 0.2.43 released.

Wed Dec 09 22:43:19 1998  David L. Levine  <levine@cs.wustl.edu>

        * examples/Callback_Quoter/Consumer_Input_Handler.h:
          inserted #include of "ace/OS.h".

        * examples/POA/Forwarding/Makefile: removed hard-coded
          -g DCFLAG.  Not all platforms use -g, and DCFLAGS should
          be set in $ACE_ROOT/include/makeinclude/platform_macros.GNU.

Wed Dec  9 16:05:07 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/Invocation.cpp (invoke): Fixed the memory leaks in preparing
          new exceptions.  Thanks to Terry Rosenbaum
          <Terry.Rosenbaum@Radiology.MSU.edu> for sending us the patch.
          Also applied more exception handling macros into this file.

        * tao/try_macros.h: Added TAO_THROW_ENV_RETURN_VOID.

Wed Dec  9 13:26:50 1998  Chris Gill  <cdgill@cs.wustl.edu>

        * orbsvcs/tests/Simulator/DOVEBrowser/DOVEBrowser.java
          orbsvcs/tests/Simulator/DOVEBrowser/DOVEBrowserApplet.java
          orbsvcs/tests/Simulator/DOVEBrowser/DemoCore.java
          orbsvcs/tests/Simulator/DOVEBrowser/NS_Resolve.java
          orbsvcs/tests/Simulator/DOVEBrowser/PushConsumer.java
          orbsvcs/tests/Simulator/DOVEBrowser/PushConsumerFactory.java:

          Cleaned up some type names in that had changed when RtecScheduler.idl
          was brought up to CORBA standard (type names and element names must
          differ in more than just letter case).

          Added support for -ORBnameserviceport on command line of the
          compiled DOVEBrowser version.  Generalized command line option
          handling, fixed bug with using == instead of .equals for string
          comparison.

        * orbsvcs/tests/Simulator/Event_Supplier/Event_Sup.dsp
          orbsvcs/tests/Simulator/Event_Supplier/Logging_Sup.dsp: added -I
          switch with relative path to TAO\orbsvcs\orbsvcs to tao_idl
          invocation in the custom build step.

1998-12-09  Nagarajan Surendran  <naga@polka.cs.wustl.edu>

        * orbsvcs/orbsvcs/AV/AVStreams_i.cpp : Fixed warnings with
        TAO_ENDTRY after the return statements in functions.

Wed Dec  9 11:03:13 EST 1998  Aniruddha Gokhale  <gokhale@sahyadri.research.bell-labs.com>

        * TAO_IDL/be/be_visitor_sequence/elemtype.cpp:

          In the visit_interface and visit_interface_fwd methods, we were
          not generating the fully scoped name for code generated in the
          *.i or *.cpp file. Thanks to Naga (naga@cs.wustl.edu) for
          submitting the bugreport.

Wed Dec 09 07:02:06 1998  David L. Levine  <levine@cs.wustl.edu>

        * README, VERSION: expanded mention of BUG-REPORT-FORM.

        * performance-tests/Cubit/TAO/MT_Cubit/README.tests: removed
          -s option, because it's no longer used with MT_Cubit.

Wed Dec  9 02:34:33 1998  Kirthika Parameswaran  <kirthika@cs.wustl.edu>

        * examples/POA/On_Demand_Loading/server.cpp :
        * examples/POA/On_Demand_Loading/client.cpp :
          Replaced env.exception () checks with the TAO_TRY,TAO_CHECK
          macros.

        * examples/POA/On_Demand_Loading/Servant_Activator.cpp (incarnate):
          Added TAO_THROW macro for OBJECT_NOT_EXIST exception.

Tue Dec 08 21:39:16 1998  David L. Levine  <levine@cs.wustl.edu>

        * TAO_IDL_Makefile: enable DU 4.0 cxx 6.x warnings by default.

Tue Dec 08 15:10:35 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * performance-tests/Cubit/TAO/IDL_Cubit/{client,server}.dsp: Added
          static build configurations.

        * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Server.cpp (init):
        * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Client.cpp (init):
        * performance-tests/Cubit/TAO/MT_Cubit/Cubit_Task.cpp (initialize_orb):
        * performance-tests/Cubit/TAO/MT_Cubit/Task_Client.cpp (init_orb):
          Hard-coded the orb initialization code to use the new
          <open_services> function to setup resources when compiling
          static linked versions on NT.  Notice when building
          static-linked version on NT, the svc.conf file is not used and
          the configurations is hard-coded in these two files.

        * tao/TAO_Internal.{h,cpp} (open_services): Added a new
          <open_services> method that simply takes the arguments for
          TAO_Resource_Factory, TAO_Default_Client_Strategy_Factory and
          TAO_Default_Server_Strategy_Factory directly and initializes
          them.  This eliminates the need of loading in a DLL when it is
          not desirable.  Removed <fake_service_entries_i> for this is now
          covered by the new <open_services> method.

          Like the original <open_services>, the new method is also
          one-shot.  Once you call either <open_services>, all subsequence
          calls to either functions become no-ops.

Tue Dec  8 10:17:16 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/CDR.cpp:
          Fixed a problem with the CDR::grow routine: it estimated the
          size *before* alignment, after the alignment the object did not
          fit anymore.  Thanks to Dave Meyer <dmeyer@std.saic.com> for
          providing an easy way to reproduce this problem, and for his
          workmates at SAIC for finding the problem.
          Also fixed a problem in the write_array() method when
          SWAP_ON_WRITE is enabled, thanks to Istvan Buki
          <istvan.buki@infoboard.be> for reporting this one.

Tue Dec  8 07:22:42 1998  Nagarajan Surendran  <naga@cs.wustl.edu>

        * orbsvcs/orbsvcs/AV/AVStreams_i.cpp : Fixed the template
          instantiation problems. Thanks to Andy for reporting this.

Tue Dec  8 02:09:47 1998  Kirthika Parameswaran  <kirthika@cs.wustl.edu>

        * examples/POA/On_Demand_Loading/server.cpp (main): Changed the
          ObjectID format.

        * examples/POA/On_Demand_Loading/client.cpp (main): Added the
          end_note() request call on the object.

        * examples/POA/On_Demand_Loading/Servant_Activator.h: Changed the
          dll object pointer from a pointer object to simply an
          instantiation of ACE_DLL.

        * examples/POA/On_Demand_Loading/Servant_Activator.cpp (incarnate):
          Added an dll object open() call explicitly which was done
          implicitly before along with the dll object creation.

        * examples/POA/On_Demand_Loading/Servant_Activator.cpp (parse_string):
          Updated the ObjectID format to dllname:factory_method.

        * examples/POA/On_Demand_Loading/Dir_Service_i.cpp: Added some ACE_DEBUG
          statements to make the output clearer.

        * examples/POA/On_Demand_Loading/README: Added it to the repository.

Tue Dec  8 00:49:23 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/CDR.i: Applied more exception handling macros.

Mon Dec  7 22:00:50 1998  Jeff Parsons <jp4@cs.wustl.edu>

        * TAO_IDL/ast/ast_expression.cpp:

          Changed a few lines so the idl compiler will accept a value
          of 65535 for a const unsigned short (it previously rejected
          anything > 65534).

Mon Dec  7 15:28:16 1998  Shawn Michael Atkins  <sma1@lambada.cs.wustl.edu>

        * performance-tests/Thruput/TAO/utils.cpp (psecs): fixed another
        warning that David was getting about an implicit cast from double
        to int.

Mon Dec  7 12:48:29 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/try_macros.h: Removed TAO_CHECK_CONDITION_ENV_RETURN[_VOID].

        * tao/decode.cpp: Removed the use of TAO_CHECK_CONDITION_ENV_RETURN.

Mon Dec  7 05:26:35 EST 1998  Aniruddha Gokhale  <gokhale@sahyadri.research.bell-labs.com>

        * docs/compiler.html:

          Fixed the entry for -St (suppressing typecodes). It was
          appearing as -Ge. Thanks to Ossama Othman for noticing this.

Sun Dec  6 17:48:21 1998  Darrell Brunsch <brunsch@cs.wustl.edu>

        * orbsvcs/tests/ImplRepo/IR_Helper.cpp:
        * orbsvcs/tests/ImplRepo/Repository_Test.cpp:
        * orbsvcs/tests/ImplRepo/airplane_server_i.cpp:
        * orbsvcs/tests/ImplRepo/run_test.pl:
        * orbsvcs/ImplRepo_Service/ImplRepo.cpp:
        * orbsvcs/ImplRepo_Service/ImplRepo.idl:
        * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp:
        * orbsvcs/ImplRepo_Service/ImplRepo_i.h:
        * orbsvcs/ImplRepo_Service/Repository.cpp:
          Redid all formating (mainly {} blocks) to be the common
          ACE style.  Checked and fixed the base member init
          sections to be in the right order.  Made sure that all
          methods threw the exceptions (and only the exceptions)
          that were specified.

          Also changed how the -d debug flag works.  Unlike other
          tests it now takes in a level with it (instead of the
          additive property.  This allows me to use a default of
          1 and lets the user use -d 0 to quiet the IR altogether.

1998-12-06  Pradeep Gore  <pradeep@flamenco.cs.wustl.edu>

        added the following files for the implementation of
        the Cos Event Channel -
        * orbsvcs/orbsvcs/CosEventChannelAdmin.idl
        * orbsvcs/orbsvcs/CosEventComm.idl
        * orbsvcs/orbsvcs/CosEvent/EventChannel_i.h
        * orbsvcs/orbsvcs/CosEvent/EventChannel_i.cpp
        * orbsvcs/orbsvcs/CosEvent/SupplierAdmin_i.h
        * orbsvcs/orbsvcs/CosEvent/SupplierAdmin_i.cpp
        * orbsvcs/orbsvcs/CosEvent/ConsumerAdmin_i.h
        * orbsvcs/orbsvcs/CosEvent/ConsumerAdmin_i.cpp
        * orbsvcs/orbsvcs/CosEvent/ProxyPushSupplier_i.h
        * orbsvcs/orbsvcs/CosEvent/ProxyPushSupplier_i.cpp
        * orbsvcs/orbsvcs/CosEvent/ProxyPushConsumer_i.h
        * orbsvcs/orbsvcs/CosEvent/ProxyPushConsumer_i.cpp

1998-12-06  Nagarajan Surendran  <naga@polka.cs.wustl.edu>

        * orbsvcs/orbsvcs/AV/AVStreams_i.cpp : Fixed the TAO_THROW
          compilation errors. Thanks to David for pointing this out.

Sun Dec  6 14:13:52 1998  Ossama Othman  <ossama@debian.org>

        * TAO_IDL/tao_idl.1:  Created a man page for tao_idl based on
          Carlos' HTML tao_idl compiler page.

Sat Dec  6 13:30:50 1998  Darrell Brunsch <brunsch@cs.wustl.edu>

        * orbsvcs/tests/ImplRepo/server_impl.cpp:  Forgot a
          TAO_CHECK_ENV.

        * orbsvcs/tests/ImplRepo/IR_Helper.cpp:
        * orbsvcs/tests/ImplRepo/IR_Helper.h:
        * orbsvcs/ImplRepo_Service/ImplRepo.idl:
        * orbsvcs/ImplRepo_Service/ImplRepo_i.h:
        * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp:
        * orbsvcs/ImplRepo_Service/Repository.h:
        * orbsvcs/ImplRepo_Service/Repository.cpp:
        * orbsvcs/tests/ImplRepo/Repository_Test.cpp:
          Changed the storage of the hostname from a number to a string.

Sun Dec  6 03:23:21 1998  Nagarajan Surendran  <naga@cs.wustl.edu>

        * orbsvcs/orbsvcs/AVStreams.idl: Added the idl code for the
          Audio/Video full profile implementation.

        * orbsvcs/orbsvcs/AV/AVStreams_i.{h,cpp}: Added code for the full
          profile implementation of the Audio/Video Streaming service. The
          Audio/Video Streaming service now supports flows.
          Defined new classes TAO_FlowConnection, TAO_FlowEndPoint,
          TAO_FlowProducer, TAO_FlowConsumer, TAO_FlowConnection, TAO_FDev.

          Also added code to the existing A/V classes so that they now
          behave according to the full profile.

Sun Dec  6 00:43:46 1998  Kirthika Parameswaran  <kirthika@cs.wustl.edu>

        * examples/POA/On_Demand_Loading/Dir_Service.idl:
        * examples/POA/On_Demand_Loading/Dir_Service.{h,cpp}:

          The servant library idl interface and files.

        * examples/POA/On_Demand_Loading/Servant_Activator.{h,cpp}:

          This file is the servant_manager activator interface.

        * examples/POA/On_Demand_Loading/server.cpp:

          This is the server process.

        * examples/POA/On_Demand_Loading/client.cpp:

          This is the client process.

        * examples/POA/On_Demand_Loading/generic_servant_export.h:

          Generated and needed for the defining a servant class.

        * examples/POA/On_Demand_Loading/Makefile.Client:
        * examples/POA/On_Demand_Loading/Makefile.DirService:
        * examples/POA/On_Demand_Loading/Makefile:

          The makefiles needed for the test.

          Added the above files to the repository. This test example loads
          an servant library on demand and associates a servant with an object.

Sat Dec  5 22:10:13 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/Typecode.cpp (private_equal_struct,private_equal_except):
          (private_equal_sequence,private_equal_union,private_equal_union):
          Changed to the use of TAO_CHECK_CONDITION_ENV_RETURN to
          TAO_CHECK_ENV_RETURN and then check the condition explicitly.
          This avoids warnings on some compiler.
          (typecode_param): Fixed an error.

          Thanks to David for pointing these out.

Fri Dec 04 19:35:56 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/Typecode.cpp (typecode_param): Moved declaration of loop
          counter up to avoid a skipping declaration warning from MSVC.

        * tao/try_macros.h (TAO_TRY_THROW[_EX]): Removed extra spaces in
          definitions for native exceptions.

Fri Dec  4 16:51:16 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * docs/exceptions.html: Added guidelines on throwing exceptions
          from within try blocks and using
          TAO_RETHROW_SAME_ENV_RETURN[_EX].

        * tao/try_macros.h: Added TAO_TRY_THROW[_EX] which allow
          exceptions beting thrown within try blocks be caught.

          Rename TAO_RETHROW_RETURN[_VOID]_SYS to
          TAO_RETHROW_SAME_ENV_RETURN[_VOID].

        * tao/IIOP_Object.cpp:
        * tao/Invocation.cpp: Replaced TAO_RETHROW_RETURN[_VOID]_SYS with
          TAO_RETHROW_SAME_ENV_RETURN[_VOID].

        * tao/deep_free.cpp:
        * tao/Typecode.cpp: Changed to handle exceptions with macros in
          try_macros.h.

Fri Dec  4 16:04:56 1998  Ossama Othman  <ossama@debian.org>

        * TAO_IDL/util/utl_global.cpp(IDL_GlobalData constructor):
          Added support for hardcoding a gperf default path other than
          $ACE_ROOT/bin/gperf.  This works by #defining the ACE_GPERF
          macro at compile time to be the desired gperf.

          For example:  -DACE_GPERF=\"/usr/local/bin/gperf-ace\"

          The actual gperf program must be included in the definition of
          ACE_GPERF, not just the directory in which it is located.

Fri Dec 04 12:45:01 1998  David L. Levine  <levine@cs.wustl.edu>

        * performance-tests/Cubit/TAO/IDL_Cubit/README: added sample
          of passing the IOR on the command line, on VxWorks.

Fri Dec  4 12:28:06 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/try_macros.h (TAO_TRY_VAR[_EX]): Fixed unreferenced variable
          warnings on platforms supporting native exceptions.

Fri Dec 04 07:38:57 1998  David L. Levine  <levine@cs.wustl.edu>

        * tao/ORB.cpp (perform_work): copied const ACE_Time_Value
          arg to a non-const temporary, to pass to handle_events ().

Thu Dec  3 22:41:35 1998  Shawn Michael Atkins  <sma1@lambada.cs.wustl.edu>

        * performance-tests/Thruput/TAO/README: added info about the perl
        scripts to the readme file (new_server_test, new_client_test, and new_run_test)

        * performance-tests/Thruput/TAO/ttcp_decl.h: changed psecs to take
        in a double instead of a long

        * performance-tests/Thruput/TAO/utils.cpp: fixing more minor
        things like things I was using for testing and never reference
        anymore (taking them out).

Thu Dec  3 17:58:32 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * tao/ORB.h (CORBA_ORB): Changed perform_work() to take a default
          value of ACE_Time_Value::zero to correspond to the intended
          semantics of the CORBA spec.  Thanks to Steve Vinoski for
          clarifying this and for Loren Rittle <rittle@comm.mot.com> for
          surfacing the issue in the first place.

Thu Dec 03 14:23:03 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/try_macros.h: Removed macros TAO_TRY_SYS[_EX]
          TAO_CHECK_ENV_SYS[_EX] and TAO_CATCH_SYS for they are covered by
          Irfan's TAO_TRY_VAR[_EX].  Thanks to Irfan for reminding this.

        * docs/exceptions.html: Added guidelines for TAO_TRY_VAR and
          TAO_TRY_VAR_EX.

        * tao/IIOP_Object.cpp:
        * tao/Invocation.cpp:
        * tao/Typecode.cpp: Replaced the uses to TAO_TRY_SYS and
          TAO_TRY_SYS_EX with TAO_TRY_VAR and TAO_TRY_VAR_EX.

Thu Dec  3 12:37:10 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/Exception.cpp (make_standard_typecode): Changed the
          operation name encoded in typecode to "completed".

Thu Dec 03 12:33:53 1998  David L. Levine  <levine@cs.wustl.edu>

        * tao/Makefile: removed DynUnion_i_T from ORBCORE_SRCS, because
          it just contains template members.  Thanks to Ossama for
          reporting this.

Thu Dec  3 11:59:23 1998  Aniruddha Gokhale  <gokhale@sahyadri.research.bell-labs.com>

        * TAO_IDL/ast/ast_operation.cpp:

          Ensured that a oneway operation can never have a "raises"
          clause. Thanks to Tom Ziomek (tomz@cc.comm.mot.com) for
          reporting this.

        * TAO_IDL/util/utl_error.cpp:

          Improved the error message for EIDL_ILLEGAL_RAISES error code.

        * TAO_IDL/fe/(idl.yy, y.tab.cpp, y.tab.h}:

          Ensured that discriminant of type octet inside a union
          declaration is flagged as an error. The OMG spec does not allow
          discriminants of type octets.

Thu Dec  3 10:31:12 EST 1998  Aniruddha Gokhale  <gokhale@sahyadri.research.bell-labs.com>

        * TAO_IDL/be/be_visitor_sequence/gen_bounded_obj_sequence_ch.cpp
          TAO_IDL/be/be_visitor_sequence/gen_unbounded_obj_sequence_ch.cpp:

          We make sure that the upcast and downcast methods are now
          generated only for CORBA::Object sequences and not for sequences
          of CORBA::TypeCodes. In the latter case, the upcast and downcast
          methods are not needed and furthermore, casting them to
          CORBA::Object_ptr is totally incorrect.

Thu Dec  3 07:09:07 1998  Sergio Flores  <sergio@tango.cs.wustl.edu>

        * performance-tests/Cubit/TAO/MT_Cubit/README.tests: Added
        instructions for utilization test.

Thu Dec 03 01:24:41 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tao/try_macros.h: Added TAO_TRY_VAR and TAO_TRY_VAR_EX.  These
          macros are similar to TAO_TRY and TAO_TRY_EX, except that they
          work with a user specified environment variable instead of
          creating one for itself.

        * tao/Object.cpp (_non_existent): Added the use of exception
          macros to this method.  This will make this method work with
          native exceptions.

          If the _non_existent() remote call succeeds, it return 0; if
          CORBA::OBJECT_NOT_EXIST is thrown, it returns 1; and any other
          (system) exception raised in making the remote call is passed
          through to the user.  Thanks to Sunil Kumar <skumar@sutmyn.com>
          for reporting this.

Thu Dec 03 01:00:47 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/Environment.cpp:
        * tao/Exception.cpp:
        * tao/POAC.cpp:
        * tao/debug.cpp: Changed the uses of "completion ()" to "completed
          ()".

Wed Dec  2 21:56:56 1998  Shawn Michael Atkins  <sma1@lambada.cs.wustl.edu>

        * performance-tests/Thruput/TAO/ttcp_decl.h: commented out
        RtiPackets since I haven't gotten that working yet: Was preventing
        compilation for anyone but me (the variable isn't defined but in
        my workspace at the moment).

        * performance-tests/Thruput/TAO/utils.cpp: fixed minor errors that
        were preventing compilation on linux.


Wed Dec 02 18:33:08 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tao/Exception (completed): The name of the function (both
          accessor and modifier) should be completed(), not completion().

          Thanks to Steve Totten <totten_s@ociweb.com> for pointing this
          out.

Wed Dec  2 17:40:54 1998  Shawn Michael Atkins  <sma1@lambada.cs.wustl.edu>

        * performance-tests/Thruput/TAO/ttcp_decl.h: forgot to add this
        along with the changes to utils.cpp.  Changed the definition of
        some of the methods in utils.cpp like prusage.

Wed Dec  2 14:26:58 EST 1998  Aniruddha Gokhale  <gokhale@sahyadri.research.bell-labs.com>

        * TAO_IDL/be/be_visitor_sequence/gen_bounded_obj_sequence_ch.cpp
          TAO_IDL/be/be_visitor_sequence/gen_unbounded_obj_sequence_ch.cpp:

          The upcast and downcast methods are now generated even for
          sequences of CORBA::Objects and CORBA::TypeCodes. Thanks to Ron Barack
          <rab@terminal.cz> for reporting the problem.

Wed Dec 02 11:03:17 1998  David L. Levine  <levine@cs.wustl.edu>

        * performance-tests/Cubit/TAO/MT_Cubit/Task_Client.cpp:
          removed a few debugging printouts.

Wed Dec  2 09:17:34 EST 1998  Aniruddha Gokhale  <gokhale@sahyadri.research.bell-labs.com>

        * TAO_IDL/be/be_helper.cpp (TAO_OutStream::gen_ifdef_AHETI):

          We were checking if the TAO_LACKS_TEMPLATE_SPECIALIZATION macro
          is defined or not. Such a macro is not defined anywhere in ACE
          or TAO. The correct macro to be used here is
          ACE_HAS_TEMPLATE_SPECIALIZATION. Thanks to Peter Nordlund
          (petern@nada.kth.se) for noticing this.

        * TAO_IDL/be/be_visitor_union/union_ci.cpp:

          In the generated _reset (void) method, we now zero out the
          underlying union. In some specific cases, without this zeroing
          out, we were getting segmentation faults. Thanks to Ron Barack
          (rab@terminal.cz) for reporting the problem and suggesting the
          fix.

        * tao/DynAnyC.{h, cpp}:

          Used ACE_HAS_TEMPLATE_SPECIALIZATION in place of
          TAO_LACKS_TEMPLATE_SPECIALIZATION.

        * tao/TypeCode.cpp (private_member_label):

          Used TAO_CATCHANY_SYS instead of TAO_CATCHANY. The latter was
          giving "undefined __env" error.

        * tao/Exception.cpp (item):

          Used TAO_THROW_ENV_RETURN instead of TAO_THROW_ENV because a
          return value was expected.

Wed Dec 02 03:31:16 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/try_macros.h: Added TAO_CHECK_CONDITION_ENV_RETURN and
          TAO_CHECK_CONDITION_ENV_RETURN_VOID macros.  These two macros
          work with TAO's simulated exception by checking the specified
          CORBA_Exception for exception and also a user specified
          condition.

        * CDR.i:
        * Exception.cpp:
        * Marshal.i:
        * Typecode.cpp:
        * decode.cpp:
        * deep_free.cpp: Integrated exception handling macros into TAO in
          order to document the code better and to unify TAO's behavior
          with or without native exception support.  The code got modified
          according to how it would work with native exception enabled.
          I don't expect to finish integrating the macros in a short
          time.

Wed Dec  2 01:48:54 1998  Shawn Michael Atkins  <sma1@lambada.cs.wustl.edu>

        * performance-tests/Thruput/TAO/utils.cpp: fixed the problem with
        the displaying of wierd numbers to the screen.  utils.cpp now used
        ACE_Profile_Timer instead of using struct rusage directly.

Tue Dec 01 15:32:48 1998  David L. Levine  <levine@cs.wustl.edu>

        * performance-tests/Cubit/TAO/MT_Cubit/run_test.pl: added
          -r option to support thread-per-rate test.

Tue Dec  1 14:35:51 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/ORB.h:
        * tao/IIOP_ORB.h:
        * tao/IIOP_ORB.cpp:
        * tao/POA.h:
        * tao/POA.cpp:
          CORBA::ORB::string_to_object() was taking a <char*> argument,
          but it should be a <const char*>.

Tue Dec 01 13:55:24 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * examples/POA/Generic_Servant/client.cpp: Changed to add native
          exception handling.

Tue Dec  1 12:33:50 1998  Chris Gill  <cdgill@cs.wustl.edu>

        * orbsvcs/tests/Simulator/DOVEMIB/Makefile
          orbsvcs/tests/Simulator/Event_Supplier/Makefile: fixed problem with
          tao_idl invocation in Makefiles, added TAO/orbsvcs/orbsvcs include
          path switch to flags for tao_idl, modified rules to ensure flags were
          used as part of rule.  Thanks to Joe Loyall <jloyall@bbn.com> for
          reporting this.

Tue Dec  1 10:12:57 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp:
          Use an ACE_INET_Addr in recvfrom(); a plain ACE_Addr produces
          problems on NT. Thanks to Dave Meyer <dmeyer@std.saic.com> for
          reporting this and providing the fix.

        * tao/Typecode.cpp:
          The size for a TypeCode field was not computed properly (it
          should be sizeof(TypeCode_ptr)).

        * docs/releasenotes/TODO.html:
          Added the blocking writes task.

Tue Dec 01 10:16:02 1998  David L. Levine  <levine@cs.wustl.edu>

        * TAO version 0.2.42 released.

Mon Nov 30 01:10:35 1998  Matt Braun  <mjb2@cs.wustl.edu>

        * tests/Param_Test/ub_any_seq.cpp: Added test for const char* and
          changed sequence length from 1 to 5 because the "random" choice
          of types was only pseudo-random and the various test types
          wern't being tested. Currently, the test segfaults, but I
          believe this to be indicative of a deeper problem.

Sun Nov 29 18:09:52 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/ORB.{h,cpp} (resolve_initial_references): Allows this
          function to pass back InvalidName exception.
          (InvalidName): New CORBA::ORB exception type.

Sat Nov 28 10:57:54 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/corba.h: Added TAO_Export to global variable <TC_opaque>.

        * tao/Typecode.h (CORBA_TypeCode): Added TAO_Export for Bounds and
          BadKind excepiton classes.

        * tao/ORB.{h,cpp} (operator==,operator!=): Added comparison
          operations for non-native long double.  We also need other
          comparison operators for our long double to work transparently.

Thu Nov 26 11:37:23 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/Invocation.cpp (invoke): Variable <tcp> must be
          initialized to avoid g++ warnings.

Thu Nov 26 01:08:00 1998  Darrell Brunsch <brunsch@cs.wustl.edu>

        * orbsvcs/ImplRepo_Service/ImplRepo.idl: All methods are now
          available.

        * orbsvcs/ImplRepo_Service/Repository.{h,cpp}: Only stores the
          host/port of the server, not the entire object IOR.  This
          allows the use of more than one object in the same POA.

        * orbsvcs/ImplRepo_Service/ImplRepo_i.{h,cpp}: Support for all
          methods and made switch to host/port instead of ior.

        * orbsvcs/tests/ImplRepo/Repository_Test.cpp: Tests with
          host/port instead of IOR now.

        * orbsvcs/ImplRepo_Service/ImplRepo.{dsp,dsw}: Updated the
          MSVC project files.  Mainly cosmetic changes.

        * orbsvcs/tests/ImplRepo/svc.conf:
        * orbsvcs/tests/ImplRepo/implrepo.conf:
          Split the conf files up since IR needs -ORBpoalock null and
          thread-per-connection, but the tests don't necessarily need it.

        * orbsvcs/tests/ImplRepo/IR_Helper.{h,cpp}: New helper class
          that contains the logic for using the IR from a server.

        * orbsvcs/tests/ImplRepo/Airplane.idl:
        * orbsvcs/tests/ImplRepo/airplane_client.cpp:
        * orbsvcs/tests/ImplRepo/airplane_client.dsp:
        * orbsvcs/tests/ImplRepo/airplane_client_i.cpp:
        * orbsvcs/tests/ImplRepo/airplane_client_i.h:
        * orbsvcs/tests/ImplRepo/airplane_i.cpp:
        * orbsvcs/tests/ImplRepo/airplane_i.h:
        * orbsvcs/tests/ImplRepo/airplane_server.cpp:
        * orbsvcs/tests/ImplRepo/airplane_server.dsp:
        * orbsvcs/tests/ImplRepo/airplane_server_i.cpp:
        * orbsvcs/tests/ImplRepo/airplane_server_i.h:
          New Paper Airplane Server!  The purpose is to show off the
          IR_Helper class use and to have a different server to test
          the IR with.

        * orbsvcs/tests/ImplRepo/ImplRepo_Test.dsw: Now includes the
          Paper Airplane Server.

        * orbsvcs/tests/ImplRepo/run_test.pl: Updated to perform different
          types of tests.

        * orbsvcs/tests/ImplRepo/server.dsp: Removed server.h, a file that
          doesn't exist anymore.

        * orbsvcs/tests/ImplRepo/server_impl.cpp: Cleaned up a bit.
          Removed unnecessary code.

Wed Nov 25 20:50:55 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tao/Invocation.cpp: The ORB was raising incorrect exceptions
          when the connection to the server was broken, or if the client
          was not able to create a new connection to the server.  The
          correct behavior in these (and some other) cases is to raise the
          TRANSIENT exception; and not raise the COMM_FAILURE exception.

          TRANSIENT exception indicates that some (all) resources that the
          client ORB requires to complete the remote method call are
          unavailable.  These resources includes the server ;)

          COMM_FAILURE exception indicates that a failure happened while
          the client and server were in the middle of some communication.

          Thanks to Christa Schwanninger
          <christa.schwanninger@mchp.siemens.de> for pointing out this
          problem, and to Carlos for helping sort the exceptions.

Mon Nov 23 17:45:16 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tao/IIOP_Object.cpp (do_static_call): <status> cannot be
          initialized to zero.

Wed Nov 25 18:20:55 1998  Darrell Brunsch <brunsch@cs.wustl.edu>

        * tao/Invocation.cpp:  Added a couple of TAO_CHECK_ENV_SYS macros
          to the check for thrown exceptions.

Wed Nov 25 10:26:57 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * examples/Simple/echo: Reenabled the use of the Naming Service
          for this example and then fixed the run_tests.pl script to not
          use them ;-)

        * tao/TAO.h: Added a clarification on the role of the
          TAO_ORB_Manager.  Thanks to Christian Mueffling <cvm@aiss.de>
          for motivating this.

        * tao/ORB: Added the rudiments of a way to keep track of the
          "default ORB" using the Singleton pattern.  Thanks to Irfan and
          Carlos for uncovering the need for this, as well as Jon Biggar
          and Steve Vinoski <vinoski@iona.com> for verifying this need.

Wed Nov 25 00:47:33 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/Invocation.cpp (invoke): Reordered error handling so
          handle_close (of client side connection) happens in the right
          places.

        * tao/GIOP.cpp (send_error):
        * tao/Connect.cpp (handle_input): Prevent handle_close from being
          called in here.  Simply return -1 should do the trick.
          Otherwise, servers may crash when communication errors occur.

Tue Nov 24 15:03:19 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/Invocation.cpp (location_forward): Removed an unused
          variable.  Thanks to David for noticing this.

Mon Nov 23 17:09:14 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/IIOP_Object.cpp (do_static_call): Explicitly initialize
          <status> to avoid gcc warnings.

        * tao/try_macros.h: Fixed a typo.

Mon Nov 23 07:56:09 1998  Aniruddha Gokhale  <gokhale@sahyadri.research.bell-labs.com>

        * tao/try_macros.h:

          Made enhancements to the macros added by anbor. In particular,
          we now have TAO_TRY_SYS_EX (LABEL) and TAO_CHECK_ENV_SYS_EX
          (LABEL) to overcome problems arising out of redefinition of
          labels. This was happening in IIOP_Object.cpp file

        * tao/IIOP_Object.cpp:

          Use TAO_TRY_SYS_EX (LABEL) and TAO_CHECK_ENV_SYS_EX (LABEL)
          macros to eliminate the multiple label declaration error. Also,
          Nanbor had forgotten to use the TAO_CHECK_ENV macros to check if
          an exception was thrown or not.

Mon Nov 23 01:20:27 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Client.h: Changed
          the default argument of Cubit_Client to not using collocation so
          the client will not shutdown the server without being asked to
          do so.

        * tao/IIOP_Object.cpp (do_static_call): Made the method native
          exception safe so it will not return prematurely and will try
          out all the forwarding profiles one by one.

        * tao/Invocation.cpp (invoke): Make sure all the invoke method
          doesn't send back GIOP MessageError back to server.  They should
          be taken care of in TAO_GIOP::recv_request.  Also made these
          invoke methods native exception safe so the connections get
          closed down properly and error messages gets generated as
          directed.

        * tao/try_macros.h: Added more "exception" handling macros for
          TAO's internal use.  The motivation is to reuse the
          CORBA_Environment passed in to TAO's internal function to avoid
          declaring more env variables and copying exceptions between
          these variables.

        * tao/GIOP.{h,cpp}: The following changes are needed to make sure
          we differentiate receiving a GIOP MessageError from something
          goes wrong when receiving a request.  It also makes sure that
          the ORB doesn't send out MessageError unnecessarily.

          (make_error): Removed unused method.
          (GIOP::MessageType): Added CommunicationError to further
          classify errors.
          (send_error): Changed the server type from
          <TAO_Client_Connection_Handler *&> to <TAO_SVC_HANDLER *&>
          because this method is not used by clients only.
          (recv_request): Made sure the proper error status get returned
          in various stages.  Prevented it from sending sendsuperfluous
          MessageError back to its party.  Only GIOP header receiving
          errors can trigger that.
          (parse_header_std): Changed from returning MessageError to -1.
          If something goes wrong here, it doesn't mean we received a
          MessageError message.

        * tao/Connect.cpp (handle_input): Made sure we differentiate the
          real GIOP MessageError and other cases when errors occur in
          receiving a request.  Also make sure the server won't throw
          unnecessary exception in any case when receiving requests.
          Otherwise, the server may crash because of a rogue link.

Sun Nov 22 18:20:11 1998 Torben Worm  <tworm@cumbia.cs.wustl.edu>

        * orbsvcs/orbsvcs/Concurrency/CC_LockSetFactory.cpp:
          Changed ACE_NEW_RETURN to ACE_NEW_THROW_RETURN in order to
          support exceptions

        * orbsvcs/tests/Concurrency/test.basic:
          Changed the exception to reflect new exception type

Sat Nov 21 19:30:11 1998  Nagarajan Surendran  <naga@cs.wustl.edu>

        * orbsvcs/tests/AVStreams/benchmark/{client,server}.cpp: Added
        template class, #pragma instantiate for the templates. Thanks to
        Leif Jakobsmeier" <leif@informatik.uni-frankfurt.de> for pointing
        this out.

Sat Nov 21 02:29:00 1998 Marina Spivak  <marina@cs.wustl.edu>

        * TAO/orbsvcs/tests/Simple_Naming/run-test.pl:  modified the
        script to also run the newly added multithreaded test.

        * TAO/orbsvcs/tests/Simple_Naming/process-m-output.pl:  added perl
        script to analyze the output of the multithreaded test and print a
        diagnostic message.

        * TAO/orbsvcs/tests/Simple_Naming/README: updated file to include
        new test description.

Fri Nov 20 19:07:44 1998  Marina Spivak  <marina@cs.wustl.edu>

        * TAO/orbsvcs/tests/Simple_Naming/client.{h,cpp}: added two new
        tests, MT_Test and Loop_Test for multiclient (concurrent) access
        to the Naming Service.

Fri Nov 20 17:46:40 1998 Marina Spivak  <marina@cs.wustl.edu>

        * tao/Typecode.h:
        * tao/Typecode.i:
        * tao/Typecode.cpp:
          Added locks for changes in the Typecode private state. We use
          the Double Checked Lock pattern to minimize the run-time cost.

Fri Nov 20 07:08:28 1998  David L. Levine  <levine@cs.wustl.edu>

        * orbsvcs/orbsvcs/Event/Timer_Module.cpp (cancel_timer): changed
          static_cast to const_cast + reinterpret_cast.

        * performance-tests/Cubit/TAO/MT_Cubit/client.cpp (output_latency):
          shortened name of latency_file as much as possible.  It appears
          that VxWorks has a limitation of 100 characters for the full
          path name to an NFS file.

        * performance-tests/Cubit/TAO/MT_Cubit/Globals.h: removed -s from
          force_argv because its no longer used.

Fri Nov 20 07:48:54 EST 1998  Aniruddha Gokhale  <gokhale@sahyadri.research.bell-labs.com>

        * tao/CDR.{h, i}:

          Added the missing <<, >> operators for long double.

Thu Nov 19 15:12:06 1998  David L. Levine  <levine@cs.wustl.edu>

        * performance-tests/Cubit/TAO/MT_Cubit/client.cpp (output_latency):
          changed underscores to dash in output file name.  For some reason,
          underscores confuse rsh/bash, so the output file couldn't be
          closed.

        * performance-tests/Cubit/TAO/MT_Cubit/client.cpp
          (print_latency_stats): fixed printout on VxWorks, it was printing
          usecs but said that the units were msecs.  Also, changed summary
          output to be in usecs in Unix, for consistency with VxWorks and
          Chorus.  And, it gets rid of the insidious conversion from
          usec to msec using ACE_ONE_SECOND_IN_MSEC.  It works, but it's BAD!

        * performance-tests/Cubit/TAO/MT_Cubit/Task_Client.cpp (svc):
          on VxWorks, instead of calling ACE_OS::thr_exit (), call
          the client Thread_Manager's exit ().  That will allow the
          main thread to determine when all the clients have finished,
          because it calls wait () on the client Thread_Manager.

          (get_cubit): removed a couple of printouts that notified
          of string_to_object () and _narrow () success.

        * performance-tests/Cubit/TAO/MT_Cubit/summarize:
          added support for output in either usec or msec.
          Added 0.5 to floating point inputs, to round instead of truncate.

Thu Nov 19 14:51:29 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * TAO_IDL/be/be_visitor_interface/cdr_op_cs.cpp:
          The CDR insertion and extraction operators for interfaces must
          be declared inline before we emit the code for the members of
          the interface. Otherwise code like this:
          // IDL
          interface Foo {
            exception Bar {Foo where_it_failed;};
          };
          fails on some platforms.

Thu Nov 19 10:15:28 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * orbsvcs/orbsvcs/Event/Timer_Module.h:
        * orbsvcs/orbsvcs/Event/Timer_Module.i:
        * orbsvcs/orbsvcs/Event/Timer_Module.cpp:
        * orbsvcs/orbsvcs/Event/Event_Channel.h:
        * orbsvcs/orbsvcs/Event/Event_Channel.i:
        * orbsvcs/orbsvcs/Event/Event_Channel.cpp:
          If the event channel was configured with a reactive Timer_Module
          the Event_Handler used for timeouts was destroyed with the EC,
          but could still be registered with the Reactor dispatching the
          timeouts.
          The solution was to make the Timer_Module responsible for
          mapping the Reactor timeouts Event dispatching, in this way the
          Timer_Module::shutdown() method is able to cancel any timers
          from the Reactor before getting destroyed.
          Thanks to Dave Meyer <dmeyer@std.saic.com> and Russ
          Noseworthy <rnosewor@objectsciences.com> for pointing this out.

        * orbsvcs/orbsvcs/Event/Module_Factory.h:
          Fixed typo in forward declaration.

        * orbsvcs/Event_Service/Event_Service.cpp:
          Added an option so we can choose a reactive event service from
          the command line.

        * docs/releasenotes/TODO.html:
          Updated.

Wed Nov 18 15:49:52 1998  David L. Levine  <levine@cs.wustl.edu>

        * tao/ORB_Strategies_T.cpp: added ifndef protection against
          multiple inclusion.

        * *.cpp: changed include protection from #if !defined to ifndef.
          Added #pragma once, if possible, i.e., after #include of
          an ace/ header.  It can only be done after ace/config.h
          is included, because some platforms don't allow #pragma once.

Tue Nov 17 22:00:26 1998  Jeff Parsons <jp4@cs.wustl.edu>

        * TAO_IDL/be/be_visitor_sequence/gen_unbounded_sequence_ch.cpp:
        * TAO_IDL/be/be_visitor_sequence/gen_bounded_sequence_ch.cpp:
          Just fixed some cosmetic things, like indents.

        * TAO_IDL/be/be_visitor_sequence/gen_unbounded_obj_sequence_ch.cpp:
        * TAO_IDL/be/be_visitor_sequence/gen_bounded_obj_sequence_ch.cpp:
        * TAO_IDL/be/be_visitor_sequence/gen_bounded_str_sequence_ch.cpp:
          Added const and non-const get_buffer() methods to generated code

Tue Nov 17 21:34:13 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * orbsvcs/ImplRepo_Service/Makefile:
        * orbsvcs/tests/ImplRepo/Makefile: New makefiles for UNIX.
          Notice that the second makefile depends on the first makefile.

Tue Nov 17 20:10:41 1998  Jeff Parsons <jp4@cs.wustl.edu>

        * tao/Sequence.{h,cpp}:
          Added get_buffer methods (const and non-const) to
          TAO_Unbounded_String_Sequence.

Tue Nov 17 11:28:20 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/decode.cpp:
          Fixed problems with Any demarshaling, the buffer allocated could
          be misaligned and sometimes too small. Thanks to Arturo Montes
          <mitosys@colomsat.com.co> for pointing this out.

        * orbsvcs/orbsvcs/Event/Dispatching_Modules.i:
        * orbsvcs/orbsvcs/Event/Dispatching_Modules.cpp:
          When dispatching events the push() method may raise an
          exception, it is a oneway but it could raise a
          CORBA::SystemException.
          For debugging purpose we print the exception in case it is
          raised, instead on the uninformative error message it was
          there.
          Thanks to J. Russell Noseworthy <rnosewor@objectsciences.com>
          for pointing this out.

        * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp:
          Removed a few problems with invocations through nil references.

Tue Nov 17 10:25:25 1998  David L. Levine  <levine@cs.wustl.edu>

        * performance-tests/Cubit/TAO/MT_Cubit/run_test.pl: removed
          obsolete client/server -s option.  Added support for
          -l, -n, and -t options to the script, see its usage message
          for decriptions.

Mon Nov 16 20:22:21 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * performance-tests/Cubit/TAO/MT_Cubit/{server,client}.dsp: Added
          static Debug/Release version settings.

        * tao/TAO_Static.dsp: A bunch of files were missing in the static
          library project.

Mon Nov 16 17:54:13 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * orbsvcs/orbsvcs/Event/Event_Channel.cpp:
          Fixed Subscription_Module::unsubscribe, the consumer was added
          to the type_subscriber list only when it subscribed with
          source==0, hence it should be removed from the list in the same
          circumstances.
          Also fixed the generation of the observers QoS info (in
          Consumer_Module::fill_qos), the source only susbscription case
          was not working properly.
          Thanks to Thomas Venturella <tventurell@mdc.com>
          for pointing this out.

        * orbsvcs/orbsvcs/Event/EC_Gateway.cpp:
          We also had problems with source only subscriptions here.
          Thanks to Thomas Venturella <tventurell@mdc.com>
          for pointing this out.

        * orbsvcs/tests/EC_Throughput/ECT_Supplier.cpp:
          Fixed debug message.

Sun Nov 15 09:52:14 EST 1998  Aniruddha Gokhale  <gokhale@sahyadri.research.bell-labs.com>

        * tao/TypeCode.cpp:

          Added a default clause to a switch statement in the TypeCode
          constructor to prevent g++ warnings. Thanks to David Levine for
          pointing this out to me.

        * TAO_IDL/ast/ast_module.cpp:

          Modifications to allow reopening of modules. Thanks to Hamish
          Friedlander (hamishf@usa.net) for providing this fix.

Sat Nov 14 18:31:57 1998  Shawn Michael Atkins  <sma1@lambada.cs.wustl.edu>

        * performance-tests/Thruput/TAO/new_run_test: new perl version of
        the previous shell script (run_test)

        * performance-tests/Thruput/TAO/new_server_test: new perl version
        of the previous shell script (run_server)

        * performance-tests/Thruput/TAO/new_client_test: new perl version
        of the previous shell script (run_client)


Sat Nov 14 14:29:47 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO version 0.2.41 released.

Fri Nov 13 18:26:24 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tao/Typecode_Constants.cpp (init): Qualified CompletionStatus to
          CORBA::CompletionStatus.

Fri Nov 13 16:59:20 EST 1998  Aniruddha Gokhale  <gokhale@sahyadri.research.bell-labs.com>

        * TAO_IDL/be/be_visitor_typecode/typecode_defn.cpp:

          We now generate the size information for the typecodes by passing
          the compiled time knowledge of the size of the data type and
          storing it in the typecode. This will (hopefully) solve our
          problems of trying to calculate the size of complex data
          structures in an interpreted manner.

        * tao/Any.cpp
          tao/DynAnyC.cpp
          tao/Exception.cpp
          tao/ORB.cpp
          tao/Object_KeyC.cpp
          tao/POAC.cpp
          tao/TypeCode.{h, cpp}
          tao/Typecode_Constants.cpp
          tao/decode.cpp:

          The TypeCode constructor for complex types now takes an
          additional parameter which is the size in bytes of the data
          type. This statically known value is stored in the private_tc_
          section of the TypeCode. This will save us the size calculation
          using the code in IIOP_Interpreter.cpp. Once we have verified
          that everything works fine, we can start cleaning up the
          unwanted code from IIOP_Interpreter.* files.

Fri Nov 13 15:09:58 1998  David L. Levine  <levine@cs.wustl.edu>

        * performance-tests/Cubit/TAO/MT_Cubit/Task_Client.cpp (svc):
          on VxWorks, kill own task when done, to avoid memPartFree during
          ORB cleanup.

        * performance-tests/Cubit/TAO/MT_Cubit/client.cpp (main):
          changed comment to reflect that the memPartFree comes
          from libTAO, I think.  It certainly doesn't come from
          liborbsvcs, because we no longer link that in to this test.

Fri Nov 13 12:41:11 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * TAO_IDL/be/be_visitor_sequence/cdr_op_cs.cpp:
          Fixed problems in CDR extraction operator for Octet sequences
          (compiled marshaling).

        * performance-tests/Thruput/TAO/run_client:
        * performance-tests/Thruput/TAO/run_test:
          Fixed some problems in the debugging messages.

        * performance-tests/Thruput/TAO/server.cpp:
          The IOR file was created only if debugging was also enabled!

        * performance-tests/Thruput/TAO/utils.cpp:
        * performance-tests/Thruput/TAO/client.cpp:
          Fixed minor formating problems in the output.

1998-11-13  Pradeep Gore  <pradeep@flamenco.cs.wustl.edu>

        * examples/Simple/chat/README: added explaination
        about how the IOR is used to locate the chat server.

        * examples/Event_Comm/Event_Comm_i.h (Notifier): added
        a missing comment to ShutdownCallback::close.

Fri Nov 13 11:51:21 1998  Matthew J Braun  <mjb2@cs.wustl.edu>

        * orbsvcs/orbsvcs/Log/Logger_i.cpp: Modified to reuse code a
          little better

Thu Nov 12 23:21:26 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tao/orbconf.h: Native exceptions seem to be working fine.  I
          have restored the TAO_HAS_EXCEPTIONS option in the configuration
          file.  Thanks to Tom Ziomek <tomz@cc.comm.mot.com> for bringing
          this to our attention.

Thu Nov 12 17:30:00 1998  Chris Gill  <cdgill@cs.wustl.edu>

        * orbsvcs/orbsvcs/Scheduler_Factory.cpp
          orbsvcs/tests/EC_Custom_Marshal/ECM_Supplier.cpp
          orbsvcs/tests/EC_Mcast/EC_Mcast.{cpp, h}
          orbsvcs/tests/EC_Multiple/EC_Multiple.{cpp, h}
          orbsvcs/tests/EC_Multiple/Scheduler_Runtime1.h
          orbsvcs/tests/EC_Multiple/Scheduler_Runtime2.h
          orbsvcs/tests/EC_Multiple/Scheduler_Runtime_Dynamic.h
          orbsvcs/tests/EC_Throughput/ECT_Supplier.cpp
          orbsvcs/tests/Event_Latency/Event_Latency.cpp: Fixed stray
          compiler errors caused by RtecSceduler IDL portability changes.

Thu Nov 12 14:21:41 1998  Matthew J Braun  <mjb2@cec.wustl.edu>

        * orbsvcs/tests/Logger/README: Made a few edits to reflect added
          tests for the twoway methods and included sample output
        * orbsvcs/tests/Logger/Logging_Test_i.cpp: Added tests for new
          twoway methods log2() and logv2().
        * orbsvcs/orbsvcs/Log/Logger_i.cpp: Changed formating of messages
          for log2() and logv2 ().

Thu Nov 12 14:03:00 1998  Chris Gill  <cdgill@cs.wustl.edu>

        * orbsvcs/orbsvcs/RtecScheduler.idl
          orbsvcs/orbsvcs/Runtime_Scheduler.{cpp, h}
          orbsvcs/orbsvcs/Scheduler_Factory.{cpp, h}
          orbsvcs/orbsvcs/Scheduler_Utilities.{h, i}
          orbsvcs/orbsvcs/Event/Dispatching_Modules.{cpp, h, i}
          orbsvcs/orbsvcs/Event/Event_Channel.{cpp, i}
          orbsvcs/orbsvcs/Event/RT_Task.cpp
          orbsvcs/orbsvcs/Event/ReactorTask.{cpp, h}
          orbsvcs/orbsvcs/Event/Timer_Module.{cpp, h, i}
          orbsvcs/orbsvcs/Sched/Config_Scheduler.{cpp, h}
          orbsvcs/orbsvcs/Sched/DynSched.{cpp, h}
          orbsvcs/orbsvcs/Sched/SchedEntry.{cpp, h}
          orbsvcs/orbsvcs/Sched/Scheduler.h
          orbsvcs/orbsvcs/Sched/Strategy_Scheduler.{cpp, h}:
          Changed RtecScheduler type names to remove non-portable IDL
          declarations like "Priority priority;" where identifiers only
          differ by case.  Thanks to Martin Renner (Martin.Renner@pp-ulm.de)
          for pointing out the problem and the appropriate snippet of the
          CORBA spec.

Thu Nov 12 14:01:47 1998  Darrell Brunsch <brunsch@cs.wustl.edu>

        * tao/try_macros.h: Made the native exception macros fit
          on one line so compilers don't get confused by the "try"
          by itself.  Thanks to Virginie Amar<vamar@amadeus.net>
          for submitting this fix.

Thu Nov 12 07:26:48 1998  David L. Levine  <levine@cs.wustl.edu>

        * performance-tests/Cubit/TAO/IDL_Cubit/client.cpp:
          removed code that shouldn't have been put in.

Thu Nov 12 00:42:06 1998  Seth Widoff  <swidoff@sophocles.cimds.ri.cmu.edu>

        * docs/releasenotes/trader.html:
        Fixed a typo in the docs: CosTrading::Preferences should read
        CosTrading::Lookup::Preferences. Thanks to Ivan Leong
        <ivanl@pacific.net.sg> for detecting this.

Wed Nov 11 22:11:32 1998  Kirthika Parameswaran  <kirthika@cs.wustl.edu>

        * examples/Callback_Quoter/Consumer_Input_Handler.cpp (register_consumer):
        added check for carriage return while getting string input.
        * examples/Callback_Quoter/Consumer.dsp
        * examples/Callback_Quoter/Notifier.dsp
        * examples/Callback_Quoter/Supplier.dsp
        * examples/Callback_Quoter/Callback_Quoter.dsw
        The Callback_Quoter example project workspace created for Win32
        platform users and added to the repository.

Wed Nov 11 17:44:10 1998  Darrell Brunsch <brunsch@cs.wustl.edu>

        * tests/NestedUpcall/MT_Client_Test/run_test.pl:
        * tests/NestedUpcall/Reactor/run_test.pl:
        * tests/NestedUpcall/Triangle_Test/run_test.pl:
        * tests/CDR/run_test.pl:
        * tests/DynAny_Test/run_test.pl:
        * tests/Multiple_Inheritance/run_test.pl:
        * tests/OctetSeq/run_test.pl:
        * tests/Param_Test/run_test.pl:
        * examples/POA/DSI/run_test.pl:
        * examples/POA/Default_Servant/run_test.pl:
        * examples/POA/Explicit_Activation/run_test.pl:
        * examples/POA/FindPOA/run_test.pl:
        * examples/POA/NewPOA/run_test.pl:
        * examples/POA/On_Demand_Activation/run_test.pl:
        * examples/Simple/echo/run_test.pl:
        * examples/Simple/grid/run_test.pl:
        * examples/Simple/time/run_test.pl:
        * orbsvcs/tests/EC_Basic/run_test.pl:
        * orbsvcs/tests/EC_Custom_Marshal/run_test.pl:
        * orbsvcs/tests/EC_Multiple/run_test.pl:
        * orbsvcs/tests/EC_Throughput/run_test.pl:
        * orbsvcs/tests/Event_Latency/run_test.pl:
        * orbsvcs/tests/Logger/run_test.pl:
        * orbsvcs/tests/Property/run_test.pl:
        * orbsvcs/tests/Simple_Naming/run_test.pl:

          General updates, including switching to the ACE class
          and using .\ or ./ before executable names.

Wed Nov 11 14:47:00 1998  Chris Gill  <cdgill@cs.wustl.edu>

        * orbsvcs/orbsvcs/Sched/DynSched.{cpp, h}
          orbsvcs/orbsvcs/Sched/SchedEntry.{cpp, h}
          orbsvcs/tests/Sched_Conf/Sched_Conf_Anomalies_Runtime.h:
          Added reporting of specific RT_Info entry points with unresolved
          local or remote dependencies in the generated schedule header file.

Wed Nov 11 14:47:41 1998  David L. Levine  <levine@cs.wustl.edu>

        * performance-tests/Cubit/TAO/IDL_Cubit/client.cpp,Cubit_Client.cpp:
          commented out shutdown on VxWorks, until we figure out what causes
          the memPartFree error.

        * performance-tests/Cubit/TAO/IDL_Cubit/svc.conf:
          removed second (redundant) -ORBreactorlock null from
          Resource_Factory_Service_Object.

Wed Nov 11 13:56:15 1998  Aniruddha Gokhale  <gokhale@sahyadri.research.bell-labs.com>

        * TAO_IDL/be/be_visitor_sequence/cdr_op_cs.cpp:

          Added code so that for octet sequences, we will now be able to
          use the special optimizations that Carlos has developed. We
          generate this code enclosed in #if defined (TAO_NO_COPY_SEQUENCES)
          macros.

Tue Nov 10 22:37:55 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO version 0.2.40 released.

Tue Nov 10 17:53:42 1998  Matthew J Braun  <mjb2@cec.wustl.edu>

        * orbsvcs/orbsvcs/Log/Logger_i.h
        * orbsvcs/orbsvcs/Log/Logger_i.cpp
        * orbsvcs/orbsvcs/Logger.idl
          Added new methods log2() and logv2(). They are twoway versions
          of the preexisting log() and logv() methods.  Thanks to Sigg
          Pascal <pascal.sigg@zkb.ch> for reporting this.

Tue Nov 10 13:12:48 1998  Chris Gill  <cdgill@cs.wustl.edu>

        * orbsvcs/Dump_Schedule/Dump_Schedule.cpp
          orbsvcs/orbsvcs/Scheduler_Factory.cpp
          orbsvcs/orbsvcs/Sched/Config_Scheduler.cpp
          orbsvcs/orbsvcs/Sched/DynSched.cpp
          orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: Fixed compilation errors
          and warnings from g++, Sun C++ for scheduling anomaly features.


Mon Nov  9 23:47:02 1998  Kirthika Parameswaran  <kirthika@cs.wustl.edu>

        * examples/Callback_Quoter/Notifier_i.cpp
        examples/Callback_Quoter/Notifier_i.h
        examples/Callback_Quoter/Notifier_Input_Handler.cpp
        examples/Callback_Quoter/Notifier_Input_Handler.h
        examples/Callback_Quoter/Consumer_Input_Handler.cpp
        examples/Callback_Quoter/Consumer_Input_Handler.h
        examples/Callback_Quoter/Consumer_Signal_Handler.cpp
        examples/Callback_Quoter/Consumer_Signal_Handler.h
        examples/Callback_Quoter/Consumer_Handler.cpp
        examples/Callback_Quoter/Consumer_Handler.h
        examples/Callback_Quoter/Supplier_Signal_Handler.cpp
        examples/Callback_Quoter/Supplier_Signal_Handler.h
        examples/Callback_Quoter/Supplier_i.cpp
        examples/Callback_Quoter/Supplier_i.h
        examples/Callback_Quoter/supplier.cpp
        examples/Callback_Quoter/consumer.cpp
        examples/Callback_Quoter/notifier.cpp
        examples/Callback_Quoter/README

         All the above files are added.
         This version is a working Callback_Quoter example.

Mon Nov 09 23:06:55 1998  David L. Levine  <levine@cs.wustl.edu>

        * BUG-REPORT-FORM: added phase (compilation/linking/execution/other),
          and ACE+TAO/application/both.

Mon Nov  9 19:29:38 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/ORB.h (CORBA::ExceptionType): Swapped the enum definition
          order of USER_EXCEPTION and SYSTEM_EXCEPTION so it complies with
          the CORBA spec.

        * tao/GIOP.h (TAO_GIOP_ReplyStatusType): Swapped the enum definition
          order of TAO_GIOP_USER_EXCEPTION and TAO_GIOP_SYSTEM_EXCEPTION
          so it complies with the CORBA spec.

          Thanks very much for Bob Price <Bob_Price@tssdc.saic.com> for
          noticing this and send us the bug report.

Mon Nov 09 18:12:48 1998  Chris Gill  <cdgill@cs.wustl.edu>

        * orbsvcs/orbsvcs/RtecScheduler.idl
          orbsvcs/orbsvcs/Runtime_Scheduler.{cpp, h}
          orbsvcs/orbsvcs/Scheduler_Factory.{cpp, h}
          orbsvcs/orbsvcs/Sched/Config_Scheduler.{cpp, h}
          orbsvcs/orbsvcs/Sched/DynSched.{cpp, h}
          orbsvcs/orbsvcs/Sched/SchedEntry.{cpp, h, i}
          orbsvcs/orbsvcs/Sched/Scheduler.h
          orbsvcs/orbsvcs/Sched/Scheduler_Generic.{cpp, h}
          orbsvcs/orbsvcs/Sched/Strategy_Scheduler.{cpp, h}:
          Implemented anomaly recording in the strategized
          scheduler so all warning and error level scheduling anomalies
          can be propagated to generated runtime header file without
          halting the scheduler (except for a fatal anomaly).  Thanks to
          Tom Venturella <thomas.e.venturella@boeing.com> for suggesting this.

        * orbsvcs/tests/Sched_Conf/Sched_Conf.{cpp, dsw}
          orbsvcs/tests/Sched_Conf/Sched_Conf_Anomalies.{cpp, dsp}
          orbsvcs/tests/Sched_Conf/Sched_Conf_Anomalies_Runtime.h
          orbsvcs/tests/Sched_Conf/Sched_Conf_Runtime.h:
          modified tests to validate anomaly logging and scheduler.

Mon Nov 09 14:12:48 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * orbsvcs/tests/Simple_Naming/client.cpp (init):
        * examples/Quoter/Quoter_i.cpp (copy):
        * tests/Param_Test/ub_objref_seq.cpp (check_validity):
        * tests/Param_Test/except.cpp (run_sii_test):
        * orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp
          (create_initial_propertysetdef):
          (create_constrained_propertysetdef):
          (create_initial_propertyset):
          (create_constrained_propertyset): Changed to use
          TAO_ENDTRY_RETURN.

        * tao/try_macros.h (TAO_ENDTRY_RETURN): Added a new macro
          'TAO_ENDTRY_RETURN(X)' to avoid compilation errors when a return
          statement goes right after the TAO_ENDTRY macro.  Thanks to
          David for pointing this out.


Mon Nov  9 13:04:56 1998  Kirthika Parameswaran  <kirthika@cs.wustl.edu>

        * examples/Callback_Quoter/Consumer_Input_Handler.cpp (handle_input):
          added TAO try macro exceptions.

Sun Nov  8 15:59:07 1998  Kirthika Parameswaran  <kirthika@cs.wustl.edu>

        * examples/Callback_Quoter/Notifier_Input_Handler.cpp (handle_input):
          Rectified an parse error due to an arbitary symbol ' in this
          method.

Mon Nov 09 09:59:45 1998  David L. Levine  <levine@cs.wustl.edu>

        * orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp: changed some
          ACE_NOTREACHED (return 0) statements to return 0, if
          TAO_HAS_EXCEPTIONS is _not_ defined.  There's got to be a
          better way.

1998-11-08  Pradeep Gore  <pradeep@flamenco.cs.wustl.edu>

        * examples/Event_Comm/Event_Comm.idl: Added exceptions
          CannotSubscribe and CannotUnSubscribe.
        * examples/Event_Comm/Event_Comm_i.h: Modified ACE_Map_Manager,
          ACE_Map_Iterator and ACE_Map_Entry to use Consumer_ptr.
          Added the ShutdownCallback helper class.
        * examples/Event_Comm/Event_Comm_i.cpp: Made changes to Notifier_i
          to use Consumer_ptr instead of the previous "marker" for Orbix.
          Added a warning message for platforms (e.g. Win32) that do not
          support regular expression functions such as compile and step.
          Added explicit template instantiation code for the egcs compiler.
        * examples/Event_Comm/Notifier_Server.h: Added this new file.
        * examples/Event_Comm/Notifier_Server.cpp: Added this new file.
        * examples/Event_Comm/Notifier.cpp: Uses Notifier_Server class.
        * examples/Event_Comm/consumer.cpp: Class consumer now derives
          from ACE_Event_Handler and implements the ShutdownCallback.
        * examples/Event_Comm/Consumer_Handler.h: Added the following
          methods -
          int init (int argc, char *argv[],
                ShutdownCallback *_shutdowncallback);
          int run (void);
          void close (void);
          void shutdown (void);
          ACE_Reactor *reactor (void);
          int get_notifier (void);
          data members -
          Consumer_i receiver_i_;
          Event_Comm::Consumer_var receiver_;
          Event_Comm::Notifier_var notifier_;
          TAO_Naming_Client naming_services_client_;
        * examples/Event_Comm/Consumer_Handler.cpp: Uses the naming service
          to get hold of the Notifier object instead of using an IOR.
        * examples/Event_Comm/Consumer_Input_Handler.h:
          Class Consumer_Input_Handler derives from ACE_Event_Handler.
        * examples/Event_Comm/Consumer_Input_Handler.cpp: handle_input
          calls Consumer_Handler::shutdown to initiate a shutdown on
          the "quit" command.
          Uses register_stdin_handler and remove_stdin_handler to
          register the input handler.
        * examples/Event_Comm/supplier.cpp: Class Supplier derives from
          ACE_Event_Handler and implements ShutdownCallback.
        * examples/Event_Comm/Supplier_Input_Handler.h: Derives from
          ACE_Event_Handler.
        * examples/Event_Comm/Supplier_Input_Handler.cpp:handle_input
          calls Supplier_Handler::shutdown to initiate a shutdown on
          the "quit" command.
        * Makefile: detects if the g++ compiler version is lesser than
          2.8.0 and if so, prints a warning message.


Sun Nov 08 14:55:53 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tao/orbconf.h: Please uncomment TAO_HAS_EXCEPTIONS and
          TAO_USE_EXCEPTIONS once exceptions are working in TAO.  For now,
          they are not working properly.

        * tao/Object_Table.cpp (find): Fixed the find routine.  It was
          considering the is_free_ field in all cases, but this field is
          not used when the dynamic hashing mechanism is used.

        * tao/orbconf.h: Please uncomment TAO_HAS_EXCEPTIONS and
          TAO_USE_EXCEPTIONS once exceptions are working in TAO.  For now,
          they are not working properly.

        * tao/Object_Table.cpp (find): Fixed the find routine.  It was
          considering the is_free_ field in all cases, but this field is
          not used when the dynamic hashing mechanism is used.

Fri Nov  6 19:11:39 1998  Kirthika Parameswaran  <kirthika@cs.wustl.edu>

        * examples/Callback_Quoter/Notifier_i.cpp:
          Added exceptions handling to methods:
          register_callback, unregister_callback, market_status.

Fri Nov  6 17:09:52 1998  Nagarajan Surendran  <naga@cs.wustl.edu>

        * orbsvcs/tests/AVStreams/mpeg/mpeg_shared/MMDevice_Exporter.idl:
          The new idl defining the wrapper interface for exporting both
          Audio and Video MMDevices.

Fri Nov 06 10:59:43 1998  David L. Levine  <levine@cs.wustl.edu>

        * VERSION: added reference to BUG-REPORT-FORM.  Thanks to
          Peter Nordlund <petern@nada.kth.se> for provided the new
          text.

Thu Nov  5 23:46:42 1998  Kirthika Parameswaran  <kirthika@cs.wustl.edu>

        * examples/Callback_Quoter/README (TIP):
          Just added a line telling the users about the format for the
          input file of the supplier market daemon.

Thu Nov 05 15:52:50 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tao/Object_Table.cpp (find): Added a check for is_free in the
          find algorithm.  Thanks to Frank Patz <frank@contact.de> for
          sending the bug report.

Thu Nov 05 04:03:01 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/ORB.cpp (multicast_to_service): Make sure that the multicast
          sockets are closed properly no matter how the function exits.
          Thanks to Achim Stindt <stindt@inobis.de> for reporting this.

Wed Nov 04 22:46:00 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tao/Operation_Table.cpp: Added a timeprobe table.

Wed Nov  4 15:31:29 1998  Darrell Brunsch <brunsch@cs.wustl.edu>

        * tao/IIOP_Object.h: Added TAO_Export to Profile so I can use
          it in the Implementation Repository.

        * orbsvcs/ImplRepo_Service/*: The Implementation Repository
          (which now supports DSI and Ping Objects) has been moved here.

        * orbsvcs/tests/ImplRepo/*: Updated the test to check DSI and
          the Ping Object, and also added a test for just the Repository
          class in ImplRepo_Service.

Tue Nov  3 21:02:30 1998  Kirthika Parameswaran  <kirthika@cs.wustl.edu>

        * examples/Callback_Quoter/Supplier_Timer_Handler.cpp
          Added a change to Consumer_Input_Handler::quit_consumer_process
          by which the consumer exits gracefully even on a communication
          failure with the notifier.
          Also, this is a working version of the Callback Quoter example.

Tue Nov  3 19:57:03 1998  Kirthika Parameswaran  <kirthika@cs.wustl.edu>

        * examples/Callback_Quoter/README:
          Added this file which explains the Callback Quoter example and
          the way the execute it.

Tue Nov  3 17:14:35 1998  Yamuna Krishnamurthy  <yamuna@cs.wustl.edu>

        * orbsvcs/tests/AVStreams/server_discovery/Trader_Client.{h,cpp}:
          Bind to the mpeg client receiver to push the audio and video
          device references to the AV mpeg client in load_movie (). The
          references to the audio and video mmdevice are obtained from the
          mmdevice exporter through the trading service. Added code to
          hash the MMDevice_Exporter reference.

        * orbsvcs/tests/AVStreams/server_discovery/Server_Discovery.cpp:
          Change the method names corresponding to the names generated in
          the Server_0005fDiscovery_0005fUtil.h.Declare the jobject array
          server_names as a class member and not within the get_server
          method. Initilaize the _movie_class in the get_movie_info method
          before allocation of buffer. Added code in load_movie ().

        * orbsvcs/tests/AVStreams/server_discovery/Server_Discovery_Selection.java:
          Changed the way the movie tree was created and accessed. Do an
          updateUI() on the table to display it.

        * orbsvcs/tests/AVStreams/server_discovery/Server_Discovery_Util.java:
          Change the second parameter passed to load_movie() from
          movie_name of String type to movie of Movie class type to pass
          the movie info

        * orbsvcs/tests/AVStreams/mpeg/source/server/augmented_server.{h,cpp}:
          Write a wrapper MMDevice_Exporter to export the audio and video
          references and the machine and movie info properties.Add
          AV_Video_MMDevice and AV_Audio_MMDevice.

        * orbsvcs/tests/AVStreams/mpeg/source/server/Video_Repository.idl:
          Replace the member filename_ with audio_filename_ and
          video_filename_.

Tue Nov  3 16:10:49 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * docs/configurations.html: The macro
          TAO_USE_DOTTED_DECIMAL_ADDRESSES was given as
          TAO_USES_DOTTED_DECIMAL_ADDRESES in docs/configuration.html.
          Thanks to Byron Harris for reporting this!

Tue Nov  3 14:39:05 1998  Nagarajan Surendran  <naga@cs.wustl.edu>

        * orbsvcs/tests/AVStreams/mpeg/mpeg_shared/Receiver.idl:
          Added a video object reference and video file parameters to the
          push_mmdevice method in the Receiver interface.

        * orbsvcs/tests/AVStreams/mpeg/mpeg_client/Command_Handler.{h,cpp}:
          Changed the implementation of the Receiver interface to
          implement code for the video reference and videofile parameters
          to push_mmdevice method.

Mon Nov  2 17:57:23 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Client.{h,cpp}:
        * performance-tests/Cubit/TAO/IDL_Cubit/collocation_test.cpp
          Make sure the client instructs the server to shutdown no matter
          we are using the collocation optimization or not.

        * performance-tests/Demux/demux_test_client.cpp (run_linear_test,
          run_random_test, run_worst_test, run_best_test): Win32 doesn't
          support conversion from unsigned __int64 to double directly.
          Therefore, we must use the ACE_UINT64_DBLCAST_ADAPTER to convert
          it to __int64 first.  In this case, it'll be safer if we do the
          substraction first before multiplying the constant factor.

        * performance-tests/Demux/{server,client}.cpp (main): Added
          trailing return statements to avoid warnings from VC 6.

        * performance-tests/Demux/Demux.dsw:
        * performance-tests/Demux/{server,client}.dsp:
        * performance-tests/Demux/CodeGen/CodeGen.dsp: New
          project/workspace files.

        * performance-tests/Demux/demux_test_client.cpp (run_random_test):
          Replaced srand48 () and lrand48 () with ACE_OS::srand () and
          ACE_OS::rand ().

        * performance-tests/Demux/demux_test_server.cpp
          (~Demux_Test_Server): Removed unreferenced local variables.

        * performance-tests/Demux/CodeGen/client.cpp
          (gen_client_incl_code): This function should return a value.

        * performance-tests/Demux/CodeGen/gen_names.cpp (is_present):
          Fixed a syntax error.
          (gen_rand): Changed lrand48 () to ACE_OS::rand ().

        * performance-tests/Demux/CodeGen/codegen.h: Removed inclusion of
          <iostream.h> and <fstream.h>.  They caused conflicts with
          standard C++ library and should be included by ACE's header
          files.

1998-11-02  Kirthika Parameswaran  <kirthika@macarena.cs.wustl.edu>

        * examples/Callback_Quoter/Supplier_Timer_Handler.h:
        * examples/Callback_Quoter/Supplier_Timer_Handler.cpp:
                Added these files, for implementing the timer handler for
        the supplier.

Sun Nov 01 19:53:15 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tao/TAO.h (TAO_ORB_Manager::run): Added default environment to
          this method.  Thanks to Terry Rosenbaum
          <Terry.Rosenbaum@Radiology.MSU.edu> for suggesting this.

Sun Nov 01 09:03:40 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO version 0.2.39 released.

Sun Nov 01 08:24:19 1998  David L. Levine  <levine@cs.wustl.edu>

        * performance-tests/Cubit/TAO/MT_Cubit/Task_Client.cpp
          (calc_delta): removed fabs wrap of real_time with
          ACE_LACKS_FLOATING_POINT, because real_time is unsigned
          on those platforms.  GHS complained about useless
          check for < 0.

          (do_test): changed sleep_time - delta < 0 check to
          sleep_time < delta, because GHS 1.8.8 complained (improperly)
          that sleep_time - delta could never be less than 0.

        * performance-tests/Cubit/TAO/MT_Cubit/Task_Client.h:
          removed fabs () #define with ACE_LACKS_FLOATING_POINT,
          because it's no longer used.

Sat Oct 31 17:49:18 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO version 0.2.38 released.

Sat Oct 31 17:14:49 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * performance-tests/Demux/CodeGen/gen_names.cpp: Cleaned up the
          code a little bit and fixed a problem with ACE_CString -- it was
          being passed the address of a character, which really confused
          it!  Thanks to Vishal for chasing this down.

Sat Oct 31 13:03:58 1998  David L. Levine  <levine@cs.wustl.edu>

        * tao/CDR.i (operator<<): removed some return statements so that
          returns at end of functions don't need to be wrapped with
          ACE_NOTREACHED.  That seems to be the only way to keep
          both GHS and DEC cxx happy.

Sat Oct 31 01:49:06 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * performance-tests/Cubit/TAO/IDL_Cubit/collocation_test.cpp (main):
          Added check for argv[0] to determine whether to use collocation
          optimization or not.

Fri Oct 30 23:04:20 1998  David L. Levine  <levine@cs.wustl.edu>

        * examples/Callback_Quoter/Consumer_Handler.h (reactor_used):
          removed superfluous class name qualification.

        * orbsvcs/orbsvcs/Trader/Service_Type_Repository.cpp (add_type):
          added ACE_UNUSED_ARG (inc_num).  With native exceptions enabled,
          it's never used, because it's a default return value.

Fri Oct 30 15:21:52 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * performance_tests/Cubit/TAO/IDL_Cubit/collocation_test.cpp:
        * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Client.{h,cpp}:
          Fixed the collocation test.  It was broken when we stop using
          Naming Service with the test.  Also, separate out the
          shutdown_server method out since it needs to do more than an
          ordinary shutdown call to the server when we are testing the
          collocation.  Notice that Irfan is currently fixing this and in
          the future, we'll no longer need to treat collocated object
          specially.

Fri Oct 30 15:10:16 EST 1998  Aniruddha Gokhale  <gokhale@sahyadri.research.bell-labs.com>

        * performance_tests/Demux/CodeGen

          Made modifications such that a new method called shutdown is
          always generated for every interface. This method will be called
          to shutdown the ORB on the server side.

          In addition, we now generate the poa-names.dat file with a POA
          depth appaneded to it. Thus we shall have names like
          poa_names_1.dat. This will enable us to create many executables
          at the same time. Otherwise, everytime we ran the demux
          executable, we were overwriting this file. In the servant
          implementation, for the shutdown mehtod, we call the shutdown on
          the ORB.

          Affected files are:

          codegen.cpp
          codegen.h
          gen_names.cpp
          idl.cpp
          servant_impl.cpp

        * performance_tests/Demux/demux_test_client.cpp

          The client now invokes the shutdown method on the very first obj
          reference it holds. This will enable the ORB shutting down on
          the other side.

Fri Oct 30 13:50:21 1998  David L. Levine  <levine@cs.wustl.edu>

        * TAO_IDL/be/be_visitor_array/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 (operator <<=):
          removed "return 0" in TAO_TRY block in generated code, and
          therefore the ACE_NOTREACHED wrapper around the "return 0"
          at the end of the function.  Thanks to Carlos for suggesting
          this simplification.

Fri Oct 30 09:35:05 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * tao/orbconf.h: Changed TAO_USE_EXCEPTIONS to TAO_HAS_EXCEPTIONS
          to be consistent with ACE_HAS_EXCEPTIONS.  Thanks to
          Terry.Rosenbaum@Radiology.MSU.edu <Terry Rosenbaum> for
          suggesting this.

Thu Oct 29 18:19:55 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO version 0.2.37 released.

Thu Oct 29 18:02:36 1998  Darrell Brunsch <brunsch@cs.wustl.edu>

        * TAO-INSTALL.html: Added a comment about enabling native
          exceptions with TAO.

Thu Oct 29 16:25:50 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * TAO_IDL/Makefile:
        * TAO_IDL/be/be_visitor_interface_fwd/cdr_op_ci.cpp:
        * TAO_IDL/be_include/be_visitor_interface_fwd/cdr_op_ci.h:
          A forward declaration of an interface also generates the forward
          declaration of its << and >> operators.

        * TAO_IDL/be_include/be_visitor_interface_fwd.h:
        * TAO_IDL/be_include/be_interface_fwd.h:
        * TAO_IDL/be_include/be_decl.h:
        * TAO_IDL/be_include/be_codegen.h:
        * TAO_IDL/be/be_visitor_root/root.cpp:
        * TAO_IDL/be/be_visitor_root/cdr_op.cpp:
        * TAO_IDL/be/be_visitor_module/module.cpp:
        * TAO_IDL/be/be_visitor_interface/cdr_op_ch.cpp:
        * TAO_IDL/be/be_visitor_interface/cdr_op_cs.cpp:
        * TAO_IDL/be/be_visitor_scope.cpp:
        * TAO_IDL/be/be_visitor_interface_fwd.cpp:
        * TAO_IDL/be/be_visitor_factory.cpp:
        * TAO_IDL/be/be_decl.cpp:
          Some cleanup and added support for the new additions above.

Thu Oct 29 07:49:51 1998  David L. Levine  <levine@cs.wustl.edu>

        * tao/DynUnion_i.cpp: added a bunch of .in () dereferences
          so that it will compile with g++.

        * TAO_IDL/Makefile: strip $(CXX) to avoid odd behavior if had
          trailing whitespace.  Thanks to Steve Kay <slk1@icore.ih.lucent.com>
          for providing the test case :-)

        * performance-tests/Cubit/TAO/MT_Cubit/summarize: reverted to
          prior version, to use microsecond scaling.

        * performance-tests/Cubit/TAO/MT_Cubit/plot: support floating
          point numbers.

Wed Oct 28 22:22:44 1998  David L. Levine  <levine@cs.wustl.edu>

        * orbsvcs/orbsvcs/Naming/CosNaming_i.cpp (new_context):
          removed return statement in TAO_TRY block so that final
          return statement will be reached, if an exception isn't thrown.
          This avoids a cxx warning that the last statement is unreachable.

        * TAO_IDL/be/be_visitor_enum/any_op_cs.cpp (visit_enum): removed
          ACE_NOTREACHED wrapper fron final return statement, because it's
          reachable.

Wed Oct 28 21:47:32 1998  Jeff Parsons <jp4@cs.wustl.edu>

        * TAO_IDL/be/be_visitor_enum/any_op_cs.cpp:
        * TAO_IDL/be/be_visitor_structure/any_op_cs.cpp:
        * TAO_IDL/be/be_visitor_sequence/any_op_cs.cpp:
        * TAO_IDL/be/be_visitor_union/any_op_cs.cpp:
          Fixed <<= operators (copying version) to be
          leak-free and consistent (now all use ACE_NEW
          and return immediately if it fails).

Wed Oct 28 20:44:27 1998  Jeff Parsons <jp4@cs.wustl.edu>

        * tao/Any.cpp:
          Modified >>= (to_string) to get rid of a leak found with Purify.
        * tao/DynAnyC.h:
        * tao/POA_CORBA.h:
          Added 'TAO_Export' to some classes I missed.
        * tao/DynAny_i.cpp:
        * tao/DynArray_i.cpp:
        * tao/DynEnum_i.cpp:
        * tao/DynSequence_i.cpp:
        * tao/DynStruct_i.cpp:
        * tao/DynUnion_i.cpp:
          Fixed memory leaks.
        * TAO/tests/DynAny_Test/data.cpp:
        * TAO/tests/DynAny_Test/test_dynany.{h,cpp}:
        * TAO/tests/DynAny_Test/test_dynarray.{h,cpp}:
        * TAO/tests/DynAny_Test/test_dynenum.{h,cpp}:
        * TAO/tests/DynAny_Test/test_dynsequence.{h,cpp}:
        * TAO/tests/DynAny_Test/test_dynstruct.{h,cpp}:
        * TAO/tests/DynAny_Test/test_dynunion.{h,cpp}:
          Cleaned up dependencies, fixed leaks and added a few more
          test cases.

Wed Oct 28 07:35:20 1998  Alexander Babu Arulanthu  <alex@cs.wustl.edu>

        * TAO_IDL/util/utl_global.cpp (validate_included_idl_files):
        Fixed the g++ warning. Thanks to David Levine for letting me
        know this.

Wed Oct 28 00:09:52 1998  Alexander Babu Arulanthu  <alex@cs.wustl.edu>

        * TAO_IDL/be/be_codegen.cpp:
        * TAO_IDL/include/idl_global.h:
        * TAO_IDL/driver/drv_preproc.cpp:
        * TAO_IDL/util/utl_global.cpp (validate_included_idl_files): Fixed
        the problem with generating #include statements for #include'd idl
        files.

Tue Oct 27 22:46:18 1998  Kirthika Parameswaran  <kirthika@cs.wustl.edu>

        * examples/Callback_Quoter/Notifier_i.cpp (shutdown):
         removed all the iterating sequence through the Hash map.

Sun Oct 25 16:13:52 1998  Kirthika Parameswaran  <kirthika@cs.wustl.edu>

        * examples/Callback_Quoter/
         Consumer_Input_Handler.cpp (unregister_consumer):
         -made changes to reinitialize variable unregistered_.
         Consumer_Signal_Handler.h
         Consumer_Input_Handler
         -added friend class ShutupPlusPlus to stop g++ from cribbing
          about having a private destructor and no friend methods.

Tue Oct 27 22:22:05 1998  David L. Levine  <levine@cs.wustl.edu>

        * TAO version 0.2.36 released.

Tue Oct 27 12:53:05 1998  Nagarajan Surendran  <naga@cs.wustl.edu>

        * orbsvcs/orbsvcs/AV/AVStreams_i.{h,cpp} :
        * orbsvcs/orbsvcs/AV/Endpoint_Strategy.cpp:
        * orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.cpp:
          Fixed a few g++ warnings and added code to work properly with
          property service.

Tue Oct 27 08:39:38 1998  David L. Levine  <levine@cs.wustl.edu>

        * orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp:
          wrapped some final return 0 statements with ACE_NOTREACHED.

        * orbsvcs/tests/Simple_Naming/client.cpp (init): wrapped
          final return 0 statement with ACE_NOTREACHED.

        * examples/Quoter/Quoter_i.cpp (copy): wrapped
          final return 0 statement with ACE_NOTREACHED.

        * tests/Param_Test/ub_objref_seq.cpp (check_validity): wrapped
          final return 0 statement with ACE_NOTREACHED.

        * tests/Param_Test/except.cpp (run_sii_test): wrapped
          final return 0 statement with ACE_NOTREACHED.

        * TAO_IDL/driver/drv_preproc.cpp: reverted to version 1.29
          because 1.30 doesn't work.

Tue Oct 27 06:00:38 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO version 0.2.35 released.

1998-10-26  Seth Widoff  <swidoff@cs.cmu.edu>

        * orbsvcs/orbsvcs/Trader/Trader_Interfaces.cpp:
        * orbsvcs/orbsvcs/Trader/Trader_Utils.cpp:
        * orbsvcs/tests/Trading/colocated_test.cpp:
          In an effort to be efficient, in certain methods I was stealing
          sequence buffers from 'in' parameters that would have otherwise
          needed to have been copied. However, this doesn't work in the
          colocated case, since those 'in' parameters are passed directly
          rather than copied over the wire. This was causing the the trader's
          colocated_test to fail. Thanks to Jim Penny
          <jpenny@universal-fasteners.com> for reporting this.

Mon Oct 26 18:53:49 1998  Jeff Parsons <jp4@cs.wustl.edu>

        * TAO/performance-tests/Cubit/TAO/IDL_Cubit/README:
        * TAO/performance-tests/Cubit/TAO/DII_Cubit/README:
          Oops, forgot to update the README files pertaining to
          the checkin below.

Mon Oct 26 18:40:03 1998  Jeff Parsons <jp4@cs.wustl.edu>

        * TAO/performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Server.cpp:
        * TAO/performance-tests/Cubit/TAO/DII_Cubit/client.cpp:
        * TAO/performance-tests/Cubit/TAO/IDL_Cubit/run_test.pl:
          Fixed a bug reported in the DII Cubit test. Removed -s option
          from server (harmful), also from client (not harmful but
          useless) and removed these args from the perl file.  Thanks to
          Jim Penny <jpenny@universal-fasteners.com> for reporting this.
          Also fixed a typo in the perl file (thanks, Carlos).

Mon Oct 26 18:28:36 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * Updated dependencies for all the Makefiles.

Mon Oct 26 16:01:27 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * tests/DynAny_Test: Made the run_tests.pl script have
          755 permission.  Thanks to Jim Penny
          <jpenny@universal-fasteners.com> for reporting this.

Mon Oct 26 14:22:18 1998  Matthew J Braun  <mjb2@cec.wustl.edu>

        * examples/POA/DSI/README
        * examples/POA/DSI/run_test.pl
        * examples/POA/DSI/server.cpp
        * examples/POA/DSI/client.cpp
        * tests/Multiple_Inheritance/run_test.pl
        * tests/Multiple_Inheritance/server.cpp
        * tests/Multiple_Inheritance/client.cpp
          Fixed command line arguments to conform to Irfan's
          specifications.

Mon Oct 26 12:01:30 1998  David L. Levine  <levine@cs.wustl.edu>

        * TAO_IDL/be/be_visitor_union/any_op_cs.cpp:
        * TAO_IDL/be/be_visitor_array/any_op_cs.cpp:
        * TAO_IDL/be/be_visitor_sequence/any_op_cs.cpp:
        * TAO_IDL/be/be_visitor_exception/any_op_cs.cpp:
        * TAO_IDL/be/be_visitor_enum/any_op_cs.cpp:
        * TAO_IDL/be/be_visitor_structure/any_op_cs.cpp:
        * TAO_IDL/be/be_visitor_interface/any_op_cs.cpp:
          Replaced the final "return 0;", because other compilers,
          such as g++, warned without it.  But now, it's wrapped with
          ACE_NOTREACHED.

Mon Oct 26 09:57:29 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * TAO_IDL/be/be_visitor_union/any_op_cs.cpp:
        * TAO_IDL/be/be_visitor_array/any_op_cs.cpp:
        * TAO_IDL/be/be_visitor_sequence/any_op_cs.cpp:
        * TAO_IDL/be/be_visitor_exception/any_op_cs.cpp:
        * TAO_IDL/be/be_visitor_enum/any_op_cs.cpp:
        * TAO_IDL/be/be_visitor_structure/any_op_cs.cpp:
        * TAO_IDL/be/be_visitor_interface/any_op_cs.cpp:
          Removed a redundant "return 0;" found on each >>= operator. This
          was causing nasty warnings in some compilers.

Mon Oct 26 09:34:32 1998  Alexander Babu Arulanthu  <alex@cs.wustl.edu>

        * TAO_IDL/driver/drv_preproc.cpp (DRV_pre_proc): While scanning
        for #include'd idl file, we should also look for <file.idl> other
        than "file.idl". Thanks to "John Geiss" <jtgb@eci-esyst.com> for
        reporting this problem.

Mon Oct 26 00:05:54 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tao/ORB.cpp (multicast_to_service): Changed htons to ACE_HTONS.
          This change allows TAO to have reduced dependencies to system
          libraries.  Thanks to Paul K. Fisher <pfisher@plexware.com> for
          suggesting this change.

Mon Oct 26 00:03:44 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO version 0.2.34 released.

Sun Oct 25 20:26:59 1998  Jeff Parsons <jp4@cs.wustl.edu>

        * tao/DynArray_i.cpp:
        * tao/DynSequence_i.cpp:
        * tao/DynStruct_i.cpp:
        * tao/DynUnion_i.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:
          Fixed some memory leaks - the ones that are left
          are all similar, but I'm not sure how to approach
          it yet.


Sun Oct 25 16:12:16 1998  Darrell Brunsch <brunsch@cs.wustl.edu>

        * TAO/examples/Simple/time/README: Rearranged and cleared
          up some explanations of the options.

Sun Oct 25 15:24:14 1998  Jeff Parsons <jp4@cs.wustl.edu>

        * TAO/tests/DynAny_Test/run_test.pl
          Perl script to run one or all of the tests. Thanks to
          Darrell for example file to cut and paste from, as
          well as help getting Corrido set up correctly.

Sun Oct 25 13:30:49 1998  Jeff Parsons <jp4@cs.wustl.edu>

        * TAO/tests/DynAny_Test/Makefile:
        * TAO/tests/DynAny_Test/README:
          Added Makefile and updated README.

Sun Oct 25 12:45:17 1998  Jeff Parsons <jp4@cs.wustl.edu>

        * TAO/tests/DynAny_Test/driver.{h,cpp}:
        * TAO/tests/DynAny_Test/data.cpp:
          Just some minor changes to avoid CC and g++ warnings.

Sat Oct 24 23:56:45 1998  Kirthika Parameswaran  <kirthika@cs.wustl.edu>

        * examples/Callback_Quoter/
          added files:
          Consumer_Handler.h
          Consumer_Handler.cpp
          Consumer_Signal_Handler.h
          Consumer_Signal_Handler.cpp

          Consumer_Handler creates the Consumer_Input_Handler and the
          Consumer_Signal_Handler objects which are derived from
          ACE_Event_Handler for managing events of input and signal type.


Sat Oct 24 14:51:29 1998  David L. Levine  <levine@cs.wustl.edu>

        * orbsvcs/tests/EC_Custom_Marshal/ECM_Supplier.cpp (supplier_task):
          wrapped shift of "byte_order" with CORBA::Any::from_boolean (),
          because egcs 1.1b complained about ambiguous overload resolution.
          Thanks to Carlos for this solution.

        * orbsvcs/tests/EC_Custom_Marshal/run_tests.pl: specify full path
          to executables.    That way, users don't need to have . in their
          path.

Fri Oct 23 18:45:43 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * examples/POA:

          ACE_wrappers/TAO/examples/POA/DSI/client.dsp
          ACE_wrappers/TAO/examples/POA/DSI/server.dsp
          ACE_wrappers/TAO/examples/POA/Default_Servant/client.dsp
          ACE_wrappers/TAO/examples/POA/Default_Servant/server.dsp:

          Updated project files with the new IDL compiler location and new
          bin/DLL directory location.

          ACE_wrappers/TAO/examples/POA/DSI/server.cpp:

          Fixed signed/unsigned problem.

          Thanks to John Morey<jmorey@tbi.com> for reporting them.


Fri Oct 23 18:23:07 1998  Kirthika Parameswaran  <kirthika@cs.wustl.edu>

        * examples/Simple/echo/README (Options):
         Added explanation regarding ior.

Fri Oct 23 17:54:16 1998  Jeff Parsons <jp4@cs.wustl.edu>

        * Tao/tests/DynAny_Test/test_dynsequence.cpp:
          Fixed a typo that was giving a false error.

Fri Oct 23 16:31:50 1998  Jeff Parsons <jp4@cs.wustl.edu>

        * TAO/tests/DynAny_Test/da_tests.idl:
          Removed da_tests.pidl and added above (same
          file). My mistake.

Fri Oct 23 15:54:13 1998  Jeff Parsons <jp4@cs.wustl.edu>

        * TAO/tests/DynAny_Test/data.{h,cpp};
        * TAO/tests/DynAny_Test/driver.{h,cpp};
        * TAO/tests/DynAny_Test/test_dynany.{h,cpp};
        * TAO/tests/DynAny_Test/test_dynarray.{h,cpp};
        * TAO/tests/DynAny_Test/test_dynenum.{h,cpp};
        * TAO/tests/DynAny_Test/test_dynsequence.{h,cpp};
        * TAO/tests/DynAny_Test/test_dynstruct.{h,cpp};
        * TAO/tests/DynAny_Test/test_dynunion.{h,cpp};
        * TAO/tests/DynAny_Test/test_wrapper.{h,cpp};
        * TAO/tests/DynAny_Test/da_tests.pidl;
        * TAO/tests/DynAny_Test/DynAny_Test.dsw;
        * TAO/tests/DynAny_Test/basic_test.dsp;
          The basic DynAny test stuff. Makefile and README
          file to come shortly. Only works on NT for now.

Fri Oct 23 15:00:30 1998  Chris Gill  <cdgill@cs.wustl.edu>

        * orbsvcs/tests/Simulator/DOVEMIB/DOVEMIBx.dsp
          orbsvcs/tests/Simulator/DOVEMIB/TestClient.dsp
          orbsvcs/tests/Simulator/DOVEMIB/any_test_i.cpp: Modified custom
          build step for .idl files to look for the TAO IDL compiler in
          the $ACE_ROOT/bin directory, converted ostream output for which
          compiler was complaining about an ambiguous << operator into
          ACE_DEBUG output form.  Thanks to Brian Gilstrap
          <gilstrap_b@ociweb.com> for pointing this out.

1998-10-23  Vishal Kachroo  <vishal@merengue.cs.wustl.edu>

        * examples/Simple/bank/README (Options): Explained the [-o IOR_file_name]
        option for the server more clearly.

Fri Oct 23 12:41:14 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/Environment.cpp:
          When using native C++ exceptions the
          CORBA_Environment::default_environment() function clears the
          environment every time it is called.  This should fix some
          problems reported by Goran Lowkrantz
          <Goran.Lowkrantz@infologigruppen.se>

Fri Oct 23 12:33:56 EDT 1998  Aniruddha Gokhale  <gokhale@sahyadri.research.bell-labs.com>

        * TAO_IDL/be/be_visitor_interface/cdr_op_cs.cpp:

          Modified the generated code sightly to make sure that we check
          for exceptions. Thanks to Naga for pointing this out.

Fri Oct 23 11:17:00 1998  David L. Levine  <levine@cs.wustl.edu>

        * tao/CDR.i (operator<<): wrapped several final return statements
          with ACE_NOTREACHED to avoid unreachable statement warnings from
          DEC cxx.

Fri Oct 23 10:25:49 1998  Alexander Babu Arulanthu  <alex@cs.wustl.edu>

        * TAO_IDL/be/be_codegen.cpp : Fixed the
        problem with getting the suffix for a #include'd idl file. Use
        strrchr instead of strstr. Thanks to Ron Barack
        <r.barack@inobis.de> for tracking this down.

Fri Oct 23 00:40:14 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO version 0.2.33 released.

Thu Oct 22 23:28:52 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO version 0.2.32 released.

Thu Oct 22 21:35:17 1998  Darrell Brunsch <brunsch@cs.wustl.edu>

        * TAO-INSTALL.html: Since we've been successfully using MSVC 6.0
          for a while, might as well mention it here in the documentation,

Thu Oct 22 20:43:06 1998  Jeff Parsons <jp4@cs.wustl.edu>

        * tao/DynAnyC.h:
          Added 'TAO Export' to the DynAny utility classes
          AnySeq and NameValuePairSeq so the linker could find them.

Thu Oct 22 14:09:12 1998  Aniruddha Gokhale  <gokhale@sahyadri.research.bell-labs.com>

        * TAO_IDL/fe/fe_lookup.cpp:
          TAO_IDL/Makefile:

          Since GPERF had issued a warning indicating collision of keys, I
          used an additional -k1,2,$ option to GPERF. Thanks to Doug
          Schmidt for suggesting this. The collisions are now resolved.

Thu Oct 22 11:01:12 1998  David L. Levine  <levine@cs.wustl.edu>

        * TAO_IDL/be/be_visitor_interface/any_op_cs.cpp (visit_interface):
          initialize _tao_obj_ptr to 0 to avoid g++ warnings about possible
          use before initialization, in generated code.

        * examples/POA/Generic_Servant/Makefile: changed LSRC definition
          to use $(IDL_SRC) instead of $(POA_CLT_SRCS), so that client.o
          is not put into libserver.a.  It caused link collisions on VxWorks.

        * orbsvcs/tests/Concurrency/lex.CC_command.cpp: forced CVS check-in
          to avoid out-of-date warnings during builds, after new checkouts.

        * tao/orbconf.h: enable TAO_USE_EXCEPTIONS ifdef ACE_HAS_EXCEPTIONS.

Thu Oct 22 11:26:34 1998  Aniruddha Gokhale  <gokhale@sahyadri.research.bell-labs.com>

        * TAO_IDL/include/fe_private.h:

          The hash and the lookup methods now use unsigned int as the type
          for the second argument.

        * TAO_IDL/fe/fe_lookup.cpp:

          Regenerated the file since the prototype for the hash and lookup
          methods had changed.

Wed Oct 21 22:34:18 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO version 0.2.31 released.

Wed Oct 21 22:49:09 1998  Darrell Brunsch <brunsch@cs.wustl.edu>

        * examples/POA/DSI/server.dsp:
        * examples/POA/DSI/client.dsp:
          Just noticed that these were pointing to the old location
          of tao_idl.  Now fixed to look in /bin.

Wed Oct 21 22:29:35 1998  Alexander Babu Arulanthu  <alex@cs.wustl.edu>

        * TAO_IDL/be/be_codegen.cpp (TAO_CodeGen): Fixed the problem with
        #include'ing the server skeleton header of the another #included
        idl file. Thanks to Stach (t.stach@inobis.de) for tracking this
        down.

Wed Oct 21 15:01:23 1998  Aniruddha Gokhale  <gokhale@sahyadri.research.bell-labs.com>

        * 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:

          Added an extra "return 0;" after the TAO_ENDTRY; in each >>=
          operator. Thanks to David Levine for reporting the compiler
          warnings requiring a return statement.

Wed Oct 21 13:09:54 1998  Nagarajan Surendran  <naga@cs.wustl.edu>

        * performance-tests/Cubit/TAO/MT_Cubit/README:
        * performance-tests/Cubit/TAO/IDL_Cubit/README:
          Updated the instructions for running Cubit tests on CHORUS.

Wed Oct 21 12:32:37 EDT 1998  Aniruddha Gokhale  <gokhale@sahyadri.research.bell-labs.com>

        * 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:

          Added the TAO_TRY macros to the generated code for the <<= and
          >>= operators. In addition, David Levine had reported warnings
          because of the presence of an unnecessary, unreachable return
          statement. This has been fixed.

        * TAO_IDL/be/be_visitor_union/cdr_op_cs.cpp
          TAO_IDL/be/be_visitor_array/cdr_op_cs.cpp
          TAO_IDL/be/be_visitor_enum/cdr_op_cs.cpp
          TAO_IDL/be/be_visitor_exception/cdr_op_cs.cpp
          TAO_IDL/be/be_visitor_interface/cdr_op_cs.cpp
          TAO_IDL/be/be_visitor_structure/cdr_op_cs.cpp
          TAO_IDL/be/be_visitor_sequence/cdr_op_cs.cpp:

          For IDL types defining a scope (e.g., structure, intrfaces), we
          were generating the inline CDR operators that used the CDR
          operators for their children before defining them. This was
          resulting in lots of compile errors. We now make sure that the
          CDR operators for the children are available before their use in
          the parent.

        * tao/IIOP_Interpreter.cpp (calc_key_union_attributes): There was
          an error in the calculation of the padded size of the
          discriminant. We were not taking inot account the size of the
          Base_Union. Thanks to Kirk Ellett (kellett@mdc.com) for sending
          me the bug report and a sample code that illustrated this
          problem. His example used a sequence of unions in which one of
          the member was double (size 8, alignment 8) that finally
          pinpointed this error to me.

Wed Oct 21 07:22:12 1998  David L. Levine  <levine@cs.wustl.edu>

        * TAO_IDL/driver/drv_args.cpp (DRV_parse_args): initialized
          local "s" to 0 to avoid g++ warning about possible
          unitialized use.

Tue Oct 20 18:04:30 1998  Alexander Babu Arulanthu  <alex@cs.wustl.edu>

        * TAO_IDL/be/be_codegen.cpp:
        * TAO_IDL/driver/drv_args.cpp: Fixed the problem with separating
          suffix from the mail file name. It was hard coded assuming that
          all files will end with .cpp which may not be true when somebody
          uses -sT or -st option to specify someother suffix like .cxx or
          something. So, we now use "." to separate the main name from the
          suffix. If . is also not there (sanity check), we just take the
          whole name as it is.  Thanks to
          Terry.Rosenbaum@Radiology.MSU.edu <Terry Rosenbaum> for
          reporting this problem.

1998-10-20  Seth Widoff  <swidoff@cs.cmu.edu>

        * orbsvcs/Trading_Service/Trading_Service.{h,cpp}:
        * docs/releasenotes/trader.html:
        Added a command line argument -TSdumpior to dump the trader's ior
        to a file. Thanks to Sunil Kumar <skumar@sutmyn.com> for
        noticing this was missing.

Tue Oct 20 11:07:18 1998  Matthew J Braun  <mjb2@cec.wustl.edu>

        * tests/Param_Test/param_test_i.cpp: A re-check in...

Tue Oct 20 11:17:01 EDT 1998  Aniruddha Gokhale  <gokhale@sahyadri.research.bell-labs.com>

        * TAO_IDL/be:

          Introduced a small modification (read hack) so that all the CDR
          operators are now generated in the *.i file and with the
          ACE_INLINE keyword. Also, if ACE_INLINE is not defined, then we
          take care of this by generating the prototypes in the header
          enclosed within #ifndef .. #define .. #endif statements. This is
          just a first attempt to reduce fuction call overhead for
          compiled marshaling operators. However, an elegant solution to
          do this on a selective basis is needed. At this time, we force
          all <<, >> operators to be inlined. If the compiler decides not
          to inline, then we are going to pay a penalty.

          Affected files are:

          be_visitor_root/root.cpp
          be_visitor_root/cdr_op.cpp

          In addition, I found out that in a number of files, we were
          tightly coupling the generated code to a specific output stream
          e.g., the client stubs file. In the above scenario, when I moved
          the generation of the CDR operators to the inline files in the
          root.cpp file, I expected all the children nodes to generate
          code in the inline file. However, since the code for the child
          nodes were tightly coupled with the client stubs file, it
          resulted in errors.

          The best way to hide which output stream we are currently
          dealing with is to use the "stream" accessor of the
          visitor_context class. The desired stream gets set at the root
          level and this information is passed to all the children via the
          context.

          Affected files are:

          be_visitor_array/any_op_ch.cpp
          be_visitor_array/any_op_cs.cpp
          be_visitor_array/cdr_op_ch.cpp
          be_visitor_array/cdr_op_cs.cpp
          be_visitor_enum/any_op_ch.cpp
          be_visitor_enum/any_op_cs.cpp
          be_visitor_enum/cdr_op_ch.cpp
          be_visitor_enum/cdr_op_cs.cpp
          be_visitor_exception/any_op_ch.cpp
          be_visitor_exception/any_op_cs.cpp
          be_visitor_exception/cdr_op_ch.cpp
          be_visitor_exception/cdr_op_cs.cpp
          be_visitor_interface/any_op_ch.cpp
          be_visitor_interface/any_op_cs.cpp
          be_visitor_interface/cdr_op_ch.cpp
          be_visitor_interface/cdr_op_cs.cpp
          be_visitor_sequence/any_op_ch.cpp
          be_visitor_sequence/any_op_cs.cpp
          be_visitor_sequence/cdr_op_ch.cpp
          be_visitor_sequence/cdr_op_cs.cpp
          be_visitor_structure/any_op_ch.cpp
          be_visitor_structure/any_op_cs.cpp
          be_visitor_structure/cdr_op_ch.cpp
          be_visitor_structure/cdr_op_cs.cpp
          be_visitor_typedef/any_op_ch.cpp
          be_visitor_typedef/any_op_cs.cpp
          be_visitor_typedef/cdr_op_ch.cpp
          be_visitor_typedef/cdr_op_cs.cpp
          be_visitor_union/any_op_ch.cpp
          be_visitor_union/any_op_cs.cpp
          be_visitor_union/cdr_op_ch.cpp
          be_visitor_union/cdr_op_cs.cpp

        * performance-tests/Demux:
          performance-tests/Demux/CodeGen:

          Completely rewrote the entire test suite using proper ACE
          programming guidelines. The older version was written to work
          with the SunSoft's IIOP code. the current one is now fully CORBA
          compliant and works with TAO.

          A bunch of files have been deleted and new ones added. In
          particular, we now generate an interface definition and rely on
          TAO_IDL compiler to generate the stubs and skeletons (rather
          than we generating them as we did before). In addition, we have
          added an additional parameter i.e., POA depth.

          Read the README files in both the directories to see how to use
          this test suite. We need to experiment with this to see how TAo
          performs.

          Newly added files are:

          ./demux_test_client.{h, cpp}
          ./demux_test_macros.h
          ./demux_test_server.{h, cpp}
          ./CodeGen/codegen.{h, cpp}
          ./CodeGen/debug.cpp
          ./CodeGen/demux.cpp
          ./CodeGen/gen_names.cpp
          ./CodeGen/idl.cpp
          ./CodeGen/servant_hdr.cpp
          ./CodeGen/servant_impl.cpp

           Files removed are:

          ./CodeGen/gen.cpp
          ./CodeGen/impl.cpp
          ./CodeGen/objcreate.cpp
          ./CodeGen/perf.cpp
          ./CodeGen/impl.cpp
          ./CodeGen/skel.cpp
          ./CodeGen/stub.cpp
          ./CodeGen/tao.{h, cpp}


Mon Oct 19 21:40:56 1998  David L. Levine  <levine@cs.wustl.edu>

        * *.h: changed include protection from #if !defined to ifndef.
          Added #pragma once, if possible, i.e., after #include of
          an ace/ header.  It can only be done after ace/config.h
          is included, because some platforms don't allow #pragma once.

        * tests/Param_Test/Makefile: don't build with g++ versions prior
          to 2.8, because they can't handle nested classes.  Thanks to
          JM Strauss <jms97@club-internet.fr> for confirming this.

        * examples/Quoter/Makefile: don't build with g++ versions prior
          to 2.8, because they can't handle nested classes.

        * orbsvcs/tests/EC_Mcast/EC_Mcast.cpp (disconnect_push_supplier):
          added ACE_UNUSED_ARG (_env).

        * utils/catior/catior.cpp: added #include of ace/streams.h
          because this file uses ifstreams.

        * tao/DynUnion_i.cpp (get_extractor): moved return statement
          inside of ACE_LACKS_LONGLONG_T protection to avoid compiler
          warning about unreachable statement.

Mon Oct 19 15:37:53 1998  Nagarajan Surendran  <naga@cs.wustl.edu>

        * orbsvcs/orbsvcs/AV/Endpoint_Strategy.cpp (create_B): Fixed a
          warning for using TAO_TRY_ENV with no TAO_CHECK_ENV.Thanks to
          David for reporting this.

Mon Oct 19 15:37:30 1998  Chris Gill  <cdgill@cs.wustl.edu>

        * orbsvcs/tests/Simulator/Event_Supplier/Event_Sup.dsp
          orbsvcs/tests/Simulator/Event_Supplier/Logging_Sup.dsp:
          Modified custom build step for NavWeap.idl to look for
          the TAO IDL compiler in the $ACE_ROOT/bin directory.

Mon Oct 19 14:28:30 1998  Matthew J Braun  <mjb2@cec.wustl.edu>

        * examples/POA/NewPOA/run_test.pl: Runs the test. Not exactly a
          difficult task, since there's one executable with no arguments.

Mon Oct 19 11:24:40 1998  David L. Levine  <levine@cs.wustl.edu>

        * orbsvcs/tests/Simple_Naming/client.cpp (already_bound_test,
          already_bound_test2): added .in () dereference of "obj" arg.

        * orbsvcs/tests/EC_Mcast/EC_Mcast.cpp (open_receiver): added
          .in () reference of "addr_server" arg.

        * orbsvcs/tests/EC_Basic/EC_Basic.cpp (run): added
          .in () reference of several args.

        * orbsvcs/tests/EC_Basic/EC_Basic.cpp: added a bunch of
          ACE_UNUSED_ARG's.  Thanks to JM Strauss <jms97@club-internet.fr>
          for reporting these.

        * test/Param_Test/driver.cpp: added
          Param_Test_Client<Test_Unbounded_Struct_Sequence> instantiation.

        * TAO/rules.tao.GNU: added -Wno-uninitialized with egcs 2.91.x.
          It seems to be overly aggressive:

            DynAny_i.cpp:565: warning: `class TAO_DynAny_i * this' might be
            used uninitialized in this function

        * TAO_IDL/Makefile: added include of rules.tao.GNU, to pick up
          -Wno-unused and -Wno-uninitialized with g++/egcs.

Sun Oct 18 22:05:00 1998  Chris Gill  <cdgill@cs.wustl.edu>

        * orbsvcs/tests/Sched_Conf/Sched_Conf.cpp
          orbsvcs/tests/Sched_Conf/Sched_Conf_Runtime.cpp
          orbsvcs/orbsvcs/Sched/Config_Scheduler.cpp
          orbsvcs/orbsvcs/Sched/DynSched.cpp
          orbsvcs/orbsvcs/Sched/SchedEntry.{cpp,h,i}
          orbsvcs/orbsvcs/Sched/Scheduler.h:
          Propagated warnings for unresolved remote RT_Info dependencies
          throughout the call graph in the strategized scheduler, enabled
          schedule table generation even when there are unresolved remote
          dependencies or the utilization bound is exceeded. These changes
          allow iterative development of a schedule with useful scheduler
          warnings in debug mode.

Sun Oct 18 21:40:23 1998  Sergio Flores  <sergio@tango.cs.wustl.edu>

        * performance-tests/Cubit/TAO/MT_Cubit/Task_Client.cpp:
        * performance-tests/Cubit/TAO/MT_Cubit/Task_Client.h:
        * performance-tests/Cubit/TAO/MT_Cubit/client.cpp:
        * performance-tests/Cubit/TAO/MT_Cubit/client.h:
        * performance-tests/Cubit/TAO/MT_Cubit/Cubit_Task.cpp: Fixed some
        unreferenced variables that caused warnings.  Deleted some
        variables that were not being used.  Cleaned up the code a bit.

Sun Oct 18 15:59:36 1998  Matthew J Braun  <mjb2@cec.wustl.edu>

        * tests/Param_Test/param_test_i.cpp: Changed use of "TRUE" to 1
          for a Boolean value. Thanks David!

Sun Oct 18 14:20:35 1998  Jeff Parsons <jp4@cs.wustl.edu>

        * tao/DynAny_i.h:
        * tao/DynArray_i.h:
        * tao/DynEnum_i.h:
        * tao/DynSequence_i.h:
        * tao/DynStruct_i.h:
        * tao/DynUnion_i.h:
        * tao/DynUnion_i_T.h:
          Edited files to conform to TAO layout style.

Sun Oct 18 09:32:38 1998  David L. Levine  <levine@cs.wustl.edu>

        * orbsvcs/tests/Event_Latency/Event_Latency.cpp (push,
          start_generating_events): fixed a couple of 64-to-32
          bit casts so that it will compile for VxWorks.

        * examples/Callback_Quoter/Supplier_i.cpp (Supplier):
          reordered initializers to match declaration order.

        * utils/IOR_Parser/ior-handler.cpp (getString,getIdlInterface):
          declared char arrays that are used for return values as static.

Sat Oct 17 13:04:50 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO version 0.2.30 released.

Sat Oct 17 10:34:01 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * tao/Sequence: Added a hash() method to TAO_Base_Sequence().
          This makes it possible to use TAO bounded and unbounded
          sequences in the ACE_Hash_Map_Manager.  Thanks to David Levine
          and John Geiss for reporting this.

Sat Oct 17 00:44:10 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO version 0.2.29 released.

Fri Oct 16 15:48:48 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * tao: Replaced all #if !defined (TAO_FOO_H) with #ifndef
          TAO_FOO_H since many C++ preprocessors can recognize this idiom
          and optimize for it.

        * tao/POA.cpp: Changed from operator++ to ++operator to be more
          efficient.  Thanks to Irfan for suggesting this change.

Fri Oct 16 17:00:47 1998  Aniruddha Gokhale  <gokhale@sahyadri.research.bell-labs.com>

        * TAO_IDL/be/be_visitor_array/cdr_op_cs.cpp:
                     be_visitor_enum/cdr_op_cs.cpp:
                     be_visitor_exception/cdr_op_cs.cpp:
                     be_visitor_interface/cdr_op_cs.cpp:
                     be_visitor_sequence/cdr_op_cs.cpp:
                     be_visitor_structure/cdr_op_cs.cpp:
                     be_visitor_union/cdr_op_cs.cpp:

          The generated <<, >> operators now have the C++ "inline" keyword
          before them. Thanks to Chris Cleeland for suggesting this.

Fri Oct 16 04:16:19 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tao/Object_Table and POA: Changed the object table and POA/TAO
          options such that the POA now supports linear, active, and
          dynamic lookup strategies with the system id policy and supports
          linear, and dynamic lookup strategies with the user id policy.
          The default lookup strategy for the system id policy is active,
          while the default lookup strategy for the user id policy is
          dynamic.

          Note that the active lookup strategy is only supported with the
          system id policy.  This is so because the user cannot decide the
          id for the active lookup strategy. It must be generated by the
          system.

          Also, added the ability for TAO_Dynamic_Hash_ObjTable and
          TAO_Linear_ObjTable to create object ids.  This makes them
          usable with the system id policy.

        * tao/default_server.cpp (parse_args): Replaced -ORBdemuxstrategy
          with -ORBsystemidpolicydemuxstrategy and
          -ORBuseridpolicydemuxstrategy.

        * tao/params.h (TAO_Demux_Strategy): Removed TAO_NONE.  It was not
          being used.

Fri Oct 16 01:52:01 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO version 0.2.28 released.

Fri Oct 16 01:25:43 1998  Sergio Flores  <sergio@tango.cs.wustl.edu>

        * performance-tests/Cubit/TAO/MT_Cubit/Globals.cpp
        * performance-tests/Cubit/TAO/MT_Cubit/Makefile
        * performance-tests/Cubit/TAO/MT_Cubit/README
        * performance-tests/Cubit/TAO/MT_Cubit/Task_Client.cpp
        * performance-tests/Cubit/TAO/MT_Cubit/Task_Client.h
        * performance-tests/Cubit/TAO/MT_Cubit/client.cpp
        * performance-tests/Cubit/TAO/MT_Cubit/server.cpp
        * performance-tests/Cubit/TAO/MT_Cubit/Cubit_Task.cpp: Fixed a bug
        with the utilization test, updated the README file, and some
        aesthetic changes to the help.

Fri Oct 16 00:45:22 1998  Kirthika Parameswaran  <kirthika@cs.wustl.edu>

        * examples/Callback_Quoter/Notifier_Input_Handler.h
        * examples/Callback_Quoter/Notifier_Input_Handler.cpp
         added Event mechanism in the Notifier_Input_Handler.

        * examples/Callback_Quoter/Notifier_i.h
        * examples/Callback_Quoter/Notifier_i.cpp
        added close call in the shutdown method.


Thu Oct 15 23:00:35 1998  Jeff Parsons <jp4@cs.wustl.edu>

        * tao/DynAny_i.h:
        * tao/DynArray_i.h:
        * tao/DynEnum_i.h:
        * tao/DynSequence_i.h:
        * tao/DynStruct_i.h:
        * tao/DynUnion_i.h:
          Added TAO_Export to the class declarations (ouch!)

Thu Oct 15 22:10:48 1998  Sergio Flores  <sergio@tango.cs.wustl.edu>

        * performance-tests/Cubit/TAO/MT_Cubit/Task_Client.cpp:
        * performance-tests/Cubit/TAO/MT_Cubit/Globals.cpp:
        * performance-tests/Cubit/TAO/MT_Cubit/README: Synchronized the
        README file with the actual options in the source files.  Cleaned
        up the wording for the help in the README and source files.
        Thanks to Brian Gilstrap <gilstrap_b@ociweb.com> for pointing this
        out.

Thu Oct 15 22:06:48 1998  Alexander Babu Arulanthu  <alex@cs.wustl.edu>

        * TAO_IDL/driver/drv_args.cpp: Fixed the help message to print the
        new options -H linear_search and -H binary_search.

Thu Oct 15 21:20:56 1998  Nagarajan Surendran  <naga@cs.wustl.edu>

        * orbsvcs/orbsvcs/AVStreams.idl: Uncommented the previously
        commented out code that uses Property.

Thu Oct 15 20:08:36 1998  Nagarajan Surendran  <naga@cs.wustl.edu>

        * performance-tests/Cubit/TAO/MT_Cubit/Task_Client.{h,cpp} :
        * performance-tests/Cubit/TAO/MT_Cubit/Cubit_Task.{h,cpp}:
        * performance-tests/Cubit/TAO/MT_Cubit/Globals.{h,cpp}:
        * performance-tests/Cubit/TAO/MT_Cubit/client.cpp:
        * performance-tests/Cubit/TAO/MT_Cubit/server.h:
          Removed Naming service code from all the files. MT_Cubit
          uses only files to share iors of servants to clients. So -s option
          is also removed.

        * performance-tests/Cubit/TAO/MT_Cubit/Makefile:
          Removed liborbsvcs from the LD_LIBS.

        * performance-tests/Cubit/TAO/MT_Cubit/MT_Cubit_Test:
          Removed -s option for server and client.

Thu Oct 15 17:29:42 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * orbsvcs/orbsvcs/orbsvcs[_static].dsp: Added EC_UDP_Admin.cpp.
          Thanks to Russell L. Carter <rcarter@dnstoo.consys.com> for
          reporting this.


Thu Oct 15 13:54:23 1998  Kirthika Parameswaran  <kirthika@cs.wustl.edu>

        * examples/Callback_Quoter/Supplier_i.cpp:
          examples/Callback_Quoter/Supplier_i.h
          Changed the names as they conflicted with (lowercase)
          supplier.cpp on NT.

Thu Oct 15 13:22:39 1998  Jeff Parsons <jp4@cs.wustl.edu>

        * TAO/tests/Param_Test/param_test_i.cpp:
          Added a Param_Test:: qualifier to declaration of
          PathSpec_var rPathSpec - got rid of a compile error.

Thu Oct 15 10:49:58 1998  David L. Levine  <levine@cs.wustl.edu>

        * TAO version 0.2.27 released.

Wed Oct 14 23:33:24 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO version 0.2.26 released.

Wed Oct 14 20:10:00 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * orbsvcs/tests/EC_Mcast/EC_Mcast.cpp:
          This test uses the Reactive version of the EC, just to show how
          to configure the EC in that mode (this test does not attempt to
          preserve priorities, so it is good place to put this).

        * tao/encode.cpp:
          Fixed encoding for Any when both cdr_ and value_ are zero
          (usually when the Any is holding a tk_null).

Wed Oct 14 18:35:26 1998  Kirthika Parameswaran  <kirthika@cs.wustl.edu>

        * TAO/examples/Callback_Quoter/
        Consumer.idl Consumer_Input_Handler.cpp
        Consumer_Input_Handler.h Consumer_i.cpp Consumer_i.h Makefile
        Notifier.idl Notifier_Input_Handler.cpp
        Notifier_Input_Handler.h Notifier_i.cpp Notifier_i.h
        Supplier.cpp Supplier.h consumer.cpp notifier.cpp supplier.cpp

        Renamed and added above files.

        * TAO/examples/Callback_Quoter/
        Client_i.cpp Consumer.dsp Consumer.idl Consumer_i.cpp
        Consumer_i.h Makefile MarketFeed.dsp MarketFeed_i.cpp
        MarketFeed_i.h Server_i.cpp Server_i.h Supplier.dsp Supplier.idl
        Supplier_i.cpp Supplier_i.h consumer_client.cpp
        marketfeed_client.cpp server.cpp

        Removed these files.

Wed Oct 14 12:05:37 1998  Matthew J Braun  <mjb2@cec.wustl.edu>

        * tests/Param_Test/ub_struct_seq.h
        * tests/Param_Test/ub_struct_seq.cpp
        * tests/Param_Test/param_test_i.h
        * tests/Param_Test/param_test_i.cpp
        * tests/Param_Test/param_test.idl
        * tests/Param_Test/helper.h
        * tests/Param_Test/helper.cpp
        * tests/Param_Test/driver.cpp
          Added test for unbounded sequence of structs. This is in
          response to a bug report from Seung-Lee Hoon
          <tarjan@lgsoft.com>.  Thanks to Andy and Carlos for help.

Wed Oct 14 11:20:26 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO version 0.2.25 released.

Wed Oct 14 10:47:47 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/ORB_Core.cpp:
          Fixed template instantiations.

Wed Oct 14 00:42:25 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO version 0.2.24 released.

Tue Oct 13 23:03:24 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/ORB_Core.h:
        * tao/ORB_Core.i:
        * tao/ORB_Core.cpp:
        * tao/Invocation.i:
        * tao/Connect.cpp:
        * tao/CDR.h:
        * tao/CDR.cpp:
          The input CDR can be created using a user provided data block,
          this is used to select the right kind of locking for the
          Data_Block reference count.  The ORB_Core acts as a Factory of
          Data_Blocks, selecting the right type according to the
          -ORBinputcdrallocator option.

        * orbsvcs/Event_Service/svc.conf:
          Use the appropiate allocator for the EC, because it shares the
          CDR buffers between several threads (to minimize data copying).

Tue Oct 13 22:15:53 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * orbsvcs/tests/EC_Throughput/ECT_Supplier.cpp (svc): Must set the
          wr_ptr correctly.  Otherwise, the ORB doesn't know how much to
          data to encode.

        * orbsvcs/orbsvcs/Event/Event_Manip.cpp (_create): event_set
          length must be calculated before the call to get_buffer() since
          that call will change the length.

Tue Oct 13 17:04:15 1998  Jeff Parsons <jp4@cs.wustl.edu>

        * tao/Any.cpp: Modified copy constructor and assignment operator
          to avoid encoding the value of the source Any when it is 0
          (which it is if the Any was constructed from just a typecode).
          Perhaps this sequence of calls should never be made, but this
          guards against it anyway.

Tue Oct 13 10:51:10 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/ORB.cpp: Thread ids in some platforms (ex: HP-UX) are
          structures, so they cannot be initialized to 0.  Thanks to David
          Janello <David.Janello@abnamro.com> for reporting this.

Tue Oct 13 09:16:20 1998  David L. Levine  <levine@cs.wustl.edu>

        * orbsvcs/orbsvcs/Sched/DynSched.cpp: changed a handful
          of == to =.  Thanks, g++ :-)

        * orbsvcs/tests/EC_Basic/EC_Basic.cpp (dump_results):
          changed type of static array elements from int to
          CORBA::ULong to avoid signed/unsigned comparisons.

Mon Oct 12 18:55:00 1998  Chris Gill  <cdgill@cs.wustl.edu>

        * orbsvcs/orbsvcs/RtecScheduler.idl
          orbsvcs/orbsvcs/Event/EC_Gateway.cpp
          orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp
          orbsvcs/orbsvcs/Sched/DynSched.{cpp, h}
          orbsvcs/orbsvcs/Sched/SchedEntry.{cpp, i}: Added a new kind RT_Info
          type for EC_Gateway RT_Infos that depend on remote invocations.  This
          change facilitates building a distributed schedule without requiring
          the use of a single global scheduling service.  Thanks to Tom
          Venturella <thomas.e.venturella@boeing.com> for this idea.

        * orbsvcs/orbsvcs/Runtime_Scheduler.cpp
          orbsvcs/orbsvcs/Scheduler_Factory.cpp
          orbsvcs/orbsvcs/Sched/Config_Scheduler.cpp
          orbsvcs/tests/EC_Multiple/EC_Multiple.cpp
          orbsvcs/tests/Sched_Conf/Sched_Conf.{cpp, dsp}
          orbsvcs/tests/Sched_Conf/Sched_Conf_Runtime.{cpp, dsp, h}  (NEW):
          Fixed a number of problems with correctness and usability of the
          config and runtime schedulers, and the scheduler factory.  Thanks
          to Amir Bahmanyari <abahmany@teknowledge.com> for providing detailed
          debugging reports.

Mon Oct 12 18:32:01 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/try_macros.h:
          Added new macros to support multiple TRY blocks in the same
          function. Andy is going to test them.

        * performance-tests/Cubit/TAO/IDL_Cubit/README:
          The file still made references to the -s option.

Mon Oct 12 14:55:41 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * orbsvcs/orbsvcs/Naming/CosNaming_i.cpp (TAO_NamingContext): Made
          a mistaken with my Naming_Context change for the
          Hash_Map_Manager.  We need to use the argument to set the size
          of the table, not the data member since it hasn't been assigned
          yet.  Thanks to Chris Gill and Kirthika for reporting this.

Mon Oct 12 11:30:38 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * orbsvcs/orbsvcs/Event/Event_Channel.h:
        * orbsvcs/orbsvcs/Event/Event_Channel.i:
        * orbsvcs/orbsvcs/Event/Event_Channel.cpp:
        * orbsvcs/orbsvcs/Event/Memory_Pools.cpp:
          Removed some template instantiations that were not used anymore.
          Moved the template instantiations related to memory pool from
          Event_Channel.cpp into Memory_Pools.cpp
          Added a comparison operator for the TAO_EC_Event class, this is
          needed to complete the instantiation of ACE_Array<TAO_EC_Event>.

        * orbsvcs/orbsvcs/Event/Event_Manip.h:
          The constructor was private, making some g++ variants very
          angry.

Mon Oct 12 10:31:35 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * orbsvcs/orbsvcs/Naming/CosNaming_i: Removed the need to allocate
          HASH_MAP dynamically.  This helps improve performance and also
          eliminates another point of failure in the constructor.

Mon Oct 12 09:52:46 1998  David L. Levine  <levine@cs.wustl.edu>

        * orbsvcs/orbsvcs/Naming/CosNaming_i.cpp (TAO_NamingContext ctor):
          reordered initializers to match declaration order.

        * performance-tests/Cubit/TAO/MT_Cubit/run_tests.pl:
          put ./ in front of executable names.  That way, users
          don't need to have . in their path.

Sun Oct 11 23:18:19 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * orbsvcs/orbsvcs/Event/Event_Manip.h:
        * orbsvcs/orbsvcs/Event/Event_Manip.i:
        * orbsvcs/orbsvcs/Event/Event_Manip.cpp:
        * orbsvcs/orbsvcs/Event/Dispatching_Modules.h:
        * orbsvcs/orbsvcs/Event/Dispatching_Modules.i:
        * orbsvcs/orbsvcs/Event/Dispatching_Modules.cpp:
        * orbsvcs/orbsvcs/Event/Event_Channel.h:
        * orbsvcs/orbsvcs/Event/Event_Channel.i:
        * orbsvcs/orbsvcs/Event/Event_Channel.cpp:
        * orbsvcs/orbsvcs/Event/CORBA_Utils_T.h:
        * orbsvcs/orbsvcs/Event/CORBA_Utils_T.i:
        * orbsvcs/orbsvcs/Event/CORBA_Utils_T.cpp:
        * orbsvcs/orbsvcs/Event/Memory_Pools.h:
        * orbsvcs/orbsvcs/Event/Memory_Pools.i:
        * orbsvcs/orbsvcs/Event/Memory_Pools.cpp:
          Implemented a new class to manage event life time.  There are
          two components to the new strategy: a reference counted version
          of the EventSet buffer and a smart pointer to a single event in
          the buffer.
          This new strategy allowed us to go down from 6 memory copies to
          1 copies for events received remotely (and 2 for local events).
          Since the copies were nested and the Event structure can be
          quite complicated this reduced the number of memory allocations
          significantly.
          The old CORBA_Utils classes are no longer needed.

        * orbsvcs/orbsvcs/Event/Event_Channel.h:
        * orbsvcs/orbsvcs/Event/Event_Channel.i:
        * orbsvcs/orbsvcs/Event/Event_Channel.cpp:
          Fixed a problem with correlation, if a consumer was expecting
          A&B and a supplier sent A, A, B the consumer received two copies
          of A.

        * orbsvcs/tests/EC_Basic/EC_Basic.h:
        * orbsvcs/tests/EC_Basic/EC_Basic.i:
        * orbsvcs/tests/EC_Basic/EC_Basic.cpp:
          Added a new correlation test.

        * orbsvcs/orbsvcs/Makefile:
        * orbsvcs/Event_Service/Makefile:
        * orbsvcs/tests/EC_Multiple/Makefile:
        * orbsvcs/tests/EC_Basic/Makefile:
        * orbsvcs/tests/EC_Mcast/Makefile:
        * orbsvcs/tests/EC_Custom_Marshal/Makefile:
          Updated the dependencies.

        * orbsvcs/tests/EC_Basic/README:
        * orbsvcs/tests/EC_Mcast/README:
          The README file was out of date.

        * docs/releasenotes/TODO.html:
          Updated the task corresponding to this change.

1998-10-11  Marina Igorevna Spivak  <marina@mambo.cs.wustl.edu>

        * orbsvcs/Naming_Service/Naming_Service.{h, cpp}, README: Added a
        command line option to specify how long a service should run
        before shutting down.  This is useful for running purify,
        quantify, or avoiding having explicitly kill the process.

        * orbsvcs/orbsvcs/CosNaming_i.{h,cpp}:
        Removed several memory allocations (in <get_context>, and
        <resolve>).
        Factored some common code out into <populate_binding> function.
        Cleaned up some code and got rid of <bind_new_context_helper>.
        Changed TAO_NamingContext to contain a pointer to the hash map
        rather than actual object to allow command line option of choosing
        the size of hash map allocated upon creation (rather than using
        the default size).

Sun Oct 11 17:59:32 1998  Kirthika Parameswaran  <kirthika@cs.wustl.edu>

        * examples/Callback_Quoter/Client_i.cpp (CLient_i::run ()):
        changed the argument wrongly passed to the unregister_callback
        from Consumer_var to Consumer_var.in ().

Sun Oct 11 17:09:16 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * TAO_IDL/be/be_visitor_interface/interface_cs.cpp:
        * tao/POAC.cpp:
        * tao/PolicyC.cpp:
        * tao/DynAnyC.cpp:
        * tao/CurrentC.cpp:
          Optimized _narrow() it does not need to call _create_stub() on
          the collocated case, using the CORBA::Object stub is good
          enough.

1998-10-11  Marina Igorevna Spivak  <marina@mambo.cs.wustl.edu>

        * orbsvcs/Naming_Service/Naming_Service.h : change the order of
        data member declarations to match initialization order in
        constructors in .cpp file.

1998-10-10  Marina Igorevna Spivak  <marina@mambo.cs.wustl.edu>

        * orbsvcs/orbsvcs/Naming/Naming_Utils.{h, cpp}: Updated
        TAO_Naming_Server to take in and pass on a parameter specifying
        the size for the naming cotexts' hash tables.

        * orbsvcs/Naming_Service/Naming_Service.{h, cpp}, README: Added a
        command line option to specify size of hash tables
        allocated upon creation of naming contexts.

Sat Oct 10 22:31:00 1998  Kirthika Parameswaran  <kirthika@cs.wustl.edu>

        * examples/Callback_Quoter/Client_i.cpp:
         added the part where the consumer keys in information.

Sat Oct 10 16:19:11 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tests/CDR/tc.cpp:
          This file was still referencing CORBA::_tc_Bounds and
          CORBA::_tc_BadKind

1998-10-10  Marina Igorevna Spivak  <marina@mambo.cs.wustl.edu>

        * orbsvcs/tests/Simple_Naming/client.cpp: Added parenthesis to
        avoid warnings when compiling on NT.

Sat Oct 10 00:51:52 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO version 0.2.23 released.

Fri Oct 09 23:48:40 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tao/Server_Request.cpp (set_exception and set_result): Used the
          Any copy constructor to copy the user provided any.

Fri Oct  9 17:13:32 1998  Nagarajan Surendran  <naga@cs.wustl.edu>

        * orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.cpp: Used the host and
          pid to get a unique names for the vdev and streamendpoint objects
          to register with the Naming Service while using the Process
          Endpoint strategy. This will avoid name clashes between the audio and
          video process.

        * orbsvcs/orbsvcs/AV/Endpoint_Strategy.cpp: Used the child's host
          and pid to lookup for Vdev and streamendpoint for the process
          endpoint strategy.

        * orbsvcs/orbsvcs/AV/AVStreams_i.cpp: Removed the code that used
          _out variable to pacify sun_CC warnings. Sun_CC doesn't complain
          anymore.

Fri Oct  9 16:44:14 1998  Nagarajan Surendran  <naga@cs.wustl.edu>

        * orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Receiver.idl:
          Added this new interface for the Trader Agent to push the server
          mmdevice and the filenames to the mpeg client.

        * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/Command_Handler.{h,cpp}:
          Added code to implement the Receiver interface.
          Fixed memory leaks.
          Fixed the code so that it works for multiple movies i.e
          tears down the stream after every movie and starts a new
          connection.
          Also made code robust by using suspend and resume
          handlers for the video client to wait for the initial frame from
          the server.
          Added an option to specify the data host to bind for
          the data which can be used for specify an ATM interface.
          Fixed the problem of Play command not playing from where
          fastforward/rewind stopped.

        * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/ctr.cpp:

          Removed some unnecessary and redundant code and moved them into
          classes in Command_Handler.cpp.

        * orbsvcs/tests/AVStreams/mpeg/source/client/vcr.cpp:

          Fixed the code so that it passes the command line arguments
          properly to the command_handler.

Fri Oct  9 16:27:46 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * orbsvcs/tests/EC_Throughput/ECT_Supplier.h:
        * orbsvcs/tests/EC_Throughput/ECT_Supplier.cpp:
        * orbsvcs/tests/EC_Throughput/ECT_Consumer.h:
        * orbsvcs/tests/EC_Throughput/ECT_Consumer.cpp:
          We measure and report the elapsed time for the test (in the case
          of the consumer the time since we receive the first event).
          We use this to measure throughput (in events per second).

        * orbsvcs/orbsvcs/Event/Memory_Pools.h:
        * orbsvcs/orbsvcs/Event/Memory_Pools.cpp:
        * orbsvcs/orbsvcs/Event/Event_Channel.h:
        * orbsvcs/orbsvcs/Event/Event_Channel.cpp:
        * orbsvcs/orbsvcs/Event/Dispatching_Modules.h:
        * orbsvcs/orbsvcs/Event/Dispatching_Modules.cpp:
          We do not overload operator new and operator delete anymore. The
          allocators we were using were problematic for this use case and
          we believe that a better speed up can be obtained by reducing
          the number of allocations.  Thanks to "Mark Hyett"
          <mhyett@std.saic.com>, "Mark L. Boriack"
          <mboriack@std.saic.com>, "J. Russell Noseworthy"
          <rnosewor@objectsciences.com> for helping us with this bug.

Fri Oct 09 15:27:17 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/ORB_Core.cpp (~App_Allocated): Free up the memory pool
          before deleting the allocators.

Fri Oct  9 13:42:47 1998  Shawn Michael Atkins  <sma1@lambada.cs.wustl.edu>

        * performance-tests/Thruput/TAO/results/REMOTE/README: added this
          file so cvs won't erase these empty directories for storing
          results of the thruput test. Note: also added the empty
          directories ./results/REMOTE.

        * performance-tests/Thruput/TAO/run_client: run_client now checks
          for the testname directory and if it doesn't exist, it will
          create a directory to put the results.

Fri Oct 09 02:19:09 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tao/IIOP_Object.cpp (Profile): Added new constructor.

Fri Oct  9 01:15:54 1998  Alexander Babu Arulanthu  <alex@cs.wustl.edu>

        * tao/Operation_Table.cpp:
        * tao/Operation_Table.h:
        * TAO_IDL/be/be_interface.cpp:

          Integrated Linear Search operation lookup strategy option to
          TAO_IDL. We use again GPERF for generating lookup method for
          this. Thanks to great work by Vishal (vishal@cs), GPERF has an
          option to generate linear search code.

Thu Oct  8 17:37:14 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/ORB.h:
        * tao/Typecode.h:
        * tao/Typecode.cpp:
        * tao/Typecode_Constants.h:
        * tao/Typecode_Constants.cpp:
          Moved the CORBA::TypeCode::_tc_Bounds and
          CORBA::TypeCode::_tc_Kind typecodes to their proper namespace.

        * docs/releasenotes/TODO.html:
          Updated some tasks related to the last change.

        * tao/Connect.cpp:
          If an exception is thrown while handling a oneway request we
          just ignore it, unless the debugging flags in the ORB are
          enabled, in that case we print an informative message and the
          exception.

        * tao/ORB_Core.h:
        * tao/ORB_Core.cpp:
          The App_Allocated class does not own the CDR allocators all the
          time, sometimes they are global and shared by all the
          App_Allocated objects.

Thu Oct 08 16:14:04 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/ORB_Core.{h,cpp} (~App_Allocated): Added a destructor for
          this class.  Some of its members are now allocated from the heap
          and they need to be deleted.

Thu Oct  8 12:15:38 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * orbsvcs/tests/EC_Throughput/ECT_Supplier.h:
        * orbsvcs/tests/EC_Throughput/ECT_Supplier.cpp:
        * orbsvcs/tests/EC_Throughput/ECT_Consumer.h:
        * orbsvcs/tests/EC_Throughput/ECT_Consumer.cpp:
          The new test sends "bursts" of events, without any pause between
          each event. Multiple burst can be sent with small pauses in
          between.
          Shutdown works now, even if multiple suppliers and multiple
          consumers are beign used. The ECT_Consumer program only needs to
          know the number of suppliers beign used.

Thu Oct 08 09:50:18 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * orbsvcs/orbsvcs/Property/CosPropertyService_i.h: Added #progma
          to disable VC "inheritance via dominance" warnings.

        * docs/releasenotes/orbcore.html (Miscellany): Fixed a dead link.
          Thanks to Mark Weel <weel@lucent.com> for reporting this.

Wed Oct 07 23:27:07 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO version 0.2.22 released.

Wed Oct  7 22:27:48 1998  Alexander Babu Arulanthu  <alex@cs.wustl.edu>

        * orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp
        (delete_property): Fixed the double deletion case. Thanks to
        "Ulf Jhrig" <jaehrig@desys.com> for reporting this.

Wed Oct  7 21:44:52 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/try_macros.h:
          Some compilers (MSVC++ 5.0) will complain about throwing an
          exception and not returning a value.

        * tao/Object_Table.cpp:
          The find() method on the object table was asserting that the
          entry ought to be in use, in fact if the entry was free the
          object was not found and we just have to return -1.

Wed Oct 07 14:49:32 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * orbsvcs/orbsvcs/orbsvcs[_static].dsp: Added property service
          files.  Thanks to Ulf Jaehrig <jaehrig@desys.com> for noticing
          this.

Wed Oct 07 11:33:37 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tao/POA.cpp (state): Fully qualified the enums of the
          POA_Manager's Processing_State.  Thanks to John Morey
          <jmorey@tbi.com> for helping with this.

Wed Oct  7 10:53:45 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * examples/Callback_Quoter/Supplier_i.cpp:
          Added missing template instantiations.

Wed Oct  7 09:19:00 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * tao/try_macros.h (TAO_RETHROW): Added a return to
          TAO_THROW_ENV_RETURN.  Thanks to John Morey for reporting this.

Wed Oct  7 08:39:59 1998  Aniruddha Gokhale  <gokhale@sahyadri.research.bell-labs.com>

        * tao/try_macros.h:

          Added a backslash in a the TAO_TRY macro definition. Thanks to
          John Morey (jmorey@tbi.com) for sending the bug fix.

Wed Oct  7 08:29:51 1998  Aniruddha Gokhale  <gokhale@sahyadri.research.bell-labs.com>

        * doc/compiler.html:

          Updated the documentation for the -Ge, -Gt options. Thanks to
          Tom Dobridge <dobridge@persimmon.com> for pointing this out.

Wed Oct 07 02:50:39 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO version 0.2.21 released.

Wed Oct  7 000:13:19 1998  Jeff Parsons <jp4@cs.wustl.edu>

  * presentations/TAO/dynany.tex:
    New file for use whenever the nexr presentation comes around.

Wed Oct 07 00:07:43 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tests/Param_Test/server.cpp:
        * performance-tests/Thruput/TAO/server.cpp:
        * orbsvcs/tests/Simulator/DOVEMIB/svr.cpp:

          Changed "RootPOA_is_BAD" to "child_poa".  It was sending
          negative POA vibes ;-)

Tue Oct 06 22:49:27 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tao/Connect.cpp (handle_close): Replaced this->shutdown() with
          explicit removal from the reactor and explicit closing of the
          socket.  this->shutdown() also doing too much since it was also
          purging the recycling act from the recycler. We need the
          recycling act to be available until all the reference to the
          Svc_Handlers are removed and the Svc_Handler is destroyed since
          we need the recycling act to check the hint.

          Thanks to Mark L. Boriack <mboriack@std.saic.com> for helping in
          tracking down this problem.

Tue Oct  6 22:12:30 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * examples/Simple/grid/Grid_i.cpp: Fixed bugs with exceptions.
          Thanks to Tom Dobridge <dobridge@persimmon.com> for pointing
          this out.

Tue Oct  6 21:25:22 1998  Darrell Brunsch <brunsch@cs.wustl.edu>

        * TAO-INSTALL.html: Added an extra note about compiling the
          release version.  Care has to be taken since conflicts
          between the two tao_idl compilers can occur.

Tue Oct  6 21:02:24 1998  Vishal Kachroo  <vishal@merengue.cs.wustl.edu>

        * examples/Simple/bank/AccountManager_i.cpp (close): Changed
          TAO_TRY_ENV to _env to avoid duplicate definition.  Thanks to
          Tom Dobridge <dobridge@persimmon.com> for pointing this out.

Tue Oct  6 20:28:10 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/try_macros.h: The TAO_TRY macro generates a new do/while
          block even for the native C++ exception case, this is more
          consistent with the alternative mapping.  Thanks to Tom Dobridge
          <dobridge@persimmon.com> for pointing this out.

        * examples/Callback_Quoter/MarketFeed_i.cpp: *
          examples/Callback_Quoter/Client_i.cpp: Removed instantiations of
          TAO_TRY_ENV because TAO_TRY does it for us.  Thanks to Tom
          Dobridge <dobridge@persimmon.com> for pointing this out.


Tue Oct  6 20:05:55 1998  Kirthika Parameswaran  <kirthika@cs.wustl.edu>

        * examples/Callback_Quoter/Supplier_i.cpp (unregister_callback):
          removed a variable which was defined unnecessarily.  Thanks to
          David Levine for reporting this.

Tue Oct  6 17:16:46 1998  Jeff Parsons <jp4@cs.wustl.edu>

        * tao/DynUnion_i.cpp: Another try at making VxWorks happy without
          using memcmp in DynUnion_i_T.cpp. This should do it.

Tue Oct  6 13:01:24 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * TAO_IDL/be/be_sunsoft.cpp: Fixed some problems with char and
          octet constants.  Thanks to Anders W. Tell
          <anderst@toolsmiths.se> for reporting this.

Tue Oct 06 11:23:32 1998  David L. Levine  <levine@cs.wustl.edu>

        * performance-tests/Cubit/TAO/MT_Cubit/MT_Cubit_Test: added
          support for server and client on different machines, using
          -r option.  It assumes that the user's shell is Bourne
          shell-compatible.  I'll try to fix that soon.

        * performance-tests/Cubit/TAO/MT_Cubit/plot: plot high
          priority in blue, low in light green.

Tue Oct  6 10:26:06 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp:
          Dummy initialization for "observer_handler" to give compilers
          some peace of mind about its use.

        * orbsvcs/orbsvcs/Event/EC_Gateway.cpp:
          Assigning an _var to a _ptr is ambiguous, we have to use .in().

Tue Oct  6 08:06:33 1998  Aniruddha Gokhale  <gokhale@sahyadri.research.bell-labs.com>

        * TAO_IDL/driver/drv_args.cpp:

          Added a -Gi option to enable interpretive marshaling. More work
          needs to be done here such that we can selectively generate
          compiled or interpretive marshaling based on some pragmas.

        * docs/compiler.html:

          Added documentation for the new options for the IDl compiler.

Tue Oct 06 03:56:05 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO version 0.2.20 released.

Tue Oct 06 03:12:38 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO version 0.2.19 released.

Tue Oct  6 02:58:35 1998  Alexander Babu Arulanthu  <alex@cs.wustl.edu>

        * docs/compiler.html: Updated documentation for the new Binary
        Search operation lookup stratetgy.

Tue Oct 06 00:11:11 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO version 0.2.18 released.

Mon Oct  5 22:12:07 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * orbsvcs/orbsvcs/Event/EC_Gateway.cpp:
          Added some template instantiations.

        * docs/Options.html:
        * docs/configurations.html:
          Added a few comments for the latest options.

Mon Oct 05 21:43:26 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO version 0.2.17 released.

Mon Oct  5 20:35:28 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * orbsvcs/orbsvcs/Event/EC_Gateway.h:
        * orbsvcs/orbsvcs/Event/EC_Gateway.cpp:
          The IIOP Gateways were not preserving the remote supplier IDs
          properly. The current implementation uses a map of
          ProxyPushConsumer on the "local" EC, using a different entry for
          each supplier ID the local consumers show interest in.
          At run-time the events are dispatched to the corresponding entry
          in the map.
          A special consumer is used for all the other events.

        * orbsvcs/orbsvcs/Event/Event_Channel.cpp:
          Fixed a dead-lock during shutdown.
          Also fixed some problems while updating the Observers; we held
          the EC lock during the complete process, but it is fairly common
          to make changes to the EC while the observers are beign updated.

        * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp:
          Some improvements on shutdown.

        * docs/releasenotes/TODO.html:
          Updated the tasks corresponding to the changes in this ChangeLog
          entry.

Mon Oct  5 21:16:53 1998  Kirthika Parameswaran  <kirthika@cs.wustl.edu>

        * examples/Callback_Quoter/Supplier_i.cpp (unregister_callback):
          The code to perform the unregistration of the consumer was added.

Mon Oct 05 18:54:31 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * orbsvcs/orbsvcs/Naming/CosNaming_i: Fixed the POA id generation
          to take into account the name of the parent.  Otherwise everyone
          was using the same "namespace".

        * performance-tests/Cubit/TAO/IDL_Cubit: Added the testing of
          sequences of structs.

Mon Oct  5 18:07:38 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * examples/Makefile: Changed the Makefile so that it'll now also
          build the new Callback_Quoter test.

Mon Oct  5 18:15:31 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tests/Param_Test/Makefile:
        * orbsvcs/tests/Logger/Makefile:
        * orbsvcs/tests/Simple_Naming/Makefile:
        * examples/Quoter/Makefile:
        * examples/POA/Forwarding/Makefile:
        * examples/POA/Generic_Servant/Makefile:
        * orbsvcs/orbsvcs/Makefile:
        * performance-tests/Cubit/TAO/IDL_Cubit/Makefile:
          Removed the -Gc options for the IDL compiler, if wanted the
          option can be added on the command line when invoking make, as:
          $ make TAO_IDLFLAGS=-Gc

Mon Oct  5 17:29:14 1998  Jeff Parsons <jp4@cs.wustl.edu>

        * tao/DynUnion_i.cpp:
        * tao/DynUnion_i_T.cpp:
          Put a preprocessor conditional around the case that
          instantiates the longlong type of template class
          in get_extractor(). Because of this, the memcmp in
          DynUnion_i_T.cpp has been removed - no need for it
          now and VxWorks and Chorus should still be happy.

Mon Oct 05 16:39:44 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/corba.h: Removed duplicated macro definitions that are
          defined in try_macros.h.

        * tao/try_macros.h (TAO_CATCH): Added ACE_UNUSED_ARG (VAR) for
          this when TAO_USE_EXCEPTIONS and removed ACE_UNUSED_ARG (VAR)
          when !TAO_USE_EXCEPTIONS.

        * tao/Dyn{Any,Array,Enum,Sequence,Struct,Union}_i.cpp: Changed
          exceptions CORBA::NO_MEMORY to CORBA::NO_MEMORY () to avoid
          compilation errors when TAO_USE_EXCEPTIONS is enabled.

Mon Oct 05 16:13:48 1998  David L. Levine  <levine@cs.wustl.edu>

        * TAO version 0.2.16 released.

Mon Oct 05 15:37:26 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO version 0.2.15 released.

Mon Oct  5 14:56:03 1998  Kirthika Parameswaran  <kirthika@cs.wustl.edu>

        * examples/Callback_Quoter/Consumer_i.cpp (push):
          Since I was checking whether the stock_value was greater
          than the threshold desired, I changed the consumer's reaction
          to selling shares rather than buying them.

Mon Oct 05 13:52:17 1998  David L. Levine  <levine@cs.wustl.edu>

        * tao/DynAnyC.cpp,DynArray_i.cpp,DynEnum_i.cpp,DynSequence_i.cpp,
          DynStruct_i.cpp,DynUnion_i.cpp,DynUnion_i_T.cpp:
          added ACE_LACKS_LONG_LONG_T support.

        * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp (print_priority_info):
          use ACE_OS::getpid () instead of getpid ().

Mon Oct  5 11:28:02 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * orbsvcs/orbsvcs/Event/Event_Channel.cpp:
          MSVC++ does not like
              auto_ptr<Foo> x = new Foo;
          but it does like
              auto_ptr<Foo> x (new Foo);
          Thanks to Nanbor for catching this problem and commiting the
          fix.

Mon Oct  5 10:47:52 1998  Aniruddha Gokhale  <gokhale@sahyadri.research.bell-labs.com>

        * TAO_IDL/be/be_visitor_operation/operation_ss.cpp:

          Had to remove the code that Carlos had added to propagate the
          exception from the _tao_skel_env to the _tao_env parameter. This
          was necessary since we no longer use the _tao_skel_env parameter.

Mon Oct  5 07:54:21 EDT 1998  Aniruddha Gokhale  <gokhale@sahyadri.research.bell-labs.com>

        * TAO_IDL/be/be_visitor_operation/compiled_marshal.cpp:

          There was a bug in the generated code. Thanks to David Levine
          for sending me the bug report.

        * TAO_IDL/be/be_visitor_operation/operation_ss.cpp:
          TAO_IDL/be/be_visitor_interface/interface_ss.cpp:

          We no longer need the _tao_skel_environment variable in the
          skeletons. These modifications were necessary to maintain
          support for both the compiled as well as interpretive
          marshaling. The _is_a_skel now generates a proper
          TAO_CHECK_ENV_RETURN_VOID statement.

          Also made sure that unused local variables are not generated.

        * TAO_IDL/be/be_visitor_operation/rettype_vardecl_ss.cpp
          TAO_IDL/be_include/be_visitor_operation/rettype_vardecl_ss.h:

          Added a new visitor for compiled marshaling for the generation
          of return type variable in the  server skeleton code.

        * TAO_IDL/be/be_visitor_factory.cpp:

          For compiled marshaling we now invoke a new visitor for the
          return val variable in the skeleton. The reason we do this is
          since the interpreted version uses an OBject_var.

        * tao/{CurrentS, POAS, PolicyS}.cpp:

          Since we no longer use the _tao_skel_environment, we had to make
          the necessary modifications.

        * tao/Server_Request.{h, cpp}:

          The marshal method no longer takes in the _skel_env parameter

Mon Oct 05 06:44:11 1998  David L. Levine  <levine@cs.wustl.edu>

        * orbsvcs/tests/EC_Basic/EC_Basic.cpp (run): declare loop
          index "i" outside of loop because it is used again.

Sun Oct  4 19:48:25 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * TAO_IDL/be/be_visitor_operation/operation_ss.cpp:
          Exceptions were not beign transmitted from the server back to
          the client.  We need to rethink the use of two environments in
          the skeleton.

Sun Oct  4 16:37:23 1998  Carlos O'Ryan  <coryan@tango.cs.wustl.edu>

        * orbsvcs/orbsvcs/Event/Event_Channel.h:
        * orbsvcs/orbsvcs/Event/Event_Channel.cpp:
          It is now possible to have several suppliers with the same ID on
          the same Event Channel.
          I also fixed a bug with the supplier reconnections: if a
          consumer was filtering by source it wouldn't receive the events
          if the supplier disconnected and connected again.  Thanks to
          Thomas Venturella <tventurell@mdc.com> for some his hints on how
          to fix this.
          Fixed some problems with exception handling and propagation.

        * orbsvcs/tests/Makefile:
        * orbsvcs/tests/EC_Basic/Makefile:
        * orbsvcs/tests/EC_Basic/README:
        * orbsvcs/tests/EC_Basic/run_test.pl:
        * orbsvcs/tests/EC_Basic/EC_Basic.h:
        * orbsvcs/tests/EC_Basic/EC_Basic.i:
        * orbsvcs/tests/EC_Basic/EC_Basic.cpp:
          Added a new test for the Event Channel, this will grow to become
          the main regression test for the EC, at this point it only tests
          the use of several suppliers with the same ID.

        * docs/releasenotes/TODO.html:
          Update the file.

Sun Oct  4 15:40:05 1998  Balachandra Natarajan  <bala@lambada.cs.wustl.edu>

        * Any.cpp
          Anticipated fix for break in build. The TypeCode_ptr was not
          completely qualified (as CORBA::TypeCode_ptr).

Sun Oct 04 08:40:12 1998  David L. Levine  <levine@cs.wustl.edu>

        * performance-tests/Cubit/TAO/MT_Cubit/Task_Client.cpp,client.cpp,
          server.cpp,run_tests.pl: used IIOP instead of URL style obj
          refs for maximum performance.

Sat Oct  3 20:20:14 1998  Alexander Babu Arulanthu  <alex@cs.wustl.edu>

        * TAO_IDL/be/be_interface.cpp (gen_gperf_lookup_methods): Added
        code to handle Binary Search operation lookup strategy. Not yet
        tested with GPERF.

        * tao/Operation_Table.cpp: Added class for Binary Search operation
        lookup strategy. s

        * TAO_IDL/be_include/be_codegen.h: New LOOKUP_STRATEGY enum for
        Binary search.

        * tao/Operation_Table.h (TAO_Active_Demux_OpTable): Added class
        for Binary Search operation lookup strategy.

        * TAO_IDL/be_include/be_interface.h (be_type): Added private
        methods to generate code for binary searh and linear search. Not
        yet tested with GPERF. Doesnt harm using the old operation lookup
        strategies.

        * TAO_IDL/include/idl_global.h (class IDL_GlobalData): Renamed
        perfect_hasher by gperf_path. gperf is going to be used for binary
        search and linear search as well. So it is not specific to perfect
        hashing.

        * TAO_IDL/driver/drv_args.cpp (DRV_parse_args): Changed the option
        <-H dynamic> to <-H dynamic_hash>. Added options
        <-H perfect_hash>, <-H binary_search> and <-H linear_search>. Do
        NOT try these *_search options yet. It is yet to be tested with
        GPERF. Also extended testing for GPERF's existance in the case of
        Binary Search strategy also.

Sat Oct  3 19:35:05 1998  Balachandra Natarajan  <bala@lambada.cs.wustl.edu>

        * Any.cpp
          Fix for memeory leaks in extraction.

Sat Oct  3 15:16:05 1998  Marina Igorevna Spivak  <marina@mambo.cs.wustl.edu>

        * orbsvcs/tests/Simple_Naming/client.cpp
        * orbsvcs/tests/Simple_Naming/README
        * orbsvcs/tests/Simple_Naming/run_test.pl
        Added destroy test to the set of tests already there.

Sat Oct 03 09:54:14 1998  David L. Levine  <levine@cs.wustl.edu>

        * performance-tests/Thruput/Orbix/Makefile: removed
          Quantify/Purify relics.

        * performance-tests/Thruput/Orbix/ttcp_decl.h,ttcp_i.cpp,
          Client.cpp,Srv_Main.cpp: replace USE_QUANTIFY with
          ACE_HAS_QUANTIFY.

        * TAO_IDL/be/be_visitor_scope.cpp (next_elem): initialized
          local "node" to 0 to avoid g++ warning about possible
          uninitialized used.

Fri Oct  2 23:03:20 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * docs/releasenotes/ec.html:
          Added an entry to explain the differences between the TAO event
          service and the standard CORBA event service.

Fri Oct  2 20:16:35 1998  Jeff Parsons <jp4@cs.wustl.edu>

        * tao/DynAnyC.cpp:
          David got a couple of warnings with Dec cxx that led me to
          some lines that I had commented out to find a bug and
          forgot to uncomment.

Fri Oct  2 20:02:42 1998  Jeff Parsons <jp4@cs.wustl.edu>

        * TAO_IDL/be/be_sunsoft.cpp:
          IDL compiler will now generate correct code for
          a constant char that is an escape sequence.

Fri Oct 02 16:49:59 1998  David L. Levine  <levine@cs.wustl.edu>

         * performance-tests/Cubit/TAO/MT_Cubit/Task_Client.{h,cpp},
           client.cpp,server.cpp: replaced NO_ACE_QUANTIFY with
           ACE_HAS_QUANTIFY.

         * performance-tests/Cubit/TAO/MT_Cubit/MT_Cubit_Test:
           kill with -15 instead of -1, because HUP no longer
           kills TAO processes.

Fri Oct  2 16:09:24 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * tao/IIOP_Object.i (use_locate_requests): Changed the 1s to 0s so
          they would work correctly.  Thanks to Michael Kircher
          <mlkirche@trick.informatik.uni-stuttgart.de> for reporting this.

Fri Oct 02 09:02:54 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * TAO_IDL/be/be_visitor_operation/operation_ss.cpp: Removed an
          unused local variable, not the one Andy just added. ;)

Fri Oct  2 08:18:28 1998  Aniruddha Gokhale  <gokhale@sahyadri.research.bell-labs.com>

        * TAO_IDL/be/be_visitor_operation/operation_ss.cpp:

          There was a local variable that got removed by mistake while
          removing all unused locals. It has been reincluded.

Thu Oct  1 23:31:34 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * Updated the dependencies in all the Makefiles due to the DynAny
          changes.

Thu Oct  1 22:05:39 1998  Jeff Parsons <jp4@cs.wustl.edu>

        * tao/DynAny.pidl:
        * tao/InconsistentTypeCode.pidl:
        * tao/DynAnyC.{h,i,cpp}:
        * tao/DynAnyS.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}:
        * tao/DynUnion_i_T.{h,cpp}:
        * tao/InconsistentTypeCode.{h,cpp}:
        * tao/corba.h:
        * tao/ORB.{h,i,cpp}:
        * tao/POA_CORBA.h:
        * tao/Makefile:
        * tao/TAO.dsp:
          All the DynAny stuff, plus the necessary additions to
          other TAO files, plus mods to Unix Makefile and VC
          project file. Builds were successful using VC5, Sun cc
          and GNU g++.

Thu Oct 01 21:21:19 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * TAO_IDL/be/be_visitor_operation/operation_ss.cpp
          (gen_raise_exception):
          (gen_check_exception):
          (gen_demarshal_params): Removed unused local variable(s) to
          avoid warnings from VC5.

Thu Oct  1 20:51:39 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * TAO_IDL/be/be_visitor_interface/cdr_op_cs.cpp: Added trailing
          return statements to supress warnings from g++.

Thu Oct  1 16:03:55 1998  Darrell Brunsch <brunsch@cs.wustl.edu>

        * performance-tests/Cubit/TAO/IDL_Cubit/client.dsp:
        * performance-tests/Cubit/TAO/IDL_Cubit/server.dsp:
        * performance-tests/Cubit/TAO/IDL_Cubit/collocation_test.dsp:
          Removed orbsvcs reference.

Thu Oct 01 14:22:35 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/CDR.i (operator<<): Changed to use TAO_CHECK_ENV for Any,
          Object and TypeCode operations and added trailing return
          statement to avoid warnings from MSVC.

        * TAO/TAO_IDL/tao_idl.dsp:
        * TAO/TAO_IDL/tao_idl_static.dsp: Updated project based on Andy's
          changes.  (by Darrell.)

        * TAO/TAO_IDL/be/be_visitor_array/any_op_cs.cpp:
        * TAO/TAO_IDL/be/be_visitor_enum/any_op_cs.cpp:
        * TAO/TAO_IDL/be/be_visitor_exception/any_op_cs.cpp:
        * TAO/TAO_IDL/be/be_visitor_sequence/any_op_cs.cpp:
        * TAO/TAO_IDL/be/be_visitor_structure/any_op_cs.cpp:
        * TAO/TAO_IDL/be/be_visitor_union/any_op_cs.cpp:  Added trailing
          "return 0;" for generated code for operator>>= of these to avoid
          MSVC warnings.

Thu Oct  1 12:42:58 EDT 1998  Aniruddha Gokhale  <gokhale@sahyadri.research.bell-labs.com>

        * TAO_IDL/be/be_factory.cpp
                 /be_include/be_factory.h
                 /be_stream

          Renamed to be_factory.{h, cpp} to be_stream_factory.{h, cpp},
          respectively. We removed the visitor factory related classes and
          code from these files and created new files.

        * TAO_IDL/be/be_interpretive.cpp
                 /be_include/be_interpretive.h:

          Removed. Instead we now have the be_visitor_factor.{h, cpp} file
        described next.

        * TAO_IDL/be/be_visitor_factory.cpp
                 /be_include/be_visitor_factory.h:

          Added the abstract base class visitor factory called
          "TAO_Visitor_Factory" that provides the "make_visitor" factory
          method. Special concrete visitor factories called
          "TAO_Interpreted_Visitor_Factory",
          "TAO_Compiled_Visitor_Factory", and "TAO_Common_Visitor_Factory"
          are now available as Singleton concrete factories.

          The TAO_Common_Visitor_Factory is never used directly by the
          client (i.e., the tao_cg object). There are several visitors
          that are common to both the interpretive as well as the compiled
          approaches e.g., interface code generation, any operators,
          etc. Thus, the two primary factories (interpretive or compiled)
          will internally delegate code generation to the common factory
          based on the state.

        * TAO_IDL/be/be_codegen.cpp
                 /be_include/be_codegen.h:

          Removed a large number of unused enumerations for the
          CG_STATE. Also, renamed all the *DOCALL* states to *INVOKE*
          states to make it look generic and applicable to both
          interpretive as well as compiled marshaling.

          Added a new method called "config_visitor_factory (void)". This
          allows the TAO_CODEGEN Singleton object to be strategized with
          the desired visitor factory which can be either the interpretive
          or the compiled visitor factory, but never the common
          factory. The common factory gets invoked internally by the other
          two factories as described before. This strategy is fixed based on
          the command line option provided to the compiler.

          We no longer create a new factory and own it. Instead, as
          described before, we simply hold a pointer to the abstract base
          factory. This is initialized to either the interpretive or
          compiled factory objects using the config_visitor_factory
          method.

        * TAO_IDL/be_include/be.h:

          Made the necessary changes due to the addition and renaming of
          files described above.

        * TAO_IDL/be/be_produce.cpp:

          We call the config_visitor_factory method on our TAO_CODEGEN
          singleton, strategy object. It will configure itself with the
          right visitor factory.

        * TAO_IDL/be/be_visitor_argument.cpp
                 /be_include/be_visitor_argument.h:

          Added new include *.{h, cpp} files described next.

        * TAO_IDL/be/be_visitor_argument/compiled_marshal_cs.cpp
                                        /compiled_marshal_ss.cpp
                                        /pre_invoke_cs.cpp
                 /be_include/be_visitor_argument/compiled_marshal_cs.h
                                                /compiled_marshal_ss.h
                                                /pre_invoke_cs.h:

          New files with new visitors added for compiled marshaling
          support. The compiled_marshal_{cs,ss}.{h,cpp} has visitors that
          generates the code for marshaling and demarshaling parameters
          using the CDR <<, >> operators. The pre_invoke_cs is a visitor
          that inherits from the pre_docall_cs. Its sole purpose is to
          override  the visit_interface and visit_interface_fwd
          methods. The reason we need to do this is because for compiled
          marshaling, we do not need to deal with the base
          CORBA_Object_ptr types and do the necessary _narrow inside the
          stub/skel.  This is all done in the code for the <<, >>
          operators.

        * TAO_IDL/be/be_visitor_argument/docall_cs.cpp
                                        /pre_docall_cs.cpp
                                        /marshal_ss.cpp
                                        /post_upcall_ss.cpp
                                        /upcall_ss.cpp:

          For all the variable sized types, especially the out parameters,
          we were declaring the _var, _out, and the ptr type for the
          parameter. We no londer need to instantiate so many
          variables. We can deal with just the _var types. All actions
          including memory allocation, passing it to the do_static_call or
          the upcall, is handled using the _var parameter. This reducs
          code size as well as the activation record size since the number
          of local variables is significantly reduced.

        * TAO_IDL/be/be_visitor_argument/vardecl_ss.cpp
                 /be_include/be_visitor_argument/vardecl_ss.h:

          We define an addition class called
          be_compiled_visitor_args_vardecl_ss that inherits from the base
          be_visitor_args_vardecl_ss. Its only purpose is to override the
          base class's visit_interface methods. The overridden methods
          avoid the generation of the extra local variables of the
          CORBA::Object_ptr type.

        * 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_structure/any_op_cs.cpp:

          The code for <<=, and >>= now uses the TAO_TRY macros so that
          they can work with real C++ exceptions also.

          This is not yet done for all types since this is under testing.

        * TAO_IDL/{be, be_include}/be_visitor_enum/enum_ch.{h, cpp}
          TAO_IDL/{be, be_include}/be_visitor_exception/cdr_op_cs.{h, cpp}
          TAO_IDL/{be, be_include}/be_visitor_exception/exception_ctor.{h, cpp}
          TAO_IDL/{be, be_include}/be_visitor_interface/cdr_op_cs.{h, cpp}:
          TAO_IDL/{be, be_include}/be_visitor_operation/argument.{h, cpp}:
          TAO_IDL/{be, be_include}/be_visitor_union/cdr_op_cs.{h, cpp}:

          Modifications were necessary due to the change in the
          "post_process" signature and semantics.

        * TAO_IDL/be/be_visitor_interface/interface.cpp:

          Removed some commented-out code.

        * TAO_IDL/be/be_visitor_interface/interface_ss.cpp:

          The skeleton code now uses the TAO_TRY macros for seamless exception
          support between the real C++ exceptions and the alternate mapping.

        * TAO_IDL/be/be_visitor_operation.cpp
                 /be_include/be_visitor_operation.h:

          Added new include *.{h, cpp} files described below.

        * TAO_IDL/be/be_visitor_operation/operation.cpp
          TAO_IDL/be/be_visitor_operation/argument_invoke.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/rettype_preinvoke_cs.cpp
          TAO_IDL/be/be_visitor_operation/rettype_return_cs.cpp
          TAO_IDL/be/be_visitor_operation/rettype_marshal_ss.cpp
          TAO_IDL/be_include/be_visitor_operation/operation.h
          TAO_IDL/be_include/be_visitor_operation/argument_invoke.h
          TAO_IDL/be_include/be_visitor_operation/argument_marshal.h
          TAO_IDL/be_include/be_visitor_operation/compiled_marshal.h
          TAO_IDL/be_include/be_visitor_operation/rettype_preinvoke_cs.h:

          For all the variable sized return types we were declaring the
          _var, _out, and the ptr type for the parameter. We no londer
          need to instantiate so many variables. We can deal with just the
          _var types. All actions including memory allocation, passing it
          to the do_static_call is handled using the _var parameter. This
          reduces code size as well as the activation record size since
          the number of local variables is significantly reduced.

          Some other visitors such as the asrgument_invoke and
          argument_marshal are needed to generate the right number of &&
          operator at the right place in the large "if" statement that is
          generated for marshaling or unmarshaling parameters. This is
          useful only for the compiled approach.

          The base class operation visitor was added to the operation.{h,
          cpp} files. It provides a number of helper classes used commonly
          by inherited visitors.

        * TAO_IDL/be/be_visitor_operation/rettype_vardecl_ss.cpp:
          TAO_IDL/be_include/be_visitor_operation/rettype_vardecl_ss.h:

          Define a new class for compiled marshaling approach that
          overrides the visit_interface method over its base class. This
          way we avoid generation of extra variables.

        * TAO_IDL/{be, be_include}/be_visitor_operation/operation_ch.{h,cpp}
          TAO_IDL/{be, be_include}/be_visitor_operation/operation_cs.{h,cpp}
          TAO_IDL/{be, be_include}/be_visitor_operation/operation_sh.{h,cpp}
          TAO_IDL/{be, be_include}/be_visitor_operation/operation_ss.{h,cpp}:

          All these now inherit from the base operation visitor.

          For the client side stubs (operation_cs.{h, cpp}) and server
          side skeletons (operation_ss.{h, cpp}), we now factor out all
          the code that is common to both the interpreted and compiled
          stubs/skels. Thus, the visit_operation method is now a template
          method. It calls operations  that are implemented only by
          derived classes. These methods e.g., gen_pre_stub_info,
          gen_marshal_and_invoke, and others will generate the code that
          is different for the interpreted vs compiled approaches..

          We define derived classes called
          "be_interpretive_visitor_operation_cs" and
          "be_compiled_visitor_operation_cs" (similarly for the skeletons)
          that provide the implementation for the pure virtual methods
          called by the template method "visit_operation".

        * TAO_IDL/be/be_visitor_scope.cpp
                 /be_include/be_visitor_scope.cpp:

          Added a new "pre_process" method. Both the pre_process and
          post_process methods now take the "be_decl *" as an
          argument. This was the change made to the post_process.

          In addition, post_process is always invoked irrespective of the
          node being the last one in the scope or not.

          To test if the node being processed is the last one, we have
          added a new method called "last_node" returning a boolean
          value. Similarly, we have added "next_elem" method that gives us
          our successor and the "elem_number" that gives us our number in
          the list.

        * TAO_IDL/be/be_visitor_sequence/cdr_op_cs.cpp:

          For bounded vs unbounded strings, we generate different code for
          the CDR operators.

          I need to check if this policy is strictly followed for all
          aggregate types that can have a string member.

        * TAO_IDL/be/be_visitor_sequence/gen_unbounded_sequence_ch.cpp:

          For sequences of arrays, there were some weird problems using
          the ACE_reinterpret_cast which is now fixed.

        * TAO_IDL/be/be_visitor_typedef/typedef.cpp:

          Removed lots of cases in the switch statement since we removed
          those enumerations from the CG_STATE of the TAO_CODEGEN object.

        * TAO_IDL/Makefile:

          ran make depend.

        * TAO_IDL/driver/drv_args.cpp:

          ACEified the code.

          Updated the usage_error message with new command line options.

          Handled the new options.

          -Gc - generate compiled marshaled code
          -Ge - enable C++ exception support (unimplemented)
          -Gt - generate optimized typecodes (unimplemented)
          -Sa - suppress any operators
          -St - suppress typecode generation

          The default is to always generate all the Any operators,
          TypeCodes and to use the Interpretive marshaling.

        * TAO_IDL/include/idl_global.h
                 /utils/utl_global.cpp:

          Added a number of mutator and accesor methods for the newly
          added command line options.

        * performance_tests/Cubit/TAO/IDL_Cubit/Cubit_Client.cpp:

          Commented out the RTI and the Union tests since the CDR
          operators are not yet done for the unions.

        * tao/Any.{h, i}
          tao/ORB.{h, i}
          tao/Object.{h, i}
          tao/Typecode.{h, i}:

          The parameter to the copy ctor and assignment operator of the
          _out class is now "const". This resolves the weird warnings we
          were getting about a temporary being created. We were also
          required to instantiate the _out type explicitly to overcome
          this. However, we no londer need to write this non-compliant
          code.

        * tao/CDR.i:

          Code for <<, >> operators for objref, typecode, and Anys had a
          bug.

        * tao/corba.h:

          Moved the inclusion of the try_macros.h before the CDR.h since
          we us the macros in the code

Thu Oct  1 11:18:35 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * examples/Simple/bank/AccountManager_i.cpp: Removed the unneeded
          ';' at the end of the #pragmas.  Thanks to Margherita Vittone
          Wiersma <vittone@fndaub.fnal.gov> for reporting this.

Thu Oct 01 10:39:44 1998  David L. Levine  <levine@cs.wustl.edu>

        * tao/ORB_Core.cpp (input_cdr_dblock_allocator): wrapped
          break following return with ACE_NOTREACHED, in two places.

        * orbsvcs/orbsvcs/Event/Event_Channel.cpp: removed
          ACE_Malloc<ACE_LOCAL_MEMORY_POOL, ACE_SYNCH_MUTEX>
          instantiation because it's now in tao/ORB_Core.cpp.

Thu Oct 01 00:17:17 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tao/ORB_Core.h: Removed template specialization for
          INET_Addr.hash(). Also changed/fixed explicit template
          instantiations.
