Sat Jun 27 11:38:27 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO version 0.1.35 released.

Sat Jun 27 10:32:46 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * orbsvcs/orbsvcs/Log/Logger_i.cpp (log): Must use a u_short cast
          rather than an int cast to avoid ambiguity.  Thanks to David
          Levine for detecting this.

        * orbsvcs/orbsvcs/Log/Logger_i.cpp: Fixed some minor problems with
          constness.  Thanks to David Levine for reporting this.

Sat Jun 27 07:15:49 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * tests/NestedUpcall: Added a Makefile.

Sat Jun 27 07:15:49 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO version 0.1.34 released.

Sat Jun 27 00:27:29 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * orbsvcs/orbsvcs/Event/{RT_Task.cpp, Event_Channel.cpp,
          ReactorTask.cpp, Dispatching_Modules.cpp}: Moved the
          ACE_TIMEPROBE_EVENT_DESCRIPTIONS use inside
          #if defined (ACE_ENABLE_TIMEPROBES). This will help prevent
          compiler warnings when time probes are not used. Also, added a
          semi-colon at the end of the ACE_TIMEPROBE_EVENT_DESCRIPTIONS line.

        * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp,
          orbsvcs/tests/Simulator/DOVEMIB/DOVEMIB.cpp,
          orbsvcs/tests/Simulator/Event_Supplier/Event_Con.cpp,
          orbsvcs/tests/Simulator/Event_Supplier/Event_Sup.cpp:

          Removed extra include of Timeprobe.h

        * Added the following comment to all uses of enums for time
          probes. This way it should be easy (relatively) to find a unique
          starting key for the next set of descriptions.

          // Timeprobe description table start key

Sat Jun 27 01:06:24 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * orbsvcs/orbsvcs/Log/Logger_i.cpp (log): Commented out unused.
          Cast the 0 passed to ACE_INET_Addr to int explicitly.
          (Otherwise, the compiler can't tell whether it's a NULL ptr or
          int 0.)

Fri Jun 26 21:24:58 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * tests/Cubit/TAO/Makefile: Removed DII_Cubit for now until
          Jeff fixes it.

        * orbsvcs/tests/Logger: Rename clnt.{cpp,h} and svc.cpp to
          client.{cpp,h} and server.cpp to be more consistent with other
          naming schemes in TAO.

Fri Jun 26 16:57:54 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/encode.cpp:
          Check the length of a string before encoding.

        * tao/CDR.h:
        * tao/CDR.i:
        * tao/CDR.cpp:
          Added operations to write strings with known lengths

        * tests/Param_Test/Makefile:
        * tests/Param_Test/README:
        * tests/Param_Test/tests.h:
        * tests/Param_Test/bd_string.h:
        * tests/Param_Test/bd_string.cpp:
        * tests/Param_Test/driver.cpp:
        * tests/Param_Test/helper.h:
        * tests/Param_Test/helper.cpp:
        * tests/Param_Test/options.h:
        * tests/Param_Test/options.cpp:
        * tests/Param_Test/param_test.idl:
        * tests/Param_Test/param_test_i.h:
        * tests/Param_Test/param_test_i.cpp:
          Added a test for bounded strings.

        * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp:
          Use the TAO extensions to create an octet sequence using a
          message block.

Fri Jun 26 16:45:00 1998  Michael Kircher  <mk1@cs.wustl.edu>

        * orbsvcs/tests/Simulator/README: Added information about the
          new version of the event service.

        * orbsvcs/tests/Simulator/Event_Supplier/Event_Sup.cpp: removed the
          "cout" commands.

        * orbsvcs/tests/Simulator/Event_Supplier/Event_Con.cpp: Made the
          Event consumer work.

Fri Jun 26 14:22:40 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * tests/Param_Test:

        The ever increasing tests.{h, cpp} files have been broken down
        into the following files to make modifications and adding new
        tests simpler. The tests.cpp file is removed. Any new tests that
        are added will have their individual *.h and *.cpp files.

        We now keep a tests.h file that includes all the individual *.h
        files for each test. This way, we just need to include the tests.h
        file. Individual files for different tests are given below.

        any.h
        bd_long_seq.h
        bd_short_seq.h
        bd_str_seq.h
        bd_struct_seq.h
        fixed_array.h
        fixed_struct.h
        nested_struct.h
        objref.h
        short.h
        typecode.h
        ub_any_seq.h
        ub_long_seq.h
        ub_objref_seq.h
        ub_short_seq.h
        ub_str_seq.h
        ub_string.h
        ub_struct_seq.h
        var_array.h
        var_struct.h

        These are the different *.cpp files implementing various tests.

        any.cpp
        bd_long_seq.cpp
        bd_short_seq.cpp
        bd_str_seq.cpp
        bd_struct_seq.cpp
        fixed_array.cpp
        fixed_struct.cpp
        nested_struct.cpp
        objref.cpp
        short.cpp
        typecode.cpp
        ub_any_seq.cpp
        ub_long_seq.cpp
        ub_objref_seq.cpp
        ub_short_seq.cpp
        ub_str_seq.cpp
        ub_string.cpp
        ub_struct_seq.cpp
        var_array.cpp
        var_struct.cpp

        We use the bd_* convention for the bounded sequences/strings tests
        and the ub_* convention for the unbounded cases.

        *NEW TESTS* :

        Tests for arrays of fixed and varying sizes are included in this
        release.

Fri Jun 26 14:20:58 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/Sequence.h:
        * tao/Sequence.cpp:
        * TAO_IDL/be/be_visitor_sequence/sequence_ch.cpp:
          TAO provides an extension for octet sequences: a constructor
          taking a Message_Block.

        * TAO_IDL/be_include/be_array.h:
        * TAO_IDL/be_include/be_enum.h:
        * TAO_IDL/be_include/be_exception.h:
        * TAO_IDL/be_include/be_interface.h:
        * TAO_IDL/be_include/be_interface_fwd.h:
        * TAO_IDL/be_include/be_native.h:
        * TAO_IDL/be_include/be_predefined_type.h:
        * TAO_IDL/be_include/be_sequence.h:
        * TAO_IDL/be_include/be_string.h:
        * TAO_IDL/be_include/be_structure.h:
        * TAO_IDL/be_include/be_type.h:
        * TAO_IDL/be_include/be_typedef.h:
        * TAO_IDL/be_include/be_union.h:
        * TAO_IDL/be/be_array.cpp:
        * TAO_IDL/be/be_enum.cpp:
        * TAO_IDL/be/be_exception.cpp:
        * TAO_IDL/be/be_interface.cpp:
        * TAO_IDL/be/be_interface_fwd.cpp:
        * TAO_IDL/be/be_native.cpp:
        * TAO_IDL/be/be_predefined_type.cpp:
        * TAO_IDL/be/be_sequence.cpp:
        * TAO_IDL/be/be_string.cpp:
        * TAO_IDL/be/be_structure.cpp:
        * TAO_IDL/be/be_type.cpp:
        * TAO_IDL/be/be_typedef.cpp:
        * TAO_IDL/be/be_union.cpp:
          Removed a method that was not used anymore.

Fri Jun 26 12:54:25 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * TAO_IDL/be/be_visitor_operation/{rettype_post_docall_cs,
        rettype_pre_docall_cs}.cpp: We were using the underlying node
        names in the generated code even when those nodes were Typedefed
        to other names. So in such cases, we should use the typedef name.
        Thanks to John Geiss <jtgb@eci-esyst.com> for reporting the
        problem.

Fri Jun 26 11:46:46 1998  David L. Levine  <levine@cs.wustl.edu>

        * TAO_IDL/be/be_visitor_sequence/gen_{,un}bounded_sequence_ch.cpp:
          added ACE_CAST_CONST to get_buffer () const member functions, to
          avoid Sun C++ warning about casting away constness.  Thanks to
          J. Russell Noteworthy <rnosewor@objectsciences.com> for
          reporting this.

Fri Jun 26 09:48:55 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * VERSION: Updated this file to direct bug reports to
          the ACE mailing list.

Thu Jun 25 19:35:50 1998  Michael Kircher  <mk1@cs.wustl.edu>

        * tests/NestedUpcall/{Triangle_Test, Reactor}: Added the
          Triangle test to examine ORB behavior doing nested upcalls.
          Also moved the Reactor test one level down in the hierarchy
          which means it is now in ../NestedUpcall/Reactor

Thu Jun 25 17:57:50 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * tests/Cubit/TAO/DII_Cubit/Makefile: Integrated the new DII_Cubit
          test into the Makefile scheme.

Thu Jun 25 17:17:01 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp:
          We disconnect all consumers and suppliers at shutdown.

        * orbsvcs/orbsvcs/Event/Task_Manager.h:
        * orbsvcs/orbsvcs/Event/Task_Manager.cpp:
          Once the class is shutdown it cannot start again. This last two
          changes make shutdown clean for the test.

        * orbsvcs/orbsvcs/Event/ReactorTask.cpp:
        * orbsvcs/orbsvcs/Event/RT_Task.cpp:
        * orbsvcs/orbsvcs/Event/Event_Channel.cpp:
        * orbsvcs/orbsvcs/Event/EC_Gateway.cpp:
        * orbsvcs/orbsvcs/Event/Dispatching_Modules.cpp:
          The debugging messages start with "EC" to spot (or ignore)
          them more easily.

        * orbsvcs/orbsvcs/RtecEventComm.idl:
          I added an octet sequence payload, just to make things more
          interesting.

Thu Jun 25 16:31:00 1998  Seth Benjamin Widoff  <sbw1@waltz.cs.wustl.edu>

        * tao/GIOP.cpp:
        In method TAO_GIOP_Invocation::invoke, when the method being
        invoked threw an exception, invoke would iterate over the list of
        possible thrown exceptions, the TAO_Exception_Data for the method,
        but wasn't breaking when it matched exception names. Added a break
        statement.

Thu Jun 25 12:54:09 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/Sequence.h:
        * tao/Sequence.i:
          For octet sequences the method to obtain the underlying messsage
          block was too expensive (it created a duplicate). This also
          solve a memory leak in the operator<< for OutputCDR and octet
          sequences.

Thu Jun 25 11:57:27 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * TAO_IDL/be/be_visitor_operation/rettype_vardecl_cs.cpp
          (visit_union): We were "memset"ing the return value to 0. In our
          changed scenario where the Union class now derives from a base
          class, this memsetting results in the vptr becoming 0. This was
          causing seg faults. Thanks to Carlos for his help in the debugging
          efforts.

Thu Jun 25 11:18:32 1998  Darrell Brunsch <brunsch@cs.wustl.edu>

        * TAO_IDL/tao_idl.dsp:  Removed the use of CPP_PATH altogether.
          The location now defaults to "C:\Program Files\DevStudio\bin\cl.exe".
          If this is not the case, then use the environment variable
          CPP_LOCATION to override it.

        * TAO-INSTALL.html:  Changed the paragraph that talked about
          CPP_PATH to mention the default and CPP_LOCATION.

Thu Jun 25 10:53:12 1998  Nagarajan Surendran  <naga@cs.wustl.edu>

        * tests/NestedUpcall/NestedUpCalls_Test.cpp: Removed unnecessary
          Backing store code.

Thu Jun 25 08:44:03 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * TAO_IDL/be/be_visitor_union/union_cs.cpp:
          The generated _access method was missing a return statement for
          the default case. Thanks to David Levine for pinpointing this.

        * TAO_IDL/be/be_visitor_attribute/attribute.cpp:
          For the TIE classes, we had forgotten to generate the "set"
          attribute operation (for attributes that are not readonly). Again
          thanks to David Levine for pinpointing this.

        * tao/IIOP_Object.i: A newline was missing at the end of the file
          which resulted in a huge number of compile errors from SunCC. This
          is now fixed.

        * tao/append.cpp: Unused variables in Union::append removed.

Thu Jun 25 06:57:43 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * TAO_IDL/be/be_visitor_union/union_ch.cpp:
          Added a new virtual overridden method that returns a pointer to
          the discriminant.

          In addition, we now name the underlying private union as u_.

        * TAO_IDL/be/be_visitor_union/union_ci.cpp:

          In the default constructor, we were setting the entire class
          object to 0 which was making the virtual pointers 0. We now only
          initialize the union and the discriminant.

          Added the implementation of the virtual overridden _discriminant
          method. Also, the _reset method was moved here from the
          union_cs.cpp file.

        * TAO_IDL/be/be_visitor_union/union_cs.cpp:
          Moved the _reset method to the union_ci.cpp file

        * TAO_IDL/be/be_visitor_union_branch/{public_access_cs,
          public_reset_cs, public_assign_cs, public_ci}.cpp:

          The generated code now has to use the named underlying union. SO
          every field must now be accessed as u_.<field>.

        * tao/Union.h:

          Added a pure virtual method returning pointer to void. This will
          be overridden by subclasses and a pointer to the discriminant will
          be returned.

        * tao/{encode, decode}.cpp (TAO_Marshal_Union::{encode, decode}):

          We now use the _discriminant () method on the union class to
          access the discriminant. This is much safer than simply casting
          it.

Wed Jun 24 21:41:21 1998  Michael Kircher  <mk1@cs.wustl.edu>

        * tao/GIOP.cpp: Added a lock to

        * tao/Connect.cpp: Added a lock to the access of the
          forwarding profile. Some overhead might be due to that,
          but we don't want to sacrifice stability.

        * tao/IIOP_Object.{h,icpp}: Added thread safe access functions
          for the forwarding profile.

Wed Jun 24 18:13:21 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp:
        * orbsvcs/tests/Event_Latency/Event_Latency.cpp:
        * orbsvcs/orbsvcs/Event/Dispatching_Modules.h:
        * orbsvcs/orbsvcs/Event/Dispatching_Modules.cpp:
        * orbsvcs/orbsvcs/Event/Task_Manager.h:
        * orbsvcs/orbsvcs/Event/Task_Manager.cpp:
          The multiple EC is not shutting dows cleanly, apparently it is a
          synchronization problem between the two processes. These changes
          try to minimize the problem by making shutdown() (and activate)
          idempotent in the EC internal threads.

Wed Jun 24 15:55:33 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tao/ORB.cpp (resolve_root_poa): Changed resolve_poa() to
          resolve_root_poa().

        * tao/ORB.cpp (resolve_poa): Rearranged this method so that the
          user can specify the name, POA Manager, policies, and active
          object map of a root poa.  Use this method instead of
          resolve_initial_reference("RootPOA"). This method also allows
          the user the specify the policies used by the root POA - the
          most common change will be to switch the lifespan policy of the
          root POA from TRANSIENT to PERSISTENT. resolve_poa() is
          non-standard.

Wed Jun 24 15:49:19 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * tao/Union.{h, cpp}:

          Added a base sequence definition for Unions. This uses the same
          logic as the Base sequences. We need such a base sequence to
          provide us virtual methods called "_access" and "_reset". The
          _access method us ised to access the right union member at the
          right offset. The reset method is used to free the storage.

          *NOTE* these are new files

        * tao/{encode, decode}.cpp: For Union::{encode, decode}, we now
        use the Base Union class on which we invoke the virtual methods.

        * TAO_IDL/be_include/be_codegen.h: Added a new enumeration for
        generating the overloaded _access method on the union class.

        * TAO_IDL/be/be_visitor_union/union.cpp:

          Handled the case for the access method generating visitor.

        * TAO_IDL/be/be_visitor_union/union_ch.cpp:

          The union class now inherits from the TAO_Base_Union class. In
          addition, it defines the virtual overloaded _reset and _access
          methods.

        * TAO_IDL/be/be_visitor_union/union_ci.cpp:

          Since the reset method was renamed to _reset, we now use this
          name.

        * TAO_IDL/be/be_visitor_union/union_cs.cpp:

          Added code for the overloaded _reset and _access method.

        * TAO_IDL/be/be_visitor_union_branch/public_ci.cpp:
          All calls to reset converted to _reset.

        * TAO_IDL/be_visitor_union_branch/public_access_cs.cpp:
          TAO_IDL/be_include/be_visitor_union_branch/public_access_cs.h:

          New visitor to generate the code for the access method.
          *NOTE* these are new files.

        * TAO_IDL/be_visitor_union_branch.cpp:
          TAO_IDL/be_include/be_visitor_union_branch.h:

          Includes the new files.

        * TAO_IDL/be/be_interpretive.cpp: Handled the case for the new
        visitor on unions that generates the _access method.

Wed Jun 24 14:29:56 1998  Seth Benjamin Widoff  <sbw1@waltz.cs.wustl.edu>

        * docs/releasenotes/index.html:
          Updated the Trader portion of the releasnotes.

Wed Jun 24 12:02:40 1998  Alexander Babu Arulanthu  <alex@cs.wustl.edu>

        * tests/POA/RootPOA/RootPOA.cpp (main): Replaced the exception
          checking/printing code by TAO_CHECK_ENV_PRINT_RETURN.

Wed Jun 24 11:52:12 1998  Alexander Babu Arulanthu  <alex@cs.wustl.edu>

        * tao/corba.h: Added the exception macros
          TAO_CHECK_ENV_PRINT_RETURN(ENV, PRINT_STRING, RETURN) and
          TAO_CHECK_ENV_PRINT_RETURN_VOID(ENV, PRINT_STRING).

Wed Jun 24 11:38:00 1998  Chris Gill  <cdgill@cs.wustl.edu>

        * orbsvcs/orbsvcs/Sched/Strategy_Scheduler.{cpp, h}:
          Removed runtime dynamic dispatch strategy classes,
          as these are now provided by the ACE dynamic message
          strategy classes for the dynamic message queue.  For
          performance and architectural reasons, it is better to
          strategize the dispatch queue itself, rather than have
          the *ACE* dispatch queue call out to a *TAO* strategy.

Wed Jun 24 11:13:32 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * TAO_IDL/be_include/be_codegen.h: Added a new state for resetting
          the appropriate element of a union.

        * TAO_IDL/be_include/be_visitor_union_branch/public_reset_cs.h:
          Added a new visitor that generates code for resetting elements of
          a union. This is required in 3 scenarios: (1) for destructor, (2)
          for union's assignment operator, and (3) individual modifier
          operations in which a new value is set. This will require freeing
          of previous value.

          *NOTE* this is a new file.

        * TAO_IDL/be_include/be_visitor_union_branch/public_assign_cs.h:
          Added a bunch of methods to the visitor that visit the
          "type". This was necessary since simple assignment is not
          enough. We must ensure that old values are freed and the
          assignment results in deep copies wherever necessary. All this is
          required for the assignment operator of the union.

        * TAO_IDL/be/be_interpretive.cpp: Handled the newly added case for
          the union reset visitor.

        * TAO_IDL/be/be_visitor_argument/docall_cs.cpp:
          TAO_IDL/be/be_visitor_argument/marshal_ss.cpp:
          TAO_IDL/be/be_visitor_argument/pre_docall_cs.cpp:
          TAO_IDL/be/be_visitor_argument/vardecl_ss.cpp:

          Added support for Arrays as in, inout, out parameters.

        * TAO_IDL/be/be_visitor_array/array_ch.cpp:
          TAO_IDL/be/be_visitor_array/array_ci.cpp:

          For fixed size arrays, the _out definition is simply a
          typedef. Whereas for arrays whopse base type is of variable
          size, we define the _out class.

        * TAO_IDL/be/be_visitor_structure/structure_ch.cpp:
          the export macro for structures is always generated, even if it
          is nested. This is only valid for the Windows platform since for
          the other cases the export macro is NUL.

        * TAO_IDL/be/be_visitor_union/union.cpp:
          The generic visitor now also handles the union reset visitor
          case.

        * TAO_IDL/be/be_visitor_union/union_ch.cpp:
          The union mapping that generates a class now uses the Export
          macro even if it was nested. Seth Widoff reported that this was
          necessary.

        * TAO_IDL/be/be_visitor_union/union_ci.cpp:

          The constructor now zeros the entire union on
          initialization. Thus, at the start, all the fields will be 0s.

          The destructor now calls the private "reset" method with the
          finalize flag=1 to indicate freeing of all allocated resources.

        * TAO_IDL/be/be_visitor_union/union_cs.cpp:

          Added code for the reset method. In addition, the assignment
          operator first invokes the reset method to clean up old
          storage.

        * TAO_IDL/be/be_visitor_union_branch/private_ch.cpp:

          Members of the private anonymous union inside the union class
          may either be pointers or scalar variables. They will be
          pointers if their types are aggregate classes or structures that
          have ctors. C++ does not allow using the instances of such
          aggregate classes.

        * TAO_IDL/be/be_visitor_union_branch/private_assign_cs.cpp:

          Added code for all the methods that visit the type. Each method
          tries to free previous storage (if any) and then does the
          necessary deep copying.

        * TAO_IDL/be/be_visitor_union_branch/public_ch.cpp:

          Some modifier and access methods that were generated had
          errors w.r.t the parameters they take. This is now fixed.

        * TAO_IDL/be/be_visitor_union_branch/public_ci.cpp:

          All the modifier methods now call reset to free old storage and
          then do the appropriate deep copying of the new value.

        * TAO_IDL/be/be_visitor_union_branch/public_reset_cs.cpp:

          Code for the reset visitor.

          *NOTE* this is a new file.

        * tao/decode.cpp: Released the IIOP_Object that is created during
          the ObjRef::decode method. This was necessary to overcome a
          memory leak. Thanks to Irfan and Jeff.


Wed Jun 24 09:56:13 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tests/Cubit/TAO/IDL_Cubit/cubit.idl:
        * tests/Cubit/TAO/IDL_Cubit/cubit_i.h:
        * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp:
        * tests/Cubit/TAO/IDL_Cubit/client_i.h:
        * tests/Cubit/TAO/IDL_Cubit/client_i.cpp:
          Removed DII test.
          Print clearer messages for sequences (to distinguish octet vs
          long sequences).
          Print the results for each test (long, short, octet, structs
          and unions) and *also* a mixin of lonng/short/octet.

Wed Jun 24 02:23:38 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO version 0.1.33 released.

Tue Jun 23 17:30:14 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * orbsvcs/Scheduling_Service/Makefile:
          Updated dependencies.

        * orbsvcs/Event_Service/Event_Service.cpp:
          Improved a debug message.

        * orbsvcs/Event_Service/svc.conf:
          The options are more realistic now.

        * orbsvcs/tests/start_services:
          No need to run the Scheduling Service now; the Event_Service
          program has a collocated one (by default).

        * docs/releasenotes/ec.html:
          Updated the release notes to reflect the latest changes.

Tue Jun 23 16:47:43 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/ORB_Core.{h,cpp} (class TAO_Collocation_Table_Lock): Rename
          TAO_COLTBL_Lock TO TAO_Collocation_Table_Lock.  COLTBL was a bit
          cryptic.  Changed its implementation to use the new
          ACE_Adaptive_Lock class.

Tue Jun 23 12:34:23 1998  Seth Benjamin Widoff  <sbw1@waltz.cs.wustl.edu>

        * orbsvcs/orbsvcs/Makefile:
        * orbsvcs/orbsvcs/Trader/Trader.{h,cpp}:
        * orbsvcs/orbsvcs/Trader/Trader_T.{h,cpp}:
          Merged Attributes(_T).{h,cpp} into the above files. Updated the
          Makefile.

Tue Jun 23 12:18:39 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * orbsvcs/orbsvcs/Event/Task_Manager.h:
        * orbsvcs/orbsvcs/Event/Task_Manager.i:
        * orbsvcs/orbsvcs/Event/Task_Manager.cpp:
        * orbsvcs/orbsvcs/Event/Event_Channel.h:
        * orbsvcs/orbsvcs/Event/Event_Channel.i:
        * orbsvcs/orbsvcs/Event/Event_Channel.cpp:
        * orbsvcs/orbsvcs/Event/Dispatching_Modules.h:
        * orbsvcs/orbsvcs/Event/Dispatching_Modules.i:
        * orbsvcs/orbsvcs/Event/Dispatching_Modules.cpp:
        * orbsvcs/orbsvcs/Event/RT_Task.cpp:
        * orbsvcs/orbsvcs/Event/ReactorTask.cpp:
          The Event Channel can be shutdown cleanly using the destroy()
          method. The problem was that two components (the Dispatching
          Module and the TaskManager or the handler for Timer threads)
          were not waiting for their threads to shutdown.
          The modules keep their own Thread_Manager to wait for shutdown.
          Startup was also changed: the event channel constructor
          receives a new argument to control the creation of the internal
          threads; if the argument is FALSE the user must call the
          activate() method to start the threads.

        * orbsvcs/orbsvcs/RtecEventComm.idl:
        * orbsvcs/orbsvcs/RtecEventChannelAdmin.idl:
          Many operations were oneways because early releases of TAO did
          not support nested upcalls.

        * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp:
          use the activate method to start the threads.

        * orbsvcs/Event_Service/Event_Service.cpp:
          Added support for a collocated Scheduling Service; this is the
          common use case that we wish to implement, improves performance
          and works around some nested upcall problems in the ORB.
          The user can select the old behavior using the <-s global>
          flag.

        * orbsvcs/tests/Event_Latency/Event_Latency.cpp:
          Only shutdown the EC once our event loop exits

        * orbsvcs/tests/EC_Multiple/histo.pl:
          Fixed typo in a comment.

Tue Jun 23 11:59:12 1998  David L. Levine  <levine@cs.wustl.edu>

        * tests/Cubit/TAO/IDL_Cubit/Makefile,tests/Thruput/TAO/Makefile,
          tests/NestedUpcall/Makefile,tests/Quoter/Makefile,
          tests/OctetSeq/Makefile:
          added S_T.* files to realclean target.

Mon Jun 22 21:30:00 1998  Michael Kircher  <mk1@cs.wustl.edu>

        * TAO_IDL/be/be_sequence.cpp
        * TAO_IDL/be/be_visitor_sequence/sequence_ch.cpp: Making
          a special treatment for sequence of octets.

Mon Jun 22 20:32:25 1998  Seth Benjamin Widoff  <sbw1@waltz.cs.wustl.edu>

        * orbsvcs/orbsvcs/Trader/Attributes.{h,cpp}:
        * orbsvcs/orbsvcs/Trader/Attributes_T.{h,cpp}:
        * orbsvcs/orbsvcs/Trader/Constraint_Interpreter.{h,cpp}:
        * orbsvcs/orbsvcs/Trader/Constraint_Nodes.{h,cpp}:
        * orbsvcs/orbsvcs/Trader/Constraint_Visitors.{h,cpp}:
        * orbsvcs/orbsvcs/Trader/Constraint_l.{h,cpp}:
        * orbsvcs/orbsvcs/Trader/Constraint_y.{h,cpp}:
        * orbsvcs/orbsvcs/Trader/Dynamic_Property.{h,cpp}:
        * orbsvcs/orbsvcs/Trader/Offer_Database.{h,cpp}:
        * orbsvcs/orbsvcs/Trader/Offer_Iterators.{h,cpp}:
        * orbsvcs/orbsvcs/Trader/Offer_Iterators_T.{h,cpp}:
        * orbsvcs/orbsvcs/Trader/Service_Type_Repository.{h,cpp}:
        * orbsvcs/orbsvcs/Trader/Trader.{h,cpp}:
        * orbsvcs/orbsvcs/Trader/Trader_Interfaces.{h,cpp}:
        * orbsvcs/orbsvcs/Trader/Trader_T.{h,cpp}:
        * orbsvcs/orbsvcs/Trader/Trader_Utils.{h,cpp}:
        * orbsvcs/orbsvcs/Makefile:
          By having related classes share a file, reduced the number of
          files in the Trading Service by half. Updated the Makefile to
          reflect the changes.

        * orbsvcs/tests/Trading/Makefile:
        * orbsvcs/tests/Trading/Offer_Exporter.cpp:
        * orbsvcs/tests/Trading/Offer_Importer.cpp:
        * orbsvcs/tests/Trading/TT_Info.cpp:
        * orbsvcs/tests/Trading/export_test.cpp:
          Updated the Trading tests to use the new header file scheme.

Mon Jun 22 11:54:20 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tests/Cubit/TAO/MT_Cubit/Makefile:
        * tests/Cubit/TAO/IDL_Cubit/Makefile:
          Updated dependencies.

Mon Jun 22 11:32:00 1998  Michael Kircher  <mk1@cs.wustl.edu>

        * docs/releasenotes/index.html: Added documentation
          about the changes in the TAO IDL compiler.

Mon Jun 22 11:32:00 1998  Michael Kircher  <mk1@cs.wustl.edu>

        * TAO_IDL/be/{be_helper.h, be_sequence.h}: see comment below,
          only the declarations were added.

        * TAO_IDL/be/be_visitor_sequence/sequence_{ch,cs}.h: Added
          the declarations of the things mentioned below.

Mon Jun 22 11:15:40 1998  Michael Kircher  <mk1@cs.wustl.edu>

        * TAO_IDL/be/be_helper.cpp: Added gen_ifdef_AHETI(), gen_else_AHETI()
          and gen_endif_AHETI() to write the proper #ifdef.

        * TAO_IDL/be/be_sequence.cpp: Added instance_name() to create
          a unique instantiation name for the instantiated templates.
          Added object_manager_name () to create a unique object_manager
          name.

        * TAO_IDL/be/be_visitor_sequence.cpp: Added the new files.

        * TAO_IDL/be/be_visitor_sequence/elemtype.cpp: Added ifdefs
          for generating appropriate code to handle Object Manager
          references.

        * TAO/TAO_IDL/be/be_visitor_sequence/sequence_ch.cpp: Added
          the hook-up to generate the instantiated templates. Basically
          the hook-up is the method instantiate_sequence().

        * TAO_IDL/be/be_visitor_sequence/sequence_c{i,s}.cpp: Added
          the ifdef distinguishing.

        * TAO_IDL/be/be_visitor_sequence/gen_bounded_sequence_ch.cpp,
          TAO_IDL/be/be_visitor_sequence/gen_unbounded_sequence_ch.cpp,
          TAO_IDL/be/be_visitor_sequence/gen_bounded_obj_sequence_ch.cpp,
          TAO_IDL/be/be_visitor_sequence/gen_unbounded_obj_sequence_ch.cpp,
          TAO_IDL/be/be_visitor_sequence/gen_bounded_str_sequence_ch.cpp,
          TAO_IDL/be/be_visitor_sequence/gen_object_manager_ch.cpp:
          New files for code generation.

Mon Jun 22 11:12:54 1998  David L. Levine  <levine@cs.wustl.edu>

        * orbsvcs/orbsvcs/Scheduler_Factory (preemption_priority):
          use ACE_TSS_Type_Adapter instead of specializing the
          adaption of RtecScheduler::Preemption_Priority here.

        * orbsvcs/tests/Event_Latency/Event_Latency.cpp: made some
          ACE_hrtime values non-const so that Sun C++ 4.2/SunOS 5.6
          doesn't complain about casting away constness.  Thanks to
          J. Russell Noteworthy <rnosewor@objectsciences.com> for
          reporting this.

        * test/Cubit/TAO/IDL_Cubit/collocation_test (main):
          changed the static_cast of svr_worker to a reinterpret_cast,
          and added a & in front of it for good measure.  Thanks to
          J. Russell Noteworthy <rnosewor@objectsciences.com> for
          reporting this, and to Carlos for recommending the use of
          reinterpret cast.

        * tao/GIOP.cpp,ORB.cpp,IIOP_Object.cpp,POA.cpp,Server_Request.cpp,
            Connect.cpp,
          orbsvcs/orbsvcs/Event/Dispatching_Modules.cpp,Event_Channel.cpp,
            RT_Task.cpp,ReactorTask.cpp,
          orbsvcs/tests/Event_Latency/Event_Latency.cpp,
          tests/Cubit/TAO/IDL_Cubit/client_i.cpp,cubit_i.cpp:
          removed trailing semicolon from ACE_TIMEPROBE_EVENT_DESCRIPTIONS,
          now that it is part of the macro definition.

Mon Jun 22 09:19:40 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * TAO_IDL/be/be_visitor_typecode/typecode_decl.cpp: The typecode
          declarations now have the appropriate export macro generated for
          them. This is required for the DLLs. Seth Widoff pointed out this
          requirement.

Mon Jun 22 00:09:23 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO version 0.1.32 released.

Mon Jun 22 00:01:44 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * orbsvcs/orbsvcs/orbsvcs.dsp:  This project file no longer copies
          the orbsvcs.dll to $TAO_ROOT/tao/.  Be sure to remove this file:
          $TAO_ROOT/tao/orbsvcs.dll.

Sun Jun 21 23:59:06 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO version 0.1.31 released.

Sun Jun 21 16:29:49 1998  Seth Benjamin Widoff  <sbw1@cs.wustl.edu>

        * tao/ORB.cpp:
        * tao/Params.cpp:
          Wasn't initializing Params::trading_service_{ior,port}_ or
          CORBA_ORB::trading_service_.

Sun Jun 21 14:36:26 1998  Seth Benjamin Widoff  <sbw1@cs.wustl.edu>

        * orbsvcs/orbsvcs/Trader/*.*:
          Trading Service now compiles without warnings or link errors on
          Windows NT (MSVC++).

Sun Jun 21 08:39:38 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * tests/Param_Test/tests.cpp: Removed a bunch of warnings related
          to creation of a temporary when a var or ptr type is passed as an
          out parameter.

Sat Jun 20 14:22:22 1998  David L. Levine  <levine@cs.wustl.edu>

        * orbsvcs/orbsvcs/Scheduler_Factory.cpp: wrapped
          RtecScheduler::Preemption_Priority (int) with a struct
          when used with ACE_TSS.  ACE_TSS<TYPE>::operator-> () returns
          TYPE *, so it cannot be instantiated with built-in types:
          "ace/Synch_T.h", line 267: Error: Cannot have a return type
            of int* for ACE_TSS<int>::operator->() const.
              Where: While specializing "ACE_TSS<int>".
              Where: Specialized in non-template code.

Sat Jun 20 03:31:28 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tao/POA:

          - Added TAO_POA_locking as a new policy to the POA.  This policy
            is used to control the kind of lock created for POA state
            synchronization.  Previously, the user could only specific the
            synchronization choice at an application level in the svc.conf
            file.  This approach did not allow a scheme where some POAs
            had thread safe synchronization, while others had no
            (null) synchronization.

            The new policy has three options:

            - USE_DEFAULT_LOCK: This option is the default value for this
              policy.  This option indicates that the application level
              choice for POA synchronization specified in the svc.conf
              file be used.  Currently, this defaults to thread safe
              synchronization.

              This option allows the programmer to make application level
              decisions about the synchronization in the POA. Hence,
              unless specified otherwise in create_POA, all POAs in the
              application will have thread safe synchronization or null
              (no) synchronization depending on the chioce made in
              svc.conf.

            - USE_NULL_LOCK: Use null (no) synchronization to protect the
              state of this POA.

            - USE_THREAD_LOCK: Use thread synchronization to protect the
              state of this POA.

          - Changed POAC.{h,i,cpp}, POAS.{h,i,cpp} and POA{h,i,cpp} to
            support this new policy.

          - Removed Strategy_POA and Strategy_POA_Manager.  Both were
            rather unnecessary in view of the above changes.

        * tests/POA/locking/locking.cpp: New test for showing off new POA
          locking policy.

        * tao/Sequence.h (Octet>): Removed extra operator<< and operator>>
          declarations, and changed the implementation to use non-private
          members.

        * tao/Principal.i: Added new file (empty).

Sat Jun 20 01:39:35 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/TAO4.{mdp,mak}: Defined TAO_BUILD_DLL, undefined
          TAO_NO_COPY_OCTET_SEQUENCES.  Added Current{C,S}.cpp and
          Forward_Servant.cpp into project.  Removed timeprobe.cpp from
          project.

        * tao/Forwarding_Servant.h:
        * tao/POA{C,S,_CORBA}.h: Changed to use the underbar class names
          for better portability.  Thanks to Ernesto Guisado
          <eguisado@saincotrafico.com> for providing the perl script to
          automate the process.

Sat Jun 20 00:00:56 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/GIOP.h:
        * tao/GIOP.cpp:
        * tao/Server_Request.cpp:
          Used compiled encoding and decoding for the GIOP and Request
          headers, thus reducing the time on the critical path.
          Removed a memory allocation on the server side by using ad-hoc
          marshalling for the object key: it does not need to increase the
          reference count on the CDR message block because its lifetime is
          shorter that the CDR stream.
          Added compiled marshalling methods for the ServiceContextList,
          this is mostly a waste because the context list is always
          empty.

        * tao/CDR.h:
        * tao/CDR.i:
          Enabled >> and << operators for CDR and basic types, added new
          operators for strings.

        * tao/corba.h:
        * tao/ORB.cpp:
          Added operators to marshal octet sequences.

        * tao/decode.cpp:
          Use the new replace() method to set the message block on octet
          sequences.

        * tao/Sequence.h:
        * tao/Sequence.i:
          Added new replace() method that set the internal message block
          in an octet sequence.

        * orbsvcs/tests/start_services:
          Recommend the $USER instead of the $login macro for bash.

Fri Jun 19 21:30:22 1998  David L. Levine  <levine@cs.wustl.edu>

        * TAO version 0.1.30 released.

Fri Jun 19 15:18:04 1998  David L. Levine  <levine@cs.wustl.edu>

        * orbsvcs/orbsvcs/Scheduler_Factory.{h,cpp} (preemption_priority,
          set_preemption_priority): added these static functions.  They are for
          use by applications and the Event Channel, to get/set the
          preemption priority of the calling thread.

        * orbsvcs/orbsvcs/Scheduler_Factory.cpp: replaced the static
          ACE_Runtime_Factory instance with an ACE_Singleton instance
          of a locally-defined struct.  In addition, the struct
          contains the ACE_TSS instance that is used by the static
          {set_,}preemption_priority functions.

        * orbsvcs/orbsvcs/Event/RT_Task.cpp (svc): register each
          Event Channel dispatch thread with the Scheduler's
          set_preemption_priority () function.

        * orbsvcs/orbsvcs/Event/RT_Task.cpp (svc): suppress the
          warning about thr_setprio failure on Solaris, if the
          priority is 0 and not running as root.  It's a no-op,
          in that case, but Solaris' ::thr_setprio fails with EINVAL.

        * orbsvcs/tests/Concurrency/lex.CC_command.cpp{,.diff}
          (ace_cc_yyinput): don't compile this function in if
          ACE_CC_YY_NO_INPUT is defined, to avoid compile warning about
          unused static function.

Fri Jun 19 12:07:30 1998  Chris Gill  <cdgill@cs.wustl.edu>

        * tests/Quoter/Generic_Factory.cpp: added .in() to passed
          object reference parameter to remove compiler error
          using g++ on Solaris 2.6 for Intel x86

Fri Jun 19 11:29:24 1998  David L. Levine  <levine@cs.wustl.edu>

        * TAO version 0.1.29 released.

Fri Jun 19 10:14:22 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tests/POA/On_Demand_Activation/Servant_Activator.h:
        * tests/POA/On_Demand_Activation/Servant_Activator.cpp:
        * tests/POA/On_Demand_Activation/Servant_Locator.h:
        * tests/POA/On_Demand_Activation/Servant_Locator.cpp:
        * tests/POA/On_Demand_Activation/server.cpp:
          The Locator and Activator objects require an ORB_ptr now (that
          in turn is passed to the MyFooServant).

        * tests/POA/On_Demand_Activation/Makefile:
        * tests/POA/Forwarding/Makefile:
          Updated dependencies.

Fri Jun 19 09:56:55 1998  Sergio Flores  <sergio@polka.cs.wustl.edu>

        * tests/Cubit/TAO/MT_Cubit/README:
        * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp:
        * tests/Cubit/TAO/MT_Cubit/Util_Thread.cpp:
        * tests/Cubit/TAO/MT_Cubit/Util_Thread.h:
        * tests/Cubit/TAO/MT_Cubit/client.cpp:
        * tests/Cubit/TAO/MT_Cubit/cubit_i.cpp:
        * tests/Cubit/TAO/MT_Cubit/server.cpp:
          (1) Minor aesthetic changes and code cleanup.
          (2) Changes to the utilization tests of the server and client.  We
          now make the utilization "scavenger" thread run for a determined
          period of time and report the number of computations performed.
          The client thread that performs CORBA calls also reports the
          number of calls performed.

Fri Jun 19 07:25:41 1998  David L. Levine  <levine@cs.wustl.edu>

        * orbsvcs/orbsvcs/Concurrency/CC_Lock.cpp (Next): removed
          break following a TAO_THROW to avoid compiler warning about
          unreachable statement.

        * tao/ORB.cpp (run): #ifdef'ed out unused locals max_iterations and
          counter.

        * tests/NestedUpcall/client.cpp: removed unused static
          max_sequence_length.

        * tests/Param_Test/tests.cpp: removed or commented out some
          unused variables.

Thu Jun 18 18:33:34 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/GIOP.cpp:
          Added a few more Timeprobes to the client side.
          Removed another memory allocation by using a buffer on the stack
          for the (initial) output CDR stream.

        * tao/ORB.cpp:
          No automatic printing of Timeprobes in the ORB anymore. The
          application is responsible of invoking the ACE_TIMEPROBE_PRINT
          macro as needed.

        * tao/IIOP_Object.cpp:
          Added more Timeprobes.

        * tests/POA/Generic_Servant/Foo.idl:
        * tests/POA/Generic_Servant/MyFooServant.h:
        * tests/POA/Generic_Servant/MyFooServant.cpp:
          Added methods to request a shutdown of the server.

        * tests/POA/Generic_Servant/client.cpp:
          Added an option (-x) to shutdown the server. Also added support
          for Timeprobe.

        * tests/POA/Explicit_Activation/server.cpp:
          Print the timeprobes at exit.

Thu Jun 18 14:17:35 1998  Seth Benjamin Widoff  <sbw1@waltz.cs.wustl.edu>

        * orbsvcs/orbsvcs/Trader/Attributes_T.cpp:
        * orbsvcs/orbsvcs/Trader/Constraint_Validator.cpp:
        * orbsvcs/orbsvcs/Trader/Lookup.cpp:
        * orbsvcs/orbsvcs/Trader/Policies.cpp:
        * orbsvcs/orbsvcs/Trader/Policy_Manager.cpp:
        * orbsvcs/orbsvcs/Trader/Property_Filter.cpp:
        * orbsvcs/orbsvcs/Trader/Property_Evaluator.cpp:
        * orbsvcs/orbsvcs/Trader/Register.cpp:
        * orbsvcs/orbsvcs/Trader/Service_Type_Repository.cpp:
          Eliminated warnings on NT compilation.

Thu Jun 18 14:07:57 1998  David L. Levine  <levine@cs.wustl.edu>

        * orbsvcs/tests/start_services: use port 0, use the -o and
          -p Naming_Service options and use URL objrefstyle.  Thanks
          to Carlos for these suggestions.  Also, write outputs to
          different log files, and added note about setting the NameService
          environment variable.

Thu Jun 18 12:07:32 1998  Michael Kircher  <mk1@cs.wustl.edu>

        * tests/Quoter/{Factory_Finder, Generic_Factory}_Impl.cpp:
          removed unneccessary code.

        * orbsvcs/LifeCycle_Service/LifeCycle_Service_Impl.cpp:
          removed unneccessary code.

1998-06-18  Torben Worm  <tworm@cumbia.cs.wustl.edu>

        * orbsvcs/tests/Concurrency/CC_command.tab.cpp
          orbsvcs/tests/Concurrency/Makefile
          Now the yacc generated file is patched too.

Thu Jun 18 11:38:32 1998  Seth Benjamin Widoff  <sbw1@waltz.cs.wustl.edu>

        * orbscvs/tests/AVStreams/server_discovery/TS_Resolve.java:
        * orbscvs/tests/AVStreams/server_discovery/Property_Evaluator.java:
        * orbscvs/tests/AVStreams/server_discovery/Discover_Server.java:
        * orbscvs/tests/AVStreams/server_discovery/Makefile:
        * orbsvcs/tests/AVStreams/server_discovery/remote_netscape:
        The beginnings of a Java tool to locate a best matched server for
        the A/V demo's client using the Trading Service.


1998-06-18  Torben Worm  <tworm@cumbia.cs.wustl.edu>

        * orbsvcs/tests/Concurrency/CC_command.cpp
          orbsvcs/tests/Concurrency/CC_command.l
          orbsvcs/tests/Concurrency/CC_command.tab.cpp
          orbsvcs/tests/Concurrency/CC_test_utils.h
          orbsvcs/tests/Concurrency/Makefile
          orbsvcs/tests/Concurrency/lex.CC_command.cpp:
          Removed warnings reported by DU cxx
          Now a patch file is used to patch the output from flex.

Thu Jun 18 10:21:28 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * orbsvcs/orbsvcs/Event/Event_Channel.cpp:
          Comparing an _var to a 0 is non-portable (and non-complaint),
          the right thing to do is CORBA::is_nil.

        * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp:
          Comparing a Time_Value to 0 is a bad idea (we can convert the 0
          to a Time_Value or the Time_Value to an int), we compare to
          ACE_Time_Value::zero.

Thu Jun 18 09:34:18 1998  David L. Levine  <levine@cs.wustl.edu>

        * TAO_IDL/util/utl_scope.cpp (UTL_Scope ctor): removed
          extraneous ; following the function definition.

        * orbsvcs/Event_Service/Event_Service.cpp (main),
          orbsvcs/Scheduling_Service/Scheduling_Service.cpp (main):
          added filename to debug messages.

Wed Jun 17 22:03:42 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * TAO_IDL: Massive restructuring of directories for be_include and
          the "be" directories. Since each individual file was getting too big
          with a large number of visitors, we have now subdivided them and
          grouped them under individual subdirectories.

          The original header files (e.g., be_include/be_visitor_interface.h),
          now only include their subdivided header files. This way the rest of
          the code does not need to "#include" every individual file. They
          still deal with the higher level include files only. This avoids
          any modification of existing code.

          The new directory structure for the be_include directory and the
          newly added files are shown below:


                be_visitor_argument/arglist.h
                be_visitor_argument/argument.h
                be_visitor_argument/docall_cs.h
                be_visitor_argument/marshal_ss.h
                be_visitor_argument/post_docall_cs.h
                be_visitor_argument/post_marshal_ss.h
                be_visitor_argument/post_upcall_ss.h
                be_visitor_argument/pre_docall_cs.h
                be_visitor_argument/pre_upcall_ss.h
                be_visitor_argument/upcall_ss.h
                be_visitor_argument/vardecl_ss.h
                be_visitor_array/any_op_ch.h
                be_visitor_array/any_op_cs.h
                be_visitor_array/array.h
                be_visitor_array/array_ch.h
                be_visitor_array/array_ci.h
                be_visitor_array/array_cs.h
                be_visitor_attribute/attribute.h
                be_visitor_constant/constant_ch.h
                be_visitor_constant/constant_cs.h
                be_visitor_enum/any_op_ch.h
                be_visitor_enum/any_op_cs.h
                be_visitor_enum/enum_ch.h
                be_visitor_enum/enum_cs.h
                be_visitor_exception/any_op_ch.h
                be_visitor_exception/any_op_cs.h
                be_visitor_exception/ctor.h
                be_visitor_exception/ctor_assign.h
                be_visitor_exception/exception.h
                be_visitor_exception/exception_ch.h
                be_visitor_exception/exception_ci.h
                be_visitor_exception/exception_cs.h
                be_visitor_exception/exception_ctor.h
                be_visitor_field/field_ch.h
                be_visitor_field/field_ci.h
                be_visitor_field/field_cs.h
                be_visitor_interface/any_op_ch.h
                be_visitor_interface/any_op_cs.h
                be_visitor_interface/collocated_sh.h
                be_visitor_interface/collocated_ss.h
                be_visitor_interface/interface.h
                be_visitor_interface/interface_ch.h
                be_visitor_interface/interface_ci.h
                be_visitor_interface/interface_cs.h
                be_visitor_interface/interface_sh.h
                be_visitor_interface/interface_si.h
                be_visitor_interface/interface_ss.h
                be_visitor_interface/tie_sh.h
                be_visitor_interface/tie_si.h
                be_visitor_interface_fwd/interface_fwd_ch.h
                be_visitor_interface_fwd/interface_fwd_ci.h
                be_visitor_module/any_op.h
                be_visitor_module/module.h
                be_visitor_module/module_ch.h
                be_visitor_module/module_sh.h
                be_visitor_operation/arglist.h
                be_visitor_operation/argument.h
                be_visitor_operation/collocated_sh.h
                be_visitor_operation/collocated_ss.h
                be_visitor_operation/exceptlist_cs.h
                be_visitor_operation/operation_ch.h
                be_visitor_operation/operation_cs.h
                be_visitor_operation/operation_sh.h
                be_visitor_operation/operation_ss.h
                be_visitor_operation/rettype.h
                be_visitor_operation/rettype_assign_ss.h
                be_visitor_operation/rettype_docall_cs.h
                be_visitor_operation/rettype_marshal_ss.h
                be_visitor_operation/rettype_post_docall_cs.h
                be_visitor_operation/rettype_post_upcall_ss.h
                be_visitor_operation/rettype_pre_docall_cs.h
                be_visitor_operation/rettype_return_cs.h
                be_visitor_operation/rettype_vardecl_cs.h
                be_visitor_operation/rettype_vardecl_ss.h
                be_visitor_operation/tie_sh.h
                be_visitor_operation/tie_si.h
                be_visitor_root/any_op.h
                be_visitor_root/root.h
                be_visitor_root/root_ch.h
                be_visitor_root/root_ci.h
                be_visitor_root/root_cs.h
                be_visitor_root/root_sh.h
                be_visitor_root/root_si.h
                be_visitor_root/root_ss.h
                be_visitor_sequence/any_op_ch.h
                be_visitor_sequence/any_op_cs.h
                be_visitor_sequence/buffer_type.h
                be_visitor_sequence/elemtype.h
                be_visitor_sequence/sequence_base.h
                be_visitor_sequence/sequence_ch.h
                be_visitor_sequence/sequence_ci.h
                be_visitor_sequence/sequence_cs.h
                be_visitor_structure/any_op_ch.h
                be_visitor_structure/any_op_cs.h
                be_visitor_structure/structure.h
                be_visitor_structure/structure_ch.h
                be_visitor_structure/structure_ci.h
                be_visitor_structure/structure_cs.h
                be_visitor_typecode/typecode_decl.h
                be_visitor_typecode/typecode_defn.h
                be_visitor_typedef/any_op_ch.h
                be_visitor_typedef/any_op_cs.h
                be_visitor_typedef/typedef.h
                be_visitor_typedef/typedef_ch.h
                be_visitor_typedef/typedef_ci.h
                be_visitor_typedef/typedef_cs.h
                be_visitor_union/any_op_ch.h
                be_visitor_union/any_op_cs.h
                be_visitor_union/discriminant_ch.h
                be_visitor_union/discriminant_ci.h
                be_visitor_union/discriminant_cs.h
                be_visitor_union/union.h
                be_visitor_union/union_ch.h
                be_visitor_union/union_ci.h
                be_visitor_union/union_cs.h
                be_visitor_union_branch/private_ch.h
                be_visitor_union_branch/public_assign_cs.h
                be_visitor_union_branch/public_ch.h
                be_visitor_union_branch/public_ci.h
                be_visitor_union_branch/public_cs.h

          The same logic of breaking up individual files and grouping them
          under individual subdirectories is used for the be_visitor_*.cpp
          files. Each individual file "#include"s their individual
          subfiles. This way, we do not have to modify the Makefile to
          compile individual file. In addition, the Makefile would have
          required each individual subdirectory in its VPATH. Furthermore,
          it does not compile files with the same name in different
          directories. The new structure is shown below.

                be_visitor_argument/arglist.cpp
                be_visitor_argument/argument.cpp
                be_visitor_argument/docall_cs.cpp
                be_visitor_argument/marshal_ss.cpp
                be_visitor_argument/post_docall_cs.cpp
                be_visitor_argument/post_marshal_ss.cpp
                be_visitor_argument/post_upcall_ss.cpp
                be_visitor_argument/pre_docall_cs.cpp
                be_visitor_argument/pre_upcall_ss.cpp
                be_visitor_argument/upcall_ss.cpp
                be_visitor_argument/vardecl_ss.cpp
                be_visitor_array/any_op_ch.cpp
                be_visitor_array/any_op_cs.cpp
                be_visitor_array/array.cpp
                be_visitor_array/array_ch.cpp
                be_visitor_array/array_ci.cpp
                be_visitor_array/array_cs.cpp
                be_visitor_attribute/attribute.cpp
                be_visitor_constant/constant_ch.cpp
                be_visitor_constant/constant_cs.cpp
                be_visitor_enum/any_op_ch.cpp
                be_visitor_enum/any_op_cs.cpp
                be_visitor_enum/enum_ch.cpp
                be_visitor_enum/enum_cs.cpp
                be_visitor_exception/any_op_ch.cpp
                be_visitor_exception/any_op_cs.cpp
                be_visitor_exception/ctor_assign.cpp
                be_visitor_exception/exception.cpp
                be_visitor_exception/exception_ch.cpp
                be_visitor_exception/exception_ci.cpp
                be_visitor_exception/exception_cs.cpp
                be_visitor_exception/exception_ctor.cpp
                be_visitor_field/field_ch.cpp
                be_visitor_field/field_ci.cpp
                be_visitor_field/field_cs.cpp
                be_visitor_interface/any_op_ch.cpp
                be_visitor_interface/any_op_cs.cpp
                be_visitor_interface/collocated_sh.cpp
                be_visitor_interface/collocated_ss.cpp
                be_visitor_interface/interface.cpp
                be_visitor_interface/interface_ch.cpp
                be_visitor_interface/interface_ci.cpp
                be_visitor_interface/interface_cs.cpp
                be_visitor_interface/interface_sh.cpp
                be_visitor_interface/interface_si.cpp
                be_visitor_interface/interface_ss.cpp
                be_visitor_interface/tie_sh.cpp
                be_visitor_interface/tie_si.cpp
                be_visitor_interface_fwd/interface_fwd_ch.cpp
                be_visitor_interface_fwd/interface_fwd_ci.cpp
                be_visitor_module/any_op.cpp
                be_visitor_module/module.cpp
                be_visitor_module/module_ch.cpp
                be_visitor_module/module_sh.cpp
                be_visitor_operation/arglist.cpp
                be_visitor_operation/argument.cpp
                be_visitor_operation/collocated_sh.cpp
                be_visitor_operation/collocated_ss.cpp
                be_visitor_operation/exceptlist_cs.cpp
                be_visitor_operation/operation_ch.cpp
                be_visitor_operation/operation_cs.cpp
                be_visitor_operation/operation_sh.cpp
                be_visitor_operation/operation_ss.cpp
                be_visitor_operation/rettype.cpp
                be_visitor_operation/rettype_assign_ss.cpp
                be_visitor_operation/rettype_docall_cs.cpp
                be_visitor_operation/rettype_marshal_ss.cpp
                be_visitor_operation/rettype_post_docall_cs.cpp
                be_visitor_operation/rettype_post_upcall_ss.cpp
                be_visitor_operation/rettype_pre_docall_cs.cpp
                be_visitor_operation/rettype_return_cs.cpp
                be_visitor_operation/rettype_vardecl_cs.cpp
                be_visitor_operation/rettype_vardecl_ss.cpp
                be_visitor_operation/tie_sh.cpp
                be_visitor_operation/tie_si.cpp
                be_visitor_root/any_op.cpp
                be_visitor_root/root.cpp
                be_visitor_root/root_ch.cpp
                be_visitor_root/root_ci.cpp
                be_visitor_root/root_cs.cpp
                be_visitor_root/root_sh.cpp
                be_visitor_root/root_si.cpp
                be_visitor_root/root_ss.cpp
                be_visitor_sequence/any_op_ch.cpp
                be_visitor_sequence/any_op_cs.cpp
                be_visitor_sequence/buffer_type.cpp
                be_visitor_sequence/elemtype.cpp
                be_visitor_sequence/sequence_base.cpp
                be_visitor_sequence/sequence_ch.cpp
                be_visitor_sequence/sequence_ci.cpp
                be_visitor_sequence/sequence_cs.cpp
                be_visitor_structure/any_op_ch.cpp
                be_visitor_structure/any_op_cs.cpp
                be_visitor_structure/structure.cpp
                be_visitor_structure/structure_ch.cpp
                be_visitor_structure/structure_ci.cpp
                be_visitor_structure/structure_cs.cpp
                be_visitor_typecode/typecode_decl.cpp
                be_visitor_typecode/typecode_defn.cpp
                be_visitor_typedef/any_op_ch.cpp
                be_visitor_typedef/any_op_cs.cpp
                be_visitor_typedef/typedef.cpp
                be_visitor_typedef/typedef_ch.cpp
                be_visitor_typedef/typedef_ci.cpp
                be_visitor_typedef/typedef_cs.cpp
                be_visitor_union/any_op_ch.cpp
                be_visitor_union/any_op_cs.cpp
                be_visitor_union/discriminant_ch.cpp
                be_visitor_union/discriminant_ci.cpp
                be_visitor_union/discriminant_cs.cpp
                be_visitor_union/union.cpp
                be_visitor_union/union_ch.cpp
                be_visitor_union/union_ci.cpp
                be_visitor_union/union_cs.cpp
                be_visitor_union_branch/private_ch.cpp
                be_visitor_union_branch/public_assign_cs.cpp
                be_visitor_union_branch/public_ch.cpp
                be_visitor_union_branch/public_ci.cpp
                be_visitor_union_branch/public_cs.cpp

        * TAO_IDL/be_include
          TAO_IDL/be

          Renamed be_visitor_args.{h, cpp} to be_visitor_argument.{h, cpp}
          to reflect the correct name used by the AST node.

Wed Jun 17 23:29:06 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:
          Fixed many bugs in the disconnection code. The main ones were
          related to memory managment (missing _duplicate() calls for
          ES_Consumer_Rep objects) and to agressive memory release
          (disconnecting a consumer could result in removing a critical
          entry for the map of type consumers in a supplier, rendering the
          supplier unusable).
          The code more transparent for CORBA exceptions (it just passes
          them back); but some places still catch them or create new
          CORBA::Environment and/or signal errors using return values.
          Looked more carefully at memory managment, but we still need
          clean startup and shutdown to really track any problems in this
          area.
          Some stylistic changes here and there.

        * orbsvcs/tests/EC_Multiple/EC_Multiple.h:
        * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp:
          Added an option to connect and disconnect the consumers and/or
          suppliers before doing anything else. This was useful to debug
          the EC.

        * orbsvcs/tests/EC_Multiple/Makefile:
          Updated dependencies.

        * orbsvcs/tests/EC_Multiple/svc.conf:
          Added more options to control the kind of lock used in the POA
          and similar things.

        * orbsvcs/orbsvcs/Event/RT_Task.cpp:
          Failing to run in the real-time class is only a warning, added
          an explanation to the user in that sense.

        * orbsvcs/orbsvcs/Event/EC_Gateway.cpp:
          Added debug messages (now commented out).

        * orbsvcs/orbsvcs/Event/CORBA_Utils_T.i:
          Fixed off-by-one bug in Simple_Array_Iterator.

        * orbsvcs/orbsvcs/Event_Utilities.cpp:
          Initialize the rt_info field to 0.

Wed Jun 17 23:21:45 1998  Chris Gill  <cdgill@cs.wustl.edu>

        * orbsvcs/orbsvcs/Sched/DynSched.{cpp, h}
          orbsvcs/orbsvcs/Sched/SchedEntry.{cpp, h, i}
          orbsvcs/orbsvcs/Sched/Strategy_Scheduler.cpp

          Several bug fixes for consumers specifying a period
          of 0.  Incorrect handle was being used for the
          dependency, framing/reframing caused divide-by-zero
          errors, merging was not correctly picking up the
          priority information from the supplier.

        * orbsvcs/tests/Sched_Conf/Sched_Conf.cpp

          Added a -n <Scheduling Service Name> argument,
          and command-line argument processing code to the
          test so that multiple copies with differently
          named scheduling services can run simultaneously
          within the context of a single naming service.

Wed Jun 17 17:07:12 1998  Sergio Flores  <sergio@polka.cs.wustl.edu>

        * tests/Cubit/TAO/MT_Cubit/README: added new options with
          explanations.

        * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp:
        * tests/Cubit/TAO/MT_Cubit/Task_Client.h:
        * tests/Cubit/TAO/MT_Cubit/client.cpp: Changed the utilization
          test to bound the test by time instead of by number of requests.

        * tests/Cubit/TAO/MT_Cubit/Util_Thread.cpp:
        * tests/Cubit/TAO/MT_Cubit/client.cpp:
        * tests/Cubit/TAO/MT_Cubit/server.cpp:Minor changes to cleanup
          code.

        * tests/Cubit/TAO/MT_Cubit/README: Updated the options and
          explanation of the options.

Wed Jun 17 16:58:26 1998 Michael Kircher <mk1@cs.wustl.edu>

        * orbsvcs/tests/start_services: Moved this file form
          orbsvcs/tests/Simulator/ to this location. David
          made it more generic in order to allow it to work
          on more Unix platforms.

        * orbsvcs/tests/Simulator/ss: See comment above.

        * orbsvcs/tests/Simulator/README: Added some comments about
          the above mentioned.

Wed Jun 17 16:14:26 1998  Sergio Flores  <sergio@polka.cs.wustl.edu>

        * tests/Cubit/TAO/MT_Cubit/Makefile: minor fix for Chorus.

Wed Jun 17 15:05:43 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/Connect.cpp (activate): Set the thr_mgr of the service
          handler so the newly spawned thread is created under the ORB's
          Thread_Manager.

        * tao/ORB_Core.cpp (inherit_from_parent_thread): Inherit more
          properties from the parent thread so the spawned thread has a
          complete environment to run on.

          (add_to_collocation_table):
          (get_collocated_poa): Changed to use the address in the
          orb_params.

1998-06-17  Torben Worm  <tworm@cumbia.cs.wustl.edu>

        * orbsvcs/orbsvcs/Concurrency/CC_LockSetFactory: Changed the
          factory not to use an ACE_Lock, but rather to use the
          ACE_Thread_Mutex directly.

        * orbsvcs/orbsvcs/Concurrency/CC_LockSet: Changed _d to _i
          to be more consistent with ACE.

        * orbsvcs/orbsvcs/Concurrency/CC_LockSet: Don't create the
          Thread_Mutex as a pointer since it doesn't change.

        * orbsvcs/tests/Concurrency/CC_client.{h,cpp}
          orbsvcs/tests/Concurrency/CC_command.l
          orbsvcs/tests/Concurrency/CC_command.y
          orbsvcs/tests/Concurrency/Makefile
          Now using yacc. Now patching the generated files like SVC
          in order to make them more portable. Patching not used yet.

        * orbsvcs/tests/Concurrency/CC_client.{h,cpp}
          orbsvcs/tests/Concurrency/CC_command.l
          orbsvcs/tests/Concurrency/CC_command.y
          orbsvcs/tests/Concurrency/Makefile
          Now using yacc. Now patching the generated files like SVC
          in order to make them more portable. Patching not used yet.

Wed Jun 17 11:46:49 1998  David L. Levine  <levine@cs.wustl.edu>

        * TAO_IDL/Makefile: suppressed some warnings from DEC cxx.

        * TAO/tests/Cubit/TAO/MT_Cubit/Task_Client.h: removed unused
          static variables.

Tue Jun 16 17:00:14 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * TAO_IDL/be_include/be_interface.h: Added a helper called
          "collocated_ctor_helper" that will be passed to the
          traverse_inheritance_graph to generate calls to the CTORs of each
          and every base class in the viryal inheritance hierarchy

        * TAO_IDL/be/be_interface.cpp: Added code for
          collocated_ctor_helper method.

        * TAO_IDL/be/be_visitor_interface.cpp: In the constructor for the
          collocated class, we now call the interface node's
          traverse_inheritance_graph with collocated_ctor_helper method as
          the callback. This will generate calls to the ctors of all the
          base classes in the entire class hierarchy.

        * TAO_IDL/be/be_visitor_exception.cpp: On suggestions by Irfan,
          the generated code no more duplicates the typecode. Instead, it
          will be the receipient's responsibility to duplicate the typecode
          for the exceptions.

        * TAO_IDL/be/be_visitor_union_branch.cpp: A quick fix has been
          made in the generated modifier functions. We now make sure that
          memory is allocated to pointer union members if they were not
          already set. Note that this solution is simply a quick fix to
          allow making progress for IDl using unions. We still need to make
          sure that old storage is freed. Will be done in the next attempt.
          Thanks to Seth for reporting the problem.

Tue Jun 16 16:52:16 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * orbsvcs/Event_Service/Makefile:
        * orbsvcs/tests/Event_Latency/Makefile:
          Updated dependencies.

1998-06-16  Torben Worm  <tworm@cumbia.cs.wustl.edu>

        * orbsvcs/tests/Concurrency/Makefile, CC_command.tab.cpp
          Removed error detected by DU cxx.

Tue Jun 16 15:39:43 1998  David L. Levine  <levine@cs.wustl.edu>

        * orbsvcs/tests/Simulator/ss: use perl instead of cut to
          extract uid and NameService IOR.  It no longer extracted
          the NameService IOR.  The new method is based on regular
          expressions instead of character counts, so is more resilient.
          Ported to Linux (and many other Unix platforms that don't
          have ksh).

        * tests/Cubit/TAO/IDL_Cubit/collocation_test.cpp: added ACE_THR_FUNC
          static cast of svr_worker to avoid warning on VxWorks.

Tue Jun 16 15:14:50 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/ORB_Core.cpp (inherit_from_parent_thread): Also inherit the orb
          from the spawning thread.

Tue Jun 16 15:10:11 1998  Chris GIll <cdgill@cs.wustl.edu>

        * orbsvcs/orbsvcs/Scheduler_Factory.{cpp,h,i}

          Added usability features.  Added status enumerated
          type and accessor so user can see if factory is
          uninitialized, set up for a config run, or set up
          for run time.  Added explicit type casts for
          enumerated types to output of dump_schedule,
          added defaulted argument to allow a different format
          string to be used in dump_schedule, made default
          format print each struct initialization array on a
          single column aligned line.

        * orbsvcs/orbsvcs/Sched/Config_Scheduler.cpp

          Removed duplicated explicit template instantiations for
          scheduling strategy instantiations of strategy scheduler.

        * orbsvcs/orbsvcs/Sched/DynSched.cpp

          Fixed bug in add_dependency: put in a break so case
          for ONE_WAY dependency does not fall through to default.

Tue Jun 16 13:50:33 1998  Seth Benjamin Widoff  <sbw1@waltz.cs.wustl.edu>

        * orbsvcs/test/AVStreams/mpeg/source/server/augmented_server.{h,cpp}:
          This new version of the AVStreams demo server, augmented_server,
          exports an offer to the Trading Service containing a reference to the
          MMDevice and a number of properties describing the MMDevice.

        * orbsvcs/test/AVStreams/mpeg/source/server/Machine_Properties.{h,cpp}:
        * orbsvcs/test/AVStreams/mpeg/source/server/Video_Repository.{h,cpp}:
          Dynamic Property callback handlers that supply values
          for AV server machine performance, and the names and descriptions
          of movies offered by the AV server.

        * orbsvcs/test/AVStreams/mpeg/source/server/Property_Exporter.{h,cpp}:
          Utility to make it simpler for the augmented_server to export an
          offer to the Trading Service.

Tue Jun 16 14:44:42 1998  Nagarajan Surendran  <naga@cs.wustl.edu>

        * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/Command_Handler.cpp:
          Added acceptor code to accept connection from the java GUI.
          Added code to read the MMDevice ior and movie name from the
          socket to java GUI.

1998-06-16  Torben Worm  <tworm@cumbia.cs.wustl.edu>

        * orbsvcs/tests/Concurrency/CC_command.h, CC_client.cpp
          Removed errors detected by DU cxx

        * orbsvcs/orbsvcs/Concurrency/CC_LockSet.{h,cpp}
          Cleaned up debugging code.

Tue Jun 16 14:01:52 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/CDR.cpp:
          Fixed potential inifinite loop in buffer growth if the initial
          buffer size was 0. Thanks to Stuart Myles
          <smyles@wsj.dowjones.com> for detecting this.

Tue Jun 16 10:33:20 1998  David L. Levine  <levine@cs.wustl.edu>

        * TAO/orbsvcs/tests/Event_Latency/Event_Latency.cpp:
          use ACE_U64_TO_U32 conversion macro.  WIN32's __int64
          and ACE_U_LongLong need an explicit narrowing to 32 bits.  This
          macro provides a consistent way to do that on all platforms.

Tue Jun 16 10:14:28 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/CDR.cpp:
          Fixed memory leak on OutputCDR streams, thanks to Lothar
          Werzinger <lwerzinger@krones.de> for reporting and tracking down
          the problem.

Mon Jun 15 23:13:46 1998  David L. Levine  <levine@cs.wustl.edu>

        * TAO version 0.1.28 released.

Mon Jun 15 20:56:20 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tao/POAC: Changed all the exception from user exceptions to
          system exceptions.

        * tao/GIOP.cpp (convert_CORBA_to_GIOP_exception): Added new
          function to convert CORBA Exception type to GIOP reply type.

        * tao/Exception.cpp

          (init): Register POA exceptions as system exceptions

          (exception_type): Added code to determine if exception is a POA
          exception.

          (print_exception): Changed code to use exception_type.

          Removed sys_exceptions and NUM_SYS_EXCEPTIONS.  They were not
          being used.

        * tao/Connect.cpp (send_error): Cannot assume that the exception
          is a system exception.  Must use
          TAO_GIOP::convert_CORBA_to_GIOP_exception to find the correct
          type of the exception.

Mon Jun 15 16:14:28 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * test/Cubit/TAO/IDL_Cubit/collocation_test.cpp: New program to
          test the performance of collocation optimization.

        * test/Cubit/TAO/IDL_Cubit/server_i.{h,cpp}:
        * test/Cubit/TAO/IDL_Cubit/client_i.{h,cpp}:
        * test/Cubit/TAO/IDL_Cubit/server.cpp:
        * test/Cubit/TAO/IDL_Cubit/client.cpp: Extracted out the
          implementation of Cubit_Server and Cubit_Client to *_i.{h,cpp}
          so that I can reuse them with collocation_test.cpp.

          When shutting down the ORB, the client side will first turn off
          the collocation optimization and get the shutdown object from
          Naming Service.  Then, it calls the shutdown method of that
          object.  Without this, we can't shutdown the server ORB.

        * test/Cubit/TAO/IDL_Cubit/svc.conf: Changed to use TSS resource.

        * test/Cubit/TAO/IDL_Cubit/cubit_i.cpp:
        * test/Cubit/TAO/IDL_Cubit/cubit.idl:  Added a new interface for
          shutting down the server ORB.  This is necessary because we
          can't use the shutdown in collocated object (which shuts down
          the wrong ORB.)

        * test/Cubit/TAO/IDL_Cubit/Makefile: Added settings for building
          collocation_test.  Tidy up the Makefile a bit.

        * tests/Cubit/TAO/IDL_Cubit/README: Added documentation for
          collocation_test.

        * tao/ORB_Core.{h,i} (using_collocation): Added a new method to allow
          turn on/off collocation optimization at run time.

Sat Jun 13 13:20:58 1998  David L. Levine  <levine@cs.wustl.edu>

        * orbsvcs/orbsvcs/Concurrency/CC_LockSet.cpp: added explicit
          template instantiations.

        * tao/POA.i (find_POA): rearranged to avoid use before
          definition.

Fri Jun 12 20:20:00 1998  Michael Kircher <mk1@cs.wustl.edu>

        * tao/{Object_KeyC.cpp, Typecode_Constants.cpp}: Changed the
          typecode manually.

Fri Jun 12 19:34:00 1998  Michael Kircher <mk1@cs.wustl.edu>

        * tao/POAC.cpp: The generation of the typecodes has changed,
          this file had to be changed manually.

Fri Jun 12 16:53:49 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * TAO_IDL/be/be_decl.cpp (gen_name2long): Michael found out that
          the TAO_IDL compiler was generating non-portable code for the
          TypeCode arrays of longs for the RepoID and the name. After
          discussions with Doug and Irfan, we have decided to always
          generate the arrays in network order (big endian) and add an
          ACE_NTOHL macro as the static array is initialized. This way there
          won't be any run-time penalty. At the same time, the code will be
          portable.

        * TAO_IDL/{be_enum, be_exception, be_interface, be_structure,
          be_typedef, be_union, be_predefined_type, be_field, be_enum_val,
          be_union_branch}.cpp: Added the call to ACE_NTOHL macro for the
          arrays of long that are generated for TypeCodes.

        * tests/Param_Test/params.idl: Added interface definition for
          tests for arrays. This is still not working at this time.

Fri Jun 12 15:39:41 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tests/POA/Generic_Servant: Added oneway calls.

Fri Jun 12 15:01:16 1998  Marina Igorevna Spivak  <marina@flamenco.cs.wustl.edu>

        * orbsvcs/orbsvcs/Naming/CosNaming_i.cpp: Added _env parameter to
          <get_context> helper method, and added the check of environment in
          all methods using <get_context>.  This is to allow exceptions
          propagate back.

1998-06-12  Torben Worm  <tworm@cumbia.cs.wustl.edu>

        * orbsvcs/Concurrency/CC_LockSet.{h,cpp}
          Added locks to avoid race conditions.
          Corrected errors regarding the semantics of the service
          One issue is still outstanding: The use of a semaphore to
          lock the threads which do not preserve the ordering of the
          locking.

Fri Jun 12 11:48:00 1998  Michael Kircher <mk1@cs.wustl.edu>

        * tao/POAC.cpp: The TAO_IDL compiler generates platform
          dependent code for typecodes right now. POA.idl is !not!
          recompiled on a compilation, because it has been customized.
          This means, that a ifdef is needed to cover for the
          platform dependence.

Fri Jun 12 09:43:14 1998  David L. Levine  <levine@cs.wustl.edu>

        * tao/Connect.cpp (send_error): dereferenced
          forward_request_ptr->forward_reference so that it compiles
          with g++.

Fri Jun 12 9:00:00 1998  Michael Kircher <mk1@cs.wustl.edu>

        * tao/Connect.cpp: Removed my own bug, using a var as a ptr.

Thu Jun 11 21:30:00 1998  Michael Kircher <mk1@cs.wustl.edu>

        * tests/POA/Forwarding/{client, server}.cpp: cleaned up the code.

Thu Jun 11 21:15:00 1998  Michael Kircher <mk1@cs.wustl.edu>

        * tao/Connect.cpp: Added send_error, which does proper system exception handling
          and marshalling.

        * tao/Connect.h: Added the request_id as parameter to handle_message and
          handle_locate

        * tao/GIOP.cpp: Changed the forwarding. A method named location_forward has been
          introduced. It changes the IIOP_Profile of the object reference in copying the IIOP_Profile
          from the object where the requests should go to, now.

        * tao/GIOP.h: Added the TAO_GIOP_Invocation::location_forward (CORBA::Environment &env);

        * tao/IIOP_ORB.cpp: The IIOP_Object pointer is now released in each case, not only
          in the error case. This was necessary, because the control was given to the caller
          and the ref_count was to high.

        * tao/IIOP_Object.cpp: Implemented the copy operator on IIOP_Profile, which is needed
          by the above mentioned location_forward method.

        * tao/IIOP_Object.h: Removed old forward profile things and changed the copy operator

        * tao/IIOP_Object.i: Removed old forward profile stuff.

        * tao/Server_Request.cpp: Changed the exception handling. We have now a special
          case of the forward_request exception. This exception contains an object reference
          to a object at the new location.

        * tao/Server_Request.h: Added  "CORBA::ULong request_id (void)" to query the request_id and
          added a member "CORBA::Object_var forward_location_".

        * tao/Server_Request.i: added ACE_INLINE CORBA::ULong IIOP_ServerRequest::request_id (void)

        * docs/releasenotes/index.html: Added a reference to location forwarding.

        * docs/forwarding.html: Documentation about location forwarding.

Thu Jun 11 21:09:30 1998  David L. Levine  <levine@cs.wustl.edu>

        * tests/Quoter/Quoter_Impl.cpp (Quoter_Factory_Impl ctor):
          dereference quoter_ior in ACE_DEBUG statement.

Thu Jun 11 18:22:50 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tao/ORB_Core.cpp: Added template instantiations for Write_Guard
          and Read_Guard.

Thu Jun 11 16:45:11 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * TAO_IDL/be/be_array.cpp: (gen_encapsulation, gen_encap_len):
          Added code that generates the TypeCode and encapsulations for
          Arrays.

          be_array::gen_forany_{defn,impl}: Added a "nocopy ()" method that
          returns the "nocopy" flag. This is useful for the <<+ and >>=
          operators.

          Also, removed a lot of code that was commented out.

        * TAO_IDL/be_include/be_visitor_array.h
          TAO_IDL/be/be_visitor_array.cpp: These are newly added files.

          Added a bunch of visitors that generate code for Arrays. As of now
          only typedefined arrays have been handled. Work is still going on
          for anonymous arrays.

        * TAO_IDL/Makefile: Added be_visitor_array.cpp for compilation

        * TAO_IDL/be/be_interpretive.cpp: Added cases for the Array
          visitors.

        * TAO_IDL/be/{be_visitor_enum, be_visitor_exception,
          be_visitor_interface, be_visitor_sequence, be_visitor_structure,
          be_visitor_typedef, be_visitor_union}.cpp: Fixed an error in the
          generate code for the "non copying" and "copying" versions of the
          <<= operators.

        * TAO_IDL/be/be_visitor_interface.cpp: After discussions with
          Irfan, we now use POA_var as a data member inside the generated
          TIE classes. In addition, the code for the _default_POA, which
          previously was incorrect, is now fixed.

        * TAO_IDL/be/be_visitor_sequence.cpp: We now always create a name
          for the sequence node even when it is imported. The reason we have
          to do this is that an imported sequence node may very well be used
          in another IDL file. Thus, while code generation, if the name was
          not set, then it resulted in seg faults. Thanks to John Geiss"
          <jtgb@eci-esyst.com> for reporting the problem.

        * TAO_IDL/be/be_visitor_typedef.cpp: For typedefs of a typedef to
          an array, we simply generate the typedefs for the _var, _out,
          _forany types. In addition, inline functions for the _alloc, _dup,
          _copy, and _free are generated.

        * orbsvcs/orbsvcs/Makefile: In the realclean target, added the
          *_T.* files that need to be cleaned.

Thu Jun 11 15:32:02 1998  Sergio Flores  <sergio@polka.cs.wustl.edu>

        * tests/Cubit/TAO/MT_Cubit/Makefile:
        * tests/Cubit/TAO/MT_Cubit/Task_Client.{h,cpp}:
        * tests/Cubit/TAO/MT_Cubit/Util_Thread.cpp:
        * tests/Cubit/TAO/MT_Cubit/client.cpp:
        * tests/Cubit/TAO/MT_Cubit/cubit_i.{h,cpp}:
        * tests/Cubit/TAO/MT_Cubit/server.{h,cpp}: Added the server utilization
          test.  Use "-U" on both the client and the server.

Thu Jun 11 15:26:36 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/ORB_Core.{h,cpp} (inherit_from_parent_thread): This new
          method was added to TAO_ORB_Core to localize all inheriting
          operations needed when spawning new threads to handle incoming
          requests.

        * tao/Connect.cpp (svc): Changed to use
          inherit_from_parent_thread.

Thu Jun 11 13:01:11 1998  Chris Gill  <cdgill@cs.wustl.edu>

        * orbsvcs/orbsvcs/Sched/DynSched.cpp:

          Changed ACE_Thread_Mutex to ACE_SYNCH_MUTEX in
          template instantiation statements and pragmas

Thu Jun 11 12:40:11 1998  Michael Kircher  <mk1@cs.wustl.edu>

        * tao/Exception.cpp: Method Release created an any, named
          free_it_all, which was responsible in old time to
          deep free memory. Now that that Any automatically
          encodes its content in a CDR stream this is no more
          the right thing to do. It actually can create a
          infinite loop, if an exception is thrown within
          the encoding code. So it has been replaced by a
          delete this command.

Thu Jun 11 11:25:11 1998  Michael Kircher  <mk1@cs.wustl.edu>

        * orbsvcs/LifeCycle_Service/LifeCycle_Service.dsp: Added
          proper multithreaded support.

        * orbsvcs/orbsvcs.dsw: Added the LifeCycle_Service

Thu Jun 11 09:39:11 1998  David L. Levine  <levine@cs.wustl.edu>

        * orbsvcs/orbsvcs/Event/Event_Channel.cpp: changed the
          ACE_EC_Gateway template instantiations to TAO_EC_Gateway.

        * tests/Cubit/TAO/MT_Cubit/server.cpp (start_servants):
          changed types of local i, and global num_of_objs, to u_int
          to avoid signed/unsigned comparisons.

Thu Jun 11 00:14:25 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tao/Connect.cpp (TAO_Server_Connection_Handler): Reordered base
          class / member initialization.

Wed Jun 10 20:00:21 1998  Michael Kircher  <mk1@cs.wustl.edu>

        * tests/POA/Forwarding/*: enhanced the Forwarding test enormously.

Wed Jun 10 19:00:21 1998  Carlos O'Ryan  <coryan@JIG>

        * tao/Sequence.cpp:
          Fixed small bug in octet sequence assignment operator.

Wed Jun 10 16:09:49 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tao/ORB.cpp: fixed template instantiations: ACE_SYNCH_MUTEX
          instead of ACE_SYNCH_RW_MUTEX.

        * tao/POAS.h (POA_PortableServer): Added missing TAO_Exports.

        * tests/POA/DSI: New test directory to show DSI features in TAO.

        * tests/POA/TIE: New test directory to show TIE features in TAO.

1998-06-10  Torben Worm  <tworm@cumbia.cs.wustl.edu>

        * orbsvcs/orbsvcs/Concurrency/CC_LockSet.{h,cpp}
          Added multiple possesion semantics. CC_Lock.{h,cpp} is
          not used anymore.

Wed Jun 10 14:29:55 1998  Chris Gill  <cdgill@cs.wustl.edu>

        * orbsvcs/orbsvcs/Sched/Config_Scheduler.{h,cpp}:

          Moved included header files from .cpp to .h to
          fix incomplete types error when compiling files
          that include the header file and are using the
          strategized scheduler implementation

        * orbsvcs/tests/EC_Multiple/Scheduler_Runtime1.h
          orbsvcs/tests/EC_Multiple/Scheduler_Runtime2.h:

          Fixed warning when compiling file that include these
          header files: set all Info_Type values to 0 (Operation).
          Values were 0-4, where the enum only goes 0-2

Wed Jun 10 13:03:03 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tests/POA/Explicit_Activation/server.cpp,
          tests/POA/Generic_Servant/client.cpp,
          tests/POA/NewPOA/NewPOA.cpp, and tests/POA/RootPOA/RootPOA.cpp:
          Use ACE_DEBUG instead of cout.

        * tao/Server_Request.cpp (dsi_marshal): Only marshal if the params
          are valid.

        * tao/ORB_Core.h: Changed the lock used by
          ACE_Cached_Connect_Strategy from a rw_mutex to a regular mutex.

        * tao/ORB.cpp: Changed CORBA::B_TRUE and CORBA::B_FALSE from enums
          to CORBA::Boolean.

        * tao/{Connect.cpp, ORB.cpp}: Fixed the template instantiations in
          lieu of the changes to Hash_Addr.

        * tao/Any.h: Added ACE_Export to nested structs.

Wed Jun 10 10:28:31 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:
          Added support to automatically create the publication and
          subscription lists for the gateways.

        * orbsvcs/orbsvcs/RtecEventChannelAdmin.idl:
          Added fields to the QOS structures so gateways can be
          distinguished in the EC.
          Several field names were inconsistent (some had a trailing _ and
          others won't).

        * orbsvcs/orbsvcs/Event_Utilities.h:
        * orbsvcs/orbsvcs/Event_Utilities.i:
          Adapted to use the changes in the QOS structures.

        * orbsvcs/orbsvcs/Event/EC_Gateway.h:
        * orbsvcs/orbsvcs/Event/EC_Gateway.cpp:
          As part of the plan to support UDP and multicast gateways we
          have a base class to handle all the different configurations for
          a gateway.

        * orbsvcs/orbsvcs/Event/Local_ESTypes.h:
          Removed a lot of BOAImpl typesdefs, they were completely
          outdated and quite ugly.

        * orbsvcs/orbsvcs/Event/RT_Task.cpp:
          Added code to call ORB_init() no each thread, but it is
          commented out until we know what arguments to pass and how.

        * orbsvcs/orbsvcs/Scheduler_Factory.h:
        * orbsvcs/orbsvcs/Runtime_Scheduler.cpp:
          We cannot use enums in the POD_RTInfo because those are hard to
          generate correctly.

        * orbsvcs/tests/EC_Multiple/svc.conf:
          I'm starting to set a more realistic config for the Event
          Channel, but we still have a lot of work to do in this area.

        * orbsvcs/tests/EC_Multiple/EC_Multiple.h:
        * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp:
          The test uses the automatic gateway connection now.

        * orbsvcs/tests/Simulator/Event_Supplier/Event_Sup.cpp:
          The ConsumerQOS and SupplierQOS structure have changed.

        * TAO_IDL/driver/drv_preproc.cpp:
          Fixed type in comment.

Tue Jun 09 17:27:25 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/Connect.{h,cpp} (activate): Added this method to
          Default_Server_Connection_Handler so we can prepare information
          for inheriting some objects/properties from the spawning thread.
          (svc): Inherit and setup some properties/objects from the parent
          thread.  Currently, only root poa is inherited in spawned
          threads.  I should probably add another method called inherit ()
          to handle this.  Anyhow, this solved the thread-per-connection
          problem.

        * tao/ORB_Core.cpp (add_to_collocation_table): Removed the
          explicit conversion from ACE_INET_Addr to ACE_Hash_Addr since
          Irfan fixed ACE_Hash_Addr::operator==.

Tue Jun 09 16:18:54 1998  David L. Levine  <levine@cs.wustl.edu>

        * Makefile: removed old release targets.  They're no longer
          used, or maintained.  Silenced the creation of INSTALL.

Tue Jun  9 15:57:28 1998  Seth Benjamin Widoff  <sbw1@waltz.cs.wustl.edu>

        * orbsvcs/orbsvcs/Trader: The Trading Service now uses ACE
          containers rather than stl containers.

        * orbsvcs/orbsvcs/Makefile: Since all stl containers in the
          Trading Service have been replaced with ACE analogues, I've
          updated the orbsvcs Makefile to eliminate the stl dependency.

Tue Jun 09 15:41:53 1998  David L. Levine  <levine@cs.wustl.edu>

        * TAO version 0.1.27 released.

Tue Jun  9 15:14:09 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * TAO_IDL/be/be_visitor_operation.cpp: There was an error in the
          generated code for the variable declaration of return types for
          type Anys in the skeletons. Fixed.

Tue Jun  9 13:29:19 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * TAO_IDL/be/be_visitor_typedef (be_visitor_typedef_ch::visit_predefined)

          We had forgottent to generate the typedef for the _var types for
          pseudo objects and Anys. Thanks to Seth Widoff for reporting
          this.

Tue Jun 09 12:52:59 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/ORB_Core.cpp (add_to_collocation_table): ACE_Hash_Addr must
          be created with recyclable flag set to 1 otherwise the
          Hash_Map_Manager can't find the object.

Tue Jun 09 11:43:19 1998  David L. Levine  <levine@cs.wustl.edu>

        * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp: added newline to
          shutdown message.

1998-06-09  Torben Worm  <tworm@cumbia.cs.wustl.edu>

        * Updated orbsvcs/tests/Concurrency/CC_command.h
          Removed warnings generated by g++

Tue Jun  9 08:53:30 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * TAO_IDL/be_include/be_codegen.h: Added two states (but no new
        visitors) for argument passing to the upcall for the collocated
        case. This was necessary since in this case, the argument is
        passed as it is. In the skeleton case, we may have _var variables,
        and hence we may have to pass the .in () or .inout () of those
        _var variables.

        * TAO_IDL/be/{be_visitor_enum, be_visitor_exception,
        be_visitor_interface, be_visitor_sequence, be_visitor_structure,
        be_visitor_typedef, be_visitor_union}.cpp:

        Once again, due to the compulsions of the MSVC++ compiler and the
        DLLs, we require the export/import macros for all the <<= and >>=
        operators so that they are visible outside.

        * TAO_IDL/be/be_visitor_args.cpp:
          TAO_IDL/be_include/be_visitor_args.cpp (be_visitor_upcall_ss):

        We were using _var variables to make sure that allocated memory
        was released after the marshaling is done and the skeleton has
        returned. However, for objrefs and strings, we ended up passing
        the .in () values of these _var parameters. The expected value was
        a pointer to the in () value. This is now corrected.

        Also dealt with the collocated case, where we simply pass the
        argument from the parameter list to the upcall as it is.

        Due to these two differences, we had to add a bunch of visit_*
        methods to the upcall_ss visitor.

        * TAO_IDL/be/be_visitor_operation.cpp: The same reasoning (case 1)
        given for be_visitor_args.cpp holds here too for the return value
        case.

1998-06-08  Torben Worm  <tworm@cumbia.cs.wustl.edu>

        * Updated orbsvcs/tests/Concurrency/CC_command.cpp because of an
          error reported by g++

        * Updated orbsvcs/tests/Concurrency/Makefile to reflect the
          changed stated below

        * Added the following files:
          orbsvcs/tests/Concurrency/CC_command.{h,cpp,y,l}: Command
          interpreter for the test language for the concurrency service.
          orbsvcs/tests/Concurrency/test.{basic,extended,e1,dinphil,
          phil[1-5]: Tests for the concurrency service.
          Updated:
          orbsvcs/tests/Concurrency/{README,CC_client} to be aware of
          the changes in CC_command.

Mon Jun 08 09:41:52 1998  David L. Levine  <levine@cs.wustl.edu>

        * tao/ORB_Core.cpp: added/fixed template instantiations.

Sun Jun  7 17:54:31 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * docs/Options.html: Added options available for ORB,
          Resource_Factory, and Default_Server_Strategy_Factory.

        * tao/IIOP_ORB.{h,cpp}: Removed _register_collocation from
          IIOP_ORB and all usage of it.  Also, when using a global
          collocation table, it gets the table from the resource factory.

        * tao/ORB.h: Remove pure virtual function _register_collocation.

        * tao/ORB.cpp: Register the ORB's listening endpoint to the global
          collocation table if we are using one.

        * ORB_Core.{h,i,cpp}: Added a new class TAO_COLTBL_Lock to choose
          the lock to use in global collocation table at run time.

          Added a command option in ORB_Core to disable collocation
          optimization and an option in  Resource Factory to decide to use
          a global collocation table or not.

          (using_collocation): Get whether we want to use the collocation
          optimization.

          (add_to_collocation_table): Used to register a listening
          endpoint when an ORB gets initialized.

          (get_collocated_poa): This function look thru the collocation
          table and return the root poa associate with the ORB.

          (get_global_collocation_table): Return a pointer to the global
          collocation table if we choose to use one, otherwise, return 0.

        * tao/Server_Strategy_Factory.{h,cpp} (create_coltbl_lock): Added
          new method to allow not using a lock in the global collocation
          table.

        * tao/default_server.{h,cpp} (create_coltbl_lock): Added
          implementation of this method.

Sat Jun 06 21:17:13 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tests/Cubit/TAO/MT_Cubit/{server,client}.dsp: Both projects now
          require to link against orbsvcs.lib.

Sat Jun  6 20:32:26 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * tests/OctetSeq/OctetSeq.cpp: Changed Test::_tc_CharSeq_seq and
          Test::_tc_OctetSeq_seq to Test::_tc_CharSeq and
          Test::_tc_OctetSeq.  Thanks to David Levine for spotting this.

Sat Jun 6 Alexander Babu Arulanthu  <alex@merengue.cs.wustl.edu>

        * docs/orbsvcs.html: Changed the test directory from
          CosPropertyService to Property.

Sat Jun 6 Alexander Babu Arulanthu  <alex@merengue.cs.wustl.edu>

        * Moved $TAO_ROOT/orbsvcs/tests/CosPropertyService to
          $TAO_ROOT/orbsvcs/tests/Property.

Sat Jun  6 18:55:51 1998  Sergio Flores  <sergio@cs.wustl.edu>

        * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp:
        * tests/Cubit/TAO/MT_Cubit/Task_Client.h:
        * tests/Cubit/TAO/MT_Cubit/client.cpp:
        * tests/Cubit/TAO/MT_Cubit/cubit.idl:
        * tests/Cubit/TAO/MT_Cubit/cubit_i.cpp:
        * tests/Cubit/TAO/MT_Cubit/cubit_i.h:
        * tests/Cubit/TAO/MT_Cubit/server.cpp:
        * tests/Cubit/TAO/MT_Cubit/server.h: Changed the code to use the
        same priority for all low priority clients.  Deleted unnecessary
        code that implemented a cubit factory, we now will use the file to
        store/retrieve the iors.  Fixed a bug having to with unsupported
        fields in the rusage structure for NT.

Sat Jun  6 17:35:59 1998  Douglas C. Schmidt  <schmidt@flamenco.cs.wustl.edu>

        * TAO_IDL/be/be_visitor_interface.cpp: Added CORBA::Environment
          &env to the _default_POA() tie method.  Thanks to David Levine
          for reporting this.

        * orbsvcs/orbsvcs/Log/Logger_i.cpp: Added a simple-minded
          implementation of the log() method.  This can certainly be
          improved...

Fri Jun  5 16:02:54 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/CDR.h:
        * tao/CDR.i:
        * tao/CDR.cpp:
          The output CDR class uses the Data_Block directly to minimize
          memory allocation.
          This has taken the count of memory allocations to 4 on the
          client side and 4 on the server side.

        * tao/GIOP.cpp:
          OutputCDR::stream() now returns a const message block.

        * tests/Param_Test/client.cpp:
        * tests/Param_Test/driver.h:
        * tests/Param_Test/driver.cpp:
        * tests/Param_Test/options.h:
        * tests/Param_Test/options.cpp:
        * tests/Param_Test/param_test.idl:
        * tests/Param_Test/param_test_i.h:
        * tests/Param_Test/param_test_i.cpp:
          It is now possible to shutdown the server using a method, this
          is useful to test memory leaks because the client can request a
          clean shutdown (using the option -x).

        * TAO_IDL/be/be_visitor_operation.cpp:
          For some types the return values were not deleted at the end of
          the upcall. I'm using T_var classes to automatically release the
          memory.

Fri Jun  5 12:22:44 1998  Darrell Brunsch <brunsch@cs.wustl.edu>

        * tao/debug.{h,cpp}: Added TAO_orbdebug flag so TAO code
          does not check the flag in Service Configurator anymore.
          That way, it should still work when there isn't a
          Service Configurator.

        * tao/Connect.cpp: Made the switch to TAO_orbdebug.

        * tao/ORB_Core.cpp: First, since the semantics of the -d
          flag in the Service Configurator now means to suppress
          debug messages, it is now passed in by default unless
          -ORBdebug was specified.  Also sets TAO_orbdebug when
          -ORBdebug is specified.

Thu Jun 04 05:05:39 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO version 0.1.26 released.

Thu Jun 04 03:45:12 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * TAO_IDL/be/be_visitor_interface.cpp
          (be_visitor_interface_sh::visit_interface): Don't change the
          output stream until the template declaration part is complete.
          This delayed redirection of output writes the generated template
          classes into regular *S.h file and get them enclosed by
          appropriate namespace there.  Perhaps we can put them in the
          *S_T.h files, but that won't make platforms which don't have
          namespace support happy.

        * TAO_IDL/be/be_visitor_module.cpp
          (be_visitor_module_sh::visit_module): Changed to use
          TAO_NAMESPACE as server side's module namescope.

Wed Jun  3 17:50:09 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        Irfan Pyarali discussed the need to generate *_T.{h, i, cpp} files
        that hold the generated code for the TIE classes. The *_T.h file
        uses the ACE_TEMPLATES_REQUIRE_SOURCE and
        ACE_TEMPLATES_REQUIRE_PRAGMA macros to conditionally include the
        *_T.cpp files. The following changes were necessary to suport
        these features.

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

        Added more methods and data mebers for the server-side template
        files that have the code for the TIE classes. The added methods
        are: start_server_template_header, start_server_template_inline,
        start_server_template_skeletons, end_server_template_header, and
        end_server_template_skeletons. The corresponding data members were
        added.

        * TAO_IDL/be_include/be_helper.h: Added 3 new enumerations for the
        three newly introduced streams that will hold code for the TIE
        classes.

        * TAO_IDL/be_visitor_interface.cpp: We now initialize the visitor
        context of the TIE visitors with the appropriate *_T.{h, i} files.

        * TAO_IDL/be_visitor_root.cpp: Made calls to initialize and close
        the newly added streams that hold the code for the TIE classes.

        * TAO_IDL/include/idl_global.h:
          TAO_IDL/utils/utl_global.cpp:

        Added new methods that generate names for the newly introduced
        streams that hold the code for TIE classes. These methods are:
        be_get_server_template_fname, be_get_server_template_inline_fname,
        be_get_server_template_inline_skeleton_fname and their
        corresponding helper methods.

Tue Jun  2 18:57:08 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * TAO_IDL/be/{be_visitor_enum, be_visitor_exception,
        be_visitor_interface, be_visitor_sequence, be_visitor_structure,
        be_visitor_typedef, be_visitor_union}.cpp:
        Factored out some code that should have been placed inside the
        TypeCode visitors.

        * TAO_IDL/be/be_visitor_typecode.cpp: Added teh factored out code
        mentioned above.

        * TAO_IDL/be_include/be_codegen.h: Added a few more enumerations
        that deal with generation of the TIE classes and code for
        interfaces, operations and attributes.

        * TAO_IDL/be/be_visitor_attribute.cpp: Added cases to deal with
        attribute mapping inside a TIE class.

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

        Added 2 new visitors for generation of the TIE class and its code
        in the server header and server inline file.

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

        Added 2 new visitors for generation of the operations and its code
        inside the TIE class in the server header and server inline file.

        * TAO_IDL/be/be_interpretive.cpp: Added cases for the TIE visitors
        for interfaces, operations and attributes.

        * docs/releasenotes.index.html: Updated to indicate support for
        TIEs.

Tue Jun 02 08:35:58 1998  David L. Levine  <levine@cs.wustl.edu>

        * tests/Cubit/TAO/MT_Cubit/server.cpp: added cast to avoid
          signed/unsigned comparison.

        * tests/Cubit/TAO/MT_Cubit/server.cpp: added cast to avoid
          signed/unsigned comparison.  Reordered initializers to
          match declaration order.

Tue Jun 02 08:29:20 1998  David L. Levine  <levine@cs.wustl.edu>

        * orbsvcs/Event_Service/Makefile,orbsvcs/tests/EC_Multiple/Makefile,
          orbsvcs/tests/Event_Latency/Makefile,tao/Makefile:
          moved probe=1 support from individual Makefiles to
          wrapper_macros.GNU.

Mo Jun 1  21:36:00 1998  Michael Kircher  <mk1@cs.wustl.edu>

        * tests/Quoter: Several files had to be modified in order
          to use the LifeCycle Service now as a separate object as
          part of the orbsvcs.

        * orbsvcs/LifeCycle_Service: Did some more customizations.

Mon Jun  1 15:48:28 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * tao/orbconf.h: Modified the TAO_NAMESPACE related macros. Added
        some more to deal with the nested namespaces that can occur due to
        nested modules.

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

          Added two new files that define a new visitor which will
          generate code for different types. The TypeCode generation now
          uses the different NAMESPACE related macros described above.

        * TAO_IDL/be_include/be_codegen.h: Added two new enumerations for
        the TypeCode generating visitors.

        * TAO_IDL/be/{be_visitor_enum, be_visitor_exception,
        be_visitor_interface, be_visitor_sequence, be_visitor_structure,
        be_visitor_typedef, be_visitor_union}.cpp: Used the new TypeCode
        visitors. One advantage of using these is that all code gets
        factored into a visitor. At the same time, we can conditionally
        opt not to generate the TypeCodes. This may be desired for
        compiled marshaling.

        In be_visitor_sequence.cpp, we do not generate the typecode if the
        sequences was typedefed.

        * TAO_IDL/be_include/be_visitor_constant.h
          TAO_IDL/be/be_visitor_constant.cpp: Added similar logic to the
          TypeCode generation when constants are defined insided modules
          that get mapped to namespaces.

        * TAO_IDL/be/be_interpretive.cpp: Added cases to deal with the two
        new TypeCode generating visitors.

        * TAO_IDL/fe/{idl.yy, y.tab.cpp}: Removed some incorrect code in
        the action part of the idl.yy file.

        * TAO_IDL/Makefile: Reran make depend.

Mo Jun 1  14:37: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/Event/Dispatching_Modules.{cpp, h, i}
          orbsvcs/orbsvcs/Event/Event_Channel.cpp
          orbsvcs/orbsvcs/Event/RT_Task.cpp
          orbsvcs/orbsvcs/Sched/Config_Scheduler.{cpp, h}
          orbsvcs/orbsvcs/Sched/DynSched.{cpp, h}
          orbsvcs/orbsvcs/Sched/SchedEntry.h
          orbsvcs/orbsvcs/Sched/Scheduler.{cpp, h}

          Removed Dynamic Subpriority from RtecScheduler IDL
          interface: both static and dynamic subpriorities
          now map into a single preemption subpriority value

        * orbsvcs/tests/Sched_Conf/Sched_Conf.cpp
          orbsvcs/tests/Sched_Conf/Sched_Conf.{dsp, dsw}
          orbsvcs/tests/Sched_Conf/Makefile

          Added a "test" program that simulates a configuration
          run and generates a runtime scheduler header: to use
          the strategized scheduler for static RMS scheduling,
          put the following at the beginning of ace/config.h:

          #define TAO_USES_STRATEGY_SCHEDULER
          #define TAO_USES_RMS_SCHEDULING
          #define TAO_MIN_CRITICAL_PRIORITY 3

Mo Jun 1  10:16:00 1998  Michael Kircher  <mk1@cs.wustl.edu>

        * docs/orbsvcs.html: Added the LifeCycle Service to the list
          of services.

        * docs/releasenotes/index.html: Added new information about
          DOVE to the file.

Mo Jun 1  10:16:00 1998  Michael Kircher  <mk1@cs.wustl.edu>

        * orbsvcs/LifeCycle_Service: Created the LifeCycle Service.

        * orbsvcs/Makefile: Added the LifeCycle Service to the list
          of directories.

        * orbsvcs/orbsvcs/Makefile: Added the LifeCycleService* files.

        * orbsvcs/orbsvcs/LifeCycleService.idl: Created an IDL
          file describing the interface of the LifeCycle Service.

Fri May 29 17:58:16 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO version 0.1.25 released.

Fri May 29 16:03:00 1998  Nagarajan Surendran  <naga@cs.wustl.edu>

        * tests/Cubit/TAO/IDL_Cubit/IDL_Cubit_Test.cpp: Removed the
        terminate calls by adding -x option to the client so that it shuts
        down the server.

Fri May 29 13:00:35 1998   Michael Kircher <mk1@cs.wustl.edu>

        * tests/Quoter/Factory_Trader.cpp: CosTradingC.h is only
          parsed when the trading service is available.

Fri May 29 11:02:35 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * tao/orbconf.h: Removed an unnecessary OR condition for the
        TAO_NAMESPACE macro.

Fri May 29 09:15:49 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * tao/ORB_Core.cpp (init): Added code to pass svcconf directives
          to the Service Configurator.  Thanks to Mark Boriack for
          contributing this.

        * tao/ORB_Core.cpp (init): Make sure that we dynamically
          string_dup() ALL the argv/argc arguments, not just some of them,
          so that we can correctly clean stuff up when we're done.

Thu May 28 14:32:07 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * tao/Server_Request.cpp:(demarshal, marshal): more optimizations
        to get rid of the NVList and other DSI-centric logic in the
        handling of static skeletons generated by the IDL compiler. These
        optimizations are the result of my discussions with Irfan
        Pyarali.

Thu May 28 11:37:35 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * tao/orbconf.h: Removed the TAO_NAMESPACE_STORAGE_CLASS macro.

        * tao/CurrentS.cpp: In the initialization of the constructor, we
        were calling the default ctor of the base class. However, we now
        call the other ctor that takes the stub object and servant as
        arguments.

        * tao/{encode, decode}.cpp: In Struct::{encode, decode}, I had
        made an erroneous change a few days back where I was passing the
        address of a pointer. This was for the Objref and Typecode
        cases. Carlos pointed this out. Seth was getting lots of errors
        due to this. This has been fixed.

        * TAO_IDL/be/{be_visitor_enum, be_visitor_exception,
        be_visitor_interface, be_visitor_sequence, be_visitor_structure,
        be_visitor_typedef, be_visitor_union}.cpp:

        Reverted my previous change where I generated the
        TAO_NAMSPACE_STORAGE_CLASS macro if the data type was nested. We
        no more generate this macro and this macro has been removed from
        orbconf.h as explained above.

Thu May 28 00:08:19 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tao/orbconf.h (TAO_NAMESPACE_STORAGE_CLASS): Changed it from
          extern to static.

        * orbsvcs/orbsvcs/Naming/Entries.h: Removed the default for the
          binding type in the constructor of NS_IntId.  It was breaking
          VC5.0 if CosNaming was a namespace.

        * orbsvcs/orbsvcs/Naming/CosNaming_i.cpp (rebind): Added
          CosNaming::nobject as the binding type to NS_IntId instances
          since the default was removed in the constructor.

Wed May 27 17:56:07 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * TAO_IDL/be/be_visitor_module.cpp (visit_module): Supress
          generation of NT export specifier after TAO_NAMESPACE.

        * tao/CurrentS.cpp (_tao_collocated_Current): Changed
          "ACE_NESTED_CLASS (CORBA,Current)" to "CORBA_Current".

        * tao/POAS.cpp (_tao_collocated_Current): Changed
          "POA_CORBA::_tao_collocated_Current" to ACE_NESTED_CLASS
          (POA_CORBA,_tao_collocated_Current).

        * tao/POA_CORBA.h (_tao_collocated_Current): Changed its base
          class to CORBA_Current.

Wed May 27 16:08:10 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * TAO_IDL/be/{be_visitor_enum, be_visitor_exception,
        be_visitor_interface, be_visitor_sequence, be_visitor_structure,
        be_visitor_typedef, be_visitor_union}.cpp:

        The typecode declarations generated in the header file for
        user-defined IDL types used to be "static" if the data type was
        enclosed inside a module. However, for platforms that support
        "namespaces", this should be extern. Hence we generate a macro
        called "TAO_NAMESPACE_STORAGE_CLASS" defined in tao/orbconf.h

        * orbsvcs/orbsvcs/Makefile: Ran make depend since some files in
        TAO/tao were removed.

        * tao/PolicyS.{h, i}: Removed from the CVS repository

        * tao/CurrentC.{h, i, cpp}
          tao/CurrentS.cpp: Added to the repository. This defined the
          interface Current in the CORBA namespace. *NOTE* these are newly
          added files.

        * tao/ORB.h: Moved Declarations for RepositoryID and Identifier
        from the POA namespace to the CORBA namespace. Also added some
        more TypeCode declarations e.g., _tc_Current, _tc_Identifier,
        others.

        * tao/POAC.{h, i, cpp}: Removed everything related to
        CurrentBase. RepositoryID and Identifier are now in the CORBA
        namespace instead of the PortableServer namespace.

        * tao/POAS.{h, cpp}: PortableServer::Current now inherits from
        POA_CORBA::Current instead of PortableServer::CurrentBase.

        * tao/POA_CORBA.h: Merger of the PolicyS.h and CurrentS.h
        files. It defines the POA_CORBA namespace which is the C++ mapping
        for the CORBA module for the server-side. It defines the Policy
        and Current classes for the server-side. *NOTE* This is a newly
        introduced file.

        * tao/PolicyC.cpp: Moved the definition of the _tc_Policy typecode
        to the TypeCode constants file since this is owned by the ORB.

        * tao/Servant_Base.{h, cpp}: PortableServer::RepositoryId is now
        CORBA::RepositoryId.

        * tao/Typecode_Constants.cpp: Added new typecode definitions for
        all the newly introduced stuff as well as moved stuff such as
        Current, Policy, PolicyType, PolicyList, RepositoryId, and
        Identifier.

        * tao/orbconf.h: TAO_NAMESPACE macro is now "namespace" for
        platforms that supports it. Needs to be checked.

        * tao/Makefile: Did make depend.

Wed May 27 12:53:01 1998  David L. Levine  <levine@cs.wustl.edu>

        * orbsvcs/tests/EC_Multiple/Makefile: ran make depend to
          remove dependency on tao/Timeprobe.i.

        * orbsvcs/tests/Event_Latency/Event_Latency.cpp: added casts of
          ACE_hrtime_t to long now that ACE_hrtime_t is an __int64 on WIN32.
          Thanks to Irfan for reporting this.

Tue May 26 22:25:23 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/ORB.cpp (CORBA_ORB): Never assume a pointer will be
          initialized to null.

Tue May 26 21:32:03 1998  Douglas C. Schmidt  <schmidt@flamenco.cs.wustl.edu>

        * tao/GIOP.cpp (recv_request): Changed CDR::grow() to take an
          ACE_Message_Block * rather than an ACE_Message_Block *& since we
          don't seem to change the message block pointer in the method.
          Thanks to Nanbor for reporting this.

        * orbsvcs/orbsvcs/Naming/CosNaming_i.cpp (new_context): Add a
          couple of calls to the new init() method in the appropriate
          places.

        * orbsvcs/orbsvcs/Naming/CosNaming_i: Changed the implementation
          so there's now an init() method that must be called before using
          the NamingContext.  This is necessary to make sure we don't try
          to initialize the lock_ until the ORB has been initialized.

        * orbsvcs/orbsvcs/Naming/Naming_Utils.cpp: Changed the
          implementation to call init() on the NamingContext
          implementation.

Tue May 26 20:22:12 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/CDR.h:
        * tao/CDR.i:
        * tao/CDR.cpp:
        * tao/GIOP.cpp:
          I was able to remove a memory allocation on the client side by
          playing some tricks with the underlying Data_Block.

        * tests/CDR/basic_types.cpp:
          The ORB was destroyed before the test was run, hence all the
          Typecodes were invalid.

        * tests/Param_Test/tests.cpp:
          Disabled several DII tests because they will not compile.

Tue May 26 18:39:11 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/ORB.h:
        * tao/ORB.cpp:
        * tao/Server_Strategy_Factory.h:
        * tao/Server_Strategy_Factory.cpp:
        * tao/default_server.h:
        * tao/default_server.cpp:
          Added options to control the kind of locking in the ORB event
          loop (i.e. ORB::run), by default it acquires no locks.

        * tao/Object.h:
        * tao/Object.i:
          All the objects in the ORB that are reference counted do *not*
          have locks to protect the count.

Tue May 26 16:24:41 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/Server_Request.h:
        * tao/Server_Request.cpp:
          The Server Request does not need to copy the operation name from
          the CDR stream. In TAO there is no translation for strings and
          the underlying stream survives during all the invocation.
          Fortunately the strings in CDR are zero terminated.

Tue May 26 12:40:30 1998  Douglas C. Schmidt  <schmidt@flamenco.cs.wustl.edu>

        * tao/ORB.cpp: We seem to have an extra comma here...

Tue May 26 10:32:12 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * TAO_IDL/tao_idl.dsp: Updated project files per Andy's changes.

Tue May 26 10:03:51 1998  David L. Levine  <levine@cs.wustl.edu>

        * tests/NestedUpcall/server.cpp (init_naming_service): dereferenced
          the parameters to init () call.

        * tests/NestedUpcall/client.{h,cpp}: moved template instantiations
          from .h file to .cpp file.  Removed unused instantiations.

        * tests/NestedUpcall/NestedUpCalls_Test.cpp,NestedUpCalls_i.h,
          client.{h,cpp},eh_i.{h,cpp},reactor_i.{h,cpp},server.h:
          removed trailing ^M's from all lines.

Tue May 26 09:51:20 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        This ChangeLog entry describes massive cleaning efforts to
        remove all unwanted code as well as some more additions and
        modifications to the TAO IDL compiler.

        * TAO_IDL/Makefile: Removed compilation of all the be_state*
        files.

        * TAO_IDL/be_include/be_decl.h
          TAO_IDL/be/be_decl.cpp:
          Removed the gen_client_header, gen_client_inline,
          gen_client_stubs, gen_server_header, gen_server_inline,
          gen_server_skeleton methods.

        * TAO_IDL/be_include/

          be_argument.h
          be_array.h
          be_attribute.h
          be_constant.h
          be_enum.h
          be_enum_val.h
          be_exception.h
          be_field.h
          be_interface.h
          be_interface_fwd.h
          be_module.h
          be_native.h
          be_operation.h
          be_predefined_type.h
          be_root.h
          be_scope.h
          be_sequence.h
          be_string.h
          be_structure.h
          be_typedef.h
          be_union.h
          be_union_branch.h

                AND

        TAO_IDL/be/

          be_argument.cpp
          be_array.cpp
          be_attribute.cpp
          be_constant.cpp
          be_enum.cpp
          be_enum_val.cpp
          be_exception.cpp
          be_field.cpp
          be_interface.cpp
          be_interface_fwd.cpp
          be_module.cpp
          be_native.cpp
          be_operation.cpp
          be_predefined_type.cpp
          be_root.cpp
          be_scope.cpp
          be_sequence.cpp
          be_string.cpp
          be_structure.cpp
          be_typedef.cpp
          be_union.cpp
          be_union_branch.cpp

          Removed the gen_client_header, gen_client_inline,
          gen_client_stubs, gen_server_header, gen_server_inline,
          gen_server_skeleton methods.

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

          Added a bunch of enumerations for code generation of the Any <<=
          and >>= operators for all the IDL types

          Removed a bunch of methods and data members that were used for
          the state based approach.

        * TAO_IDL/be_interpretive.cpp: Added cases for the newly
        introduced enumerations for the <<= and >>= operators.

        * TAO_IDL/be_produce.cpp: added more documentation.

        * TAO_IDL/be_include/
                AND
          TAO_IDL/be

        {be_visitor_enum, be_visitor_exception, be_visitor_interface,
        be_visitor_module, be_visitor_root, be_visitor_sequence,
        be_visitor_structure, be_visitor_typedef, be_visitor_union}.{h,
        cpp}:

        Added visitors to each class called be_visitor_*_any_op_{ch,cs} to
        each file. These generate the <<= and >>= operators for all the
        types.

        * TAO_IDL/be_visitor_scope.cpp: Added a check to see if a node in
        the scope is NUL or not.

        * TAO_IDL/be_include/be_state.h

                AND

          TAO_IDL/be/
        {be_state, be_state_argument, be_state_array, be_state_attribute,
        be_state_exception, be_state_exception, be_state_operation,
        be_state_sequence, be_state_structure, be_state_typedef,
        be_state_union}.cpp:

        All these files are no longer needed.

Tue May 26 09:40:42 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tests/Makefile:
          NestedUpcall was not on the list.

        * tests/NestedUpcall/Makefile:
          Added a .PRECIOUS directive.

        * tests/NestedUpcall/Reactor.idl:
          The file was full of ^M (i.e. it was using DOS end-of-line)
          characters; that was confusing the IDL compiler.

        * TAO_IDL/be/be_visitor_args.cpp:
          The code generation for strings and anys as out parameters was
          broken.

Tue May 26 01:46:23 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tao/Timeprobe.h: Broke up this file in small pieces.  The time
          probe map is now split over many files, reducing the
          dependencies.

Mon May 25 18:42:25 1998  Nagarajan Surendran  <naga@tango.cs.wustl.edu>

        * tests/Cubit/TAO/IDL_Cubit/IDL_Cubit_Test.cpp: added
        -ORBobjrefstyle url and -ORBport 0 to both the client and server
        arguments.

Mon May 25 15:54:01 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/Timeprobe.h:
          Protected the file against multiple inclusion.

        * tao/Makefile:
        * tao/orbsvcs/orbsvcs/Makefile:
          Updated dependencies.

Sat Apr 18 01:27:52 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tao/Timeprobe.h: Added more timeprobes to POA, ORB, and GIOP.

        * TAO: Change the use of time probes.  The new ACE scheme is now
          used.

Mon May 25 11:58:35 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tests/Quoter/client.cpp:
        * tests/Quoter/Factory_Finder.cpp:
        * tests/Quoter/Generic_Factory.cpp:
        * tests/Quoter/Life_Cycle_Service.cpp:
          Added several .in() calls to disambiguate things, otherwise g++
          gets really confused.

Mon May 25 10:04:52 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/GIOP.cpp:
          Removed some superflous memory allocations and copys.

        * tao/CDR.cpp:
          write_octet_array_mb() was returning -1, but it should return a
          CORBA_Boolean, thanks to David Levine (levine@cs.wust.edu) for
          detecting this one.

Mon May 25 09:55:36 1998  David L. Levine  <levine@cs.wustl.edu>

        * ace/Sequence.cpp (TAO_Unbounded_Sequence ctor): initialize base
          class before data members.

Sun May 24 22:04:34 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * TAO_IDL/be/be_visitor_args.cpp:
          Fixed some mistakes in previous change.

Sat May 23 21:50:00 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/CDR.h:
        * tao/CDR.i:
        * tao/CDR.cpp:
          The no copy marshalling of octet sequences can only be applied
          if the octet sequence owns its memory through a message block.

        * tao/Connect.cpp:
          The input stream is allocated from the heap to permit the no
          copy optimizations to work.

        * tao/GIOP.cpp:
          Fixed some unitialized memory read problems.

        * tao/Request.cpp:
          The result was not released.

        * tao/Sequence.h:
        * tao/Sequence.cpp:
          Added constructor based on a Message_Block.
          Fixed memory deallocation in _allocate_buffer() for octet
          sequences.

        * tao/Typecode.cpp:
          The buffer was not released every time.

        * TAO_IDL/be/be_visitor_args.cpp:
          The return value must be allocated by the upcall and is held in
          a _var variable to guarantee automatic release.

        * tests/Cubit/TAO/IDL_Cubit/client.cpp:
          The result is released by the request, no need to release it in
          the invocation.

        * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp:
          Initialize the octet sequence using a Message Block to exploit
          the no copy marshalling.

        * tao/Any.cpp:
          The cdr buffer must be released always.

Fri May 22 16:39:14 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * orbsvcs/orbsvcs/Naming/CosNaming_i.cpp (NS_NamingContext): Use
          the lock returned by server_factory ()-> create_servant_lock ()
          instead of hacking its own.

        * tao/default_server.cpp (create_servant_lock): Changed to use
          ACE_Recursive_Thread_Mutex to avoid further trouble.

Fri May 22 12:29:28 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tao/Connect.cpp (handle_message): Simplified code in this file.

        * tao/GIOP.cpp (writev_n): Changed TAO to use the new
          ACE_IO_Vector class.

        * poaC.* (PortableServer): Updated the old exceptions in the POA
          generated code.

        * tao/Server_Request.h (IIOP_ServerRequest): Merged the
          ServerRequest and the GIOP_RequestHeader class into one
          class. When these classes were separate, there were too many
          questions about ownership of memory.  The separation also caused
          extra memory allocations and tight coupling between the two
          classes.

Fri May 22 10:24:48 1998  David L. Levine  <levine@cs.wustl.edu>

        * tests/Quoter/Factory_Finder.cpp,Generic_Factory.cpp,
          Life_Cycle_Service.cpp,Quoter_Impl.cpp:
          added explicit int return value to function definition.

        * tests/Quoter/Criteria_Evaluator.cpp (getInitialization):
          initialized sequence_ptr to 0 to avoid warning about use
          of uninitialized variable.  It looks like the implementation
          is incomplete, though.

Fri May 22 10:15:30 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/ORB_Core.cpp:
          The -ORBCDRtradeoff option had no effect, thanks to David Levine
          (levine@cs.wust.edu) for catching that one.

1998-05-22  Torben Worm  <tworm@cumbia.cs.wustl.edu>

        * orbsvcs/orbsvcs/Concurrency/CC_LockSet.cpp
          Removed unreached statement

Fri May 22 07:34:35 1998  David L. Levine  <levine@cs.wustl.edu>

        * TAO version 0.1.24 released.

Thu May 21 21:59:19 1998  David L. Levine  <levine@cs.wustl.edu>

        * TAO version 0.1.23 released.

Thu May 21 17:28:55 1998  David L. Levine  <levine@cs.wustl.edu>

        * tao/GIOP.cpp (writev_n): added static cast of iov_len to
          ssize_t to avoid signed/unsigned comparison.

        * tests/OctetSeq/OctetSeq.cpp (main): changed type of loop
          index to u_int to avoid signed/unsigned comparison.

Thu May 21 12:16:34 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tests/Cubit/TAO/MT_Cubit/Makefile:
          orbsvcs should go before TAO in the link line.

        * tests/Quoter/Makefile:
          Pass a -I flag to the IDL compiler so it can find the
          CosLifeCycle.idl file.

        * tests/POA/Default_Servant/Makefile:
        * tests/POA/Generic_Servant/Makefile:
          Added dependencies.

        * tests/OctetSeq/Makefile:
          Updated dependencies.

        * tests/OctetSeq/OctetSeq.cpp:
          Removed yet another signed/unsigned comparison.
          Also was doing the wrong kind of cast.

        * tao/GIOP.cpp:
          Fixed pointer airthmetic, it was done using "void*" instead of
          "char*".

        * tao/CDR.cpp:
          Fixed problems in error detection for OutputCDR::adjust.

Wed May 20 21:25:33 1998  David L. Levine  <levine@cs.wustl.edu>

        * tao/CDR.cpp: Changed a few locals from int to size_t to
          avoid signed/unsigned comparison.  Added const to a char *
          reinterpret cast.  Wrapped and unreachable return with
          ACE_NOTREACHED.

        * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp: started migration
          to ACE_Stats.

Wed May 20 16:44:29 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/tests/NestedUpcall/{server,client}.dsp: Updated settings.

Wed May 20 12:54:40 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tao/POA: Added the following optimizations to the POA:

          - Use the new ACE_CString to make sure that no malloc/strcpy are
            done while the IOR is being parsed.  This optimization is
            valid irrespective of how deep/long the POA name is.

          - The class that holds the ObjectId in the IOR is now allocated
            off the stack instead of coming from the heap.

          - Timestamping and checking for persistent/transient Ids in the
            POA can be disabled by using POA_NO_TIMESTAMP flag in the TAO
            config file.

        * tao/ORB_Core.cpp (create_and_set_root_poa): Renamed the RootPOA
          from "RootPOA" to "" (the empty string).

Wed May 20 12:10:12 1998  Carlos O'Ryan  <coryan@JIG>

        * tao/CDR.h:
        * tao/CDR.i:
        * tao/CDR.cpp:
          OutputCDR buffers grow by appending a message blocks using the
          cont() field.

        * tao/GIOP.cpp:
          When sending an OutputCDR use writev to send the message block
          chain.

        * tao/decode.cpp:
          Added support for no copy marshalling of octet sequences.

        * tao/decode.cpp:
        * tao/encode.cpp:
          Reverted part of a change by Andy because it simply breaks tons
          of code. The change in question was passing the address of a
          pointer to a string (or wstring) to the
          marshlling/dermarshalling interpreter, but only when the string
          was a field of a structure.

        * tao/orbconf.h:
        * tao/params.h:
        * tao/params.i:
        * tao/params.cpp:
        * tao/ORB_Core.cpp:
        * docs/Options.html:
          Added options to control the tradeoff between copy vs. no copy
          marshalling of octet sequences. If the octet sequence is "small
          enough" and the current CDR buffer contains enough space the
          octet sequence is copied instead of chained with the buffer.

        * tao/Typecode.cpp:
          More fixes to avoid crashes at shutdown.

        * tao/Any.cpp:
          The start() method was changed to begin() it looks more STL
          like. Also removed a bunch of casts that are no longer needed.

        * tao/Align.h:
          Corrected a typo in a comment.

        * orbsvcs/tests/EC_Multiple/EC_Multiple.h:
          Reduce the maximum number of suppliers, consumers and messages,
          otherwise we exceed the maximum stack size on NT.

        * orbsvcs/Event_Service/Event_Service.cpp:
          Fixed error message.

        * tests/CDR/CDR.dsw:
        * tests/CDR/growth.dsw:
        * tests/CDR/growth.dsp:
          Added growth to the project file.

        * tests/CDR/growth.cpp:
          Workaound MSVC++ bug wrt conversions from UINT64 to double.

        * tests/Cubit/TAO/IDL_Cubit/client.cpp:
          Use larger sequences.

        * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp:
          Fixed ambiguous use of [] operator.

        * tests/Cubit/TAO/IDL_Cubit/client.dsp:
        * tests/Cubit/TAO/IDL_Cubit/server.dsp:
          For Win32 Debug we use aced.lib.

        * tests/Cubit/TAO/MT_Cubit/server.dsp:
          Added orbsvcs.lib to the library list. The client will not
          compile due to unportable use of getrusage.

        * tests/OctetSeq/OctetSeq.dsw:
        * tests/OctetSeq/OctetSeq.dsp:
          Added a project file for this test.

        * tests/OctetSeq/OctetSeq.cpp:
          Fixed several portability problems.
          The OutputCDR is not preallocated.

        * tests/Param_Test/tests.cpp:
          Fixed bug in bounded string sequence test.

1998-05-20  Torben Worm  <tworm@cumbia.cs.wustl.edu>

        * orbsvcs/tests/Concurrency/CC_client.cpp
          Fixed errors causing compilation problems on VxWorks.

Wed May 20 08:40:51 1998  David L. Levine  <levine@cs.wustl.edu>

        * orbsvcs/orbsvcs/Propery/CosPropertyService_i.cpp: fixed
          instantiation #pragmas.

        * orbsvcs/orbsvcs/Naming/Naming_Service.cpp (parse_args):
          removed break; following an ACE_ERROR_RETURN, to avoid compile
          warning.

        * tao/POAC.cpp: initialized some retvals, of enum types, to -1
          to avoid GHS compile warnings.  The warnings were all in
          exception handling blocks, so performance isn't an issue here.

        * tests/Cubit/TAO/IDL_Cubit/README: added instructions on how
          to build the client without the ACE and TAO libraries for
          VxWorks.  Thanks to Umar Syyid <usyyid@hns.com> for asking
          about this.

Tue May 19 12:19:42 1998  Carlos O'Ryan  <coryan@JIG>

        * tao/Typecode.cpp:
          Fixed crash at shutdown, TypeCode is a reference counted type,
          but in some points they were removed by a simple "delete".

Mon May 18 16:46:46 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tao/POA.cpp (parse_key): Changed the processing of IORs so that
          POA names are not copied.  Only a pointer is kept to the correct
          place in the IOR.

Mon May 18 12:34:57 1998  Darrell Brunsch <brunsch@cs.wustl.edu>

        * tao/Connect.cpp: Debug messages now check
          Service_Configurator::debug() to see if -ORBdebug
          is specified.

Mon May 18 09:00:00 1998  Chris Gill  <cdgill@cs.wustl.edu>

        * orbsvcs/orbsvcs/Sched/Config_Scheduler.h: added forward
          declarations of scheduling strategy and dynamic scheduler
          classes

        * orbsvcs/Scheduling_Service/Scheduling_Service.cpp: added
          conditional inclusion of strategy scheduler header file.

Sat May 16 13:56:01 1998  David L. Levine  <levine@cs.wustl.edu>

        * orbsvcs/orbsvcs/Channel_Clients_T.h
          (ACE_Push{Consumer,Supplier}_Adapter); added (private)
          declarations of copy constructors.  g++ 2.7.2.3/Solaris
          needs them, to avoid missing definitions of the copy
          constructors when linking with orbsvcs/EC_Gateway.cpp.

        * orbsvcs/orbsvcs/tmplinst-orbsvcs.cpp: added TAO_Object_Manager
          instantiations.  g++/LynxOS 2.5.0 needs them.

        * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp (print_priority_info):
          replaced Solaris priocntl () system calls with a call to
          ACE_OS::lwp_getparams ().  This allowed removal of #includes
          of the priocntl headers, which were causing warnings with
          g++ because _REENTRANT was #defined after they were #included.

        * orbsvcs/orbsvcs/Propery/CosPropertyService_i.cpp: fixed
          instantiation #pragmas.

1998-05-15  Alexander Babu Arulanthu  <alex@merengue.cs.wustl.edu>

        * orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp
        (delete_all_properties): Removed the warnings by having _out
        variables instead of having _var variables.

1998-05-15  Torben Worm  <tworm@cumbia.cs.wustl.edu>

        * orbsvcs/orbscvs/Concurrency/CC_Lock:
          Added some debugging statements
        * orbsvcs/tests/Concurrency/CC_client.cpp
          orbsvcs/tests/Concurrency/CC_client.h
          orbsvcs/tests/Concurrency/CC_naming_service.cpp
          orbsvcs/tests/Concurrency/CC_naming_service.h
          orbsvcs/tests/Concurrency/CC_tests.cpp
          orbsvcs/tests/Concurrency/CC_tests.h:
          Added more tests and diagnostics

Fri May 15 11:12:26 1998  David L. Levine  <levine@cs.wustl.edu>

        * orbsvcs/orbsvcs/Makefile: re-enabled EC_Gateway build.  The
          problem appears to be only with g++.

        * orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp: added
          template instantiations.

        * orbsvcs/orbsvcs/Makefile: re-enabled CosPropertyService_i.cpp
          build.

        * Makefiles in orbsvcs and tests: removed DCFLAGS = -g.  That
          should only be defined in the ACE platform_macros file.

Fri May 15 10:42:22 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tests/POA/Makefile:
        * tests/POA/Forwarding/Makefile:
          Removed the Forwarding test because it only compiles on NT.

        * tests/POA/Generic_Servant/Makefile:
          Removed outdated comment.

Fri May 15 09:33:47 1998  David L. Levine  <levine@cs.wustl.edu>

        * TAO version 0.1.22 released.

Fri May 15 08:40:40 1998  David L. Levine  <levine@cs.wustl.edu>

        * orbsvcs/orbsvcs/tmplinst-orbsvcs.cpp: added template
          instantiations.

        * orbsvcs/orbsvcs/Makefile: commented out Event/EC_Gateway and
          Property/CosPropertyService_i because they cause build failures.

        * Makefile: added .PHONY for phony targets.

Fri May 15 00:25:29 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO version 0.1.21 released.

Thu May 14 16:39:15 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * tao/Server_Request.{h,cpp}: Added an extra environment parameter
        to the marshal method. This change was required since we wanted to
        keep the ORB related exceptions and the user supplied
        operation-raised exceptions to be separate.

        * tao/{POAS,PolicyS}.cpp: Made several changes to the IDL
        compiler-generated code that were necessary due to the changes
        made to the Server_Request's marshal interface explained above.

        * tao/{encode,decode}.cpp: Made a minor change by passing the
        address of the void pointer for the string and object cases. This
        needs to be thoroughly tested.

        * tao/orbconf.h: Added a conditional macro called TAO_NAMESPACE
        that generates either "namespace" or "struct".

        * TAO_IDL/be/be_visitor_module.cpp: The code for the module now
        uses the TAO_NAMESPACE macro.

        * TAO_IDL/be/be_visitor_constant.cpp: We were not checking of the
        constant was imported or not. In addition, inside the stub
        generation code, we were incorrectly checking if the header was
        generated or not. Thanks to Andrew Harbick
        <aharbick@opentext.com> for providing the bug report that led to
        this fix.

        * TAO_IDL/be/be_visitor_operation.cpp: Modifications that were
        necessary due to the changes in the Server_Request class and our
        policy of distinguishing between ORB raised and user-raised
        exceptions.

        * TAO_IDL/be/be_visitor_interface.cpp: Similar changes as in
        be_visitor_operation.cpp for the _is_a_skel skeletons.

Thu May 14 15:20:28 1998  David L. Levine  <levine@cs.wustl.edu>

        * tests/Quoter/Makefile: moved TAO_ROOT definition outside of
          "ifdef trader" block.

Thu May 14 14:34:40 1998  Michael Kircher  <mk1@cs.wustl.edu>

        * orbsvcs/orbsvcs/Makefile: CosLifeCycle is now compiled
          by default.

Thu May 14 14:10:40 1998  Michael Kircher  <mk1@cs.wustl.edu>

        * tests/Quoter/{Factory_Trader.cpp, Factory_Trader.h
          Makefile, run_test.sh}: Factored out the code depending
          on the Trading Service. The standard compilation does
          now not use the Trading Service. The Makefile has
          to be called using the "trader=1" option to activate
          compilation of the parts using the Trading Service.
          "run_test.sh" will not use by default the
          creation service "lifecycle service object", instead
          it will ask the Generic Factory directly

Thu May 14 14:10:26 1998  Carlos O'Ryan  <coryan@watusi.cs.wustl.edu>

        * tests/Param_Test/tests.cpp:
        * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp:
          Added the right .in() or .out() calls for some T_var types
          passed to functions expecting a T_ptr or T_out parameter.

Thu May 14 13:14:40 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tests/Cubit/TAO/IDL_Cubit/cubit.idl:
        * tests/Cubit/TAO/IDL_Cubit/client.h:
        * tests/Cubit/TAO/IDL_Cubit/client.cpp:
        * tests/Cubit/TAO/IDL_Cubit/cubit_i.h:
        * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp:
          Added a simple test for octet sequences, it tries to compare the
          end-to-end cost of a normal sequence (longs) vs an octet
          sequence; it compares the cost for a small sequence<long> vs a
          small sequence<octet> and then repeats the test for a large
          sequence. To make the comparison more acurate it uses the same
          number of bytes in the sequence<long> as in the sequence<octet>,
          not the same number of elements.

        * tao/Sequence.h:
        * tao/Sequence.i:
          The message block accessor can be constant now.

        * tao/Typecode.h:
        * tao/Typecode.i:
        * tao/Typecode.cpp:
          Clean up the destruction code: made the destructor nilpotent to
          avoid double destructions. Also removed the redundant operator
          new and operator delete; they were not doing any actual work.

Thu May 14  Alexander Babu Arulanthu  <alex@merengue.cs.wustl.edu>

        * orbsvcs/orbsvcs/Makefile: Removed PropertyService from the
        conditional compilation.

Thu May 14 10:00:37 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tests/OctetSeq/OctetSeq.cpp:
          Removed signed/unsigned comparison warnings.

Wed May 13 21:48:08 1998  David L. Levine  <levine@cs.wustl.edu>

        * tests/Quoter/Makefile: define TAO_ROOT if it's not defined.

        * TAO/orbsvcs/tests/Concurrency/tmplinst.cpp,
          TAO/tests/Cubit/TAO/{IDL,MT}_Cubit/tmplinst.cpp,
          TAO/tests/Param_Test/tmplinst.cpp,
          TAO/tests/Thruput/TAO/tmplinst.cpp:
          removed TAO_Unbounded_Sequence<CORBA::Long> instantiation
          because it's now in libTAO.

Wed May 13 18:18:56 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO version 0.1.20 released.

Wed May 13 16:12:38 1998 Michael Kircher   <mk1@cs.wustl.edu>

        * tests/Quoter/Makefile: changed the compiling options for
          the IDL compiler

        * tests/Quoter/Quoter.idl: changed the include path

Wed May 13 06:58:38 1998  David L. Levine  <levine@cs.wustl.edu>

        * tao/Makefile: added Forwarding_Servant.

        * tao/IIOP_Interpreter.cpp: added TAO_Unbounded_Sequence
          <CORBA::ULong> template instantiation.

        * tao/IIOP_Interpreter.cpp,Typecode.cpp,append.cpp,
          decode.cpp,encode.cpp,skip.cpp:
          changed ~0 to ~0u to avoid signed/unsigned comparisons.

        * tao/IIOP_Interpreter.cpp (calc_seq_attributes):
          replaced TAO_Unbounded_Sequence<CORBA::Long> with
          TAO_Unbounded_String_Sequence.  For unknown reasons,
          GreenHills couldn't compile it without this change.
          Thanks to Carlos for providing the fix.

        * many *.{h,i,cpp,idl} files:  inserted RCS keyword string.

        * tests/Param_Test/tests.cpp:  moved some return statements
          out of loops, and changed some loop indexes to CORBA::ULong
          to avoid signed/unsigned comparison.

        * tests/Param_Test/run_tests.sh:  fixed traps, and added
          uid component to port number.

Wed May 13 00:05:52 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tao/ORB.i (orb_free_resources): This should return
          !CORBA_ORB::orb_init_count_ instead of simply
          CORBA_ORB::orb_init_count_.  Thanks to Pavel Motuzenko
          <p_motuzenko@hotmail.com> for pointing these two problems out.

        * orbsvcs/orbsvcs/Naming/Naming_Utils.cpp (TAO_Naming_Server):
          Fixed the initialization of naming_context_name_.

        * tests/POA/Forwarding/: Added new test that shows the forwarding
          features in TAO.

        * tao/default_server.cpp (concurrency_strategy): Made sure that
          the reactive strategy is returned if no concurrency_strategy has
          been explicitly set by the user.  This should allow servers to
          work without a svc.conf file.

        * tao/Server_Request.cpp (set_result and set_exception): These
          should not raise exceptions if this->exception_ is set.

        * tao/Servant_Base.cpp: Removed implementation for
          TAO_ServantBase::_dispatch() and made it pure virtual.  Also,
          passed the system environment to the DSI implementation class.

        * tao/POAC.cpp (ForwardRequest): Fixed old IDL code for this
          exception.

        * tao/Forwarding_Servant: New DSI servant used by the POA for
          forwarding.

        * tao/POA.cpp (forward_object): Adding forward support to the POA.

Tue May 12 17:34:06 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tests/OctetSeq/OctetSeq.cpp:
          Added missing template instantiation.

        * tao/Sequence_T.i:
          Fixed typo in Unbounded sequences.

Tue May 12 16:53:18 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/orbconf.h:
        * tao/Sequence.h:
        * tao/Sequence.i:
        * tao/Sequence.cpp:
        * tao/Sequence_T.h:
        * tao/Sequence_T.i:
        * tao/Sequence_T.cpp:
        * tao/decode.cpp:
          Unbounded Sequences of octets are specialized so their
          demarshalling (and eventually their marshalling) is implemented
          by increasing the reference count on the CDR stream message
          block and then setting the buffer as a pointer to that stream.
          The buffers are copied upon assingment or copy ctor.
          The feature is enabled by the macro TAO_NO_COPY_OCTET_SEQUENCES,
          by default the macro is defined inTAO_ROOT/tao/orbconf.h
          and only applies if the CDR stream owns its buffer, in other
          words the optimization is disabled when the buffer is allocated
          on the stack or is not allocated by the CDR stream.

        * tao/IIOP_Interpreter.h:
        * tao/IIOP_Interpreter.cpp:
          If the octet sequence is enabled then the size of a sequence
          depends on its basic type.

        * tao/ORB.cpp:
          If the octet sequence optimization is enabled we don't need to
          instantiate TAO_Unbounded_Sequence<CORBA::Octet>.

        * tests/Makefile:
        * tests/OctetSeq/Makefile:
        * tests/OctetSeq/svc.conf:
        * tests/OctetSeq/test.idl:
        * tests/OctetSeq/OctetSeq.cpp:
          Added a simple test that just writes an octet sequence in a CDR
          stream and then reads it back. The test compares the time
          against a char sequence.

        * tao/GIOP.cpp:
          Changed several system exceptions from COMPLETED_MAYBE to
          COMPLETED_NO.

        * orbsvcs/orbsvcs/Sched/Config_Scheduler.h:
          Added missing forward declaration for ACE_Scheduler.


Tue May 12 16:48:46 1998  Seth Benjamin Widoff  <sbw1@waltz.cs.wustl.edu>

        * tao/corba.h:
          Added a new macro TAO_CHECK_ENV_RETURN_VOID -- same as
          TAO_CHECK_ENV_RETURN, but for methods with no return value.

Tue May 12 15:22:53 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tests/Param_Test/driver.cpp:
        * tests/Param_Test/tmplinst.cpp:
          Added missing template instantiations.

Tue May 12 13:45:45 1998  Chris Gill  <cdgill@cs.wustl.edu>

        * orbsvcs/orbsvcs/Sched/Config_Scheduler.{cpp,h}:
          Fixed compile problem when using ACE_Scheduler
          instead of ACE_DynScheduler

1998-05-12  Torben Worm  <tworm@cumbia.cs.wustl.edu>

        * Reordered initializers and added virtual destructors to
          the files orbsvcs/tests/Concurrency/* files.
          Updated README files in orbsvcs/tests/Concurrency and
          orbsvcs/Concurrency_Service

Mon May 11 18:11:03 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tests/Param_Test/README:
        * tests/Param_Test/driver.cpp:
        * tests/Param_Test/options.cpp:
        * tests/Param_Test/options.h:
        * tests/Param_Test/param_test.idl:
        * tests/Param_Test/param_test_i.cpp:
        * tests/Param_Test/param_test_i.h:
        * tests/Param_Test/tests.cpp:
        * tests/Param_Test/tests.h:
          Added many tests including bounded sequences of different types,
          sequences of Any, Typecode and others. We know that some of this
          tests still do not work. Thanks to Rob E. Thornton
          <ret1@cec.wustl.edu> for his collaboration on this.

Mon May 11 17:00:00 1998  Chris Gill  <cdgill@cs.wustl.edu>

        * ace/ace_dll.dsp
          orbsvcs/orbsvcs/RtecScheduler.idl
          orbsvcs/orbsvcs/orbsvcs.dsp
          orbsvcs/orbsvcs/Sched/Config_Scheduler.{cpp,h}
          orbsvcs/orbsvcs/Sched/DynSched.{cpp,h}
          orbsvcs/orbsvcs/Sched/Scheduler.h
          orbsvcs/orbsvcs/Sched/Strategy_Scheduler.{cpp,h}

          Integrated strategized scheduler with off-line scheduling
          interface in Config_Scheduler.{cpp,h}.  To use the
          strategized scheduler, define the following symbols
          in ace/config.h (you can substitute RMS, etc for MUF,
          and can choose a different value for the minimum critical
          priority - more on this in the release notes, once the
          dynamic portion is integrated):

          #define TAO_USES_STRATEGY_SCHEDULER
          #define TAO_USES_MUF_SCHEDULING
          #define TAO_MIN_CRITICAL_PRIORITY 0


Mon May 11 07:57:47 1998  David L. Levine  <levine@cs.wustl.edu>

        * orbsvcs/Naming_Service/Naming_Service.cpp (init):
          dereferenced second arg in init () call.  Thanks to
          Kirill Rybaltchenko <Kirill.Rybaltchenko@cern.ch> for
          reporting this.

        * IIOP/test/Makefile, IIOP/tests/Cubit/TAO/Makefile,
          orbsvcs/tests/Trading_Service/Makefile, tests/CDR/Makefile,
          tests/Cubit/CORBAplus/MT_Cubit/{client,server}/Makefile,
          tests/Cubit/TAO/{DII,MT}_Cubit/Makefile,
          tests/POA/Generic_Servant/Makefile, tests/Param_Test/Makefile,
          tests/Thruput/CORBAplus/Makefile: removed Log from clean target.

        * TAO/tests/Cubit/CORBAplus/MT_Cubit/client/Makefile,
          TAO/tests/Demux_Test/CodeGen/Makefile,
          TAO/tests/Thruput/COOL/Makefile:
          replaced WRAPPER_ROOT with ACE_ROOT.

Sat May 09 12:01:37 1998  David L. Levine  <levine@cs.wustl.edu>

        * orbsvcs/orbsvcs/Makefile: removed Log from clean target,
          because it's now a directory that we need to keep.

        * orbsvcs/tests/Concurrency/NS_client.cpp (CosNaming_Client ctor):
          reordered initializers to match declaration order.
          (list_contents): changed loop index type to CORBA::ULong to avoid
          signed/unsigned comparison.

        * tao/Makefile: suppress -g when building POA.o with ghs for
          VxWorks/i86.

        * tests/Cubit/COOL/{IDL,MT}_Cubit/Makefile: added(ACELIB)(LIBS)
          to VLDLIBS.  Thanks to Steve Kay <slk1@icore.ih.lucent.com> for
          reporting that link lines were missing -lACE on Chorus.

Fri May  8 16:32:55 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * TAO_IDL/be/be_exception.cpp: In the typecode generation, we were
        incorrectly generating the byte order flag as 0 meaning big
        endian. This is now changed to TAO_ENCAP_BYTE_ORDER.

        * TAO_IDL/be/be_visitor_exception.cpp: A spurious "return 0;"
        statement in the middle of the code led to generation of empty
        code for exception constructors.

        * TAO_IDL/be/be_visitor_interface.cpp: Added the "ACE_CORBA_1"
        macro to the generated code so that MSVC++4.2 will be able to
        parse the generated code.

        * orbsvcs/orbsvcs/Naming_Service/Naming_Service.cpp: We were
        passing a variable of type ORB_var to a method expecting an
        ORB_ptr. g++ was not too happy with this. So now we use the in ()
        method on the _var variable.

        * tao/Connect.cpp: Removed a large segment of commented-out code
        which I had kept to remind me to use it to handle the DSI
        case. See the log entry for Server_Request.{h,cpp}.

        * tao/{POAC, PolicyC}.h: Used the ACE_CORBA_1 macro when the
        classes inherit from CORBA::Object. MSVC++4.2 was not too happy
        with CORBA::Object. It needed CORBA_Object.

        * tao/ServantBase.h: Removed the Environment parameter from the
        invoke method of TAO_DynamicImplementation class. This was
        suggested by Irfan.

        * tao/Servant_Base.cpp: (invoke): Added code after the invoke to
        the DSI implementation is made. This code creates a REPLY message
        and then uses the dsi_marshal method (described below) to marshal
        outgoing parameters. These methods are called only if the request
        was 2 way.

        * tao/Server_Request.{h, cpp}: Several changes made

        Added a data member that indicates if the request was oneway or
        twoway. This is used by the DSI when it has to decide if a reply
        message must be constructed or not.

        Changed the is_user_exception_ data member to
        exception_type_. This now explicitly tells us if it was a
        GIOP_USER_EXCEPTION or a GIOP_SYSTEM_EXCEPTION or
        GIOP_NO_EXCEPTION. This change was required because we faced a
        situation in which we not only needed to know if the exception was
        a user or a system exception but we wnated to know if there was an
        exception itself or not. So a boolean variable was not sufficient
        for this.

        Added a new method called "dsi_marshal". This is used by the DSI
        to marshal the outgoing parameters.

Thu May 07 19:14:16 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO version 0.1.19 released.

Thu May 07 17:55:07 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * TAO/orbsvcs/orbsvcs/orbsvcs.dsp:
        * TAO/orbsvcs/tests/Logger/server.dsp: Updated.  Thanks to Carlos'
          instruction on how to make the change.

Thu May 7  16:11:00 1998  Robert Eric Thornton <ret1@cec.wustl.edu>

        * orbsvcs/tests/Naming/ns_tree.cpp: added the NamingService to this
          test.

Thu May  7 15:29:46 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * TAO_IDL/be/be_codegen.cpp:
          The warning was disabled before including other headers, it is
          possible (and in some cases certain) that the headers will
          enable the warning again. We now disable *after* all the
          includes and re-enable at the end.  Thanks to Darrell Brunsch
          <brunsch@cs.wustl.edu> for catching this one before we even
          tried it :-)

        * Makefile:
        * orbsvcs/README:
          The README file is generated from the docs/orbsvcs.html page
          whenever a release is made.

        * orbsvcs/tests/Logger/Makefile:
        * orbsvcs/tests/Logger/logger_i.h:
        * orbsvcs/tests/Logger/logger_i.cpp:
        * orbsvcs/orbsvcs/Makefile:
        * orbsvcs/orbsvcs/Log/Logger_i.h:
        * orbsvcs/orbsvcs/Log/Logger_i.cpp:
          Moved the logging service implementation to the library.

        * TAO_IDL/be/be_codegen.cpp:
          Generated #pragma to disable the "inheritance via dominance"
          warnings on MSVC++; the warning is left on its original state
          after when leaving the generated include files.

        * docs/orbsvcs.html:
          Updated the document to reflect the new location of the Logging
          Service implementation.

        * docs/orbsvcs.html:
          Updated the documentation on the directory hierarchy and
          contents.

        * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp:
          Fixed template instantiation pragmas.

        * tests/CDR/basic_types.cpp:
        * orbsvcs/tests/Concurrency/NS_client.cpp:
        * orbsvcs/tests/Concurrency/CC_client.cpp:
        * orbsvcs/tests/Concurrency/CC_tests.cpp:
        * orbsvcs/orbsvcs/Concurrency/CC_Lock.cpp:
        * orbsvcs/orbsvcs/Concurrency/CC_LockSet.cpp:
        * tao/skip.cpp:
        * tao/encode.cpp:
        * tao/Server_Request.cpp:
          Fixed several warnings, mostly unused variables.

Thu May  7 14:28:01 1998  Douglas C. Schmidt  <schmidt@flamenco.cs.wustl.edu>

        * Moved the explanation about adding IDL files to MSVC++ from the
          docs/releasenotes/index.html file to the TAO-INSTALL.html file.

Thu May 07 11:19:25 1998  David L. Levine  <levine@cs.wustl.edu>

        * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: added
          ACE_Condition<ACE_Thread_Mutex> instantiation.

        * tao/Object_Key.idl,POA.idl,Policy.idl: moved *.idl files
          to *.IDL, so that the Makefile rules won't automatically
          regenerate them.  Inserted RCS keyword string.

        * tao/Makefile: removed rule to suppress regeneration from
          .idl files, because it's no longer needed.

        * orbsvcs/orbsvcs/Concurrency/CC_LockSet.cpp: reordered
          initializers to match declaration order.

        * orbsvcs/tests/Sched/DynSched.cpp,Makefile: added Quantify probes.

Thu May  7 00:44:55 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * Reverted a bunch of s/_env/env/g changes...  Thanks to Sumedh
          for reporting these.

Wed May  6 23:58:22 1998  Carlos O'Ryan  <coryan@swarm.cs.wustl.edu>

        * TAO_IDL/be_include/be_visitor.h:
          Added missing int in method declaration.

Wed May 06 23:51:37 1998  Carlos O'Ryan  <coryan@JIG>

        * orbsvcs/tests/EC_Multiple/EC_Multiple.dsp:
        * orbsvcs/tests/EC_Multiple/EC_Multiple.dsw:
        * orbsvcs/tests/EC_Multiple/EC_Multiple.h:
        * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp:
          The test now compiles on NT, it lacked a project file and we had
          to workaround some MSVC++ bugs.

        * orbsvcs/orbsvcs.dsw:
          Added the tests to the main workspace.

        * orbsvcs/orbsvcs/orbsvcs.dsp:
        * orbsvcs/orbsvcs/Event/EC_Gateway.h:
          The export macro was wrong and Event/EC_Gateway files were not
          in the project file.

Wed May  6 18:16:42 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * tests/NestedUpcall: Added the new "one-button" features for the
          nested upcalls test so that it can run with a single file, just
          like IDL_Cubit.  Thanks to Rob Thornton <ret1@cec.wustl.edu> for
          this enhancement.

Wed May  6 08:46:18 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * rules.tao.GNU: Added dependency of the generated files on the
        TAO_IDL compiler (in addition to the source IDL files). Thanks to
        Jim Penny <jpenny@universal-fasteners.com> for suggesting this
        modification.

Wed May 06 06:36:18 1998  David L. Levine  <levine@cs.wustl.edu>

        * tests/Param_Test/tests.cpp: (Test_Any::check_validity): added
          missing definition of short_in.

        * tests/Param_Test/run_test: filtered "grep" out of ps output,
          and use SIGCHLD instead of hard-coded signal number.

Wed May  6 00:28:09 1998  Marina Igorevna Spivak  <marina@macarena.cs.wustl.edu>

        * orbsvcs/tests/Naming/ns_tree.cpp: made several minor
          modifications to the test program to make it work for compound
          names.

Tue May  5 15:40:09 1998  Douglas C. Schmidt  <schmidt@flamenco.cs.wustl.edu>

        * orbsvcs/orbsvcs/Naming/CosNaming_i.cpp: Changed the
          ACE_SYNCH_MUTEX to ACE_SYNCH_RECURSIVE_MUTEX to try and
          workaround intra-class method deadlocks.  Thanks to Marina for
          pointing this out.

        * tao/orbconf.h: Added macros for
          TAO_SOCK_{STREAM,ACCEPTOR,CONNECTOR}, which can be overridden in
          an ACE config.h file to select a different set of transport
          APIs.

        * tao/{ORB_Core,GIOP,Server_Strategy_Factory,ORB}.{h,cpp}: Changed
          all uses of ACE_SOCK_* to TAO_SOCK_* so we can override this to
          use a different transport API without changing the code at
          compile time.

Mon May  4 11:57:34 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * orbsvcs/tests/EC_Multiple/EC_Multiple.h:
        * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp:
        * orbsvcs/tests/EC_Multiple/gen_latency:
        * orbsvcs/tests/EC_Multiple/gen_throughput:
        * orbsvcs/tests/EC_Multiple/gen_utilization:
        * orbsvcs/tests/EC_Multiple/histo.pl:
        * orbsvcs/tests/EC_Multiple/latency.pl:
        * orbsvcs/tests/EC_Multiple/run_latency:
        * orbsvcs/tests/EC_Multiple/run_schedule:
        * orbsvcs/tests/EC_Multiple/run_throughput:
        * orbsvcs/tests/EC_Multiple/run_utilization:
        * orbsvcs/tests/EC_Multiple/Scheduler_Runtime1.h:
        * orbsvcs/tests/EC_Multiple/Scheduler_Runtime2.h:
          The test now has two sets of consumers and two sets of
          suppliers, running at different rates, with different events,
          with varying number of suppliers and or consumers, etc.
          Statistics are kept for latency, total time, laxity, time per
          event, etc.
          The scripts were updated for the new command line interface.

        * orbsvcs/orbsvcs/Event/Dispatching_Modules.cpp:
          Fixed minor error in debug message.

        * orbsvcs/orbsvcs/Scheduler_Factory.h:
        * orbsvcs/orbsvcs/Scheduler_Factory.cpp:
        * orbsvcs/orbsvcs/Runtime_Scheduler.h:
        * orbsvcs/orbsvcs/Runtime_Scheduler.cpp:
          The Runtime_Scheduler uses the POD_RT_Info array directly now.

        * orbsvcs/orbsvcs/Event/RT_Task.cpp:
          Set the LWP priority of the task to obtain proper priorities.

        * orbsvcs/orbsvcs/Event/Event_Channel.h:
        * orbsvcs/orbsvcs/Event/Event_Channel.i:
        * orbsvcs/orbsvcs/Event/Event_Channel.cpp:
          The split some methods in the MT safe and non-MT safe counter
          parts (i.e. the version that takes locks and the _i version that
          does not), the method appeared to dead-lock in shutdown.
          Anyway the methods are only used at shutdown and startup so
          nothing should be broken by this.

        * orbsvcs/tests/EC_Multiple/README:
        * docs/releasenotes/ec.html:
          Updated the documentation on the multiple EC test.

Mon May  4 09:35:07 1998  Torben Worm  <tworm@cumbia.cs.wustl.edu>

        * Comitted the files for the concurrency service
        * Updated release notes

Mon May 04 09:05:04 1998  David L. Levine  <levine@cs.wustl.edu>

        * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp,Util_Thread.cpp,server.cpp:
          removed ACE_OS::thr_setprio class to set LWP priority, now that ACE
          handles that internally.

Sun May 03 02:05:21 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO version 0.1.18 released.

1998-05-02  Alexander Babu Arulanthu  <alex@merengue.cs.wustl.edu>

        * docs/releasenotes/index.html: Updated the status information for
        PropertyService.

Sat May  2 14:28:41 1998  Douglas C. Schmidt  <schmidt@flamenco.cs.wustl.edu>

        * orbsvcs/orbsvcs/Naming/Naming_Utils.cpp (init): There was a bug
          in Ross' code that was failing to initialize the
          naming_context_var_.  This is now fixed.  Thanks to Andy for
          noticing this.

Sat May  2 09:58:41 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * TAO_IDL/be/be_visitor_exception.cpp: We now make the *_alloc
        method as a static method of the generated Exception class. The
        reason for doing this was that some exceptions get borrowed from
        included files. Now if we make the _alloc method as a static
        method in the generated *C.cpp file, we don't see it in other
        files where it is needed. The best way to do this was to make a
        _alloc method as a static method on the generated exception class.

        * TAO_IDL/be/be_visitor_operation.cpp: Changes made above required
        some trivial modifications. However, it remains to be see if
        MSVC++ accepts the generated code or not OR whether it needs the
        ACE_NESTED_CLASS macro. I am waiting for reports on this.

        * orbsvcs/orbsvcs/Naming/Naming_Utils.{h,cpp}:(init): Due to
        application of patches, the signature of the
        TAO_Naming_Server::init got reverted to the older and buggy
        version. This is now fixed.

Fri May 01 17:56:07 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/orbsvcs/orbsvcs/Naming/Naming_Utils.cpp: Moved #include of
          Arg_Shifter.h after #include of tao/corba.h so that ACE_Export
          is properly defined.

        * tao/TAO.dsp: Removed Arg_Shifter.cpp from the project.

Fri May  1 17:26:31 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * orbsvcs/Naming_Service/Naming_Service.cpp (init): Added support
          for the -NScontextname option.  Thanks to Ross J. Lillie
          <lillie@rsch.comm.mot.com> for this feature.

        * orbsvcs/orbsvcs/Naming_Utils.h: Added "argv/argc" parameters to
          the TAO_Naming_Server::init() and constructor methods.  Thanks
          to Ross J. Lillie <lillie@rsch.comm.mot.com> for this feature.

        * tao/Makefile: Moved the Arg_Shifter from TAO to ACE since it is
          generic and not TAO-specific.

Fri May  1 13:05:56 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * tao/Stub.h: Added a new structure called TAO_Exception_Data that
        holds the typecode and pointer to a function for the user
        exception we are dealing with. This was necessary since the
        interpreter had no clue of how to allocate storage for the
        exception we are dealing with and how to decode it.

        * tao/GIOP.{h, cpp}: Affected by the above change is the "invoke"
        method which takes the list of exceptions. It is this method that
        is responsible for allocating the right amount of storage for the
        exceptions and decode it.

        We kept the original invoke method as it is because the newer
        signature cannot work with DII. This still needs work.

        * tao/IIOP_Object.cpp:(do_static_call) - When "invoke" is called,
        we now pass the TAO_Exception_Data table.

        * TAO_IDL/be/be_visitor_operation.cpp: The exceptionlist table
        that gets generated is now an array of TAO_Exception_Data. In
        addition, it is made static.

        * TAO_IDL/be/be_visitor_exception.cpp: Added code to generate the
        *_alloc function that allocates memory for the exception.

Fri May  1 09:55:56 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * tao/POAS.cpp: In the initialization section of constructors for
        some of the collocated classes, we had forgotten to use the
        ACE_NESTED_CLASS macro. This is now fixed.

Fri May  1 06:19:03 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * TAO_IDL/be/be_visitor_interface.cpp: Modified the generated code
        for <<= and >>= operators. It involves more memory allocation. The
        previous version was buggy because it was holding pointers to data
        allocated on function call stacks.

        * Makefiles: A few Makefiles have been updated with the .PRECIOUS
        clause. Otherwise the make was deleting some IDL compiler
        generated files.

        * tao/Marshal.i: trivial changes. Probably not even required to
        do. Instead of casting the void pointer at the time of passing the
        parameter to release, we do it prior to it and then pass the local
        variable.

        Added theId: ChangeLog,v 1.1421 1998/05/15 05:26:25 schmidt Exp CVS string.

        * tests/Param_Test: Added support to handle Anys of Object
        references (In our case Anys of Coffee objects).

Thu Apr 30 20:18:44 1998  Alexander Babu Arulanthu  <alex@merengue.cs.wustl.edu>

        * orbsvcs/tests/CosPropertyService/client.{h, cpp}, server.{h,
        cpp}: The client and server programs exclusively for testing
        CosPropertyService.

Thu Apr 30 15:35:45 1998  David L. Levine  <levine@cs.wustl.edu>

        * tao/tests/Cubit/TAO/MT_Cubit/Task_Client.*,Util_Thread.*,
          client.cpp,server.cpp: adapted to work on VxWorks.

Thu Apr 30 14:26:00 1998  David L. Levine  <levine@cs.wustl.edu>

        * TAO version 0.1.17 released.

Thu Apr 30 10:06:19 1998  David L. Levine  <levine@cs.wustl.edu>

        * tao/tests/Cubit/TAO/MT_Cubit/server.{h,cpp}: moved the
          start barrier from the stack frame of start_servants ()
          to the stack frame of main ().  This turned out the be
          the cause of the barrier failure on Linux.  And on Solaris86,
          but it only appeared there when the ior file was in /tmp.
          That's because start_servants () was able to write the file
          more quickly there, and then destroy the old barrier.  Threads
          are evil.

Wed Apr 29 14:06:35 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * tao/{Object, POAC, POAS, PolicyC, PolicyS}.cpp: Moved all the
        static Param_Data and Call_Data tables from the outer global scope
        to the scope of the respective stubs and skeletons. This was
        necessary since the ORB-owned typecodes are now dynamically
        allocated. Thus, if the tables remain in the global scope, the
        values for typecodes get initialized to NUL. Thanks to Naga,
        Sergio, and Sumedh who were trying in vain to understand why
        things were failing.

        * TAO_IDL/be/be_visitor_interface.cpp: Moved the code generation
        of static Param_Data tables for the _is_a_skel from the outer
        global scope to inside the skeleton for _is_a_skel.

        * orbsvcs/orbsvcs/Scheduler_Factory.cpp: On line 119 to the call
        to _narrow, we were passing the Object_var. g++ did not like
        it. Hence we take the in () of the var object and pass it to
        _narrow.

        * tao/skip.cpp: In Sequence::skip, we did not have a return
        TRAVERSE_CONTINUE statement after successfull skipping. Hence we
        always returned an exception. The same iwas true with Array::skip.
        Thanks to Alex (alex@cs.wustl.edu) for reporting this bug.

Wed Apr 29 12:26:12 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * orbsvcs/tests/EC_Multiple/Makefile:
        * orbsvcs/tests/EC_Multiple/EC_Multiple.h:
        * orbsvcs/tests/EC_Multiple/Scheduler_Runtime1.h:
        * orbsvcs/tests/EC_Multiple/Scheduler_Runtime2.h:
        * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp:
          Added two precomputed schedules that are selected when the
          argument to -s is either RUNTIME1 or RUNTIME2, but it is still
          possible to have a global scheduler (-g) or to compute new
          schedules (-s <anyname>).
          The amount of work performed in the high priority threads can be
          controlled using the -w option.

        * orbsvcs/tests/EC_Multiple/latency.pl:
        * orbsvcs/tests/EC_Multiple/run_utilization:
        * orbsvcs/tests/EC_Multiple/run_overhead:
        * orbsvcs/tests/EC_Multiple/run_latency:
        * orbsvcs/tests/EC_Multiple/gen_utilization:
        * orbsvcs/tests/EC_Multiple/gen_overhead:
        * orbsvcs/tests/EC_Multiple/gen_latency:
          This scripts execute the test with different configurations
          designed to measure latency, overhead, utilization, etc.
          The run_* scripts execute the test, the gen_* scripts filter the
          results and generate Encapsulated PostScript and JPEG files with
          the results.
          I've tried to make the file naming conventions consistent so its
          easier to add new scripts or tests.

        * orbsvcs/Naming_Service/Naming_Service.h:
        * orbsvcs/Naming_Service/Naming_Service.cpp:
          Added an option (-p) to dump the process ID into a file, this is
          useful when running the service from a script that has to shut
          it down.

        * orbsvcs/orbsvcs/Scheduler_Factory.cpp:
          Fixed some memory managment problems, but the whole class has to
          be revised to be more compliant.

Wed Apr 29 07:08:18 1998  David L. Levine  <levine@cs.wustl.edu>

        * tests/Cubit/TAO/MT_Cubit/client.cpp (do_priority_inversion_test):
          fixed loop indices to follow ANSI scoping rules and avoid
          signed/unsigned comparisons.

        * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp (run_tests): cast the
          entire expression to u_long, not just the first term.

Tue Apr 28 13:02:25 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * TAO_IDL/be/be_visitor_operation.cpp: The tables for Param_Data
        and Call_Data in the stubs and skeletons are now generated inside
        the stub/skeleton instead of being global. This change was
        necessitated since we removed all statics from the TAO library.

        * TAO_IDL/be/be_visitor_structure.cpp: Some trivial indentation
        changes and moved code a bit so that related code gets generated
        near each other.

        * tao/Exception.cpp: Got rid of all static typecodes for system
        exceptions. In addition, there was an error in
        "make_standard_typecode" where we were creating a new
        ExceptionList for every call to make_standard_typecode. This is
        now moved to the init method.

        A few TypeCode definitions have been moved to
        Typecode_Constants.cpp since these were owned by the ORB.

        * tao/Exception.h:(make_standard_typecode): The first parameter
        now takes a reference to TypeCode_ptr.

        * tao/{Connect, GIOP, Server_Request}.cpp: Use the new TC_opaque
        and TC_ServiceContextList typecode pointers rather than the
        previous static TypeCode object.

        * tao/Marshal.cpp: Removed a lot of commented out code.

        * tao/Marshal.h: Added some documentation.

        * tao/ORB.cpp: Added a call to TAO_TypeCodes::init in the
        init_orb_globals method.

        * tao/ORB.{h,i}: Missing documentation added. Added a new method
        that returns a boolean value indicating if the ORB's reference
        count for its globals has reached 0. The TypeCode destructor uses
        this to get rid of ORB owned typecodes.

        * tao/Object_Key.idl: Added missing documentation.

        * tao/Sequence_T.h: Added missing documentation.

        * tao/Typecode.{h, cpp}: Refined the destructor such that ORB
        owned typecodes are now destroyed once the reference count for
        globals has reached 0.

        Added a new class called "TAO_Typecodes". It provides a namespace
        to defined some static methods for initialization and finalization
        of ORB owned typecodes.

        * tao/Typecode_Constants.cpp: Lots of changes. All typecodes are
        now dynamically allocated. All the static allocation is removed.

        * tao/{append, skip}.cpp: In the respective append and skip
        methods for Exceptions, we had forgotten to append/skip the
        repository ID for the exception. In addition, we now use TC_opaque
        pointer rather than the static object.

        * tao/decode.cpp: The static table __tc_consts had to be moved
        inside the TypeCode::decode method since the typecodes are no more
        static. Also, we use the newly defined TC_opaque typecode pointer.

        * tao/{encode, deep_copy, deep_free}.cpp: Used the TC_opaque
        pointer instead of the static object TC_opaque that we previously
        had.

        * tests/CDR/tc.cpp: Moved the static table of typecodes inside the
        function since the typecodes are no more static.

Mon Apr 27 16:46:42 1998  David L. Levine  <levine@cs.wustl.edu>

        * tests/Cubit/TAO/MT_Cubit/*.cpp: put in RT class if running
          as root, and set LWP priorities.

        * tests/Cubit/TAO/MT_Cubit/MT_Cubit_Test: added this shell
          script, which spawns the server and client (locally).

Sun Apr 26 10:19:49 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp:
          The print_priority_info() routine is platform specific, but I
          did not protect it with the right #ifdef/#endif block.

Sun Apr 26 01:09:23 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO version 0.1.16 released.

Sat Apr 25 16:14:02 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * orbsvcs/tests/EC_Multiple/EC_Multiple.h:
        * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp:
          Added routine to print the scheduling parameters of the main and
          scavenger thread.
          Before starting we report all the user defined parameters for
          the test execution.
          The push() method consumes a little CPU via the is_prime()
          method.
          Fixed problem with auto_ptr<> usage.
          For the short circuit case the timer is reset at the beginning
          of handle_timeout(), otherwise the main thread sleeps a constant
          amount of time.
          Changed the option to set the timeout interval to -i and now -t
          tries to run the test in the Time-shared scheduling class.
          The main thread scheduling parameters are modified after
          parsing the user arguments.

        * orbsvcs/tests/EC_Multiple/run_latency:
        * orbsvcs/tests/EC_Multiple/run_utilization:
        * orbsvcs/tests/EC_Multiple/gen_data:
          This scripts are attempts to make single button entries for the
          diverse configurations of this test.

Sat Apr 25 08:36:08 1998  David L. Levine  <levine@cs.wustl.edu>

        * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp:
          added a few .in () dereferences and ACE_UNUSED_ARGs.

Fri Apr 24 14:08:47 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * orbsvcs/tests/EC_Multiple/EC_Multiple.h:
        * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp:
          The test creates its own scheduling service now, so all the
          invocations are collocated.
          Added support for overhead test, but it is still untested.

        * orbsvcs/tests/EC_Multiple/Makefile:
          Updated dependencies.

        * orbsvcs/tests/EC_Multiple/latency.pl:
          The program generates number in usecs now, less need for
          conversion here.

        * orbsvcs/tests/EC_Multiple/gen_data:
          Improved the graphs, include titles, the time is in usecs, the
          EPS files are generated (for LaTeX) and then converted to JPEG
          (for HTML).

        * orbsvcs/orbsvcs/Makefile:
          Added Event/EC_Gateway.{h,cpp} and updated dependencies.

        * orbsvcs/Naming_Service/Naming_Service.cpp:
          Removed obsolete options from usage message.

Fri Apr 24 10:15:37 1998  Michael Kircher  <mk1@cs.wustl.edu>

        * tests/Quoter/Generic_Factory.{h,cpp,dsp}: server for a
          Generic Factory conforming to the LifeCycle Service

        * tests/Quoter/Generic_Factory_Impl.{h,cpp}: Implementation
          of a LifeCycle Service conforming Generic Factory

Fri Apr 24 10:08:37 1998  David L. Levine  <levine@cs.wustl.edu>

        * tao/NVList.cpp: added ACE_Node<CORBA::NamedValue_ptr> template
          instantiation.

Fri Apr 24 00:18:05 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO version 0.1.15 released.

Thu Apr 23 18:50:29 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * TAO_IDL/ast_enum.h,
          TAO_IDL/ast_exception.h,
          TAO_IDL/ast_interface.h,
          TAO_IDL/ast_module.h,
          TAO_IDL/ast_operation.h,
          TAO_IDL/ast_root.h,
          TAO_IDL/ast_structure.h,
          TAO_IDL/ast_union.h,
          TAO_IDL/utl_scope.h: Changed 'friend int yyparse()' to
          'friend int tao_yyparse()' to reflect new changes.

        * The following changes will hopefully provide a framework
          for getting rid of all the nasty problems with statics
          in TAO!

        * tao/ORB: Added a new static method called init_orb_globals()
          that initializes the globals when necessary.

        * tao/ORB: Added a new orb_init_count_ data member that keeps
          track of the number of times ORBs have been initialized in order
          to do a better job of managing globa ORB resources.

        * tao/Exception: Added a new method called fini() that deletes the
          dynamically allocated exceptions list.

        * tao/Exception: Changed init_standard_exceptions() to init() to
          be consistent.

        * tao/Marshal: Changed initialize() to init() to be consistent.

        * tao/IIOP_Interpreter: Changed init_table() to init() to be
          consistent.

        * tao/ORB: Added support so that we make sure to only initialize
          and destroy global ORB resources when the first/last ORB is
          created/destroyed, rather than using static objects (which are
          causing problems on shutdown).

Thu Apr 23 16:20:58 1998  Douglas C. Schmidt  <schmidt@flamenco.cs.wustl.edu>

        * TAO/TAO_IDL/Makefile: Change the YY* symbols to ACE_YY* symbols
          to avoid clashes if we link with other flex/yacc generated code.

Thu Apr 23 15:48:29 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * TAO_IDL/be/{be_visitor_structure, be_visitor_exception,
        be_visitor_union, be_visitor_sequence}.cpp: The code generation of
        the >>= operators is now improved to take into account the fact
        that an Any may not own the value. In such cases, the >>= operator
        should simply do a cast rather than retrieving the value from the
        CDR member

        * tao/Any.{h,i}: Added a new method (TAO extension) returning a
        boolean to indicate if the Any owns the data or not. This is used
        by the >>= operators generated for user-defined types

        * tao/Any.cpp: The constructor and assignment operator of Any that
        was creating a CDR stream used to point its ACE_Message_Block
        member to a buffer that was allocated on the function call
        stack. We now explicitly call "clone" on it to make a deep copy.

        * tao/GIOP.{h,i}: Added two methods that return the underlying
        input and output CDR streams.

        * tao/IIOP_Object.cpp: (do_dynamic_call): Made major
        modifications. We are now able to handle the case when the user
        has not supplied the top level storage for out and return
        parameters. For these cases, we use exactly the same logic as the
        Any::decode method. We maintain a pointer to the part of the CDR
        stream that holds the value and save it in the Any. It is the
        application's responsibility to use the appropriate >>= methods to
        retrieve the value.

        * tao/NVList.{h, i, cpp}: We now use ACE_Unbounded_Queue to
        maintain the list of NamedValues. The original code was mixing up
        C++ and C memory management by using calloc and realloc. This was
        cauisng too many problems. At the same time, reallocing would
        introduce a large number of deep_copies of the Anys that are held.
        All the add_* and item methods have been affected.

        * tao/ORB.cpp: Modified the create_list method since the NVList
        now uses ACE_Unbounded_Queue<NamedValue_ptr> to maintain a list of
        NamedValues.

        * tao/{append, encode, decode, skip}.cpp: For the Union::{append,
        encode, decode, skip} methods, it was necessary to use the >>=
        operators to retrieve the label values. We were originally using
        casts to the void* returned by the Any::value () method. However,
        since this returns the underlying CDR buffer, we need to use the
        type-safe >>= operators. For the enum case label, we explicitly
        invoke the decoder.

        * tao/Server_Request.cpp:(demarshal): We now create an NVList of
        size 0 and then add individual items according to the
        CallData_skel table. This is no more wasteful as in the previous
        scheme because now we use ACE_Unbounded_Queue to mainatin the
        internal list and hence growing the list does not result in huge
        amounts of deep_copies.

        * tests/Cubit/TAO/IDL_Cubit/client.cpp: Fixed the usage for DII in
        struct_dii and union_dii to use the >>= operators.

        * tests/Param_test/tests.cpp: Partially fixed the way DII tests
        should be coded. Some of them are now working. I need to fix the
        rest of them.

Wed Apr 22 15:56:58 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * orbsvcs/tests/EC_Multiple/EC_Multiple.h:
        * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp:
          The test also has a collocated scheduling service now.

        * orbsvcs/tests/EC_Multiple/svc.conf:
          Added a missing svc.conf file.

        * orbsvcs/Scheduling_Service/Scheduling_Service.cpp:
          The -n option can be used to specify the scheduling service name.

        * orbsvcs/orbsvcs/Scheduler_Factory.h:
        * orbsvcs/orbsvcs/Scheduler_Factory.cpp:
          We can find scheduling services with different names now.
          Removed all method that used resolve_initial_references() to
          find the scheduling service; this was needed before the naming
          service was working.

        * orbsvcs/tests/EC_Multiple/latency.pl:
        * orbsvcs/tests/EC_Multiple/gen_data:
          Simple scripts to process the data obtained in the experiments.

Mon Apr 20 16:46:07 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * TAO_IDL/be/be_visitor_interface.cpp: An ACE_NESTED_CLASS was
        getting generated with a blank first argument for cases where the
        interfaces were defined in the outermost scope. This is now fixed
        by using a conditional "is_nested".

Mon Apr 20 13:23:30 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/Server_Request.h:
        * tao/Server_Request.cpp:
          We keep a flag to determine whether the exceptions stored with
          the set_exception() method are user exceptions or system
          exceptions.

Mon Apr 20 09:48:01 1998  David L. Levine  <levine@cs.wustl.edu>

        * tests/CDR/growth.cpp (main): cast ACE_ONE_SECOND_IN_USECS
          to ACE_UINT32 to avoid ambiguity when using ACE_U_LongLong.

        * tao/append.cpp (append): commented out unused local
          "continue_append".

        * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp (run_tests): removed
          unused local "context_switch".  Protected declarations of
          "ptartTime" and "pstopTime" for CHORUS only.

        * tests/Cubit/TAO/MT_Cubit/client.cpp (do_priority_inversion_test):
          protected declaration of context_switch for ACE_HAS_PRUSAGE_T or
          ACE_HAS_GETRUSAGE.

Mon Apr 20 06:36:44 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * TAO_IDL/be/be_interface.cpp: The generated typecode was incorect
        in its encapsulation length. We were generating the entire
        TypeCode length as the encapsulation length.

Sat Apr 18 20:21:24 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * TAO_IDL/be/{be_visitor_exception, be_visitor_sequence,
        be_visitor_structure, be_visitor_union}.cpp: In the generated code
        for the >>= operators, we were incorrectly passing the address of
        the pointer to the decode method rather than simply passing the
        pointer.

        * tao/Any.cpp: The value () routine either returns the cdr_ or the
        value_ field depending on whether the Any owns the data or not.

        * tao/TypeCode.cpp: In private_equal, we had forgottent to account
        for the tk_any case.

Sat Apr 18 15:52:20 1998  Alexander Babu Arulanthu  <alex@merengue.cs.wustl.edu>

        * tao/Exception.cpp (CORBA_Exception): Removed a debugging
        statement assert (1==2) in the destructor of this class.

Sat Apr 18 12:19:11 1998  David L. Levine  <levine@cs.wustl.edu>

        * tests/Cubit/TAO/IDL_Cubit/server.cpp (init_naming_service):
          dereference orb and child_poa with in () in calls to
          my_name_server_.init ().

Sat Apr 18 10:14:13 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * tao/Any.cpp: There was a mistake in some of the the >>=
        operators in which for the "any owns data" case, we were
        retrieving the data from the value_ field instead of the cdr_
        field.

        * tao/GIOP.cpp: An unwanted explicit template instantiation for
        Unbounded sequences of TypeCode is now removed.

        * tao/decode.cpp: A very very subtle error. For the case of
        Any::decode, our strategy was to let the Any maintain a pointer to
        the CDR stream and eventually let the >>= operators do the
        retrieve part. We were correctly maintaining pointers to the
        duplicated ACE_Message_Block. Unfortunately, this
        ACE_Message_Block was maintaining a data member which is the CDR
        stream which was allocated on the function call stack of
        "do_static_call". As a result, all kinds of weird results started
        showing up. We now make an explicit copy. Although this scheme
        will slow down the performance for Anys, at this time, this is the
        only feasible solution to get things working.

        * tests/CDR: Added test for Any in basic_types.cpp

        * tests/Param_Test: Added some debug statements.

Fri Apr 17 19:15:24 1998  Alexander Babu Arulanthu  <alex@merengue.cs.wustl.edu>

        * tao/Any.h :
        * tao/Any.cpp : Added static dump () method for debugging any
        values. It prints out type and value (if the type is primitive).

Fri Apr 17 15:35:27 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * orbsvcs/orbsvcs/Naming/CosNaming_i.cpp:
          An explicit ACE_Thread_Mutex was used, this is non-portable to
          platforms without threads, the "Right Thing" is to use the macro
          ACE_SYNCH_MUTEX.

Fri Apr 17 13:29:46 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/skip.cpp (skip):
        * tao/deep_copy.cpp (deep_copy):
        * TAO_IDL/be/be_decl.cpp (tc_name2long): Removed unreferenced
          variables.

Fri Apr 17 12:12:04 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * TAO_IDL/be/be_visitor_operation.cpp: There was an error in the
        way the return Any type was passed to the demarshal and marshal
        routines of the generated skeleton code.

        * tao/Any.cpp: Error in the assignment operator for Any fixed. For
        the Any owns case, we were copying the data from the value_ field
        instead of the cdr_ field.

        * tao/decode.cpp: In Any::decode, we were setting the value_ field
        of the Any to the ACE_Message_Block rather than setting the cdr_
        field.

        * tao/encode.cpp: In Any::encode, we were reading from the value_
        field of the Any rather than the cdr_ field.

        * tests/Param_Test: Added code for the Any test. This is still
        under test.

Fri Apr 17 02:38:13 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * TAO_IDL/be/{be_visitor_exception, be_visitor_sequence,
        be_visitor_structure, be_visitor_union}.cpp: We had a mismatch in
        the signatures of operator <<= in the declaration and
        implementation. In addition, we force the generated code for >>=
        operator to own the allocated memory.

        * TAO_IDL/be/be_visitor_interface.cpp: In the code that generates
        >>= operator, we also generate code such that the allocated memory
        is owned by the Any

        * tao/Any.{h, cpp}: We now have two data members in class Any. We
        keep the older semantics of the value_ field. In addition, we
        maintain a ACE_Message_Block *cdr_ member. Originally we shared
        the value_ variable to mean either a CDR stream or a pointer to
        some data type. This was based on whether the Any owns the data or
        not. However, this strategy does not work because in the >>=
        operators for constructed types, we must hold on to the newly
        allocated storage since we own it and we must free it.

        * tao/TypeCode.cpp: In the constructor, we were initializing the
        internal buffer to point to 4 bytes past the actual buffer that
        was passed as a parameter. Things were fine as long as we were not
        transmitting typecodes. However, once we started doing that, we
        realized that somehow the buffers kept on reducing by 4 as we kept
        transmitting typecodes over the wire. Thus, a typecode receive don
        the other end had a smaller buffer (and hence different contents)
        than the original. We fix this by making our internal buffer point
        ot the start of the buffer that was passed as a parameter. The
        side-effect of this is that whenever we have to initialize a
        TAO_InputCDR with this internal buffer, we must do so by
        explicitly skipping the first 4 bytes (which contains the byte
        order flag) and indicating that the length is 4 less than the
        actual.

        * tao/decode.cpp: In TypeCode::decode, there was a very subtle
        error. Whenever we were decoding a typecode and determining that
        it was one  of the ORB maintained constants, we were simply
        pointing to it and passing it back. However, this is not correct
        because the application can call "release" which was resulting in
        "Freeing Non-Heap Memory" which is terrible. We now "_duplicate"
        such typecodes and then pass them to the applications.

Thu Apr 16 20:34:40 1998  David L. Levine  <levine@cs.wustl.edu>

        * tao/ORB_Core.cpp (TAO_ORB_Core): reordered initializers to
          match declaration order.

        * tao/Exception.cpp: added ACE_Unbounded_Queue<CORBA::TypeCode_ptr>,
          etc., instantiations.

        * tao/PolicyC.h (CORBA_PolicyList): commented out unused
          _tc_PolicyList_seq.

Thu Apr 16 19:22:10 1998  Seth Benjamin Widoff  <sbw1@waltz.cs.wustl.edu>

        * TAO_IDL/be/be_visitor_interface.cpp:
          The ACE_NESTED_CLASS macro in the base/member initialization
          section of a collocated class was using the wrong scope to
          initialize inherited collocated classes. Prefixed a "POA_" to
          the scope.

Thu Apr 16 16:00:35 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * tao/decode.cpp: In TypeCode::decode, for the case of bounded
        strings, we were passing a null pointer to the typecode
        constructor.

        * tao/encode.cpp: In TypeCode::In encode, for strings, we were
        encoding the typecode's buffer length rather than the bounds of
        the string.

        * tests/Param_Test: Added code to test TypeCodes. Most of the
        files in this suite are modified.

Thu Apr 16 13:28:59 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/decode.cpp:
          An exception was raised if a nil object reference was decoded.

        * tao/POA.cpp:
          For debugging purposes we print a message when an exception is
          raised on the server side.

        * TAO_IDL/be/be_visitor_interface.cpp:
          Use ACE_NESTED_CLASS macro for collocated classes, this makes
          the generated code portable between NT and other platforms.

Thu Apr 16 10:31:53 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * TAO_IDL/be/be_visitor_interface.cpp: I had forgotten to generate
        a "return TRUE" statement in the code for the >>= operator on
        interfaces.

        * TAO/tao/Any.cpp: All the basic >>= operators were using plain
        casts. However, according to the new strategy, if the Any owns the
        value, then it is a CDR stream. So we make this distinction in the
        code.

        * TAO/tao/POAS.cpp: In the initialization section of a number of
        skeleton class constructors, we were initializing
        _tao_collocated_Policy without specifying its fully scoped name
        which happens to be POA_CORBA::_tao_collated_Policy. g++ was
        complaining. However, it remains to be seen if MSVC++ accepts this
        new style.

Thu Apr 16 10:10:16 1998  Michael Kircher  <mk1@cs.wustl.edu>

        * tests/Quoter/Quoter_Impl.cpp: Improved the copy operation
        * tests/Quoter/client.{h,cpp}: Using the copy operation
                  Status: Bootstraping and copying of Lifecycle Objects works.

Thu Apr 16 08:36:16 1998  David L. Levine  <levine@cs.wustl.edu>

        * orbsvcs/Naming_Service/Naming_Service.cpp (parse_args):
          removed break following an ACE_ERROR_RETURN.

Thu Apr 16 01:25:18 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tao/poa.idl: Fixed the idl file.

        * tao/PolicyS.cpp (_tao_collocated_Policy): _tao_collocated_Policy
          must inherit from CORBA_Policy and not from CORBA::Policy.  This
          is because the VC++ compiler cannot deal with inheriting from
          nested typedefs.

        * tao/Policy{C,S}.h: Added TAO_Export macros. Also fixed the
          #include files.

        * tao/POAS.*: Added code for _get_policy_type_skel() and
          policy_type() by hand.

        * tao/POAC.*: Removed code for PortableServer::Policy.

        * tao/POA.cpp: Added the policy_type() method to the policy
          classes.

        * TAO: Changed PortableServer::Policy to CORBA::Policy.

Wed Apr 15 22:29:29 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * TAO_IDL/be/{be_visitor_structure, be_visitor_union,
        be_visitor_enum, be_visitor_sequence, be_visitor_interface,
        be_visitor_exception}.cpp: Added code to generate the <<= and >>=
        operators for CORBA::Any.

        * TAO_IDL/be/be_predefined_type.cpp: Added cases for LongLong,
        ULongLOng, and LongDouble which were missing. Thanks to Sam Hauer
        <shauer@nmo.gtegsc.com>.

Wed Apr 15 20:20:58 1998  Michael Kircher  <mk1@cs.wustl.edu>

        * orbsvcs/tests/Simulator/DOVEBrowser/PushConsumer{Factory}.java.JDK1.2
          added these two files, they can be used by the JDK 1.2 instead
          of by the Visigenic ORB.

Wed Apr 15 15:59:58 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * TAO/tao/append.cpp: Added a bunch of methods that take a CDR
        stream and append it to another CDR stream while maintaining the
        alignment. These functions use exactly the same logic as that used
        by the encode, skip, decode, deep_free, and deep_copy methods.

        * TAO/tao/any.cpp: When we reset the contents, we set value_ to 0

        * TAO/tao/CDR.{h, i, cpp}: Added a constructor to the
        TAO_OutputCDR and TAO_InputCDR to take an ACE_Message_Block as
        input. In addition, added the "append" methods that append one CDR
        to other while maintaining the alignment.

        * TAO/tao/Exception.{h, i, cpp}: Added the definition and
        implementation of the CORBA::ExceptionList class according to the
        CORBA v2.2 (Feb 98). This required a few changes in the
        Exception.cpp file while initializing the list of system
        exceptions.

        * TAO/tao/{GIOP, IIOP_Object}.cpp: Changes required due the new
        definition of ExceptionList

        * TAO/tao/Marshal.h: Added the append methods on all classes.

        * TAO/tao/ORB.h: Chnaged the definition of ExceptionList from
        typedef to TAO_Unbounded_Object_Sequence<TypeCode_ptr> to using
        the new defintion.

        * TAO/tao/Typecode.{h, cpp}: Moved the defintions of Bounds and
        BadKind inside the TypeCode class. This is where it belongs.

        * TAO/tao/decode.cpp: In Any::decode, we set the value_ data
        member of Any to a duplicated ACE_Message_Block.

        * TAO/tao/encode.cpp: Changed the implementation of Any::encode
        such that if the Any owns the data, then the value_ which is an
        ACE_Message_Block that holds a CDR stream gets appended to the
        destination CDR. Otherwise, the value is literally encoded into
        the destination CDR.

        * TAO/tao/skip.cpp: Added WString::skip. In addition, we had
        forgotten to pass the address of the discriminant_val to the
        decoder inside the Union::skip function.

Wed Apr 15 12:19:36 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/deep_copy.cpp (deep_copy): We need a return if no error was
          found.

Wed Apr 15 09:28:16 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/Stub.h:
          A field was declared <const CORBA::TypeCode_ptr*>, this field is
          needed to initialize a Sequence that requires a
          <CORBA::TypeCode**> parameter.  The careful reader will notice
          that there is no implicit conversion between the two types, the
          first is a pointer to constant TypeCode_ptr no a constant
          pointer to TypeCode_ptr.  Only SGI/C++ detected this problem.

Wed Apr 15 09:11:11 1998  David L. Levine  <levine@cs.wustl.edu>

        * orbsvcs/orbsvcs/Sched/DynSched.cpp (compare_entry_finish_times):
          added const's to first_entry and second_entry declarations and
          casts, so that ANSI static_casts will succeed.

        * orbsvcs/orbsvcs/Sched/Strategy_Scheduler.cpp (create):
          removed extraneous trailing semicolon.

        * orbsvcs/orbsvcs/Event/RT_Task.h (ACE_RT_Task): added "class"
          to declaration of friend ACE_RT_Thread_Manager.

        * orbsvcs/Dump_Schedule/Dump_Schedule.cpp (main): added an _out
          temporary to avoid compiler warning about a temporary being used
          for a non-const reference.  Because only Sun C++ seems to complain
          about this, and the temporary is non-comformant (it is an _out
          type, and users aren't supposed to create them), the hack is
          only used with Sun C++.

Tue Apr 14 19:35:50 1998  Michael Kircher  <mk1@cs.wustl.edu>

        * tests/Quoter/*: Quoter example is running using the Cos LifeCycle
          Factory Finder.

Tue Apr 14 16:37:50 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/encode.cpp:
        * tao/deep_copy.cpp:
        * tao/decode.cpp:
        * tao/Principal.cpp:
        * tao/ORB.h:
        * tao/IIOP_Object.cpp:
        * tao/GIOP.cpp:
        * tao/Exception.cpp:
          Removed the last traces of CORBA_SEQUENCE<T>, we use
          TAO_Unbounded_Sequence<CORBA::Octet> for CORBA::OctetSeq and
          TAO_Unbounded_Object_Sequence<T> for CORBA::ExceptionList.

        * orbsvcs/Naming_Service/Naming_Service.cpp:
        * orbsvcs/orbsvcs/Naming/Naming_Utils.h:
        * orbsvcs/orbsvcs/Naming/Naming_Utils.cpp:
          It is less surprizing to receive arguments as T_ptr than as
          T_var&.
          Also followed the usual memory managment conventions of CORBA,
          i.e. we don't own the parameters we receive, but we do own the
          return values or out parameters we obtain.

        * orbsvcs/tests/Event_Latency/Event_Latency.h:
        * orbsvcs/tests/Event_Latency/Event_Latency.cpp:
          Pseudo-objects or objects passed as input parameters must be
          duplicated before storing them in a T_var variable.

Tue Apr 14 13:49:51 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        The following changes are untested.

        * TAO/tao/skip.cpp: Added a new file that can skip values in the
        CDR stream. We need this functionality so that when an Any is
        decoded, it will simply hold a pointer to the ACE_Message_Block
        (which in turn consists the incoming CDR stream). However, we
        still need to skip past the value. This skipping uses the same
        interpretive algorithm used by the encoder and decoder.

        * TAO/tao/Any.{h, cpp}: Changed the way constructors, assignment
        operators, replace method, and destructor worked. The policy is
        that if the Any owns the value, then it immediately converts the
        value to a CDR stream and destroys the value.

        * TAO/tao/CDR.{h, i}: Added some more functionality to do the
        basic "skip" operations.

        * TAO/tao/Marshal.h: Added the skip methods on all the
        TAO_Marshal_* classes.

        * TAO/tao/decode.cpp: When we decode an Any, the value pointer now
        points to the CDR stream (represented as a ACE_Message_Block). It
        is the application's responsibility to use the <<=, >>= operators
        to retrieve the right type.

        * TAO/tao/Policy{C,S}.{h,i,cpp}: Added these files that have stubs
        and skeletons for the CORBA::Policy interface.

        * TAO/tao/{ORB, corba}.h: Added definitions for the PolicyType,
        Policy, and PolicyList.

Tue Apr 14 12:27:35 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/decode.cpp:
        * tao/encode.cpp:
          Use the write_*_array() and read_*_array() when
          encoding/decoding arrays or sequences into/from a CDR
          stream. Since every request has at least one sequence (the
          object key) this is a improvement for all requests.
          I was able to measure improvements in the order of 5% to 10% for
          IDL_Cubit.

        * tests/CDR/growth.cpp:
          The correct interface to accumulate measurements in a
          ACE_High_Res_Timer is start_incr()/stop_incr().

        * tests/Cubit/TAO/IDL_Cubit/client.cpp:
          Increased the maximum sequence size to 100, otherwise it is hard
          to notice how the sequences affect performance.

        * docs/releasenotes/ec.html:
          Added an explicit example on how to run the Event_Latency test.

        * tao/Exception.cpp:
          Fixed indentation.

        * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp:
          An exception was not "rethrown".

Tue Apr 14 12:23:04 1998  David L. Levine  <levine@cs.wustl.edu>

        * orbsvcs/orbsvcs/Sched/DynSched.cpp,Strategy_Scheduler.cpp,
          tests/Cubit/TAO/MT_Cubit/Task_Client.h:
          #include math.h after #including the ACE headers, to avoid a
          compile warning on ghs/VxWorks.

        * orbsvcs/orbsvcs/Sched/DynSched.cpp (add_dependency): removed
          a break statement following a return.

        * orbsvcs/orbsvcs/Sched/SchedEntry.h (OS_priority): removed
          name qualifier (the class name).

        * tests/Param_Test/client.cpp (run_dii_test): removed second
          return statement at end.

        * tests/Cubit/TAO/MT_Cubit/Task_Client.{h,cpp},client.cpp
          (get_latency): cast double latency_ to u_int.

Tue Apr 14 10:23:32 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * tao/ORB_Core.h (TAO_ORB_Core): Moved a bunch of "set" methods
          into the public part of the class so that we can set them if
          necessary.  Also changed the "set" methods so they return the
          original pointer, which enables "chaining".  Thanks to Brian
          Mendel for point this out.

Tue Apr 14 07:16:21 1998  David L. Levine  <levine@cs.wustl.edu>

        * Makefile: added CONTROLLED_FILES macro.  Thanks to Doug
          for reporting this.

        * INSTALL,Makefile: removed INSTALL from CVS control.

Tue Apr 14 00:51:45 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO version 0.1.14 released.

Sat Apr 11 20:02:32 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO version 0.1.13, released Sat Apr 11 20:02:32 1998.

Sat Apr 11 10:00:09 1998  Michael Kircher  <mk1@cs.wustl.edu>

        * orbsvcs/tests/Simulator/DOVEBrowser/DOVEBrowser.java:
          modified to be used only when the DOVE Browser is running as
          an Java Application.

        * orbsvcs/tests/Simulator/DOVEBrowser/DOVEBrowserApplet.java:
          used when the DOVE Browser is running as an Applet.

        * orbsvcs/tests/Simulator/DOVEBrowser/*: minor changes to handle
          the afore mentioned changes.

Fri Apr 10 15:11:44 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/GIOP.cpp (message_name): Fixed a missing increment by 1
          code.  Thanks to Sumedh for noticing the bug.

Fri Apr 10 10:41:04 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tests/Param_Test/tmplinst.cpp:
          Added a missing template instantiation.

Fri Apr 10 04:38:36 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * TAO_IDL/be/be_visitor_typedef.cpp: The changes made by me in the
        log entry mentioned just below had some flaws. I had sort of
        blidly applied it to a case in the "visit_typedef" node of the
        be_visitor_typedef_ci class. I was resetting the alias context
        before the code generation action was taken as aooposed to doing
        it after the action was taken. Thanks to Seth Widoff for sending
        the bug report.

Thu Apr  9 21:57:52 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * tao/POAS.cpp: Fixed up the POA to use the new
          ACE_Static_Allocator_Base stuff.

        * tao/Operation_Table: Added an additional parameter to the
          TAO_Dynamic_Hash_OpTable constructor so that we can pass in the
          ACE_Static_Allocator_Base.  Also, changed the code to use the
          base/member initialization section, which is more efficient.

Thu Apr  9 22:53:21 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * TAO_IDL/be/be_interface.cpp: We now use the
        ACE_Static_Allocator_Base to define a static allocator for the
        Dynamic Operation Hash Table. Using this approach will finally
        solve the seg faults in the static destructors.

        * TAO_IDL/be/{be_visitor_args, be_visitor_array, be_visitor_field,
        be_visitor_exception, be_visitor_operation, be_visitor_typedef,
        be_visitor_union, be_visitor_union_branch}.cpp: The visit_typedef
        operation on all the classes in these files was setting the
        TAO_Visitor_Context's alias state to the typedef node being
        visited. However, we were not resetting this context alias state
        after the action has been taken. This broke code for a scenario
        shown in a dummy IDL below:

               typedef X Y;
               struct foo { ... };
               struct bar {
                 Y y_field;
                 long long_field;
               };
        In the code generation for the struct "bar" (for that matter for
        unions, exceptions, sequences, and others), when we are generating
        the code for the field whose type is "Y", we set the alias
        context, it gets set to Y and we use its primitive type which is X
        to do the "accept". However, we do not reset the alias context. As
        a result, when we are generating the code for the long_field, the
        alias context is still "Y" which leads our IDL compiler to
        generate code that says "Y long_field;" rather than "long
        long_field;". This is now fixed.

Thu Apr  9 20:15:41 1998  Nagarajan Surendran  <naga@tango.cs.wustl.edu>

        * orbsvcs/Naming_Service/Naming_Service.cpp (init): Added code to
        recognize the -o option to output the Naming Service ior to a file
        to avoid setting the NameService env. variable when multiple
        naming services are running.

        * orbsvcs/orbsvcs/Naming/Naming_Utils.cpp: Added a
        naming_service_ior () method to return the ior of the Naming
        Service.

Thu Apr  9 19:25:44 1998  Michael Kircher <mk1@cs.wustl.edu>

        * orbsvcs/tests/Simulator/DOVEBrowser/PushConsumer.java,
                  orbsvcs/tests/Simulator/DOVEMIB/DOVEMIB.cpp.
                  orbsvcs/tests/Simulator/Event_Supplier/Event_Sup.cpp:
                  Had to conform to the new RtecScheduler.set ( ..) method,
                  some parameters were added.

        * docs/releasenotes/index.html: Enhanced description of the DOVE

Thu Apr  9 10:07:34 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * orbsvcs/orbsvcs/Time_Utilities.i:
          Fixed warnings in convertion from 64 bit ints to 32 bit
          ints. This is a classical example of a "good" cast, we know the
          numbers will be in range (unless something *really* bad happens,
          like), so the conversion will work.

Wed Apr 08 10:02:16 1998  David L. Levine  <levine@cs.wustl.edu>

        * bin/make_release: added this script that creates ACE and/or
          TAO releases.

        * Makefile: added support for make_release.  See comments at
          the top of the Makefile.  The old release mechanism has
          been retained; to use it:  make release-old.

        * tao/ORB.cpp (ORB_init): added missing __FILE__ to printout.
          Thanks to Tom Brusehaver <tgb@cozy.netco.com> for reporting
          this.

        * orbsvcs/Runtime_Scheduler.{h,i},
          orbsvcs/orbsvcs/Config_Scheduler.{h,i} (set):
          removed const from Criticality and Info_Type arguments.  Thanks
          to Doug and Irfan for reporting this.

Wed Apr 08 07:41:53 1998  Brian Mendel  <brian.r.mendel@boeing.com>

        * tao/{default.bld, tao.bld}: Updated VxWorks GHS Build files.

        * orbsvcs/default.bld,
          orbsvcs/orbsvcs/orbsvcs.bld,
          orbsvcs/Event_Service/Event_Service.bld,
          orbsvcs/Scheduling_Service/Scheduling_Service.bld,
          orbsvcs/Naming_Service/Naming_Service.bld,
          orbsvcs/Dump_Schedule/Dump_Schedule.bld:
              Updated VxWorks GHS Build files.

        * tests/Cubit/TAO/IDL_Cubit/{default.bld,IDL_Cubit.bld}:
              Updated VxWorks GHS Build files.

Wed Apr 08 00:31:08 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tao/ORB_Core.cpp (init): If the host is not supplied by the
          user, we will go ahead and call ACE_OS::hostname immediately.
          This will help later down the road, since ACE_OS::hostname will
          not have to be called each time an IIOP_Profile is created.

        * tao/IIOP_Object.cpp (set): Changed the calls to get_host_addr()
          to get_host_name().  The name is more readable than the IP
          address.

        * tao/ORB_Core.cpp (init): If the user explicitly specifies
          -ORBport 0, we choose a port and start listening.  This will
          make sure that all IORs produced will be correct.  If -ORBport 0
          is not specified, lazy listening is done as usual (on
          orb->run()).

Tue Apr  7 18:25:09 1998  Michael Kircher  <mk1@cs.wustl.edu>

        * tests/Quoter/quoter.idl: Extended the interface by a Factory
          Finder.

        * tests/Quoter/QuoterFactoryFinder.{cpp,h}: Server and
          Implementation of the Factory Finder.

Tue Apr  7 16:22:09 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * TAO_IDL/util/utl_global.cpp:
          Changed a buffer size from MAXNAMELEN to MAXPATHLEN, the former
          is very small in some systems, plus the fact is that a fullpath
          can be use in that buffer, so MAXPATHLEN is the right constant.

Tue Apr 07 10:55:53 1998  David L. Levine  <levine@cs.wustl.edu>

        * orbsvcs/tests/Simulator/ss: generate port numbers based on
          uid, and set TAO_ROOT (based on ACE_ROOT) if it's not set.
          This utility should be moved, maybe up two directories?

        * orbsvcs/orbsvcs/{Makefile,RtecScheduler.idl,Runtime_Scheduler.*,
            Scheduler_Factor.*},
          orbsvcs/orbsvcs/Event/Dispatching_Modules.cpp,Event_Channel.cpp,
            ReactorTask.cpp,
          orbsvcs/orbsvcs/Sched/Config_Scheduler.{h,cpp},DynSched.*,
            SchedEntry.*,Scheduler.cpp,Strategy_Scheduler.{h,cpp},
          orbsvcs/tests/EC_Multiple/EC_Multiple.cpp,
          orbsvcs/tests/Event_Latency/Event_Latency.cpp:
          merged DynSched into liborbsvcs.

        * orbsvcs/tests/Sched/Makefile: added.

        * orbsvcs/tests/Sched/DynSched_Test.cpp: builds on Suns.  And
          runs!

Mon Apr  6 14:43:13 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/Connect.cpp:
          The process would crash if it was unable to resolve an address
          to a name, even though it was only used in a debugging
          message. Thanks to Keith Nicewarner <knicewar@sanders.com> for
          pointing out this.

Mon Apr 06 09:59:22 1998  David L. Levine  <levine@cs.wustl.edu>

        * tests/Thruput/tao/utils.cpp: hacked so that it will compile
          on VxWorks and Chorus.  It won't run properly, though.  The
          file should be updated to use ACE_Profile_Timer instead of
          using rusage directly.

        * TAO_IDL/Makefile: moved include of rules.local.GNU to after
          include of rules.bin.GNU.  Without this change, tao_idl doesn't
          get build on LynxOS.

        * TAO_IDL/driver/drv_preproc.cpp (DRV_pre_proc): ACE_OS::mktemp ()
          instead of mktemp ().

Sun Apr 05 18:05:26 1998  Michael Kircher  <mk1@cs.wustl.edu>

        * orbsvcs/tests/Simulator/DOVEBrowser/{ DOVEBrowser.java,
          DemoCore.java, PushConsumerFactory.java }:
          The Browser accepts now the parameter -ORBnameserviceior.

Sun Apr 05 10:04:57 1998  David L. Levine  <levine@cs.wustl.edu>

        * tao/Makefile: don't regenerate files using TAO's IDL compiler.
          Instead, always use what's in our CVS repository, or in the TAO
          distribution.

        * tao/Makefile: use fakesvcconf = 1 if shared_libs is not defined,
          instead of if CROSS-COMPILE is not defined.

Sat Apr 04 21:25:43 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO version 0.1.12, released Sat Apr 04 21:25:43 1998.

Sat Apr  4 17:43:08 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * tao/Operation_Table.cpp: Removed the call to hash_.close() since
          the Hash_Map_Manager destructor handles this already.

Sat Apr  4 15:50:29 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * TAO_IDL/be/be_visitor_sequence.cpp,
          TAO_IDL/be_include/be_visitor_sequence.h: Added a case to
          support sequence of exceptions.

Sat Apr 04 07:45:33 1998  David L. Levine  <levine@cs.wustl.edu>

        * tao/ORB.h: don't use u_longlong_t on Suns if
          ACE_LACKS_U_LONGLONG_T is defined.

        * tests/Cubit/TAO/MT_Cubit/client.cpp (do_priority_inversion_test):
          moved declaration of loop index "i" out of two for loops, and
          declared as u_int instead of int to prevent signed/unsigned
          comparison.

Sat Apr  4 04:26:49 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * TAO_IDL/be/be_visitor_interface_fwd.cpp: We were not checking if
        the node was imported. Due to this, code was getting generated for
        forward declared interfaces from "#include"d IDL files.

        * TAO_IDL/be/be_visitor_sequence.cpp: We were not calling
        "nested_type_name" while generating the return type of the
        operator [] in the sequence var class. As a result, a fully scoped
        name was getting generated instead of a relative scoped name which
        the MSVC++ compiler does not like.

        * TAO_IDL/be/be_visitor_exception.cpp: For "typedefed" nodes, we
        were using their base types to generate the code. This is fixed.

        In addition, some files from the above and others were modified to
        correct some formatting problems in the generated code.

Sat Apr  4 00:24:01 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * tests/Cubit/TAO/MT_Cubit/client.cpp: Fixed a typo where
          "i" was being defined twice in the same block of code.

Fri Apr  3 18:40:49 1998  Sergio Flores  <sergio@polka.cs.wustl.edu>

        * tests/Cubit/TAO/MT_Cubit/client.cpp:
        * tests/Cubit/TAO/MT_Cubit/server.cpp:
        * tests/Cubit/TAO/MT_Cubit/Task_Client.h:
        * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp: Minor changes for
        Chorus.  Cleanup code.

Fri Apr  3 18:39:21 1998  Steve Huston  <shuston@riverace.com>

        * tests/POA/On_Demand_Activation/Makefile: Changed LSRC to SRC to
          match today's changes to ACE's rules.bin.GNU.

Fri Apr  3 17:43:07 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/CDR.h:
        * tao/orbconf.h:
        * tao/CDR.cpp:
          Added configuration macros to enable swap on write, and to
          disable swap on read.
          Also increased the default size of a CDR buffer.

        * tests/CDR/Makefile:
        * tests/CDR/growth.cpp:
          Added another simple test of the CDR buffer, this one tries to
          measure performance.

Fri Apr  3 17:15:22 1998  Steve Huston  <shuston@riverace.com>

        * TAO_IDL/Makefile: The sources that go into the compiler are
          listed in SRC, not LSRC.  This matches a change in ACE's
          include/makeinclude/rules.bin.GNU.

Fri Apr  3 17:07:18 1998  Sergio Flores  <sergio@polka.cs.wustl.edu>

        * tao/TAO_Internal.cpp (FAKE_SVC_ENTRY):
        * tao/orbconf.h: Made minor changes to have the fake service
        configurator receive its values through macros, instead of
        changing the ".cpp" file.  Seems cleaner this way.

Fri Apr  3 15:35:39 1998  Alexander Babu Arulanthu  <alex@merengue.cs.wustl.edu>

        * orbsvcs/tests/AVStreams/client.h, client.cpp: All PropertySet
        methods and the Iterator class methods tested.

Fri Apr  3 08:59:16 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/CDR.cpp:
          Null strings are transmitted as empty strings.
          Fixed

        * tao/IIOP_ORB.cpp:
          Ensure that CDR buffer created from the IOR string is properly
          aligned.

        * tao/Server_Request.cpp:
          More checking for exceptions while decoding parameters and we
          print an error message if decoding fails.

        * tao/Typecode.cpp:
          Only the first byte of the encapsulation stores the byte order,
          the next three bytes are ignored because the <kind> is stored as
          a long.

        * tao/decode.cpp:
          Removed dead code, improve error message when decoding object
          references and fix an off by one error in ObjRef::decode.

        * tao/encode.cpp:
          When encoding Object References an encapsulated stream is
          created in place, I debugged the computation of the length for
          that stream and left some debug messages commented out.
          The support for encoding null strings and wstrings as empty
          strings is in the CDR classes, no need to duplicate the effort
          here.

        * tao/Connect.cpp:
          Cosmetic changes.

Fri Apr 03 09:01:00 1998  David L. Levine  <levine@cs.wustl.edu>

        * tests/Cubit/TAO/MT_Cubit/server.cpp (start_servants):
          changed local "ior_file" to "ior_f" because it shadowed
          the global and caused compile failure with g++.

        * tests/Cubit/TAO/MT_Cubit/server.cpp (start_servants):
          check return values of activate calls.

        * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp (run_tests):
          added default case to switch statement.

        * tao/Sequence*.{i,cpp}: use ACE_CAST_CONST instead of const
          in reinterpret casts, to keep all compilers happy.

Thu Apr 02 15:49:16 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/tests/Cubit/TAO/MT_Cubit/client.dsp:
        * tao/tests/Cubit/TAO/MT_Cubit/server.dsp: Updated project file.

        * tao/ORB_Core.{h,i,cpp} (create_and_set_root_poa): Added this
          private method to create and set the root poa of the calling
          ORB_Core.
          (root_poa): Make sure this function will always return a valid
          poa pointer (thru the use of create_and_set_root_poa above.)

        * tao/ORB.cpp (resolve_poa): Moved the creation of poa into
          ORB_Core.

Wed Apr  1 23:39:04 1998  Sergio Flores  <sergio@flamenco.cs.wustl.edu>

        * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp:
        * tests/Cubit/TAO/MT_Cubit/Task_Client.h:
        * tests/Cubit/TAO/MT_Cubit/Util_Thread.cpp:
        * tests/Cubit/TAO/MT_Cubit/Util_Thread.h:
        * tests/Cubit/TAO/MT_Cubit/client.cpp:
        * tests/Cubit/TAO/MT_Cubit/server.cpp:
        * tests/Cubit/TAO/MT_Cubit/server.h: Fixed some bugs and added
        some comments.

Wed Apr 01 22:37:59 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tests/POA/Default_Servant/client.cpp: Fixed options parsing.

        * tao/Servant_Base.h: Added TAO_Export to
          TAO_DynamicImplementation.

Wed Apr  1 17:33:04 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * tests/Cubit/TAO/MT_Cubit: Cleaned up the formatting of the code
          to conform to the TAO programming style.

Wed Apr  1 11:07:53 1998  Michael Kircher  <mk1@cs.wustl.edu>

        * orbsvcs/tests/Simulator/DOVEBrowser/VisCompFactory.java:
          Implemented a Factory pattern to generate the Visualization
          Components and the Java class loader is now used to instantiate
          the JavaBeans Visualization Components.

        * orbsvcs/tests/Simulator/DOVEBrowser, DOVEMIB and Event Supplier
          are running under NT properly.

Wed Apr 01 09:44:31 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/ORB_Core.cpp (init,fini): Removed calls to
          ACE_OS::socket_init and ACE_OS::socket_fini because they are
          taken care of by ACE already.

Wed Apr  1 09:46:53 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        The following fix was also made by Carlos simultaneously. Here is
        the reason what was going wrong.

        * tao/IIOP_Interpreter.cpp: In calc_nested_size_alignment_i, there
          was a bug in which we were initializing the CDR stream for
          nested parameters with an incorrect size. This was due to the
          fact that we were computing the byte order outside and then
          initializing the stream with 4 less bytes. However, the
          constructor of the TAO_InputCDR was also computing the byteorder
          using wrong locations in the bytestream. This is now fixed.

        * tests/Param_Test: Added barebones implementation to test
          Anys. This is still not complete because we still have to work
          on getting Anys in TAO to work correctly and get rid of the
          memory management problems we are having.

Wed Apr  1 09:41:07 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/IIOP_Interpreter.cpp (calc_nested_size_and_alignment_i):
           Fixed nested strem interpretation.

Wed Apr  1 08:56:24 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * tao: Renamed ResultFromScode to TAO_ResultFromScode to avoid
          clashes with MFC functions.  Thanks to David Janello
          <djanello@cccis.com> for reporting this.

Tue Mar 31 21:01:30 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * orbsvcs/orbsvcs/Naming/Naming_Utils.cpp (init): Fixed a typo.

Tue Mar 31 20:18:36 1998  Nagarajan Surendran  <naga@tango.cs.wustl.edu>

        * orbsvcs/orbsvcs/Naming/Naming_Utils.cpp (TAO_Naming_Server):
        Added code to remove the IOR_Multicase event handler in the destructor.

Tue Mar 31 19:50:48 1998  Nagarajan Surendran  <naga@tango.cs.wustl.edu>

        * tests/Cubit/TAO/IDL_Cubit/server.cpp (Cubit_Server): Removed the
        naming service unbind code from the destructor as the naming
        server is a component and not an external server. Also they will
        be destructed when the ~Cubit_Server is called.

Tue Mar 31 19:30:03 1998  Nagarajan Surendran  <naga@tango.cs.wustl.edu>

        * tests/Cubit/TAO/IDL_Cubit/server.cpp (Cubit_Server): Added a
        check in the destructor to unbind the cubit_factory from the
        naming service.

Tue Mar 31 15:15:53 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/Sequence.h:
        * tao/Sequence.i:
        * tao/Sequence_T.h:
        * tao/Sequence_T.i:
          g++ does not like typedefs inside templates, and we were abusing
          them in the sequences.

        * tests/CDR/tc.cpp:
          Fixed formatting problems.

        * tests/Param_Test/tmplinst.cpp:
          Added missing template instantiations.

Tue Mar 31 11:10:34 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/ORB.h (String_out):  Added the infamous TAO_Export macro.

Tue Mar 31 14:38:29 1998  Douglas C. Schmidt  <schmidt@flamenco.cs.wustl.edu>

        * tao/Sequence_T.i (replace): Make sure to cast this->buffer_
          to (T *) to make compilers like GCC happy!

Tue Mar 31 13:34:36 1998  David L. Levine  <levine@cs.wustl.edu>

        * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp (svc): dereference
          cb_factory with .in ().

        * tests/Cubit/TAO/MT_Cubit/server.cpp (start_servants): declare
          iorFile outside the conditional statement.

        * tests/Cubit/TAO/MT_Cubit/cubit.idl: added comments and RCS Id
          string.

        * tests/Cubit/TAO/MT_Cubit/{client,server}.cpp: fixed priority
          assignments so that they work on all platforms.

        * tests/Cubit/TAO/MT_Cubit/Task_Client.h: fixed fabs() to negate
          the argument if less than 0.

Tue Mar 31 11:05:23 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/CDR.h:
        * tao/CDR.cpp:
        * tao/decode.cpp:
        * tao/Typecode.cpp:
          Added constructor for encapsulated streams to the TAO_InputCDR
          class; this was causing problems on Intel machines.

        * TAO_IDL/be/be_helper.cpp:
        * TAO_IDL/be/be_codegen.cpp:
          We end #if/#endif blocks using C style comments (/* */) as
          opposed to C++ style (// )

        * tao/Sequence.i:
        * tao/Sequence.cpp:
        * tao/Sequence_T.i:
        * tao/Sequence_T.cpp:
          Fixed a lot of const-correctness problems, thanks to J. Russell
          Noteworthy <rnosewor@objectsciences.com> for putting me on this
          track.

        * tests/Param_Test/tmplinst.cpp:
        * tests/Param_Test/tests.cpp:
        * tests/Param_Test/param_test_i.h:
        * tests/Param_Test/param_test_i.cpp:
        * tests/Param_Test/param_test.idl:
          The test now includes all kind of sequences: of basic types, of
          structs, of strings, of objects; both bounded and unbounded.
          Unfortunately only compilation is verified, I still have to add
          code to verify functionality.

        * TAO_IDL/be/be_visitor_sequence.cpp:
          Unproper code was generated for bounded sequences of strings.

        * tao/IIOP_ORB.cpp:
          Added some debug messages to verify that collocation works.

        * orbsvcs/tests/EC_Multiple/README:
        * orbsvcs/tests/EC_Multiple/EC_Multiple.h:
        * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp:
          Now that the ORB supports collocation we can create a collocated
          EC, but that requires a smarter startup.
          It seems that the ECP is not receiving all the messages it
          should.
          The main purpose of the change was to verify that collocation
          works and it seems to do so.

        * tao/Connect.cpp:
          We set the flag to expect input *before* making the
          request. This alleviates (but does not solve) the problems of
          using several threads and a global ORB: in such a configuration
          it is possible that one thread is running the event loop, but
          another makes a request, if the reply is received before the
          flag is set the ORB believes it has received an out-of-order
          reply and shutdowns the connection.
          The real solution is to use the leader-follower model.

        * tao/decode.cpp:
        * orbsvcs/Event_Service/Event_Service.cpp:
          Cosmetic changes.

Mon Mar 30 21:38:32 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/ORB_Core.cpp (fini): Added a call to ACE_OS::socket_fini ().

        * tao/IIOP_ORB.cpp (_get_collocated_object): Changed to call
          TAO_ORB_Core_instance ()-> root_poa () instead of
          this->resolve_poa ().  Thanks to Carlos for tracing this down.

Mon Mar 30 17:59:30 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/ORB_Core.i: Only _NOT_ specialize
          ACE_Hash_Addr<ACE_INET_Addr> when ACE needs to instantiate
          template explicitly and it is not inlined.

Mon Mar 30 13:13:07 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/Typecode.cpp:
          Fixed cast that dropped constness when only reinterpret_cast was
          needed; thanks to David Levine (levine@cs.wustl.edu) for
          detecting this.

        * tao/Server_Request.cpp:
          bytes_remaining was called in a debug message (not seen in
          Solaris); thanks to Nanbor Wang (nanbor@cs.wustl.edu) for
          reporting this.

Mon Mar 30 12:28:02 1998  David L. Levine  <levine@cs.wustl.edu>

        * tao/ORB_Core.i: only specialize ACE_Hash_Addr<ACE_INET_Addr>
          with ACE inlining enabled, to avoid link collision with the
          instantiation in Connect.cpp.

        * tao/CDR.cpp (TAO_OuputCDR ctors): rearranged initializations
          to match declaration order.

        * tao/t-sizes.cpp: #include "tao/corba.h" instead of "tao/orb.h".

Mon Mar 30 10:28:05 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * Implemented new classes to manipulate CDR streams, this classes
          separate input (interpretation) and output (creation) of the
          streams; in an attempt to make the interface more robust.
          The new classes provide methods to write and read strings and
          arrays, this is currently used in very few places, but it could
          provide a big performance boost.

          The change affected the following files:

        * TAO/tao/Align.h:
        * TAO/tao/CDR.cpp:
        * TAO/tao/CDR.h:
        * TAO/tao/CDR.i:
        * TAO/tao/Connect.cpp:
        * TAO/tao/Connect.h:
        * TAO/tao/Exception.cpp:
        * TAO/tao/GIOP.cpp:
        * TAO/tao/GIOP.h:
        * TAO/tao/GIOP.i:
        * TAO/tao/IIOP_Interpreter.cpp:
        * TAO/tao/IIOP_Interpreter.h:
        * TAO/tao/IIOP_ORB.cpp:
        * TAO/tao/ORB.h:
        * TAO/tao/Server_Request.cpp:
        * TAO/tao/Server_Request.h:
        * TAO/tao/Server_Request.i:
        * TAO/tao/Typecode.cpp:
        * TAO/tao/Typecode.h:
        * TAO/tao/decode.cpp:
        * TAO/tao/deep_copy.cpp:
        * TAO/tao/deep_free.cpp:
        * TAO/tao/encode.cpp:
        * TAO/tao/orbconf.h:
        * TAO/tao/params.h:
          In most cases it was only a matter of changing the class name
          and the method invocations.

        * tests/Param_Test/options.cpp:
          Use CORBA::string_copy instead of ACE::strdup because we delete
          the buffer with CORBA::string_free.

        * tests/Cubit/TAO/IDL_Cubit/client.cpp:
          I limited the size of the sequences, otherwise the test time
          grows non-linearly with the number of loops.

        * tests/Param_Test/README:
          The test can also check string sequences, but the option to do
          so (-t strseq) was not documented.

        * tests/CDR/basic_types.cpp:
          The test is run several times; this is useful when trying to
          verify performance.

Sun Mar 29 03:09:17 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/IIOP_ORB.{h,i,cpp}: Added an optimize_collocation_objects_
          flag to turn optimization for collocation objects on and off.

        * tao/ORB_Core.cpp: Added an initialization argument
          -ORBcollocation to make ORB aware of collocation objects or
          not.  The default is on.

        * doc/Options.html: Added documentation for -ORBcollocation.

Fri Mar 27 20:08:24 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * orbsvcs/orbsvcs/Naming/CosNaming_i.cpp (NS_NamingContext):
          Changed to get lock from the ORB.

        * orbsvcs/orbsvcs/orbsvcs.dsp: Update the source file list.

        * tao/ORB.h: Added TAO_Export to class CORBA_ORB_var.

        * tao/params.cpp: Removed the extra inclusion of <params.i>.

Fri Mar 27 14:10:34 1998  Steve Huston  <shuston@riverace.com>

        * TAO_IDL/driver/drv_preproc.cpp: (also see my entry from 09:50)
          Removed explicit char * operator call, and use the conversion
          as it was before.  However, I needed to change the ?: operator to
          an if/else for AIX xlC to compile it correctly.

Fri Mar 27 13:38:04 1998  Seth Benjamin Widoff  <sbw1@waltz.cs.wustl.edu>

        * orbsvcs/IOR_Multicast.{h,cpp}:
        * orbsvcs/Makefile:
        * orbsvcs/Naming/Naming_Utils.{h,cpp}:
        I moved the Ior_Multicast.{h,cpp} files up a directory and changed
        the class name to TAO_IOR_Multicast. It didn't logically belong
        in the Naming directory, since other bootstrappable services
        require it.

Fri Mar 27 11:47:58 1998  David L. Levine  <levine@cs.wustl.edu>

        * tao/IIOP_ORB.*,IIOP_Object.{h,cpp},Request.{h,cpp},Server_Request.*,
          Exception.*,params.*,Connect.*,default_{client,server}.*,corba.h:
          #include the .i file in the .h/.cpp files instead of corba.h.

        * tests/Demux_Test/client.cpp: #include ace/stream.h instead of
          system headers, and use ACE_OS::gethrtime () instead of
          gethrtime ().

        * orbsvcs/orbsvcs/Event/Reactor_Task.cpp (ACE_ES_Reactor_Task): always
          use ACE_OS::gettimeofday ().  ACE_High_Res_Timer::gettimeofday ()
          now takes an argument, so it's not compatible with what
          ACE_Timer_Queue needs.  And it didn't seem necessary to have
          separate code for VxWorks.  And the hrtimer on WIN32 is flakely
          on multiple-CPU machines.

        * tao/IIOP_ORB.cpp: added ACE_Unbounded_Set_Iterator template
          instantiation.

Fri Mar 27 09:50:52 1998  Steve Huston  <shuston@riverace.com>

        * TAO_IDL/driver/drv_preproc.cpp: Use explicit char * operator on
          cpp_path (AIX xlC requires this).  Added CVS Id.

        * tao/Sequence_T.h: Fully qualify the template type when used as a
          function return.

Fri Mar 27 04:45:46 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/ORB.h: Added two pure virtual functions
          _register_collocation and _get_collocated_servant to CORBA_ORB
          class so the derived classes have their own implementations.
          (resolve_poa,resolve_poa_current): Changed these two functions
          from private methods to protected methods.  I need to access
          them from IIOP_ORB.

        * tao/IIOP_ORB.{h,cpp} (_register_collocation): Added this new
          method to record connection end points an IIOP ORB owns.
          (_get_collocated_servant): Added this new method which uses a
          passed in STUB_Object to determine whether a requested object is
          collocated or not.  If it's a collocated object, returns the
          servant of that object and we can use that to create a
          collocated object reference.
          (object_to_string): Added code to register object end point with
          IIOP ORB.
          (iiop_string_to_object): Added code to check whether a requested
          object is collocated or not and return a collocated object if it
          fits to do so.

        * tao/ORB_Core.cpp (preconnect): Added code to register success
          preconnections to IIOP's end point repository.

        * tao/decode.cpp (TAO_Marshal_ObjRef::decode): Added code to
          optimize against collocation objects.

Thu Mar 27 10:57:02 1998  Michael Kircher  <mk1@cs.wustl.edu>

        * orbsvcs/tests/Simulator/DOVEMIB: New version of the DOVE
                  MIB.

                * orbsvcs/tests/Simulator/README: Updated.

                * docs/releasenotes/index.html: Updated.

Thu Mar 26 21:24:59 1998  David L. Levine  <levine@cs.wustl.edu>

        * tao/ORB.*,corba.h (CORBA_ORB::shutdown): uninlined, so that
          ORB.i can be #included properly.

        * tao/CDR.{h,cpp},GIOP.{h,cpp},corba.h: #include the .i file
          in the .h/.cpp files instead of corba.h.

        * TAO_IDL/fe/y.tab.cpp: wrapped a couple of assignments in
          conditionals with parens.

Thu Mar 26 17:28:24 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO version 0.1.11, released Thu Mar 26 17:28:24 1998.

Thu Mar 26 10:07:02 1998  Michael Kircher  <mk1@cs.wustl.edu>

        * orbsvcs/tests/Simulator/DOVEMIB: Checked in a first draft
          of the DOVE Management Information Base (DOVE MIB). A README
          will be available with further details.

Thu Mar 26 08:31:02 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * TAO_IDL/fe/idl.yy: We were setting the name of a sequence (named
        sequence) when the code for client header generation was
        invoked. However, in cases where we import some definitions, we
        never go into the code generation code for that type. As a result,
        such imported typedefed (a.k.a named) sequences remained
        nameless. So when the time came to emit their name, it resulted in
        a segmentation fault.

        We fix this by setting the name of the sequence in the parsing
        stage itself.

        Thanks to Torben Worm (tworm@cs.wustl.edu) for reporting the bug
        to me.

        Changed files also include y.tab.cpp and y.tab.h

        * TAO_IDL/be/be_visitor_sequence.cpp: Minor correction to get the
        formatting right.

        * TAO_IDL/be/be_decl.cpp: Simplified the logic of converting a
        name into a padded long array. The original logic caused problems
        on NT/PC because of its "little-endian" nature. This was causing
        the repoIDs and names (represented as longs) undergo byte
        swapping.

Thu Mar 26 06:29:09 1998  David L. Levine  <levine@cs.wustl.edu>

        * tao/Marshal.{h,cpp},ORB.*,Object.{h,cpp},corba.h:
          #include the .i file in the .h/.cpp files instead of corba.h.

Wed Mar 25 22:55:02 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/Servant_Base.h:
        * tao/Object.cpp:
          Collocated objects (even if their dynamic type is simply
          CORBA_Object) can use the servant to resolve the _is_a()
          calls.

Wed Mar 25 22:06:19 1998  Sumedh Mungee  <sumedh@macarena.cs.wustl.edu>

        * tao/TAO.cpp: Added accessors for child/root poa.

Wed Mar 25 15:10:48 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * tao/encode.cpp: In the encoding of exceptions, we were not
        encoding its repository ID. This is now fixed.

Wed Mar 25 11:11:47 1998  David L. Levine  <levine@cs.wustl.edu>

        * tao/ORB.h: use ACE_UINT32 instead of u_char for CORBA_Boolean
          with Green Hills on Chorus, to work around a compiler bug.
          The bug is revealed with accessing the root_poa, by
          TAO/tests/POA/RootPOA/RootPOA.

        * tao/ORB.{h,cpp}: changed type of open_called_ and
          should_shutdown_ flags from CORBA::Boolean to u_int, because
          they're ACE_Atomic_Ops.  This allows CORBA::Boolean to be
          a typedef of bool.  Without this change, bool would be required
          to support all of the arithmetic operations that ACE_Atomic_Op
          needs, and that's not standard.

        * orbsvcs/tests/Logger/{clnt.cpp,logger_i.*,svr.cpp},
          orbsvcs/orbsvcs/Naming/{Ior_Multicast.cpp,Naming_Utils.cpp},
          tests/Thruput/TAO/server.cpp:
          removed unnecessary #include of ace/streams.h.

        * tao/Makefile,tests/Cubit/TAO/IDL_Cubit/Makefile,
          tests/NestedUpcall/Makefile:
          removed CPPFLAGS, LDFLAGS, and DCFLAGS because they duplicated
          what's already in taoconfig.mk or platform_macros.GNU.

Wed Mar 25 09:08:44 1998  Torben Worm  <tworm@cumbia.cs.wustl.edu>

        * docs/releasenotes/index.html: Added comment to the concurrency
        control service section. The implementation of the concurrency
        control service is discontinued due to unclear specs.

Wed Mar 25 02:36:06 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tests/NestedUpcall/server.cpp: Renamed tao_util.h to TAO.h.

Tue Mar 24 19:13:35 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * tao/Server_Request.cpp: There was a lot of messy code on the
        outgoing path from skeleton to the wire. Specifically, we were
        mixing system exceptions with user defined exceptions. This has
        been fixed and is under testing.

        * TAO_IDL/be/{be_visitor_exception, be_exception}.cpp: The generated
        typecode for Exceptions erroneously had a "tk_struct" TypeCode
        kind. This has been fixed to be "tk_except".

        * TAO_IDL/be/be_visitor_operation.cpp: Handling of oneway operations
        in the server skeletons was buggy. It is now fixed.

        * TAO_IDL/be/be_predefined_type.cpp: TypeCodes for pseudo objects
        were not getting properly generated. This is now fixed.

Tue Mar 24 14:51:33 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * TAO_IDL/be/be_interface.cpp (gen_server_skeletons): Changed
          op_name() to operation ().

        * TAO_IDL/be/be_visitor_operation.cpp (visit_operation): Added a
          return statement.

        * tao/IIOP_Object.cpp: Initialze
          TAO_Synchronous_Cancellation_Required::old_type_.

Tue Mar 24 14:07:08 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * tao/Server_Request.{h, i, cpp}: Made the class compliant with
        the latest CORBA v2.2. Added some extensions. There were some
        subtle bugs related to user defined exceptions that were not being
        reported back to the caller. Modified the constructor to take a
        GIOP_RequestHeader as a parameter.

        * tao/IIOP_Interpreter.{h, cpp}: Removed the "struct_traverse" and
        "union_traverse" methods as they were no longer used.

        * tao/Typecode.{h, cpp}: Removed the original interpreter
        "traverse" as it is no longer used since its logic is included in
        the different encode and decode methods.

        * tao/POA.cpp: changed the usage of "op_name" to "operation" since
        that is the correct method name of the ServerRequest class
        according to the CORBA v2.2 spec.

        * tao/POAS.cpp: Massive changes made to use the new style of
        skeleton code that the IDL compiler generates

        * tao/{Servant_Base, Operation_Table}.{h, cpp}: The "_find" and
        "_bind" operations now take a "const char *opname" rather than
        "CORBA::String  &opname".

        * tao/Connect.cpp: Server_Request creation now uses the modified
        constructor.

        * TAO_IDL/be/{be_visitor_operation, be_interpretive}.cpp: Added
        another visitor that generates the exceptionlist for the client
        stub.

        * TAO_IDL/be/be_visitor_interface.cpp: Change in generated code to
        use the "operation" method on class Server_Request rather than the
        non-compliant "op_name".

        * TAO_IDL/be/be_visitor_sequence.cpp: Minor correction to get some
        formatting in generated code correct.

        * TAO_IDL/be_include/be_codegen.h: Added a state for exception
        list generation

        * TAO_IDL/be_include/be_visitor_operation.h: Added a new visitor
        for exception list generation.

Tue Mar 24 11:01:33 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/TAO.dsp:  Added Stub.cpp into the project.

Tue Mar 24 07:29:20 1998  David L. Levine  <levine@cs.wustl.edu>

        * tao/Makefile,Any.{h,cpp},NVList.*,ORB.h,ORB_Core.{h,cpp},
          Stub.{h,i,cpp},Typecode.{h,cpp},corba.h:
          #include the .i file in the .h/.cpp file instead of corba.h

        * tao/ORB.cpp (wscpy): removed, because we now use ACE_OS::wscpy ()
          instead.

Mon Mar 23 19:44:11 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tao/ORB: CORBA_ORB no longer inherits from IUnknown.

        * tao/IIOP_Object.cpp (set): A valid key must be provided, else
          the function will fail.  Also removed all cases where the key
          was given a default value (of "0").

        * tao/IIOP_ORB.cpp (QueryInterface): Removed this method.

Mon Mar 23 13:20:12 1998  Michael Kircher  <mk1@cs.wustl.edu>

        * orbsvcs/tests/Simulator/DOVEBrowser/WeaponsVisComp.java:
          Found some uninitialized variables and fixed the problem.
          This component should now be more stable.

Mon Mar 23 10:42:12 1998  Chris Gill  <cdgill@cs.wustl.edu>

        * orbsvcs/orbsvcs/Sched/DynSched.{cpp,h,i}
          orbsvcs/orbsvcs/Sched/SchedEntry.{cpp,h,i}
          orbsvcs/orbsvcs/Sched/Strategy_Scheduler.{cpp,h,i}

          Merged in the final round of timeline fixes from the
          files in the old scheduler directory into the ones
          in the new directory.

        * orbsvcs/tests/Sched/DynSched_Test.cpp

          Added directory orbsvcs/tests/Sched and checked in a
          copy of DynSched_Test.cpp, the file used to test the
          offline behavior of the dynamic scheduler locally.
          This file will serve as the basis of a real TAO test
          for the on and off line behaviors of the dynamic
          scheduler when it is fully integrated into TAO.

Mon Mar 23 09:18:12 1998  David L. Levine  <levine@cs.wustl.edu>

        * orbsvcs/Dump_Schedule/Makefile,orbsvcs/Event_Service/Makefile,
          orbsvcs/Scheduling_Service/Makefile,
          orbsvcs/tests/Event_Latency/Makefile,
          orbsvcs/tests/EC_Multiple:
          replaced orbsvcs/orbsvcs/orbsvcs with orbsvcs/orbsvcs in some
          dependencies.

        * tao/ORB.{h,cpp},tao/POA.cpp,tao/encode.cpp,
          TAO_IDL/ast/ast_generator.cpp,TAO_IDL/be/be_generator.cpp:
          migrated to ACE_OS::WChar.  That has a size of 32 bits.
          Thanks to Irfan for this recommendation.

        * tao/ORB.cpp (wstring_copy): changed null check at beginning
          from "if (*str)" to "if (!str)".

        * tao/Sequence_T.cpp (allocbuf): added missing ; at end of
          ACE_NEW_RETURN statement.

        * TAO_IDL/fe/Makefile,lex.yy.cpp,lex.yy.cpp.diff:  replaced
          #includes of standard headers with #include of OS.h so that
          ace/config.h is #included first.  The allows config.h to
          #defined _REENTRANT before stdio.h is #included, for example.

        * tao/Makefile: marked Object_KeyC.* and POA[SC].* files as
          .PRECIOUS so that gmake avoids deleting them.  Thanks to
          Chris Cleeland for this suggestion.

Mon Mar 23 03:20:47 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO version 0.1.10, released Mon Mar 23 03:20:47 1998.

Mon Mar 23 01:19:19 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tao/ORB_Core.cpp (init): It is ok not to have a svc.conf file,
          therefore check should be:

          if (result != 0 && errno != ENOENT)

Mon Mar 23 01:17:18 1998  Douglas C. Schmidt  <schmidt@flamenco.cs.wustl.edu>

        * tao/corba.h: Moved Request.i up a notch in the corba.h file so
          that it will be defined correctly!  This obviates the need for
          Nanbor's fix below!

Sun Mar 22 23:19:42 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/Request.cpp: Include Request.i conditionally.

        * tao/Object.h: Added macro TAO_Export to class CORBA_Object_var
          and class CORBA_Object_ptr.

Sun Mar 22 21:54:57 1998  Douglas C. Schmidt  <schmidt@flamenco.cs.wustl.edu>

        * TAO_IDL/be/be_interface: Made full_coll_name() a NON-const
          method to work around a bug with GCC...

        * TAO/tao: Moved a bunch of inline methods from *.i files into
          *.cpp files to avoid warnings from G++.  I don't know why it
          complains but not inlining this code shouldn't matter unless we
          find that these functions get called a lot via profiling...
          Thanks to David Levine for pointing this out.

Sun Mar 22 14:04:31 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/tao.{dsp,dsw}: Updated Project files.

        * tao/Exception.{i,cpp}: Conditionally include its inline file.
          Added codes for copy ctor and assignment operator for
          CORBA_UserException and CORBA_SystemException.

Sun Mar 22 13:05:15 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * tao: Added comments, made some modifications, and refined some
        class definitions. Changes were made to a large number of files.

Sun Mar 22 08:00:08 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * Naming_Service.h: Renamed tao_util.h to TAO.h.

        * tao: Removed the CORBA_Cls.* files (since they conflict with the
          overall naming scheme) and merged them into the ORB.h class.

Sun Mar 22 03:52:39 1998  Sergio Flores  <sergio@lambada.cs.wustl.edu>

        * tao/TAO_Internal.cpp (open_services): "this" may only be used
        inside a nonstatic member function.

Sun Mar 22 02:58:29 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/Makefile:
        * tao/corba.h:
        * tao/CORBA_Cls.{h,i,cpp}: Rename CORBA.{h,i,cpp} to
          CORBA_Cls.{h,i,cpp} because NT doesn't like the coexistance of
          corba.h and CORBA.h.

Sun Mar 22 02:39:54 1998  Sergio Flores  <sergio@lambada.cs.wustl.edu>

        * tao/CORBA.cpp (ORB_init): made change to check for the return
        value when initializing the ORB Core instance.  Also, changed the
        TAO_Marshal::initialize() to be called before the initialization
        of standard exceptions, where we need the marshal factory for CDR
        streams.
        * tao/ORB_Core.cpp (TAO_ORB_Core::init): made change to check for
        the return value when initializing service configurator.
        * tao/ORB_Core.cpp (TAO_Resource_Factory::parse_args): changes to
        correctly parse the options for "-ORBresources" and "-ORBpoa"

Sun Mar 22 01:52:01 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * tao/CORBA.cpp: Moved TAO_Exceptions::init_standard_exceptions()
          to the beginning of ORB_init() so that we can use exceptions
          later within that function.  Thanks to Sergio for reporting
          this.

Sat Mar 21 11:00:40 1998  Douglas C. Schmidt  <schmidt@flamenco.cs.wustl.edu>

        * tao: Renamed a bunch of files so that the names and
          capitalization matches precisely.

        * tao/Request.i: Created this file and moved a bunch of inline
          methods into here.

        * tao: Renamed the corbacom.* files (since we don't support COM
          anyhow) into CORBA.h and the new CORBA.i and CORBA.cpp files.

        * tao/corbacom.h: Moved the CORBA_SEQUENCE stuff back into the
          header file since it wasn't linking correctly...

        * tao/TAO_IDL: Changed all uses of do_call() to do_static_call().

        * tao: Made lots of minor enhancements to formatting and style.

        * tao: Removed the invoke.cpp file and moved its functionality
          back into iiopobj.cpp, where it belongs.

        * tao/sequence_T.i (replace): Added a cast to (T *) so compilers
          wouldn't complain!  Thanks to Sergio for pointing this out.

        * tao: Renamed IIOP_Object::do_call() to
          IIOP_Object::do_static_call() to be symmetrical with
          do_dynamic_call()...

        * tao/typecode.cpp: Due to the new reorganization of the code in
          interp.cpp we're now able to put all the CORBA_TypeCode methods
          back into typecode.cpp, where they belong...

        * tao: Added a new interp.h file and moved the TypeCode table
          intialization function into that file.

        * tao/orbobj.cpp: Removed the friggin' global functions

          extern void __TC_init_table (void);
          extern void __TC_init_standard_exceptions (CORBA::Environment &env);

          and put them inside of classes, where they belong...

        * tao/corbacom.cpp: Moved CORBA::ORB_init() from orbobj.cpp
          (what was it doing there) to corbacom.cpp, which is where it
          belongs!

        * tao/giop.cpp: Moved the TAO_GIOP_MsgType enum into the TAO_GIOP
          class namespace and renamed all the enums accordingly.

        * tao/except.cpp: Added except.i file to split off inlines into
          their own file.

        * tao/sequence_T.i (replace): Fixed some typos in the template
          code.  Thanks to Ben Eng <ben@jetpen.com> for reporting these.

Sat Mar 21 20:34:39 1998  Sergio Flores  <sergio@lambada.cs.wustl.edu>

        * tao/connect.cpp (open): fixed a bug due to wrong parens
        location.

        * tests/Cubit/TAO/MT_Cubit/server.cpp:
        * tests/Cubit/TAO/MT_Cubit/Util_Thread.cpp:
        * tests/Cubit/TAO/MT_Cubit/Task_Client.h:
        * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp: added option to
        disable use of the name service.  hacked the code for platforms
        that don't support floating point math.  Added Quantify start/stop
        primitives around CORBA calls.

Sat Mar 21 17:55:40 1998  Michael Kircher  <mk1@cs.wustl.edu>

        * orbsvcs/test/Simulator/NavWeap.idl: removed typo

        * orbsvcs/test/Simulator/DOVEBrowser: New Demo using Java Beans
          as visualization components added. This will replace the old
          demo under orbsvcs/test/Simulator/Sim_Display. See the readme
          file under orbsvcs/test/Simulator for further details.

Fri Mar 20 23:25:28 1998  Seth Benjamin Widoff  <sbw1@waltz.cs.wustl.edu>

        * orbsvcs/tests/Trading_Service/Makefile:
        * orbsvcs/tests/Trading_Service/export_tests.cpp:
        * orbsvcs/tests/Trading_Service/import_tests.cpp:
        * orbsvcs/tests/Trading_Service/Offer_Exporter.{h,cpp}:
        * orbsvcs/tests/Trading_Service/Offer_Importer.{h,cpp}:
        * orbsvcs/tests/Trading_Service/Service_Type_Exporter.{h,cpp}:
        * orbsvcs/tests/Trading_Service/TT_Info.{h,cpp}:
        * orbsvcs/tests/Trading_Service/TTest.idl:
        I've added the rough draft of tests that pound the Trading Service
        with a variety of method invocations.

        * orbsvcs/Trading_Service/trader.cpp:
        * orbsvcs/Trading_Service/Makefile:
        The trader now responds to resolve_intial_references multicast
        requests with the IOR of its Lookup interface, as per the
        specification.

Fri Mar 20 21:48:47 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO version 0.1.9, released Fri Mar 20 21:48:47 1998.

Fri Mar 20 19:46:43 1998  Douglas C. Schmidt  <schmidt@flamenco.cs.wustl.edu>

        * tao/sequence_T: Added the full complement of get_buffer(),
          replace(), and release() calls to TAO's sequences.

        * docs/releasenotes/index.html (href): Reformatted the DOVE
          demo section of the release notes a bit.

Thu Mar 20 17:05:42 1998  Michael Kircher  <mk1@cs.wustl.edu>

        *TAO_ROOT/docs/releasenotes/index.html:
          Documentation about the DOVE demo

Fri Mar 20 16:21:28 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tests/POA/Generic_Servant/MyFooServant.h: No need to include
          generic_servant_export.h.

        * tests/POA/Generic_Servant/Makefile: Added flags to the idl
          compiler so that the server library can be made as a dynamic
          library.

Thu Mar 20 16:12:42 1998  Michael Kircher  <mk1@cs.wustl.edu>

        *TAO_ROOT/orbsvcs/tests/Simulator/Event_Supplier:
          New Project and Workspace files for NT

Fri Mar 20 11:53:15 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tests/NestedUpcall/client.cpp: Use EventHandler_vare.in() to
          pass in a pointer.  Added explicit template instantiation
          codes.

Fri Mar 20 09:46:50 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * orbsvcs/orbsvcs/Event/Memory_Pools.h:
        * orbsvcs/orbsvcs/Event/Memory_Pools.cpp:
          Locks are needed for the memory pool singletons; thanks to
          Thomas Venturella <tventurell@mdc.com> for detecting this.

Fri Mar 20 09:26:28 1998  David L. Levine  <levine@cs.wustl.edu>

        * tests/POA/Generic_Servant/MyFooServant.h: added
          #include "generic_servant_export.h".

        * tao/corbacom.{h,cpp},tao/encode.cpp,tao/poa.cpp,
          TAO_IDL/ast/ast_generator.cpp,TAO_IDL/be/be_generator.cpp:
          changed CORBA::WChar from platform-dependent type to ACE_UINT16.
          This may require casts in application code, if they use
          a native wchar_t, from wchar_t to CORBA::WChar.

Fri Mar 20 02:47:22 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/default_server.cpp
          (create_servant_lock,create_poa_lock,create_poa_mgr_lock):
          Don't return 0 but an ACE_Null_Mutex as default.

Fri Mar 20 00:36:16 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tao/poa.cpp (dispatch_servant_i): The POA Current was not being
          setup correctly.  It was used before it was created. Fix was to
          change the order of things in dispatch_servant_i() and restored
          pre_invoke() to its original state.

        * tests/POA/Generic_Servant/client.cpp (main): Make sure the
          client does not crash if the user does not provide an IOR.

        * tests/POA/Generic_Servant/MyFooServant.h (MyFooServant): Added
          export macro so that the class gets properly included in the
          DLL.

        * TAO_IDL/GenExportH.BAT: Changed %1% to %1.

        * tests/POA/Generic_Servant/generic_servant_export.h: The server
          lib will now be created as a DLL instead of as a static library.
          New file was added to get the exports right.

Thu Mar 19 18:42:20 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * TAO_IDL/be/be_visitor_attribute.cpp (visit_attribute): Undefined
          variable bt to removed a compilation warning.

        * tao/server_factory.cpp (create_servant_lock):
        * tao/default_server.{h,cpp} (create_servant_lock): Added new
          method which creates a servant lock according to various
          strategies used.

Thu Mar 19 18:45:13 1998  Alexander Babu Arulanthu  <alex@merengue.cs.wustl.edu>

        * orbsvcs/tests/AVStreams/client.h:
        * orbsvcs/tests/AVStreams/client.cpp:
        * orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp:
        * orbsvcs/orbsvcs/AVStreams.idl (interface MMDevice):
        PropertyService's PropertySet methods have been tested in the
        AVStreams' test application. Tested using the MMDevice interface
        of the AVStreams.

Thu Mar 19 18:20:42 1998  Michael Kircher  <mk1@cs.wustl.edu>

        *TAO_ROOT/orbsvcs/tests/Simulator/README: New notes about this release

        *TAO_ROOT/orbsvcs/tests/Simulator/NavWeap.idl: New, simpler Weapons struct
          because of a Visibroker for Java 3.2 bug.

        *TAO_ROOT/orbsvcs/tests/Simulator/Event_Supplier: Using the new
          Weapons struct.

        *TAO_ROOT/orbsvcs/tests/Simulator/Sim_Display/NS_Resolve.java: Complying
          with the new Name Service lookup protocol (4 bytes instead of 2)

        *TAO_ROOT/orbsvcs/tests/Simulator/Sim_Display/Display_Weapons.java:
          Using the new Weapons struct.

        *TAO_ROOT/orbsvcs/tests/Simulator/Sim_Display/Display_Push_Consumer.java:
          Complying with the naming conventions for the skeleton code of VB 3.2.

Thu Mar 19 10:51:22 1998  Alexander Babu Arulanthu  <alex@merengue.cs.wustl.edu>

        * docs/releasenotes/index.html: Updated entry for the property service.

Thu Mar 19 09:55:41 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tests/CDR/README:
        * tests/CDR/basic_types.cpp:
        * tests/CDR/tc.cpp:
          Added basic documentation on the purpose of the tests.

Thu Mar 19 09:26:25 1998  Torben Worm  <tworm@cumbia.cs.wustl.edu>

        * docs/releasenotes/index.html: Added an entry for the Concurrency
          Control Service

Thu Mar 19 08:41:27 1998  David L. Levine  <levine@cs.wustl.edu>

        * orbsvcs/orbsvcs/Naming/CosNaming_i.cpp (new_context): replaced
          ???! with ???? in comment to avoid g++ "warning: 1 trigraph(s)
          encountered".

        * orbsvcs/orbsvcs/Sched/Scheduler.cpp: removed two ACE_Lock_Adapter
          template instantiations because they're in tao/poa.cpp.

        * orbsvcs/orbsvcs/Runtime_Scheduler.cpp: wrapped a few return
          statements that follow ACE_THROW's with ACE_NOTREACHED.

        * orbsvcs/orbsvcs/Config_Scheduler.cpp: wrapped a couple of break
          statements that follow returns with ACE_NOTREACHED.

Thu Mar 19 05:26:10 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * tao/typecode.cpp: In private_member_name, the return value of
        "skip_typecode ()" was incorrectly compared with TRAVERSE_CONTINUE
        rather than with a boolean value. This is now fixed.

Wed Mar 18 21:43:46 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * tao/typecode.cpp: private_equal method had a big error. I had
        forgotten break statements after every case in the switch
        statement. So no matter what, the last result which returned
        "TRUE" used to be returned. This is now fixed.

Wed Mar 18 21:32:24 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO version 0.1.8, released Wed Mar 18 21:32:24 1998.

Wed Mar 18 21:26:29 1998  David L. Levine  <levine@cs.wustl.edu>

        * orbsvcs/orbsvcs/Naming/Ior_Multicast.cpp (IOR_Multicast):
          reordered initializers to match declaration order.

Wed Mar 18 20:36:46 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * tests/CDR/basic_types.cpp: Rearranged this test file a bit to
          make it more structured.

Wed Mar 18 18:52:12 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * tao/object.{h, cpp}: Changed the name of the method "key ()" to
        "_key ()" since this was clashing with names used by users in
        their IDl files. As such "key" is not a standard method defined by
        OMG on the class Object. Hence we must use a _ before it.

        * tao/{poa, servant_base}.cpp: Used _key instead of key as
        explained above.

Wed Mar 18 18:41:34 1998  Alexander Babu Arulanthu  <alex@merengue.cs.wustl.edu>

        * orbsvcs/tests/CosPropertyService/main.cpp (main): Added testcode
        for NamesIterator.

Wed Mar 18 18:33:08 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * tao/any.cpp: There was a bug in the assignment operator whereby
        a Release was causing the Any object itself getting deleted.

        * tao/poa.cpp: Changed occurrences of "buffer ()" used on the
        object key (which is a sequence) to use "get_buffer" according to
        the latest C++ mapping.

Wed Mar 18 18:32:04 1998  Sergio Flores  <sergio@mambo.cs.wustl.edu>

        * orbsvcs/orbsvcs/Naming/CosNaming_i.cpp:
        * orbsvcs/orbsvcs/Naming/CosNaming_i.h: Fixed some allocation
        errors and added synchronization mechanism for static internal
        data structures.  Also fixed an undefined symbol due to templates
        not being instantiated.

Wed Mar 18 17:22:40 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * tao/sequence_T.h: Renamed buffer() to get_buffer() to confrom to
          orbos/98-01-11.

        * tao/sequence[_T].*: Added the get_buffer(), release(), and
          replace() methods defined by the proposed orbos/98-01-11
          specification.

Wed Mar 18 16:54:33 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * orbsvcs/orbsvcs/Naming/CosNaming_i.cpp (next_n): Changed ACE_NEW
          to ACE_NEW_RETURN.

Wed Mar 18 16:39:40 1998  Seth Benjamin Widoff  <sbw1@waltz.cs.wustl.edu>

        * tao/orbobj.{h,cpp}: * tao/params.{h,cpp}: * tao/orbcore.cpp:
          Expanded the resolve initial references protocol to include
          bootstrappable services other than the Naming Service. Now, the
          multicast message includes a field identifying the target
          service. The values for this field are defined in orbobj.h --
          currently there are only TAO_SERVICEID_NAMESERVICE, and
          TAO_SERVICEID_TRADINGSERVICE. For completeness I've added for
          the -ORBtradingserviceior and -ORBtradingserviceport command
          line parameters.

        * orbsvcs/Naming/Naming_Utils.cpp:
        * orbsvcs/Naming/Ior_Multicast.cpp:
          Now, on the receiving end, the bootstrappable service compares
          the service_id it receives in the multicast message with its own
          before responding to it.

Wed Mar 18 16:04:38 1998  Alexander Babu Arulanthu  <alex@merengue.cs.wustl.edu>

        * orbsvcs/orbsvcs/CosPropertyService.idl (CosPropertyService):
          Uncommented sequence of typecodes. It passed the tao_idl
          compiler.

Wed Mar 18 07:18:08 1998  David L. Levine  <levine@cs.wustl.edu>

        * release.pl: uncommented unlink of .del files.

        * tao/encode.cpp (TAO_Marshal_String::encode): #if 0'd unused
          local "continue_encoding".

        * tao/sequence{,_T}.cpp: removed some more "meaningless" const
          modifiers from casts.

        * tao/typecode.cpp (private_equal): wrapped a break with
          ACE_NOTREACHED.

        * tao/corbacom.h: changed CORBA_Boolean to u_char.  Thanks
          to Seth and Carlos for pointing out that this will conform
          to the standard.

        * tao/cdr.i: removed operator <</>> for CORBA::Boolean _with_
          ACE_HAS_BOOL.  No ACE platform currently #defines ACE_HAS_BOOL,
          and this will prevent divergence of TAO code if any do in the
          future.

Wed Mar 18 02:08:55 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tests/Param_Test/client.cpp (~Param_Test_Client): Removed
          releasing of the Param_Test pointer.  It is owned by the Driver
          class.

Tue Mar 17 23:28:59 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tao/poa.h (POA): Changed the LOCATION_RESULT enum from protected
          to private.

Tue Mar 17 13:20:05 1998  David L. Levine  <levine@cs.wustl.edu>

        * tests/Cubit/TAO/IDL_Cubit (print_stats): with
          ACE_LACKS_FLOATING_POINT, multiply calls/usec by 10^6 to get
          calls/sec.  And, use call_count_ instead of hard-coded 1000.

        * tao/orbconf.h,interp.cpp: renamed TAO_ALIGNMENT_MAGIC_NUMBER to
          TAO_MAXIMUM_NATIVE_TYPE_SIZE.

        * tao/sequence.i,sequence_T.{i,cpp}: removed "const" from some
          ACE_reinterpret_casts, because ghs warned that it's "meaningless".

        * tao/cdr.*,decode.cpp (get_encapsulation): changed type of second
          arg from size_t to CORBA::ULong for platform independence.

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

        * TAO_IDL/be/be_visitor_sequence.cpp:
          Fixed return value for operator[] in sequences of basic types,
          the _out and _var classes generated non-nested types. Thanks to
          Frank. J. Hodum <fhdum@std.saic.com> for reporting this problem.

Tue Mar 17 10:25:46 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * TAO_IDL/be/be_array.cpp:
        * TAO_IDL/be/be_attribute.cpp:
        * TAO_IDL/be/be_exception.cpp:
        * TAO_IDL/be/be_interface.cpp:
        * TAO_IDL/be/be_interface_fwd.cpp:
        * TAO_IDL/be/be_operation.cpp:
        * TAO_IDL/be/be_sequence.cpp:
        * TAO_IDL/be/be_state_argument.cpp:
        * TAO_IDL/be/be_state_attribute.cpp:
        * TAO_IDL/be/be_state_union.cpp:
        * TAO_IDL/be/be_structure.cpp:
        * TAO_IDL/be/be_union.cpp:
        * TAO_IDL/be/be_visitor_exception.cpp:
        * TAO_IDL/be/be_visitor_interface.cpp:
        * TAO_IDL/be/be_visitor_sequence.cpp:
        * TAO_IDL/be/be_visitor_union_branch.cpp:
          Some export macros were missing; also fixed minor formatting
          problems.

Mon Mar 16 18:26:51 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tests/POA/Default_Servant/File_i.cpp (open): Fixed string being
          passed to create_reference_with_id(). The test now works.

        * tao/poa.cpp (find_servant): Added new method to the POA. It
          finds and returns the servant related to the key passed by the
          user.

Mon Mar 16 15:27:21 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * TAO_IDL/be/be_visitor_interface.cpp:
          The _narrow() method is more careful about collocation: the
          servant could return 0 on the call to _downcast (for instance if
          the servant is using DSI or is implementing the default servant
          posicies), in such a case a remote object is created.
          Generate the _interface_repository_id() method in all classes.

        * TAO_IDL/be/be_visitor_module.cpp:
          In some cases the export macros were not generated.

        * tao/object.h:
        * tao/object.cpp:
          Added a new method to get the interface repository id (only
          locally).

        * tao/servant_base.cpp:
          Removed some dead code.

Mon Mar 16 14:28:34 1998  David L. Levine  <levine@cs.wustl.edu>

        * tao/orbconf.h: cleaned up #define of TAO_ALIGNMENT_MAGIC_NUMBER,
          to allow it to be overridden.

Mon Mar 16 10:47:08 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/cdr.h:
        * tao/cdr.i:
        * tao/cdr.cpp:
          The CDR stream class exposed its implementation completely, this
          change is the first attempt to close that interface and make it
          safer.  The internal representation was changed to a
          Message_Block, so CDR could eventually create chains of
          Message_Blocks (minimizing buffer copies and using writev() for
          output).
          The next step is to split the class in an input and output
          interface, following the Java IDL model.

        * TAO_IDL/Makefile:
        * TAO_IDL/be/be_array.cpp:
        * TAO_IDL/be/be_enum.cpp:
        * TAO_IDL/be/be_exception.cpp:
        * TAO_IDL/be/be_interface.cpp:
        * TAO_IDL/be/be_sequence.cpp:
        * TAO_IDL/be/be_structure.cpp:
        * TAO_IDL/be/be_typedef.cpp:
        * TAO_IDL/be/be_union.cpp:
        * TAO_IDL/be/be_visitor_enum.cpp:
        * TAO_IDL/be/be_visitor_exception.cpp:
        * TAO_IDL/be/be_visitor_interface.cpp:
        * TAO_IDL/be/be_visitor_sequence.cpp:
        * TAO_IDL/be/be_visitor_structure.cpp:
        * TAO_IDL/be/be_visitor_typedef.cpp:
        * TAO_IDL/be/be_visitor_union.cpp:
        * tao/any.cpp:
        * tao/connect.cpp:
        * tao/decode.cpp:
        * tao/except.cpp:
        * tao/giop.h:
        * tao/giop.cpp:
        * tao/iioporb.cpp:
        * tao/interp.cpp:
        * tao/objkeyC.cpp:
        * tao/poaC.cpp:
        * tao/tc_const.cpp:
        * tao/typecode.h:
        * tao/typecode.cpp:
          This files were modified to use (or generate, in the case of the
          IDL compiler) the new CDR stream class interface.

        * TAO_IDL/be_include/be_type.h:
        * TAO_IDL/be/be_type.cpp:
          It used a static buffer to evaluate be_type::nested_type_name(),
          it was changed for a per-class buffer, but the real solution is
          to allocate a buffer on the fly and return it to the user, maybe
          using UTL_String will solve the problem.

        * tests/Makefile:
        * tests/CDR/Makefile:
        * tests/CDR/basic_types.cpp:
        * tests/CDR/tc.cpp:
          Added some simple tests to verify that CDR streams work
          correctly.

        * taoconfig.mk:
          The clean target is defined in ACE config files.

        * docs/orbsvcs.html:
          Included documentation on the collocation services.

        * docs/releasenotes/ec.html:
          Moved some of the changes from "new in this release" to "changes
          in previous releases".

Sun Mar 15 22:36:08 1998  Seth Benjamin Widoff  <sbw1@waltz.cs.wustl.edu>

        * orbsvcs/orbsvcs/Trader/Admin.*
        * orbsvcs/orbsvcs/Trader/Lookup.*
        * orbsvcs/orbsvcs/Trader/Policies.*
        * orbsvcs/orbsvcs/Trader/Policy_Manager.*
        * orbsvcs/orbsvcs/Trader/Offer_Iterator_Collection.*
        Added the logic to perform federated queries. At this point I'm
        halting further coding of the Trading Service to concentrate on
        testing and debugging. The only portion of the specfication left
        unimplemented is the Proxy interface, which isn't of immediate
        practical use anyway.

Sun Mar 15 07:56:02 1998  David L. Levine  <levine@cs.wustl.edu>

        * TAO_IDL/be/be_visitor_field.cpp
          (be_visitor_field_cs::visit_sequence): made int return type
          explicit.

Sun Mar 15 06:18:58 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * TAO_IDL/be_include/{be_codegen, be_visitor_args}.h: Added a new
        state called "POST_MARSHAL_SS" i.e., to do post processing after
        the marshaling of return, inout, and out parameters is done in a
        server skeleton. Added new visitor class to the argument visitors.

        * TAO_IDL/be/{be_visitor_args, be_visitor_operation,
        be_interpretive}.cpp: Code for post processing after marshaling in
        the server skeletons. This was required to support object
        references.

Sat Mar 14 19:28:50 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * TAO_IDL/be/be_visitor_field.cpp: Added a case for handling
        anonymous sequences in the client stub visitor. The header file
        was also changed.

Sat Mar 14 19:29:00 1998  David L. Levine  <levine@cs.wustl.edu>

        * tests/Cubit/TAO/IDL_Cubit/client.cpp (print_stats): added
          support for ACE_LACKS_FLOATING_POINT.

Sat Mar 14 16:40:05 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * TAO_IDL/be/be_visitor_operation.cpp: We were not generating the
        "_get_" and "_set_" prefixes for operations corresponding to
        attributes. This is now fixed.

        * TAO_IDL/be/be_visitor_enum.cpp: Typecode implementation of enum
        class was not getting generated due to an incorrect "if"
        condition. Thanks to Seth Widoff for noticing this.

        * TAO_IDL/be/be_visitor_union_branch.cpp: We had forgotten to
        generate the "set" and "get" operation implementation for union
        members that are sequences. Thanks to Seth Widoff for noticing
        this.

Sat Mar 14 02:48:55 1998  Sumedh Mungee  <sumedh@lindy.cs.wustl.edu>

        * orbsvcs/orbsvcs/Makefile (IDL_FILES): Added the SFP IDL files
        and the AV/sfp.cpp to the rules.

Sat Mar 14 02:17:34 1998  Seth Benjamin Widoff  <sbw1@waltz.cs.wustl.edu>

        * orbsvcs/orbsvcs/Trader/*.*:
        I've hammered out a number of errors from the initial port:
        the Trading Service compiles on Solaris.

        * orbsvcs/orbsvcs/Makefile:
        I've added all the necessary additions to the Makefile for the
        Trading Service. The makefile will perform the compilation when
        the 'trader' flag is set to 1 on the command line.

        * orbsvcs/Trading_Service/Makefile:
        * orbsvcs/Trading_Service/trader.cpp:
        trader.cpp instantiates a Trader object and registers its Lookup
        interface with the bootstrapped Naming Service. All the Trader
        interfaces are implicitly activated in the Trader class. In the
        future we'll want to have the Trading Service bootstrappable
        through the resolve_initial_references method.

Sat Mar 14 00:36:30 1998  Alexander Babu Arulanthu  <alex@merengue.cs.wustl.edu>

        * orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp (define_property):

        * orbsvcs/orbsvcs/Property/CosPropertyService_i.h (PropertyNamesIterator):

        * orbsvcs/orbsvcs/Property/CosProperty_Hash.cpp (CosProperty_Hash_Value):

        * orbsvcs/orbsvcs/Property/CosProperty_Hash.h:
        The tao_idl compiler has been made to generate Any at some places
        where it was generating Any_var. Hence, I had to modify this
        implementaion to accomadate this change.

Fri Mar 13 10:34:15 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * TAO_IDL/be/be_visitor_operation.cpp: For return types that are
        object references, we were using the actual return type and
        passing its address to the marshaling routine. However, the
        marshaling routine needs the address of the base class i.e.,
        CORBA::Object. Due to "public virtual" inheritance all kinds of
        crazy things happen. So now we had to resort to declaring the
        return value of type "CORBA::Object_ptr" and things worked fine.

Fri Mar 13 09:57:51 1998  David L. Levine  <levine@cs.wustl.edu>

        * tao/corbacom.h: use types of known sizes, such as ACE_UINT32
          and ACE_INT16, instead of native types for Boolean, Short,
          UShort, Float, and Double.

Thu Mar 12 21:23:10 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/debug.cpp (_dmsg_x): Changed ex->id () to ex->_id ().

Thu Mar 12 20:40:09 1998  Sergio Flores  <sergio@lambada.cs.wustl.edu>

        * tests/Thruput/TAO/client.cpp:
        * tests/Thruput/TAO/run_client:
        * tests/Thruput/TAO/run_server:
        * tests/Thruput/TAO/run_test: Minor fixes in the scripts and usage
        message.

Thu Mar 12 18:02:06 1998  Seth Benjamin Widoff  <sbw1@waltz.cs.wustl.edu>

        * tao/request.cpp:
        * tao/typecode.cpp:
        The is_nil methods of typecode and CORBA had this:
        (CORBA::Boolean) ptr == 0 to test for the nil condition, when we
        really want this: (CORBA::Boolean) (ptr == 0). This way we cast
        the result of the expression, and not the pointer, to
        CORBA::Boolean.

Thu Mar 12 17:49:45 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * TAO_IDL/be_visitor_typedef.cpp: For typedefs of pseudo object
        types, we had forgottten to generate a typedef to the _ptr type.

Thu Mar 12 17:21:32 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * tao/sequence_T.cpp: Fixed a couple of weird bugs were freebuf
          (MAX) was being called instead of freebuf (tmp).  Thanks to
          Keith Nicewarner <knicewar@sanders.com> for reporting this.

Thu Mar 12 15:53:44 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * tao/except.h: Changed the member functions "type ()" and "id ()"
        on the CORBA::Exception class to "_type ()" and "_id ()". This
        affected the following files:
        tao/{except, object, poaC, svrrqst}.cpp

        * TAO_IDL/be/be_visitor_exception.cpp: Made changes to use the
        _type and _id methods. Thanks to Seth Widoff for noticing this in
        his Trader application where a user defined exception had a member
        called "type" which clashed with the base class operation "type".

Thu Mar 12 15:00:47 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * TAO_IDL/be/be_visitor_exception.cpp: In those cases where object
        references or strings were assigned, the g++ compiler failed to do
        implicit conversion to assign a _var to a _ptr type. This is now
        fixed by using the _var.in () method.

        * TAO_IDL/be/be_visitor_typedef.cpp: Fixed a bug that was
        generating typecode information for data types that were imported
        resulting in a multiply defined symbol error at link time.

Thu Mar 12 09:01:43 1998  David L. Levine  <levine@cs.wustl.edu>

        * TAO_IDL/Makefile: added -Wno-unused to g++ CCFLAGS to
          suppress warnings about unused parameters and variables.

        * TAO_IDL/be/be_visitor_interface.cpp
          (be_visitor_interface_sh::visit_interface,
           be_visitor_interface_collocated_ss::visit_interface):
          changed type of loop index "i" to signed, to avoid
          signed/unsigned comparison.

        * TAO_IDL/be/be_visitor_sequence.cpp
          (be_visitor_sequence_ci::visit_sequence): made int return
          type explicit.

        * tests/Cubit/TAO/IDL_Cubit/server.cpp (~Cubit_Server): changed
          root_poa_ to poa_.

Thu Mar 12 01:03:17 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tests/POA/NewPOA/NewPOA.cpp (main): Updated the following files
          to correctly use CORBA::Policies that are used to create new
          POAs.  Things that needed fixing included proper exception
          handling and making sure to destroy the policies once we were
          through using them.

          - TAO/tao/tao_util.cpp
          - TAO/tests/Cubit/TAO/MT_Cubit/server.cpp
          - TAO/tests/POA/Default_Servant/server.cpp
          - TAO/tests/POA/Explicit_Activation/server.cpp
          - TAO/tests/POA/NewPOA/NewPOA.cpp
          - TAO/tests/POA/On_Demand_Activation/server.cpp

Wed Mar 11 21:02:13 1998  David L. Levine  <levine@cs.wustl.edu>

        * tao/svrrqst.cpp (marshal): instead of declaring a new loop
          index "i", use the one at outer scope because it was shadowed.

Wed Mar 11 18:10:47 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/TAO_IDL/tao_idl.dsp: Added new visitor files into the project.

Wed Mar 11 17:23:49 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * tao/tao_util: Changed the name of root_poa_ to poa_ since it
          doesn't have to be a root POA.

Wed Mar 11 14:37:08 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * TAO_IDL/Makefile: Included be_visitor_exception.cpp and ran make
        depend

        * TAO_IDL/be/be_interpretive.cpp: The factory is now able to
        produce concrete visitors for exceptions.

        * TAO_IDL/be/be_visitor_args.cpp
          TAO_IDL/be_include/be_visitor_args.h: Added a method
          "void_return_type" that determines if the operation return type
          was "void" or not. This was necessary since we were incorrectly
          generating ACE_NEW_RETURN statements in stubs for cases that had
          void return types

        * TAO_IDL/be/be_visitor_context.cpp
          TAO_IDL/be_include/be_visitor_context.h: Added a boolean data
          member that indicates whether we are generating the special
          constructor in the exceptions.

        * TAO_IDL/be/be_visitor_exception.cpp
          TAO_IDL/be/be_visitor_exception.h: Added  various visitors for
          exception handling.

        * TAO_IDL/be/be_visitor_{struct, union, module, interface,
        sequence}.cpp: Made sure that code is not generated for imported
        types.

        * TAO_IDL/be/be_visitor_typedef.cpp: Eliminated the multiple
        declaration of typedefed variables and their typecodes.

        * TAO_IDL/be/be_visitor_interface.cpp: The "_is_a_skel" now uses
        the same table driven approach as the other skeletons do.

Wed Mar 11 12:54:59 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tests/POA/Explicit_Activation/server.cpp (main): The server was
          changed to test how the POA handles a user given ID which does
          not contain printable characters.

        * tao/poa (Policies and Currents): Since Policies and Currents do
          not have locality constraints, they now inherit from regular
          servants rather than local servants.  This change causes them to
          register with POAs when their _this() method is invoked.
          Therefore, the destroy() methods on the Policies was changed to
          make sure that the Policies are deactivated from the POA they
          were registered with.

        * tao/sequence_T.cpp (operator=): The semantics of the elements of
          a sequence are the same as that of a var variable.  Therefore we
          will not duplicate the user provided pointer before assigning it
          to the internal variable.  However, we will release it.

Tue Mar 10 16:09:56 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * tao/cdr.{h,cpp}: Added a get_string and put_string method for
        retrieving and encoding a string. This uses "memcpy" rather than
        having to go through a get_char/put_char for every byte of the
        string.

        * tao/connect.cpp: In "handle_request", the marshaling of inout,
        out, and return value parameters was done inside this method after
        the operation skeleton had returned. This required unnecessary
        heap allocation of these parameters. Allocating these parameters
        on the skeleton call stack was not possible since the marshaling
        took place after the skeleton had returned. To eliminate these
        unnecessary waste, 2 new methods on the ServerRequest class are
        added that perform the demarshaling and marshaling while the
        skeleton call stack is active. More explanation on these is given
        below.

        * tao/{encode, decode}.cpp: Used the get_string and put_string
        methods on the CDR class.

        * tao/giop.*: Added a method called "stream" that returns a
        reference to the underlying CDR stream. This is helpful when you
        need access to the stream so that data types can be marshaled into
        the stream using a compiled form of marshaling. This form of
        marshaling will soon be added to TAO IDL compiler.

        * tao/object.{h, cpp}: Added a method called "stubobj" which
        returns a pointer to the underlying Stub_Object. This method
        eliminates the need to call QueryInterface inside every stub. This
        way some code size is reduced.

        Also, removed the "get_most_derived" method as well as the "void
        *sub_" data member which was useless.

        * tao/svrrqst.{h, i, cpp}: Added a new file svrrqst.i. Added two
        new methods on class IIOP_ServerRequest. These methods enable
        demarshaling and marshaling of parameters while the operation
        skeleton's call stack is active. The interface to these methods is
        exactly like the one used by do_call i.e., a table driven
        approach. Two new data structures - TAO_Param_data_Skel and
        TAO_Call_Data_Skel are added. These two tables behave in exactly
        the same way as the TAO_Param_Data and TAO_Call_Data tables. See
        the generated code to see how these are used by the demarshal and
        marshal methods.

        Two more methods and data members are added to this class -
        "incoming" and "outgoing". These are the CDR streams that indicate
        the incoming and the outgoing CDR streams.

        An additional "init_reply" method is added that is useful for the
        compiled marshaling. This is still experimental.

        * TAO_IDL: This is the first release of the new TAO_IDL compiler
        based on the Visitor pattern. All the old files and code is still
        included in this release until the transition is complete.

        Although the Visitor pattern is used, we still maintain all the
        code generation states we had in the previous version of the
        compiler. The reason is that we maintain a Factory of Visitors
        indexed on these enumerated states. The downside is the necessity
        to have states and a larger code size. The larger code size is due
        to the fact that everytime a Visitor is required, we must first
        set the appropriate state and then ask the factory to produce it
        for us. The positive side of this design is that almost all the
        Visitor files are independent of each other. They only deal with
        an abstract base level Visitors. The Factory will produce the
        appropriate specialized Visitor which is a subclass of the base
        "visitor" class. An additional benefit is that we can switch from
        having to generate code that uses Interpretive marshaling to
        compiled marshaling. Visitors for compiled marshaling will be
        added later. Here are the files that are added:

        be_include/
                be_visitor.h
                be_visitor_args.h
                be_visitor_attribute.h
                be_visitor_constant.h
                be_visitor_context.h
                be_visitor_decl.h
                be_visitor_enum.h
                be_visitor_field.h
                be_visitor_interface.h
                be_visitor_interface_fwd.h
                be_visitor_module.h
                be_visitor_operation.h
                be_visitor_root.h
                be_visitor_scope.h
                be_visitor_sequence.h
                be_visitor_structure.h
                be_visitor_typedef.h
                be_visitor_union.h
                be_visitor_union_branch.h
        be/
                be_visitor.cpp
                be_visitor_args.cpp
                be_visitor_attribute.cpp
                be_visitor_constant.cpp
                be_visitor_context.cpp
                be_visitor_decl.cpp
                be_visitor_enum.cpp
                be_visitor_exception.cpp
                be_visitor_field.cpp
                be_visitor_interface.cpp
                be_visitor_interface_fwd.cpp
                be_visitor_module.cpp
                be_visitor_operation.cpp
                be_visitor_root.cpp
                be_visitor_scope.cpp
                be_visitor_sequence.cpp
                be_visitor_structure.cpp
                be_visitor_typedef.cpp
                be_visitor_union.cpp
                be_visitor_union_branch.cpp

        NOTE: Code generation for attributes is achieved by using a crude
        form of the Adapter pattern. We convert the Attribute node into
        one or possibly two operation nodes and add scope elements that
        are arguments. The code gene ration is then handed over to the
        Operation Visitors.

        * be/be_interpretive.cpp: This file defined the implementation of
        the Factory of Visitors for intepretive marshaling.

        * be_include/be_codegen.h: Added a few more states. Some others
        are now useless. They will be removed eventually. Also added the
        Abstract Factory for Visitors.

        * Makefile: Modofoed to include all the visitor files and ran
        "make depend" on it.

Tue Mar 10 13:22:20 1998  David L. Levine  <levine@cs.wustl.edu>

        * orbsvcs/tests/Event_Latency/Makefile,
          orbsvcs/tests/EC_Multiple/Makefile,
          orbsvcs/tests/Simulator/Event_Supplier/Makefile: removed -pedantic
          from g++ CCFLAGS because prevented use of native long long
          (Linux/i386).

        * orbsvcs/orbsvcs/RtecScheduler.idl: addressed RT_Info open issues,
          and updated to match TAO paper.  The updates consisted of
          changing the names of the Importance enum values so that we
          don't have collisions when criticality is added, and comment
          updates.

        * orbsvcs/Event/Dispatching_Modules.cpp,ReactorTask.cpp,
          orbsvcs/Sched/Config_Scheduler.cpp,
          orbsvcs/tests/EC_Multiple/EC_Multiple.cpp,
          orbsvcs/tests/Event_Latency/Event_Latency.cpp,
          orbsvcs/tests/Simulator/Event_Supplier/Event_{Con,Sup}.cpp:
          added _IMPORTANCE to Importance enum values.

Mon Mar 09 22:27:53 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tests/POA/Generic_Servant/client.cpp: Added code to time calls
          and produce stats.

        * tao/svrrqst: Removed the lock in CORBA_ServerRequest which was
          used to protect the refcount. This protection was excessive.

        * tao/optable.cpp: Changed the table so that it does not use a RW
          Lock. Since the optable is read only, a null lock will suffice.

        * tao/objtable.cpp: Changed the implementation of
          TAO_Dynamic_Hash_ObjTable so that it does not use a RW Lock. The
          POA takes care of all necessary locking, and therefore, a null
          lock will suffice.

        * tao/poa: The following optimizations were made to decrease the
          time a POA takes to find a servant:

          - Added new classes TAO_Creation_Time and
            TAO_Temporary_Creation_Time.  These classes are used to record
            and compare the creation time of POAs. The old method was
            inefficient as unsigned long were used.  These long required
            conversions to strings.  The new scheme uses a fixed size
            buffer. The TAO_Temporary_Creation_Time is a special class
            that tracks the creation time only during the lifetime of the
            upcall.

          - parse_key_permanent_id() and parse_key_temporary_id() were
            added so that the parse_key() routine can distinguish when to
            create a new id and when to create a special id which is only
            used during the lifetime of the upcall.

          - rfind() was added so that the TAO_POA::String::rfind() does
            not have to be used.

          - Changed the object_key_type from String to char.

          - In post_invoke(), only create the POA_var if necessary.

          - Changed create_object_key() and parse_key() so that the old
            format of:

            Transient/Seconds/MicroSecond/POAName/ObjectId

            to:

            T/TimeStampPOAName/ObjectId

          - Removed excessive memcpy() and strcpy() calls in parse_key().

          - Changed create_object_id() to not include the POA name.

          - Changed is_poa_generated_id() to take the changes to
            create_object_id() into account.

          - Changed string_to_ObjectId() and ObjectId_to_string() to not
            use encode and decode routines.

Mon Mar  9 15:23:19 1998  Sumedh Mungee  <sumedh@cs.wustl.edu>

        * orbsvcs/tests/AVStreams/mpeg/source/server/server.cpp (open):
        Temporarily disabled use of threads, and reverted back to the
        forking model. The threaded model needs more work before it can
        safely support multiple clients.

Mon Mar  9 14:57:13 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/sequence.h:
        * tao/sequence.cpp:
        * tao/sequence_T.h:
        * tao/sequence_T.cpp:
          Removed the _narrow_fixup() method, it was causing problem with
          sequences of TypeCodes and it is not really needed: the
          functionality can be implemented in the stubs (skeletons) and/or
          the >>= methods.

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

        * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp: removed
          VxWorks-specific code, because it was no longer used, and
          relied on a header that was not distributed with TAO.

Sat Mar 07 12:14:58 1998  Chris Cleeland  <cleeland@cs.wustl.edu>

        * TAO version 0.1.7, released Sat Mar 07 12:14:58 1998.

Sat Mar  7 11:59:27 1998  Chris Cleeland  <cleeland@tango.cs.wustl.edu>

        * tao/orb_core.cpp (get_root_poa): Changed this from being a
        macro-implemented method to a hand-implemented method.  This is
        necessary b/c the location of its resource is keyed not off
        resource_source_ but rathe off poa_source_, and there's no macro
        avaialble for that.  Thanks to John Geiss <jtgb@eci-esyst.com> for
        reporting the bug that led to this fix!

Sat Mar 07 08:29:51 1998  David L. Levine  <levine@cs.wustl.edu>

        * tao/orb_core.cpp (TAO_Default_Reactor ctor and dtor): removed
          inline qualifiers.

        * tests/Cubit/TAO/MT_Cubit/Makefile: changed -lm to(MATHLIB).
          It looks like Sun C++ and g++ link with -lm by default, so
          there shouldn't be any affect on those platforms.  Others may
          have to define MATHLIB in their platform_macros.GNU.

        * tests/Cubit/TAO/MT_Cubit/client.cpp (do_priority_inversion_test):
          changed variables low_client and high_client to low_priority_client
          and high_priority_client.  Replaced use of cerr with ACE_DEBUG.

Fri Mar  6 17:56:25 1998  Chris Cleeland  <cleeland@cs.wustl.edu>

        * Aloha: I bid fond farewall to Team TAO for now.  Thanks for the
        fun times!

        * tests/NestedUpcall/server.cpp: Integrated new stuff.

        * tests/NestedUpcall/client.cpp: Called new 'stop' method.

        * tests/NestedUpcall/{Reactor.idl,reactor_i.*}: Added 'stop' to Reactor
        interface to shutdown the server.

        * tao/tao_util.cpp: Added code to explicitly destroy policies
        after creating a child POA.

        * tao/poaS.h: Added a little comment to bring this up in C++ mode
        in emacs.

        * tao/poa.cpp: Performed explicit deletes on buffers.

        * tao/object.{cpp,i}: Moved DTOR into .cpp and stuck in comment
        explaining refcount semantics on CORBA_Object.

        * tao/iiopobj.i: Changed initial refcount value to zero; the ORB
        Core must perform an explicit AddRef() if it intends to hold on to
        this object.

        * tao/iiopobj.cpp: Changed Release() so that it will call 'delete
        this' whenever the refcount is below zero.

Fri Mar 06 11:38:38 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * docs/Options.html: Shrinked the table widths to 80% so we can
          see everything without scrolling.  Thanks to Darrell for the
          HTML tip.

Fri Mar 06 09:36:47 1998  David L. Levine  <levine@cs.wustl.edu>

        * tao/object.i (CORBA_Object): reordered initializers to match
          declaration order.  Also, move _set_parent () before the
          constructor so that it is defined before being used.

        * tao/cdr.{i,cpp}: modified to base in/out operations
          on ULongLong instead of LongLong, because we have
          better support for ULongLong with ACE_LACKS_LONGLONG_T.

        * tao/cdr.{h,cpp} (get_ulonglong): removed const argument qualifier.

Fri Mar 06 00:18:38 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tao/poaS and poaC: Removed about a 1000 lines of stubs and
          skeletons code from poaC.cpp and poaS.cpp.  This code was not
          necessary because of the locality constraints on certain POA
          objects. This should help reduce the footprint of TAO.

Thu Mar  5 19:54:27 1998  Sergio Flores  <sergio@polka.cs.wustl.edu>

        * orbsvcs/orbsvcs/Naming/CosNaming_i.cpp: bind_context, rebind,
        and bind were fixed to handle errors more carefully.  Thanks to
        Mark Boriack for pointing this out.

Thu Mar  5 18:15:32 1998  Chris Cleeland  <cleeland@cs.wustl.edu>

        * tao/giop.cpp: Removed crufty unused code.

        * tao/iioporb.cpp:
        * tao/iiopobj.*:
        * tao/decode.cpp:
        * tao/object.{h,i}:
        * tao/orbobj.cpp:
        * tao/poaC.cpp:
        * tao/request.cpp:
        * tao/servant_base.{h,cpp}:
        Broke the old, incestous, bizarre "contained" relationship between
        IIOP_Object and CORBA_Object.  Now, multiple CORBA_Objects can
        reference the same IIOP_Object, and each is reference-counted
        separately.  Moreover, an IIOP_Object has no back-pointer to a
        CORBA_Object.  All of this should help alleviate many memory
        leaks.

        * TAO_IDL/be/be_interface.cpp: Changed emitted code for _narrow
        and _bind to deal with new relationship btw. CORBA_Object and
        IIOP_Object.

Thu Mar  5 17:45:28 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/cdr.i:
          If CORBA::WChar is an alias for CORBA::Short we cannot overload
          operator<< on it.

        * tao/corbacom.h:
        * tao/typecode.h:
          MSVC++ does not like a class forward declared as a structure.


        * tests/Cubit/TAO/MT_Cubit/Makefile:
          -lm is required in IRIX.

Thu Mar 05 16:18:53 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tao/poa.cpp (ObjectId_to_wstring and ObjectId_to_const_wstring):
          Changed the odd looking access to a sequence's buffer to use the
          new buffer() accessor.

Thu Mar  5 13:15:37 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/cdr.h:
        * tao/cdr.i:
          Added a error flag to the class and some << and >> operators to
          start a more useable interface for the CDR streams.

        * tao/any.h:
        * tao/any.cpp:
        * tao/except.h:
        * tao/except.cpp:
        * tao/nvlist.h:
        * tao/nvlist.cpp:
        * tao/principa.h:
        * tao/principa.cpp:
        * tao/request.h:
        * tao/request.cpp:
        * tao/typecode.h:
        * tao/typecode.i:
        * tao/typecode.cpp:
          They don't inherit from IUnknown any more. Removed the
          QueryInterface method, but kept AddRef and Release to keep the
          change propagation to a minimum.
          In accordance to the new memory managment scheme the locks were
          also removed, the agument is:
          + In the common case the locks are *not* needed.
          + When needed a lock at that level does *not* work.
          + The application can add its own locking for the objects that
          are effectively shared among threads.

        * tao/sequence.h:
        * tao/sequence.cpp:
        * tao/sequence_T.h:
        * tao/sequence_T.cpp:
          Sequences of objects require some post processing *after*
          demarshalling: the object references must be narrowed to the
          right type; a new virtual method was added for that purpose.

Thu Mar 05 09:08:09 1998  David L. Levine  <levine@cs.wustl.edu>

        * .../Makefile:  added(POSTLINK) to link commands.
          Please, if you don't use rules.bin.GNU, be sure to
          follow it as closely as possible.

Wed Mar 04 19:49:31 1998  David L. Levine  <levine@cs.wustl.edu>

        * tao/orb_core (preconnect): changed type of loop index to
          size_t to avoid signed/unsigned comparison.  Added some
          template instantiations.

Wed Mar  4 16:35:37 1998  Chris Cleeland  <cleeland@lambada.cs.wustl.edu>

        * tao/orbobj.*: Added an extension to the CORBA_ORB interface
        that allows an application to preconnect to multiple servers by
        specifying a string of host:port pairs.

        * tao/orb_core.*: Broke the preconnection logic out of init()
        and made it its own method, preconnect().  This also uses
        Connector<>::connect_n() rather than implementing its own loop.
        It really didn't make things much easier, but we can take
        advantage of future improvements to that implementation
        transparently, now.

        * docs/Options.html: Added more details on various options.

Tue Mar 03 21:11:22 1998  David L. Levine  <levine@cs.wustl.edu>

        * orbsvcs/orbsvcs/RtecScheduler.idl: updated a comment: the units
          of Period are 100 ns.

        * orbsvcs/orbsvcs/Event/Dispatching_Modules.cpp (initialize_queues),
          Task_Manager.cpp (initialize): maintain period in units of 100 ns
          when converting period from a 64 bit to a 32 bit int.

        * orbsvcs/orbsvcs/Event/Dispatching_Modules.cpp (open_queue),
          ReactorTask.cpp (open_reactor): assign name to thread using units
          of us.

Mon Mar  2 19:01:44 1998  Alexander Babu Arulanthu  <alex@merengue.cs.wustl.edu>

        * orbsvcs/tests/CosPropertyService/main.cpp (class
        TAO_PropertySet_Tester): Added this wrapper class to organise my
        test code, testing the methods in the PropertyService interfaces.

Mon Mar  2 16:48:59 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * TAO_IDL/be/be_codegen.cpp:
        * TAO_IDL/fe/idl.ll:
        * TAO_IDL/fe/lex.yy.cpp:
        * TAO_IDL/util/utl_global.cpp:
          More changes attempting to remove the \ problem for NT.

        * tao/orbobj.h:
          Added a missing TAO_Export macro.

        * tao/typecode.h:
        * tao/typecode.i:
          Added the _var and _out classes for CORBA_TypeCode.

        * tao/corbacom.h:
          Added the TypeCode_var and TypeCode_out classes to the CORBA
          class.

Mon Mar  2 15:39:57 1998  Douglas C. Schmidt  <schmidt@waltz.cs.wustl.edu>

        * tao/sequence_T.h: Added a ptr() accessor to both the
          TAO_Bounded_Sequence and TAO_Unbounded_Sequence classes.  Thanks
          to Carol Sanders <csanders@mdc.com> for suggesting this.

        * tao/sequence[_T].{i,cpp}: Cleaned up a bunch of
          ACE_reinterpret_cast() operations.  Thanks to Russ Noseworthy
          <rnosewor@objectsciences.com> for reporting this.

Mon Mar  2 13:13:19 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * TAO_IDL/fe/idl.ll:
        * TAO_IDL/fe/lex.yy.cpp:
          Fixed pathname canonization for NT, we convert a double
          backslash into a single slash.

Mon Mar 02 08:00:41 1998  David L. Levine  <levine@cs.wustl.edu>

        * tao/orb_core.cpp: only instantiate ACE_Convert with g++.
          Even that shouldn't need it, because it's always inline.
          But, g++ typically creates out-of-line instantiations of
          inline template member functions.

        * tao/sequence.{h,cpp} (TAO_{B,Unb}ounded_Base_Sequence):
          added (virtual) destructors.  Without them, GreenHills on
          Chorus was duplicating their vtables when instantiating
          templates based on those classes.

        * orbsvcs/orbsvcs/Makefile,tmplinst-orbsvcs.cpp:
          renamed tmplinst.cpp to tmplinst-orbsvcs.cpp to avoid mangled name
          collisions with tmplinst.cpp in test directories, when using
          GreenHills/Chorus.

        * tests/Cubit/TAO/IDL_Cubit/server.cpp (main): added explicit
          int return type.

Sun Mar  1 13:42:56 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * release.pl: This script will now move the 'Current' tag to
          point to the latest beta release.

Sun Mar  1 10:40:31 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * tao/{poa, objtable}.cpp: Removed the "Anachronism" warning
        associated with the _out parameters passed to the find () method.

Sat Feb 28 18:37:54 1998  Alexander Babu Arulanthu  <alex@merengue.cs.wustl.edu>

        * orbsvcs/orbsvcs/Property/CosProperty_Hash.cpp:
        * orbsvcs/orbsvcs/Property/CosProperty_Hash.h:
        * orbsvcs/tests/CosPropertyService/main.cpp:
        Added some more code to test the functions defined in CosPropertyService_i.cpp.
        * orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp:
        * orbsvcs/orbsvcs/Property/CosPropertyService_i.h:
        * orbsvcs/orbsvcs/CosPropertyService.idl:
        * orbsvcs/tests/Makefile (DIRS): Added the directory
        CosPropertyService under DIRS  here. It is compiled when av=1.

Fri Feb 27 19:55:09 1998  Nagarajan Surendran  <naga@cs.wustl.edu>

        * tests/Cubit/TAO/IDL_Cubit/IDL_Cubit_Test.cpp (main): Added this
        file which spawns the server and client and terminates them after
        some time.

Fri Feb 27 17:57:55 1998  Chris Cleeland  <cleeland@cs.wustl.edu>

        * tests/NestedUpcall/server.cpp: Started integrating the
        TAO_ORB_Manager, but it's untested thus far so it's
        conditionally-compiled out.

        * tao/{any,connect,default_server,except,
        orb_core,orbobj,principa,request}.cpp: Whacked out a bunch of @@
        comments.

Fri Feb 27 16:11:53 1998  Sergio Flores  <sergio@polka.cs.wustl.edu>

        * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp:
        * tests/Cubit/TAO/MT_Cubit/Task_Client.h:
        * tests/Cubit/TAO/MT_Cubit/Util_Thread.cpp:
        * tests/Cubit/TAO/MT_Cubit/Util_Thread.h:
        * tests/Cubit/TAO/MT_Cubit/client.cpp:
        * tests/Cubit/TAO/MT_Cubit/server.cpp:
        * tests/Cubit/TAO/MT_Cubit/server.h: Changes to make it compile on
        sigle-threaded platforms.

        * docs/releasenotes/index.html: update to naming service
        entry.

Fri Feb 27 15:03:58 1998  Chris Cleeland  <cleeland@cs.wustl.edu>

        * docs/Options.html (TAO_Default_Server_Strategy_Factory): Added
        documentation for POA-related lock strategies.

        * tao/connect.cpp (handle_input): Added call to
        Reactor::suspend_handler() in here so that, in the bizarre corner
        case where sub-event loop "A" eventually leads to sub-sub-event
        loop "B" being called, but input becomes available for "A"'s
        descriptor prior to "B"'s descriptor, B's loop won't spin wildly,
        gobbling up CPU.

Fri Feb 27 15:00:42 1998  David L. Levine  <levine@cs.wustl.edu>

        * orbsvcs/orbsvcs/Time_Utilities.i (hrtime_to_TimeT): with
          ACE_LACKS_LONGLONG_T, set the high word directly.  The
          ACE_U_LongLong operator >> returns an ACE_U_LongLong,
          so the assignment won't work otherwise.

        * tao/orb_core.cpp: added ACE_Convert (const char *, u_int &)
          instantiation.

Fri Feb 27 12:08:19 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/orb_core.h (TAO_Resource_Factory): Changed to use
          TAO_Default_Reactor class in TAO_Resource_Factory.

Fri Feb 27 11:10:24 1998  Chris Cleeland  <cleeland@lambada.cs.wustl.edu>

        * test/NestedUpcall/{eh_i,reactor_i}.cpp: Changed debug statements
        to utilize the new ACE_Log_Msg conversions to indent scopes, etc.

Fri Feb 27 00:40:36 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO version 0.1.6, released Fri Feb 27 00:40:36 1998.

Thu Feb 26 19:29:33 1998  Seth Benjamin Widoff  <sbw1@waltz.cs.wustl.edu>

        * orbscvs/orbsvcs/Trader/Admin.cpp:
        * orbsvcs/orbsvcs/Trader/Admin.h:
        * orbsvcs/orbsvcs/Trader/Attributes.cpp:
        * orbsvcs/orbsvcs/Trader/Attributes.h:
        * orbsvcs/orbsvcs/Trader/Constraint.cpp:
        * orbsvcs/orbsvcs/Trader/Constraint.h:
        * orbsvcs/orbsvcs/Trader/Constraint_Evaluator.cpp:
        * orbsvcs/orbsvcs/Trader/Constraint_Evaluator.h:
        * orbsvcs/orbsvcs/Trader/Constraint_Interpreter.cpp:
        * orbsvcs/orbsvcs/Trader/Constraint_Interpreter.h:
        * orbsvcs/orbsvcs/Trader/Constraint_Nodes.cpp:
        * orbsvcs/orbsvcs/Trader/Constraint_Nodes.h:
        * orbsvcs/orbsvcs/Trader/Constraint_Tokens.h:
        * orbsvcs/orbsvcs/Trader/Constraint_Validator.cpp:
        * orbsvcs/orbsvcs/Trader/Constraint_Validator.h:
        * orbsvcs/orbsvcs/Trader/Constraint_Visitor.h:
        * orbsvcs/orbsvcs/Trader/Constraint_l.cpp:
        * orbsvcs/orbsvcs/Trader/Constraint_y.cpp:
        * orbsvcs/orbsvcs/Trader/Dynamic_Property.cpp:
        * orbsvcs/orbsvcs/Trader/Dynamic_Property.h:
        * orbsvcs/orbsvcs/Trader/Interpreter.cpp:
        * orbsvcs/orbsvcs/Trader/Interpreter.h:
        * orbsvcs/orbsvcs/Trader/Link.cpp:
        * orbsvcs/orbsvcs/Trader/Link.h:
        * orbsvcs/orbsvcs/Trader/Lookup.cpp:
        * orbsvcs/orbsvcs/Trader/Lookup.h:
        * orbsvcs/orbsvcs/Trader/Monitor.h:
        * orbsvcs/orbsvcs/Trader/Offer_Filter.cpp:
        * orbsvcs/orbsvcs/Trader/Offer_Filter.h:
        * orbsvcs/orbsvcs/Trader/Offer_Id_Iterator.cpp:
        * orbsvcs/orbsvcs/Trader/Offer_Id_Iterator.h:
        * orbsvcs/orbsvcs/Trader/Offer_Iterator.cpp:
        * orbsvcs/orbsvcs/Trader/Offer_Iterator.h:
        * orbsvcs/orbsvcs/Trader/Offer_Modifier.cpp:
        * orbsvcs/orbsvcs/Trader/Offer_Modifier.h:
        * orbsvcs/orbsvcs/Trader/Policies.cpp:
        * orbsvcs/orbsvcs/Trader/Policies.h:
        * orbsvcs/orbsvcs/Trader/Policy_Manager.cpp:
        * orbsvcs/orbsvcs/Trader/Policy_Manager.h:
        * orbsvcs/orbsvcs/Trader/Preference_Interpreter.cpp:
        * orbsvcs/orbsvcs/Trader/Preference_Interpreter.h:
        * orbsvcs/orbsvcs/Trader/Property_Evaluator.cpp:
        * orbsvcs/orbsvcs/Trader/Property_Evaluator.h:
        * orbsvcs/orbsvcs/Trader/Property_Filter.cpp:
        * orbsvcs/orbsvcs/Trader/Property_Filter.h:
        * orbsvcs/orbsvcs/Trader/Proxy.cpp:
        * orbsvcs/orbsvcs/Trader/Proxy.h:
        * orbsvcs/orbsvcs/Trader/Query_Only_Offer_Iterator.cpp:
        * orbsvcs/orbsvcs/Trader/Query_Only_Offer_Iterator.h:
        * orbsvcs/orbsvcs/Trader/README:
        * orbsvcs/orbsvcs/Trader/Register.cpp:
        * orbsvcs/orbsvcs/Trader/Register.h:
        * orbsvcs/orbsvcs/Trader/Register_Offer_Iterator.cpp:
        * orbsvcs/orbsvcs/Trader/Register_Offer_Iterator.h:
        * orbsvcs/orbsvcs/Trader/Sequences.idl:
        * orbsvcs/orbsvcs/Trader/Service_Type_Map.cpp:
        * orbsvcs/orbsvcs/Trader/Service_Type_Map.h:
        * orbsvcs/orbsvcs/Trader/Service_Type_Repository.cpp:
        * orbsvcs/orbsvcs/Trader/Service_Type_Repository.h:
        * orbsvcs/orbsvcs/Trader/Trader.cpp:
        * orbsvcs/orbsvcs/Trader/Trader.h:
        * orbsvcs/orbsvcs/Trader/Trader_Base.cpp:
        * orbsvcs/orbsvcs/Trader/Trader_Base.h:
        * orbsvcs/orbsvcs/Trader/constraint.l:
        * orbsvcs/orbsvcs/Trader/constraint.y:
        * orbsvcs/orbsvcs/CosTrading.idl:
        * orbsvcs/Trading_Service/Makefile:
        * orbsvcs/Trading_Service/trader.cpp:

        The Trading Service has a new home and a new orb. I've migrated
        the VisiBroker implementation of the Trading Service to TAO by
        having the interfaces inherit from the POA_CosTrading skeletons,
        replacing the the C++ exception handling with the TAO_* macro
        exception handling and CORBA::Environment passing, and prefixing
        all top level classes with 'TAO_'. Because the tao_idl generated
        code from CosTrading.idl was having some trouble, nothing here has
        been compiled since the port. The README file contains additions
        to the Makefile necessary to accommodate the Trading Service's
        reliance on STL.

        The orbsvcs/Trading_Service/trader.cpp is a server that activates
        the supported interfaces of our Trading Service. At this point our
        Trader adheres to the Stand Alone Trader designation of
        conformance as described in the specification.

Thu Feb 26 18:38:56 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * orbsvcs/orbsvcs/Naming/Naming_Utils.cpp (TAO_Naming_Server):
          Fixed a syntax error.

Thu Feb 26 18:07:16 1998  Alexander Babu Arulanthu  <alex@merengue.cs.wustl.edu>

        * docs/releasenotes/index.html: Added an entry for the Property Service.

Thu Feb 26 17:36:21 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/orb_core.{h,cpp} (TAO_Default_Reactor): I added the new class
          tring to strategize the type of reactor used.  It is not used at
          the moment.

Thu Feb 26 16:18:47 1998  Douglas C. Schmidt  <schmidt@flamenco.cs.wustl.edu>

        * TAO_IDL/be/be_interface.cpp (gen_client_stubs): Split out some
          code to use a couple temporary variables to work around what
          might be a Heisenbug with GCC.  Thanks to Carlos O'Ryan and
          Keith Nicewarner <knicewar@sanders.com> for reporting this.

Thu Feb 26 14:52:20 1998  Chris Cleeland  <cleeland@cs.wustl.edu>

        * tests/NestedUpcall/{eh_i,reactor_i}.{h,cpp}: Added
        implementation for the new decrement operation.

        * tests/NestedUpcall/client.cpp: Added calls to invoke the new
        decrement operation.

        * tests/NestedUpcall/Reactor.idl: Added a new operation,
        decrement, to test multi-nested upcalls.

        * tao/connect.cpp (send_request): Fixed to return appropriate
        return values, especially in case of errors.

Thu Feb 26 14:02:36 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tao/tao_util.cpp (activate_under_child_poa): Instead of
          returning a String_var, return String_var._retn ().
          (activate_under_child_poa): Actually, it seems better just
          use String than String_var.

Thu Feb 26 13:31:06 1998  David L. Levine  <levine@cs.wustl.edu>

        * TAO_IDL/Makefile: added "all" target for CROSS-COMPILE platforms.

Thu Feb 26 05:39:43 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tests/NestedUpcall/client.cpp: Cast (char *) to 0 which is used
          to initialize remote_reactor_key.
          (main): Added ACE_const_cast in string_to_object call.

        * tests/NestedUpcall/NestedUpcall.dsw:
        * tests/NestedUpcall/client.dsp:
        * tests/Nestedupcall/server.dsp: New project files for NT.

        * tests/Cubit/TAO/IDL_Cubit/server.cpp (init_naming_service,main):
          Appended a return at the end.

        * tests/Cubit/TAO/IDL_Cubit/client.dsp:
        * tests/Cubit/TAO/IDL_Cubit/server.dsp: Updated project file
          lists.

        * tao/TAO.dsp: Added tao_util.cpp into this project.

        * tao/tao_util.h (TAO_ORB_Manager): Added TAO_Export flag.

        * orbsvcs/orbsvcs/orbsvcs.dsp: Added Ior_Multicast.cpp and
          Naming_Utils.cpp into this project.

        * orbsvcs/orbsvcs/Naming/Ior_Multicast.h:
        * orbsvcs/orbsvcs/Naming/Naming_Utils.h: Added
          TAO_ORBSVCS_Export flag.

        * orbsvcs/Naming_Service/Naming_Service.cpp: Added a return
          statement to muffle MSVC.

Wed Feb 25 22:53:56 1998  Douglas C. Schmidt  <schmidt@flamenco.cs.wustl.edu>

        * tao/orbobj: Changed the signature of the run(ACE_Time_Value &)
          method to run(const ACE_Time_Value &) so we can pass the const
          ACE_Time_Value::zero to it.  Thanks to Chris Cleeland for
          suggesting this.

        * orbsvcs/orbsvcs/Event/RT_Task.h: Changed the use of ACE_MT_SYNCH
          to ACE_SYNCH so that we can at least build the Event Channel on
          a single-threaded platform.

        * orbsvcs/orbsvcs/Event_Service_Constants.h: Changed the use of
          ACE_Thread_Mutex and ACE_RT_Thread_Mutex to ACE_THREAD_MUTEX and
          ACE_RW_THREAD_MUTEX, respectively, so that TAO will build on
          non-threaded platforms.

        * tao/poa.cpp,
          tao/default_server.cpp: Fixed TAO by conditionally
          compiling the code that relies on the recursive mutexes
          and mutexes.  Thanks to Jim Penny <jpenny@universal-fasteners.com>
          for reporting this.

Wed Feb 25 22:47:48 1998  Sergio Flores  <sergio@tango.cs.wustl.edu>

        * tests/Cubit/TAO/MT_Cubit/README::
        * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp:
        * tests/Cubit/TAO/MT_Cubit/Task_Client.h:
        * tests/Cubit/TAO/MT_Cubit/cubit.idl:
        * tests/Cubit/TAO/MT_Cubit/cubit_i.cpp:
        * tests/Cubit/TAO/MT_Cubit/cubit_i.h: Made changes to have the
        option to specify oneway calls instead of the usual two-way
        cube_X() call.  Now, you can specify the "-o" argument on the
        client side.

Wed Feb 25 22:47:16 1998  Nagarajan Surendran  <naga@tango.cs.wustl.edu>

        * tests/Cubit/TAO/IDL_Cubit/client.cpp (parse_args): Similar to
        server.cpp changed the meaning of -s option to not to use the
        naming service and naming service is used by default.

        * tests/Cubit/TAO/IDL_Cubit/server.cpp (parse_args): Changed the
        meaning of the -s option to "don't use the naming service" and made
        using the naming service the default.

Wed Feb 25 22:47:16 1998  Nagarajan Surendran  <naga@tango.cs.wustl.edu>

        * tests/Cubit/TAO/IDL_Cubit/server.cpp (parse_args): Changed the
        meaning of the -s flag to "don't use the naming service" and made
        using the naming service the default.

Wed Feb 25 18:03:35 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * orbsvcs/orbsvcs/Makefile:
        * orbsvcs/tests/AVStreams/Makefile:
        * tests/Cubit/TAO/IDL_Cubit/Makefile:
          Updated dependencies.

Wed Feb 25 17:13:05 1998  Nagarajan Surendran  <naga@tango.cs.wustl.edu>

        * orbsvcs/Naming_Service/Naming_Service.cpp (Naming_Service):
        Changed the main to just create an instance of Naming_Service and
        call init and run on it.

        * orbsvcs/Naming_Service/Naming_Service.h: Added this file which
        defines a Naming_Service class to simplify the Naming_Service.cpp
        file.

Wed Feb 25 16:52:13 1998  Chris Cleeland  <cleeland@cs.wustl.edu>

        * tao/servant_base.cpp: Updated to reflect change of poa_current_
        from structure to pointer.

        * tao/poa.*: Changed signature of pre_invoke() and post_invoke()
        to deal with poa current storage coming from the stack.

        * tao/poa.cpp (dispatch_servant_i): Changed to create POA Current
        information record on the stack during the upcall, thus clearing
        the way for proper operation in the face of nested upcalls.

        * tao/orbobj.cpp: Updated to reflect change of poa_current_ from
        structure to pointer.

        * tao/orb_core.*: Changed poa_current_ to a pointer rather than
        ownership.  This allows the structure holding the POA Current
        information to be created in the activation record for the upcall,
        thus opening the door for proper operation in the face of nested
        upcalls.

        * tao/giop.h: Removed cruft/unused code.

        * tao/giop.cpp: Addressed some '@@' comments.

        * tao/connect.*: Fixed a problem where nested upcalls would only
        work every other time.  This was caused by the fact that the
        servant-turned-client cached the connection to the
        client-turned-servant.  However, when the client-turned-servant
        terminated, the servant-turned-client was ignoring input events on
        this cached connection handle.  Then, when the next instance of
        the client-turned-servant came along and tried to connect, when
        the servant-turned-client made the invocation back to the
        client-turned-servant, the cached handle was returned.  However,
        when its input was read, rather than getting the expected
        response, an EOF was received and the servant-turned-client
        aborted the entire original invocation.

        This was fixed by having the TAO_Client_Connection_Handler always
        registered to receive input events and to maintain record of its
        state so that it can tell whether or not it's expecting input.  If
        it receives an unexpected input event, then it will simply close
        down the connection, possibly logging a warning message as well.

Wed Feb 25 16:06:59 1998  Sumedh Mungee  <sumedh@cs.wustl.edu>

        * orbsvcs/tests/AVStreams/{client,server}.{h,cpp}: Added callback
        support

Wed Feb 25 16:04:49 1998  Sumedh Mungee  <sumedh@cs.wustl.edu>

        * orbsvcs/orbsvcs/AV/AVStreams_i.cpp,h: Added support for making
        upcalls into the application when connection is established,
        requested etc..

Wed Feb 25 12:58:04 1998  Nagarajan Surendran  <naga@tango.cs.wustl.edu>

        * tao/tao_util.cpp: Added the implementation for the 2 new methods
        to use a child_poa.

        * tao/tao_util.h (class TAO_ORB_Manager): Added 2 new methods
        init_child_poa and activate_under_child_poa to create a child_poa
        with policies PERSISTENT and USER_ID.

        * orbsvcs/orbsvcs/Naming/CosNaming_i.cpp (bind): Added checks for
        null pointers in ACE_DEBUG.

        * orbsvcs/orbsvcs/Naming/Naming_Utils.cpp: Moved this file from
        orbsvcs/Naming_Service/ to this dir.

        * orbsvcs/orbsvcs/Naming/Naming_Utils.h: Moved this file from
        orbsvcs/Naming_Service/ to this directory.

Wed Feb 25 12:20:04 1998  David L. Levine  <levine@cs.wustl.edu>

        * tao/any.cpp (operator<<=): removed declaration of local "tc",
          which shadowed the declaration in the outer scope.

        * tao/giop.cpp (start): added a debug message for connection
          failures.  This is where problems often occur for new users/
          environments, and it'll help diagnose configuration problems.
          And Linux getsockname () bugs.

Tue Feb 24 21:05:08 1998  Nagarajan Surendran  <naga@mambo.cs.wustl.edu>

        * orbsvcs/Naming_Service/Main.cpp: This now contains the main
        which was previously in Naming_Service.cpp to facilitate
        integrating the IOR_Multicast class defined in Naming_Service.cpp
        into the orbsvcs library.

        * orbsvcs/Naming_Service/Naming_Utils.h: Defines a new
        TAO_Naming_Server wrapper class which can be used as a
        Naming_Server component if one wants a separate Naming_Server.

        * orbsvcs/Naming_Service/Naming_Utils.cpp: Added this new file
        which implements the TAO_Naming_Server class.

        * tests/Cubit/TAO/IDL_Cubit/client.cpp (read_ior): Added 2 new
        methods read_ior and init_naming_service.

        * tests/Cubit/TAO/IDL_Cubit/server.cpp: Now contains the
        implementation of Cubit_Server class with a really simple main.

        * tests/Cubit/TAO/IDL_Cubit/server.h (class Cubit_Server): Defined
        a new Cubit_Server class akin to Cubit_Client.

        * orbsvcs/Naming_Service/Naming_Service.cpp: Moved the main () to
        a separate file Main.cpp

Tue Feb 24 17:45:20 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * tao/orbobj.h: Removed the unnecessary = 0 on the new run method.

        * tao/orbobj.cpp (run): Added a new run() method that takes an
        ACE_Time_Value & rather than an ACE_Time_Value * so that we don't
        need to pass the address!

Tue Feb 24 14:31:37 1998  Chris Cleeland  <cleeland@cs.wustl.edu>

        * tests/NestedUpcall/client.cpp (main): Replaced orb->open() with
        orb->run(&ACE_Time_Value::zero), which though still non-standard,
        is less non-standard than open().

        * tests/NestedUpcall/README: Added one for the good of all
        mankind.

Tue Feb 24 13:23:48 1998 Michael Kircher   <mk1@cec.wustl.edu>

        * orbsvcs/tests/Simulator/NavWeap.idl: Added new fields

        * orbsvcs/tests/Simulator/Event_Supplier/Event_Sup.cpp:
        adopted to new IDL file

        * orbsvcs/tests/Simulator/Sim_Display/Display_Push_Consumer.java:
        adopted to new IDL file


Tue Feb 24 00:41:48 1998  Alexander Babu Arulanthu  <alex@merengue.cs.wustl.edu>

        * orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp: Added TITLE,
          DESCRIPTION for all the classes

Mon Feb 23 22:40:22 1998  David L. Levine  <levine@cs.wustl.edu>

        * tao/cdr.h: removed old, commented out configuration code.

        * TAO_IDL/be/be_decl.cpp (tc_name2long): changed type of "buf" array
          from char to long so that it gets properly aligned.  This solves
          the core dump problem with tao_idl on egcs/Solaris.  Thanks to
          Hkan Kllberg <hk@simulina.se> for reporting this.

        * TAO/tests/Thruput/TAO/utils.cpp (prep_timer): cast LONG_MAX
          to ACE_INT32 to avoid overflow problems if the result is an
          int type, and long is bigger than int.

        * orbsvcs/orbsvcs/Event/Event_Channel.i: specify constant
          2147483648u as unsigned, to avoid compiler warning.

        * TAO_IDL/Makefile: removed -fPIC for g++ because it's not needed
          without shared libraries.

        * TAO_IDL/Makefile: added Cleanup section, which cleans out builds
          that were created with the nested version of the Makefile.

Mon Feb 23 22:13:14 1998  David L. Levine  <levine@cs.wustl.edu>

        * TAO version 0.1.5, released Mon Feb 23 22:13:14 1998.

Mon Feb 23 21:30:04 1998  David L. Levine  <levine@cs.wustl.edu>

        * TAO_IDL/Makefile: added the g++ options that were picked up
          from be/Makefile.

        * tests/Cubit/TAO/MT_Cubit/server.cpp (start_servants):
          declare local "i" outside of for loop because it is reused
          in a few loops.

Mon Feb 23 20:45:03 1998  Michael Kircher  <mk1@cec.wustl.edu>

        * orbsvcs/tests/Simulator/Sim_Display: Fixed some small
        bugs concerning the representation

        * orbsvcs/tests/Simulator/Event_Supplier/Event_Sup.cpp:
        Changed the rate on which events are supplied


Mon Feb 23 18:51:03 1998  Sergio Flores  <sergio@polka.cs.wustl.edu>

        * orbsvcs/Naming_Service/Naming_Service.cpp (main): Set the handle
        limit to the maximum.

        * tests/Cubit/TAO/MT_Cubit/server.cpp (initialize_orb): Fixed a
        warning from compiler.

Mon Feb 23 17:33:52 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * TAO_IDL/Makefile:
          We don't generate the compiler as a single executable, without
          multiple shared libraries.

Mon Feb 23 16:55:08 1998  David L. Levine  <levine@cs.wustl.edu>

        * orbsvcs/orbsvcs/Event_Service_Constants.h: changed types of
          ACE_ES_* constants from u_long to long to match
          RtecEventComm::EventType.

        * orbsvcs/orbsvcs/Event/Memory_Pools.cpp: updated template
          instantiations to use ACE_Singleton instead of ACE_TSS.

Mon Feb 23 12:25:21 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * orbsvcs/orbsvcs/Event/Memory_Pools.h:
        * orbsvcs/orbsvcs/Event/Memory_Pools.i:
        * orbsvcs/orbsvcs/Event/Memory_Pools.cpp:
          We cannot use TSS memory pools: in some cases the memory is
          allocated in one thread and disposed in another. Until we can
          clean out that behavior I'm using a singleton.

Mon Feb 23 11:57:16 1998  Alexander Babu Arulanthu  <alex@merengue.cs.wustl.edu>

        * orbsvcs/orbsvcs/Property/ : Changed the names EXT_ID and INT_ID
        that I used for Hash_Table operations to less generic
        CosProperty_Hash_Key and CosProperty_Hash_Value respectively.

Mon Feb 23 11:40:37 1998  David L. Levine  <levine@cs.wustl.edu>

        * tao/corbacom.h (CORBA::LongLong): use ACE_BIG_ENDIAN
          instead of TAO_WORDS_BIGENDIAN.

        * tao/orbconf.h (TAO_ENCAP_BYTE_ORDER): use ACE_LITTLE_ENDIAN
          instead of trying to figure it out from cpp #defines, which
          failed for LynxOS.  Also, removed TAO_WORDS_BIGENDIAN.

        * tao/interp.cpp (declare_entry,setup_entry): use the align_struct_
          with padding by default, unless TAO_HAS_FIXED_BYTE_ALIGNMENT is
          #defined.

        * tao/corba.h: added ACE_UNUSED_ARG (VAR); to TAO_CATCH macro
          for platforms without ACE_HAS_EXCEPTIONS, to avoid compiler
          warning about unused variable if VAR isn't used anywhere.

        * TAO_IDL/Makefile: added clean and realclean targets for
          CROSS-COMPILE platforms.

        * TAO_IDL/be/be_interface.cpp (be_interface::relative_name):
          commented out unused local variable "def_scope".

        * TAO_IDL/be/be_sequence.cpp: commented out some unused variables
          to avoid compiler warnings.  The comments correspond to commented-out
          sections of code.

        * TAO_IDL/be/be_visitor_interface.cpp
          (be_visitor_collocated_ss::visit_operation): removed unused
          local "nl".

        * TAO_IDL/be/be_visitor_root.cpp (be_visitor_root_ch::visit_sequence):
          added ACE_UNUSED_ARG (node).

        * TAO_IDL/be/be_visitor_sequence.cpp
          (be_visitor_sequence_ch::visit_sequence): commented out unused
          local "cg".

        * orbsvcs/tests/Event_Latency/Event_Latency.cpp
          (Latency_Supplier::push): added ACE_UNUSED_ARG (_env).

Mon Feb 23 10:58:42 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * orbsvcs/orbsvcs/AV/AVStreams_i.h:
        * orbsvcs/orbsvcs/Event/Dispatching_Modules.h:
        * orbsvcs/orbsvcs/Event/Event_Channel.cpp:
        * orbsvcs/orbsvcs/Event/Fast_Reactor.h:
        * orbsvcs/orbsvcs/Event/GPlot_File.h:
        * orbsvcs/orbsvcs/Property/CosPropertyService_i.h:
        * orbsvcs/orbsvcs/Property/CosProperty_Hash.h:
        * orbsvcs/orbsvcs/Sched/DynSched.h:
        * orbsvcs/orbsvcs/Sched/SchedEntry.h:
        * orbsvcs/orbsvcs/Sched/Strategy_Scheduler.h:
        * Added more TAO_ORBSVCS_Export macros, this time in files that
          are not compiled all the time.

Sun Feb 22 22:14:08 1998  Chris Cleeland  <cleeland@lambada.cs.wustl.edu>

        * tao/giop.cpp (invoke): Created my own temporary variable in
        order to de-warn on g++ and Sun CC.

Sun Feb 22 20:12:24 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * orbsvcs/orbsvcs/orbsvcs/orbsvcs.dsp: Adapted chages to the directory
          rearrangement.

        * orbsvcs/orbsvcs/Runtime_Scheduler.h:
        * orbsvcs/orbsvcs/Scheduler_Utilities.h:
        * orbsvcs/orbsvcs/Event/BCU.h:
        * orbsvcs/orbsvcs/Event/Dispatching_Modules.h:
        * orbsvcs/orbsvcs/Event/Event_Channel.h:
        * orbsvcs/orbsvcs/Event/Memory_Pools.h:
        * orbsvcs/orbsvcs/Event/RT_Task.h:
        * orbsvcs/orbsvcs/Event/ReactorTask.h:
        * orbsvcs/orbsvcs/Event/Task_Manager.h:
        * orbsvcs/orbsvcs/Naming/CosNaming_i.h:
        * orbsvcs/orbsvcs/Naming/Entries.h:
        * orbsvcs/orbsvcs/Sched/Config_Scheduler.h:
        * orbsvcs/orbsvcs/Sched/Scheduler.h:
        * orbsvcs/orbsvcs/Sched/Scheduler_Generic.h: Added
          TAO_ORBSVCS_Export flags.

Sat Feb 21 08:08:55 1998  David L. Levine  <levine@cs.wustl.edu>

        * rules.tao.GNU: added -Wno-used to CCFLAGS, with g++ only.

        * tao/align.h,corbacom.h,orbconf.h,orbobj.cpp:
          use ACE Basic_Types instead of local SIZEOF_* macros.

        * tao/debug.cpp: null f{,un}lockfile with ACE_HAS_DCE_DRAFT4_THREADS
          (LynxOS).

        * tao/any.cpp (operator<<=): initialized local "tc" to avoid compiler
          warnings.

        * tests/POA/On_Demand_Activation/Servant_Activator.cpp (etherealize),
          Servant_Locator.cpp (preinvoke,postinvoke):
          added some ACE_UNUSED_ARG's.

        * TAO_IDL/Makefile,tao/Makefile: use CROSS-COMPILE flag instead of
          CHORUS, LYNXOS, and VXWORKS.  This allows us to add new cross-
          compile platforms without having to modify the TAO Makefiles.
          The new platform need only set the CROSS-COMPILE flag.

Sat Feb 21 00:31:20 1998  Chris Cleeland  <cleeland@lambada.cs.wustl.edu>

        * tao/connect.* (send_request): Modified to take an extra arg
        which specifies whether or not the request is a twoway, i.e.,
        whether or not it should enter a sub-event loop looking for a
        reply.

        * tao/giop.cpp (invoke): Changed to match signature of
        send_request.

        * tests/NestedUpcall/Reactor.idl: Added a oneway method to test
        nested upcalls with oneways.

        * tests/NestedUpcall/reactor_i.*: Added the oneway implementation.

        * tests/NestedUpcall/client.cpp: Made oneway invocation to test a
        problem that the nested upcall allowing ORB exhibited.  Thanks to
        Carlos for reporting this!

Fri Feb 20 14:40:28 1998  Chris Cleeland  <cleeland@lambada.cs.wustl.edu>

        * tao/connect.*: Extended TAO_Client_Connection_Handler to be run
        a sub-event loop while sending a request in order to handle nested
        upcalls.  A really cool side-effect of this is that if your
        application start out being a client but has servants too, it's
        really easy to get that up and running.  An example of this is
        shown in the new test, NestedUpcall.

        * tao/giop.cpp (invoke): Changed to call send_request on the
        client connection handler rather than TAO_GIOP.  This new
        send_request will handle nested upcalls (see above).

        * tao/giop.* (send_request): Changed signature so that the
        TAO_SVC_HANDLER* wasn't passed by reference.  This was totally
        unnecessary.

        * tao/{iioporb,orbobj}.* (string_to_object): Removed unnecessary
        'const' preceding CORBA::String.

Fri Feb 20 08:29:35 1998  David L. Levine  <levine@cs.wustl.edu>

        * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp (svc): added .in ()
          dereference to several objref uses.

        * orbsvcs/orbsvcs/Event/Memory_Pools.cpp: updated the
          ACE_TSS <ACE_Malloc<...> > template instantiation to use the
          ACE_LOCAL_MEMORY_POOL macro.

        * orbsvcs/orbsvcs/Event/Event_Channel.{h,cpp}
          (ACE_ES_{Con,Dis}junction_Group): added virtual destructors.

Thu Feb 19 12:54:50 1998  Alexander Babu Arulanthu  <alex@merengue.cs.wustl.edu>

        * orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp
        (create_initial_propertysetdef):  Assigned dummy return values in
        order to avoid Warnings.

        * orbsvcs/orbsvcs/Property/CosProeprtyService.idl file removed
        from here. It is supposed to be there in ./..

Thu Feb 19 12:49:49 1998  David L. Levine  <levine@cs.wustl.edu>

        * Makefile: build orbsvcs before tests.

        * tao/Makefile: set fakesvcconf on LynxOS.

        * TAO_IDL/Makefile: don't build the IDL compiler for
          Chorus, LynxOS, or VxWorks.

        * tao/orbobj.cpp: enhanced some printouts.

        * tao/tao_util.cpp (orb): added .in () dereference to orb_ argument.

Thu Feb 19 10:15:00 1998  Michael Kircher <mk1@cs.wustl.edu>
        * orbsvcs/test/Simulator: Set the file permissions right.

Thu Feb 19 10:15:00 1998  Michael Kircher <mk1@cs.wustl.edu>
        * orbsvcs/test/Simulator:
          Intruduced new demo, using the Event Service as transport
          media for monitoring events.
          See orbsvcs/test/Simulator/README for more information

          in orbsvcs/tests/Simulator:
             NavWeap.idl - IDL definition of the Navigation and Weapons struct
             ss - restart services script

          in orbsvcs/tests/Simulator/Event_Supplier:
             Event_Sup.cpp - Event Supplier
             Event_Sup.h   - Event Supplier class definition
             Makefile      - Event Supplier Makefile
             (Event_Con.cpp, Event_Con.h - Event Consumer for testing)
             svc.conf - helper file

          in orbsvcs/tests/Simulator/Sim_Display:
            Display.java  - Simulation
            Display_Client.java - Main Entry point of the Simulation
            Display_Consumer.java - Event Consumer
            Display_Object.java - Interface for an Display_Object
            Display_Weapons.java - Implementation of an Display_Object
            Display_Art_Horizon.java - Implementation of an Display_Object
            Display_Object_Factory.java - Factory Object for Display_Objects
            Graph.java - Simulation
            Graph_Panel.java - Simulation
            NS_Resolve.java - Resolving the inital reference to the Naming Service
            Queue.java - Simulation
            Sim_Panel.java - Simulation
            Border_Panel.java - Simulation


Wed Feb 18 22:15:06 1998  Sumedh Mungee  <sumedh@cs.wustl.edu>

        * tao/tao_util.cpp,h: Updated class to include a constructor so
        user can supply his own orb, poa or manager.

Wed Feb 18 21:40:24 1998    <coryan@MILONGA>

        * docs/orbsvcs.html:
          Updated the description of orbsvcs directory hierarchy.

Wed Feb 18 19:45:57 1998  Alexander Babu Arulanthu  <alex@merengue.cs.wustl.edu>

        * Added the idl file for the CosPropertyService , i.e.
        orbsvcs/orbsvcs/Property/CosPropertyService.idl

Wed Feb 18 17:56:54 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * orbsvcs:
          Moved all the implementations to the orbsvcs libraries, this is
          the first step to give the user control over object
          collocation.
          Please note that this version is only known to compile on
          Solaris/CC, it will *not* compile on NT (some "export" macros
          are missing); since this change is very disruptive (because it
          moves files around) it was thought that holding it for a long
          time will result in more harm than good.
          A top-level make onTAO_ROOT/orbsvcs works OK.

Wed Feb 18 17:10:23 1998  Sumedh Mungee  <sumedh@cs.wustl.edu>

        * tao/tao_util.cpp (init): The ORB_Manager class does not create
        it's own POA, but uses the default root POA instead.

Wed Feb 18 16:02:34 1998  Alexander Babu Arulanthu  <alex@merengue.cs.wustl.edu>

        * Commented and indented the follwing files in orbsvcs/orbsvcs/
          CosPropertyService.idl
          CosPropertyService_i.h
          CosPropertyService_i.cpp

Wed Feb 18 12:28:58 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tests/Thruput/TAO/tmplinst.cpp:
          The templates should be instantiated over the CORBA:: typedefs,
          otherwise they fail in weird platforms.

Wed Feb 18 11:57:24 1998  Chris Cleeland  <cleeland@merengue.cs.wustl.edu>

        * tests/Cubit/TAO/MT_Cubit/Makefile (LDLIBS): Removed -lposix4
        from the LDLIBS.  Thanks to Bob Olson <olson@mcs.anl.gov> for
        reporting this.

Wed Feb 18 02:58:40 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * orbsvcs/Naming_Service/Naming_Service.cpp (IOR_Multicast): Make
          sure that response_addr_ is properly initialized before it is
          used to initialize response_, which is an ACE_SOCK_Dgram.

Tue Feb 17 20:20:35 1998  Douglas C. Schmidt  <schmidt@flamenco.cs.wustl.edu>

        * tao/giop.cpp: Removed an extra explicit template instantiation
          of TAO_Unbounded_Sequence<TAO_GIOP_ServiceContext>.  Thanks to
          Ben Eng <ben@jetpen.com> for reporting this!

        * tests/Thruput/TAO/Makefile: Removed the "clean" macro since it
          was conflicting with the TAO default.

Tue Feb 17 21:47:41 1998  Nagarajan Surendran  <naga@tango.cs.wustl.edu>

        * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp (shutdown): Renamed please_exit
        method to shutdown.

        * tests/Cubit/TAO/IDL_Cubit/cubit.idl: Renamed please_exit operation to
        shutdown.

Tue Feb 17 17:22:47 1998  Chris Cleeland  <cleeland@cs.wustl.edu>

        * TAO version 0.1.4, released Tue Feb 17 17:22:47 1998.

Tue Feb 17 16:50:20 1998  Chris Cleeland  <cleeland@cs.wustl.edu>

        * tao/orbobj.cpp (open): Modified so that if it's been called
        multiple times it returns '1' rather than '-1', thus not appearing
        to calling code as an error.

Tue Feb 17 16:05:55 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * orbsvcs/orbsvcs/orbsvcs.dsp: Chris G. updated the file list of
          this project.

        * orbsvcs/orbsvcs/Time_Utilities.h:
        * orbsvcs/orbsvcs/Event_Utilities.h: Added MS keayword,
          TAO_ORBSVCS_Export.

        * tests/Cubit/TAO/IDL_Cubit/client.dsp:
        * tests/Cubit/TAO/IDL_Cubit/server.dsp: Updated project setting to
          take the advantage of TAO naming service.

        * orbsvcs/tests/Event_Latency/Event_Latency.dsp: Updated project
          setting to use DLL version of orbsvcs.

Tue Feb 17 15:39:49 1998  Sergio Flores  <sergio@tango.cs.wustl.edu>

        * tests/Cubit/TAO/MT_Cubit/Makefile:
        * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp:
        * tests/Cubit/TAO/MT_Cubit/Task_Client.h::
        * tests/Cubit/TAO/MT_Cubit/client.cpp:
        * tests/Cubit/TAO/MT_Cubit/cubit.idl:
        * tests/Cubit/TAO/MT_Cubit/cubit_i.cpp:
        * tests/Cubit/TAO/MT_Cubit/cubit_i.h:
        * tests/Cubit/TAO/MT_Cubit/server.cpp:
        * tests/Cubit/TAO/MT_Cubit/server.h: Made a bunch of changes to
        correctly support the POA.  In addition, MT_Cubit now uses the
        Name Service to bind the Cubit objects.  In case the Name Service
        doesn't exist, there is still the "cut&paste" ior method that uses
        a cubit factory to give the client a reference to the cubit
        objects.

Tue Feb 17 13:25:52 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * TAO-INSTALL.html: Added instructions on using the CPP_LOCATION
          environment variable in NT's section.  You can also use it on
          UNIX but NT is the only platform which depends on it.

Tue Feb 17 11:30:53 1998  David L. Levine  <levine@cs.wustl.edu>

        * tao/orbconf.h: set TAO_ALIGNMENT_MAGIC_NUMBER to 128 if
          ACE_SIZEOF_LONG > 4, e.g., on 64-bit CPUs.

        * tao/except.cpp (make_standard_typecode): replaced unsigned long/
          long with CORBA::ULong/CORBA::Long.

        * TAO_IDL/ast/ast_array.cpp,ast_operation.cpp,ast_sequence.cpp,
          ast_string.cpp,
          TAO_IDL/util/utl_decllist.cpp,utl_exceptlist.cpp,utl_exprlist.cpp,
          utl_idlist.cpp,utl_labellist.cpp,utl_namelist.cpp,utl_strlist.cpp:
          moved base class initialization to beginning of initializer list.

Tue Feb 17 10:43:45 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * orbsvcs/orbsvcs/CosTimeBase.idl:
        * orbsvcs/orbsvcs/Time_Utilities.cpp:
        * orbsvcs/orbsvcs/Time_Utilities.h:
        * orbsvcs/orbsvcs/Time_Utilities.i:
          Added the standard CORBA types for time, also added some helper
          routines to convert between BasicTime::TimeT and the common
          representations of time in ACE (ACE_Time_Value and ACE_hrtime_t)

        * orbsvcs/orbsvcs/RtecEventComm.idl:
        * orbsvcs/orbsvcs/RtecScheduler.idl:
        * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp:
        * orbsvcs/tests/Event_Latency/Event_Latency.cpp:
        * orbsvcs/Event_Service/ReactorTask.cpp:
        * orbsvcs/Event_Service/Task_Manager.cpp:
        * orbsvcs/Scheduling_Service/Config_Scheduler.cpp:
        * orbsvcs/Scheduling_Service/Config_Scheduler.h:
        * orbsvcs/Scheduling_Service/Scheduler.cpp:
        * orbsvcs/orbsvcs/Channel_Clients_T.i:
        * orbsvcs/orbsvcs/Event_Service_Constants.h:
        * orbsvcs/orbsvcs/Event_Utilities.i:
        * orbsvcs/orbsvcs/Runtime_Scheduler.cpp:
        * orbsvcs/orbsvcs/Runtime_Scheduler.h:
        * orbsvcs/Event_Service/Dispatching_Modules.cpp:
        * orbsvcs/Event_Service/Event_Channel.cpp:
          Adapted all the code to use the new time structures.

        * orbsvcs/orbsvcs/Makefile:
        * orbsvcs/tests/EC_Multiple/Makefile:
        * orbsvcs/tests/Event_Latency/Makefile:
        * orbsvcs/tests/Logger/Makefile:
        * orbsvcs/tests/Simple_Naming/Makefile:
        * orbsvcs/Event_Service/Makefile:
        * orbsvcs/Naming_Service/Makefile:
        * orbsvcs/Scheduling_Service/Makefile:
        * orbsvcs/Dump_Schedule/Makefile:
          Updated dependencies.

        * docs/releasenotes/ec.html:
          Updated documentation for this release.

Tue Feb 17 07:40:49 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * tao/any.cpp: Added a "return *this" to operator= to stop certain
          compilers from complaining.  Thanks to Andy for fixing this.

Tue Feb 17 04:08:11 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * TAO_IDL/driver/drv_preproc.cpp (DRV_cpp_init): Setting the
          CPP_PATH has been causing a lot of nasty trouble on NT.  I
          changed this function to allow overwriting the internal c++
          compiler location at run time using CPP_LOCATION.  If someone
          forgets to set the CPP_PATH when compiling tao_idl, one can
          make tao_idl work by defining this environment variable to
          something like:

             set CPP_LOCATION="C:/Program Files/DevStudio/VC/BIN/CL.exe"

          Notice that CPP_LOCATION _must_ be a full pathname of the c++
          compiler.

Tue Feb 17 00:56:08 1998  Alexander Babu Arulanthu  <alex@merengue.cs.wustl.edu>

        * orbsvcs/tests/CosPropertyService/main.cpp (main): Added some
        more testing for Any in and out of Hash Table.

Mon Feb 16 18:01:23 1998  Chris Cleeland  <cleeland@cs.wustl.edu>

        * TAO version 0.1.3, released Mon Feb 16 18:01:23 1998.

Mon Feb 16 18:00:15 1998  Chris Cleeland  <cleeland@cs.wustl.edu>

        * release.pl: Changed C++ comment leaders to Perl comment leaders.

Mon Feb 16 17:51:15 1998  Nagarajan Surendran  <naga@tango.cs.wustl.edu>

        * tests/Cubit/TAO/IDL_Cubit/svr.cpp : Added -s option to use the
        NamingService. Default doesn't use NamingService.

Mon Feb 16 17:38:15 1998  Chris Cleeland  <cleeland@cs.wustl.edu>

        * tao/iioporb.cpp: Made sure to count separators when allocating
        space for the IOR.  This corrected ABW errors in purify.

        * tao/connect.cpp: Explicitly set the buffer when being purified
        to avoid complaints.

Mon Feb 16 17:22:15 1998  Nagarajan Surendran  <naga@tango.cs.wustl.edu>

        * tests/Cubit/TAO/IDL_Cubit/Makefile: Changed LDFLAGS to link orbsvcs
        library.Now uses the Naming service.

        * tests/Cubit/TAO/IDL_Cubit/svr.cpp: Added code to register
        IDL_Cubit/cubit_factory name with the naming service.

        * tests/Cubit/TAO/IDL_Cubit/clnt.cpp: Added a -s flag to use the
        NamingService to resolve the cubit_factory flag. It still has the
        commandline IOR and -f ior_file options.

Mon Feb 16 13:29:31 1998  Brian Mendel <brian.r.mendel@boeing.com>

        * tao/poa.cpp: Added SCE_HAS_TEMPLATE_TYPEDEFS_CHAR guards
           around ACE_OS:strlen calls for WChar(s).
        * tao/default.bld, tao.bld: Update VxWorks GHS Build files.

Mon Feb 16 12:24:04 1998  Chris Cleeland  <cleeland@cs.wustl.edu>

        * tests/Cubit/TAO/IDL_Cubit/clnt.h (needed.): Added missing member
        variable.  Things now compile.

Mon Feb 16 10:18:25 1998  David L. Levine  <levine@cs.wustl.edu>

        * tao/poa.cpp (decode_string_to_sequence): moved declaration of
          local "i" outside of loop because it is used after the loop.

        * orbsvcs/Event_Service/RT_Task.cpp (synch_threads): try two
          fallback strategies if the task activiation fails:
          ACE_SCHED_OTHER scheduling class with requested priority, then
          ACE_SCHED_OTHER scheduling class with minimum thread priority.
          Thanks to Bob Olson <olson@mcs.anl.gov> for reporting the
          problem in Irix, which doesn't have a thread priority of 0
          with ACE_SCHED_OTHER.

        * tao/corbacom.h (CORBA_SEQUENCE): replaced CORBA::B_FALSE with 0
          because some compilers, such as egcs, can't handle its use before
          definition below in class CORBA.  Thanks to Todd Pack
          <todd@rwii.com> for reporting this.

        * tao/giop.cpp (TAO_GIOP_message_name): cast quotient of sizeof's
          to int to avoid signed/unsigned comparison.

        * tao/interp.cpp (calc_nested_size_and_alignment,private_size,
          private_alignment): qualified TC_KIND_COUNT with CORBA::,
          so that the file-scope TC_KIND_COUNT isn't used in the
          comparison.

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

        * TAO_IDL/be/be_array.cpp:
          The _free method was emitted in the .i file, but it was not
          declared inline. Thanks to Michael Kircher (mk1@cs.wustl.edu)
          for reporting this one.

Mon Feb 16 02:34:24 1998  Alexander Babu Arulanthu  <alex@merengue.cs.wustl.edu>

        * orbsvcs/orbsvcs/CosPropertyService_i.cpp: Defined some of the
        functions for the TAO_PropertySet class.

        * orbsvcs/orbsvcs/CosPropertyService_i.h: Defined the  classes for
        implementing the CosPropertyService for TAO.

        * orbsvcs/tests/CosPropertyService/Makefile:  Added this
        Makefile ( Makefile for making test program for the
        PropertyService )

        * orbsvcs/orbsvcs/CosProperty_Hash.cpp:  Added this file.

        * orbsvcs/orbsvcs/CosProperty_Hash.h (Table): Added this
        file. This contains  the classes for maintaining Hash Table for
        storing the PropertySets.

        * orbsvcs/tests/CosPropertyService/main.cpp (main): Added this
        test file for CosPropertyService


Sun Feb 15 20:12:00 1998  Chris Cleeland  <cleeland@tango.cs.wustl.edu>

        * tao/poa.{h,cpp}: Heavily modified several routines to correct
        problems with the notion of what, exactly, an object key really
        is.  Some were treating it as simply an octet sequence, others as
        a zero-terminated string (C-style), while others as a sequence of
        octets which must be terminated by a zero.

        Object keys and IDs are now stored canonically as opaque octet
        sequences, and two new conversion routines
        (encode_sequence_to_string and decode_string_to_sequence) have
        been created to convert between these octet sequences and C-style
        strings.

        * tao/iioporb.cpp (object_to_string): Modified to utilize the new
        encoding routines to convert from octet sequences to printable
        strings.

        * tao/{tao_internals,orbobj}.cpp: Added explicit inclusion of
        Object_Manager.h.

Sun Feb 15 16:15:49 1998  Nagarajan Surendran  <naga@tango.cs.wustl.edu>

        * tests/Param_Test/options.cpp (parse_args): Changed the -f option
        to read the servant-IOR from a file.

        * tests/Cubit/TAO/IDL_Cubit/clnt.cpp: Changed the -f
        <cubit_factory_key> to -f <cubit_factory_ior_file>. Reads the ior
        from that file.

        * tests/Cubit/TAO/IDL_Cubit/svr.cpp : Added -o <ior_output_file>
        option to output the cubit factory ior to a file.

Sat Feb 14 22:39:46 1998  Sergio Flores  <sergio@tango.cs.wustl.edu>

        * orbsvcs/tests/Logger/clnt.cpp (init): Added negative test case
        of name not found when calling the naming service' resolve()
        method.

Fri Feb 13 19:37:01 1998  Douglas C. Schmidt  <schmidt@flamenco.cs.wustl.edu>

        * tao/orbobj.cpp (resolve_name_service): Changed char buf[BUFSIZ]
          to char buf[ACE_MAX_DGRAM_SIZE] to make sure we don't overflow
          the buffer!

Fri Feb 13 18:18:54 1998  Sergio Flores  <sergio@polka.cs.wustl.edu>

        * tests/Makefile:
        * tests/Thruput/TAO/client.cpp:
        * tests/Thruput/TAO/Makefile:
        * tests/Thruput/TAO/server.cpp:
        * tests/Thruput/TAO/ttcp_i.cpp:
        * tests/Thruput/TAO/ttcp_i.h:
        * tests/Thruput/TAO/utils.cpp: Made changes to use the new POA.

Fri Feb 13 12:56:01 1998  David L. Levine  <levine@cs.wustl.edu>

        * release.pl: fixed typo, missing comma between chmod args.

Fri Feb 13 12:46:26 1998  David L. Levine  <levine@cs.wustl.edu>

        * TAO version 0.1.2, released Fri Feb 13 12:46:26 1998.

Thu Feb 12 21:09:22 1998  Sumedh Mungee  <sumedh@cs.wustl.edu>

        * orbsvcs/orbsvcs/AVStreams_i.{h,cpp}: Updated MMDevice and StreamCtrl

Thu Feb 12 20:55:48 1998  Sumedh Mungee  <sumedh@cs.wustl.edu>

        * tests/AVStreams/client,server: Updated to use the new StreamCtrl, MMDevice etc..

Thu Feb 12 11:06:48 1998  Chris Cleeland  <cleeland@tango.cs.wustl.edu>

        * tao/poaC.i (PortableServer): Moved POA::_nil() definition above
          many uses.

Thu Feb 12 10:21:47 1998  David L. Levine  <levine@cs.wustl.edu>

        * tests/TAO/Cubit/TAO/MT_Cubit/Task_Client.cpp (svc): added .in ()
          to objref and cb so that it will compile with g++.

        * tao/Makefile,xdr.{h,cpp},t-xdr.cpp,corba.h: removed xdr files
          because they're no longer used.

        * tao/encode.cpp,poa.{h,cpp},poaC.{h,cpp}: replaced wchar_t
          with CORBA::WChar.

        * TAO_IDL/ast/ast_generator.cpp,TAO_IDL/be/be_generator.cpp
          (create_wstring): use short instead of wchar_t if
          ACE_HAS_WCHAR_TYPEDEFS_CHAR.

        * TAO_IDL/be/be_array.cpp (tao_name): changed type of loop index
          "i" to unsigned int to avoid signed/unsigned comparison.

        * TAO_IDL/be/be_state_exception.cpp,be_state_structure.cpp (gen_code):
          added default case to switch statement, which sets "os" to 0, to
          avoid compiler warning about possible unitialized use.

        * tests/POA/Default_Servant/File_i.cpp (lseek): changed type
          of "result" to CORBA::Long to avoid signed/unsigned comparison
          with -1.  Cast it to CORBA::ULong on return.  Also, added a
          couple of ACE_UNUSED_ARG (env)'s.

        * tests/Param_Test/server.cpp (main): initialize local
          "param_test" to 0 to avoid warning about unitialized use.

        * orbsvcs/Scheduling_Service (compute_scheduling): added cast
          of impl->tasks () to RtecScheduler::handle_t to avoid signed/
          unsigned comparison.  Also, added a bunch of ACE_UNUSED_ARG (env)'s.

        * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp (EC_Proxy::push,
          Test_ECP::push): changed type of loop index "i" to u_int to
          avoid signed/unsigned comparison.  Also, added an
          ACE_UNUSED_ARG (env).

Wed Feb 11 11:20:34 1998  David L. Levine  <levine@cs.wustl.edu>

        * tao/iiopobj.h,stub.h (operator =): added return type to avoid
          compiler warning, and wrapped in ACE_UNIMPLEMENTED_FUNC.

        * tao/corbacom.h: rearranged LongLong typedefs so that they work
          with ACE_LACKS_LONGLONG_T.

        * tao/Timeprobe.cpp (print_times): divide by 1000u instead of 1000
          to allow overload resolution of ACE_U_LongLong::operator /.

        * tao/orb_core.cpp: removed break's after return's to avoid compiler
          warnings.

        * tao/typecode.cpp: wrapped some break and return statements with
          ACE_NOTREACHED to avoid compiler warnings.

        * tao/debug.cpp (use_debug_stream_to_get_rid_of_warning): changed
          to return debug_stream instead of (not) using it.  ghs warned that
          "controlling expression is constant" the way things were.

        * TAO_IDL/Makefile: added default_vxworks target to prevent make
          warning.

Tue Feb 10 17:39:13 1998  Chris Gill  <cdgill@cs.wustl.edu>

        * orbsvcs/Scheduling_Service/SchedEntry.cpp
          orbsvcs/Scheduling_Service/DynSched.{cpp,h}
          orbsvcs/Scheduling_Service/Strategy_Scheduler.{cpp,h} :

          fixes to priority assignment, timeline generation methods
          (fourth cut - timelines being generated)

Tue Feb 10 11:19:20 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp:
          Fixed several problems detected by SGI/C++ compiler.

Mon Feb  9 20:00:55 1998  Chris Gill  <cdgill@cs.wustl.edu>

        * orbsvcs/Scheduling_Service/SchedEntry.{cpp,h,i}
          orbsvcs/Scheduling_Service/DynSched.{cpp,h,i}
          orbsvcs/Scheduling_Service/Strategy_Scheduler.{cpp,h} :

          finished timeline coding, got a clean source compile
          (third cut - still a work in progress)


Mon Feb  9 12:59:29 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * orbsvcs/orbsvcs/RtecEventComm.idl:
        * orbsvcs/Event_Service/Event_Channel.cpp:
        * orbsvcs/Event_Service/Event_Channel.i:
        * orbsvcs/orbsvcs/Event_Utilities.cpp:
        * orbsvcs/orbsvcs/Event_Utilities.i:
        * orbsvcs/tests/Event_Latency/Event_Latency.cpp:
          Added comments to the EventComm module and a new field (ttl_:
          Time-to-Live) to the event data structure.

        * orbsvcs/orbsvcs/Channel_Clients_T.cpp:
        * orbsvcs/orbsvcs/Channel_Clients_T.h:
        * orbsvcs/orbsvcs/Channel_Clients_T.i:
          I finally needed the TIE classes for PushConsumers and
          PushSupplier, they work OK now.

        * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp:
        * orbsvcs/tests/EC_Multiple/EC_Multiple.h:
        * orbsvcs/tests/EC_Multiple/README:
        * orbsvcs/tests/EC_Multiple/Makefile:
        * orbsvcs/tests/Makefile:
          Added a simple example on how to connect multiple event
          channels.

        * orbsvcs/Event_Service/Event_Service.cpp:
        * orbsvcs/Naming_Service/CosNaming_i.cpp:
          Added and/or fixed some debug messages.

        * orbsvcs/Scheduling_Service/Config_Scheduler.cpp:
          Reduce default output level.

        * tao/corba.h:
          Fixed TAO_RETHROW_RETURN macro.

        * docs/releasenotes/ec.html:
        * docs/releasenotes/index.html:
          Split the Event Channel release notes to a separate file, the
          index.html was growing without control.

Mon Feb  9 09:15:08 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * docs/releasenotes/orbcore.html:
          Fixed reference to TAO-Install.html, thanks to Sreedharani
          <dharani@sutmyn.com> for reporting this one.

Sun Feb 08 21:41:24 1998  David L. Levine  <levine@cs.wustl.edu>

        * tao_util.cpp (run): added return 0 statement at end.

Sun Feb  8 19:48:33 1998  Chris Gill  <cdgill@cs.wustl.edu>

        * orbsvcs/Scheduling_Service/SchedEntry.{cpp,h,i} : Moved the
          Classes for the various scheduling entries out of the
          ACE_Scheduler class and into a separate set of files
          (first cut - still a work in progress)

        * orbsvcs/Scheduling_Service/DynSched.{cpp,h,i} : Completed
          merges of dispatches, and a thorough review of priority
          assignment (second cut - still a work in progress)

        * orbsvcs/Scheduling_Service/Strategy_Scheduler.{cpp,h} :
          Completed merges of dispatches, and a thorough review of the
          modified strategies (second cut - still a work in progress)

Fri Feb  6 15:31:17 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * TAO_IDL/be/be_array.cpp:
          Fixed several problems with the array code generation,
          including:
          + The name for the array TypeCode and its alias TypeCode were
            clashing.
          + Several inconsistencies in the declaration and definition of
            operations for _var, _out and _forany parameters.
          Thanks to James Mason <jmason2@mdc.com> for reporting this.

        * TAO_IDL/be/be_type.cpp:
          Increased the buffer size for some names to the "standard"
          NAMEBUFSIZE.

        * docs/releasenotes/orbcore.html:
          The "Last Updated" field is set by CVS now.

        * tao/interp.cpp:
        * tao/encode.cpp:
          Removed obsolete comments.

Wed Feb  4 12:30:43 1998  Chris Cleeland  <cleeland@tango.cs.wustl.edu>

        * tao/objkeyC.h: Modified so that the namespace mapping for the
        TAO module uses the alternative "underbar" mapping, i.e., rather
        than TAO::ObjectKey, it's now TAO_ObjectKey.  The scoping
        operation is now performed in tao.h.

        * tao/tao.h: This now contains a class (used as a namespace) in
        which components which *should* be in the TAO:: namespace are
        typedef'd.

        * tao/tao_util.*: Moved TAO_ORB_Manager into here.

        * tao/stub.h:
        * tao/servant_base.cpp:
        * tao/poa.h:
        * tao/poa.cpp:
        * tao/orbobj.h:
        * tao/orbobj.cpp:
        * tao/orb_core.h:
        * tao/orb_core.cpp:
        * tao/object.h:
        * tao/object.cpp:
        * tao/iiopobj.h:
        * tao/iiopobj.cpp:
        * tao/corba.h:
        Changed references of TAO::ObjectKey to TAO_ObjectKey.

        * tao/Makefile: Adjusted build tao_util.so rather than tao.so.

Mon Feb  2 22:51:03 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * rules.tao.GNU (TAO_IDLFLAGS):
        * orbsvcs/orbsvcs/Makefile (TAO_IDLFLAGS): Changed IDLFLAGS to
          TAO_IDLFLAGS to avoid naming conflict with IDLFLAGS for other
          IDL compilers.

Mon Feb  2 21:41:32 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * orbsvcs/orbsvcs/Makefile: Added Win32 IDL flags for portability.

Mon Feb 02 18:50:19 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * orbsvcs/orbsvcs/Scheduler_Factory.h: Added the
          TAO_ORBSVCS_Export directive to class Scheduler_Factory.

        * TAO_IDL/GenExportH.BAT: New Windows batch file which generate
          an header file with approriate exporting flags defined.  See
          this file for details.

        * orbsvcs/orbsvcs_export.h:  New file that defines the Export
          directives for Win32.  Generated by GenExportH.BAT in TAO_IDL/.

        * orbsvcs/orbsvcs/orbsvcs.dsw: Added new project file for DLL
          version of orbsvcs library.

        * orbsvcs/orbsvcs/orbsvcs.dsp: New project file for DLL version of
          orbsvcs library.

        * orbsvcs/orbsvcs/orbsvcs_lib.dsp:  Changed the tao_idl custom
          build commands so it builds files for both LIB and DLL
          libraries.

        * orbsvcs/orbsvcs.dsw:
        * orbsvcs/Dump_Schedule/Dump_Schedule.dsp:
        * orbsvcs/Event_Service/Event_Service.dsp:
        * orbsvcs/Naming_Service/Naming_Service.dsp:
        * orbsvcs/Scheduling_Service/Scheduling_Service.dsp: Changed to
          use DLL version of orbsvcs library.

Mon Feb  2 18:08:21 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/sequence_T.cpp:
          Fixed problems in memory reallocation for
          TAO_Unbounded_Sequence<T>::operator=().

Mon Feb  2 13:47:23 1998  Sumedh Mungee  <sumedh@cs.wustl.edu>

        * tao/Makefile: Renamed tao_util to tao. Ditto for the .h and .cpp
        files. Also renamed the TAO_Util::ORB_Manager class to TAO_ORB_Manager.

Mon Feb  2 13:47:01 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * TAO_IDL/be/be_visitor_args.cpp:
          Fixed the mapping for strings as INOUT parameters.

Mon Feb 02 08:59:57 1998  David L. Levine  <levine@cs.wustl.edu>

        * tao/tao_util.cpp (init): added .in () to poa_object in call to
          _narrow, so that it will compile with g++.

        * orbsvcs/tests/Logger/Makefile,
          orbsvcs/orbsvcs/Makefile,
          tests/POA/FindPOA/Makefile,
          tests/POA/{Default,Generic}_Servant/Makefile,
          tests/POA/NewPOA/Makefile,
          tests/Cubit/TAO/{IDL,MT}_Cubit/Makefile,
          tests/Param_Test/Makefile,
          tests/Thruput/TAO/Makefile:
          inserted (or moved) TAO_ROOT definition to top of file.

Sat Jan 31 01:08:19 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * docs/releasenotes/index.html:
          The IDL compiler has support for NT DLLs already, I moved the
          tiem from the "issues" to the "new features" list.

        * docs/index.html:
        * docs/compiler.html:
          Added documentation for TAO IDL compiler behavior and options.

        * TAO_IDL/be/be_init.cpp:
          Print a reasonable version for the compiler back-end, it is no
          longer the Sun example BE and the version is (around 0.1.0).

Fri Jan 30 16:27:47 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO version 0.1.1, released Fri Jan 30 16:27:47 1998.

Fri Jan 30 15:35:06 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * TAO_IDL/be/be_args.cpp:
        * TAO_IDL/be/be_array.cpp:
        * TAO_IDL/be/be_codegen.cpp:
        * TAO_IDL/be/be_enum.cpp:
        * TAO_IDL/be/be_exception.cpp:
        * TAO_IDL/be/be_interface.cpp:
        * TAO_IDL/be/be_interface_fwd.cpp:
        * TAO_IDL/be/be_module.cpp:
        * TAO_IDL/be/be_sequence.cpp:
        * TAO_IDL/be/be_structure.cpp:
        * TAO_IDL/be/be_typedef.cpp:
        * TAO_IDL/be/be_union.cpp:
        * TAO_IDL/be/be_visitor_interface.cpp:
        * TAO_IDL/be/be_visitor_sequence.cpp:
        * TAO_IDL/include/idl_global.h:
        * TAO_IDL/util/utl_global.cpp:
          Added support for export macros and a user defined include file,
          this was needed to support DLL's in NT.

        * tests/Cubit/TAO/IDL_Cubit/Makefile:
          Removed a broken test target; thanks to Michael Kircher
          <mk1@cec.wustl.edu>

Fri Jan 30 15:30:30 1998  Chris Gill  <cdgill@cs.wustl.edu>

        * orbsvcs/Scheduling_Service/DynSched.{cpp,h,i} : The Dynamic
          Scheduler Implementation (first cut - still a work in progress)

        * orbsvcs/Scheduling_Service/Strategy_Scheduler.{cpp,h,i} : The
          strategized scheduler subclass and the corresponding strategies
          (first cut - still a work in progress)

Fri Jan 30 15:10:01 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * README: Updated the documentation to reflect the latest changes
          to TAO.  Thanks to Hans Rohnert for noticing this.

Fri Jan 30 14:38:30 1998  Sumedh Mungee  <sumedh@cs.wustl.edu>

        * orbsvcs/orbsvcs/util.cpp : Added TAO_ORB_Manager, a simple
        helper class that does simple ORB and POA initialization and
        object activation etc.

        * orbsvcs/orbsvcs/util.h : Added file

Fri Jan 30 13:15:10 1998  Chris Cleeland  <cleeland@tango.cs.wustl.edu>

        * Makefile (RELEASE_FILES): Added rules.tao.GNU and taoconfig.mk
        to this...missing in release 0.1.0.  Thanks to Mark Boriack of
        SAIC for reporting this.

Fri Jan 30 11:55:38 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * orbsvcs/orbsvcs/orbsvcs_lib.dsp: Logging service was somehow
          missing from the library.

        * orbsvcs/tests/Logger/Logger.dsw:
        * orbsvcs/tests/Logger/{server,client}.dsp: Added new project file.

        * orbsvcs/tests/Logger/svr.cpp:
        * orbsvcs/tests/Logger/clnt.cpp:
        * orbsvcs/tests/Logger/logger_i.h:
        * orbsvcs/tests/Logger/logger_i.cpp: Changed <iostream.h> to
          "ace/streams.h".  We should always use "ace/streams.h".

Fri Jan 30 11:42:10 1998  Chris Cleeland  <cleeland@tango.cs.wustl.edu>

        * docs/releasenotes/orbcore.html: Updated to reflect
        characteristics of the latest release as well as what we have to
        look forwrd to.

        * announcement: Added this boilerplate for release announcement.
        Actually, it's a sciprt which can be piped to something like
        'mailx'.

Fri Jan 30 01:55:59 1998  Sergio Flores  <sergio@polka.cs.wustl.edu>

        * tests/Cubit/COOL/IDL_Cubit/README:
        * tests/Cubit/COOL/IDL_Cubit/Makefile:
        * tests/Cubit/COOL/IDL_Cubit/client.cpp:
        * tests/Cubit/COOL/IDL_Cubit/client.h:
        * tests/Cubit/COOL/IDL_Cubit/cubit.idl:
        * tests/Cubit/COOL/IDL_Cubit/cubit_i.cpp:
        * tests/Cubit/COOL/IDL_Cubit/cubit_i.h:
        * tests/Cubit/COOL/IDL_Cubit/server.cpp:
        * tests/Cubit/COOL/IDL_Cubit/tmplinst.cpp: Added test code for
        Chorus COOL ORB, for the IDL Cubit example.

        * tests/Thruput/COOL/README:
        * tests/Thruput/COOL/Makefile:
        * tests/Thruput/COOL/client.cpp:
        * tests/Thruput/COOL/server.cpp:
        * tests/Thruput/COOL/ttcp.idl:
        * tests/Thruput/COOL/ttcp_decl.h:
        * tests/Thruput/COOL/ttcp_i.cpp:
        * tests/Thruput/COOL/ttcp_i.h:
        * tests/Thruput/COOL/utils.cpp: Added test code for Chorus COOL
        ORB, for the Thruput example.

        * tests/Thruput/TAO/ttcp_decl.h: Make declarations of variables
        consistent with definition.  Changed srcDataSize from CORBA::ULong
        to unsigned long.

        * tests/Thruput/TAO/Makefile: Updated to use rules.tao.GNU.  and
        taoconfig.mk.  This was suggested by a change Carlos O'Ryan did to
        the long lost Thruput_test directory.

Thu Jan 29 23:10:05 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * orbsvcs/tests/Simple_Naming/clnt.cpp (CosNaming_Client):
          Reordered the constructor initializations to match the class
          definition.

Thu Jan 29 20:10:33 1998  Chris Cleeland  <cleeland@cs.wustl.edu>

        * TAO version 0.1.0, released Thu Jan 29 20:10:33 1998.

Thu Jan 29 15:58:01 1998  Chris Cleeland  <cleeland@tango.cs.wustl.edu>

        * tests/Param_Test/run_test: Allowed specification of the
        invocation style (sii vs. dii) using a shaell variable.

        * docs/releasenotes/{index,orbcore}.html: Updated to include some
        details regarding this release.  These files are behind the
        release, but I'm opting to get the release out and update these
        files ex post facto.

        * release.pl: Updated this script so that it can update different
        levels of the release version number based on the setting of the
        RELEASE_TYPE environment variable.

        * Makefile: Added release.chk to the list of files going into the
        release.  This file is our checklist for things that have been
        tested and work leading up to a release.  Check in here for
        details on how a test has worked on a platform.

        * tests/POA/FindPOA/FindPOA.cpp (main): Added missing double-quote
        in ACE_DEBUG().

Thu Jan 29 15:55:25 1998  Carlos O'Ryan  <coryan@macarena.cs.wustl.edu>

        * orbsvcs/tests/Logger/clnt.h:
        * orbsvcs/tests/Logger/clnt.cpp:
          We need to keep a reference to the ORB is some place.

Thu Jan 29 14:59:01 1998  Chris Cleeland  <cleeland@tango.cs.wustl.edu>

        * tests/POA/On_Demand_Activation/server.cpp:
        * tests/POA/Generic_Servant/MyFooServant.cpp:
        * tests/POA/Explicit_Activation/server.cpp:
        * tests/POA/Default_Servant/server.cpp:
        * tests/Cubit/TAO/MT_Cubit/server.cpp:
        _var's passed as pointers need to use the .in() method.

        * tests/Param_Test/run_test: Added a longer delay, changed port #,
        and made all output be prefaced by either "SERVER: " or
        "CLIENT(<type>): ".

        * tao/poa.cpp: Re-ordered member initializers to de-warn g++.

        * orbsvcs/Dump_Schedule/Dump_Schedule.cpp: _narrow needs to be
        passed a .in() from _vars (you get a lollipop if you understand
        that comment).

        * docs/poa_migration.html: Added this file to start the ball
        rolling.  Right now it's poorly-formatted and a rehash of some
        emails, but it will be refined and grow over time.

Thu Jan 29 12:33:30 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * orbsvcs/tests/Simple_Naming/clnt.cpp:
        * orbsvcs/tests/Simple_Naming/clnt.h:
          Simple Naming simply tries to locate the Naming Service, it is
          useful to test the TAO facilities (multicast, environment,
          command line) for that purpose.

        * orbsvcs/tests/Logger/clnt.cpp:
        * orbsvcs/tests/Logger/clnt.h:
          We do not attempt to use nested context unless requested by the
          user, the reason is that it is failing consistently right now.

Thu Jan 29 10:34:08 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * TAO_IDL/be/be_operation.cpp: Some bug fixes made in the pre-POA
        TAO version were accidentally overwritten during the POA to main
        branch merge. This has been fixed.

        * tao/{encode, decode}.cpp: Fixed the terrible alignment problems
        that we were having on VxWorks for marshaling structures. At this
        time, the fix has been made only to "structs". These problems were
        being caused because the C++ compiler on NT/VxWorks was laying out
        structures on a 4 byte aligned address. If a "double" is the very
        first field, it will allocate the double at the 4 byte aligned
        address even if a double is 8 byte aligned. The fix is to make
        sure that when we align, we must take into account the start
        address of the structure as well as the address at which the field
        is laid out.

Thu Jan 29 10:29:14 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * Makefile:
          Compile <tests> before <orbsvcs>, if the first one fails the
          second will sure fail also.

        * tests/Cubit/TAO/MT_Cubit/Makefile:
          Updated comments and reformated some unreadable things.

Wed Jan 28 15:35:37 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tests/Makefile:
        * tests/Cubit/Makefile:
          Fixed Makefiles so we can invoke the top level Makefile safely.

Wed Jan 28 13:45:16 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tests/POA/Default_Server/{client,server}.dsp: Updated project
          files.

        * tests/Cubit/TAO/MT_Cubit/client.dsp: Added CubitS.cpp to
          client.dsp.

        * tests/POA/Generic_Servant/{client,server}.dsp: Added idl
          compilation rules.

        * tests/Parem_Test/{client,server}.dsp: Updated idl file
          compilation rules.  Added Parem_TestS.cpp to client project.

Wed Jan 28 14:25:29 1998  Chris Cleeland  <cleeland@cs.wustl.edu>

        * tests/Param_Test/run_test: Updated to utilized the new '-o'
        option on the server side and for the clients to get the IOR from
        that file.

        * tests/Param_Test/server.cpp: Added '-o' option to specify the
        name of a file in which the server can deposit the IOR which the
        client should use.

        * tests/Param_Test/options.cpp: Updated the options string (forgot
        it last time through).

Wed Jan 28 13:56:07 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tests/POA/Makefile:
        * tests/POA/Default_Servant/Default_Servant.dsw:
        * tests/POA/Default_Servant/File.idl:
        * tests/POA/Default_Servant/File_i.cpp:
        * tests/POA/Default_Servant/File_i.h:
        * tests/POA/Default_Servant/Makefile:
        * tests/POA/Default_Servant/client.cpp:
        * tests/POA/Default_Servant/client.dsp:
        * tests/POA/Default_Servant/server.cpp:
        * tests/POA/Default_Servant/server.dsp:
        * tests/POA/Default_Servant/svc.conf:
          Added some missing tests that were in the POA branch.

Wed Jan 28 13:35:11 1998  Chris Cleeland  <cleeland@cs.wustl.edu>

        * tests/Param_Test/server.cpp: Changed so that the IOR is printed
        ALL the time.

        * tests/Param_Test/options.*: Updated to work with POA.  Got rid
        of host and port arguments and added an IOR argument.

        * tests/Param_Test/driver.*: Updated to work with POA.

        * tests/Cubit/TAO/IDL_Cubit/clnt.h: Added emacs mode setting at
        beginning.

        * tao/optable.h: Cleaned up some formatting in header file.

Wed Jan 28 13:19:55 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tests/Cubit/TAO/IDL_Cubit/README:
          Update README on how to run the test.

        * tests/Cubit/TAO/IDL_Cubit/svr.cpp:
          Print the IOR always, it is neded to run properly.


        * tests/Cubit/TAO/MT_Cubit/tmplinst.cpp:
        * tests/Cubit/TAO/IDL_Cubit/tmplinst.cpp:
          Instantiate on CORBA::Long instead of a plain long.

        * orbsvcs/tests/Logger/svr.cpp:
          Cosmetic changes on debug messages.

Wed Jan 28 11:20:38 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * orbsvcs/orbsvcs/Makefile:
        * orbsvcs/orbsvcs/Logger.idl:
        * orbsvcs/tests/Logger/Makefile:
        * orbsvcs/tests/Logger/logger.idl:
          Moved a prototype logger.idl to the orbsvcs library, eventually
          this will become a full blown service in the TAO architecture.

        * orbsvcs/tests/Logger/clnt.cpp:
        * orbsvcs/tests/Logger/clnt.h:
        * orbsvcs/tests/Logger/logger_i.cpp:
        * orbsvcs/tests/Logger/logger_i.h:
        * orbsvcs/tests/Logger/svr.cpp:
          Ported the experimental logging server to POA.

        * orbsvcs/Event_Service/Event_Service.cpp:
        * orbsvcs/Scheduling_Service/Scheduling_Service.cpp:
          Fixed minor problem with call using a _var as input parameter

Wed Jan 28 09:14:30 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tests/POA/Makefile:
          Fixed order in the DIRS variable, Generic_Servant goes first
          since it builds a library needed in some of the other tests.

        * tests/POA/On_Demand_Activation/Makefile:
        * tests/POA/Explicit_Activation/Makefile:
          Fixed order for libraries, -lserver uses -lTAO so it must go
          first.

        * orbsvcs/orbsvcs/Makefile:
          Another case of misplaced includes.


Tue Jan 27 17:29:11 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tests/Cubit/TAO/IDL_Cubit/Makefile:
          Reorder includes to avoid evil definition for the IDL compiler.

Tue Jan 27 16:16:11 1998  Chris Cleeland  <cleeland@cs.wustl.edu>

        * tests/Param_Test/server.cpp: Added ACE_UNUSED_ARG() inside the
        TAO_CATCH() macro scope to de-warn on g++.

        * tests/Param_Test/param_test_i.cpp (Param_Test_i::CTOR): Removed
        argument name to de-warn on g++.

        * tests/Cubit/TAO/IDL_Cubit/{svr,clnt}.cpp: Use in() method on
        _var class to explicitly get an _ptr.

        * tao/objtable.cpp (find): Changed conditional expression to not
        rely on implicit conversion from _var to _ptr type.

        * tao/giop.cpp: Updated "illegal message" error message to
        actually print out the type of the offending message.  This also
        caused the addition of a helper function--TAO_GIOP_message_name().

Tue Jan 27 15:06:28 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * TAO_IDL/Makefile:
        * TAO_IDL/be/Makefile:
        * orbsvcs/Dump_Schedule/Makefile:
        * orbsvcs/Event_Service/Makefile:
        * orbsvcs/Naming_Service/Makefile:
        * orbsvcs/Scheduling_Service/Makefile:
        * orbsvcs/orbsvcs/Makefile:
        * orbsvcs/tests/Event_Latency/Makefile:
        * orbsvcs/tests/Logger/Makefile:
        * orbsvcs/tests/Simple_Naming/Makefile:
        * tao/Makefile:
        * tests/Cubit/TAO/IDL_Cubit/Makefile:
        * tests/Cubit/TAO/MT_Cubit/Makefile:
        * tests/POA/Explicit_Activation/Makefile:
        * tests/POA/FindPOA/Makefile:
        * tests/POA/Generic_Servant/Makefile:
        * tests/POA/NewPOA/Makefile:
        * tests/POA/On_Demand_Activation/Makefile:
        * tests/POA/RootPOA/Makefile:
        * tests/Param_Test/Makefile:
          Updated dependencies, apparently they were not properly
          generated last time; they worked for Solaris/CC, but not in many
          other platforms.

        * orbsvcs/orbsvcs/Makefile:
        * orbsvcs/orbsvcs/tmplinst.cpp:
        * orbsvcs/orbsvcs/TAO_IDL_templates.cpp:
          It seems that tmplinst.cpp is becoming our standard for template
          instantiation files.

        * tao/poa.h:
          No need to include poa_T.h, it is not used in any place (yet),
          and it produces many warnings on IRIX machines.

        * orbsvcs/Dump_Schedule/Dump_Schedule.cpp:
          Use a _var for the output sequence of RT_Infos.

        * orbsvcs/tests/Event_Latency/Event_Latency.cpp:
          Fixed some misuses of _var, thanks to Chris Cleeland for
          bringing those to my attention.

        * release.pl:
          Added CVS id.

1998-01-27  Nagarajan Surendran  <naga@tango.cs.wustl.edu>

        * tests/POA/FindPOA:Added comments to all files
        * tests/POA/On_Demand_Activation: Added comments to all files
        * tests/POA/Generic_Servant: Added comments to all files

Mon Jan 26 21:29:24 1998  David L. Levine  <levine@cs.wustl.edu>

        * tao/compat/objbase.h: don't #define NOERROR on DIGITAL_UNIX,
          or on any other platform that already has it #defined.
          Thanks to Oliver Kellogg <Oliver.Kellogg@vs.dasa.de> for
          reporting this.

        * tao/corbacom.h: use ACE_INT32, etc., for defining Long, etc.

Mon Jan 26 16:15:18 1998  Chris Cleeland  <cleeland@cs.wustl.edu>

        * tao/giop.cpp (read_buffer): Modified this to detect ECONNRESET
        and report is as a normal EOF occurrence.  This will hopefully
        eliminate a disturbing (but innocuous) message on NT.  Thanks to
        Frank H. at SAIC for reporting this.

        * tests/Param_Test/run_test: Added this script to run the server
        and client with all arguments.

Mon Jan 26 16:02:51 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tests/Cubit/TAO/MT_Cubit/Makefile:
        * tests/Cubit/TAO/MT_Cubit/Task_Client.cpp:
        * tests/Cubit/TAO/MT_Cubit/cubit_i.cpp:
        * tests/Cubit/TAO/MT_Cubit/cubit_i.h:
        * tests/Cubit/TAO/MT_Cubit/server.cpp:
        * tests/Cubit/TAO/MT_Cubit/server.h:
          It compiles now, but it won't run.

Mon Jan 26 15:29:37 1998  Sumedh Mungee  <sumedh@cs.wustl.edu>

        * orbsvcs/tests/AVStreams/ (main):
        Added simple client/server to test AVStreams

Mon Jan 26 15:23:54 1998  Sumedh Mungee  <sumedh@cs.wustl.edu>

        * orbsvcs/orbsvcs/AVStreams_i.cpp:
        Added dummy implementation for VDev, MMDevice, and StreamEndPoint
        classes

Mon Jan 26 15:01:49 1998  Alexander Babu Arulanthu  <alex@merengue.cs.wustl.edu>

        * tests/POA/RootPOA.cpp: Added Comments

Mon Jan 26 14:31:46 1998  Sumedh Mungee  <sumedh@cs.wustl.edu>

        * tests/POA/FindPOA.cpp: Added CVS ID

Mon Jan 26 00:57:56 1998  Douglas C. Schmidt  <schmidt@tango.cs.wustl.edu>

        * tao/connect.cpp (open): Conditionally compile the code for
          TCP_NODELAY only if this macro is present.  Thanks to Edgar
          Villanueva <edgarvil@ix.netcom.com> for reporting this.

Sun Jan 25 14:30:04 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tests/Cubit/TAO/IDL_Cubit/client.dsp: Added a missing source.

        * tests/Cubit/TAO/IDL_Cubit/clnt.cpp (Cubit_Client): Changed to
          initialize Cubit_Client.cubit_key_ from heap.  It should use
          memory either from stack or heap, but never both.

Sat Jan 24 21:55:55 1998  Sumedh Mungee  <sumedh@cs.wustl.edu>

        * orbsvcs/orbsvcs/{AVStreams_i.h, AVStreams_i.cpp}:
          Made changes for new POA

Sat Jan 24 21:46:23 1998  Sumedh Mungee  <sumedh@cs.wustl.edu>

        * orbsvcs/orbsvcs/AVStreams.idl:
        Changed type key to be a string, rather than a sequence<octet>, which
        breaks tao_idl!

Sat Jan 24 21:01:00 1998    <coryan@MILONGA>

        * orbsvcs/Dump_Schedule/Dump_Schedule.cpp:
        * orbsvcs/Event_Service/Event_Service.cpp:
        * orbsvcs/Naming_Service/Naming_Service.cpp:
        * orbsvcs/Scheduling_Service/Scheduling_Service.cpp:
        * orbsvcs/tests/Event_Latency/Event_Latency.cpp:
          Fixed several minor error and sources of non-complaince.

        * TAO_IDL/tao_idl.dsp:
        * tao/TAO.dsp:
          CVS does not merge binary files properly.

Sat Jan 24 15:51:41 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/objtable.cpp:
          Another merge problem.

Sat Jan 24 11:20:42 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * Added latest changes by Irfan.

        Sat Jan 24 03:04:51 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tao/poa.cpp (id_to_reference): Reimplemented this method so that
          it does not use id_to_servant and servant_to_reference combo.
          This is necessary since id_to_reference may be used in a
          MULTI_ID mode.

        * tao/poaS: Added explicit copy and destroy to all collocated
          policies.  This will help avoid the inheritance via dominance
          warnings.

Sat Jan 24 11:08:28 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * TAO_IDL/be_include/be_visitor.h:
          The forward declaration of TAO_OutStream was missing; I guess it
          was some slopiness in the merge.

Sat Jan 24 10:30:40 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * The POA branch is merged back into the main trunk. For the
          record we reproduce the ChangeLog in the branch.

        * ============
        * ============ Start of POA branch changes.
        * ============

        Fri Jan 23 17:13:14 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * Merged changes from main_to_poa_merge_11 up to
          main_to_poa_merge_12

        Fri Jan 23 17:08:45 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * orbsvcs/Event_Service/Event_Channel.h:
        * orbsvcs/Event_Service/Event_Channel.i:
          Fixed problem with Event Channel, it was using _this
          unproperly.

        Fri Jan 23 16:49:19 1998  Chris Cleeland  <cleeland@cs.wustl.edu>

        * tests/Param_Test/{server.cpp,param_test_i.h,param_test_i.cpp}:
        Updated to compile with new POA.

        * tests/Param_Test/Makefile: Moved LDFLAGS up, included the
        rules.tao.GNU, and removed the dependencies which were causing me
        no end of grief.

        * tests/Cubit/TAO/IDL_Cubit/svr.cpp (main): Changed the check on
        return value from resolve_initial_references() to use the
        CORBA::is_nil() check.

        Fri Jan 23 16:43:12 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * orbsvcs/Dump_Schedule/Dump_Schedule.cpp:
        * orbsvcs/Event_Service/Event_Channel.cpp:
        * orbsvcs/Event_Service/Event_Channel.i:
        * orbsvcs/Event_Service/Event_Service.cpp:
        * orbsvcs/Naming_Service/CosNaming_i.cpp:
        * orbsvcs/Naming_Service/CosNaming_i.h:
        * orbsvcs/Naming_Service/Naming_Service.cpp:
        * orbsvcs/Scheduling_Service/Config_Scheduler.cpp:
        * orbsvcs/Scheduling_Service/Scheduling_Service.cpp:
        * orbsvcs/orbsvcs/Runtime_Scheduler.cpp:
        * orbsvcs/orbsvcs/Scheduler_Factory.cpp:
        * orbsvcs/tests/Event_Latency/Event_Latency.cpp:
        * orbsvcs/tests/Event_Latency/Event_Latency.h:
          "Ported" the orbsvcs and the Event_Latency test to POA, with
          little success though, things will compile and it seems that the
          Naming_Service and Scheduling_Services run properly, but
          Event_Service does not.
          We use a nested POA with "PERSISTENT" lifespan policy because it
          is easier to set an enviroment variable or command line to the
          NameService IOR.

        * tests/Cubit/TAO/IDL_Cubit/svr.cpp:
          Removed some extra (and unwanted) code.

        Fri Jan 23 14:47:18 1998  Chris Cleeland  <cleeland@cs.wustl.edu>

        * tests/POA/{FindPOA,RootPOA,NewPOA}/Makefile: Added
        -L$(TAO_ROOT)/tao to LDFLAGS.

        * tests/POA/NewPOA/NewPOA.cpp:
        * tests/POA/RootPOA/RootPOA.cpp:
        * tests/POA/FindPOA/FindPOA.cpp:
        Used the ::in() method as first argument to _narrow() calls.

        * tests/{Makefile,README}: Updated for new tests.

        * tao/poa.cpp: Added explicit template instantiations.

        Fri Jan 23 14:30:19 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/poa.h:
        * tao/poa.cpp:
        * tao/servant_base.cpp:
          _this() was using the object id for the current servant in *all*
          objects, now it only does so for the servant invoked.

        * tests/Cubit/TAO/IDL_Cubit/Makefile:
        * tests/Cubit/TAO/IDL_Cubit/clnt.cpp:
        * tests/Cubit/TAO/IDL_Cubit/clnt.h:
        * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp:
        * tests/Cubit/TAO/IDL_Cubit/cubit_i.h:
        * tests/Cubit/TAO/IDL_Cubit/svr.cpp:
          Ported the Cubit test to POA, including some funky persistent
          policies to simplify its use.

        Sat Jan 24 01:24:24 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tao/poa.cpp (destroy_i): Changed etherealize objects to correct
          report remaining_activations.

        Fri Jan 23 10:55:40 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/objtable.cpp:
          Linear object tables were not using the initial size to
          pre-allocate a buffer.

        * TAO_IDL/be/be_interface.cpp:
        * TAO_IDL/be/be_state_argument.cpp:
          Fixed the mapping for native as OUT or INOUT parameters, also
          fixed the name for the _dispatch() method.

        Fri Jan 23 01:12:28 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tao/poaS.cpp: Added ACE_NESTED_CLASS macro to constructors.

        Thu Jan 22 23:57:31 1998  Chris Cleeland  <cleeland@tango.cs.wustl.edu>

        * tao/poa.cpp (wstring_to_ObjectId): Stuck the CORBA::WChar type
        in parens for sizeof...g++ likes it better that way.

        Fri Jan 23 00:14:03 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tao/poa:

          - Added support for transient and persistent POAs by changing
            the ObjectKey.  From now on, each key will contain an
            identifier that will indicate whether the key came from a
            persistent or transient POA.  That way the dispatch method can
            decide the value of the activate_it flag while finding the
            POA.  If the key is from a persistent POA, the activate_it
            flag will be true, else the flag will be set to false.

          - All operations on the parent POA will check for a valid parent
            before executing the call.  Remember that the RootPOA does not
            have a parent POA.

          - Temporarily added export macros to the POA implementation
            classes, so that the implementations can directly be debugged
            (rather than going through the stubs/skeletons).  These should
            be removed once the debugging process is over.

          - Moved the registeration of the POA with its manager from the
            create_POA method to the POA constructor.  This is to insure
            that the registration of the RootPOA is not "missed" since the
            RootPOA is not created via the create_POA call.  Similarly,
            moved the removal of the POA from its manager from the destroy
            method to the POA destructor.

          - TAO_POA::delete_child and TAO_POA_Manager::remove_poa were
            changed such that when the object is closing down, we are
            currently iterating over our poa collection and there is not
            need to remove the item from our collection.

          - Changed use of substr from starting_at/ending_at to
            starting_at/now_many.

          - Methods that return duplicated values/objects, must first be
            assigned to a _var variable before being used.  This will
            avoid memory leaks.

          - For find methods, always use != -1 for success.

          - Added code to create_POA_i and find_POA_i_optimized to check
            when topmost_poa_name == this->name_.

          - Added the concept of creation time to a POA.  This way when a
            transient POA gets a object key from a previous incarnation,
            the OBJECT_NOT_EXISTS exception can be thrown.

          - Added a locator cookie field to TAO_POA_Current to keep track
            of the cookie produced by the servant locator.

          - Made all methods virtual.

          - Renamed active_object_table to active_object_map.

          - Added pre_invoke and post_invoke methods to setup the
            necessary state before doing the upcall to the servant.

          - Changed locate_servant to return 0 for success and -1 for
            failure instead of trying to return a servant.  This change is
            necessary since there may not be a servant available but there
            may be default servants or servant managers that could fill in
            for the servant.  Currently the locate_servant method takes an
            optimistic approach to return TRUE when the servant was not
            found but a default servant or servant manager was registered
            with the POA, hoping the default servant or servant manager
            will be able to fill in when the real request arrives.

          - Add a validity checks for POA policies.

          - Added support for servant managers (both servant locators and
            servant activators), default servants and DSI.

        * tao/poaC.h: Added DynamicImplementation class to the
          PortableServer.

        * tao/poaS: Changed dispatch to _dispatch.

        * tao/servant_base:

          - Added TAO_DynamicImplementation class
            (a.k.a. PortableServer::DynamicImplementation).  Users will
            inherit from this to implement DSI.

          - Added prefix _ to all methods names in the ServantBase class
            to avoid potential crashes with user specified method names.

          - Made TAO_POA a friend of ServantBase.

        * tao/connect.cpp (handle_locate): Changed to use latest version
          of TAO_POA::locate_servant.

        * tao/servant_base.cpp (_default_POA): Changed to use
          TAO_ORB_Core_instance()->root_poa() instead of
          TAO_ORB_Core_instance()->orb()->resolve_initial_references("RootPOA").

        * tao/poaC: Added string_to_ObjectId and ObjectId_to_string
          methods to PortableServer.

        * tao/poa.cpp (TAO_Adapter_Activator::unknown_adapter): Changed
          the implementation of this object so that it does not depend on
          being friends with the POA and the POAManager.  Initially, this
          was done to avoid recursive locks.  However, since user may want
          to write their own implementations, recursive locks were deemed
          necessary.

        * tao/default_server.cpp (create_poa_lock): Changed implementation
          to produce ACE_Recursive_Thread_Mutex instead of
          ACE_Thread_Mutex.

        * tests/POA/RootPOA/RootPOA.cpp (main) and
          tests/POA/NewPOA/NewPOA.cpp (main): Added code to destroy the
          rootPOA.  I am not sure this is the responsibility of the user
          to destroy the rootPOA since they never really created it.  The
          responsibility probably lies with the ORB, but since the spec
          seems neutral about this, it is ok for now.

        * tao/object.i (CORBA_Object::Release): We must delete the object
          when the parent_ refcount goes to zero.

        Thu Jan 22 16:56:32 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * TAO_IDL/be_include/be_interface.h:
        * TAO_IDL/be/be_interface.cpp:
        * TAO_IDL/be/be_visitor_interface.cpp:
          Fixed some relative name problems for the server header file.

        * TAO_IDL/be/be_visitor_sequence.cpp:
        * TAO_IDL/be/be_visitor_root.cpp:
        * TAO_IDL/be/be_visitor_args.cpp:
          Get rid of some "unused arg" warnings.

        Thu Jan 22 15:26:55 1998  Chris Cleeland  <cleeland@cs.wustl.edu>

        * tao/object.i: CORBA::Object --> CORBA_Object for internal stuff.

        * tao/object.i (CORBA_Object): Re-ordered member initialization to
        match declaration order.

        Thu Jan 22 14:40:01 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/corbacom.h:
          Fixed multiple definitions of ORB_var and ORB_out due to a
          simplistic merge.

        * TAO_IDL/be/be_interface.cpp:
          Generate _find() to locate operations; using just find() is not
          complaint.

        Thu Jan 22 10:40:13 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * Merged changes from main_to_poa_merge_10 up to
          main_to_poa_merge_11

        Wed Jan 21 17:35:20 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * TAO_IDL/be/be_visitor_interface.cpp:
          Generate CORBA_Object instead of CORBA::Object to keep NT
          happy.

        * TAO_IDL/be/be_visitor_args.cpp:
          Fixed mapping for strings as arguments, they should always be
          char*.

        Mon Jan 19 22:03:38 1998    <coryan@MILONGA>

        * tao/sequence_T.i:
          Object_Manager constructor was calling _duplicate(). That is not
          the right semantics, and produces a crash when working on an
          unitialized buffer.

        * tests/POA/NewPOA/NewPOA.cpp:
        * tests/POA/NewPOA/NewPOA.dsp:
          Fixed signed/unsigned warning.

        * tests/POA/NewPOA/NewPOA.dsp:
          Fixed missing options to find ACE.

        Mon Jan 19 16:36:22 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/iiopobj.h:
        * tao/iiopobj.cpp:
          Added a missed in action key() method to IIOP_Object.

        * tao/stub.h:
        * tao/objkeyC.h:
        * tao/object.h:
        * tao/object.cpp:
          Removed the non-complaint ObjectKey_ptr type.

        Mon Jan 19 16:19:28 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/deep_free.cpp:
          A reinterpret cast was dropping constness also, thanks to Irfan
          for pointing this one out.

        Mon Jan 19 15:36:10 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/sequence_T.i:
        * tao/sequence_T.cpp:
          The last merge was too smart, it kept some changes on this
          branch that should have gone away.

        Mon Jan 19 13:58:01 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * TAO_IDL/be/be_visitor_interface.cpp:
        * TAO_IDL/be/be_interface.cpp:
          Fixed operation table initialization, also called proper
          constructor for CORBA::Object in collocated classes.

        * tao/corba.h:
          More include reordering.

        * tao/servant_base.h:
          The operation table was not properly initialized.

        Mon Jan 19 11:28:47 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * Merged changes from main_to_poa_merge_9 up to
        main_to_poa_merge_10.

        Sun Jan 18 01:04:22 1998    <coryan@MILONGA>

        * TAO_IDL/be/be_attribute.cpp:
        * TAO_IDL/be/be_codegen.cpp:
        * TAO_IDL/be/be_interface.cpp:
        * TAO_IDL/be_include/be_interface.h:
        * tao/servant_base.h:
          Added support for collocation in the _narrow method, this
          required a complete implementation of _downcast() for each
          skeleton.

        Sat Jan 17 20:54:26 1998    <coryan@MILONGA>

        * TAO_IDL/be/be_attribute.cpp:
        * TAO_IDL/be/be_interface.cpp:
        * TAO_IDL/be/be_sequence.cpp:
        * TAO_IDL/be/be_visitor_interface.cpp:
        * TAO_IDL/be/be_visitor_sequence.cpp:
          More bug fixes in code generation for sequences, attributes,
          etc. Most of them were minor inconsitencies. Also fixed
          constructors for collocated classes on NT (working around MSVC++
          bug).

        * tao/servant_base.cpp:
        * tao/servant_base.h:
          Added default implementation for _downcast(), it just works if
          downcasting to "Object".

        * tao/sequence_T.cpp:
        * tao/sequence_T.h:
        * tao/sequence_T.i:
          Fixed some problems with managed sequences.

        Sat Jan 17 19:27:12 1998    <coryan@MILONGA>

        * tao/servant_base.h:
        * tao/servant_base.cpp:
          Added the new _is_a() method on TAO_ServantBase.

        * TAO_IDL/tao_idl.dsp:
        * TAO_IDL/be/be_interface.cpp:
        * TAO_IDL/be/be_string.cpp:
        * TAO_IDL/be/be_visitor_args.cpp:
        * TAO_IDL/be/be_visitor_interface.cpp:
        * TAO_IDL/be/be_visitor_sequence.cpp:
        * TAO_IDL/be_include/be_visitor.h:
        * TAO_IDL/be_include/be_visitor_args.h:
        * TAO_IDL/be_include/be_visitor_interface.h:
          Added a new _is_a to the generated servants, also implemented
          the _is_a method on the collocated classes by invoking that
          _is_a().
          Added support for attributes in collocated classes, thanks to
          Irfan for noticing this.

        Sat Jan 17 15:44:43 1998    <coryan@MILONGA>

        * tao/corba.h:
        * tao/iiopobj.cpp:
          Fixed undetected inconsistencies in the last merge.

        * tao/objkeyC.cpp:
        * tao/objkeyC.h:
        * tao/objkeyC.i:
          I regenrated from the IDL file to use the new sequences.

        Sat Jan 17 11:49:15 1998    <coryan@MILONGA>

        * Merged changes from main_to_poa_merge_8 to main_to_poa_merge_9.

        Sat Jan 17 00:45:59 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tests/POA: Added new tests: Explicit_Activation_POA_Ids and
          NewPOA.

        * tao/servant_base.h (TAO_ServantBase): Added a _downcast method
          that gets the servant with the correct vtable.  Also added a new
          class TAO_Local_ServantBase that overwrites _create_stub.
          TAO_Local_ServantBase::_create_stub uses a fake key and does not
          registration with the default POA.

        * tao/poaS.*: Added _downcast to the generated code. Also added
          attribute accessor methods.  Also updated constructors to
          explicitly initialize the virtual base class (CORBA::Object).

        * tao/poaC.h: Added TAO_Local_ServantBase to the PortableServer
          namespace as PortableServer::LocalServantBase.

        * tao/poaC.cpp (_narrow): Changed the implementation of _narrow to
          produce a collocated class when appropriate.

        * tao/poa.cpp (TAO_POA::create_*_policy): Made sure these methods
          return collocated classes and not implementation classes.

        * tao/poa.h (class TAO_POA_Policies): Added set methods to
          TAO_POA_Policies.

        * tao/orbobj.cpp (resolve_poa): Made sure that the RootPOA is
          created with the PortableServer::IMPLICIT_ACTIVATION policy.

        * tao/object: Added servant pointer and a collocated flag to
          object class.

        Fri Jan 16 03:27:30 1998  Irfan Pyarali  <irfan@cs.wustl.edu>

        * tao:

            BOA begone: CORBA::POA and all BOA related code has been
            removed from TAO.

            POA: Today the PortableServer and the POA were born in TAO.

        * tao/connect (handle_request): Changed handle_request to accept
          the TAO_GIOP_RequestHeader parameter by reference rather than by
          value.

        * tao/corba.h: Rearranged header to accommodate the new POA.

        * tao/corbacom.h (CORBA): Added typedefs for Object_var Object_out
          in the CORBA class.

        * tao/current: Absorbed all the POACurrent code into the poa.*
          files.

        * tao/iiopobj.cpp (operator==): Added comparison operator for
          TAO::ObjectKey.

        * tao/orbobj.cpp (resolve_poa_current and resolve_poa): Made sure
          that we return the colocated class and not the implementation
          class.

        * tao/orbobj.h (objref.): POA_init was deprecated.  Please use
          orb->resolve_initial_references ("RootPOA") instead.

        * tao/objtable.cpp (find): Change the use of auto_ptr(s) to deal
          correctly with explicit constructors.

        Thu Jan 15 17:27:26 1998  Chris Cleeland  <cleeland@cs.wustl.edu>

        * tao/orb_core.{h,i}: Added the poa_current() method and internal
        structure so that state is available to the POA and to the upcall.

        * tao/orbobj.{h,cpp}: Added resolve_poa_current() in order to
        return the POACurrent state context.  Added the "POACurrent" to
        one of the things for which resolve_initial_references() works.
        Changed resolve_poa() so that things can compile; the impl isn't
        correct but when the POA stuff gets committed, this will be
        changed accordingly.

        Tue Jan 13 12:15:54 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * TAO_IDL/be_include/be_operation.h:
        * TAO_IDL/be/be_operation.cpp:
        * TAO_IDL/be/be_state_operation.cpp:
          The stubs and skeletons for operations that have a "native"
          argument or return value simply "throw" a CORBA::MARSHAL
          exception; those methods cannot be called for remote objects.
          I also had to return something when an exception is raised and
          the return type is a "native", we choose to return 0 for lack of
          a better choice.

        Tue Jan 13 10:49:48 1998  Chris Cleeland  <cleeland@cs.wustl.edu>

        * tao/current.{i,cpp}: Added a first cut at implementations for
        the POA Current impl.

        Mon Jan 12 19:47:42 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/poa.h:
        * tao/poa.cpp:
          Added a _get_stub() method that encapsulates code common to all
          _this implementations.

        * TAO_IDL/be/be_interface.cpp:
        * TAO_IDL/be/be_visitor_interface.cpp:
          The _this() method implementation was changed to use the new
          _get_stub finally adding full support for the standard poa, some
          changes were required in the _tao_collocated classes and their
          constructors.

        * TAO_IDL/be_include/be_helper.h:
        * TAO_IDL/be/be_helper.cpp:
          Added "manipulators" to increase and decrement indentation
          level.

        Mon Jan 12 14:55:53 1998  Chris Cleeland  <cleeland@cs.wustl.edu>

        * tao/current.h (class TAO_POA_Current_Impl): Added this as the
        beginning of the implementation for the POA Current.  More to
        come...

        * tao/default_server.*: Added implementations of create_poa_lock()
        and create_poa_mgr_lock() to obtain their values from -ORBpoalock
        and -ORBpoamgrlock options, respectively, to the Default Server
        Strategy Factory specified in svc.conf.  Values for these are
        either "thread" or "null", which specify an ACE_Thread_Mutex or
        ACE_NULL_Mutex, respectively.

        * tao/server_factory.*: Added create_poa_lock() and
        create_poa_mgr_lock() to obtain locks for use in POA and POA
        Manager instances.

        Mon Jan 12 12:10:58 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/objtable.cpp:
          Fixed some problems with misused auto_ptr and dynamic cast that
          was taking away constness at the same time.

        Mon Jan 12 11:55:53 1998  Chris Cleeland  <cleeland@cs.wustl.edu>

        * tao/orbobj.cpp (resolve_poa): Added skeletal code to create root
        POAs using the resolve_initial_references() interface.  Irfan will
        fill in the correct code for actually creating the POA.

        Sun Jan 11 14:09:48 1998    <coryan@MILONGA>

        * orbsvcs/Dump_Schedule/Dump_Schedule.dsp:
        * orbsvcs/Event_Service/CORBA_Utils_T.cpp:
        * orbsvcs/Event_Service/Dispatching_Modules.cpp:
        * orbsvcs/Event_Service/Event_Channel.cpp:
        * orbsvcs/Event_Service/Event_Service.cpp:
        * orbsvcs/tests/Event_Latency/Event_Latency.cpp:
          Adapted so they compile with the new POA mapping.

        Sun Jan 11 11:33:36 1998    <coryan@MILONGA>

        * tao/connect.cpp:
          On this branch the find() method for POA's require a
          PortableServer::Servant parameter.

        * orbsvcs/Scheduling_Service/Scheduling_Service.cpp:
        * orbsvcs/Naming_Service/Naming_Service.cpp:
        * orbsvcs/Naming_Service/CosNaming_i.cpp:
          Modified to use the new POA mapping for servers.

        * TAO_IDL/tao_idl.dsp:
          Replaced the old drv_main.cpp with tao_idl.cpp.

        * orbsvcs/orbsvcs/orbsvcs_lib.dsp:
          The final library is not generated inside Debug and its name is
          orbsvcs.lib, not orbsvcs_lib.lib

        Sun Jan 11 10:55:04 CST 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * Merged changes from tag main_to_poa_merge_5 and
          main_to_poa_merge_6. This late merge is risky, needs complete
          validation before public release.

        Sat Jan 10 22:11:47 1998    <coryan@MILONGA>

        * TAO_IDL/be_include/be_interface.h:
        * TAO_IDL/be/be_interface.cpp:
        * TAO_IDL/be/be_visitor_interface.cpp:
          Work around bug in MSVC++ 5.0 wrt inheritance from nested
          classes and the constructor invocation.

        Sat Jan 10 19:21:18 1998    <coryan@MILONGA>

        * TAO_IDL/tao_idl.dsp:
        * TAO_IDL/be/be_interface.cpp:
        * TAO_IDL/be_include/be_interface.h:
        * tao/orb_core.cpp:
          Fixed some problems in the latest merges.

        Sat Jan 10 18:06:24 1998    <coryan@MILONGA>

        * Merged changes from tag main_to_poa_merge_7 and
          main_to_poa_merge_8.
          Resolved many conflicts in TAO_IDL due to similar changes in
          both branches.

        Sat Jan 10 16:57:42 1998    <coryan@MILONGA>

        * Merged changes from tag main_to_poa_merge_6 and
          main_to_poa_merge_7.

        Fri Jan  9 17:58:43 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * TAO_IDL/be/be_array.cpp:
        * TAO_IDL/be/be_decl.cpp:
        * TAO_IDL/be/be_enum.cpp:
        * TAO_IDL/be/be_enum_val.cpp:
        * TAO_IDL/be/be_exception.cpp:
        * TAO_IDL/be/be_expression.cpp:
        * TAO_IDL/be/be_interface.cpp:
        * TAO_IDL/be/be_interface_fwd.cpp:
        * TAO_IDL/be/be_module.cpp:
        * TAO_IDL/be/be_predefined_type.cpp:
        * TAO_IDL/be/be_root.cpp:
        * TAO_IDL/be/be_scope.cpp:
        * TAO_IDL/be/be_sequence.cpp:
        * TAO_IDL/be/be_string.cpp:
        * TAO_IDL/be/be_structure.cpp:
        * TAO_IDL/be/be_type.cpp:
        * TAO_IDL/be/be_typedef.cpp:
          Minor cosmetic changes to make the main trunk changes identic to
          the ones on this branch.

        Thu Jan  8 15:50:59 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * TAO_IDL/be/be_state_operation.cpp:
          Added support for native as return type.

        Thu Jan  8 13:20:11 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * TAO_IDL/ast/Makefile:
        * TAO_IDL/be/Makefile:
          Added ast_native and be_native to the list of files.

        * TAO_IDL/be_include/be_native.h:
        * TAO_IDL/be/be_native.cpp:
        * TAO_IDL/be_include/be_visitor.h:
        * TAO_IDL/be/be_visitor.cpp:
          Added support for visiting be_native.

        * TAO_IDL/be_include/be_visitor_args.h:
        * TAO_IDL/be/be_visitor_args.cpp:
          Added support for native and improved the implementation.

        * TAO_IDL/fe/y.tab.cpp:
          Removed some includes and pragmas that cause trouble on NT.

        * TAO_IDL/be/be_type.cpp:
          Print an error if the default implementation for write_as_return
          is called.

        Thu Jan  8 12:53:28 1998  Chris Cleeland  <cleeland@cs.wustl.edu>

        * tao/corbacom.i (wstring_dup): Added this, which simply calls
        wstring_copy().  Of course, I can't find any mention of EITHER of
        these functions in the 2.0 or 2.1 spec, but what good are wstrings
        if you can't make copies?  Plus, Irfan really wanted it.

        Wed Jan  7 15:09:47 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * TAO_IDL/fe/y.tab.cpp:
          This is the actual file generated from idl.yy, thanks to the
          "clone" scheme for building ACE it was lost in the previous
          commits.

        Wed Jan  7 14:17:14 1998  Chris Cleeland  <cleeland@cs.wustl.edu>

        * tao/orbobj.{h,cpp} (key_to_object): Changed signature so that
        it's more in line with what we really need.  This is okay because
        this method is not in the standard, so we can choose whatever we
        damn well please!

        Wed Jan  7 14:08:41 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * Merged changes from version main_to_poa_merge_4 and
          main_to_poa_merge_5.

        Tue Jan  6 17:35:44 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * TAO_IDL/be/be_visitor_interface.cpp:
          Added several fixes for mutiple inheritance, but still needs
          some work.

        Tue Jan  6 15:20:13 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/object.h:
        * tao/object.cpp:
          Removed obsolete methods, they were there to support upcalls on
          the server side, but now this is done on
          PortableServer::ServantBase.

        Tue Jan  6 14:46:27 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/poa.h:
        * TAO_IDL/be/be_interface.cpp:
        * TAO_IDL/be/be_visitor_interface.cpp:
          Added a _get_servant () method to the collocated classes, to
          obtain access to the underlying skeleton.

        Tue Jan  6 13:31:20 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/objtable.h:
        * tao/objtable.cpp:
          Fixed some problems with the PortableServer::ObjectId and
          PortableServer::Servant changes.

        * tao/poa.h:
        * TAO_IDL/be/be_interface.cpp:
          Added a method to get the interface repository name for a
          skeleton.

        * tao/encode.cpp:
          Fixed problem on object reference enconding.

        Mon Jan 05 23:41:59 1998    <coryan@MILONGA>

        * tao/objkeyC.cpp:
          The code for memory reallocation was missing, I added it back.

        * tao/iiopobj.cpp:
          Fixed bug in object key generation.

        * tao/poa.cpp:
          More debug messages when an object is missing.

        Mon Jan 05 17:46:00 1998    <coryan@MILONGA>

        * tao/connect.cpp:
        * tao/corba.h:
        * tao/corbacom.h:
        * tao/default_server.cpp:
        * tao/default_server.h:
        * tao/iiopobj.cpp:
        * tao/iiopobj.i:
        * tao/iioporb.cpp:
        * tao/orbobj.cpp:
        * tao/params.h:
        * tao/params.i:
        * tao/poa.cpp:
        * tao/poa.h:
        * tao/server_factory.cpp:
        * tao/server_factory.h:
          The ObjectId changes were "accepted for revision" by the POA
          committe, hence I'll commit them, they check them and then I'll
          have to make the changes they require ;-)
          The current scheme uses TAO::ObjectKey as a representation for
          sequence<octet>, this class is generated by the IDL compiler.
          The ORB core uses a typedef (TAO_opaque) for all its internal
          object keys; the current (and deprecated) POA uses ObjectId
          (another typedef on the same thing) as object identifiers.

        Mon Jan  5 13:06:19 1998  Carlos O'Ryan  <coryan@macarena.cs.wustl.edu>

        * Merged changes from revision main_to_poa_merge_3 up to revision
          main_to_poa_merge_4.

        Mon Jan 05 00:11:45 1998    <coryan@MILONGA>

        * tao/objtable.h:
        * tao/objtable.cpp:
          New Object Table interface, in preparation for the POA needs.

        Sat Jan 03 11:37:21 1998    <coryan@MILONGA>

        * TAO_IDL/be/be_visitor_args.cpp:
          Typedefs and predefined types where unproperly handled.

        Fri Jan  2 14:09:49 1998  Carlos O'Ryan  <coryan@macarena.cs.wustl.edu>

        * tests/Cubit/TAO/IDL_Cubit/clnt.cpp:
          Sequences work on Solaris, even Purify gives its "Houston it's a
          go", so I'm reinstating them.

        * tests/Cubit/TAO/IDL_Cubit/svr.cpp:
          Minor cosmetic changes.

        Fri Jan 02 08:31:32 1998    <coryan@MILONGA>

        * Merged changes from revision main_to_poa_merge_2 up to revision
          main_to_poa_merge_3.
          Had to disable sequence test from IDL_Cubit.

        Thu Jan 01 15:43:43 1998    <coryan@MILONGA>

        * TAO_IDL/be/be_interface.cpp:
        * TAO_IDL/be/be_visitor_interface.cpp:
          Generated code for collocations setup the "parent_" field
          properly.

        * tao/objkeyC.h:
        * tao/corbacom.h:
          Added export macros.

        * tao/objtable.cpp:
        * tao/objtable.h:
        * tao/poa.cpp:
        * tao/poa.h:
          Object table is based on servants now.

        * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp:
        * tests/Cubit/TAO/IDL_Cubit/server.dsp:
        * tests/Cubit/TAO/IDL_Cubit/svr.cpp:
          Fixed to use the new POA mapping.

        * TAO_IDL/tao_idl.dsp:
        * tao/TAO.dsp:
          Added the new files to the MSVC++ project.

        Tue Dec 30 16:38:42 1997  Carlos O'Ryan  <coryan@macarena.cs.wustl.edu>

        * More advances in code generation, it compiles and links now, but
          won't run.

        * TAO_IDL/be/be_array.cpp:
        * TAO_IDL/be/be_enum.cpp:
        * TAO_IDL/be/be_exception.cpp:
        * TAO_IDL/be/be_interface.cpp:
        * TAO_IDL/be/be_interface_fwd.cpp:
        * TAO_IDL/be/be_predefined_type.cpp:
        * TAO_IDL/be/be_sequence.cpp:
        * TAO_IDL/be/be_string.cpp:
        * TAO_IDL/be/be_structure.cpp:
        * TAO_IDL/be/be_type.cpp:
        * TAO_IDL/be/be_typedef.cpp:
        * TAO_IDL/be/be_union.cpp:
        * TAO_IDL/be/be_visitor_args.cpp:
        * TAO_IDL/be_include/be_array.h:
        * TAO_IDL/be_include/be_enum.h:
        * TAO_IDL/be_include/be_exception.h:
        * TAO_IDL/be_include/be_interface.h:
        * TAO_IDL/be_include/be_interface_fwd.h:
        * TAO_IDL/be_include/be_predefined_type.h:
        * TAO_IDL/be_include/be_sequence.h:
        * TAO_IDL/be_include/be_string.h:
        * TAO_IDL/be_include/be_structure.h:
        * TAO_IDL/be_include/be_type.h:
        * TAO_IDL/be_include/be_typedef.h:
        * TAO_IDL/be_include/be_union.h:
          Added methods to be_type to generate the return types; this
          time without any switches, just visitors and virtual
          dispatching.

        * tao/poa.cpp:
        * tao/poa.h:
          Added the methods to lookup operations, this are TAO specific
          and should have complaint names, but currently I just kept the
          old names to avoid a major breakdown.

        * TAO_IDL/ast/Makefile:
        * TAO_IDL/be/Makefile:
        * TAO_IDL/driver/Makefile:
        * TAO_IDL/fe/Makefile:
        * TAO_IDL/narrow/Makefile:
        * TAO_IDL/util/Makefile:
          Updated dependencies.

        * TAO_IDL/be/be_visitor_interface.cpp:
        * TAO_IDL/be_include/be_visitor_interface.h:
        * TAO_IDL/be/be_interface.cpp:
          Reverted some changes (code moved from be_interface.cpp into
          visitors) to avoid massive conflicts with Andy's changes.

        Tue Dec 30 11:07:06 1997  Chris Cleeland  <cleeland@cs.wustl.edu>

        * tao/orb_core.h (TAO_Resource_Factory): Corrected my "fat-finger"
        mistake for the return type of get_allocator ().

        Mon Dec 29 16:26:24 1997  Chris Cleeland  <cleeland@tango.cs.wustl.edu>

        * tao/orb_core.{h,cpp}: Added methods for the orb core allocator
        to the resource factory.

        Mon Dec 29 13:18:49 1997  Carlos O'Ryan  <coryan@macarena.cs.wustl.edu>

        * TAO_IDL/be/Makefile:
        * TAO_IDL/be/be_visitor.cpp:
        * TAO_IDL/be/be_visitor_args.cpp:
        * TAO_IDL/be/be_visitor_interface.cpp:
        * TAO_IDL/be_include/be_visitor.h:
        * TAO_IDL/be_include/be_visitor_args.h:
        * TAO_IDL/be_include/be_visitor_interface.h:
          Started implementation of the collocated class code generation,
          using the visitor pattern; hence the new be_visitor class and
          some examples of its use.

        * TAO_IDL/be_include/be_type.h:
        * TAO_IDL/be_include/be_typedef.h:
        * TAO_IDL/be/be_type.cpp:
        * TAO_IDL/be/be_typedef.cpp:
          Added method to obtain the node type for the most "unaliased"
          type though a typedef chain. This is needed in several points
          for code generation.

        * TAO_IDL/be/be_interface.cpp:
          Implemented the collocated class generation using visitors,
          ditto for (part of) the main class.

        * TAO_IDL/util/utl_identifier.cpp:
          Fixed memory deallocation problem. The string was copied using
          ACE_OS::strdup(), but deleted using operator delete[].

        * TAO_IDL/be/be_argument.cpp:
        * TAO_IDL/be/be_array.cpp:
        * TAO_IDL/be/be_attribute.cpp:
        * TAO_IDL/be/be_constant.cpp:
        * TAO_IDL/be/be_decl.cpp:
        * TAO_IDL/be/be_enum.cpp:
        * TAO_IDL/be/be_enum_val.cpp:
        * TAO_IDL/be/be_exception.cpp:
        * TAO_IDL/be/be_expression.cpp:
        * TAO_IDL/be/be_field.cpp:
        * TAO_IDL/be/be_interface.cpp:
        * TAO_IDL/be/be_interface_fwd.cpp:
        * TAO_IDL/be/be_module.cpp:
        * TAO_IDL/be/be_operation.cpp:
        * TAO_IDL/be/be_predefined_type.cpp:
        * TAO_IDL/be/be_root.cpp:
        * TAO_IDL/be/be_scope.cpp:
        * TAO_IDL/be/be_sequence.cpp:
        * TAO_IDL/be/be_string.cpp:
        * TAO_IDL/be/be_structure.cpp:
        * TAO_IDL/be/be_type.cpp:
        * TAO_IDL/be/be_typedef.cpp:
        * TAO_IDL/be/be_union.cpp:
        * TAO_IDL/be/be_union_branch.cpp:
        * TAO_IDL/be/be_union_label.cpp:
        * TAO_IDL/be_include/be.h:
        * TAO_IDL/be_include/be_argument.h:
        * TAO_IDL/be_include/be_array.h:
        * TAO_IDL/be_include/be_attribute.h:
        * TAO_IDL/be_include/be_constant.h:
        * TAO_IDL/be_include/be_decl.h:
        * TAO_IDL/be_include/be_enum.h:
        * TAO_IDL/be_include/be_enum_val.h:
        * TAO_IDL/be_include/be_exception.h:
        * TAO_IDL/be_include/be_expression.h:
        * TAO_IDL/be_include/be_field.h:
        * TAO_IDL/be_include/be_interface.h:
        * TAO_IDL/be_include/be_interface_fwd.h:
        * TAO_IDL/be_include/be_module.h:
        * TAO_IDL/be_include/be_operation.h:
        * TAO_IDL/be_include/be_predefined_type.h:
        * TAO_IDL/be_include/be_root.h:
        * TAO_IDL/be_include/be_scope.h:
        * TAO_IDL/be_include/be_sequence.h:
        * TAO_IDL/be_include/be_string.h:
        * TAO_IDL/be_include/be_structure.h:
        * TAO_IDL/be_include/be_type.h:
        * TAO_IDL/be_include/be_typedef.h:
        * TAO_IDL/be_include/be_union.h:
        * TAO_IDL/be_include/be_union_branch.h:
        * TAO_IDL/be_include/be_union_label.h:
          Added the accept() method for the vistor pattern
          implementation.

        Mon Dec 29 11:37:47 1997  Chris Cleeland  <cleeland@tango.cs.wustl.edu>

        * tests/Cubit/TAO/MT_Cubit/server/Makefile: Updated dependencies.

        Fri Dec 26 12:05:41 1997  Chris Cleeland  <cleeland@tango.cs.wustl.edu>

        * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp: Correctly modified the
        make_cubit() method to properly access the underlying object key.

        * tao/objkeyC.cpp: Added this crucial file that I somehow missed
        adding in the last round of changes.

        Wed Dec 24 15:50:38 1997  Chris Cleeland  <cleeland@tango.cs.wustl.edu>

        * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp: Removed non-standard
        reliance on underlying object key implementation.  It relied on
        the buffer being publicly-accessible, which is wrong.  However,
        I'm not sure that my interim fix is very "right" since it takes
        the address of operator[](0) to get to the underlying entire
        buffer.

        * tests/Cubit/TAO/{IDL_Cubit,MT_Cubit/{server,client}}/Makefile:
        Updated to use rules.tao.GNU.

        * tests/Thruput_test/Makefile: Updated to use rules.tao.GNU.

        * tao/orb.h: Removed unnecessary inclusions of object.h and
        corbacom.h from this file.

        * tao/objkeyC.{h,cpp}: Moved the inclusion of corba.h from the
        header to the implementation because of strange requirements of
        the orb core.  This means that this file CANNOT be used as
        generated by the IDL compiler.

        * tao/{orbobj,stub,object,iiopobj}.cpp: Updated to use the proper
        TAO::ObjectKey_ptr type.

        * tao/Makefile: Updated this after the recent merge that
        accidentally overrote some changes I'd made.

        * taoconfig.mk: Moved the implicit rule into rules.tao.GNU.

        * rules.tao.GNU: Added this file where rules specific to TAO can
        be collected.  Right now it just contains an implicit rule for
        executing the IDL compiler on .idl files.

        Tue Dec 23 12:00:38 1997  Carlos O'Ryan  <coryan@macarena.cs.wustl.edu>

        * TAO-INSTALL.html:
        * VERSION:
        * Benchmark/benchmark/Makefile:
        * TAO_IDL/be/be_array.cpp:
        * TAO_IDL/be/be_attribute.cpp:
        * TAO_IDL/be/be_codegen.cpp:
        * TAO_IDL/be/be_decl.cpp:
        * TAO_IDL/be/be_exception.cpp:
        * TAO_IDL/be/be_operation.cpp:
        * TAO_IDL/be/be_scope.cpp:
        * TAO_IDL/be/be_sequence.cpp:
        * TAO_IDL/be/be_state.cpp:
        * TAO_IDL/be/be_state_argument.cpp:
        * TAO_IDL/be/be_state_exception.cpp:
        * TAO_IDL/be/be_state_operation.cpp:
        * TAO_IDL/be/be_state_sequence.cpp:
        * TAO_IDL/be/be_state_structure.cpp:
        * TAO_IDL/be/be_state_typedef.cpp:
        * TAO_IDL/be/be_state_union.cpp:
        * TAO_IDL/be/be_type.cpp:
        * TAO_IDL/be/be_union.cpp:
        * TAO_IDL/be/be_union_branch.cpp:
        * TAO_IDL/be_include/be_array.h:
        * TAO_IDL/be_include/be_codegen.h:
        * TAO_IDL/be_include/be_decl.h:
        * TAO_IDL/be_include/be_scope.h:
        * TAO_IDL/be_include/be_sequence.h:
        * TAO_IDL/be_include/be_state.h:
        * TAO_IDL/narrow/narrow.cpp:
        * docs/Options.html:
        * docs/components.html:
        * docs/configurations.html:
        * docs/index.html:
        * docs/orbsvcs.html:
        * docs/releasenotes/index.html:
        * orbsvcs/README:
        * orbsvcs/Dump_Schedule/Dump_Schedule.cpp:
        * orbsvcs/Dump_Schedule/Makefile:
        * orbsvcs/Event_Service/Dispatching_Modules.cpp:
        * orbsvcs/Event_Service/Dispatching_Modules.i:
        * orbsvcs/Event_Service/Event_Channel.cpp:
        * orbsvcs/Event_Service/Event_Channel.i:
        * orbsvcs/Event_Service/Event_Service.cpp:
        * orbsvcs/Event_Service/Makefile:
        * orbsvcs/Event_Service/RT_Task.cpp:
        * orbsvcs/Event_Service/ReactorTask.cpp:
        * orbsvcs/Naming_Service/CosNaming_i.cpp:
        * orbsvcs/Naming_Service/Makefile:
        * orbsvcs/Scheduling_Service/Config_Scheduler.cpp:
        * orbsvcs/Scheduling_Service/Config_Scheduler.h:
        * orbsvcs/Scheduling_Service/Makefile:
        * orbsvcs/Scheduling_Service/Scheduling_Service.cpp:
        * orbsvcs/orbsvcs/Makefile:
        * orbsvcs/orbsvcs/RtecEventChannelAdmin.idl:
        * orbsvcs/orbsvcs/Runtime_Scheduler.cpp:
        * orbsvcs/orbsvcs/Runtime_Scheduler.h:
        * orbsvcs/orbsvcs/Scheduler_Factory.cpp:
        * orbsvcs/tests/Event_Latency/Event_Latency.cpp:
        * orbsvcs/tests/Event_Latency/Makefile:
        * orbsvcs/tests/Logger/Makefile:
        * orbsvcs/tests/Logger/clnt.cpp:
        * orbsvcs/tests/Simple_Naming/Makefile:
        * tao/Makefile:
        * tao/Timeprobe.cpp:
        * tao/corba.h:
        * tao/corbacom.cpp:
        * tao/deep_free.cpp:
        * tao/encode.cpp:
        * tao/except.cpp:
        * tao/except.h:
        * tao/giop.cpp:
        * tao/invoke.cpp:
        * tao/managed_types.cpp:
        * tao/managed_types.h:
        * tao/managed_types.i:
        * tao/object.i:
        * tao/orb_core.cpp:
        * tao/request.cpp:
        * tao/tao_internals.cpp:
        * tests/Cubit/TAO/IDL_Cubit/clnt.cpp:
        * tests/Cubit/TAO/IDL_Cubit/clnt.h:
        * tests/Cubit/TAO/MT_Cubit/client/Task_Client.cpp:
        * tests/Cubit/TAO/MT_Cubit/client/Task_Client.h:
        * tests/Cubit/TAO/MT_Cubit/client/client.cpp:
        * tests/Cubit/TAO/MT_Cubit/client/cubit.idl:
        * tests/Cubit/TAO/MT_Cubit/server/cubit.h:
        * tests/Cubit/TAO/MT_Cubit/server/cubit.idl:
        * tests/Cubit/TAO/MT_Cubit/server/cubit_i.cpp:
        * tests/Cubit/TAO/MT_Cubit/server/cubit_i.h:
        * tests/Cubit/TAO/MT_Cubit/server/method_db.i:
        * tests/Cubit/TAO/MT_Cubit/server/svr.cpp:
          Merged in the changes between revisions main_to_poa_merge_1 and
          main_to_poa_merge_2.
          The only conflicts were:
          + ChangeLog:
          removed all the main truck comments and added the one you are
          reading just now.
          + tests/Cubit/TAO/MT_Cubit/client/Makefile:
          + tests/Cubit/TAO/MT_Cubit/client/Makefile:
          Left the branch revision, it included the dependencies and had
          correct syntax.
          + tao/poa.cpp:
          CORBA_POA::handle_request was removed on the
          branch but modified on the main revision; keep it removed.

        Wed Dec 17 02:11:11 1997  Chris Cleeland  <cleeland@tango.cs.wustl.edu>

        * tao/poa.h:
        * tao/poa.cpp:
        * tao/orbobj.h:
        * tao/orbobj.cpp:
        * tao/objkeyC.i:
        * tao/objkeyC.h:
        * tao/object.h:
        * tao/iiopobj.h:
        * tao/iiopobj.cpp:
        * tao/decode.cpp:
        * tao/corbacom.h:
        * tao/corba.h:
        * tao/any.cpp:
        All affected by changes to support interfaces required by the new
        POA, specifically CORBA::Object::key() and
        CORBA::ORB::key_to_object().  It does not compile now, and seems
        as if it's simply an ordering problem of header files.

        Mon Dec 15 19:39:20 1997  Chris Cleeland  <cleeland@cs.wustl.edu>

        * TAO_IDL/be/Makefile:
        * TAO_IDL/be/be_codegen.cpp:
        * TAO_IDL/be/be_exception.cpp:
        * TAO_IDL/be/be_interface.cpp:
        * TAO_IDL/be/be_state.cpp:
        * TAO_IDL/be/be_state_attribute.cpp:
        * TAO_IDL/be/be_state_exception.cpp:
        * TAO_IDL/be/be_union_branch.cpp:
        * TAO_IDL/be_include/be_state.h:
        * docs/releasenotes/orbcore.html:
        * docs/releasenotes/index.html:
        * orbsvcs/Naming_Service.cpp:
        * tao/iiopobj.h:
        * tao/except.h:
        * tao/except.cpp: Merged in changes from the main trunk.

        * tests/Thruput_test/Makefile: Updated to use taoconfig.mk.

        Sat Dec 13 22:06:25 1997  Chris Cleeland  <cleeland@tango.cs.wustl.edu>

        * tao/poa.* (get_key): Removed this method, since it's
        unnecessary.

        * tao/objkey.idl: Added this file, which is the idl for an object
        key.

        * tao/iiopobj.*: Added some '@@' comments for Irfan.

        * tao/Makefile: Reworked this monstrositry a bit.

        Fri Dec 12 12:09:42 1997  Chris Cleeland  <cleeland@cs.wustl.edu>

        * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp: Changed to use
        CORBA::Object::key() rather than _get_name().

        * tests/Cubit/TAO/{DII_Cubit,IDL_Cubit,MT_Cubit}/Makefile: Updated
        to use taoconfig.mk.

        * tao/orb_core.i: Removed stray printf.

        * taoconfig.mk: Added this file which contains common
        configuration stuff for applications.

        Thu Dec 11 21:28:09 1997  Chris Cleeland  <cleeland@tango.cs.wustl.edu>

        * tao/poa.{h,cpp}: Moved handle_request to
        TAO_Server_Connection_Handler and moved create to
        CORBA::ORB::key_to_object.

        * tao/orbobj.{h,cpp}: Added key_to_object as a method to create an
        object reference from an object key and type id.  This code
        actually used to live in POA::create.

        * tao/object.h: Brief documentation twiddling, and renamed
        get_subclass to get_most_derived, which is hopefully more
        explicative.

        * tao/{object,iiopobj,stub}.{h,cpp}: Renamed _get_name to 'key'
        and have it return a TAO_ObjectKey_ptr rather than a const char*.

        * tao/corbacom.h: Added typedef for TAO_ObjectKey, which
        represents an object key in GIOP.

        * tao/connect.{h,cpp}: Moved handle_request from the POA into
        here, thereby helping confine IIOP-ness to the ORB Core and
        keeping the POA pristine.

        Thu Dec 11 22:18:52 1997  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * TAO_IDL/be/be_interface.cpp: Moved the code generation for the
        _var and _out classes before the actual class declaration, but
        after the forward declaration. This was necessary if any elements
        in the scope of the interface are defined to be of the same type
        as that interface. In such a situation those elements are defined
        to be of the _var type. Hence the declaration for _var and _out
        must precede the class declaration.

        Thu Dec 11 22:00:52 1997  Sergio Flores  <sergio@tango.cs.wustl.edu>

        * orbsvcs/Naming_Service/Naming_Service.cpp (main): Fixed a bug
        related to returning an empty string as the ior in the reply from
        the multicast request.

        Thu Dec 11 14:06:50 1997  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * TAO_IDL/be/{be_exception,be_state_exception}.cpp: Support for
        exceptions added. Added a new file called
        "be_state_exception.cpp".

        * TAO_IDL/be_include/be_state.h: Added a new singleton for
        be_state_exception.

        * TAO_IDL/be/be_state.cpp: Template instantiations for
        be_state_exception.

        * TAO/docs/releasenotes/index.html: Updated to include exception
        support.

        * TAO/tao/except.{h,cpp}: Moved the TypeCode member from the
        private section to the protected section so that derived classes
        can set it. Also, changed the variable from _type to type_ to
        stick to the ACE design standards.

        * ============
        * ============ End of POA branch changes.
        * ============

Fri Jan 23 10:29:17 1998  David L. Levine  <@cs.wustl.edu>

        * tao/deep_free.cpp (TAO_Marshal_Sequence::deep_free): added
          ACE_UNUSED_ARGs of dest and env.

        * TAO_IDL/fe/{Makefile,y.tab.cpp,y.tab.cpp.diff}: added patch to
          fix up y.tab.cpp to compile cleanly with g++.

        * TAO_IDL/fe/{Makefile,lex.yy,cpp,lex.yy.cpp.diff}: added patch to
          fix up lex.yy.cpp to compile cleanly with g++.

Thu Jan 22 18:18:07 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * orbsvcs/Event_Service/GPlot_File.{h,cpp}: Shuffled template
          instantiations and typedef's for ACE_Map_Manager around to
          eliminate compilation errors from g++.

Thu Jan 22 16:32:56 1998  Chris Cleeland  <cleeland@cs.wustl.edu>

        * tao/nvlist.cpp (is_nil): Fixed some return lines that were
        probably returning the wrong value by not enclosing a comparison
        in parens.  Fortunately we weren't really checking the return
        value on these, I suspect ;-) Thanks to Frederic Andres
        <andres@rd.nacsis.ac.jp> for turning this in.

Thu Jan 22 16:16:32 1998  Sumedh Mungee  <sumedh@cs.wustl.edu>

        * orbsvcs/orbsvcs/CosPropertyService_i.cpp, CosPropertyService_i.h, AVStreams_i.cpp, AVStreams_i.h:
        Added empty implementation files for AVStreams and propertyservice implementations

        * orbsvcs/orbsvcs/Makefile:
        Fixed the Makefile so that it will compile the AV related stuff
        only when run as `make av=1`.

Thu Jan 22 14:22:46 1998  Nanbor Wang  <nanbor@lindy.cs.wustl.edu>

        * orbsvcs_lib.dsp: Changed to use multithreaded libraries.

Thu Jan 22 14:20:13 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tests/Param_Test/{server,client}.dsp:  The project files
          somehow got messed up.

        * orbsvcs/orbsvcs_lib.dsp: Changed to use multithreaded
          libraries.

        * orbsvcs/Scheduling_Service/Scheduling_Service.dsp:  Removed
          unnecessary link-time libraries.

        * orbsvcs/Dump_Schedule/Dump_Schedule.dsp:  Changed to use
          multithreaded libraries.

Wed Jan 21 20:49:51 1998  Chris Cleeland  <cleeland@cs.wustl.edu>

        * TAO version 0.0.54, released Wed Jan 21 20:49:51 1998.

Wed Jan 21 19:38:02 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * tao/encode.cpp, decode.cpp: Fixed alignment problem. Done only
        in Marshal_Struct for the time being. Details of this fix will be
        inserted later.

Wed Jan 21 16:27:58 1998  Chris Cleeland  <cleeland@tango.cs.wustl.edu>

        * Makefile: Updated this to use the new release.pl file below.

        * release.pl: Added new script to take over some of the release
        work rather than having it all inline in the Makefile.

        * tests/Cubit/TAO/MT_Cubit/README: Changed docs to reflect the new
        names and command line requirements.

Wed Jan 21 15:38:52 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * orbsvcs/Event_Service/Makefile:
          Removed GPlot_File from the list, it does not compile on
          Solaris/g++, but it is not needed.

Wed Jan 21 11:48:19 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * tao/encode.cpp: Updated the ObjRef::encode routine to encode NUL
        object references

        * tests/Param_Test: Further improvements.

        * TAO_IDL/be/{be_state_attribute, be_attribute}.cpp: Solved the
        problem of return types. The stubs explicitly allocate the top
        level storage. A similar fix was made for "operations" mentioned
        in a previous ChangeLof entry.

Wed Jan 21 12:23:29 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tests/Cubit/TAO/MT_Cubit/Makefile:
          Fixed typo in object list for server and client.

Wed Jan 21 11:25:36 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tests/Param_Test/tmplinst.cpp:
          Removed extra ';' in instantiation pragma.

Wed Jan 21 11:13:56 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tests/Cubit/TAO/MT_Cubit/Makefile:
        * tests/Cubit/TAO/MT_Cubit/tmplinst.cpp:
        * tao/giop.cpp:
          Added missing template instantiations.

        * tao/sequence_T.h:
        * tao/sequence_T.i:
          No need to return const reference to pointer, a simple return
          by value (of the pointer) is OK.

Wed Jan 21 10:38:22 1998  Chris Cleeland  <cleeland@tango.cs.wustl.edu>

        * tests/Cubit/TAO/IDL_Cubit/clnt.cpp: Added template instantiation
        for Env_Value<unsigned short>.

        * tests/{Thruput/TAO,Param_Test,Cubit/TAO/IDL_Cubit}/Makefile:
        Added the appropriate tmplinst.* so that it gets built/linked.

        * tests/{Thruput/TAO,Param_Test,Cubit/TAO/IDL_Cubit}/tmplinst.cpp:
        Added this file, which contains explicit template instantiations
        for code generated by the IDL compiler.  Ideally, this file (or
        something like it) would be generated by the compiler, but we're
        just not there yet.  So, since it's not TOO much work, we do this.

Wed Jan 21 09:40:27 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/sequence.cpp:
        * tao/sequence_T.cpp:
          Fixed allocation problem for operator= in sequences, the new
          buffer should have size "rhs.maximum_", not "this->maximum_"

Wed Jan 21 04:43:57 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * tao/corbacom.h: Added Object_var and ORB_var to the CORBA class
        (i.e., to the namespace)

        * tao/sequence.cpp: Operator= for string sequence still had bugs
        where we were not allocating a larger buffer of the assigned
        quantity was larger than us. Similar bugs *might* be present in
        other sequence classes and I have not tested them yet.

Wed Jan 21 01:34:07 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tests/Cubit/TAO/MT_Cubit/{server,client}.cpp: Ifdef'ed out
          ACE_THR_PRIO_FIFO_DEF if it's not defined.

        * orbsvcs/Naming_Service/Naming_Service.cpp: We should use
          "ace/streams.h" to include iostream definition instead of using
          <iostream.h> directly.  It is not compatible with the new
          standard CPP libraries.

        * orbsvcs/Event_Service/Event_Service.dsp:
        * orbsvcs/Naming_Service/Naming_Service.dsp:
        * orbsvcs/Scheduling_Service/Scheduling_Service.dsp: It used the
          wrong libraries.

Tue Jan 20 22:59:42 1998  Chris Cleeland  <cleeland@tango.cs.wustl.edu>

        * tao/sequence_T.cpp: Fixed more typos where it was referring to
        the argument as 'seq' rather than the real name 'rhs'.

Tue Jan 20 22:38:10 1998    <coryan@MILONGA>

        * tests/Param_Test/tests.cpp:
          No need to call CORBA::string_free() on opname_, since it is a
          String_var

        * tao/sequence_T.cpp:
          Fixed typo in object sequences.

Tue Jan 20 21:53:52 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * orbsvcs/orbsvcs/Makefile:
        * orbsvcs/orbsvcs/TAO_IDL_templates.cpp:
          Added missing template instantiations, they go into their own
          file because I could not think of a "natural" place to put them.

Tue Jan 20 20:25:41 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/sequence.h:
        * tao/sequence.i:
        * tao/sequence.cpp:
        * tao/sequence_T.i:
        * tao/sequence_T.cpp:
          Another round of changes, this time fixing several bugs reported
          by Andy and Irfan.

Tue Jan 20 20:23:57 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/nvlist.h:
        * tao/nvlist.i:
          Fixed warnings for IRIX and follow the spec, use const methods
          but return non-const types!

Tue Jan 20 17:00:15 1998  Chris Cleeland  <cleeland@cs.wustl.edu>

        * tao/strategy_T.h: Added this file to contain template strategies
        such as TAO_Reactive_Strategy<>.

        * tao/default_server.*: Moved TAO_Reactive_Strategy<> into its own
        set of files.  Thanks to Bryan Mendel <brian.r.mendel@boeing.com>
        for suggesting this fix!

        * tao/sequence_T.cpp (operator =): Corrected a problem where T**
        was being assigned to T*.

        * tao/orb_core.cpp (init): Moved setting of stuff in orb_params()
        to be post-service initialization.  It needs to be this way
        because the ORB Parameters are now regulated by the resource
        factory settings, and that gets created during service
        initialization.

        * tao/giop.cpp: Changed the TAO_GIOP_LocateRequestHeader::init to
        be more efficient and not generate warnings on Irix.

        * tao/{giop,connect}.cpp: Update code that touches ORB-internal
        sequences to use the API of TAO_Unbounded_Sequence<> rather than
        the old crufty code.

        * tao/giop.h: Change ORB-internal sequences (such as the
        ServiceContextList) to use the new TAO_Unbounded_Sequence<>
        template rather than the deprecated CORBA_SEQUENCE<> hack.

Tue Jan 20 09:18:31 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * TAO/tao/interp.cpp: Used TAO_opaque to set the size of any
        generic sequence.

        * TAO_IDL/be/{be_operation,be_state_operation}.cpp: For return
        value of sequences, the stub now allocates the top level storage
        for the sequence class.

Tue Jan 20 05:34:16 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * TAO/tao/sequence.cpp: In the assignment operator for Unbounded
        string sequences, we had forgotten to update the max and length
        fields to that of the assigned sequence in the event of it being
        larger than ourselves. We had also forgottent o set our release
        flag to true as well as free the old buffer (if already our
        release flag was true). I have not checked if there are similar
        bugs in other "=" operators or not. But these will be evident as
        more tests are added to the Param_Test example.

Mon Jan 19 23:35:45 1998    <coryan@MILONGA>

        * tao/sequence_T.h:
        * tao/sequence_T.i:
        * tao/sequence_T.cpp:
          Finished suit of parametric classes for sequences, including
          bounded sequences of objects and strings.
          Fixed some more bugs in the Manager classes for sequences of
          objects.

Mon Jan 19 17:33:45 1998  Chris Cleeland  <cleeland@tango.cs.wustl.edu>

        * orbsvcs/tests/Simple_Naming/clnt.cpp (init): Changed the marker
        name for the naming service to "NameService" and fixed a bunch of
        places in init() where "1" was being returned instead of "-1".

        * tests/Cubit/TAO/IDL_Cubit/README: Fixed portion that talks about
        the IOR to use the correct default IOR.  Thanks to J Russell
        Noseworthy <j.russell.noseworthy@objectsciences.com> for catching
        this and submitting fixes!

Mon Jan 19 15:41:53 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * tests/Cubit/TAO/MT_Cubit/server.cpp (create_servants): Added a
          final return statement to avoid warnings.
          (ACE_THR_PRI_FIFO_DEF): This macro is not defined on NT.  I
          ifdef'ed the priority setting statement out temporarily until we
          figure out a way to map NT's thread priority values to pthread's
          priority values.

        * tests/Cubit/TAO/MT_Cubit/server.dsp: Updated project file.

        * tests/Cubit/TAO/IDL_Cubit/clnt.cpp (Cubit_Client): Changed the
          data type of <defport> to CORBA::UShort.

        * tests/Param_Test/options.{h,cpp} (portnum): Changed it to type
          CORBA::UShort.

        * tests/Param_Test/helper.cpp (gen_fixed_struct): Added
          parenthesis to avoid warnings.

        * tao/sequence.h (TAO_Unbounded_String_Sequence): Added TAO_Export
          to class TAO_Unbounded_String_Sequence.

Mon Jan 19 11:24:43 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/sequence_T.i:
          g++ does not like nested types in templates.

        * docs/releasenotes/index.html:
          Updated docs on services.

Sun Jan 18 21:33:21 1998    <coryan@MILONGA>

        * tao/sequence.h:
        * tao/sequence.i:
        * tao/sequence.cpp:
        * tao/sequence_T.h:
        * tao/sequence_T.i:
        * tao/sequence_T.cpp:
          Added new class for sequences of strings, the approach based on
          templates was not worth it.
          Also fixed a number of bugs in the unbounded object sequences.
          The following items are in the TODO list:
          + Bounded sequences of objects
          + Bounded sequences of strings.

        * TAO_IDL/be_include/be_helper.h:
        * TAO_IDL/be/be_helper.cpp:
          Addded small manipulators to indent and unindent an output
          stream.

        * TAO_IDL/be/be_visitor_sequence.cpp:
          Synch up with new classes for string and objects.

        * tests/Param_Test/tests.cpp:
          Fixed some problems with the test for sequences of variable
          sized structures.

        * orbsvcs/Event_Service/CORBA_Utils_T.cpp:
          Fixed unsigned/signed comparison.

Sun Jan 18 18:30:16 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * TAO/tests/Cubit/TAO/MT_Cubit/*.{dsp.MAK}:
        * TAO/tests/Param_Test/*.{dsp,MAK}:  Played with exported
          makefiles some more.  It's ultimately funny that when a project
          file has some customed build commands in it, the exported
          makefile sometime won't work correctly.

Sat Jan 17 23:41:33 1998  Nanbor Wang  <nanbor@cs.wustl.edu>

        * Added more MSVC makefiles in some test directories.

        * tests/Param_Test/{client,server}.dsp: Correct idl generated
          files' dependency.

Sat Jan 17 22:40:29 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * TAO/tao/orbobj.{h,i}: Added _var and _out for CORBA_ORB

Sat Jan 17 21:28:05 1998    <coryan@MILONGA>

        * tao/corba.h:
        * tao/corbacom.h:
          Moved the definition of TAO_opaque from corbacom.h to corba.h so
          it appears after the "sequence.h" file.

        * tao/sequence.h:
        * tao/sequence.cpp:
          Reorder includes to avoid "inline called before declared so"
          warning in g++.

        * tests/Cubit/TAO/MT_Cubit/server.cpp:
          The OA uses TAO_opaque instead of CORBA::OctetSeq.

Sat Jan 17 16:07:51 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * TAO_IDL/be/be_visitor_args.cpp:
        * TAO_IDL/be/be_visitor_interface.cpp:
        * TAO_IDL/be_include/be_visitor_args.h:
        * TAO_IDL/be_include/be_visitor_interface.h:
          New visitors to generate collocated classes (only used on the
          POA branch) and the arguments declaration.

Fri Jan 16 23:38:38 1998    <coryan@MILONGA>

        * tao/decode.cpp:
        * tao/deep_free.cpp:
        * tao/giop.h:
        * tao/iiopobj.cpp:
        * tao/sequence.h:
        * tao/sequence_T.h:
        * tao/sequence_T.cpp:
          Fixed some memory *deallocation* problems with sequences, they
          needed a _deallocate_buffer() method, not to implement the base
          class destructor, but to implement deep_free.

Fri Jan 16 18:01:03 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * The Event Service works on Solaris/SunCC again.

        * tao/poa.h:
        * tao/poa.cpp:
        * tao/objtable.h:
        * tao/objtable.cpp:
        * tao/connect.cpp:
          The object table, and POA use a real TAO_Unbounded_Sequence,
          removing some nasty casts.

        * tao/sequence_T.i:
        * tao/sequence_T.cpp:
          Fixed some memory allocation problems in operator=

        * TAO_IDL/be/be_interface.cpp:
          No need to cast the object key when calling POA::bind(), it
          takes a TAO_opaque now.

Thu Jan 15 17:15:29 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * TAO/TAO_IDL/be/be_interface.cpp:
        * TAO/tao/connect.cpp:
        * TAO/tao/corba.h:
        * TAO/tao/corbacom.cpp:
        * TAO/tao/corbacom.h:
        * TAO/tao/decode.cpp:
        * TAO/tao/encode.cpp:
        * TAO/tao/iiopobj.cpp:
        * TAO/tao/iiopobj.i:
        * TAO/tao/iioporb.cpp:
        * TAO/tao/poa.cpp:
          Now TAO_opaque is implemented using the new TAO_*_Sequence
          classes, this is needed because the demarshaller expects that
          class.   There are some other sequences in the ORB core that
          need the same change, but currently that is not so urgent.
          The object table expects a CORBA_SEQUENCE so some casting is
          still done among those classes and the new templates.  The POS
          branch already solved this, so I will wait until the merge to
          fix it.

        * TAO/tao/sequence_T.h:
        * TAO/tao/sequence_T.i:
        * TAO/tao/sequence_T.cpp:
          Now we include sequence_T.i in sequence_T.h, this is needed for
          template instantiation.
          The ACE_ASSERT for indices was comparing to the value of
          length_, it must compare with maximum_, it is possible that the
          user creates the sequence with enough space (thus maximum_ is
          properly set, but length_ is 0), then inserts some data and
          finally sets the length, with the previous asserts that would
          fail.

        * TAO/tao/Makefile:
        * TAO/TAO_IDL/*/Makefile:
        * TAO/orbsvcs/*/Makefile:
        * TAO/tests/Cubit/TAO/*/Makefile:
          Dependencies regenerated.

Wed Jan 14 23:10:13 1998    <coryan@MILONGA>

        * sequence.h:
        * sequence.i:
        * sequence.cpp:
        * sequence_T.h:
        * sequence_T.i:
          More generated and parametric code reduced, also fixed some
          problems  detected by MSVC++.

        * tao/TAO.dsp:
        * TAO_DL/tao_idl.dsp:
          Updated projects to include new files.

Wed Jan 14 21:03:18 1998  Carlos O'Ryan  <coryan@swarm.cs.wustl.edu>

        * sequence.h:
        * sequence.i:
        * sequence.cpp:
          Removed unused TAO_Unbounded_String class, it has been
          superseeded by
          TAO_Unbounded_Managed_String<char,TAO_String_Manager>.

        * sequence_T.h:
        * sequence_T.i:
          Managed sequences only need the const version of operator[],
          because they return a Manager by value.

Wed Jan 14 20:32:47 1998    <coryan@MILONGA>

        * tao/sequence_T.h:
          Fixed typo in base class for ACE_Bounded_Managed_Sequence.

Wed Jan 14 17:54:31 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * TAO_IDL/be_include/be_visitor_sequence.h:
        * TAO_IDL/be/be_visitor_sequence.cpp:
        * TAO_IDL/be/be_interpretive.cpp:
        * TAO_IDL/be/be_sequence.cpp:
          The compiler generates code using the new managed sequence
          parametric classes.
          Also handled typedefs correctly while generating sequence code
          specially template arguments and return types for operator[] in
          _var and _out classes.
          Simplified code generation for sequences of sequences: the
          generated typedefs can be used to instantiate the templates.
          Finally made some of the visitors more generic, so less
          knowledge on the stream files gets distributed.

        * tao/sequence.h:
        * tao/sequence.cpp:
        * tao/sequence_T.h:
        * tao/sequence_T.i:
        * tao/sequence_T.cpp:
          Re-implemented the Managed_Sequence classes using the "Manager"
          as a parameter instead of a nested type.
          Still requires some work because the sequences need privileged
          access (friend) to the Managers.

Tue Jan 13 15:55:32 1998  Chris Cleeland  <cleeland@cs.wustl.edu>

        * Makefile (INSTALL): Added a rule to build the INSTALL file from
        TAO-INSTALL.html.  Also added both TAO-INSTALL.html and INSTALL to
        the list of files included in the release.  TAO-INSTALL.html had
        not been included at all.

        * TAO-INSTALL.html: Updated some of the text in the Unix portion
        to be explicit regarding the need for GNU Make.

        * INSTALL: Added this file, which is the output of 'lynx -dump
        TAO-INSTALL.html'.

Mon Jan 12 20:04:32 1998  Sumedh Mungee  <sumedh@cs.wustl.edu>

        * tests/Cubit/TAO/MT_Cubit/server.cpp: Added comments

Mon Jan 12 17:29:44 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * TAO_IDL/be/be_codegen.cpp: Added initialization for an abstract
        visitor factory in the constructor and deletion in the
        destructor.

        Added code for the "make_visitor" factory method.

        * TAO_IDL/be/be_factory.cpp: Added destructor and constructor for
        abstract factory (*note* it is not pure abstract).

        * TAO_IDL/be/be_produce.cpp: We use the different visitors for the
        root to start code generation. At this time, we instantiate the
        visitor factory with the concrete factory of visitors which will
        generate stubs/skeletons  using TAO's interpretive marshaling
        engine.

        * TAO_IDL/be_be_sequence.cpp: Commented out a large part of code
        to enable visitors for sequences to take over code generation.

        * TAO_IDL/be/be_visitor.cpp: Abstract factory of visitors.

        * TAO_IDL/be/{be_visitor_root, be_visitor_sequence}.cpp: visitors
        for Root and Sequences respectively. be_visitor_sequence.cpp is a
        new file.

        * TAO_IDL/be_include/{be_codegen, be_visitor, be_visitor_root,
        be_visitor_sequence, be_factory, be_sequence}.h: Files affected
        due to introduction of visitors and visitor factory. Added a
        boolean "unbounded ()" method on sequences.

        * TAO/tao/{decode, encode}.cpp: Uses TAO_Base_Sequence instead of
        the hack of using CORBA_SEQUENCE<Octet>.

        * TAO/tao/{sequence, sequence_T}.{h,i,cpp}: Added large amount of
        code for bounded and unbounded sequences as well as the special
        cases for sequences of object references and strings, along with
        their managed types.

        * TAO/tests/Param_Test: Added tests for object references and
        sequence of variable structs. There are some problems with the
        generated code.

Sun Jan 11 11:15:35 1998  David L. Levine  <levine@cs.wustl.edu>

        * tao/sequence.i (TAO_Base_Sequence): reordered initializers to match
          declaration order.

        * tao/nvlist.h: changed AddRef and Release declarations to return
          CORBA::ULong instead of ULONG, to match their definitions.

Sat Jan 10 14:08:09 1998    <coryan@MILONGA>

        * TAO_IDL/be/be_array.cpp:
        * TAO_IDL/be/be_exception.cpp:
        * TAO_IDL/be/be_interface.cpp:
          We no longer generate names with CORBA_1 or CORBA_3 macros, but
          sometimes we cannot use the typedefs in CORBA:: because some
          weird MSVC++ features (bugs?).

Fri Jan 09 21:37:39 1998    <coryan@MILONGA>

        * TAO_IDL/be/be_typedef.cpp:
          Added missing accept() method for visitors.

        * orbsvcs/orbsvcs/Runtime_Scheduler.cpp:
          Fixed signed/unsigned warning.

        * orbsvcs/Naming_Service/CosNaming_i.cpp:
          Yet another fix for the namespace warnings.

        * orbsvcs/Dump_Schedule/Dump_Schedule.dsp:
        * orbsvcs/Event_Service/Event_Service.dsp:
        * orbsvcs/Naming_Service/Naming_Service.dsp:
        * orbsvcs/Scheduling_Service/Scheduling_Service.dsp:
        * orbsvcs/tests/Event_Latency/Event_Latency.dsp:
          Executables are not generated into the Debug subdirectory.

Fri Jan  9 20:49:41 1998  Sergio Flores  <sergio@polka.cs.wustl.edu>

        * orbsvcs/Naming_Service/CosNaming_i.cpp: Fixed some code dealing
        with Warning (Anachronism) messages.

Fri Jan  9 19:04:10 1998  Nanbor Wang  <nw1@cs.wustl.edu>

        * tao/orbobj.cpp: Moved template instantiation codes around to
          eliminate compilation errors.

Fri Jan  9 17:49:55 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * tao/Makefile:
        * tao/corba.h:
        * tao/corbacom.h:
        * tao/sequence.cpp:
        * tao/sequence.h:
        * tao/sequence.i:
        * tao/sequence_T.cpp:
        * tao/sequence_T.h:
        * tao/sequence_T.i:
          Added the new TAO_Base_Sequence class and its parametric
          children (TAO_Bounded_Sequence and TAO_Unbounded_Sequence). This
          classes will be used in the implementation of all the IDL
          sequences, thus providing the interpreter with a base class to
          manipulate them.

        * orbsvcs/Scheduling_Service/Scheduler.cpp:
          Fixed some instantiation problems.

        * TAO_IDL/be/Makefile:
        * TAO_IDL/be/be_argument.cpp:
        * TAO_IDL/be/be_array.cpp:
        * TAO_IDL/be/be_attribute.cpp:
        * TAO_IDL/be/be_constant.cpp:
        * TAO_IDL/be/be_decl.cpp:
        * TAO_IDL/be/be_enum.cpp:
        * TAO_IDL/be/be_enum_val.cpp:
        * TAO_IDL/be/be_exception.cpp:
        * TAO_IDL/be/be_expression.cpp:
        * TAO_IDL/be/be_field.cpp:
        * TAO_IDL/be/be_interface.cpp:
        * TAO_IDL/be/be_interface_fwd.cpp:
        * TAO_IDL/be/be_module.cpp:
        * TAO_IDL/be/be_native.cpp:
        * TAO_IDL/be/be_operation.cpp:
        * TAO_IDL/be/be_predefined_type.cpp:
        * TAO_IDL/be/be_root.cpp:
        * TAO_IDL/be/be_scope.cpp:
        * TAO_IDL/be/be_sequence.cpp:
        * TAO_IDL/be/be_string.cpp:
        * TAO_IDL/be/be_structure.cpp:
        * TAO_IDL/be/be_type.cpp:
        * TAO_IDL/be/be_union.cpp:
        * TAO_IDL/be/be_union_branch.cpp:
        * TAO_IDL/be/be_union_label.cpp:
        * TAO_IDL/be/be_visitor.cpp:
        * TAO_IDL/be/be_visitor_root.cpp:
        * TAO_IDL/be_include/be.h:
        * TAO_IDL/be_include/be_argument.h:
        * TAO_IDL/be_include/be_array.h:
        * TAO_IDL/be_include/be_attribute.h:
        * TAO_IDL/be_include/be_constant.h:
        * TAO_IDL/be_include/be_decl.h:
        * TAO_IDL/be_include/be_enum.h:
        * TAO_IDL/be_include/be_enum_val.h:
        * TAO_IDL/be_include/be_exception.h:
        * TAO_IDL/be_include/be_expression.h:
        * TAO_IDL/be_include/be_field.h:
        * TAO_IDL/be_include/be_interface.h:
        * TAO_IDL/be_include/be_interface_fwd.h:
        * TAO_IDL/be_include/be_module.h:
        * TAO_IDL/be_include/be_native.h:
        * TAO_IDL/be_include/be_operation.h:
        * TAO_IDL/be_include/be_predefined_type.h:
        * TAO_IDL/be_include/be_root.h:
        * TAO_IDL/be_include/be_scope.h:
        * TAO_IDL/be_include/be_sequence.h:
        * TAO_IDL/be_include/be_string.h:
        * TAO_IDL/be_include/be_structure.h:
        * TAO_IDL/be_include/be_type.h:
        * TAO_IDL/be_include/be_typedef.h:
        * TAO_IDL/be_include/be_union.h:
        * TAO_IDL/be_include/be_union_branch.h:
        * TAO_IDL/be_include/be_union_label.h:
        * TAO_IDL/be_include/be_visitor.h:
        * TAO_IDL/be_include/be_visitor_root.h:
          Added visitors from the poa branch into the main trunk.

Fri Jan  9 16:17:37 1998  Chris Cleeland  <cleeland@cs.wustl.edu>

        * tao/orb_core.*: Changed ORB parameters, OA parameters, and the
        endpoint address to be switchable btw. global and tss resources.
        I also cleaned up the redundant accessor methods by using macros
        to define them.  Thanks to Keith Nicewarner <knicewar@sanders.com>
        for his bug reports which led to this solution.

        * tao/orbobj.cpp (run,perform_work): Added code to set the
        Reactor's owner to the current thread prior to calling
        handle_events().  Thanks to Keith Nicewarner
        <knicewar@sanders.com> for his bug reports which led to this
        solution.

Fri Jan  9 16:00:21 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * TAO_IDL/be/be_interface.cpp: Removed a Release statement that
        was getting generated in the _narrow method

        * TAO_IDL/be/{be_state_argument, be_state_operation}.cpp: All
        typedefed strings are handled as if they are strings.

Fri Jan 09 12:29:55 1998    <coryan@CHA-CHA>

        * tao/default_server.cpp:
          Fixed missing initialization for object_lookup_strategy_

Fri Jan  9 12:17:02 1998  Carlos O'Ryan  <coryan@swarm.cs.wustl.edu>

        * orbsvcs/Event_Service/Dispatching_Modules.cpp:
        * orbsvcs/Event_Service/Event_Channel.cpp:
        * orbsvcs/Event_Service/GPlot_File.cpp:
        * orbsvcs/Event_Service/Memory_Pools.cpp:
        * orbsvcs/Event_Service/Task_Manager.cpp:
        * orbsvcs/Scheduling_Service/Scheduler.cpp:
        * orbsvcs/Scheduling_Service/Scheduler_Generic.cpp:
          Added missing instantiation for platforms with
          ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA (IRIX)

        * orbsvcs/Event_Service/CORBA_Utils_T.h:
          Added missing member to ACE_ES_Array_Iterator.

        * orbsvcs/Scheduling_Service/Scheduler.h:
          Use ACE_SYNCH_MUTEX instead of ACE_HAS_THREADS and
          ACE_Null_Mutex vs ACE_Thread_Mutex.

        * orbsvcs/orbsvcs/Makefile:
          The IDL generated files are .PRECIOUS

Thu Jan  8 21:58:18 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * TAO_IDL/be/be_interface.cpp: be_interface::relative_skel_name ()
        was producing incorrect results because we were overwriting an
        internal string with '\0'

        * TAO/tao/deep_free.cpp: Marshal_Struct::deep_free. Commented out
        the call to String::deep_free if a member is a string because that
        free should happen automatically as the member is a String_var
        type. In addition, String::deep_free was setting the pointer to 0.

        * TAO/tao/marshal.i: In string::deep_free, commente dout the line
        that sets the pointer to 0.

        * TAO/tests/Param_Test: Added a string member field to the
        var_struct. Also some modifications. Needs more improvement.

Thu Jan 08 17:48:49 1998    <coryan@CHA-CHA>

        * Naming_Service/NS_CosNaming.cpp:
        * orbsvcs/Naming_Service/CosNaming_i.cpp:
          ACE_NESTED is only needed in the generated code.

        * Scheduling_Service/Scheduling_Service.cpp:
          MSVC++ 5.0 seems to have a bug: if the implementation for the
          scheduling service is stored into a RtecScheduler::Scheduler_ptr
          then the server crashes; this is OK in other platforms and looks
          OK since the pointers are in fact compatible.

        * tests/Event_Latency/Event_Latency.cpp:
          Removed some warnings by using "CORBA::ULong" instead of "int"
          in comparisons against sequence<>::length.

        * Dump_Schedule/Dump_Schedule.dsp:
        * orbsvcs/orbsvcs_lib.dsp:
          Fixed some names and missing options.

Thu Jan 08 15:55:21 1998  Nanbor Wang  <nw1@cs.wustl.edu>

        * tao/objtable.cpp:
        * tao/optable.cpp:
        * tao/orbobj.cpp:
        * orbsvcs/Naming_Service/CosNaming_i.cpp: Added missing template
          instantiation codes.

Thu Jan  8 12:53:28 1998  Chris Cleeland  <cleeland@cs.wustl.edu>

        * tao/corbacom.i (wstring_dup): Added this, which simply calls
        wstring_copy().  Of course, I can't find any mention of EITHER of
        these functions in the 2.0 or 2.1 spec, but what good are wstrings
        if you can't make copies?  Plus, Irfan really wanted it.

Thu Jan  8 11:36:38 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * TAO_IDL/be_include/be_interface.h, TAO_IDL/be/be_interface.cpp:
        Added a method called "relative_skel_name" to be used for
        generating names of inherited interfaces in the keleton class
        name.

        * TAO_IDL/be/be_state_argument.cpp: Generation of space was
        missing after the "native" type in a parameter list declaration.

        * TAO_IDL/fe/{y.tab.*, lex.yy.cpp}: Due to changes in the idl.ll
        and idl.yy files, these had to be regenerated.

Thu Jan 08 00:14:56 1998    <coryan@MILONGA>

        * orbsvcs/orbsvcs.dsw:
        * orbsvcs/Dump_Schedule/Dump_Schedule.dsp:
        * orbsvcs/Dump_Schedule/Dump_Schedule.dsw:
        * orbsvcs/Event_Service/Event_Service.dsp:
        * orbsvcs/Event_Service/Event_Service.dsw:
        * orbsvcs/Naming_Service/Naming_Service.dsp:
        * orbsvcs/Naming_Service/Naming_Service.dsw:
        * orbsvcs/Scheduling_Service/Scheduling_Service.dsp:
        * orbsvcs/Scheduling_Service/Scheduling_Service.dsw:
        * orbsvcs/tests/Event_Latency/Event_Latency.dsp:
        * orbsvcs/tests/Event_Latency/Event_Latency.dsw:
          Added preliminar (untested) versions of the project files for
          MSVC++ 5.0.

Wed Jan  7 22:41:41 1998  Carlos O'Ryan  <coryan@swarm.cs.wustl.edu>

        * tao/corba.h:
          Removed varout.h from the list of included files; it is no used
          and would abort compilation on IRIX.

        * tests/Cubit/TAO/IDL_Cubit/clnt.cpp:
        * tao/orbobj.cpp:
          Added missing template instantiations.

        * tao/varout.h:
          Some fixes, but actually the changes were aborted, Andy informed
          me that the file wasn't really used.

Wed Jan 07 21:52:20 1998    <coryan@MILONGA>

        * TAO_IDL/tao_idl.dsp:
          Added the new native_* functions to the project file.
          Also use the new tao_idl.cpp file in the top level directory.

Wed Jan  7 20:20:56 1998  Sergio Flores  <sergio@polka.cs.wustl.edu>

        * orbsvcs/Naming_Service/NS_CosNaming.cpp:
        * orbsvcs/Naming_Service/CosNaming_i.cpp: Use the correct
        _duplicate function.  Also changed the code to use exceptions
        already supported by TAO.

Wed Jan  7 18:00:08 1998  Carlos O'Ryan  <coryan@cs.wustl.edu>

        * TAO_IDL/Makefile:
        * TAO_IDL/tao_idl.cpp:
        * TAO_IDL/driver/Makefile:
        * TAO_IDL/driver/drv_main.cpp:
          Moved the main() routine to the topmost directory, this is
          needed for platforms like SGI that will not link a group of
          shared libraries without any object files. It also seems more
          reasonable (IMHO).

Wed Jan  7 13:55:26 1998  Chris Cleeland  <cleeland@tango.cs.wustl.edu>

        * tests/Cubit/TAO/IDL_Cubit/clnt.cpp: Changed the assignment of
        default port number to fetch the value from the environment
        similar to what is done in orb_core.cpp.

        * tao/poa.{h,cpp} (handle_request): Moved functionality to
        TAO_Server_Connection_Handler in connect.*.

        * tao/orb_core.cpp: Added the ability to specify the default
        server port via an environment variable using the ACE_Env_Value
        template.  The name of the environment variable is the same as the
        preprocessor #define: TAO_DEFAULT_SERVER_PORT.

        * tao/giop.* (TAO_GIOP_LocateRequest): Added a CTOR and init
        method similar to TAO_GIOP_Request.

        * tao/connect.{h,cpp} (handle_locate): Added to handle the
        LocateRequest CORBA request.  Also moved handle_request() method
        from the poa to here.

        * tao/Makefile: Added "fakesvcconf" variable check so that if
        somebody wants to build with faked svc config entries on a
        platform, they can simply do "make fakesvcconf=1".  The CHORUS and
        VXWORKS sections now override the value of this variable to be 1.

Wed Jan  7 12:00:14 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * TAO/tao/corbacom.h: Added forward declarations for
        CORBA_Object_var and CORBA_Object_out

        * TAO/tao/varout.h: some improvements. However, this file is not
        used currently.

        * TAO_IDL/include/ast_native.h: New file that defines the "native"
        type defined by the POA spec.

        * TAO_IDL/include/{ast, ast_interface, ast_module, ast_decl,
        idl_fwd, idl_global, utl_scope}:
        Added the create_native and fe_add_native methods for the newly
        added "native" type. Added a enum value for native in
        AST_Decl.h. Added an enum value for the current parse state in
        idl_global.h. Added forward declarations in idl_fwd.h. Added the
        "add_native" method in utl_scope.h

        * TAO_IDL/ast/{ast_generator, ast_interface, ast_module}.cpp:
        Added the create_native and fe_add_native methods for the newly
        added "native" type.

        * TAO_IDL/ast/ast_native.cpp: New file for native type

        * TAO_IDL/fe/idl.ll: Added a rule to recognize the "native"
        keyword.

        * TAO_IDL/fe/idl.yy: Added a grammar rule for the "native" type.

        * TAO_IDL/util/utl_scope.cpp: Added add_native and fe_add_native
        methods.

        * TAO_IDL/be_include/be_native.h: New file for the backend for
        "native" type.

        * TAO_IDL/be/be_native.cpp: New file for backend implementation of
        "native".

        * TAO_IDL/be/be_attribute.cpp: For the "set" method, we were
        setting the paramdata structure of the get method. This has been
        fixed.

        * TAO_IDL/be/be_generator.cpp: Added create_native method.

        * TAO_IDL/be/be_interface.cpp:
        For a special case of a deeply nested inheritance graph and one
        specific way of inheritance in which a node that was already
        visited, but is not present in the queue, gets inserted at the
        tail. This sitation arises when a node multiply inherits from two
        or more interfaces in which the first parent is higher up in the
        tree than the second parent. In addition, if the second parent
        turns out to be a child of the first. Thanks to Carlos O'Ryan for
        reporting the error.

        In addition, we use the nested_type_name for the inherited classes
        in the class definition.

        * TAO_IDL/be/be_type.cpp: We generate relative paths instead of
        the ACE_NESTED_CLASS macro. However, I am going to make this an
        IDL option at a later point.

        * TAO_IDL: Did "make depend" on all the Makefiles.

        * TAO/tests/Param_Test: Added tests for testing object
        references. This is still incomplete.

Tue Jan  6 19:48:45 1998  Sumedh Mungee  <sumedh@cs.wustl.edu>

        * TAO/tests/Cubit/TAO/MT_Cubit/README: Updated README to explain
        the latest generalization of the MT_Cubit tests.

Tue Jan  6 17:25:57 1998  Nanbor Wang  <nw1@lindy.cs.wustl.edu>

        * MT_Cubit.dsw,client.dsp,server.dsp: Update workspace and
        project files to reflect the change in directory structure.

Mon Jan 05 23:54:13 1998    <coryan@MILONGA>

        * Added project files for a static orbsvcs library.

Mon Jan  5 16:37:14 1998  Sumedh Mungee  <sumedh@cs.wustl.edu>

        * Makefile: Merged client and server rules

        * server.dsp, svc.conf, svr.cpp, client.dsp, cubit.idl,
        cubit_i.cpp, cubit_i.h, Task_Client.cpp, Task_Client.h,
        Util_Thread.cpp, Util_Thread.h, client.cpp, Makefile:
        Merged client/server code into one directory.

Mon Jan  5 11:50:00 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * TAO_IDL/be/be_attribute.cpp: Code generated for setting the
        attribute value (in the server skeleton) had some undefined symbol
        errors as well as the create_list parameter was wrong.

        * TAO/tao/object.{h.i}: Added code for Object_var and Object_out

Mon Jan 05 09:53:51 1998  David L. Levine  <levine@cs.wustl.edu>

        * tao/corbacom.{h,cpp},encode.cpp: replaced defined (VXWORKS) &&
          defined (ghs) with defined (ACE_HAS_WCHAR_TYPEDEFS_CHAR).

        * tao/Makefile: add -DTAO_PLATFORM_SVC_CONF_FILE_NOTSUP to
          CPPFLAGS on VxWorks.

        * tests/Cubit/TAO/MT_Cubit/Util_Thread.{h,cpp} (Util_Thread ctor):
          rearranged initializers to match declaration order.

Sun Jan 04 17:19:34 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO version 0.0.53, released Sun Jan 04 17:19:34 1998.

Sun Jan  4 13:49:21 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * TAO/tao/nvlist.cpp: NamedValue::Release was calling delete, but
        this was not correct since NamedValues are allocated using
        calloc. So now we exclusively call the destructor and free the
        memory using "free".

        * TAO/tests/Param_Test/{client.cpp, tests.cpp}: Since we do not
        pass the OUT_LIST_MEMORY flag to create_request, we cannot own the
        return, inout, and out parameters and hence cannot free them.

Sun Jan  4 13:41:41 1998  Sumedh Mungee  <sumedh@cs.wustl.edu>

        * tests/Cubit/TAO/IDL_Cubit/svr.cpp: Fixed prev_priority to
        previous_priority

Sun Jan 04 07:47:52 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO version 0.0.52, released Sun Jan 04 07:47:52 1998.

Sun Jan 04 07:37:31 1998  David L. Levine  <levine@cs.wustl.edu>

        * tao/orb_core.i: Changed ! ACE_LACKS_TEMPLATE_SPECIALIZATION
          to ACE_HAS_TEMPLATE_SPECIALIZATION, to be consistent with
          ACE config files.

Sun Jan  4 06:06:28 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * TAO/tao/typecode.*: Some modifications in the destruction
        strategy to eliminate fatal errors such as FNH (freeing non-heap
        memory) or FMW (freed memory write). Most of these errors were
        occuring because we were trying to delete our private typecode
        stuff that was not allocated from heap. For example, in case of
        sequences of strings the private member tc_content_type used to
        point to a statically preallocated "tc_string" typecode.

        Also, preliminary support for checking for typecode equality and
        the "member_name" method added.

        Looking at the current private_* methods, it looks like a lot of
        stuff can be abstracted into a few methods. So the next attempt
        will be to eliminate as many of the private_* methods (that do
        repititive work) and replace them with a couple of helper
        methods. In addition, we may not need all those tc_*_known_
        boolean variables. Only one may suffice. All this will be done in
        the next pass.

        * TAO/tao/{except.h, except.cpp, giop.cpp, object.cpp}: Removed
        the TAO_CONST CORBA::String insanity and replaced by const
        char*. This is also in accordance with the mapping as well as
        eliminates strange compiler warnings about assigning const char*
        to char*.

        * TAO_IDL/be/be_sequence.cpp: We now generate #if defined (..)
        macros for sequences and their managed types to avoid multiple
        declaration/definition errors.

Sat Jan  3 14:58:21 1998  Sumedh Mungee  <sumedh@cs.wustl.edu>

        * Task_Client.h, Util_Thread.cpp, Util_Thread.h, client.cpp,
        Task_Client.cpp, Makefile:
        The Util_Thread class basically computes CPU usage. Integrated
        this class with the MT_Cubit test, so that the Util_Thread
        performs computation in the background while the test is
        running. Also extended the test to use `n' clients talking to `n'
        servants.


Sat Jan 03 09:04:28 1998  David L. Levine  <levine@cs.wustl.edu>

        * tao/invoke.cpp (ACE_Synchronous_Cancellation_Required):
          disabled on VxWorks to avoid runtime warnings with
          ACE_NOTSUP_VERBOSE, because thr_setcanceltype isn't
          supported there.

        * tao/corba.h: g++/VxWorks doesn't like backslashes at the
          end of comment lines, so replaced a commenting of a #define
          with #if 0.

Fri Jan 02 18:42:31 1998  Douglas C. Schmidt  <schmidt@cs.wustl.edu>

        * TAO version 0.0.51, released Fri Jan 02 18:42:31 1998.

Fri Jan  2 16:29:20 1998  Nanbor Wang  <nw1@cs.wustl.edu>

        * orbsvcs/Event_Service/GPlot_File.cpp:
        * orbsvcs/Event_Service/Event_Channel.cpp:
        * orbsvcs/Scheduling_Service/Scheduler.cpp:
        * tao/connect.cpp:  Added missing explicit template
          instantiations.

Fri Jan 02 10:24:21 1998  Nanbor Wang  <nw1@cs.wustl.edu>

        * tests/Param_Test/driver.cpp (main): Added a trailing return in
          main() to prevent MSVC from complaining.

        * tests/Param_Test/helper.cpp (gen_fixed_struct): Changed to use
          ACE_OS::rand () * 1.0 instead of drand48 ().

        * tao/connect.cpp:
        * orbsvcs/Scheduling_Service/Scheduler.cpp:
        * orbsvcs/Event_service/Gplot_File.cpp:
        * orbsvcs/Event_Service/Event_Channel.cpp: Added explicit template
          instantiation for ACE_Map_Iterator_Base.

Fri Jan  2 10:39:02 1998  Aniruddha Gokhale  <gokhale@mambo.cs.wustl.edu>

        * TAO_IDL/be/be_type.cpp: Completely reimplemented the way
        ACE_NESTED_CLASS macro gets generated.

        * TAO_IDL/be/be_state_sequence.cpp: Fixed an error where the
        reference operator "&" was getting generated at the wrong place.

