diff options
Diffstat (limited to 'TAO/ChangeLogs/ChangeLog-97')
-rw-r--r-- | TAO/ChangeLogs/ChangeLog-97 | 6674 |
1 files changed, 0 insertions, 6674 deletions
diff --git a/TAO/ChangeLogs/ChangeLog-97 b/TAO/ChangeLogs/ChangeLog-97 deleted file mode 100644 index ca7d6f510cf..00000000000 --- a/TAO/ChangeLogs/ChangeLog-97 +++ /dev/null @@ -1,6674 +0,0 @@ -Wed Dec 31 23:29:59 1997 Nanbor Wang <nw1@cs.wustl.edu> - - * tao/nvlist.cpp (add_value_consume): Added a space between * and - /* to avoid warning messages on NT. - -Thu Jan 01 14:22:34 1998 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.50, released Thu Jan 01 14:22:34 1998. - -Thu Jan 1 13:31:55 1998 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/{be_sequence, be_state_sequence}.cpp: An unwanted - reference operator "&" was getting generated for sequences whose - element types were not special managed types. This was because the - case for handling the managed types somehow got mixed with the - normal ccase. Thanks to Nanbor Wang (nw1@cs.wustl.edu) for - pointing this out. - -Wed Dec 31 18:29:57 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/{be_sequence, be_state_sequence}.cpp: Changed the way - we use managed types. Instead of allocating an array, we now - instantiate the - managed type on the fly i.e., when the operator [] is invoked. The - reasons for doing this are: (1) no need for dynamic memory - allocation for maintaining the array of managers (2) It was - causing all kinds of problems while decoding because the sizeof - such sequence classes was bigger than those without managed - types. However, due to this scheme, we can no longer define the [] - operator to return a reference because that would mean that a - reference to a local variable/temporary will be returned. Hence - changes were necessary in files. - - TypeCode generation was also erroneous. This is fixed. We were - generating wrong encapsulation length. - - * TAO_IDL/be/be_string.cpp: Indentation in typecode generation. - - * TAO_IDL/be/be_type.cpp: nested_type_name - improved to - eliminate one more strange error message getting generated by the - MSVC++ compiler. Still needs testing. - - * TAO/tao/{invoke, decode}.cpp: Reversed the changes which were - made to account for sequencese with managed types. We no longer - need these changes because sequences with managed types no longer - keep an extra data member. Thus the size of all sequences (top - level) is the same (so is the layout). - - * TAO/tao/nvlist.cpp: commneted out unused variables, parameters. - - * TAO/tests/Param_Test: Included tests for string sequences, - variable sized structs as well as nested structs. - -Tue Dec 30 13:46:44 1997 Nanbor Wang <nw1@cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/clnt.h (portnum_): Changed its data - type from CORBA::ULong to CORBA::UShort to kill warning - messages. - - * tao/orbobj.cpp (create_list): Changed data type of the loop - counter to CORBA::Long. This caused a warning message on VC. - - * doc/releasenotes/index.html: Added documentation for adding IDL - files into Visual C++'s projects. - - * tests/Param_Test/Param_Test.dsw: - * tests/Param_Test/client.dsp: - * tests/Param_Test/server.dsp: New workspace and projects were added. - -Tue Dec 30 10:15:11 1997 Irfan Pyarali <irfan@cs.wustl.edu> - - * orbsvcs/Event_Service/Fast_Reactor.h (ACE_ES_Fast_Reactor): - Added the other version of handle_events to stop the compiler - from being cranky. - -Tue Dec 30 10:06:45 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/{be_state_argument, be_state_operation, - be_state_attribute}.cpp - Unnecessary call on "init_mgr" for - sequences that do not have any managed types was getting - generated. This is fixed. In addition, MSVC++ compiler was - producing an error saying "ambiguous assignment" when an "_out" - variable was assigned to a pointer type. Solaris platform (CC and - g++) did not give any such errors since they were (most probably) - using the operator *() on the _out class, but MSVC++ did not. - - * TAO/tests/Cubit/IDL_Cubit/clnt.cpp: The same "ambiguous - assignment" error described above has been fixed here too. - - * TAO/tests/Param_Test: Added a method called "reset_parameters" - so that we do not change the "in" parameter for every - iteration. Previuosly we were settingthe in parameter differently - for every new iteration. However, for performance comparison - purposes, this was not correct (e.g., in the case of string - sequences or unbounded strings where everytime we were sending a - different lenght string and hence the performance numbers were - different for each run and couldn't be compared.) - -Mon Dec 29 21:51:38 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/be_sequence.cpp: get_name was returning a local - variable. In addition, added generationof a method called - "init_mgr" that must be used to initialize the sequence's - underlying mgr_ vector. - - There was some problem with bounded/unbounded sequence code - generation (an error in an if stmt). - - * TAO_IDL/be/{be_state_argument, be_state_attribute, - be_state_operation}.cpp - added code to generate the call to - init_mgr for sequences after the do_call is made. - - * TAO_IDL/be_include/be_sequence.h : gen_name returns char* rather - than const char* because we now allocate a new string and return - it. - - * TAO/tao/Makefile: applied make depend to incorporate nvlist.i - - * TAO/tao/corbacom.h: Added a "boolean release" field to - CORBA_SEQUNECE so that its layout is similar to the generated code - for sequences. - - * TAO/tao/decode.cpp: In sequence decode, we also set the release - flag to 1. In addition, for sequences of strings and objrefs, we - zero out additional 4 bytes that are used to store a pointer to - the manager array. - - * TAO/tao/deep_free.cpp: some indentation. Also passed the correct - parameter to string/wstring::decode - - * TAO/tao/invoke.cpp: In do_dynamic_call, for sequences of strings - (inclusing typedefed sequences of strings that themselves can be - typedefed), we must allocate size+4 bytes for demarshaling the - sequences. The extra 4 bytes are for the manager array pointer. - - * TAO/tao/nvlist.cpp: I the method item, the loop should have run - from o to max_ rather than upto len_. - - * TAO/tao/orbobj.cpp: Used placement new of NamedValue in the - create_list method. - - * TAO/tests/Param_Test: Added new tests for Fixed_Struct and - string sequence. Added a README file. - - * TAO/doc/releasenotes/index.html: updated with latest success stories. - -Thu Dec 25 20:36:58 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.49, released Thu Dec 25 20:36:58 1997. - -Thu Dec 25 18:43:03 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/{be_state_attribute, be_state_argument}.cpp: Handled - teh remaining cases (except Arrays) that use the newly added - methiods to class NVList. The Param_Test test suite is being - developed to track any memory leaks. - - * TAO/tests/Cubit/TAO/IDL_Cubit/clnt.cpp: Used sequence_var in - the cube_sequence function to avoid memory leaks. However, there - still are leaks. - -Wed Dec 24 18:44:47 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.48, released Wed Dec 24 18:44:47 1997. - -Wed Dec 24 18:44:02 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tao: Added the nvlist.i file to the tao/ directory. - -Wed Dec 24 18:11:08 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/{be_operation, be_state_argument}.cpp: Added - "argument_count" method to be_operation which is helpful in - creating an NVList of the appropriate size. Previously we were - creating an empty list and adding parameters one by one. This was - causing a lot of reallocations which were wasteful. - - At this time, we have code base that can successfully send/receive - primitive data types as well as strings. - - * TAO_IDL/be_include/be_operation.h : Added a new method called - "argument_count" to give us the total number of parameters we - have. - - * TAO/tao/{any.cpp, connect.cpp, corbacom.i, decode.cpp, - iioporb.cpp, marshal.i, objtable.cpp, optable.cpp, request.cpp}: - In all these files, after a call to CORBA::string_free, we made - the pointer point to 0. Otherwise, purify was giving us "Free - Memory read" errors. Also, this was (by fluke) causing some - applications to run successfully. - - * TAO/tao/{nvlist.h, nvlist.cpp, nvlist.i, corba.h}: Added - unimplemented methods to NamedValue and NVList. Created a nvlist.i - file and updated corba.h - - * TAO/tao/corbacom.cpp: In an assignment operator for Sting_out, - we were not checking if the assignment was from ourselves. Also a - array was incorrectly being deleted as "delete ..." rather than - "delete [] ...". - - * TAO/tao/invoke.cpp: Inside do_call, we were not deleting memory - for the "in" part of the inout parameters. Right now we have fixed - this problem only for strings. Others will be added as new tests - are built. Do_dynamic_call also needs such a fix. NOT DONE in this release. - - * TAO/tao/orb_core.h, orb_core.cpp: ORB_init takes "const char*" - orb name as the argument instead of just char*. - - * TAO/tests/Param_Test: Successful in testing - "test_unbounded_string". removed a few memory leaks where we were - not deleting the client objects. - -Tue Dec 23 19:34:40 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.47, released Tue Dec 23 19:34:40 1997. - -Tue Dec 23 13:36:50 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/be_state_sequence.cpp: ACE_NESTED_CLASS must be - generated for seq elements that are scoped. We were generating - this macor only when seq elements were typedefs. However, seq - elements can also be structs or any other types that have an - enclosing scope. Thanks to Chris Gill <cdgill@cs.wustl.edu> for - the bug report. - - * TAO_IDL/be/be_state_operation.cpp: Similar problem as above for - return types of operations. Bug reported by Chris Gill. - - * TAO_IDL/be/be_exception.cpp: Whenever a _narrow fails, we were - trying to do a ACE_dynamic_cast to a 0. Instead, we now return a - 0. Again thanks to Chris Gill <cdgill@cs.wustl.edu> for - the bug report. - - * TAO_IDL/be/be_state_argument.cpp: We were ot generating a char - *& for inout string parameters. Instead only a char * was getting - generated. Fixed. - -Tue Dec 23 11:45:03 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * docs/releasenotes/index.html: - There is no need to set config=1 when compiling - TAO_ROOT/orbsvcs. - -Mon Dec 22 22:02:49 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.46, released Mon Dec 22 22:02:49 1997. - -Mon Dec 22 19:08:55 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * tao/corba.h: - * tao/except.cpp: - * tao/except.h: - The TAO_TRY macros use the _narrow methods for exceptions; - making the TAO_CATCH() macro fully functional. - - * orbsvcs/Dump_Schedule/Dump_Schedule.cpp: - * 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/RT_Task.cpp: - * orbsvcs/Event_Service/ReactorTask.cpp: - * orbsvcs/Scheduling_Service/Config_Scheduler.cpp: - * orbsvcs/Scheduling_Service/Config_Scheduler.h: - * orbsvcs/Scheduling_Service/Scheduling_Service.cpp: - * orbsvcs/orbsvcs/Runtime_Scheduler.cpp: - * orbsvcs/orbsvcs/Runtime_Scheduler.h: - * orbsvcs/orbsvcs/Scheduler_Factory.cpp: - * orbsvcs/tests/Event_Latency/Event_Latency.cpp: - Changed the ACE_TRY (and friends) macros to TAO_TRY. - - * orbsvcs/orbsvcs/RtecEventChannelAdmin.idl: - Cleaned up some exceptions definitions. - - * orbsvcs/tests/Event_Latency/Makefile: - Since the schedule is not distributed (yet) by default we - compile the config run, hopefully this will cause less - confusion. - -Sun Dec 21 23:41:05 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.45, released Sun Dec 21 23:41:05 1997. - -Sun Dec 21 20:29:33 1997 <nw1@JIG> - - * tests/Cubit/TAO/MT_Cubit/client/client.dsp: * - tests/Cubit/TAO/MT_Cubit/server/server.dsp: Corrected erroneous - library pathes in Release version of project files. - -Sun Dec 21 18:30:41 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/be_codegen.cpp: The macro used in the #if !defined - (..) clause in the header files was incorrectly generated when IDL - file names had characters other than letters in it. Fixed. - - * TAO/tests/Param_Test: A new test suite to test all the parameter - passing modes - return, in, inout, and out for a large number of - IDL data types. The purpose of this test suite is to verify the - correctness of the stubs/skeletons generated by TAO IDL compiler, - eliminate any existing errors in the marshaling engine, track down - any memory leaks, and finally to measure the performance and fine - tune the code if required. In the first version of the test, we - only test "shorts". We will be adding other tests as soon as we - can. - -Sat Dec 20 00:34:45 1997 Sergio Flores <sergio@tango.cs.wustl.edu> - - * tests/Cubit/CORBAplus/MT_Cubit/client/client.cpp (main): - * tests/Cubit/CORBAplus/MT_Cubit/client/Makefile: - * tests/Cubit/CORBAplus/MT_Cubit/client/Task_Client.cpp: - * tests/Cubit/CORBAplus/MT_Cubit/client/Task_Client.h: - * tests/Cubit/CORBAplus/MT_Cubit/client/client.cpp: - * tests/Cubit/CORBAplus/MT_Cubit/client/cubit.idl: - * tests/Cubit/CORBAplus/MT_Cubit/server/Makefile: - * tests/Cubit/CORBAplus/MT_Cubit/server/cubit.idl: - * tests/Cubit/CORBAplus/MT_Cubit/server/cubit_i.cpp: - * tests/Cubit/CORBAplus/MT_Cubit/server/cubit_i.h: - * tests/Cubit/CORBAplus/MT_Cubit/server/svr.cpp: - Ported the MT_Cubit example to CORBAplus. - -Fri Dec 19 11:33:51 1997 Sergio Flores <sergio@tango.cs.wustl.edu> - - - * tests/Thruput/CORBAplus/Makefile: - * tests/Thruput/CORBAplus/README: - * tests/Thruput/CORBAplus/client.cpp: - * tests/Thruput/CORBAplus/extract: - * tests/Thruput/CORBAplus/run: - * tests/Thruput/CORBAplus/run_client: - * tests/Thruput/CORBAplus/run_server: - * tests/Thruput/CORBAplus/run_test: - * tests/Thruput/CORBAplus/run_tests: - * tests/Thruput/CORBAplus/server.cpp: - * tests/Thruput/CORBAplus/ttcp.idl: - * tests/Thruput/CORBAplus/ttcp_decl.h: - * tests/Thruput/CORBAplus/ttcp_i.cpp: - * tests/Thruput/CORBAplus/ttcp_i.h: - * tests/Thruput/CORBAplus/utils.cpp: Ported the Thruput example to - CORBAplus for C++ by Expersoft. Try running the "run_tests" - script for the client side. - - * tests/Thruput/Orbix/Client.cpp: - * tests/Thruput/Orbix/Makefile: - * tests/Thruput/Orbix/README: - * tests/Thruput/Orbix/Srv_Main.cpp: - * tests/Thruput/Orbix/extract: - * tests/Thruput/Orbix/loop64: - * tests/Thruput/Orbix/orbixsol2s4.mk: - * tests/Thruput/Orbix/run: - * tests/Thruput/Orbix/run_client: - * tests/Thruput/Orbix/run_server: - * tests/Thruput/Orbix/run_test: - * tests/Thruput/Orbix/run_tests: - * tests/Thruput/Orbix/ttcp.idl: - * tests/Thruput/Orbix/ttcp_decl.h: - * tests/Thruput/Orbix/ttcp_i.cpp: - * tests/Thruput/Orbix/ttcp_i.h: - * tests/Thruput/Orbix/utils.cpp: Included the Thruput example for - IONAs Orbix ORB in the tests directory. - - * tests/Thruput/TAO/Makefile: - * tests/Thruput/TAO/README: - * tests/Thruput/TAO/client.cpp: - * tests/Thruput/TAO/run: - * tests/Thruput/TAO/run_client: - * tests/Thruput/TAO/run_server: - * tests/Thruput/TAO/run_test: - * tests/Thruput/TAO/server.cpp: - * tests/Thruput/TAO/svc.conf: - * tests/Thruput/TAO/ttcp.idl: - * tests/Thruput/TAO/ttcp_decl.h: - * tests/Thruput/TAO/ttcp_i.cpp: - * tests/Thruput/TAO/ttcp_i.h: - * tests/Thruput/TAO/utils.cpp: Moved the TAO version of the - Thruput example to a "TAO" directory in the Thruput directory. - - * tests/Thruput_test: Renamed this directory to Thruput. - -Fri Dec 19 00:28:24 1997 <nw1@JIG> - - * tests/Cubit/TAO/MT_Cubit/server/svr.cpp (main): Removed some - random codes. - - * tao/tao_internals.cpp (close_services): Disabled closing down - the ACE_Service_Config when reference count drops to 0. - -Thu Dec 18 20:36:28 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.44, released Thu Dec 18 20:36:28 1997. - -Thu Dec 18 19:35:28 1997 Sergio Flores <sergio@tango.cs.wustl.edu> - - * orbsvcs/tests/Logger/clnt.cpp (init): - * orbsvcs/Naming_Service/CosNaming_i.cpp (bind_new_context): Fixed - a bug in the Naming Service and the Logger test program - implementation. Thanks to Marina Spivak <marina@cs.wustl.edu> for - debugging this. - -Thu Dec 18 16:18:01 1997 <nw1@JIG> - - * TAO_IDL/be/be_sequence.cpp (gen_name): Removed a local variable - <seq>. It is no longer used. - - * TAO_IDL/be/be_union.cpp (gen_client_stubs): Removed local - variables <bt> and <s>. They are not longer used. - -Thu Dec 18 15:50:01 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * orbsvcs/orbsvcs/Makefile: - realclean was not removing all the IDL compiler generated - files. - -Thu Dec 18 15:06:23 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - Thanks to Keith Nicewarner <knicewar@sanders.com>, Tom Richards - <tomr@mcmenterprise.com>, and Carlos O'Ryan <coryan@cs.wustl.edu> - for reporting bugs which led to some of the changes below. - - * TAO_IDL/be/be_array.cpp: Preliminary support for arrays. Not - complete. - - * TAO_IDL/be/{be_operation, be_attribute}.cpp: The ParamData - structure *must* hold the "size" of the outermost level of the - return values and out parameters because the ORB has to allocate - memory for it and hence needs to know the size. We had a 0 in it - which crashed any return types that were variable in size. - - * TAO_IDL/be/be_codegen.cpp: Added a new state for - unions. Corresponding change to the *.h file. - - * TAO_IDL/be/be_decl.cpp: Added a method called "scope" that - returns the corresponding scope defined by this node (if one - exists). Added method to the *.h file also. - - * TAO_IDL/be/be_scope.cpp: Added a method called "decl" that - returns the be_decl method corresponding to this scope. The header - file was also updated. - - * TAO_IDL/be/{be_exception, be_state_exception}.cpp: I was making - the most stupid mistake of generating constructors per member - rather than one constructor that takes all the members as a - parameter. - - * TAO_IDL/be/{be_sequence, be_state_sequence}.cpp: Changed the - naming scheme for anonymous sequences to avoid code bloat. - - * TAO_IDL/be/be_state.cpp: Added template instantiation for - additional state to deal with code generation of members of - unions. - - * TAO_IDL/be/be_state_structure.cpp: Made some changes so that - spurious code for array members doesn't get generated. - - * TAO_IDL/be/{be_union, be_state_union}.cpp: Added a new state - because we were not generating code for union members that were - sequences or structs. - - * TAO_IDL/be/be_type.cpp: Modified netsed_type_name to use the new - methods on class be_decl/be_scope. - - * TAO_IDL/be/be_union_branch.cpp: gen_client_stubs uses the same - strategy as the other gen_client methods. - - * TAO/tao/deep_free.cpp: In deep_free of structures, instead of - passing the address of a string member to be freed, we were simply - passing the string that led to a segmentation fault. A careful - code review is necessary. - - * TAO/tao/orb_core.cpp: Made "use_ior" as default as ooposed to - using the URL based scheme for IORs. This was necessary to have - interoperability with other ORBs. - - * TAO/tao/poa.cpp: The server request was being released - immediately after returning from the dispatch method. This should - be done after all return/inout/out parameters are marshaled. - -Tue Dec 17 12:53:01 1997 Brian Mendel <brian.r.mendel@boeing.com> - - * tao/encode.cpp: Additional changes for wchar's - -Tue Dec 17 10:37:45 1997 Brian Mendel <brian.r.mendel@boeing.com> - - * tao/TAO.dsp: Removed obsolete files from the VC++ project. - Changed name of folder from Include Files to Inline Files. - Inserted new header files for classview. - - * TAO_IDL/tao_idl.dsp: Added missing be_state_exception.cpp to the - the project to eliminate link error. - - * tao/corbacom.cpp: Inserted wslen and wscpy back to handle wchar - problems with VxWOrks and GHS. - - * tao/encode.cpp: Inserted wslen and wscpy back to handle wchar - problems with VxWOrks and GHS. - -Tue Dec 16 18:29:42 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * orbsvcs/README: - * docs/orbsvcs.html: - Started up the documentation for TAO services, at this point - only the directory hierarchy is explained. - -Tue Dec 16 08:49:11 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be_include/be_codegen.h: Added three more states for - return types to be generated for operator [] of sequences of - strings and object references. - - * TAO_IDL/be_include/be_sequence.h: Added enum constants to - indicate what kind of managed type is handled by the sequence. For - sequences other than that of strings and objrefs, this enum const - is MNG_NONE. Added a new method that returns the managed type. - - * TAO_IDL/be/{be_sequence, be_state_sequence.cpp}: Added code to - generate sequences of strings and objrefs. This requires - generating special "managed" objects. In addition, for - be_state_sequence.cpp, we were not handling the case where base - types of sequences were not having any scope which resulted in - segmentation faults. - - * TAO_IDL/be/{be_state_argument, be_state_operation}.cpp: Some - small bugs fixed. These included lack of a whitespace in the - generated code as well as spurious extra level of indirection - getting generated. - - * TAO_IDL/be/be_type.cpp: "nested_type_name" now checks if the - scope with which are comparing is NUL or not before proceeding - further. Such a situation may arise for sequences whose base types - are anonymous (e.g., strings) and have no enclosing scope. - - * TAO/tao/managed_types.{h,cpp,i}: Removed. No more needed as teh - code is generated by the IDL compiler. Accordingly modified - corb.h and did a "make depend" on the Makefile. - - * TAO/docs/releasenotes/index.html: Updated to reflect new changes - as well as TO-DO stuff such as adding support for TIEs. - -Mon Dec 15 22:31:50 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.43, released Mon Dec 15 22:31:50 1997. - -Mon Dec 15 19:13:51 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * tao/Timeprobe.cpp: - Removed Solaris specific code, somehow it survived from some - debugging session. Thanks to Arturo Montes - <mitosys@colomsat.net.co> for pointing out this bug. - -Mon Dec 15 16:52:58 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> - - * TAO-INSTALL.html: Added some explanations for setting CPP_PATH - on NT. - -Mon Dec 15 16:49:58 1997 David L. Levine <levine@cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/clnt.cpp (cube_sequence): declare - local variables "l" and "j" as u_int instead of int, to avoid - signed/unsigned comparison. - -Thu Dec 11 16:44:26 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * orbsvcs/Scheduling_Service/Config_Scheduler.cpp: - Fixed typo missed on the previous release. - -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. - -Thu Dec 11 00:01:41 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * TAO version 0.0.42, released Thu Dec 11 00:01:41 1997. - -Wed Dec 10 23:04:04 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * orbsvcs/Scheduling_Service/Config_Scheduler.cpp: - Still struggling with g++, it seems to use the wrong cast for - IDL generated T_out classes. - - * orbsvcs/tests/Logger/Makefile: - * orbsvcs/tests/Logger/clnt.cpp: - * orbsvcs/tests/Logger/clnt.h: - * orbsvcs/tests/Logger/svr.cpp: - These files were missed in the orbsvcs hierarchy - reorganization. - -Wed Dec 10 22:38:08 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO/tests/Cubit/TAO/DII_Cubit: Fixed the hand-crafted code to - make use of the many changes that were made to the dispatching - scheme as well as changes made to the signature of the skeletons - for operations of interfaces. - -Wed Dec 10 21:41:48 1997 Sergio Flores <sergio@tango.cs.wustl.edu> - - * docs/releasenotes/index.html: Updated the release notes on the - Naming Service. - -Wed Dec 10 20:13:57 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * Makefile: - Added orbsvcs to the hierarchy. - - * The orbsvcs directory was completely reorganized, in preparation - for its official release. The new hierarchy is: - - orbsvcs/orbsvcs: Contains a library with: - + The client stubs for the services. - + Common utility classes to access the services. - + The server skeletons, but not their implementation. - - orbsvcs/Naming_Service: the COSS Naming Service. - - orbsvcs/Scheduling_Service: TAO Real-Time Scheduling Service. - - orbsvcs/Event_Service: TAO Real-Time Event Service. - - orbsvcs/tests: test programs and examples. - - * docs/releasenotes/index.html: - Updated documentation on the Event Service and its friends. - -Wed Dec 10 19:57:07 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp (Cubit_i::cube_sequence): - Changed to explicitly use the vector_out::ptr() method to get a - ptr. It seems that g++ wanted to interpret this expression - (output == 0) differently from Sun's C++, and this made both - interpret it in the desired way. - -Wed Dec 10 14:23:24 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * TAO_IDL/be/be_state_structure.cpp: - Fixed a bug when handling typedefs. - It was generating code for imported types, we protected the - generation with a !imported(), thank to Andy Gokhale - <gokhale@cs.wustl.edu> for helping me on this. - - * tao/connect.cpp: - Set the TCP_NODELAY option by default, otherwise oneway calls - are considerably slower. It should have no effect for twoway - calls. Anyway an option should be added to control this - behavior. - -Wed Dec 10 13:15:11 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be_include/{be_array, be_decl, be_field, be_module, - be_operation, be_predefined_type, be_structure, be_typedef}.h: - Added a protected function called "compute_size_type" which is - invoked if the size type of a data structure is not known in - advance. This happens for structs, unions, arrays, and typedefs - whose size type depends on their base types. - - * TAO_IDL/be/{be_array, be_decl, be_field, be_module, - be_operation, be_predefined_type, be_structure, be_typedef}.cpp: - Implementation of the "compute_size_type". - - * TAO_IDL/be/be_decl.cpp: Changed code that sets "size_type" so - that we first see if we are unknown in which case we set our size - type. However, once we are VARIABLE, no body can reset us to - fixed. Similarly, the overloaded size_type method that return the - size type first checks if our size is still unknown in which case - it calls for "compute_size_type". This is very essential for data - types defined in an imported (included) *.idl file. Thanks to Tom - Richards (tomr@mcmenterprise.com) for reporting the bug with - included file which resulted in this change. - - * TAO_IDL/be/be_state_attribute.cpp: Included a case for - IN_PARAM_TYPE_CH for strings (had previously forgotten to do so). - - * TAO_IDL/be/{be_state_structure, be_structure, be_field}.cpp: - Revamped so that we use the same switch based technique in - be_state_structure.cpp to generate code. For fields that are - sequences or structures or unions, we also generate their code. - - * TAO_IDL/be/be_state_argument.cpp: Thanks to Tom Richards and - Carlos O'Ryan for noticing a bug when we use out sequences. There - used to be a seg fault in deep_free.cpp because a NUL pointer was - being owned by an Any and getting freed. In the server skeleton, - for out params we now generate code after the upcall is made so - that for out parameter value is inserted in the NVList that is - marshaled by the server. - - * TAO_IDL/be/be_interface.cpp: In the generated call to _is_a, we - were calling CORBA::Object::_is_a if a remote call is - necessary. However, MSVC++ cannot handle a call of the form - CORBA::Object::_is_a. So we have to generate code that uses - ACE_CORBA_3 so as to be portable. Thanks to Nanbor Wang - (nw1@cs.wustl.edu). - - * TAO/test/Cubit/TAO/IDL_Cubit/clnt.cpp: Changed the type of the - variable that was passed as the out parameter to cube_sequence. - -Wed Dec 10 01:02:36 1997 Chris Cleeland <cleeland@tango.cs.wustl.edu> - - * tao/iiopobj.cpp (set): Added a special case to IIOP Profile::set - so that if the address is INADDR_ANY, it uses the host name, but - otherwise uses the IP address. This eliminates the cryptic - appearance of the address "0.0.0.0" in a server's IOR. - -Tue Dec 9 21:48:52 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/clnt.cpp: - The sequence test is not running right now, I'm commenting it - out until we can make it work properly. - -Tue Dec 9 18:02:43 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/orb_core.cpp: The moral of this changelog entry is to be - VERY careful when cutting and pasting code...the - resource_factory() accessor should not be setting the - client_factory_ member at all! - -Tue Dec 9 11:55:50 1997 Chris Cleeland <cleeland@tango.cs.wustl.edu> - - * tao/compat/objbase.h: Added NOERROR as #define if we're not on - WIN32 so that IDL-generated code would continue to work. - - * tao/tao_internals.cpp: Changed faked Resource Factory resource - source specifier to "tss" rather than "global". - - * tao/orb_core.*: Added resource_factory() accessor to - TAO_ORB_Core. This will create a default instance if it can't - locate one in the Service Repository, which will allow - applications to not encounter a hard failure when a svc.conf file - is missing. A warning message is emitted stating that a default - is being used. Applications should not rely on the default - settings, as it is very likely that the applicat might require - alternate settings for proper desired operation. - - * tao/default_server.*: Added TAO_Reactive_Strategy template - class to use in place of the ACE_Reactive_Strategy. It's only - difference from ACE_Reactive_Strategy is that instead of using the - reactor provided in the open method, it always uses that found - through the TAO_ORB_Core_instance(). This fix was motivated by a - general problem which was only observable on VxWorks with a - special pseudo-network transport. - - * tao/connect.cpp: Added code to fail gracefully if socket buffer - size changes are not supported. - -Mon Dec 8 13:11:46 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * docs/releasenotes/index.html: - Added more information on how the Event Channel and friends are - going. - - * orbsvcs/bin/Naming_Service/svc.conf: - Removed some foreign ^M from the file. - - * tao/Makefile: - * tao/connect.cpp: - * tao/giop.cpp: - * tao/orbobj.cpp: - * tao/Timeprobe.i: - * tao/Timeprobe.h: - * tao/Timeprobe.cpp: - Added a instrumentation class to measure time interval, also - instrumented some code, as part of the ongoing effort to - optimize the EC, unfortunately the problems are not in TAO ;-) - The code is only instrumented if compiled using probe=1, no - overhead is introduced in normal compiles. - - * tests/Cubit/TAO/IDL_Cubit/cubit.idl: - * 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: - Addded code to test sequences (as input and output parameters) - they don't work (yet). - - * orbsvcs/lib/Makefile: - * orbsvcs/lib/Timeprobe.h: - * orbsvcs/lib/Timeprobe.i: - * orbsvcs/lib/Timeprobe.cpp: - The file was moved toTAO_ROOT/tao. - - * orbsvcs/lib/Scheduler_Factory.cpp: - Fixed default dump file, it was using stdout! - -Sat Dec 06 15:42:25 1997 <nw1@DINGO> - - * tests/Cubit/TAO/IDL_Cubit/{server,client}.dsp: Updated link time - library names. - - * tao/any.cpp: - * tao/any.h: - * tao/corba.h: - * tao/corbacom.h: - * tao/decode.cpp: - * tao/encode.cpp: - * tao/except.cpp: - * tao/except.h: - * tao/giop.cpp: - * tao/iiopobj.cpp: - * tao/iiopobj.h: - * tao/iioporb.cpp: - * tao/iioporb.h: - * tao/nvlist.cpp: - * tao/nvlist.h: - * tao/object.cpp: - * tao/object.h: - * tao/object.i: - * tao/orbobj.cpp: - * tao/orbobj.h: - * tao/orbobj.i: - * tao/poa.cpp: - * tao/poa.h: - * tao/principa.cpp: - * tao/principa.h: - * tao/request.cpp: - * tao/request.h: - * tao/stub.h: - * tao/svrrqst.cpp: - * tao/svrrqst.h: - * tao/typecode.cpp: - * tao/typecode.h: - * tao/compat/initguid.h: - * tao/compat/objbase.h: Removed dependencies on Microsoft's DCOM - files. Below is a list of names that got changed. - - HRESULT -> TAO_HRESULT - IID -> TAO_IID - IUnknown -> TAO_IUnknown - IID_IUnknown -> IID_TAO_IUnknown - SCODE -> TAO_SCODE - NOERROR -> TAO_NOERROR - E_NOINTERFACE -> TAO_E_NOINTERFACE - VARTYPE -> TAO_VARTYPE - VARENUM -> TAO_VARENUM - CY -> TAO_CY - VARIANT -> TAO_VARIANT - DATE -> TAO_DATE - -Fri Dec 5 11:42:25 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/iiopobj.cpp (set): Changed the IIOP::Profile::set() methods - which take an ACE_INET_Addr to retrieve the host IP address rather - than host name for storage in the profile. This is motivated by - the following situation: machine has 3 interfaces (not including - loopback), and it is desired that clients and servers communicate - across only one interface. - - When our IDL_Cubit example's factory created new Cubit instances, - the set() method would set the host name for that IIOP::Profile to - whatever ACE_INET_Addr::get_host_name() returned. In this case, - the IP addr for interface 3 (which is not the primary interface) - would return a *LIST* of names in which the first name was that of - the primary interface. Thus, the IP address used by the client - would be wrong. - - * tao/object.h: Minor corrections to header comments. - - * tao/{orb_core,orbobj}.{h,cpp}: Moved server_factory and - client_factory ptr storage from CORBA_ORB to TAO_ORB_Core. It - really didn't belong there in the first place. - - * tao/poa.cpp: CTOR now fetches server factory ptr from the - TAO_ORB_Core rather than from the ORB. - -Thu Dec 4 18:20:55 1997 Chris Gill <cdgill@cs.wustl.edu> - - * TAO_IDL/tao_idl.dsp: Changed hard coded path for cl.exe to CPP_PATH - environment variable - -Thu Dec 4 11:23:55 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/include/{idl,ast,utl_idlist, utl_identifier}.h: removed - #include "ace/stdcpp.h" since this file was removed from - ACE. Instead we now include "ace/streams.h" in idl.h - - Also made make depend on all the Makefiles. - -Wed Dec 3 16:08:34 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * orbsvcs/lib/Event_Utilities.cpp: - * orbsvcs/lib/Event_Utilities.i: - * orbsvcs/lib/RtecEventComm.idl: - Added some more time-stamps to the events to track and measure - the delays as they move on the EC. - - * orbsvcs/lib/RtecEventChannelAdminC.cpp: - * orbsvcs/lib/RtecEventChannelAdminC.h: - * orbsvcs/lib/RtecEventChannelAdminC.i: - * orbsvcs/lib/RtecEventChannelAdminS.cpp: - * orbsvcs/lib/RtecEventChannelAdminS.h: - * orbsvcs/lib/RtecEventChannelAdminS.i: - * orbsvcs/lib/RtecEventCommC.cpp: - * orbsvcs/lib/RtecEventCommC.h: - * orbsvcs/lib/RtecEventCommC.i: - * orbsvcs/lib/RtecEventCommS.cpp: - * orbsvcs/lib/RtecEventCommS.h: - * orbsvcs/lib/RtecEventCommS.i: - * orbsvcs/lib/RtecSchedulerC.cpp: - * orbsvcs/lib/RtecSchedulerC.h: - * orbsvcs/lib/RtecSchedulerC.i: - * orbsvcs/lib/RtecSchedulerS.cpp: - * orbsvcs/lib/RtecSchedulerS.h: - * orbsvcs/lib/RtecSchedulerS.i: - Thanks to Andy Gokhale efforst the IDL compiler is able to emit - proper code for the EC&friends, hence I'm removing the - hand-crafted files. - -Wed Dec 3 11:12:48 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/be_interface.cpp: Had forgotten to emit code that - adds one more cast to the base POA_* class in the generated *S.i - file. - -Wed Dec 03 09:40:36 1997 David L. Levine <levine@cs.wustl.edu> - - * tao/Makefile: added TAO_PLATFORM_SVC_CONF_FILE_NOTSUP to - CPPFLAGS on CHORUS. Thanks to Wei Chiang for this change. - -Tue Dec 2 15:47:09 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/be_interface.h: Added some helper methods to generate - additional code in the form of larger operation tables, and - skeletons. This situation arises when we have single/multiple - inheritance of interfaces. - - * TAO_IDL/be_include/be.h: Included ace/Containers.h for the - ACE_Unbounded_Queue that uses the breadth-first strategy used in - be_interface.cpp - - * TAO_IDL/be/{be_interface,be_operation,be_attribute}.cpp: Added code - to generate a new "virtual void dispatch" method on the skeleton - classes. The dispatch method enables us to access the most derived - type when invoking the skeleton for a method. The skeletons - instead of taking a CORBA::Object_ptr, now take void*. The - skeletons themselves cast this void* to the appropriate POA_* - type. - - In addition to the above, for the case of inheritance of - interfaces, it is not appropriate to pass a pointer to the most - derived class as a void* to the skeleton of a base class and cast - that to the POA_* of the base class. So we generate inlined code - for skeletons of methods in the most derived class even if those - methods were defined in the base classes. These inlined skeletons - simply cast the object pointer to the right type and invoke the - corresponding skeleton of the base class method. - - be_interface.cpp defines a template method to traverse the entire - inheritance graph. This traversal is done using a breadth-first - traversal. This traverse method takes a pointer to one of the - static helper methods defined on class be_interface. Each helper - achieves a different purpose such as generation of extended - operation tables, providing comparisons of repositoryIDs of base - classes in the _is_a methods of derived classes. - - The client-side class now defines a virtual CORBA::Boolean _is_a - method. This uses local knowledge of repository ids thereby - preventing the expensive remote call in most cases. All changes - made in be_interface.cpp - - * TAO/tao/corbacom.h: Changed the signature of TAO_Skeleton so that - it uses void*obj and a void *context. - - * TAO/tao/object.h: Added a virtual dispatch method as explained - above. - - * TAO/tao/orb.h: Redefinition of TAO_Skeleton removed. - - * TAO/tao/poa.cpp: Changed the demultiplexing code to reflect the - change made with the dispatch method. The poa on finding the right - object corresponding to the key, now invokes the dispatch method - on that object which by dynamic binding invokes the dispatch - method of the POA_* class. - -Tue Dec 02 15:29:41 1997 <nw1@CHA-CHA> - - * tao/{connect,orb_core}.h: Moved Win32 specific template - specialization declaration from connect.h to orb_core.h because - the definition had moved to orb_core.i. - - * tao/object.cpp: Removed conditional directives around - DEFINE_GUID for IID_IUnknown. This is now defined for Win32 - also. - - * tao/TAO.dsp: Removed macro definition __IIOP_BUILD. It was not - used anywhere. - -Tue Dec 2 10:25:47 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * tao/corba.h: - Fixed some problems with the ACE_RETHROW macros. - - * orbsvcs/lib/Makefile: - * orbsvcs/lib/Timeprobe.h: - * orbsvcs/lib/Timeprobe.i: - * orbsvcs/lib/Timeprobe.cpp: - Added a high resolution timer facility, to measure the delays in - the Event Channel and in its client. - - * orbsvcs/lib/RtecEventComm.idl: - Changed the time_ field of Event to a double. It should be an - structure or a long long, but double is big enough to store - - * orbsvcs/lib/RtecEventChannelAdminC.cpp: - * orbsvcs/lib/RtecEventChannelAdminS.cpp: - * orbsvcs/lib/RtecEventCommC.cpp: - * orbsvcs/lib/RtecEventCommC.h: - * orbsvcs/lib/RtecEventCommS.cpp: - * orbsvcs/lib/RtecSchedulerC.cpp: - * orbsvcs/lib/RtecSchedulerC.h: - * orbsvcs/lib/RtecSchedulerC.i: - * orbsvcs/lib/RtecSchedulerS.cpp: - * orbsvcs/lib/RtecSchedulerS.h: - Regenerated the files using the newest IDL compiler; still some - hand crafting due to inherited classes. - -Tue Dec 2 03:12:50 1997 Sergio Flores <sergio@tango.cs.wustl.edu> - - * tao/orbobj.cpp (resolve_name_service): Check for errors when - resolving using the "NameService" environment variable. - - * orbsvcs/bin/Naming_Service/CosNaming_i.cpp (NS_NamingContext): - * orbsvcs/bin/Naming_Service/CosNaming_i.h (NS_NamingContext): - - Added constructor that takes a key to initialize the object, - instead of using the default name generation. - - Enabled some exceptions that are already supported. - - * orbsvcs/bin/Naming_Service/svr.cpp (main): Create first naming - context with key "NamingContext". And minor changes. - - * tests/Cubit/CORBAplus/IDL_Cubit/Makefile: - * tests/Cubit/CORBAplus/IDL_Cubit/README: - * tests/Cubit/CORBAplus/IDL_Cubit/clnt.cpp: - * tests/Cubit/CORBAplus/IDL_Cubit/clnt.h: - * tests/Cubit/CORBAplus/IDL_Cubit/cubit.idl: - * tests/Cubit/CORBAplus/IDL_Cubit/cubit_i.cpp: - * tests/Cubit/CORBAplus/IDL_Cubit/cubit_i.h: - * tests/Cubit/CORBAplus/IDL_Cubit/svr.cpp: Ported the IDL cubit - example to CORBAplus. Currently, the calls using DII are not - ported, so only the "cube average" and the "cube_union_stub" stats - are printed. - -Mon Dec 1 16:51:08 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/except.{h,cpp}: Changed semantics of CORBA::Exception so - that the mere creation of them does not take a reference. - Instead, the user of the exception is expected to call AddRef(). - CORBA::Environment has been modified (and even documented!) to - reflect that as well. - -Sun Nov 30 17:08:56 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * orbsvcs/lib/RtecSchedulerC.cpp: - Added missed parameter in do_call() for - RtecScheduler::Scheduler::set(). - -Sat Nov 29 13:34:58 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * tao/stub.i (STUB_Object): - No need to release type_id, since it is a String_var now. Thanks - to Wei Chiang <chiang@tele.nokia.fi> for pointing this out. - - * giop.cpp: - If things go wrong TAO_GIOP::send_request will close the - handler and set it to zero, but only a temporary was - affected, I decided to set the original value to zero also; - based on the return value. - -Wed Nov 26 23:24:57 1997 <cleeland@cs.wustl.edu> - - * TAO version 0.0.41, released Wed Nov 26 23:24:57 1997. - -Wed Nov 26 16:40:29 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/clnt.cpp: Changed release calls to use - the CORBA standard version rather than the non-standard TAO - Release() method. Also moved the client's parse_args() AFTER the - ORB_init() so that -ORB parameters were parsed correctly. - - * tao/params.*: Added storage for send and receive socket buffer - size to be used for all newly created sockets. These sizes are - initialized to ACE_DEFAULT_MAX_SOCKET_BUFSIZ, and can be changed - by the user by using -ORBsndsock and -ORBrcvsock. - - * tao/orbobj.h: Added documentation. - - * tao/orb_core.i: Changed system-specific conditional compilation - to use the more general ACE_LACKS_TEMPLATE_SPECIALIZATION. - - * tao/orb_core.cpp: Added code to make -ORBsndsock and -ORBrcvsock - options actually work. Added -ORBpreconnect option to implement - pre-cached connections. - - * tao/giop.cpp: Removed the old static inline version of - start_message(). Also changed to use send_n() to guarantee - correct blocking nature on Win32 with the WFMO Reactor. - - * tao/connect.cpp: Changed set_option() calls to use the socket - buffer sizes stored in the TAO_ORB_Parameters instance. Also - added a correct environment-clearing call before initializing a - request. - - * tao/client_factory.h: Removed extraneous code. - - * tao/{connect,any,giop,iiopobj,marshal,nvlist,objtable,optable, - orb_core,poa,principa,stub,svrrqst,typecode}.h: - Addressed or assigned some '@@' comments. - - * docs/releasenotes/orbcore.html: Added information regarding new - options, known bugs, etc. - - * docs/Options.html: Added documentation for new -ORBpreconnect - option. - - * TAO_IDL/be/Makefile: Added an explicit PIC=-fPIC for when g++ is - being used as the compiler. This fixes the linker complaints. - -Sat Dec 20 14:57:30 1997 <nw1@CHA-CHA> - - * All MSVC 5.0 project files: Removed unnecessary library - inclusions. Most of them are not necessary. - -Tue Nov 25 20:49:24 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * tao/orbobj.h: - * tao/orbobj.cpp: - * tao/orb_core.cpp: - * tao/params.h: - * tao/params.cpp: - Removed the parameters to specify the event service and schedule - service IOR, the naming service is working now so it can be - used. And the support in "resolve_initial_references". - - * tao/corbacom.i: - * tao/decode.cpp: - Reverted the previous change, but this time added proper - comments: the spec says that a Naming_var taking a <char*> is - *not* supposed to copy it. Hence the ObjRef decoder cannot - release the string it just read. - -Mon Nov 24 20:40:47 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * tao/corbacom.i: - Fixed string allocation problem for String_var(char*): if it - does not copy the string we run into problems with the - demarshalling code. - - * orbsvcs/lib/Event_Utilities.cpp: - * orbsvcs/lib/Event_Utilities.h: - * orbsvcs/lib/Event_Utilities.i: - * orbsvcs/lib/RtecEventChannelAdmin.idl: - * orbsvcs/lib/RtecEventChannelAdminC.cpp: - * orbsvcs/lib/RtecEventChannelAdminC.h: - Removed the unused forward_event parameter in the ConsumerQoS. - - * orbsvcs/lib/RtecSchedulerC.h: - * orbsvcs/lib/RtecSchedulerC.i: - Hand crafted the T_out constructors to take a "const T_out&" - instead of just "T_out&". - -Sat Nov 22 18:21:10 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be_include/be_codegen.h, be/be_codegen.cpp: Added a - number of states to handle attributes - - * TAO_IDL/be/{be_attribute,be_state_attribute}.cpp: Code added to - handle attributes. This code is a mix of code that is used to - handle operations as well as arguments because for attributes we - have 2 methods, one to set the value and one which returns the - value. For a readonly attribute, there is only the get method. - - A special note: Due to the large switch statement, I had to use - -fPIC for g++. We are working on abstracting all the commin - functionality once we have the basic IDL compiler working. - - * TAO_IDL/be/be_interface.cpp: Operation table now also includes - methods to set and get the attributes if they are present. In - addition, the variable name for the operation tables is now the - full flattened name to avoid conflicts. - - * TAO_IDL/be/be_sequence.cpp: In the length method, the index of - lookp variable "i" is changed from "int" to CORBA::ULong as g++ - was issuing a warning. - - * TAO_IDL/be/be_string.cpp, be_state_argument,cpp: Proper handling - of in, inout, and out strings that are either anonymous or are - typedefed. - -Fri Nov 21 13:22:39 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.40, released Fri Nov 21 13:22:39 1997. - -Thu Nov 20 10:31:24 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/orbconf.h (SIZEOF_LONG_DOUBLE): Made sure this is defined - properly for Chorus. Thanks to Wei Chiang <chiang@tele.nokia.fi> - for submitting these! - - * tao/orb_core.cpp (init): Added some changes for Chorus. Thanks - to Wei Chiang <chiang@tele.nokia.fi> for submitting these! - - * tao/object.cpp (_is_a): Explicitly specify which conversion - operator to use when comparing type_id to 0. - -Thu Nov 20 00:10:52 1997 Sergio Flores <sergio@cs.wustl.edu> - - * orbsvcs/tests/Logger/clnt.h : - * orbsvcs/tests/Logger/clnt.cpp (Logger_Client): Fixed a bug - dealing with using "_bind" when the naming service is not - available. - -Thu Nov 20 00:06:03 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.39, released Thu Nov 20 00:06:03 1997. - -Thu Nov 20 00:01:06 1997 Douglas C. Schmidt <schmidt@merengue.cs.wustl.edu> - - * tao/Makefile: Reordered the files so they are built in - alphabetic order (within each grouping of targets). This makes it - easier to see how the compilation process is doing ;-). - -Wed Nov 19 22:59:18 1997 Sergio Flores <sergio@cs.wustl.edu> - - * tao/orbobj.cpp (resolve_name_service): Minor change to output - debug statement. - -Wed Nov 19 23:01:46 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/be_state_operation.cpp: Fixed the problem with - strings as return values. Thanks to Mark L Boriack - <mark@vtcibm4a> for reporting this. - -Wed Nov 19 20:48:01 1997 James C Hu <jxh@cs.wustl.edu> - - * tests/Thruput_test/server.cpp: Commented out some unreachable - code at the bottom of main. - -Wed Nov 19 19:04:53 1997 Sergio Flores <sergio@tango.cs.wustl.edu> - - * tao/decode.cpp (decode): Added a cast so that compiler would - know which operator to call. - - * orbsvcs/bin/Naming_Service/svr.cpp (handle_input): Change port - number received to host byte order. Minor changes. - - * tao/orbobj.cpp (resolve_name_service): Send port number in - network byte order. - -Wed Nov 19 17:45:52 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/clnt.cpp: Put in proper release of - resources after _narrow operation. - - * tao/stub.h: Used CORBA::String_var as the underlying type for - 'type_id' in STUB_Object. In the long run this may be a bad idea - for performance considerations, but we may be able to improve that - by improving the implementation of String_var. - - * tao/orbobj.cpp: Removed unreachable ACE_NOTSUP_RETURN. - - * tao/decode.cpp: Made allocation and free semantics of - 'type_hint' consistent with its type of CORBA::String. - -Wed Nov 19 17:33:42 1997 Sumedh Mungee <sumedh@lindy.cs.wustl.edu> - - * Task_Client.cpp: Fixed error_count.. Thanks to James Hu. - -Wed Nov 19 17:20:45 1997 James C Hu <jxh@cs.wustl.edu> - - * TAO_IDL/be/be_operation.cpp: Removed an unreachable return - statement. There was already a return above it. - - * TAO_IDL/ast/ast_expression.cpp: Added casts to comparisons of - char variables to 0, since chars are unsigned by default in - SGI. - - * tests/Cubit/TAO/MT_Cubit/client/Task_Client.cpp: Removed a - couple of unreachable return statements. There are still - unreachable statements remaining. Need help with them. - - * tests/Cubit/TAO/IDL_Cubit/clnt.cpp: - * tests/Cubit/TAO/DII_Cubit/clnt.cpp: - Meaningless type qualifier (const ...) removed. - - Some functions were returning `retval' before it was set. I had - these functions return a passed in paramenter instead. - -Wed Nov 19 13:50:36 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.38, released Wed Nov 19 13:50:36 1997. - -Wed Nov 19 13:11:53 1997 David L. Levine <levine@cs.wustl.edu> - - * orbsvcs/lib/Scheduler_Factory.cpp (dump_schedule): changed loop - index from int to u_int to avoid signed/unsigned comparison. - (use_runtime): return 0. - - * orbsvcs/lib/Event_Utilities.cpp (debug): changed loop - index from int to u_int to avoid signed/unsigned comparison. - -Wed Nov 19 12:22:50 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/orbobj.cpp (resolve_name_service): Reverted some of the - minor changes below, specifically the use of ACE_ERROR_RETURN - rather than ACE_ERROR/return. ACE_ERROR_RETURN cannot be used - as-is because the 2nd parameter is used as an 'int' to specify the - operational status, and the return value of this function is NOT - an int. Also had to add a missing semi-colon which caused none of - the code to compile. - -Wed Nov 19 12:07:42 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.37, released Wed Nov 19 12:07:42 1997. - -Wed Nov 19 10:37:19 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * orbsvcs/lib/Scheduler_Factory.cpp: - The type declared for the rt_info array was wrong. - -Wed Nov 19 09:18:30 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.36, released Wed Nov 19 09:18:30 1997. - -Wed Nov 19 09:15:15 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tao/orbobj.cpp (resolve_name_service): Made a bunch of minor - Changes for resolving the Naming service. - -Wed Nov 19 08:44:12 1997 Brian Mendel <brian.r.mendel@boeing.com> - - * tests/Cubit/TAO/DII_Cubit/default.bld: - * tests/Cubit/TAO/DII_Cubit/clnt.bld: - * tests/Cubit/TAO/DII_Cubit/svr.bld: - * tests/Cubit/TAO/IDL_Cubit/default.bld: - * tests/Cubit/TAO/IDL_Cubit/clnt.bld: - * tests/Cubit/TAO/IDL_Cubit/svr.bld: - * tests/Cubit/TAO/MT_Cubit/default.bld: - * tests/Cubit/TAO/MT_Cubit/clnt.bld: - * tests/Cubit/TAO/MT_Cubit/svr.bld: Added build files in the new - test structure for VxWorks using the GHS compiler. - - * tests/Cubit/Build: Removed the obsolete build directory for vxWorks. - -Wed Nov 19 07:47:13 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.35, released Wed Nov 19 07:47:13 1997. - -Wed Nov 19 05:53:42 1997 Sergio Flores <sergio@tango.cs.wustl.edu> - - * tests/Cubit/TAO/DII_Cubit/clnt.cpp: - * tests/Cubit/TAO/DII_Cubit/clnt.h: - * tests/Cubit/TAO/IDL_Cubit/clnt.cpp: - * tests/Cubit/TAO/IDL_Cubit/clnt.h: Changed code to add loop - around all cube calls, and make output more consistent. - - * orbsvcs/tests/Logger/Makefile: - * orbsvcs/tests/Logger/ior_multicast.cpp: - * orbsvcs/tests/Logger/ior_multicast.h: Removed unneeded - ior_multicast.* source files from the logger example. It now uses - the resolve_initial_references() to use the naming service for its - advertisement. - - * orbsvcs/lib/Makefile (realclean): Updated with realclean & clean - rules to delete CosNamingS.* and CosNamingC.* - - * docs/releasenotes/index.html: Updated status of the naming - service to working implementation. - - * orbsvcs/lib/CosNamingS.cpp: - * orbsvcs/lib/CosNamingS.i: - * orbsvcs/lib/CosNamingS.h: - * orbsvcs/lib/CosNamingC.cpp: - * orbsvcs/lib/CosNamingC.i: - * orbsvcs/lib/CosNamingC.h: Removed these files from the - repository, since the IDL compiler generates these correctly. - - * orbsvcs/bin/Naming_Service/CosNaming_i.cpp (list): Remove - warning for unused variable. - - * orbsvcs/bin/Naming_Service/svr.h: Constructor of event handler - for multicast doesn't need reply port anymore. - - * orbsvcs/bin/Naming_Service/svr.cpp (handle_input): Now receives - the port number in the multicast request. Suggested by Doug - Schmidt. - - * tao/orbobj.cpp (resolve_name_service): changed return value - variable to be signed. Added code to send the port number in the - multicast resolution mechanism as a CORBA::Short. - - * orbsvcs/bin/Naming_Service/NS_CosNaming.cpp (NS_ExtId): - Reordered initializers in the constructor. - - * tests/Cubit/TAO/IDL_Cubit/clnt.h: - * tests/Cubit/TAO/IDL_Cubit/clnt.cpp (run): Added a loop around - all cube calls and added calls/sec stats for them. - - * tao/corba.h: Changed order of inclusion of marshal.i, due to - warnings of the declaration of the inline function - make_marshal_object(). - - * tao/orbobj.i: reorder the declaration of inline - CORBA_OBJ::Add_Ref(), to remove a warning. - - * tests/Cubit/TAO/MT_Cubit/server/svr.cpp (main): - removed return statement that was causing a warning. - -Wed Nov 19 04:22:48 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.34, released Wed Nov 19 04:22:48 1997. - -Tue Nov 18 01:29:00 1997 <nw1@COYOTE> - - * tao/TAO.dsp: Added Arg_Shifter.cpp into project file. - -Tue Nov 18 18:53:57 1997 Sergio Flores <sergio@polka.cs.wustl.edu> - - * TAO_IDL/be/be_state_typedef.cpp (gen_code): - * TAO_IDL/be/be_state_structure.cpp (gen_code): - * TAO_IDL/be/be_state_sequence.cpp (gen_code): - * TAO_IDL/be/be_state_operation.cpp (gen_code): - * TAO_IDL/be/be_state_array.cpp (gen_code): Comment out - unreachable break statements. - - * TAO_IDL/ast/ast_array.cpp (n_dims): - * TAO_IDL/include/ast_array.h (AST_Array::n_dims): - * TAO_IDL/ast/ast_attribute.cpp (readonly): - * TAO_IDL/include/ast_attribute.h (AST_Attribute::readonly): - * TAO_IDL/ast/ast_argument.cpp (direction): - * TAO_IDL/include/ast_argument.h (AST_Argument::direction): - * tao/nvlist.h (CORBA_NamedValue::name): - * TAO_IDL/include/utl_scope.h (UTL_Scope::scope_node_type): - * TAO_IDL/ast/ast_predefined_type.cpp (pt): - * TAO_IDL/include/ast_predefined_type.h (AST_PredefinedType::pt): - removed const from declarations that it didn't have a meaning for. - Also from return statements. These changes were suggested by - James Hu and the SGI compiler. - -Tue Nov 18 18:34:16 1997 Sumedh Mungee <sumedh@lindy.cs.wustl.edu> - - * tests/Cubit/COOL/client.cpp: ORB_init is now called in - Task_Client.cpp instead of the main program, to insure that its - called in the right thread. - - * tests/Cubit/COOL/Task_Client.{h,cpp}: Used the COOL_Activity to - create threads instead of ACE_Task. - - * tests/Cubit/COOL/server.cpp: Used the createActivity stuff to - create threads. The server now creates two servants, one for high - and the other for low priority clients. - -Tue Nov 18 17:44:02 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/corbacom.h: Added special case for CORBA::WChar to be a - short on VxWorks/GreenHills. - - * TAO_IDL/be/be_state.cpp: Added template instantiations for SGI. - - * tao/deep_free.cpp (deep_free): Removed unused 'alignment' - variable. - - * tao/deep_copy.cpp (deep_copy): Removed unused 'alignment' - variable. - - * tao/encode.cpp (encode): Removed unused 'continue_encoding' - variable. - - * tao/orbobj.cpp (POA_init): Removed options which were no longer - supported/necessary, as well as their corresponding variables. - -Tue Nov 18 17:33:20 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * orbsvcs/lib/RtecEventChannelAdmin.idl: - * orbsvcs/lib/RtecEventComm.idl: - Changed several operations to "oneway" to avoid dead-locks in - the Event Channel tests. - - * orbsvcs/lib/Runtime_Scheduler.h: - * orbsvcs/lib/Runtime_Scheduler.cpp: - This class is a servant, event though it is only used - collocated, so it must inherit from the POA class. - - * orbsvcs/lib/Scheduler_Factory.cpp: - Care must be exercised to create the Runtime_Scheduler instance - only once the ORB is up and running. - - * orbsvcs/lib/CosNamingC.cpp: - * orbsvcs/lib/CosNamingC.h: - * orbsvcs/lib/CosNamingS.cpp: - * orbsvcs/lib/CosNamingS.h: - * orbsvcs/lib/RtecEventChannelAdminC.cpp: - * orbsvcs/lib/RtecEventChannelAdminC.h: - * orbsvcs/lib/RtecEventChannelAdminS.cpp: - * orbsvcs/lib/RtecEventChannelAdminS.h: - * orbsvcs/lib/RtecEventCommC.cpp: - * orbsvcs/lib/RtecEventCommC.h: - * orbsvcs/lib/RtecEventCommS.cpp: - * orbsvcs/lib/RtecEventCommS.h: - * orbsvcs/lib/RtecSchedulerC.cpp: - * orbsvcs/lib/RtecSchedulerC.h: - * orbsvcs/lib/RtecSchedulerS.cpp: - * orbsvcs/lib/RtecSchedulerS.h: - Regenerated all the stubs and skeletons using the latest IDL - compiler, but still some hand crafting is required, namely for - operations in base classes. - -Tue Nov 18 14:27:02 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/cdr.cpp (CDR): Changed TAO_PURIFY to ACE_PURIFY. - - * tests/Cubit/TAO/MT_Cubit/serdatever/svr.cpp: Added code to put use a - kinder, gentler high priority value on VxWorks. This makes it - easier for the machine to remain running. :-\ - - * tao/corbacom.h: Added CVS id keyword. - - * tao/{corba.h,tao_internals.h,tao_internals.cpp}: Backed out - tao_internals.h, which is not intended to be publicly visible. - corba.h should contain only headers/inlines for things which - should be externally visible. - -Tue Nov 18 04:00:46 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * tao/poa.cpp: - An operation lookup on the dispatching code will cause an error - message and the CORBA::BAD_OPERATION exception to be raised. - - * tao/orb_core.cpp: - Somehow the options for setting the Event Service and the - Scheduling Service IOR were lost. Eventually they must be - removed, but we are still testing the Naming Service. - -Tue Nov 18 02:17:24 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.33, released Tue Nov 18 02:17:24 1997. - -Tue Nov 18 02:03:22 1997 Sergio Flores <sergio@tango.cs.wustl.edu> - - * orbsvcs/tests/Logger/svr.cpp: - * orbsvcs/tests/Logger/clnt.cpp: This test example now uses the - naming service in the server and client. Also changed the code to - have a default use in case the naming service is not available. - - * tao/orbobj.cpp (resolve_name_service): Fixed a bug, dealing with - closing the endpoint of communication for the response of the - multicast mechanism. - -Tue Nov 18 01:37:42 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/{be_operation.cpp,be_state_operation}.cpp: We now - properly handle the declaration and assigning to the return value. - - * TAO_IDL/be/be_state_argument.cpp: Removed a spurious () - appearing after a function call. - - * TAO_IDL/be/{be_structure,be_union}.cpp: Carlos had removed the - if !imported check in the member counting function, but it had - crept in again, maybe due to me. So this is fixed again. - - * test/Cubit/TAO/IDL/svr.cpp: Removed the hack which was - separating command line arguments starting with O. We leave this - task to the newly added Arg_Shifter. - - * tao.orbobj.cpp: In ORB_init, the call to - TAO_ORb_Core_instance->init needed a char ** argv and we were - passing a char * const* argv. So we cast this. g++ was giving this - error. - - * TAO_IDL/be_include/be_codegen.h, TAO_IDL/be/be_codegen.cpp: - Added 5 new states for code generation. All of these for - operations and arguments. - - * TAO_IDL/be/be_argument.cpp: Made all methods uniform so that the - state will be set by the corresponding be_operation method. Thus - the be_operation method will vary the state but still invoke the - same be_argument method. - - * TAO_IDL/be/be_enum.cpp, be_structure.cpp, be_union.cpp, be_field.cpp, - be_sequence.cpp: Some reformatting, removed unused variables. - - * TAO_IDL/be/be_scope.cpp: Changes include adding ACE_ERROR_RETURN - with file name, line number capability. In addition, we were not - testing for return status of the various gen methods called. - - * Most important changes in these files: - - TAO_IDL/be/{be_operation,be_state_argument,be_state_operation}.cpp: - - Large scale changes that include a uniform way to invoke methods - of the be_argument class from the be_operation methods. Added the - 5 new states. Added proper handling of _out parameters in stubs - and skeletons. - -Mon Nov 17 20:05:40 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/clnt.cpp: Cleaned up lots of places - where the allocated stuff wasn't being deallocated. - - * tao/request.cpp: Insured that the CTOR adds a reference for the - dynamically-allocated NamedValue. - - * tao/orb_core.cpp: Freed the faked service configurator argv. - - * tao/iiopobj.h: Removed anachronistic comments. - - * tao/iiopobj.{i,cpp}: Changed allocation of IIOP::Profile.host to use - new/delete rather than strdup/free b/c the decoder, which is - generic, must use new to allocate the space. Thus, the strdup had - to go. Purify now happier. - - * tao/cdr.cpp: Added call to memset bracketed by #if - defined(TAO_PURIFY) in order to appease the purify gods. - -Mon Nov 17 20:05:16 1997 Seth Benjamin Widoff <sbw1@waltz.cs.wustl.edu> - - * arg_shifter.cpp: - fixed a bug where in new, gcc used the address of an integer - reference rather than its value. weird. - - * tao/orb_core.cpp: - Modified the init routine to "consume" command line arguments it - recognizes by placing them in the rear of argv, and adjusting - argc. It uses the Arg_Shifter class to accomplish this. - - * tao/arg_shifter.h: - * tao/arg_shifter.cpp: - The Arg_Shifter class is an iterator that, as it iterates over - argv, places consumed arguments at the end of the vector, - ignored ones in their original order at the beginning of the - vector, and adjusts argc to hide the consumed arguments. - -Mon Nov 17 18:40:49 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * tao/orb_core.i: - Some data was not initialized when used from a thread different - than the one doing ORB_init (even though we choose a global ORB - in the svc.conf file). Chris found a fix for this. The affected - methods are reactor(), thr_mgr(), connector() and acceptor(). - - * TAO_IDL/be/be_sequence.cpp: - length was not working if the value was <= than the maximum. - - * orbsvcs/lib/CosNamingC.cpp: - * orbsvcs/lib/RtecEventChannelAdminC.cpp: - * orbsvcs/lib/RtecEventCommC.cpp: - * orbsvcs/lib/RtecSchedulerC.cpp: - * orbsvcs/lib/RtecSchedulerS.cpp: - Fixed the length() problem by hand, even though the new IDL - compiler should do it right. - -Mon Nov 17 11:52:54 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * TAO_IDL/be/be_codegen.cpp (server_header), - TAO_IDL/util/utl_global.cpp (be_change_idl_file_extension): - Updated several methods to ensure const correctness for the - updated ACE_OS::str*() methods. Thanks to David Levine for - reporting this. - -Mon Nov 17 02:40:14 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.32, released Mon Nov 17 02:40:14 1997. - -Mon Nov 17 01:48:17 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * TAO_IDL/be/be_scope.cpp: - TypeCode generation was failing for imported members. - - * TAO_IDL/be/be_structure.cpp: - Member count must include all members, imported or not. - - * TAO_IDL/be/be_typedef.cpp: - Added missing decr_indent() in the typecode generation which was - making the generated code completely unreadable. - - * orbsvcs/lib/RtecEventChannelAdmin.idl: - * orbsvcs/lib/RtecEventComm.idl: - Removed the PullConsumer and PullSupplier classes, they are not - supported. - - * orbsvcs/lib/CosNamingC.cpp: - * orbsvcs/lib/CosNamingS.cpp: - * orbsvcs/lib/RtecEventChannelAdminC.cpp: - * orbsvcs/lib/RtecEventChannelAdminC.h: - * orbsvcs/lib/RtecEventChannelAdminC.i: - * orbsvcs/lib/RtecEventChannelAdminS.cpp: - * orbsvcs/lib/RtecEventChannelAdminS.h: - * orbsvcs/lib/RtecEventChannelAdminS.i: - * orbsvcs/lib/RtecEventCommC.cpp: - * orbsvcs/lib/RtecEventCommC.h: - * orbsvcs/lib/RtecEventCommC.i: - * orbsvcs/lib/RtecEventCommS.cpp: - * orbsvcs/lib/RtecEventCommS.h: - * orbsvcs/lib/RtecEventCommS.i: - * orbsvcs/lib/RtecSchedulerC.cpp: - * orbsvcs/lib/RtecSchedulerS.cpp: - New version of the generated files, this last version is almost - making in it, but still needs hand crafting. - - * TAO_IDL/be/be_array.cpp: - * TAO_IDL/be/be_sequence.cpp: - * TAO_IDL/be/be_typedef.cpp: - Fixed buggy TypeCode lenght computation, it was only taking into - account the tc_encap_len() for the base type but it should use - the full tc_size(). - - * tao/encode.cpp: - Object references *must* be passed a pointer to Object_ptr in - the marshalling code. - - * TAO_IDL/be/be_operation.cpp: - * TAO_IDL/be/be_state_operation.cpp: - Fixed generated code for Object references as return values. It - allocates the Object_ptr in the heap, stores the result there - and creates an Any for it. - -Sun Nov 16 23:30:26 1997 Sergio Flores <sergio@tango.cs.wustl.edu> - - * orbsvcs/tests/Logger/svr.cpp (main): - Changed the code to use the resolve_initial_references () - interface to get the object refrence to the naming service. - - * orbsvcs/tests/Logger/clnt.cpp (main): Now uses the - resolve_initial_references() to get the naming service object - reference, to get the logger factory object reference. - - * orbsvcs/bin/Naming_Service/svr.cpp (main): - * orbsvcs/bin/Naming_Service/svr.h: - Added code to respond to multicast requests for the IOR. - - Added code to respond to multicast requests for the IOR. - - * tests/Cubit/TAO/IDL_Cubit/clnt.cpp: Fixed some formatting - problems dealing with the precision of the output. - -Sun Nov 16 14:48:00 1997 <nw1@COYOTE> - - * test/Cubit/TAO/IDL_Cubit/{server,client}.dsp: Updated library - path for release version. - - * TAO_IDL/TAO_IDL.mak: - * TAO_IDL/tao_idl.dsp: Added new files (be_state_*.cpp) into - project file. - -Sun Nov 16 12:56:24 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/be_interface.cpp: The _is_a_skel method's signature - had an Object_ptr obj parameter which was unused. Instead of - generating the ACE_UNUSED_ARG (obj) line of code, we use /* obj */ - in the signature. - -Sun Nov 16 05:51:38 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.31, released Sun Nov 16 05:51:38 1997. - -Sun Nov 16 00:22:04 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/clnt.cpp: - Fixed output for structs and union test. - - * tao/iiopobj.cpp: - If the user provides no key for an object we generate one, based - on the object address. - - * TAO_IDL/be/be_sequence.cpp: - The length() method should get the maximum if reallocation - occurs. - - * tao/orb_core.cpp: - * tao/orbobj.cpp: - * tao/orbobj.h: - * tao/params.cpp: - * tao/params.h: - Added new options to the ORB (-ORBeventserviceior, - -ORBscheduleserviceior), this should go away once the Naming - Service works properly, but are needed now to locate this - services. - - * orbsvcs/lib/Makefile: - Added several small classes that help when using the Scheduling - and/or the Event Service. - - * orbsvcs/lib/Scheduler_Factory.cpp: - * orbsvcs/lib/Scheduler_Factory.h: - * orbsvcs/lib/Scheduler_Factory.i: - Encapsulate the construction and configuration of the Scheduling - Service. - - * orbsvcs/lib/Runtime_Scheduler.cpp: - * orbsvcs/lib/Runtime_Scheduler.h: - * orbsvcs/lib/Runtime_Scheduler.i: - Implement a simple, but fast, Scheduling Service based on a - precomputed scheduling. - - * orbsvcs/lib/Event_Utilities.cpp: - * orbsvcs/lib/Event_Utilities.h: - * orbsvcs/lib/Event_Utilities.i: - Simplify the creation of QoS structures for the Event Service. - - * orbsvcs/lib/Scheduler_Utilities.cpp: - * orbsvcs/lib/Scheduler_Utilities.h: - * orbsvcs/lib/Scheduler_Utilities.i: - Simplify manipulation of the RT_Infos for the Scheduling - Service. - - * orbsvcs/lib/Channel_Clients.cpp: - * orbsvcs/lib/Channel_Clients.h: - * orbsvcs/lib/Channel_Clients_T.cpp: - * orbsvcs/lib/Channel_Clients_T.h: - Helpers to adapt PushSuppliers and PushConsumers. - - * orbsvcs/lib/CosNamingC.cpp: - * orbsvcs/lib/CosNamingC.h: - * orbsvcs/lib/CosNamingC.i: - * orbsvcs/lib/CosNamingS.cpp: - * orbsvcs/lib/RtecEventChannelAdminC.cpp: - * orbsvcs/lib/RtecEventChannelAdminC.h: - * orbsvcs/lib/RtecEventChannelAdminC.i: - * orbsvcs/lib/RtecEventChannelAdminS.cpp: - * orbsvcs/lib/RtecEventChannelAdminS.h: - * orbsvcs/lib/RtecEventComm.idl: - * orbsvcs/lib/RtecEventCommC.cpp: - * orbsvcs/lib/RtecEventCommC.h: - * orbsvcs/lib/RtecEventCommC.i: - * orbsvcs/lib/RtecEventCommS.cpp: - * orbsvcs/lib/RtecSchedulerC.cpp: - * orbsvcs/lib/RtecSchedulerC.h: - * orbsvcs/lib/RtecSchedulerC.i: - * orbsvcs/lib/RtecSchedulerS.cpp: - This files were generated by the IDL compiler and don't need any - hand crafting (so far). I still maintain them in CVS because the - compiler is not stable enough. - - * orbsvcs/bin/Naming_Service/Makefile: - Removed spurious call to rm. - - * orbsvcs/lib/RtecEventComm.idl: - Removed the (already commented out) include of "orb.idl". - -Sat Nov 15 21:38:48 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * TAO_IDL/be/be_sequence.cpp: - The generated length() method will reallocate the sequences - now. - - * TAO_IDL/be/be_constant.cpp: - It was initializing nested constants in the client header file, - Andy told me how to fix it. - - * TAO_IDL/be/be_operation.cpp: - Fixed typo in generated code: - s/_tao_enviroment/_tao_environment/ - - * TAO_IDL/be/be_field.cpp: - Only generate the inline members of the field type if the type - is not imported. - - * TAO_IDL/driver/drv_fork.cpp: - * TAO_IDL/driver/drv_preproc.cpp: - Removed old code to support plain fork (without ACE). - Also removed temporary files *unless* we are on Win32, were - removing the file and keeping it open fails. - - * TAO_IDL/include/idl_global.h: - * TAO_IDL/util/utl_global.cpp: - Added routines to obtain the generated names of any IDL file, - not only the one we are processing. - - * TAO_IDL/be/be_codegen.cpp: - The compiler now generate all the required include directives - when the IDL file contains some. - - * tao/params.cpp: - Initialize name_service_port_ to zero in the constructor. - -Sat Nov 15 21:20:01 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/be_string.cpp: The typecode info was getting - generated in a wrong file because of setting the worng file to - generate it in. - - * TAO_IDL/be/be_typedef.cpp: Some extra indentation was getting - generated for typecodes. This is fixed. - - * TAO_IDL/be/be_state_argument.cpp: For parameters of type - ObjRefs, we were not passing the address of the object_ptr to the - Any constructor. This would have caused seg faults when - decoding. This is now fixed. - - * TAO_IDL/be: Split be_state.cpp into a number of files based on - the IDL types, e.g., be_state_struct.cpp, be_state_union.cpp, ... - - * TAO_IDL/be/be_sequence.cpp: Name creation now uses a uniform - strategy rather than typedefed sequences assuming the name of the - typedef and anonymous sequences getting a generated name. This was - required to eliminate a number of multiple declarations errors. - - * TAO_IDL/be/be_state_union.cpp: Since C++ does not allow - instances of classes to appear inside a union declaration, the - private data members for data members of type objref, strings, - sequences, and anys must be pointers. This changes code in the - accessor methods defined in the generated *.i files for the union. - - * TAO_IDL/be/be_operation.cpp: There were some instances of the - incorrectly spelled _tao_enviroment remaining which have been - corrected. - - * TAO/tao/managed_types.{h,i,cpp}: Added these 3 files that define - the self managed data type similar to a String_var. These self - managed data types are required for struct/union members that are - strings or obj references, as well as for element types of - sequences. - - * TAO_IDL/be/be_typedef.cpp: Added code to generate the typecode - structure for typedefs. These use the tk_alias kind field. - - * TAO_IDL/be/{be_union,be_state}.cpp: Improvements to union with - string members. However, this is still incomplete and will be - done by the next couple of commits. - - * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp: Removed the ACE_DEBUG - stmt for printing object keys. - -Sat Nov 15 18:03:39 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp (make_cubit): We don't - need to free up the object key since it's no longer allocated - dynamically. - - * tao/object: Changed the _get_name() method to return const char - * to be consistent with the iiopobj change below. - - * tao/iiopobj: Fixed _get_name() so that it doesn't allocate - memory by having it return const char * and just return the - pointer. This should fix some subtle problems. - -Sat Nov 15 12:19:55 1997 Nanbor Wang <nw1@merengue.cs.wustl.edu> - - * TAO_IDL/be/be_codegen.cpp: Changed two loop counters from type - int to type size_t. - -Sat Nov 15 01:33:08 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.30, released Sat Nov 15 01:33:08 1997. - -Fri Nov 14 19:45:01 1997 Sergio Flores <sergio@polka.cs.wustl.edu> - - * tests/Cubit/TAO/DII_Cubit/clnt.cpp : - * tests/Cubit/TAO/DII_Cubit/clnt.h : - * tests/Cubit/TAO/IDL_Cubit/clnt.cpp : - - Fixed the difference in latency problem from DII and IDL. - - Changed the DII_Cubit client interface to be similar to IDL, now - you can specify hostname and port number, instead of the IOR. - -Fri Nov 14 17:48:14 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * orbsvcs/bin/Naming_Service/CosNaming_i.cpp: - Fixed problem with the new Environment parameter for _narrow (). - - * orbsvcs/bin/Naming_Service/Makefile: - No need to include rules.bin.GNU. - -Fri Nov 14 17:08:20 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> - - * tao/iiopobj.cpp: Make sure that host is set to 0 in all the - constructors. - - * tao/iiopobj.cpp (Profile): Modified the code to consistently - store a NUL at the end of each object key string. - -Fri Nov 14 17:10:20 1997 Sumedh Mungee <sumedh@lindy.cs.wustl.edu> - - * cubit_i.cpp: Changed &d to %d in ACE_ERROR - -Fri Nov 14 16:42:21 1997 Chris Cleeland <cleeland@tango.cs.wustl.edu> - - * tao/tao_internals.cpp (fake_service_entries_i): Made sure that - the resource factory faked entry had the proper number of - arguments specified. - -Fri Nov 14 14:11:47 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * orbsvcs/lib/Makefile: - Added new library that contains the stubs and skeletons for the - TAO services. - - * orbsvcs/Makefile: - * orbsvcs/bin/Makefile: - * orbsvcs/tests/Makefile: - Added top level Makefiles. - - * orbsvcs/bin/Naming_Service/Makefile: - * orbsvcs/bin/Naming_Service/svr.cpp: - * orbsvcs/bin/Naming_Service/svc.conf: - * orbsvcs/bin/Naming_Service/NS_CosNaming.h: - * orbsvcs/bin/Naming_Service/NS_CosNaming.cpp: - * orbsvcs/bin/Naming_Service/CosNaming_i.h: - * orbsvcs/bin/Naming_Service/CosNaming_i.cpp: - Moved the naming service implementation from the TAO - subdirectory to this place. - - * orbsvcs/tests/Simple_Naming/Makefile: - * orbsvcs/tests/Simple_Naming/svc.conf: - * orbsvcs/tests/Simple_Naming/clnt.h: - * orbsvcs/tests/Simple_Naming/clnt.cpp: - A simple test program for the naming service, it simply tries to - locate it and connect to it. - - * orbsvcs/bin/Naming_Service/Orbix/Client.cpp: - * orbsvcs/bin/Naming_Service/Orbix/CosNaming.idl: - * orbsvcs/bin/Naming_Service/Orbix/Makefile: - * orbsvcs/bin/Naming_Service/Orbix/NS_CosNaming.cpp: - * orbsvcs/bin/Naming_Service/Orbix/NS_CosNaming.h: - * orbsvcs/bin/Naming_Service/Orbix/logger-main.cpp: - * orbsvcs/bin/Naming_Service/Orbix/logger.idl: - * orbsvcs/bin/Naming_Service/Orbix/logger_tie.cpp: - * orbsvcs/bin/Naming_Service/Orbix/logger_tie.h: - * orbsvcs/bin/Naming_Service/Orbix/server-main.cpp: - * orbsvcs/bin/Naming_Service/TAO/CosNaming.idl: - * orbsvcs/bin/Naming_Service/TAO/CosNaming_i.cpp: - * orbsvcs/bin/Naming_Service/TAO/CosNaming_i.h: - * orbsvcs/bin/Naming_Service/TAO/Makefile: - * orbsvcs/bin/Naming_Service/TAO/NS_CosNaming.cpp: - * orbsvcs/bin/Naming_Service/TAO/NS_CosNaming.h: - * orbsvcs/bin/Naming_Service/TAO/clnt.cpp: - * orbsvcs/bin/Naming_Service/TAO/clnt.h: - * orbsvcs/bin/Naming_Service/TAO/svc.conf: - * orbsvcs/bin/Naming_Service/TAO/svr.cpp: - We will only maintain the TAO version for the naming service, no - need to keep this subdirectories. - - * orbsvcs/lib/RtecScheduler.idl: - The Real Time Scheduling Service. This module declares the QoS - structures (RT_Info) and the interface for the global scheduler. - - * orbsvcs/lib/RtecEventComm.idl: - Part of the Real Time Event Services interface, this file - contains the Event type, the basic interfaces for consumers and - suppliers and some exceptions. - - * orbsvcs/lib/RtecEventChannelAdmin.idl: - Part of the Real Time Event Services interface, in particular - this module defines the event channel, the proxy interfaces and - the QoS aware subscription and registration interfaces. - - * orbsvcs/lib/Event_Service_Constants.h: - The Event Service implementation and the Scheduling Service - implementation require this file, which defines some constants - and static limits. For lack of a better place I putted it here. - - * orbsvcs/lib/CosNaming.idl: - Moved the IDL file to the library, otherwise it cannot be used - by clients. - - * tao/corba.h: - Added some macros that support portable exception handling, - either through C++ exceptions or the CORBA::Enviroment - parameter. - - * orbsvcs/lib/RtecEventCommC.h: - * orbsvcs/lib/RtecEventCommC.i: - * orbsvcs/lib/RtecEventCommC.cpp: - * orbsvcs/lib/RtecEventCommS.h: - * orbsvcs/lib/RtecEventCommS.i: - * orbsvcs/lib/RtecEventCommS.cpp: - * orbsvcs/lib/RtecEventChannelAdminS.h: - * orbsvcs/lib/RtecEventChannelAdminS.i: - * orbsvcs/lib/RtecEventChannelAdminS.cpp: - * orbsvcs/lib/RtecEventChannelAdminC.h: - * orbsvcs/lib/RtecEventChannelAdminC.i: - * orbsvcs/lib/RtecEventChannelAdminC.cpp: - * orbsvcs/lib/CosNamingC.h: - * orbsvcs/lib/CosNamingC.i: - * orbsvcs/lib/CosNamingC.cpp: - * orbsvcs/lib/CosNamingS.h: - * orbsvcs/lib/CosNamingS.i: - * orbsvcs/lib/CosNamingS.cpp: - I had to modify the IDL compiler generated files, I will keep - the files in CVS until we no longer need to modify it. - -Fri Nov 14 13:02:52 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * tao/decode.cpp: TAO_Marshal_Objref::decode line 615 which tried - to set the underlying object_addr was invoking an incorrect inline - function because of lack of passing an argument to the object_addr - () method. Specifically, due to the lask of argment, the - "retrieve" method was getting called whereas we wanted the "set" - method. All we do is pass a 0 (NUL) argument. This suffices - because we have already decoded the host and port number. So all - information is with us to set the server address. - -Fri Nov 14 00:29:09 1997 David L. Levine <levine@cs.wustl.edu> - - * TAO_IDL/fe/lex.yy.cpp: set RCS -ko option so that the Id keyword - won't get expanded on checkout. That was causing CVS to think - that a merge was needed. - -Thu Nov 13 19:11:36 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> - - * tao/giop.cpp (start): Updated the code to use the new - object_addr() style. - - * tao/iiopobj: Added many fixes to the Profile code to fix nasty - bugs. Also, renamed {get|set}_object_addr() to simply - object_addr(), which is the correct style. - - * tao/iiopobj.h: Replaced the use of "localhost" with - ACE_DEFAULT_SERVER_HOST. This is necessary to support broken - platforms like MVS that don't support "localhost"... - - * TAO/tests/Cubit/TAO/IDL_Cubit/svr.cpp (parse_args): Assume for - the moment that any arguments starting with `-O' are `-ORB' or - `-OA'. This should be fixed by having the ORB_init() and - POA_init() methods consume their argv/argc's. - -Thu Nov 13 16:18:32 1997 <nw1@CHA-CHA> - - * tao/orb_core.h: - * tao/default_client.h: - * tao/default_server.h: Changed ACE_SVC_FACTORY_DECLARE to - ACE_FACTORY_DECLARE. - - * tao/orb_core.cpp: - * tao/default_client.cpp: - * tao/default_server.cpp: Changed ACE_SVC_FACTORY_DEFINE to - ACE_FACTORY_DEFINE. - - * tao/corba.h: Added include "tao/tao_internals.h". - - * tao/tao_internals.h: Disable header file inclusions. I've put - this file into corba.h. - - * tao/tao_internals.cpp: Changed to use "tao/corba.h". - - * tao/TAO.mak: - * tao/TAO.dsp: Replaced ACE_BUILD_SVC_DLL with TAO_BUILD_DLL. - - * tao/corba.h: Added TAO_Export definition. - - * tao/*.h: Replaced ACE_Svc_Export with TAO_Export. Added - default definition to build TAO DLL on Win32. - -Thu Nov 13 01:47:02 1997 Chris Cleeland <cleeland@macarena.cs.wustl.edu> - - * tao/iiopobj.cpp (IIOP_Object): Removed the duplicate CTORs that - I'd accidentally included here during the prior merge/commit - phase. - -Wed Nov 12 23:59:29 1997 <nw1@COYOTE> - - * TAO/TAO_IDL/tao_idl.dsp: Changed to generate multithreaded codes - on NT. - - * TAO/TAO_IDL/be/be_scope.cpp: - * TAO/TAO_IDL/fe/idl.ll: - * TAO/TAO_IDL/fe/lex.yy.cpp: - * TAO/TAO_IDL/fe/y.tab.cpp: - * TAO/TAO_IDL/include/ast_decl.h: - * TAO/TAO_IDL/include/idl.h: - * TAO/TAO_IDL/include/utl_identifier.h: - * TAO/TAO_IDL/include/utl_idlist.h: - * TAO/TAO_IDL/include/utl_tmpl/utl_decllist.h: - * TAO/TAO_IDL/include/utl_tmpl/utl_exceptlist.h: - * TAO/TAO_IDL/include/utl_tmpl/utl_exprlist.h: - * TAO/TAO_IDL/include/utl_tmpl/utl_idlist.h: - * TAO/TAO_IDL/include/utl_tmpl/utl_labellist.h: - * TAO/TAO_IDL/include/utl_tmpl/utl_namelist.h: - * TAO/TAO_IDL/include/utl_tmpl/utl_strlist.h: Changed to use - "ace/stdcpp.h" and removed inclusion of header files that - conflict with standard C++ library. - -Wed Nov 12 18:59:20 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/iioporb.cpp: Added call to set object address in Profile. - - * tao/iiopobj.cpp: Corrected code in the copy CTOR where the host - was being copied over the old host. This could prove bad if the - amount of space allocated previously was too small for the - hostname we're copying in. Ideally we'd use something smarter - than this, but hopefully (if you read the comment below) this will - go away soon. - - * tao/iiopobj.*: Added an ACE_INET_Addr to IIOP::Profile so that - we only need to do a gethostbyname() once. After that we can used - the cached information. I'd really like to remove the host/port - as explicit public data members, but for now we take one step at a - time. - - * tao/giop.cpp: Use the IIOP::Profile object address when making a - connection. - - * tao/decode.cpp: Added code to set the object address in the - Profile when an object ref is decoded. - - * tao/debug.h: Removed old questions in comments. - - * tao/connect.h: Added some documentation. - -Wed Nov 12 17:41:02 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * tao/iiopobj.cpp: I had forgotten to update the return type of - _get_name in iiopobj.cpp to "char *" instead of "const char *". - -Wed Nov 12 14:28:48 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/ast/ast_union.cpp: Fixed a problem where the front end - would not give any error if there were duplicate case labels. This - was happening since an overloaded == operator taking an - AST_Expression* was not getting called. Instead a simple - comparison of addresses was taking place. We now use the "compare" - method defined on the AST_Expression class to fix this problem. - - * TAO_IDL/be/be_interface.cpp: Removed some code under #if 0. The - noteworthy change, however, has to do with code that gets - generated for the "_is_a_skel". Some compilers were issuing a - warning saying "unused argument obj". Since we cannot change the - signature of the generated "_is_a_skel", we use the trick of - generatung ACE_UNUSED_ARG (obj); in the code. Some other - formatting changes made. - - * TAO_IDL/be/be_operation.cpp: Some very minor changes so that the - generated code is properly indented. - - * tao/{iiopobj,object,stub}.h, iiopobj.cpp: Changed the return - type of _get_name to return a heap-allocated "char *". In the - earlier case we were erroneously returning a pointer to local - array. This was a change I made a couple of days back to deal with - the fact that object keys are octet arrays and are not null - terminated. Now we take the object key and make a NULL terminated - copy in a heap allocated string. It is the caller's responsibility - to free this. - - * tao/tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp: Used string_free to - free the string returned by _get_name. - - * tao/tests/Thruput/client.cpp: _narrow now uses the additional - env parameter. - -Wed Nov 12 09:22:47 1997 David L. Levine <levine@cs.wustl.edu> - - * tao/tao_internals.cpp (open_services): added ACE_UNUSED_ARGs - for argc and argv if TAO_PLATFORM_SVC_CONF_FILE_NOTSUP. - - * TAO_IDL/Makefile: disabled clean and realclean targets on VxWorks, - so that they don't remove tao_idl from the host build tree. - -Tue Nov 11 23:50:06 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.29, released Tue Nov 11 23:50:06 1997. - -Tue Nov 11 20:45:26 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> - - * tao/default_server.cpp (parse_args): Replaced NULL with 0. - - * tao/corbacom.h: Fixed the macro for TAO_SYSTEM_EXCEPTION so - compilers don't whine about extra semi-colons. - - * tao/iioporb.cpp (iiop_string_to_object): Added a cast of (char - *) 0 to disambiguate one of the methods. - - * tao/iiopobj.cpp: Moved the constructors and destructors of - IIOP_Object from the *.i file to the *.cpp file and made them - non-inline. - -Tue Nov 11 18:19:16 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * tao/iiopobj.{h,cpp}: Added two new constructors one of which is - useful for the _bind call generated by the IDL compiler. This - constructor takes the host name, port number, and key value - thereby avoiding the costly string2object call inside the _bind - method. The second constructor is used to reduce the amount of - code that gets generated to set a IIOP_Object in the constructor - of the skeleton class. - - Additionally, these constructors use the REENTRANT get_host_name - method of the INET_Addr class to retrieve the host name. - - * tao/iiopobj.h,stub.h: Modified the signature of _get_name to - return a const char*. So users will have to copy this value. - - * tao/iiopobj.cpp: The method _get_name uses an internal character - array in which the object key is copied. This is necessary so that - we can NULL terminate the opaque key and return it to the user. - - * tao/orbconf.h,cdr.h: Commented (and will eventually remove) the - defintion of MY_BYTE_SEX from cdr.h. Instead, we now use the macro - TAO_ENCAP_BYTE_ORDER which gets defined in orbconf.h. The files - affected due to this renaming are: - - tao/{iioporb.cpp, giop.cpp, except.cpp, cdr.cpp, encode.cpp, - interp.cpp, tc_const.cpp} - - The following files in the IDL compiler source were affected since - they had to generate TAO_ENCAP_BYTE_ORDER instead of MY_BYTE_SEX. - TAO_IDL/be/{be_array,be_enum,be_interface,be_sequence,be_structure, - be_union}.cpp - - * tao/{typecode,decode}.cpp: some reformatting, indentation. - - * TAO_IDL/be/be_interface.cpp: code generated for _bind uses the - newly added constructor to class IIOP_Object. - - * TAO_IDL/be/{be_interface.be_state}.cpp: Code generated for - _narrow now takes an additional CORBA::Environment parameter. - - * tests/Cubit/TAO/IDL_Cubit: cubit_i.cpp - in the method - make_cubit, we make a copy of the string returned by _get_name and - then free that memory. - - clnt.cpp: The tests for unions have been uncommented. The reason - they were not working and resulting in seg fault was that methods - of the cubit interface were being invoked on the factory object. - -Tue Nov 11 10:07:04 1997 David L. Levine <levine@cs.wustl.edu> - - * tests/Cubit/TAO/DII_Cubit/Makefile: added missing before (VAR) - in VBIN definition. - - * tao/orbconf.h: added __i386 to TAO_WORDS_BIGENDIAN check, - because that's what g++/VxWorks uses. Also added __alpha - to little endian CPUs. - - * tao/orb_core.i: fixed preprocessor test for using the - ACE_Hash_Addr<ACE_INET_Addr>::hash_i specialization. - -Tue Nov 11 04:22:44 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.28, released Tue Nov 11 04:22:44 1997. - -Tue Nov 11 01:16:07 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tao/orbobj.cpp (resolve_name_service): Reformatted the - multicast Name Service locator just a bit. - - * tao/orbconf.h: Started putting a more sane way of automatically - determining the size of various datatypes into TAO. - -Tue Nov 11 00:36:39 1997 Sergio Flores <sergio@macarena.cs.wustl.edu> - - * orbsvcs/bin/Logger/ior_multicast.h: - * orbsvcs/bin/Logger/ior_multicast.cpp: - * orbsvcs/bin/Logger/clnt.cpp: - * orbsvcs/bin/Logger/clnt.cpp: - * orbsvcs/bin/Logger/svr.cpp: - * orbsvcs/bin/Logger/Makefile: - Added multicast resolution of the logger service example. - -Tue Nov 11 00:36:39 1997 Sergio Flores <sergio@macarena.cs.wustl.edu> - - * tao/orbobj.cpp (resolve_name_service): changed macro for default - multicast port. - - Added support for multicast mechanism to resolve the name - service. - - * tao/orbconf.h: Added some definitions for TAO's default - multicast and reply port, and the default timeout value. - -Tue Nov 11 00:00:25 1997 David L. Levine <levine@cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/Makefile: removed MUNCHED because - it's no longer needed for g++/VxWorks. - -Mon Nov 10 22:02:42 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> - - * tao/interp.cpp (declare_entry): Moved TAO_ALIGNMENT_MAGIC_NUMBER - to orbconf.h instead of burying it in interp.cpp. - - * tao/corbacom.h: Rather than trying to guess what the size of - wchar_t, let's just use what's in ACE. - -Mon Nov 10 19:26:03 1997 Sumedh Mungee <sumedh@lindy.cs.wustl.edu> - - * tao/orbconf.h (SIZEOF_INT): FreeBSD and NetBSD have 4 byte - ints. Thanks to Nanbor for pointing this out. - - * tao/orbobj.cpp: Added template instantiation for ACE_Atomic_Op. - - * tao/orbconf.h: NetBSD has a long double of size 12, as does - FreeBSD. Fixed SIZEOF_LONG_DOUBLE to fix this. - - * tests/Cubit/TAO/MT_Cubit/server/svr.cpp (main): Removed cerr's - and replaced them with ACE_ERROR_RETURN's and the like. - -Mon Nov 10 01:25:19 1997 <nw1@COYOTE> - - * tao/giop.h: Added ACE_Svc_Export to classes - (TAO_GIOP_Request_Header, TAO_GIOP_Invocation, TAO_GIOP.) Some - of them may not be necessary. - -Mon Nov 10 00:09:24 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.27, released Mon Nov 10 00:09:24 1997. - -Sun Nov 09 23:43:04 1997 <irfan@TWOSTEP> - - * tao/corba.h: Reordered the inclusion of poa.i, giop.i, - iioporb.i, and iiopobj.i - - * tao/tao_internals.cpp (close_services): Fixed typo. - -Sun Nov 09 23:32:58 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.26, released Sun Nov 09 23:32:58 1997. - -Sun Nov 09 22:04:12 1997 <irfan@TWOSTEP> - - * tao/orbobj.cpp (ORB_init): - * tao/tao_internals.cpp (close_services): - - Changed ACE_Recursive_Thread_Mutex to ACE_SYNCH_RECURSIVE_MUTEX. - -Sun Nov 9 16:05:56 1997 Sergio Flores <sergio@macarena.cs.wustl.edu> - - * tests/Cubit/TAO/DII_Cubit/clnt.cpp: * - tests/Cubit/TAO/DII_Cubit/clnt.h: Added clnt.h and restructured - the code so it is similar to the IDL_Cubit example. It doesn't, - however, have the same options because the DII example uses an ior - as input. - - * tao/debug.cpp: Added dummy function to get rid of - "'debug_stream' defined but not used" warning. - -Sun Nov 9 13:03:37 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> - - * tao: Removed the svc.conf.eg file since it was out of date. - - * tao/svrrqst: Removed the #include for svrrqst.i since we don't - need any inline functions now. - - * tao/tao_internals: Removed the #include for tao_internals.i - since we don't need any inline functions now. - - * tao/varout.h: Cleaned up the programming style. - - * tao: Continued to replace all fields with names _foo to foo_. - - * tao/iioporb.cpp: Move the hex routines into ACE since they are - more general. - - * tao/iioporb.cpp: Removed the inclusion of iioporb.i since it is - already included in corba.h. - - * tao: Replaced all uses of ACE_Thread_Mutex with ACE_SYNCH_MUTEX - since this is portable... - - * tao/iiopobj.cpp: Removed the inclusion of iiopobj.i since it is - already included in corba.h. - - * tao/giop.cpp: Moved several large inlined methods into the *.cpp - file. - - * tao/giop: Removed the enormous (and unused) incoming_message() - method. - - * tao/giop.cpp: Removed the inclusion of giop.i since that is - handled in corba.h. - - * tao: Removed the factories.i and factories.cpp files since they - don't seem to be used by anything. - - * tao/{corbacom,except}.*: Changed SYSEX to the more politically - correct TAO_SYSTEM_EXCEPTION. - - * tao: Replaced all uses of wslen() and wscpy() with the - corresponding ACE_OS wide string functions. - - * tao/orbconf.h: Removed all the HAVE_WIDEC_H stuff. This should - be handed by ACE. - - * tao/connect.i: Removed the template instantiations since they - were commented out and didn't appear to be used. - - * tao/connect.cpp: connect.i was already being included in corba.h, - so don't include it again. - - * tao/client_factory.cpp: Moved inlined constructor/destructor - from the *.i file into the *.cpp file. - - * tao/cdr.cpp (CDR): Moved a bunch of absurdly long inlined methods - from the *.i file into the *.cpp file. - - * tao/any.cpp (CORBA_Any): refcount_ has previously been - uninitialized. I gave it a value of 1. - - * tao/any.cpp (CORBA_Any): Moved the initialization into the - base/member section, where it belongs. - - * tao/any.h: Corrected a spelling mistake in an enumeral and - upper-cased the minor codes for exceptional returns. Are these - actually used anywhere? - - * tao: Removed all the unnecessary #if 0 ... #endif header files. - I don't know why there were still there. - - * tao/except.h: Moved the #ifdef for minor and major into - orbconf.h, where they belong. - - * tao/orbconf.h: Removed all the DECLARED_* macros since they - no longer made sense once we've got ACE. - - * tao/orbconf.h: Moved the TAO_DEFAULT* macros from ace/OS.h - here, which is more where they belong. - - * tao/default_server.cpp (TAO_Default_Server_Strategy_Factory): - - * tao/{debug.h,orbconf.h}: Removed the DECLARED_STRERROR macro - since ACE handles this. - -Sun Nov 09 10:18:06 1997 David L. Levine <levine@cs.wustl.edu> - - * tao/connect.cpp: fixed RCS keyword (Id instead of id). - -Sat Nov 08 23:23:41 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.25, released Sat Nov 08 23:23:41 1997. - -Sat Nov 8 21:27:34 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> - - * tao/orb_core.cpp (init): Removed the code that always binded us - to our hostname. This is unnecessary and makes it hard to use - other interfaces on the same host (such as localhost or some ATM - interface, etc.). With this change (and the corresponding - changes to ACE_INET_Addr::get_host_name()), we can now bind to - INADDR_ANY. - - * docs/releasenotes: Added Marina's documentation for the Trader - and cleaned up all the other entries to make them consistent. - - * tao: Changed ProfileBody to Profile, TaggedProfile to - Tagged_Profile, ProfileSeq to Profile_Sequence, and ProfileId to - Profile_ID. - - * tao/iiopobj.cpp (ProfileBody): For some god knows why reason, - the CORBA::String and CORBA::UShort parameters to ProfileBody - where being passed as references. This is silly, so I changed - them to non-references. - - * tao/connect.cpp (open), - tao/poa.cpp (create): Replaced a use of - ACE_INET_Addr::get_host_name(void) with - ACE_INET_Addr::get_host_name (char *, size_t), which is - reentrant. - - * tao/Makefile: Removed the DCFLAGS, OCFLAGS, and the TAO_ORB_CORE - target macros from the Makefile since they were unnecessary. - Thanks to Arturo for reporting this. - - * tao/except.cpp (print_exception): Fixed a strange format code in - print_exception that was causing a seg fault. What the heck - does %#lx mean? Thanks to Mark L Boriack <mark@vtcibm4a> for - reporting this. - -Fri Nov 07 21:23:35 1997 Carlos O'Ryan <coryan@MILONGA> - - * tao/orb_core.h: - * tao/marshal.h: - * tao/corbacom.h: - Added ACE_Svc_Export to some classes. - - * tao/any.cpp: - Removed delete after DEEP_FREE call, it crashes on NT and it - should be unneeded. - - * TAO_IDL/be/be_state.cpp (gen_code): - When generating arguments for the server header don't use nested - types. The fully qualified type name is needed, even on NT. - - * TAO_IDL/be/be_exception.cpp: - Added code to generate a default constructor. - -Fri Nov 07 17:26:49 1997 <nw1@CHA-CHA> - - * tao/TAO.dsp: - * tests/Cubit/TAO/DII_Cubit/{client,server}.dsp: - * tests/Cubit/TAO/IDL_Cubit/{client,server}.dsp: - * tests/Cubit/TAO/MT_Cubit/client/client.dsp: Removed - ACE_HAS_TSS_ORB_CORE flag. - - * tests/Cubit/TAO/MT_Cubit/client/client.cpp (main): Added a - return statement to satisfy MSVC. - -Fri Nov 7 18:20:46 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/{client,server}/svc.conf: Updated to - reflect the proper combination of options to achieve the - thread-per-ORB-per-rate concurrency model. - - * docs/components.html: Updated to refer to seminal documentation - referred to below. - - * docs/configurations.html: Started some new documentation. It's - got a ways to go right now. :-) - -Fri Nov 07 15:42:45 1997 David L. Levine <levine@cs.wustl.edu> - - * tao/default_server.cpp (parse_args): check for 0 argv[curarg] - before calling strcmp on it. - - * tests/Cubit/TAO/IDL_Cubit/Makefile: added MUNCHED for - VxWorks/g++. - -Fri Nov 7 10:30:59 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/tao_internals.cpp (fake_service_entries_i): Updated faked - service entries to include new Resource Factory. This is the - fallback for VxWorks. - - * tao/orb_core.h (TAO_Resource_Factory): Added much comments. - -Fri Nov 07 02:45:56 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.24, released Fri Nov 07 02:45:56 1997. - -Fri Nov 7 01:58:30 1997 Nanbor Wang <nw1@coyote.wolfpack.cs.wustl.edu> - - * TAO_IDL/driver/drv_preproc.cpp: - * TAO_IDL/driver/drv_fork.cpp: Added the (__FreeBSD__) flag to - correctly include wait.h file. - - * tao/orb_core.cpp: Replaced ACE_NETBSD with ACE_HAS_THREADS in - template instantiation segment. - - * tao/orbconf.h: Added the (__FreeBSD__) flag to exclude inclusion of - widec.h. - - * tao/orbobj.cpp (Release): Wrapped ACE_GUARD with ACE_MT macro. - -Fri Nov 07 01:46:04 1997 <irfan@TWOSTEP> - - * tests/Cubit/TAO/DII_Cubit/(cubitC.cpp, cubit.cpp): Byte order - changed from 1 to MY_BYTE_SEX. - -Thu Nov 6 23:59:45 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> - - * tao/params.cpp: Moved all the inlined methods out of the header - file and put them in the *.cpp file. I hope this doesn't cause - problems for GCC on VxWorks. - - * tests/Thruput_test/client.cpp: Fixed a mistake with how - the long string constant was defined. The scheme being - used wasn't portable. - -Thu Nov 06 20:58:52 1997 <irfan@TWOSTEP> - - * tao/connect.cpp: Made sure that TAO_Server_Connection_Handler - and TAO_Client_Connection_Handler have a zero Reactor pointer. - If this is not the case, they will try to deregister from a - sometimes non-existent Reactor. - -Thu Nov 6 19:06:59 1997 Sergio Flores <sergio@polka.cs.wustl.edu> - - * docs/releasenotes/index.html: Updated status of Naming Service - port to TAO. - - * TAO_IDL/be/be_exception.cpp (gen_client_header): - removed warning for unused variable. - -Thu Nov 6 17:07:58 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/tao_internals.i: Added missing #include file. - - * tao/tao_internals.i: Change lock used as monitor for service - count to use ACE_Static_Object_Lock::instance(). This pleases - VxWorks (but makes me nauseous). - - * tao/tao_internals.h: Removed static instances of locks to please - VxWorks. - - * tao/orbobj.cpp (ORB_init): Changed lock used for the monitor - here to be ACE_Static_Object_Lock::instance(). This pleases - VxWorks (but makes me nauseous). - - * tao/orb_core.cpp (init): Merged in changes for new Naming - Service-related options that got accidentally overwritten last - night. - - * docs/Options.html: Added documentation for new Naming - Service-related options in. - - * tao/orbobj.h: Added documentation for a few static methods. - - * tao/params.h: Changed LOCAL_INLINE macro to TAO_LOCAL_INLINE to - avoid possible collisions with application macros. - -Thu Nov 6 14:51:22 1997 Sumedh Mungee <sumedh@lindy.cs.wustl.edu> - - * TAO_IDL/Makefile: Renamed libutil to libtao_idl_util. libutil is - a system library on NetBSD. Updated TAO_IDL/util/Makefile to be - compatible with this. - - * TAO_IDL/be/be_codegen.cpp (server_header): Changed ::toupper to - be toupper, since toupper is a macro on some platforms (like - netbsd). - - * TAO_IDL/driver/{drv_preproc.cpp, drv_fork.cpp}: NetBSD has - sys/wait.h, instead of wait.h. Added #define to fix it. - -Thu Nov 6 01:40:29 1997 Sumedh Mungee <sumedh@macarena.cs.wustl.edu> - - * tao/tao_internals.h: #defined ACE_Thread_Mutex to be - ACE_Null_Mutex for NetBSD. - - * tao/orbconf.h: Added NetBSD to the #define around HAVE_WIDEC_H. - - * tao/orb_core.cpp: #defined around some thread-specific template - instantiations which are not needed on NetBSD. - - * tao/except.h: Undefined "minor" and "major, since these are - defined in NetBSD. - -Thu Nov 06 14:47:15 1997 David L. Levine <levine@cs.wustl.edu> - - * tao/params.[hi]: inlined some functions in the class declaration - because g++ for VxWorks couldn't deal with them in the .i file. - - * tao/tao_internals.*,orbobj.cpp: fixed replacement of orbinit_lock_ - and service_lock_ with ACE_Static_Object_Lock::instance (). - -Thu Nov 06 02:17:02 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.23, released Thu Nov 06 02:17:02 1997. - -Wed Nov 5 23:44:42 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> - - * tao/{orbobj,iioporb}.h: Made the first parameter to - string_to_object() a const CORBA::String rather than just a - CORBA::String. - - * tao/params (addr): Fixed a bug where we should have been using - const ACE_INET_Addr & rather than just ACE_INET_Addr &. - - * tao/orbobj: Began adding the hooks for a multicast-based - implementation of resolve_initial_references(). - - * tao/params: Added a new set/get interface to optionally set/get - the IOR of the configured Naming Service. - - * tao/orb_core.cpp (init): Added a -ORBnameservice command-line - option. If this option is given, it indicates the IOR where the - Naming Service resides. - - * tao/params: Changed the signature of TAO_ORB_Parameters::addr() - to return a const ACE_INET_Addr & rather than an ACE_INET_Addr. - - * tao/params: Added new get/set name_service_port() methods to - get/set the name service multicast port. - -Wed Nov 5 22:38:08 1997 Sergio Flores <sergio@macarena.cs.wustl.edu> - - * tests/Thruput_test/client.cpp (main): - * tests/Thruput_test/server.cpp (main): Fixed missing declarations - and unused variables and labels. Fixed uninitialized and unused - variables. - - * tests/Thruput_test/ttcp_i.cpp (ttcp_sequence_i): - * tests/Thruput_test/ttcp_i.h (class ttcp_sequence_i): Change to - use POA. - - * tests/Cubit/TAO/DII_Cubit/README (server): Changed comment on - how to start the server to indicate the use of "-d" to see the - IOR. - - * tests/Cubit/TAO/IDL_Cubit/clnt.cpp (Cubit_Client): Reordered - member initializers to match declaration order - - * tests/Cubit/TAO/DII_Cubit/svr.cpp (main): Fixed comparison of - ">=" on an unsigned variable to compare only ">". - -Wed Nov 05 20:35:52 1997 <irfan@TWOSTEP> - - * tao/orb_core.cpp (fini): Close down the connector. Other - ORB_Core specific objects also need to be cleaned up (and - deleted). - - * tests: Made sure that the orb pointer returned by ORB::init() is - correctly freed up. Following files were updated: - - TAO/tests/Cubit/TAO/DII_Cubit/clnt.cpp - TAO/tests/Cubit/TAO/DII_Cubit/svr.cpp - TAO/tests/Cubit/TAO/IDL_Cubit/clnt.cpp - TAO/tests/Cubit/TAO/IDL_Cubit/clnt.h - TAO/tests/Cubit/TAO/IDL_Cubit/svr.cpp - TAO/tests/Cubit/TAO/MT_Cubit/client/Task_Client.cpp - TAO/tests/Cubit/TAO/MT_Cubit/server/svr.cpp - TAO/tests/Cubit/VisiBroker/base_server/server.cpp - -Wed Nov 5 19:37:25 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL compiler: - - files be_array.cpp, be_interface.cpp, be_sequence.cpp, - be_structure.cpp, be_union.cpp, be_enum.cpp - Added MY_BYTE_SEX to - the typecode generation methods. - - be_operation.cpp, be_argument.cpp, be_state.cpp, be_codegen.* - - Modified to deal with _out parameters that are passed to the - actual upcalls in the server-side skeleton. - - Some minor changes involving removing commented-out code in the - constructors of some classes. - - * tests/Thruput_test: Some modifications. Still needs more work - get it to run. - -Wed Nov 05 19:26:44 1997 <nw1@COYOTE> - - * tests/Cubit/TAO/DII_Cubit/DII_Cubit.dsp: - * tests/Cubit/TAO/IDL_Cubit/IDL_Cubit.dsp: - * tests/Cubit/TAO/MT_Cubit/client/client.dsp: - * tests/Cubit/TAO/MT_Cubit/server/server.dsp: - * tao/TAO.dsp: Renamed debeg version of TAO library to TAO.dll for - NT. - -Wed Nov 05 13:39:19 1997 David L. Levine <levine@cs.wustl.edu> - - * TAO_IDL/Makefile: more hacks to not build the IDL compiler - on VxWorks. - -Wed Nov 05 12:53:53 1997 <irfan@TWOSTEP> - - * tao/interp.cpp: - - - Win32 does not use "fixed" byte alignment. Fixed the - setup_entry macro to take this into account. - - - (declare_entry) Seperated the declaration of the structs from - their use. This is necessary for the VC++4.2 compiler. - - * tests/Cubit/TAO/DII_Cubit/svr.cpp (main): Commented out debug - message, since obj is not declared. - -Wed Nov 05 01:41:34 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.22, released Wed Nov 05 01:41:34 1997. - -Wed Nov 5 00:48:58 1997 Sergio Flores <sergio@macarena.cs.wustl.edu> - - * tests/Thruput_test/utils.cpp: Delete static definitions of - functions. - - * tests/Thruput_test/ttcpS.cpp: - * tests/Thruput_test/ttcpC.cpp (_duplicate): - * tests/Thruput_test/client.cpp (main): - * tests/Thruput_test/ttcp_i.cpp (sendStructSeq): - * tests/Cubit/TAO/DII_Cubit/clnt.cpp: - * tests/Cubit/TAO/DII_Cubit/svr.cpp: Removed a couple of warnings - of unused and uninitialized variables. Included "ace/ACE.h" to - be able to have the _REENTRANT flag. - -Wed Nov 5 00:18:17 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/be_sequence.cpp: Added code to generate the missing - operator [] for sequences. - -Tue Nov 4 23:38:54 1997 Sumedh Mungee <sumedh@macarena.cs.wustl.edu> - - * tests/Cubit/TAO/MT_Cubit/{server,client}/Makefile: Removed the - (evil) TAO_HAS_TSS_ORB_CORE flag. Now this functionality is - provided by svc.conf. - - * tests/Cubit/TAO/MT_Cubit/: Fixed the server code to use the new - IDL compiler generated code. - - * TAO/tests/Cubit/TAO/MT_Cubit/client/Task_Client.cpp: Changed the - order of the initializers to remove g++ warnings, and added some - ACE_UNUSED_ARGs. Also removed the hand-crafted stubs, to make way - for the idl-compiler generated files. - -Tue Nov 4 23:21:29 1997 Sergio Flores <sergio@macarena.cs.wustl.edu> - - * tests/Cubit/TAO/DII_Cubit/clnt.cpp (main): - * tests/Cubit/TAO/IDL_Cubit/clnt.cpp (run): Changed the format of the - output to be more readable. Also, fixed resolution of the time for - the cube_struct_dii() call. - -Tue Nov 4 21:12:48 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> - - * tao/except.h: Removed print_exception(). It seems unnecessary - and pollutes the global namespace. - -Tue Nov 4 16:58:12 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * {tests/Cubit/TAO/DII_Cubit,tests/Cubit/TAO/IDL_Cubit, - tests/Cubit/TAO/MT_Cubit,tests/Demux_Test, - tests/Thruput_test}/Makefile: Added an explicit definition for - VBIN so that VxWorks can build properly. - - * tao/orb_core.*: Modified TAO_Resource_Factory so that it divides - the information that it tracks between pre-allocated resources and - resources which are allocated by the application. Specifically, - the orb and root poa pointers are in here (though it's possible - that when we move to a full POA implementation that the root poa - can be pre-allocated as well). These pointers are initialized to - zero and are given values by the TAO_ORB_Core instance writing - through back to the TAO_Resource_Factory instance. - - Also, this implementation reduced the number of singletons/TSS - singletons utilized by the resource factory. The initial - "get-it-working" cut used a singleton/tss singleton pair for every - resource, which was quite wasteful in environments such as NT that - don't have many TSS slots available. Perhaps if we get even more - clever this can be reduced even further. - - * tao/except.*: Added print_exception() function for backwards - compatibility. It simply calls - CORBA::Environment::print_exception(). - -Tue Nov 04 10:45:07 1997 <nw1@CHA-CHA> - - * TAO_IDL/fe/y.tab.cpp: Enclosed a #pragma ident with #if !defined - ACE_WIN32. Compilers other than SunCC might also need this. - -Tue Nov 4 13:47:26 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO/tests/Cubit/TAO/MT_Cubit: Modified the Makefiles in the - client and server directory so that they use the TAO IDL - compiler. Also added the clean and realclean targets. Updated the - server side cubit.idl because it was different from what the - client was using. - - * TAO_IDL compiler: Fixed the following problems - - (1) Removed the extra call to Release in the generated _narrow - method in be_interface.cpp - - (2) Used ACE_CORBA_1 (Object) instead of CORBA::Object in the - class declaration for interfaces - in be_interface.cpp - - (3) be_interface_fwd.cpp - var_impl had to be updated to generate - code that uses the ptr () method in the calls to _duplicate - - * TAO/tests/Cubit/TAO/IDL_Cubit: Fixed some outstanding issues and - made sure that it works. Updated the README file. - -Tue Nov 04 09:48:51 1997 David L. Levine <levine@cs.wustl.edu> - - * tao/orb_core.i: disabled the ACE_Hash_Addr<ACE_INET_Addr>::hash_i () - template specialization on g++/VxWorks because g++ - cygnus-2.7.2-960126 can't handle it. - - * tao/except.h (line 118): removed backslash at end of comment line. - Some compilers complain about that. - - * tao/except.cpp (CORBA_SystemException): reordered initializers to - match declaration order. - - * TAO_IDL/Makefile: don't build the IDL compiler on VxWorks. - -Tue Nov 04 06:26:14 1997 Carlos O'Ryan <coryan@MILONGA> - - * TAO_IDL/be/be_state.cpp: - It still generated fully qualified names for some sequences, - that will not work on NT. - -Tue Nov 04 05:32:44 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.21, released Tue Nov 04 05:32:44 1997. - -Tue Nov 4 04:42:17 1997 Sergio Flores <sergio@macarena.cs.wustl.edu> - - * tests/Thruput_test/server.cpp: - * tests/Thruput_test/client.cpp: - * tests/Thruput_test/ttcpS.cpp: - Fixed "print_exception" errors and errors due to some changes in - the orb compiler. - - * tests/Cubit/TAO/MT_Cubit/server/svr.cpp (svc): Use unsigned - int for variable that is used for positive comparisons only. - -Tue Nov 04 01:00:51 1997 <nw1@COYOTE> - - * tests/Cubit/TAO/IDL_Cubit/IDL_Cubit.dsw: Renamed former test.dsw - to IDL_Cubit.dsw. - - * tests/Cubit/TAO/IDL_Cubit/{client,server}.dsp: Renamed - executables for debug version to client.exe and server.exe on - NT. - - * tests/Cubit/TAO/DII_Cubit/DII_Cubit.dsw: Renamed former test.dsw - to DII_Cubit.dsw. - - * tests/Cubit/TAO/DII_Cubit/{client,server}.dsp: Renamed - executables for debug version to client.exe and server.exe on - NT. - - * tests/Cubit/TAO/IDL_Cubit/Cubit.mak: Added cubit.idl into - makefile and its custom build settings. - - * tests/Cubit/TAO/MT_Cubit/MT_Cubit.dsw: Renamed former - MTCubit.dsw to MT_Cubit.dsw. - -Mon Nov 03 23:16:06 1997 <nw1@COYOTE> - - * TAO_IDL/ast/ast_expression.cpp (coerce_value): Added an explicit - cast (float) to avoid NT warnging messages. - - * tests/Cubit/TAO/MT_Cubit/server/svr.cpp (svc): Removed - declaration of function print_exception. It's now a member - function of CORBA_Environment. - - * TAO_IDL/fe/y.tab.cpp: Commented out include <values.h>. This - was causing compilation errors on NT. - - * tests/Cubit/TAO/DII_Cubit/svr.cpp: - * tests/Cubit/TAO/DII_Cubit/clnt.cpp: Changed to use the new - CORBA_Environment::print_exception. - - * tao/except.h (CORBA_Environment): Added ACE_Svc_Export to this - class. - - * tests/Cubit/TAO/MT_Cubit/MTCubit.dsw: - * tests/Cubit/TAO/MT_Cubit/client/client.dsp: - * tests/Cubit/TAO/MT_Cubit/server/server.dsp: - * tests/Cubit/TAO/IDL_Cubit/client.dsp: - * tests/Cubit/TAO/IDL_Cubit/server.dsp: - * tests/Cubit/TAO/IDL_Cubit/test.dsw: Added new workspace and - project files. - - * TAO_IDL/tao_idl.dsp: Moved the output executables to the usual - place. - - * TAO_IDL/be/be.h: Added #ifdef'ed pragma to diable warning 4250 - on NT. This is only temporary and should be fixed later. - - * TAO_IDL/be/be_union.cpp (gen_var_defn): - * TAO_IDL/be/be_structure.cpp (gen_var_defn): - * TAO_IDL/be/be_array.cpp (gen_var_defn): Removed unused local - variables declaration (s). - -Mon Nov 3 23:25:30 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL Compiler: Files be_sequence.cpp, be_typedef.cpp, - be_state.cpp: Lots of improvements to get sequences to - work. Support for sequences of strings or obj references is - limited. But for all other cases, this seems to be working fine. - - There were some unnecessary lines of code in be_state.cpp that - were giving rise to multiple declarations errors. These are - removed. - -Mon Nov 3 18:30:09 1997 Sergio Flores <sergio@macarena.cs.wustl.edu> - - * tests/Cubit/TAO/IDL_Cubit/clnt.cpp (main): compare with - "!= 0" rather than "== -1" for errors. - - * tests/Cubit/TAO/IDL_Cubit/cubit.idl (enum discrim): Deleted - enumerations not used. - - * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp (please_exit): Fixed - unused variable. - - * tests/Cubit/TAO/IDL_Cubit/cubit_i.h (Cubit_Factory_i): - * tests/Cubit/TAO/IDL_Cubit/cubit_i.h (objrefs): Fixed invalid - comparison between a signed and unsigned variable. - - * tests/Cubit/TAO/IDL_Cubit/svr.cpp (main): Fixed comparison of - ">=" on an unsigned variable to compare only ">". - - * TAO_IDL/be/be_typedef.cpp (gen_client_stubs): Removed unused - variable warning. - - * TAO_IDL/fe/y.tab.cpp (yytoks): Added brackets to the array - of structures being initialized. - -Mon Nov 03 18:43:37 1997 Carlos O'Ryan <coryan@MILONGA> - - * TAO_IDL/be/be_operation.cpp: - "Fixed" skeleton generation code. Sometimes the formal parameter - names for the skeleton can clash with the user defined names for - the (IDL) method parameter names. - To minimize the chances of such a problem I choose very long - parameter names for the skeleton (things like <_tao_enviroment> - instead of just <env>), but the right solution is to ignore the - user defined parameter names and generate them using some - numbering scheme. - - * TAO_IDL/be/be_predefined_type.cpp: - Generate CORBA::_tc_Object as the TypeCode for all pseudo - object, this is a hack but works for the files we are using - right now (maybe it will fail for complex things, like the - interface repository). - - * TAO_IDL/be/be_sequence.cpp: - Fixed a number of minor problems: - Missing _ptr type for sequences. - The return type for T_var::operator-> was different in the - .h and .i file. - - * TAO_IDL/be/be_type.cpp: - tc_name_ and type_name_ were not initialized, producing some - segfaults under NT. - -Mon Nov 3 13:45:54 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * {tao,TAO_IDL/util,TAO_IDL/narrow,TAO_IDL/fe,TAO_IDL/driver, - TAO_IDL/be,TAO_IDL/ast,Benchmark/benchmark}/Makefile (SHLIB): - Fixed definition so that the extension was(SOEXT) rather than - hard-coded to "so". This makes things compile on VxWorks better. - Thanks to David Levine for pointing this out. - -Sun Nov 02 19:42:08 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.20, released Sun Nov 02 19:42:08 1997. - -Sun Nov 2 19:20:57 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO/tao/except.*: Made the "print_exception" utility function - as a method of class Environment. - - * TAO/tao/giop.cpp: In the TAO_GIOP_Invocation::start method, we - were previously not returning even if the connection establishment - phase was failing. A return statement is inserted. However, there - still are problems when the GIOP_Invocation variable called "call" - goes out of scope. - - * TAO_IDL Compiler: be_interface.cpp - The _bind call now - generates a "char IOR" instead of "static char IOR" since the - latter will be problematic with multiple threads. Thanks to - Arturo Montes <mitosys@colomsat.net.co> for pointing that out. - - * TAO/test/Cubit/TAO/IDL_Cubit : Improved the code so that it uses - the "print_exception" which is now defined on class - CORBA::Environment. The clnt still needs improvement in terms of - handling invalid parameters and gracefully exiting. - - * IDL_Compiler: The bug resulting out of encoding object - references has been fixed atleast on Solaris using g++ as well as - SunCC. Changes made to be_operation.cpp and be_state.cpp such that - the return value for object references is always of type - CORBA::Object_ptr rather than the real interface type. In - addition, keeping in perspective the change that Irfan made and - described below (in encode.cpp), the Any that holds the result - *does not* own the value. In contrast, for the rest of the cases - the result (of type Any) owns the result. - - * be_sequence.cpp: Additional work in progress. Full changelog - entry will be available in the next commit. - -Fri Oct 31 22:20:06 1997 <irfan@TWOSTEP> - - * tao/encode.cpp (encode): Changed cast of data from - *(CORBA::Object_ptr *) to (CORBA::Object_ptr). - - * tao/default_server.cpp (parse_args): Manipulation of curarg was - all messed up. Fixed it such that it was not incremented - unnecessarily. - -Fri Oct 31 13:46:04 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * docs/Options.html: Updated to specify new TAO_Resource_Factory - service and its options. - - * docs/releasenotes/orbcore.html: Updated to reflect recent work. - - * tao/orb_core.*: Added the acceptor and related members and - methods from CORBA_ORB. Made TAO_Resource_Factory a Service - Object so that it can be loaded via the Service Configurator. The - option to change its resources between global and thread-specific - is "-ORBresources global" and "-ORBresources tss", respectively. - - * tao/orbobj.*: Moved the acceptor and related members and methods - to TAO_ORB_Core. - - * tests/.../svc.conf: Added Resource Factory as a service. - - * tests/Cubit/TAO/{DII_Cubit,MT_Cubit}/cubitS.cpp, - tests/Thruput_test/ttcpS.cpp, tao/poa.cpp: Changed acceses that - used to go to CORBA_ORB::params() to go to TAO_ORB_Core::params(). - -Fri Oct 31 08:39:54 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL Compiler - Intermediate commit of all improved features. - - * be/be_type.* : Improved the nested_type_name method such that it - now takes an additional parameter called suffix that has a default - value of NULL. Carlos, Sergio, and myself independently found an - extremely bad piece of code that was getting generated that looked - like the following: - ACE_NESTED_CLASS (XXXX, YYYY)_ptr - - The new convention is to pass the suffix such as "_ptr", or "_var" - or "_out" to this method so that it can generate valid code of the - form: - ACE_NESTED_CLASS (XXXX, YYYY_ptr) - - * be/be_decl.cpp : All the methods such as repoID (), flatname - (), etc now check if the corresponding data member was created or - not. If they are not, the corresponding private method e.g., - compute_repoID (), are invoked. This way we do not have to call - all these private methods in the constructors of all the derived - be classes. The one compelling reason to do it this way is because - the "names" for certain types are not available at construction - time, e.g., sequences. A name to a sequence is assigned from the - context it is in i.e., whether it was a named sequence in the form - of a "typedef" statement or it was an anonymous sequence. - - As of this commit, all calls to such compute_* methods in the - constructors of all the derived be classes are commented out and - will eventually disappear in the next commit. - - * be/be_decl.cpp : One more change in be_decl.cpp is to add the - case for "interface_fwd" in the generation of the _var and _out - definitions and implementations. - - * be/be_helper.* : Added two new methods called "gen_ifdef_macro" - and "gen_endif". These are required to generate the #if !defined - (...) <code> #endif macros. These are very essential if the IDL - has forward declarations of interfaces. Forward declarations of - interfaces must generate a forward class declaration. In addition, - it has to typedef the "_ptr" type and define the "_var" and "_out" - types. However, the real "be_interface" class does this too which - can result in "multiple declarations" errors from the C++ - compiler. Hence we use this scheme. As in the case of the - nested_type_name method mentioned above, this method also takes a - default "suffix" parameter (= 0). This is required for the "_var", - "_ptr", and "_out" suffixes. - - * be/be_interface.cpp - be/be_interface_fwd.cpp: - - Used the TAO_OutStream::gen_ifdef_macro () and gen_endif methods - for the definitions of the _ptr, _var, and _out classes and their - implementations. - - *be/be_sequence.* : Lot of modifications and change in the design - in terms of handling the base types that themselves could be - sequences. Although the AST_Sequence i.e., OMG IDL does not define - a "sequence" to be a scope producing construct like structs or - unions, we choose to make "be_sequence" to be a scope producing - construct. This is no way alters the OMG IDL language because the - front-end is still the same. "be_sequence" was made to inherit - from scope because the sequence mapping gives rise to a C++ class - which is a scoping construct. This way, base types that turn out - to be anonymous sequences can be assigned a parent scope and their - name generation will fall in line with other classes. - - There are certain features missing with sequences at this commit - time, but this should reduce tweaking the generated code to a - large extent. - - * be/be_state.cpp: Update the code for handling sequences and - typedefs. Typedefs should be handled properly now. - - * All other *.cpp files: Either commented out the compute_* calls - in the constructors or removed them. - -Fri Oct 31 03:00:09 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/orb_core.cpp: Moved call to connector's open() into init(), - thus insuring that it gets called only AFTER all the resources are - available from the Resource Factory. - - * tao/orb_core.*: Changed data members to be associations rather - than containment. This allows decoupling of the - "thread-specificness" of these resources from the - thread-specificness of the general TAO_ORB_Core container. Also - added set accessors for those resources. - - Added TAO_Resource_Factory class from which the TAO_ORB_Core - container initializes itself. For now this remains a singleton - which is, at compile-time, determined to be either TSS or not. - But, soon, it will be loaded via the Service Configurator and its - TSS nature determined at runtime. - - * tao/giop.h: Updated to use the new ACE macro - ACE_CLASS_IS_NAMESPACE. - - * tao/default_server.*: Implemented the new open() method so that - it initializes the Reactive and Threaded strategies from the - information in TAO_ORB_Core. - - * tao/server_factory.*: Added open() method to be called after all - ORB resources are loaded up. This method can then be used by a - strategy factory to further initialize its contained strategies if - they require handles to resources to which the ORB might legislate - access. The default implementation does nothing. - -Fri Oct 31 01:03:05 1997 <irfan@TWOSTEP> - - * tests/Cubit/TAO/IDL_Cubit/svr.cpp (main): obj was not declared. - Commented out use of obj in dmsg1. - - * tests/Cubit/TAO/IDL_Cubit/cubit_i.cpp (Cubit_Factory_i): - numobjs_ was used before it was assigned. - - * TAO/TAO_IDL/TAO_IDL.{mak,mdp}: Added VC++4.2 make files. - - * TAO_IDL/ast/ast_expression.cpp (dump): Streaming the enum was - ambiguous. Therefore the enum was cast to an int. - -Thu Oct 30 22:50:44 1997 Carlos O'Ryan <coryan@MILONGA> - - * tao/corba.h: - Added a definition for ACE_NESTED_CLASS, maybe it is defined in - some place else, but I couldn't find it. - - * TAO_IDL/be/be_interface.cpp: - Fixed the definition for skeleton destructors. - - * TAO_IDL/be/be_helper.cpp: - Added a lot of redundant ACE_OS::fflush() calls. Apparently we - have two FILE* or file descriptors over the same file, bt the - fflush hides the problem. - - * TAO_IDL/be/be_decl.cpp: - Fixed inconsistency between operator-> declaration and - definition for _out classes. - -Thu Oct 30 14:06:54 1997 Sergio Flores <sergio@polka.cs.wustl.edu> - - * TAO_IDL/fe/Makefile: - Added an expression to the sed command in the rule to construct - lex.yy.cpp, that replaces ECHO with TAO_ECHO, because a - different ECHO macro is already defined in - /usr/include/sys/termios.h - - * TAO_IDL/fe/idl.ll: - Fixed some warnings about nested comments. - Changed the declaration of variable i to outside of - the 'for' initialization to avoid obsolete binding warnings. - - * TAO_IDL/be/be_interface_fwd.cpp (gen_client_header): - Added ACE_UNUSED_ARG macro to avoid unused variable warning, - for variable i. - - * TAO_IDL/be/be_constant.cpp (exprtype_to_string): - * TAO_IDL/util/utl_error.cpp (exprtype_to_string): - Added case statements to handle the rest of un-handled - enumerations from AST_Expression::ExprType. These will - handle a default value (i.e. NULL). Enumerations added are: - AST_Expression::EV_wstring - AST_Expression::EV_wchar - AST_Expression::EV_longdouble - AST_Expression::EV_ulonglong - AST_Expression::EV_longlong - -Thu Oct 30 09:56:41 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/giop.h: Added comments to TAO_GIOP class explicitly pointing - out its use as a namespace. Concurrently, I also scoped the CTOR, - Copy CTOR, and DTOR as 'private' so nobody can mistakenly - instantiate one of these puppies. - -Thu Oct 30 03:40:26 1997 <nw1@COYOTE> - - * tests/Cubit/TAO/DII_Cubit/client.dsp: - * tests/Cubit/TAO/DII_Cubit/server.dsp: Updated include files - path and libarary path. - - * tao/giop.cpp (close_connection): Use ACE_HANDLE instead of int. - -Thu Oct 30 02:53:20 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.19, released Thu Oct 30 02:53:20 1997. - -Thu Oct 30 02:20:21 1997 Sergio Flores <sergio@polka.cs.wustl.edu> - - * tests/IDL_Cubit: - Added more comments and changed the header to be ACE'ified. - Make output more consistent. - -Thu Oct 30 02:12:27 1997 Sumedh Mungee <sumedh@macarena.cs.wustl.edu> - - * tests/{TAO, Cubit}: Changed the directory heirarchy to the - following: tests/Cubit/TAO/ now contains all the Cubit examples, - i.e. IDL_Cubit, MT_Cubit and DII_Cubit, instead of tests/. Updated - the README and Makefiles to reflect this. DII_Cubit is the - handcrafted "original" Cubit example. - - * tests/Cubit/COOL: Added the COOL version of the Cubit test. The - COOL version is written for Chorus COOL version 4.1. - -Wed Oct 29 22:26:10 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> - - * tests/IDL_Cubit/clnt.cpp (init): Fixed the error handling so we - exit correctly when things go wrong. - - * tao/connect.cpp (open): Revised the code to use the new - ACE_LACKS_SOCKET_BUFSIZ to detect when this feature isn't - supported. - - * tao/{giop,connect}: Added a nifty typedef called TAO_SVC_HANDLER - to remove the drudgery of expanding the template each time. - - * tao: Changed the name of TAO_OA_Connection_Handler to - TAO_Server_Connection_Handler to be compliant with the - TAO_Client_Connection_Handler. - -Wed Oct 29 20:47:47 1997 Sergio Flores <sergio@polka.cs.wustl.edu> - - * tests/IDL_Cubit/clnt.cpp: - * tests/IDL_Cubit/clnt.h: - Cleaned up the code. Added ACE_Profile_Timer to time the calls. - Changed copyright header. Added more comments. - -Wed Oct 29 18:55:57 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> - - * tao/giop: Added "_"'s to the data members in - TAO_GIOP_Invocation. - - * tao/giop (send_request): Swaped the order of the parameters for - send_request() so that it would be consistent with recv_request. - - * tao/{connect,giop}: Changed read_message() to recv_request(), - and send_message() to send_request() since these things really - work on GIOP requests. - - * tao/{connect,giop}: Changed read_message() to recv_message(), - which is more like other parts of ACE. - - * tao/connect.cpp: Fixed the calls to read_message() and - send_message() so that they don't try to modify "this." - - * tao/giop: Changed the send_message() and read_message() in the - TAO_GIOP class to take ACE_Svc_Handler<ACE_SOCK_STREAM, - ACE_NULL_SYNCH> rather than TAO_Client_Connection_Handler. - -Wed Oct 29 17:53:12 1997 <irfan@CHA-CHA> - - * tao: Added TAO_HAS_TSS_ORB_CORE to tao and Cubit NT makefiles. - This probably needs to be added to the other NT makefiles. - - * tests/Cubit/TAO/svc.conf: Updated files to pass the correct - options to the factory. - -Wed Oct 29 16:07:20 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/giop.*: Changed most methods that took ACE_SOCK_Stream& - parameters to take TAO_Client_Connection_Handler*& parameters. - This makes it easier to clean up properly after errors. Also - #ifdef'd out seemingly unused code (TAO_GIOP::incoming_message). - Fixed call to ACE_Svc_Handler::idle() to not contain an argument. - - * docs/Options.html: Updated the documentation to reflect recent - changes. - -Wed Oct 29 15:59:30 1997 Sergio Flores <sergio@polka.cs.wustl.edu> - - * tests/IDL_Cubit/clnt.cpp: OO'ified the code. Added class - Cubit_Client. - * tests/IDL_Cubit/clnt.h: added this file to contain the class - definition. - -Wed Oct 29 11:01:11 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL compiler: be_type.cpp::nested_type_name: A quick commit - made that includes an improvement over the previous scheme of - generating ACE_NESTED_CLASS macros. We handle the problem of - generating fully scoped names for types that were defined in some - ancestor of the scope in which that type is being used. - - * Makefiles under TAO_IDL: Fixed a bug in the Makefiles under all - the subdirectories. This bug was reported by "ARTURO MONTES" - <mitosys@colomsat.net.co>. The bug was causing circular - dependencies on the libraru that was getting compiled. - -Wed Oct 29 06:17:36 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> - - * tao/default_server.cpp (parse_args): Must increase the loop - counter. - -Wed Oct 29 02:11:43 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.18, released Wed Oct 29 02:11:43 1997. - -Wed Oct 29 00:56:26 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tests/Cubit/TAO/svc.conf: Updated documentation comments to - reflect factory option changes. - - * tao/orbobj.*: Wiped argvec_shift and all its bugs off the face - of the earth. Manojkumar Acharya <cvsf325.gpt.co.uk> should prove - to be very happy about this turn of events. :-) - - * tao/orbobj.cpp: Weeded out old, dead code here and there and - migrated much of what had been in ORB_init() into - TAO_ORB_Core::init(). - - * tao/orb_core.*: Added methods init() and fini() which perform - ORB Core-related initializations and cleanups, respectively. This - is all in anticipation of having a Unified Factory which provides - ORB Core as well as other information. Also began stubbing out - and migrating various data members and associated accessors so - that they are pointers rather than actual members. The next step - is to actually make them pointers and have everything get - initialized properly and deterministically and keep everything - working. - - * tao/{giop,orb_core}.cpp: Revised code due to recent changes in - ACE related to the Caching connector. - - * tao/default_server.{h,cpp} (parse_args): This method now uses - options of the style -ORBfoo rather than the previously-cryptic - single-letter options. This should allow us to eventually allow - this same routine to parse args from the command line as well as - inside the svc.conf file. The price we pay for consistency, - however, is verbosity to the point of insanity (e.g., - -ORBconcurrency...blech!) These options are briefly documented in - the method header as well as in subsequent svc.conf files. - - * tao/decode.cpp: Added some comments for arguments. - - * tao/connect.{h,cpp}: Moved Connector-related typedefs and - corresponding template instantiations into the proper - file--orb_core.*. - - * tao/orb_core.cpp (init): Moved much of what used to be - ORB_init() into here. Changed the manner in which objref style - was determined--it's no longer via a special ORB name but rather - by the -ORBobjrefstyle option which can have either the value - "IOR" or "URL" (default is URL). - -Tue Oct 28 21:15:36 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * build/SunOS5.5/TAO/tests/IDL_Cubit/clnt.cpp (main): Fixed the - code so that if you give incorrect parameters the program exits - cleanly, rather than segfaulting. - -Tue Oct 28 20:49:28 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> - - * tao/giop.cpp (start): NT Access Violation error, AGAIN! Added - codes to reset this->handler_ so that - ACE_Cached_Connect_Strategy won't complain. - -Tue Oct 28 19:19:05 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be/{be_state.cpp, be_union.cpp, be_struct.cpp}: Added code - that will generate the ACE_NESTED_CLASS macro - - *TAO_IDL/be/be_type.cpp: Implemented be_type::nexted_type_name - that will generate the ACE_NESTED_CLASS macro. However, this may - not be completely correct at this point because we want to see if - teh compiler fails for types defined in some ancestor and whose - fully scoped names are generated . - - * TAO_IDL/be/be_interface.cpp: Added code that will generate the - _bind call on the interface class. - - * TAO/tests/IDL_Cubit: Added the _bind call in clnt.cpp. Improved - the README file. - - *MAXNAMELEN : There was a clash with TAO_CodeGen::MAXNAMELEN. So - it has been substituted by NAMEBUFSIZE as a macro in be_codegen.h - -Mon Oct 27 22:22:22 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/be_decl.cpp: Added a ptr () function to the _var classes - hat returns the underlying ptr_ data member. This ptr () member - function is now used to pass a pointer type to constructor and - assignment operator from a T_var class. - - * TAO_IDL/be_state.cpp: Important changes related to generation of - return values of operations in the stubs. In addition, an & was - missing for passing string types. Some additional bugs arising out - of operations with void return type have been fixed. - - * ./tests/IDL_Cubit: This test has been modified to include a - factory interface that reads a key for the cubit object and - produces an obj reference for Cubit. In addition, a preliminary - version of the _bind call has been tested with IDL_Cubit. - - *MAXNAMELEN : Carlos informed me that MAXNAMELEN was a small - constant on some platforms. This has been changed to - TAO_CodeGen::MAXNAMELEN with a value of 100. - -Mon Oct 27 22:07:58 1997 Carlos O'Ryan <coryan@MILONGA> - - * TAO_IDL/be/be_array.cpp: - * TAO_IDL/be/be_helper.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: - Set this->cli_stub_gen_ to I_TRUE once the code has been - emitted. - -Mon Oct 27 19:34:08 1997 Carlos O'Ryan <coryan@MILONGA> - - * TAO_IDL/be/be_exception.cpp: - * TAO_IDL/be/be_enum.cpp: - Set this->cli_stub_gen_ to I_TRUE at the end. - - * TAO_IDL/be/be_typedef.cpp: - Set the state to TAO_CodeGen::TAO_TYPEDEF_CH instead of just - struct. - -Mon Oct 27 15:22:24 1997 Sergio Flores <sergio@polka.cs.wustl.edu> - - * TAO_IDL/be/be_state.cpp: - * TAO_IDL/be_include/be_codegen.h: - * TAO_IDL/be_include/be_factory.h: - * TAO_IDL/be_include/be_state.h: - * tao/iioporb.cpp: - * tao/marshal.cpp: - * tao/optable.cpp: - * tao/optable.h: - * tao/singletons.h: - The ACE_Singleton lock type needs to be changed from - ACE_SYNCH_MUTEX (or ACE_SYNCH_RW_MUTEX) ACE_SYNCH_RECURSIVE_MUTEX. - ACE handles those more efficiently for its singletons. Change - suggested by David Levine. - -Mon Oct 27 11:59:51 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/orbconf.h: Made it so _FAR is defined all the time. Thanks - to Manojkumar Acharya <cvsf325.gpt.co.uk> for reporting this. - -Sun Oct 26 22:18:01 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.17, released Sun Oct 26 22:18:01 1997. - -Sun Oct 26 17:53:25 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> - - * {tao,tests}/Makefile: Commented out the TAO_HAS_TSS_ORBCORE in - these Makefiles since it is going away anyhow and is confusing... - - * tests/IDL_Cubit/svc.conf, - tests/Cubit/TAO/svc.conf: - Changed the default concurrency policy to be reactive so that - things work correctly if TAO_HAS_TSS_ORBCORE. Thanks to Sumedh - for pointing this out. - - * tao/orbobj.cpp (ORB_init): Put the TAO_DEFAULT_SERVER_PORT into - ACE's OS.h file and used it in TAO. - -Sun Oct 26 15:07:18 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/params.h: Eliminated forward decls of the now-defunct ROA - class. - - * tao/orb_core.h (TAO_DEFAULT_PORT): Added manifest constant for - default port. - - * tao/orbobj.cpp (ORB_init): Eliminated ugly anonymous constant - use for hbuf's size. Utilized manifest constant for default port. - - * tao/giop.cpp: Changed calls to - TAO_Client_Connection_Handler::in_use() to call the underlying - Svc_Handler::idle(). - - * tao/connect.{h,i}: Eliminated in_use() flags because they're no - longer needed with the new Strategy Connector. - - * tao/iioporb.cpp (string_to_object): Removed setting of the orb - in the underlying CORBA::Object because it's no longer there. - - * tao/object.{h,i} (CORBA_Object): Eliminated the pointer to an orb - within this object. This should help solve some problems in - passing object references across the wire. - - * tao/connect.cpp: Added template instantiations for - ACE_Hash_Map_Iterator to reflect Irfan's recent changes. - - * tests/IDL_Cubit/README: Updated documentation on the server to - reflect current reality. - -Sun Oct 26 01:01:32 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * tao/orbobj.cpp: Redid the template specialization of Hash_Addr - to account for the new changes. - -Sun Oct 26 01:05:36 1997 <nw1@COYOTE> - - * tao/corba.h: Changed from using Strategies_T.h to Strategies.h. - - * tao/connect.h: Removed a template argument form ACE_Hash_Addr. - Removed explicit instantiation of compare_i. - - * tao/connect.cpp: Removed a template argument from explicit - instantiation of ACE_Hash_Addr. - - * tests/Cubit/TAO/clnt.cpp (main): Added a simple class - ACE_Winsock_proper_shutdown here to shutdown winsock properly. - This class should be removed later once we figure out how to - close down winsock properly from ACE. - - * tests/Cubit/TAO/svc.conf: Changed the name of shared object from - libTAO to TAO. Added configuration lines for using debug - version of TAO library on NT. - -Sun Oct 26 01:47:04 1997 Sergio Flores <sergio@macarena.cs.wustl.edu> - - * TAO_IDL/be/be_codegen.cpp (upcase): - * TAO_IDL/util/utl_string.cpp (canonicalize): - * TAO_IDL/be/be_decl.cpp (tc_name2long): - Added "unsigned" to index variable "i" used in for() loop, - to avoid warning "comparison between unsigned and signed" - - * TAO_IDL/be/be_decl.cpp (compute_flatname): - * TAO_IDL/be/be_decl.cpp (compute_repoID): - * TAO_IDL/be/be_interface.cpp (compute_fullskelname): - Fixed error "second - I_FALSE;", should be "second = I_FALSE;" - - * TAO_IDL/be/be_operation.cpp (gen_server_skeletons): - * TAO_IDL/be/be_state.cpp (gen_code): - Initialized pointers to 0 - - * TAO_IDL/driver/drv_preproc.cpp (DRV_pre_proc): - * TAO_IDL/be/be_operation.cpp (gen_server_header): - * TAO_IDL/be/be_operation.cpp (gen_client_header): - * TAO_IDL/be/be_decl.cpp (gen_out_defn): - * TAO_IDL/be/be_decl.cpp (gen_var_defn): - * TAO_IDL/be/be_scope.cpp (gen_client_header): - * TAO_IDL/be/be_state.cpp (gen_code): - * TAO_IDL/be/be_helper.cpp (operator<<): - * TAO_IDL/be/be_union.cpp (tc_encap_len): - * TAO_IDL/be/be_typedef.cpp (gen_client_stubs): - * TAO_IDL/be/be_string.cpp (gen_client_header): - * TAO_IDL/be/be_root.cpp (gen_idl2cplusplus_mapping): - * TAO_IDL/be/be_predefined_type.cpp (gen_typecode): - * TAO_IDL/be/be_interface.cpp (gen_client_stubs): - * TAO_IDL/be/be_interface.cpp (gen_server_skeletons): - * TAO_IDL/be/be_interface.cpp (gen_operation_table): - * TAO_IDL/be/be_interface.cpp (gen_server_inline): - * TAO_IDL/be/be_interface.cpp (tc_encap_len): - * TAO_IDL/be/be_field.cpp (gen_encapsulation): - * TAO_IDL/be/be_field.cpp (tc_encap_len): - * TAO_IDL/be/be_enum_val.cpp (gen_encapsulation): - * TAO_IDL/be/be_enum.cpp (tc_encap_len): - * TAO_IDL/be/be_constant.cpp (gen_client_header): - * TAO_IDL/be/be_constant.cpp (gen_client_stubs): - * TAO_IDL/be/be_argument.cpp (gen_client_header): - * TAO_IDL/be/be_argument.cpp (gen_client_stubs): - * TAO_IDL/be/be_argument.cpp (gen_server_header): - * TAO_IDL/be/be_argument.cpp (gen_server_skeletons): - * TAO_IDL/be/be_array.cpp (be_array): - * TAO_IDL/be/be_array.cpp (gen_client_header): - * TAO_IDL/be/be_array.cpp (gen_client_inline): - * TAO_IDL/be/be_array.cpp (gen_forany_defn): - * TAO_IDL/be/be_array.cpp (gen_forany_impl): - * TAO_IDL/util/utl_stack.cpp (push): - Added ACE_UNUSED_ARG macro to avoid unused variable warning, - for variable slen. - - * TAO_IDL/be_include/be_helper.h (class TAO_OutStream): - Made destructor virtual; we have virtual member functions. - - * TAO_IDL/be/be_codegen.cpp (TAO_CodeGen): - * TAO_IDL/be/be_decl.cpp (be_decl): - * TAO_IDL/util/utl_stack.cpp (UTL_ScopeStack): - * TAO_IDL/util/utl_scope.cpp (UTL_ScopeActiveIterator): - Reordered member initializers to match declaration order to - satisfy the compiler. - - * TAO_IDL/util/utl_scope.cpp (lookup_primitive_type): - Added "default" case to switch to return NULL. - - * TAO_IDL/util/utl_scope.cpp (add_attribute): - * TAO_IDL/util/utl_scope.cpp (add_operation): - * TAO_IDL/util/utl_scope.cpp (add_argument): - * TAO_IDL/util/utl_scope.cpp (add_union_branch): - * TAO_IDL/util/utl_scope.cpp (add_field): - * TAO_IDL/util/utl_scope.cpp (add_typedef): - * TAO_IDL/util/utl_scope.cpp (add_sequence): - * TAO_IDL/util/utl_scope.cpp (add_array): - Use 0 instead of NULL to initialize pointers in the - member initialization list, again to avoid ANSI C++ forbids - implicit (void *) conversions warnings. - -Sun Oct 26 01:01:32 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.16, released Sun Oct 26 01:01:32 1997. - -Sun Oct 26 00:32:29 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> - - * TAO/TAO_IDL/fe/idl.ll: Reverted a change that Carlos had - overwritten. I guess he's not getting enough sleep these - days... ;-) - -Sun Oct 26 00:31:38 1997 <irfan@TWOSTEP> - - * tao/orb_core.i (hash_i): Redid the specialization in view of the - new changes. - -Sat Oct 25 18:14:14 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> - - * TAO_IDL/be/be_interface.cpp (be_interface): Worked around a - nasty MSVC++ compiler bug that doesn't like CORBA::Object - (object_ptr). So we use an existing ACE macro for this. - - * TAO_IDL/be/be_interface.cpp (be_interface): Fixed yet another - round of uninitialized data members. It is clear that the - original authors of this code wouldn't pass my ugrad programming - course... - - * TAO_IDL/fe/idl.ll (idl_parse_line_and_file): Had to make a minor - change to skip over the #line directive from Microsoft. In - addition, had to add some code to put Microsoft-style pathnames - into a canonical form (i.e., replacing = '\\' with '\'). Thanks - to Darrell for helping with this. - - * TAO_IDL/fe/idl.ll: Added a new rule to handle the fact - that the Microsoft C++ preprocessor generates tags of the - form - - #line 1 "bar.idl" - - rather than - - #1 "bar.idl" - - which is what UNIX C++ compilers seem to do. - - * TAO_IDL/be/be_decl.cpp (compute_fullname, compute_flatname): - Fixed a nasty bug where the original author thought new always - returned 0'd memory... Sheesh! - - * TAO_IDL/driver/drv_preproc.cpp: Changed fd < 0 to fd == - ACE_INVALID_HANDLE to be more portable. - - * TAO_IDL/be/be_decl.cpp (be_decl): There were two fields, - flatname_ and repoID_, that weren't given initial values of 0. - Thanks to Purify for finding this! - - * TAO_IDL/fe/idl.{yy,ll}: Replaced all uses of type names <name> - (e.g., FLOAT) with IDL_<name> (e.g., IDL_FLOAT) so that the code - won't bomb on lame systems like NT that typedef basic types to all - capitals (e.g., typedef float FLOAT). - -Sat Oct 25 22:28:42 1997 Carlos O'Ryan <coryan@MILONGA> - - * TAO_IDL/fe/idl.ll: Since yytext may be an "unsigned char*" under - HP-UX they define an "alias" __yytext. This hack fails miserably - when using flex, since then the yytext thing can change on the - fly. I use an inline function instead. Added support for #line - preprocessor directives. - - * TAO_IDL/driver/drv_preproc.cpp: Documented some of my changes - for NT, namely the fact that unlinking the output file while - still open causes the parsing to fail on NT. - - * TAO_IDL/tao_idl.dsp: Added new folders for source files, header - files, template files, etc. I modelled this based on the ACE - project files. - -Sat Oct 25 22:05:43 1997 Sergio Flores <sergio@macarena.cs.wustl.edu> - - * TAO_IDL/ast/ast_constant.cpp (exprtype_to_string): - Added case statements to handle the rest of un-handled - enumerations from AST_Expression::ExprType. These will - handle a default value (i.e. the same case as - AST_Expression::EV_none). - - * TAO_IDL/ast/ast_expression.cpp (operator==): - * TAO_IDL/ast/ast_expression.cpp (compare): - Make the default return value I_FALSE instead of NULL which - was giving "lacks a cast" warning. - - * TAO_IDL/ast/ast_expression.cpp (fill_definition_details): - Use 0 instead of NULL to initialize pointers in the - member initialization list, again to avoid ANSI C++ forbids - implicit (void *) conversions warnings. - - * TAO_IDL/ast/ast_expression.cpp (eval_symbol): - Initialized pointers to 0. - -Sat Oct 25 17:45:17 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/driver/drv_preproc.cpp: Fixed the same bug that Sumedh - fixed. In addition, ACEified the calls to strcat and strcmp in - that file. - - * TAO_IDL/fe/idl.ll: Used %array in the defintion section so that - flex uses yytext as an array of characters rather than pointer to - char. The pointer case was resulting in a segmentation fault due - to lack of memory allocation for the yytext variable. However, we - choose to use the array approach to be compatile with "lex" - behavior. - -Sat Oct 25 1997 Sumedh Mungee <sumedh@lindy.cs.wustl.edu> - - * TAO_IDL/driver/drv_preproc.cpp: Fixed proper tmp filename - creation. - -Sat Oct 25 14:14:53 1997 Carlos O'Ryan <coryan@MILONGA> - - * TAO_IDL/tao_idl.dsw: - * TAO_IDL/tao_idl.dsp: - Added a MSVC++ project file for the IDL compiler, needs several - revisions byt the NT experts before shipping, but it has served - me well. - - * TAO_IDL/driver/drv_fork.cpp: - * TAO_IDL/driver/drv_preproc.cpp: - We use ACE components to fork&exec subprocesses, get the default - TMP directory and generate protable pathnames. - In one case the mapping to NT is not clear: the use case is fork - to get a "fresh" copy of the process and provide a unit of - protection for the parent; this feature is only used if more - than one IDL file is compiled at the same time. - - * TAO_IDL/be/be_decl.cpp: - Fixed minor bug, it said "second - I_FALSE;", it should be - "second = I_FALSE - - * TAO_IDL/ast/ast_argument.cpp: - * TAO_IDL/ast/ast_array.cpp: - * TAO_IDL/ast/ast_attribute.cpp: - * TAO_IDL/ast/ast_check.cpp: - * TAO_IDL/ast/ast_concrete_type.cpp: - * TAO_IDL/ast/ast_constant.cpp: - * TAO_IDL/ast/ast_decl.cpp: - * TAO_IDL/ast/ast_enum.cpp: - * TAO_IDL/ast/ast_enum_val.cpp: - * TAO_IDL/ast/ast_exception.cpp: - * TAO_IDL/ast/ast_expression.cpp: - * TAO_IDL/ast/ast_field.cpp: - * TAO_IDL/ast/ast_generator.cpp: - * TAO_IDL/ast/ast_interface.cpp: - * TAO_IDL/ast/ast_interface_fwd.cpp: - * TAO_IDL/ast/ast_module.cpp: - * TAO_IDL/ast/ast_operation.cpp: - * TAO_IDL/ast/ast_predefined_type.cpp: - * TAO_IDL/ast/ast_recursive.cpp: - * TAO_IDL/ast/ast_redef.cpp: - * TAO_IDL/ast/ast_root.cpp: - * TAO_IDL/ast/ast_sequence.cpp: - * TAO_IDL/ast/ast_string.cpp: - * TAO_IDL/ast/ast_structure.cpp: - * TAO_IDL/ast/ast_type.cpp: - * TAO_IDL/ast/ast_union.cpp: - * TAO_IDL/ast/ast_union_branch.cpp: - * TAO_IDL/ast/ast_union_label.cpp: - * TAO_IDL/be/be_args.cpp: - * TAO_IDL/be/be_constant.cpp: - * TAO_IDL/be/be_generator.cpp: - * TAO_IDL/be/be_init.cpp: - * TAO_IDL/be/be_produce.cpp: - * TAO_IDL/be_include/be.h: - * TAO_IDL/be_include/be_generator.h: - * TAO_IDL/driver/drv_args.cpp: - * TAO_IDL/driver/drv_fork.cpp: - * TAO_IDL/driver/drv_init.cpp: - * TAO_IDL/driver/drv_main.cpp: - * TAO_IDL/driver/drv_preproc.cpp: - * TAO_IDL/driver/drv_private.cpp: - * TAO_IDL/fe/fe_declarator.cpp: - * TAO_IDL/fe/fe_extern.cpp: - * TAO_IDL/fe/fe_init.cpp: - * TAO_IDL/fe/fe_interface_header.cpp: - * TAO_IDL/fe/fe_private.cpp: - * TAO_IDL/fe/lex.yy.cpp: - * TAO_IDL/fe/y.tab.cpp: - * TAO_IDL/include/ast.h: - * TAO_IDL/include/ast_argument.h: - * TAO_IDL/include/ast_array.h: - * TAO_IDL/include/ast_attribute.h: - * TAO_IDL/include/ast_concrete_type.h: - * TAO_IDL/include/ast_constant.h: - * TAO_IDL/include/ast_decl.h: - * TAO_IDL/include/ast_enum.h: - * TAO_IDL/include/ast_enum_val.h: - * TAO_IDL/include/ast_exception.h: - * TAO_IDL/include/ast_expression.h: - * TAO_IDL/include/ast_extern.h: - * TAO_IDL/include/ast_field.h: - * TAO_IDL/include/ast_generator.h: - * TAO_IDL/include/ast_interface.h: - * TAO_IDL/include/ast_interface_fwd.h: - * TAO_IDL/include/ast_module.h: - * TAO_IDL/include/ast_operation.h: - * TAO_IDL/include/ast_predefined_type.h: - * TAO_IDL/include/ast_root.h: - * TAO_IDL/include/ast_sequence.h: - * TAO_IDL/include/ast_string.h: - * TAO_IDL/include/ast_structure.h: - * TAO_IDL/include/ast_type.h: - * TAO_IDL/include/ast_typedef.h: - * TAO_IDL/include/ast_union.h: - * TAO_IDL/include/ast_union_branch.h: - * TAO_IDL/include/ast_union_label.h: - * TAO_IDL/include/be_extern.h: - * TAO_IDL/include/drv_extern.h: - * TAO_IDL/include/drv_private.h: - * TAO_IDL/include/fe_declarator.h: - * TAO_IDL/include/fe_extern.h: - * TAO_IDL/include/fe_interface_header.h: - * TAO_IDL/include/fe_private.h: - * TAO_IDL/include/global_extern.h: - * TAO_IDL/include/idl.h: - * TAO_IDL/include/idl_bool.h: - * TAO_IDL/include/idl_defines.h: - * TAO_IDL/include/idl_extern.h: - * TAO_IDL/include/idl_fwd.h: - * TAO_IDL/include/idl_global.h: - * TAO_IDL/include/idl_narrow.h: - * TAO_IDL/include/intlmacros.h: - * TAO_IDL/include/nr_extern.h: - * TAO_IDL/include/util.h: - * TAO_IDL/include/utl_decllist.h: - * TAO_IDL/include/utl_error.h: - * TAO_IDL/include/utl_exceptlist.h: - * TAO_IDL/include/utl_exprlist.h: - * TAO_IDL/include/utl_identifier.h: - * TAO_IDL/include/utl_idlist.h: - * TAO_IDL/include/utl_indenter.h: - * TAO_IDL/include/utl_labellist.h: - * TAO_IDL/include/utl_list.h: - * TAO_IDL/include/utl_namelist.h: - * TAO_IDL/include/utl_scope.h: - * TAO_IDL/include/utl_scoped_name.h: - * TAO_IDL/include/utl_stack.h: - * TAO_IDL/include/utl_string.h: - * TAO_IDL/include/utl_strlist.h: - * TAO_IDL/include/utl_tmpl/utl_decllist.h: - * TAO_IDL/include/utl_tmpl/utl_exceptlist.h: - * TAO_IDL/include/utl_tmpl/utl_exprlist.h: - * TAO_IDL/include/utl_tmpl/utl_idlist.h: - * TAO_IDL/include/utl_tmpl/utl_labellist.h: - * TAO_IDL/include/utl_tmpl/utl_list.h: - * TAO_IDL/include/utl_tmpl/utl_namelist.h: - * TAO_IDL/include/utl_tmpl/utl_strlist.h: - * TAO_IDL/narrow/narrow.cpp: - * TAO_IDL/util/utl_decllist.cpp: - * TAO_IDL/util/utl_error.cpp: - * TAO_IDL/util/utl_exceptlist.cpp: - * TAO_IDL/util/utl_exprlist.cpp: - * TAO_IDL/util/utl_global.cpp: - * TAO_IDL/util/utl_identifier.cpp: - * TAO_IDL/util/utl_idlist.cpp: - * TAO_IDL/util/utl_indenter.cpp: - * TAO_IDL/util/utl_labellist.cpp: - * TAO_IDL/util/utl_list.cpp: - * TAO_IDL/util/utl_namelist.cpp: - * TAO_IDL/util/utl_scope.cpp: - * TAO_IDL/util/utl_stack.cpp: - * TAO_IDL/util/utl_string.cpp: - * TAO_IDL/util/utl_strlist.cpp: - * TAO_IDL/util/utl_tmpl/utl_decllist.cpp: - * TAO_IDL/util/utl_tmpl/utl_exceptlist.cpp: - * TAO_IDL/util/utl_tmpl/utl_exprlist.cpp: - * TAO_IDL/util/utl_tmpl/utl_idlist.cpp: - * TAO_IDL/util/utl_tmpl/utl_labellist.cpp: - * TAO_IDL/util/utl_tmpl/utl_list.cpp: - * TAO_IDL/util/utl_tmpl/utl_namelist.cpp: - * TAO_IDL/util/utl_tmpl/utl_strlist.cpp: - Removed a *big* number of warnings, in an attempt to surface - real problems. The main one was "#pragma ident" and some unused - variables. - -Sat Oct 25 06:22:03 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO_IDL/fe/idl.yy: I got errors parsing the idl.yy thru - bison. There were errors indicating "type clash on default action". - - This had to do with the fact that the non-terminal "type_dcl" did not - have any type defined for it, but it had "struct_type", "union_type" - and others on the right-hand side of the rules. The default action of - YACC is supposed to assign1 to. So the type for "struct_type" - that happened to be a AST_Decl node was getting assigned to the - non-terminal "type_dcl" who had no type. - - I am very surprised that the "yacc" on our Sparcs never ever gave this - error, but bison did. - - Hence I have modified idl.yy slightly so that I have {$$ = 0;} as the - default action. In addition, the non-terminal "type_dcl" is now - defined to be of type "ival" which is defined as long inside the - %union clause. - - Above all, the bison generated files required some prototypes. So I - had to add the following to idl.yy in the declarations section. - - int yylex (void); - void yyerror (char *); - extern "C" yywrap (void); - - Somehow, this yywrap had to be under extern "C". I don't know why the - others need not be under extern "C". - - -Sat Oct 25 00:05:05 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.15, released Sat Oct 25 00:05:05 1997. - -Sat Oct 25 02:46:05 1997 Sergio Flores <sergio@macarena.cs.wustl.edu> - - * TAO_IDL/fe/Makefile: - Changed the YACC variable to use the bison compiler. - Added "-y" to YFLAGS to make bison generate output files like yacc. - Changed the LEX variable to use the flex parser instead of lex. - These programs generate code that has less warnings and is better - code in general. - Added "-D_REENTRANT" to CPPFLAGS, to be able to eliminate the warnings - in lex.yy.cpp. This could also be fixed if we include "ace/ACE.h" at - the beginning of lex.yy.cpp, but this file is generated with flex. - - * TAO_IDL/fe/idl.yy: - Added ACE_UNUSED_ARG macro to avoid unused variable warning, - for variable "AST_Decl *v". - - * TAO_IDL/fe/idl.ll (idl_atof): - Added ACE_UNUSED_ARG macro to avoid unused variable warning, - for variable f and h. - - * TAO_IDL/include/idl.h: - Added include file "ace/ACE.h". This was necessary to eliminate - warnings of implicit declarations, which were because the _REENTRANT - flag was not defined. - - * TAO_IDL/ast/ast_operation.cpp (AST_Operation): - Reordered member initializers to match declaration order to - eliminate warnings from the compiler. - - * TAO_IDL/ast/ast_operation.cpp (fe_add_exceptions): - Added ACE_UNUSED_ARG macro to avoid unused variable warning, - for variable fs. - - * TAO_IDL/ast/ast_interface.cpp (AST_Interface): - Reordered member initializers to match declaration order to - eliminate warnings from the compiler. - - * TAO_IDL/ast/ast_expression.cpp (operator==): - * TAO_IDL/ast/ast_expression.cpp (coerce): - * TAO_IDL/ast/ast_expression.cpp (coerce_value): - * TAO_IDL/ast/ast_expression.cpp (compare): - * TAO_IDL/ast/ast_expression.cpp (dump_expr_val): - Added case statements to handle the rest of un-handled - enumerations from AST_Expression::ExprType. These will - handle a default value (i.e. the same case as - AST_Expression::EV_none). Enumerations added are: - AST_Expression::EV_wstring - AST_Expression::EV_wchar - AST_Expression::EV_longdouble - AST_Expression::EV_ulonglong - AST_Expression::EV_longlong - - * TAO_IDL/ast/ast_expression.cpp (AST_Expression): - Reordered member initializers to match declaration order to - eliminate warnings from the compiler. - - * TAO_IDL/ast/ast_decl.cpp (AST_Decl): - Reordered member initializers to match declaration order to - eliminate warnings from the compiler. - Also, use 0 instead of NULL to initialize pointers in the - member initialization list, again to avoid ANSI C++ forbids - implicit (void *) conversions warnings. - - * TAO_IDL/ast/ast_array.cpp (dump): - Added "unsigned" to index variable "i" used in for() loop, - to avoid warning "comparison between unsigned and signed" - - * TAO_IDL/ast/ast_array.cpp (compute_dims): - Added "unsigned" to index variable "i" used in for() loop, - to avoid warning "comparison between unsigned and signed" - - * TAO_IDL/ast/ast_array.cpp (AST_Array): - Reordered member initializers to match declaration order to - eliminate warnings from the compiler. - - * TAO_IDL/fe/fe_declarator.cpp (FE_Declarator): - Reordered member initializers to match declaration order to - eliminate warnings from the compiler. - - * TAO_IDL/driver/drv_main.cpp (DRV_drive): - Added ACE_UNUSED_ARG macro to avoid unused variable warning. - - * TAO_IDL/ast/ast_recursive.cpp (AST_illegal_recursive_type): - Initialized pointer variables to avoid warnings. - -Fri Oct 24 19:18:22 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tao: Changed remaining uses of BOA to POA. - - * cubit_i.cpp (please_exit): Replaced the call to - please_shutdown() on the POA (which no longer exists) with the - shutdown() call on the ORB. - - * tests/IDL_Cubit/svr.cpp: Removed - - oa_ptr->clean_shutdown (env); - - since this is no longer supported in TAO's POA. - - * tao/poa.h: Changed the get_boa() method to get_poa(). Even this - will probably go away soon. - -Fri Oct 24 18:25:00 1997 Aniruddha Gokhale <gokhale@flamenco.cs.wustl.edu> - - * TAO/tao/svrrqst.cpp: Method params was allocating memory even - when the Any's already had memory allocated for the IN and INOUT - parameters. Due to this the params would retrieve results in the - allocated storage whereas the stubs/skeletons would continue to - use variables that they had defined to hold the values. - -Fri Oct 24 17:33:21 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/poa.*: #ifdef'd out the IIOP 1.4 references to shutdown. - I'm leaving them in there right now because they might be useful - as private member later when we need to figure out how to get OAs - to cooperate and shut themselves down in the face of an ORB - shutdown. - - * tao/orbobj.h (shutdown): Fixed up documentation. - - * tao/orbobj.i (shutdown): Provided appropriate arg default. - - * tests/Cubit/TAO/svr.cpp: Eliminated unnecessary Object Adapter - name from POA_init() invocation. - - * tests/Cubit/TAO/cubit_i.cpp (Cubit_please_exit): Revised to use - the new ORB::shutdown() method. - - * tests/Cubit/TAO/clnt.cpp: Got rid of IIOP 1.4-style debug - message calls. - - * tao/orbobj.cpp (CORBA_ORB::ORB_init): Corrected a heinous - problem in the option parsing loop where argvec_shift() would be - asked to shift two argv elements when there was only one. This - could cause problems if an option that required an argument didn't - include the argument. Thanks to Manojkumar Acharya - <cvsf325.gpt.co.uk> for sending in a bug report that lead to my - finding this! - -Fri Oct 24 14:08:12 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * Improved the compiler to make Unions work. The most subtle error - was the way the private section of the class for unions was being - generated. TAO's Typecode library expected the union members to be - inside of a C++ union declaration inside the private - section. Whereas the compiler was generating each member - separately. - - Another source of error was bad typecode tables getting - generated. This is now fixed. - - * TAO/tests/IDL_Cubit: The cubit_i.cpp for cube_union was doing - wrong calculations for structs. This was due to my copy-paste - tendency and not verifying if it was correct or not. This has been - fixed. The README file is updated to reflect the fact that this - directory contains code that uses the IDL compiler. - -Fri Oct 24 01:54:00 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.14, released Fri Oct 24 01:54:00 1997. - -Fri Oct 24 01:02:01 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * clnt.cpp: Removed mysterious obsolete definitions of - cube_union_stub() and cube_union_dii(). - - * be_state.h: Added definitions for the methods in class - be_state_attribute. For some reason, they were missing. - - * TAO_IDL/be/be_state.cpp: Added the necessary template - specializations so that the TAO IDL compiler will work with GCC. - -Thu Oct 23 22:46:10 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO IDL Compiler: More progress in terms of getting the Cubit - example to work with the IDL generated code. However, we are still - finding some problems with using the client-side cubit_union_dii - to work properly. - - Much of the improvements were to the server-side skeletons for - operations. In addition, code for union constructors, assignment - operator, and accessor for discriminant added. - - Some bugs in typecode generation are fixed. This had to do with - the encapsulation length for predefined types. It was returning -1 - as opposed to 0. - - * TAO/tests/IDL_Cubit: Added this directory with the cubit - example. Use this to test the IDL compiler. The makefile will - invoke the IDL compiler to create the required files. - -Thu Oct 23 18:34:02 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tests/*/Makefile: Fixed the Makefiles so that it has the correct - files and dependencies. Thanks to Steven Wohlever - <wohlever@mitre.org> for reporting this. - -Wed Oct 22 20:02:39 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * README.sun: Added an explicit reminder at the top that the - information in this file is historical in nature and does not - necessarily apply to current reality. - - * tao/orbobj.* (shutdown): Added code to the run() event loop so - that it will terminate when it finds a flag set. This involved - adding the flag to the ORB's state and minimally implementing the - shutdown() method. The shutdown method still does not honor the - "wait for completion" flag which can be passed to it, though. - - * README: Updated the season from "summer" to "Fall" ;-) Also - added a note that warned people not to try to link TAO with a - version of ACE that's linked with another ORB library, e.g., - liborbix.so. Thanks to Steven Wohlever <wohlever@mitre.org> for - bringing this instructional omission to our attention. - - * tao/tao_internals.cpp (fake_service_entries_i): Made the body of - this function conditional on the TAO_PLATFORM_SVC_CONF_FILE_NOTSUP - preprocessor definition since it doesn't need to exist in - platforms that grok the Service Configurator. This will also - reduce the memory footprint :-). Thanks to David Miron - <dxm@crapper.dsto.defence.gov.au> for pointing this out! - - * tao/orb_core.cpp (TAO_ORB_Core): Removed explicit CTOR - initialization of reactor_ member. - -Wed Oct 22 19:37:22 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO IDL Compiler: Improvements made so that the server-side - skeletons for operations now generate valid code. The code - generated for the Cubit.idl was compiling cleanly. It is under - test currently to see if it runs. - - * Some progress in handling forward declarations of interfaces. - -Wed Oct 22 12:55:19 1997 <nw1@CHA-CHA> - - * tao/poa.h: Added ACE_Svc_Export to class CORBA_POA. - - * tao/TAO.{mdp,mak}: Updated files in project file. - - * tao/TAO.dsp: Removed boa, Orb_Core and added poa, orb_core to - the project file. - -Tue Oct 21 17:21:51 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * docs/releasenotes/orbcore.html: Updated to reflect daily - progress. - - * tests/Cubit/TAO/Makefile: Updated dependencies. - - * tests/Cubit/TAO/svc.conf: Updated to eliminate empty quotes at - the end that tickled a deficiency in the Service Configurator's - grammar. - - * tests/multiCubit/svr.cpp: Updated to reflect POA_init change. - - * tests/Thruput_test/Makefile: Modified to reflect filename - changes. - - * tests/Thruput_test/server.cpp: Changed type of argv so that it - matched properly. - - * tao/boa.*: Renamed to tao/poa.*. - - * tao/Orb_Core.*: Renamed to tao/orb_core.*. - - * tao/{Makefile,corba.h,default_client.cpp,default_server.cpp,orb.h,orbobj.cpp,params.h}: - Modified to reflect filename changes. - -Tue Oct 21 13:23:48 1997 Brian Mendel <brian.r.mendel@boeing.com> - - * tao/connect.i: Moved hash_i and compare_i template - specialization to Orb_Core.i. Original code was left comment - out until this mod is checked on all platforms. - - * tao/Orb_Core.i: Added hash_i and compare_i code from connect.i. - -Tue Oct 21 03:23:29 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> - - * tao/Orb_Core.cpp: Removed conditional inclusion of Orb_Core.i - since, according to corba.h, it is always included as an inline - function file. - -Tue Oct 21 02:24:14 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.13, released Tue Oct 21 02:24:14 1997. - -Mon Oct 20 23:42:48 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> - - * TAO/boa: Changed BOA_init() to POA_init() to be - more consistent... - - * TAO_IDL/be/be_interface.cpp, - tests/TAO/Thruput_test/server.cpp, - tests/TAO/Thruput_test/ttcpS.cpp, - tests/TAO/RT_test/Task_Client.cpp, - tests/TAO/RT_test/cubit_impl.cpp, - tests/TAO/multiCubit/cubitS.cpp, - tests/TAO/multiCubit/svr.cpp, - tests/TAO/Demux_Test/server.cpp, - tests/TAO/Demux_Test/CodeGen/skel.cpp, - tests/TAO/MT-Cubit/client/Task_Client.cpp, - tests/TAO/MT-Cubit/server/cubitS.cpp, - tests/TAO/MT-Cubit/server/svr.cpp, - tests/TAO/cubitS.cpp, - tests/TAO/svr.cpp, - tests/TAO/test1_svr.cpp: Changed BOA to POA to reflect the - new naming conventions. - - * tao/stub.i (STUB_Object): Removed a stray default value from the - STUB_Object constructor... Thanks to Carlos for noticing this. - -MOn Oct 20 10:14:09 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * Improved version of the TAO IDL compiler. The executable has - been renamed to tao_idl. There are a number of improvements as - well as shortcomings. These are explained in the - docs/releasenotes/index.html page, which can be viewed online at - http://www.cs.wustl.edu/~schmidt/ACE_wrappers/TAO/docs/releasenotes/. - -Mon Oct 20 16:30:29 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/tao_internals.cpp (fake_service_entries_i): Based the - arguments to the faked server service entry for VxWorks on the - TAO_HAS_TSS_ORBCORE compilation flag. This should hopefully - eliminate the problems Boeing was seeing in the early rounds of - testing the most recent release of TAO. - - * tao/{iiopobj.*,giop.h}: Moved a lock that had been in - TAO_GIOP_Invocation (why? I don't know) into IIOP_Object. It - protects the fwd_profile_ pointer, which has now become private. - Also added accessors for the data member as well as the lock. - Accessors come in two flavors--thead-safe (fwd_profile()) and - non-thread-safe (fwd_profile_i()). The non-thread-safe variety - expect that the lock will be taken and held for the duration of - their usage, but no checking is performed in this respect. - - * tao/giop.cpp: Changed references to the IIOP_Object::fwd_profile - data member to go through the new accessors (see above). - - * tao/stub.i: Created new file with inline methods for - STUB_Object. - - * tao/stub.h: Moved inline method definitions into a new - file--stub.i. - - * tao/orbobj.cpp (BOA_init): Eliminated dead code and unused - variable. - - * tao/except.cpp (print_exception): Eliminated unused argument - warning detected by gcc. - - * tao/corba.h: Re-ordered inclusion of Orb_Core.i to eliminate - 'function used before declared inline' errors detected by gcc. - - * tao/{Orb_Core,boa,corbacom,orb,orbobj,svrrqst}.*: Renamed BOA to - POA. - - * docs/releasenotes*: Moved releasenotes.html into a directory - named "releasenotes" so that the various status pages can live - independently. Currently only the ORB Core's status page is - broken out, but the documentation should eventually turn into two - frames with the one at the top acting as the guide and the lower - frame being the actual status document. - -Fri Oct 17 17:42:27 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * docs/releasenotes.html: Updated to reflect current status. - - * tao/orbobj.*: Added some documentation for open() method. - - * tao/roa.*: Gone. Bye-bye. Removed. - -Fri Oct 17 15:43:04 1997 <nw1@CHA-CHA> - - * tao/connect.h: Added template instantiation supression directive - for Win32. VC was complaining about duplicate symbols definition. - -Fri Oct 17 06:25:23 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/{boa,roa}.*: Merged class ROA into class - CORBA_BOA. Hopefully everything still works ;-) - - * docs/releasenotes.html: Quick update for new TODO list. Will be - updated within the next day or so with dates, too. - - * tao/{server_factory,orbobj,Orb_Core}.cpp: Corrected incorrect - explicit template instantiations and added missing ones. - -Thu Oct 16 23:48:04 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.12, released Thu Oct 16 23:48:04 1997. - -Thu Oct 16 11:15:00 1997 Brian R. Mendel <brian.r.mendel@boeing.com> - - * tao/server_factory.cpp: Added instantiation pragma for VxWorks for - ACE_Acceptor. Added the template to the specialization section, also. - - * tao/orbobj.cpp: Added instantiation pragma for VxWorks for - ACE_Cached_Connect_Strategy and ACE_Hash_Map_Manager for - ACE_Null_Mutex instantiations. Also, added these to the template - specialization sections. - - * tests/Cubit/Build/default.bld: Added TAO_PLATFORM_SVC_CONF_FILE_NOTSUP - to defines section of GHS build file. - -Tue Oct 14 21:11:20 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> - - * tao/xdr.h: Changed int _fd to ACE_HANDLE _fd to work on NT. - Thanks to Satheesh Kumar <satheesh@aspectdv.com> for reporting - this. - -Tue Oct 14 02:48:21 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.11, released Tue Oct 14 02:48:21 1997. - -Mon Oct 13 23:30:16 1997 <irfan@TWOSTEP> - - * tao/connect.h: If we are using TSS, there is no reason to use - locking in the connector. Therefore, I added a new typedef that - defines the type of lock that should be used for the - cached_connect_strategy. It is ACE_SYNCH_RW_MUTEX in the - non-TSS case, and ACE_SYNCH_NULL_MUTEX in the TSS case. - -Mon Oct 13 21:34:00 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> - - * tao/svrrqst.cpp (oa): Cleaned up the coding style a bit. - -Sun Oct 12 15:38:35 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> - - * tao/client_factory: Gutted the client factory code related to - the Strategy_Connector so that it's either in the TAO_Orb_Core. - - * tao/default_client.h: Removed the connector() from the - Default_Client_Factory entirely since it's all been put into the - TAO_ORB_Core now. - - * tao/giop.cpp (start): Hacked up the code so that we extract our - connector from thread-specific storage if we're using the - thread-per-rate concurrency model. This needs to be integrated - more cleverly in the ORB. - - * tao/orbobj.h: Put an instance of the TAO_CONNECTOR into each - TAO_ORB_Core object so that we don't have to share these things - among all of the threads in a process, but instead can have them - be located in thread-specific storage. - - * tao/orbobj.cpp (perform_work): Updated the run() and - perform_work() methods to take optional ACE_Time_Value *'s (so - they can return from timeouts) and to return error flags if - things go wrong. - - * tao/orbobj.h (CORBA_ORB): Changed the set_up_for_listening() - call to open(), which is more consistent with other usage in - ACE/TAO. - - * tao/orbobj: Changed the name client_acceptor_ to peer_acceptor_ - to reflect the fact that the connection model is more generic - than the notion of client/server interactions (which really take - place as the result of particular communication roles). - - * tao/corba.h: Moved the order of #includes around so that - "connect.h" is included before "client_factory.h" - - * tao/connect.h: Moved the typedef of the ACE_Strategy_Connector<> - from the TAO_Client_Strategy_Factory into the global space and - renamed it TAO_CONNECTOR file so that it will be equivalent with - the TAO_ACCEPTOR. - -Thu Oct 9 23:17:37 1997 Douglas C. Schmidt <schmidt@merengue.cs.wustl.edu> - - * tao/giop.cpp (invoke): If an error occurs, make sure to mark the - handler_ as no longer being in use before we set it to 0. - - * tao/giop.cpp (TAO_GIOP_Invocation): We need to make sure that - handler_ isn't 0 before we mark it as no longer being in use. - -Thu Oct 9 11:33:46 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * tao/giop.cpp: - There was a minor sintax error. - -Tue Oct 07 09:34:35 1997 <brian.r.mendel@boeing.com> - - * tao/Orb_Core.h{cpp}: Added ACE_Svc_Export label to global - TAO_ORB_Core_instance() method. Needed for DLL support on NT.i - - * default.bld, tao.bld: Modified VxWorks build files to add new files. - -Tue Oct 07 07:05:38 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.10, released Tue Oct 07 07:05:38 1997. - -Mon Oct 06 22:11:40 1997 <nw1@CHA-CHA> - - * tests/Cubit/TAO/cubit_i.cpp (Cubit_please_exit): - * tests/Cubit/TAO/cubitS.cpp (_skel_Cubit): Changed to use the new - TAO_ORB_CORE_instance () global function. - -Mon Oct 6 20:06:05 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/{boa.h,connect.cpp,giop.cpp,giop.h,roa.cpp,roa.h}: - Eliminated unused methods and code. - - * tao/Orb_Core.*: Created new global function called - TAO_ORB_Core_instance() which will return the correct instance of - the ORB Core state. This had previously been accessed using - TAO_ORB_CORE::instance(), but Win32s linking procedures made the - template for TAO_ORB_CORE expand in both the application and the - library/DLL, thus creating two singletons. Bad scene. The - function should force the expansion of the template to only be in - the DLL. - - * tao/{connect,default_client,default_server,orbobj,roa}.cpp: - Changed references to TAO_ORB_CORE::instance() to - TAO_ORB_Core_instance(). - - * tao/singletons.h: Removed definition of TAO_ORB_CORE. - -Sat Oct 4 20:08:57 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> - - * tao/TAO.{dsp,dsw}: Added tao_internals.cpp into project file - list. - - * tao/tao_internals.h (TAO_Internal): Added ACE_Svc_Export and - I d. - - * tao/tao_internals.i (open_services): Added default return value - 0. - - * tao/tao_internals.cpp: Added #include "tao/tao_internals.h" and - the CVS I d field. Also, we should include inline (.i) file - for inline code. - -Fri Oct 3 09:29:05 1997 Chris Cleeland <cleeland@merengue.cs.wustl.edu> - - * tests/multiCubit/svr.cpp: Changed the key naming scheme back to - not be unique throughout the process. Process-unique code is - still there, but conditionally compiled mutually-exclusive to the - other scheme. - - * tao/server_factory.*: The object_lookup_strategy method is gone - and is replaced by the create_object_table factor method. See - more information below. - - * tao/default_server.*: The server factory no longer holds on to a - single pointer for the object lookup strategy. In previous - incarnations of TAO, this didn't cause problems, but the advent of - ORB-per-thread highlighted the inherent badness in this - implementation choice. Gone is the object_lookup_strategy method, - and in comes the create_object_table factory method, which creates - and returns (and doesn't hold onto) an object table in accordance - with parameters such as size and search algorithm. - - * tao/roa.cpp: Changed to use the create_object_table method. - -Thu Oct 2 13:48:31 1997 Chris Cleeland <cleeland@merengue.cs.wustl.edu> - - * tests/multiCubit/svr.cpp: Modified the key generation scheme to - include thread ID. This works around a current shortcoming in the - ORB Core in which the object table is shared throughout all object - adapters (yes, this is being fixed). - - * tao/tao_internals.*: Added new class to scope static operations - and data completely internal to the ORB. - - * tao/orbobj.{i,cpp}: Moved CORBA_ORB DTOR into cpp file. Finally - got rid of icky static mutex in ORB_init(). Moved service config - initialization into TAO_Internal method. - - * tao/Orb_Core.h: Added comments. - -Wed Oct 1 12:51:48 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> - - * tao/corbacom.h: Removed CORBA:: name resolution from the class - String_out which is itself defined in class CORBA. MSVC doesn't - like that. - -Wed Oct 1 10:44:55 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * tao/varout.h: Fixed some template errors in class - TAO_Object_out. This was pointed to me by Carlos as he was - compiling TAO in SGI. - -Wed Oct 1 09:10:38 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> - - * docs/releasenotes.html: - Updated information on the Event Channel, the use of the Naming - Service is no longer a plan, it is done already. - -Tue Sep 30 20:14:29 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.9, released Tue Sep 30 20:14:29 1997. - -Tue Sep 30 19:42:09 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> - - * Makefile: Removed "docs" from DIRS so we don't try to run - make in this directory. - -Tue Sep 30 17:27:00 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * <RELEASE>: Tagged a release for limited consumption until the - Service Configurator bug is fixed. - - * tests/multiCubit/svr.cpp: Added code to properly release CORBA - objects. Delays between task activations simply aid in debugging - and are not necessary. - - * tao/singletons.h: Made TAO_ORB_Core's singleton type - compile-time selectable via the TAO_HAS_TSS_ORBCORE compiler flag. - - * tao/orbobj.cpp: Corrected an incorrect shift count, and the ORB - Core now defaults to using the host name of the local host. - - * tao/Orb_Core.[hi]: Added explicit CTOR. - - * tao/Orb_Core.cpp: Insured that the correct template type was - instantiated. - - * tao/Makefile: Added -DTAO_HAS_TSS_ORBCORE to CPPFLAGS. - -Tue Sep 30 16:43:12 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * docs/releasenotes.html: Added some notes on the ORB Core. - -Mon Sep 29 14:39:51 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * docs/{index,components,releasenotes}.html: Added additional - documentation. - -Mon Sep 29 13:50:34 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO ORB changes: - - any.*: Added _var and _out classes. - - corbacom.{h,i} : Added _out types for primitive types, added _out and - updated _var classes for String. Added corbacom.i for implementing - the String's _var and _out classes - - sequence.{h,i}: Added a number of templates for _var and _out - classes. However, these are yet to be used and tested. - - * Alpha release of TAO IDL compiler added to this release. This is - an alpha release and we are currently putting it to rigorous - test. A large amount of code for the back end is added under the - TAO/TAO_IDL/be_include and TAO/TAO_IDL/be/ directories. - - In addition, some amount of ACEification done to methods belonging - to the TAO/TAO_IDL/utils/ classes. - - A few errors in the IDL grammar have been fixed in - fe/idl.yy. These had to do with the valid types for parameters and - operation return types. There are still some errors recognizing - unions which will be fixed later. The scanner (fe/idl.l) was - modified to recognize the OMG IDL data type "any". - - * The ChangeLog file under TAO/TAO_IDL is removed and its contents - are inserted appropriately in this ChangeLog file - -Sun Sep 28 17:01:27 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tests/multiCubit: Added a multi-threaded version of Cubit. - - * tao/orbobj.cpp: At long last, Andy has his wish for not having - to provide a "-ORBhost <me>" argument to a server. It now uses - ACE_OS::hostname() to determine the canonical hostname, and - listens on that address. - - * tao/singletons.h: Changed the ORB Core singleton to be a TSS - singleton; this will eventually be conditionally compiled in - (before release). Also added comments and "safety defines". - - * tao/except.cpp: Changed some usage of fputs() in - print_exception() to use ACE_DEBUG. - -Sun Sep 28 03:18:24 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> - - * tests/Cubit/TAO/cubitC.h (Object): Changed references of base - class from "CORBA::Object" to "CORBA_Object." MSVC doesn't - allow this. - - * tao/Orb_Core.h: Added ACE_Svc_Export to TAO_Orb_Core class. - - * tao/corbacom.h: Added ACE_Svc_Export to all IID constants. - Notice that we must put ACE_Svc_Export _after_ extern "C". - -Sat Sep 27 09:31:42 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/Orb_Core.h: Fixed the friend declaration for - CORBA::ORB_init(). - - * tests/Cubit/TAO/svr.cpp: Modified to use ORB::run() for event - loop and eliminated code cruft. - - * tao/orbobj.*: Added stubs for 4 methods on the ORB from the - POA spec: work_pending, perform_work, run, and shutdown. Of all - of these, only run is reasonably implemented, and there not even - according to the spec (because the way the spec works isn't really - good for our purposes...need to work on that). See the docs for - information. - - Moved the initialization of the Acceptor into its own method, - set_up_for_listening (which is a one-shot style method), and - placed a call to this within the aforementioned run method. - - * tao/default_client.h: Miscellaneous comments added. - - * tao/connect.cpp: Corrected an errant ACE_DEBUG () call. - - * tao/Orb_Core.*: Added private methods to allow setting of the - orb and extended the laurel of friendship to CORBA::ORB_init(). - -Fri Sep 26 10:20:06 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/orbobj.*: Added acceptor initialization code to CORBA_ORB - CTOR. (We still need to find a way to NOT do this on the client - side.) Moved CORBA_ORB CTOR into .cpp to avoid nasty - interdependencies caused when it was in the .i file. Moved the - specification of host and port to be ORB parameters rather than OA - parameters, i.e., -OAhost is now -ORBhost and -OAport is now - -ORBport. - - * tao/roa.*: Removed server-side connection endpoint - initialization (Acceptor stuff) and put it into the ORB. - - * tao/connect.h: Renamed ROA_Acceptor to TAO_Acceptor (since it's - not related to the OA any longer), and restored explicit inclusion - of ace headers to avoid having to include "corba.h". - - * tao/boa.h: Removed unneeded get_addr() method. - - * tests/Cubit/TAO/cubitS.cpp: Updates to support changes in ORB - Core. - -Thu Sep 25 12:28:02 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/params.*: Added explicit CTOR & DTOR for - TAO_{OA,ORB}_Parameters classes that somehow got removed in the - previous round of attacks. Also specified all methods which go - into the .i file as "LOCAL_INLINE" within the header. This avoids - having to unravel ugly, complex order interdependencies. - -Thu Sep 25 03:48:02 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * docs/Options.html: Terse documentation on options available for - the abstract factories. - - * tao/Orb_Core.*: Added this class (TAO_ORB_Core) to hold the - "state" of an ORB. The intent is that as we move towards - different concurrency models, this can be thrown into - thread-specific storage and remain a singleton, essentially - allowing the running of an ORB-per-thread. - - * tao/singletons.h: Added this file to contain type definitions - for *ALL* ACE_Singleton<> types used within TAO. This was - motivated by a desire to eliminate the multitude of warnings - generated by g++ regarding methods being called before declared - inline, and the only way to eliminate this was to insure that all - inlined methods were seen by the compiler before the - ACE_Singleton<> definition. Thus, corba.h includes singleton.h as - the very last thing that it does. - - * tao/params.*: TAO_OA_Parameters is no longer a singleton, and - because of new recognition of associations in the object model for - an ORB, lots of data members and their methods have been shuffled - to other places or eliminated. addr() now belongs in - TAO_ORB_Parameters, and root_poa_ is in TAO_ORB_Core. The - using_threads_, thread_flags_, upcall_, and forwarder_ members - have been eliminated and their roles taken over by the Concurrency - Strategies and the new Dispatch call chain implemented in my last - round of changes. - - * tao/orbobj.cpp: Changed references to the ORB singleton to go - through TAO_ORB_CORE::instance(). Also eliminated an unnecessary - global function (_orb()). - - * tao/marshal.h: Moved all ACE_Singleton<> typedefs into - singleton.h. See comment on tao/corba.h for more information. - - * tao/iioporb.h: Removed unnecessary TAO_ORB singleton. This is - now assumed by TAO_ORB_Core instances. - - * tao/corbacom.h: Added CORBA::POA_ptr for upward compatibility. - - * tao/corba.h: Added Orb_Core.[hi] to the appropriate places. - Moved iiop{orb,obj}.i inclusions around and moved typedef'ing of - all ACE_Singletons into singletons.h, which must be #included - AFTER all the inline files. This eliminated all of the - used-before-declared-inline warnings. - - * tao/{connect,default_client,default_server,roa}.*: Updated - singleton usages to go through the TAO_ORB_CORE singleton. - - * tests/Cubit/TAO/{cubitS,cubit_i}.cpp: Updated singleton usages - to go through the TAO_ORB_CORE singleton. - -Wed Sep 17 12:26:56 1997 Nanbor Wang <nw1@CHA-CHA> - - * tao/TAO.dsp: Updated source file list. - -Mon Sep 15 16:52:28 1997 Chris Cleeland <cleeland@merengue.cs.wustl.edu> - - * tests/Cubit/TAO/{cubitS,cubit_i}.cpp: Updated references to oa() - to root_pos(). - - * tao/orbobj.cpp: Corrected some adjustments made for Service - Configurator rework. - - * tao/giop.h: Moved the def for TAO_GIOP_EndOfFile out of the - range of valid GIOP messages. - - * tao/connect.cpp: Added special case for TAO_GIOP_Reply to break - out, and distinguished TAO_GIOP_EndOfFile from other errors by - setting errno. - - * tao/boa.cpp: The complete reply header is now stuck into the - response stream...what a novel concept! - -Fri Sep 12 05:40:50 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * params.h: Renamed oa() method to be root_poa() in preparation - for the future. - - * orbobj.cpp: Adjusted the FAKE_SVC_ENTRY macro to catch up to - recent changes in ACE. - - * giop.*: Major surgery including elimination of GIOP as a giant - namespace (now only static methods are in it). Changed names of - things to TAO_*. - - * {encode,decode,iiopobj,invoke,roa}.*: Name changes resulting - from giop.cpp surgery. - - * corbacom.h: Moved TAO_opaque decl into here. - - * corba.h: Re-ordered the inline #includes so that the stuff that - is ALWAYS inlined is included prior to the stuff that's only - inlined when __ACE_INLINE__ is turned on. - - * connect.*: Modified handle_input() substantially. Added 3 - template methods: read_message, handle_message, and send_response. - - * {cdr,marshal,object,typecode}.h: Removed the old "always include - inlines" hackery. - - * boa.*: Added handle_request() method. - -Wed Sep 03 06:15:00 1997 Brian Mendel <brian.r.mendel@boeing.com> - - * tao/default_client.cpp: Added conditional sections around the code for setting the - socket options for VxWorks. VxWorks does not support a 64K buffer size. - -Tue Sep 02 18:32:12 1997 Brian Mendel <brian.r.mendel@boeing.com> - - * tao/orbobj.cpp: Added include for Service_Repository.h to orbobj.h - - * tao/debug.cpp: Removed the TAO_NEEDS_UNUSED_VARIABLES #defines - around the debug_stream declaration. debug_stream is used by - dmsg_filter in debug.cpp. Changed SYSTEM_EXCEPTION to - CORBA::SYSTEM_EXCEPTION. - - * tao/default_client.cpp: Removed extra parameter from - ACE_Hash_Map_Entry #pragma instantiate statement. - - * tao/objtable.cpp: Deleted pragmas for instantiating ACE_Guard, - ACE_Read_Guard, and ACE_Write_Guard to eliminate duplicate - instantiations. Also, removed the instantiations from - ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION for the same reason. - - * tao/orbobj.cpp: Added a typecast to void * in argvec_shift - method. - - * tao/default.bld - Modified VxWorks Build File to change template - instantiation modes. - - * tao/tao.bld - Added default_client.cpp, default_server.cpp, - client_factory.cpp, and server_factory.cpp to the VxWorks build - file. - - * tao/tao.dsp - Added default_client.cpp, default_server.cpp, - client_factory.cpp, and server_factory.cpp to the Win NT project - file. - -Tue Sep 2 07:31:45 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/orbobj.cpp (ORB_init): VxWorks doesn't use - ACE_Service_Config for now; the default factories are used. The - Service Repository is still used, but the appropriate values are - "stuffed" in manually. - -Sat Aug 30 17:07:18 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * tests/Thruput: First attempt at ACEifying it and removing the - tremendous amount of unnecessary stuff that was in there. This - modified version still needs testing on other platforms. - -Fri Aug 29 10:59:34 1997 Chris Cleeland <cleeland@lambada.cs.wustl.edu> - - * tao/Makefile (TAO_ROOT): FINALLY corrected the default - definition of TAO_ROOT. - -Thu Aug 28 14:04:44 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/orbobj.i (CORBA_ORB): Removed assertion that was incorrect - b/c our ORB object is a singleton and not dynamically allocated, - thus the refcount can only reach zero at the end of its life. - - * tao/typecode.cpp (TC_Private_State): Relocated the delete of - tc_discriminator_type_ to be after the deletion of the label list. - This is because the discriminator will be inside each of the - CORBA::Any instances within the label list, and deleting it before - deleting the label list results in extreme badness. - - * tao/typecode.* (operator delete): Added CORBA_TypeCode::operator - delete() to simplify deletion of both automatically and - dynamically allocated instances of CORBA_TypeCode. This fixes the - problem of freeing non-heap memory. - - * tao/nvlist.h (CORBA_NamedValue): Initialized refcount_ in the - CTOR. - -Mon Aug 18 16:39:40 1997 Carlos O'Ryan <coryan@mambo.cs.wustl.edu> - - * Makefile for TAO compiler: - (SOEXT) must be used instead of just .so, the former does not - work on all platforms, notably HP-UX. - -Mon Aug 18 16:39:29 1997 Carlos O'Ryan <coryan@mambo.cs.wustl.edu> - - * tao/Makefile: - * tests/Demux_Test/CodeGen/Makefile: - (SOEXT) must be used instead of just .so, the former does not - work on all platforms, notably HP-UX. - -Sun Aug 17 16:53:42 1997 Carlos O'Ryan <coryan@swarm.cs.wustl.edu> - - * IIOP/test/Orbeline/client/Profile_Timer.h: - * IIOP/tests/Cubit/VisiBroker/base_server/Profile_Timer.cpp: - * IIOP/tests/Cubit/VisiBroker/base_server/Profile_Timer.h: - * IIOP/tests/Cubit/VisiBroker/client/Profile_Timer.cpp: - * IIOP/tests/Cubit/VisiBroker/client/Profile_Timer.h: - * tests/Cubit/VisiBroker/base_server/Profile_Timer.cpp: - * tests/Cubit/VisiBroker/base_server/Profile_Timer.h: - * tests/Cubit/VisiBroker/client/Profile_Timer.cpp: - * tests/Cubit/VisiBroker/client/Profile_Timer.h: - We no longer use timestruct_t in ACE, it is a SYSVism; we use - timespec_t instead. - -Sat Aug 16 01:11:56 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tests/Cubit/TAO/svc.conf: Added this as an example of an - application's service config configuration file. It also serves - as the documentation for various strategy factory options at the - moment. - - * tao/orbobj.cpp: Options parsed by the ORB are now - -ORBsvcconf <filename> specifies the service configurator - file to be used - -ORBdaemon turn this into a daemon - -ORBdebug turns debugging on in the service - configurator - - BOA_init() now sets the itself in the TAO_OA_Parameters singleton. - - * tao/orbobj.*: Changed client_factory(), server_factory(), and - params() to return pointers rather than references. - - * tao/{roa,giop}.cpp: Updated code that uses the - CORBA::ORB::client_factory() to deal with the fact that it now - returns a pointer rather than a reference. - - * tao/default_server.cpp (init): This method now properly - initializes the contained reactive and threaded strategies so that - they're actually usable! - - * tao/connect.cpp: Added #endif comments. - -Wed Aug 13 17:42:39 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tests/Cubit/TAO/*: Converted to the CORBA:: namespace. - - * tao/default_server.h: Eliminated a few strategy accessors since - they aren't provided by this implementation. - - * tao/default_server.cpp: Made this compile. - - * tao/corbacom.h: Slight reformatting of code. More importantly, - added 'static' to the decl of ORB_init(). - - * tao/corba.h: Added fake comment to trigger C++ mode. - - * tao/any.h: Added #endif comments. - -Tue Aug 12 22:37:06 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tao/{any,typecode,cdr}.h: Finished appeasing the compiler gods - so that we can remove the ACE_INLINE hack. Things now seem to be - in order. - - * tao/corba.h: Got all the frigging header *.i files #included in - the right order so that the GCC compiler stops complaining. - - * tao/giop.cpp: We had method definitions that were defined inline - within the giop.h file. This was causing problems for GCC, which - kept warning that methods in the cdi.i file were being used before - being inlined. I've fixed this by creating a giop.i file. - - * tao/corba.h: Add #include files should be prefixed by "tao/". - I've fixed this in the release. - -Tue Aug 12 16:23:17 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/any.i: Added a missing replace() method used by overloaded - operators. - - * tao/{any,cdr}.h: Added conditional ACE_INLINE before the decl - for a few methods whose usage in other inlined methods appears - prior to their definition. - - * tao/default_client.cpp: Eliminated names of unused arguments to - stop the compiler from complaining. - - * tao/server_factory.cpp: Properly scoped return type names for - several methods. - - * tao/{typecode,decode,deep_copy,debug}.cpp: Bracketed unused - variables with #if defined(TAO_NEEDS_UNUSED_VARIABLES)/#endif; - this leaves them around for right now in case they're important. - - * tao/client_factory.i (connector): Properly scoped return type's - name. - - * tao/{client_factory,default_client}.cpp: Added necessary - template instantiations. - - * tao/{typecode,cdr}.h: Added conditional ACE_INLINE in front of - inlined methods to appease the compiler gods. - - * tao/boa.cpp (dispatch): Declared argument unused to get rid of - warnings. - - * tao/corbacom.h: Moved #include of sequence.h before the decl for - class CORBA. - -Sun Aug 10 10:58:21 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tao/client_factory: Moved the template specializations from the - *.cpp file into the *.i file in order to get this stuff to link - without multiply defined symbols. Thanks to Brian Mendel for - giving me the idea to do this. - - * tao/client_factory.cpp: Added a template specialization for - ACE_Hash_Addr. - -Sun Aug 10 08:56:20 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * CORBA_ to CORBA:: transformation complete. All the files in the - TAO/tao distribution have been affected. The most notable changes - are: - (1) A file called "tao/corba.h" is now the master file. All *.cpp - files include *just* this file and nothing else. - - (2) "tao/corbacom.h" is the file that defines the CORBA namespace - i.e., class CORBA. Individual CORBA classes such as TypeCode, BOA, - etc are now defined inside the CORBA namespace. This will allow - users and developers to use CORBA::TypeCode as opposed to the - previous CORBA_TypeCode. Instead of nesting the classes, however, - we use typedefs to define individual CORBA classes inside class - CORBA e.g., typedef CORBA_TypeCode TypeCode; - - (3) All *.i files are included at the end of "tao/corba.h" and - nowhere else. However, if __ACE_INLINE__ isnot defined, then each - individual *.i file is not yet included in their corresponding - .cpp file. This will be done next. - - * TAO/tests/Demux_Test: Included code that tests various - demultiplexing strategies in TAO. At this point, however, the code - will not work because of changes in TAO. This will be done - next. A README file provides additional details. - - * TAO/Benchmark: A suite of benchmarking tests have been - included. This is still in the preliminary stages of - development. The idea is to compare various aspects of CORBA such - as marshaling overhead, demux costs, throughput, latency, and - others for a range of ORBs including TAO. Since there are - differences in programming different ORBs, this suite tries to - abstract out all the common features or atleast provide a uniform - interface so that minimal efforts are required to port an - application from one ORB to another. - - Benchmark/benchmark: This directory contains thecommon features - Benchmark/Marshal_Test: Tests marshaling overhead in 3 ORBs - - Orbix, VisiBroker, and TAO. More will be added. There are a few - problems getting DSI to work. The tech support at IONA and - VisiBroker have been contacted. - -Sat Aug 9 14:05:08 1997 Douglas C. Schmidt <schmidt@merengue.cs.wustl.edu> - - * tao: Continued to clean up all the code so that it is more - consistent with ACE programming style. - - * tao/orbconf.h: Cleaned up a lot of the unnecessary #defines. - - * tao/default_server.h: Make sure we inherit from - TAO_Server_Strategy_Factory, not TAO_Server_Factory. - - * tao/server_factory.cpp: Moved all the inline methods to be - non-inline since this code will always be dynamically bound. - - * tao/client_factory.cpp: Cleaned things up a bit. - -Sat Aug 9 12:37:05 1997 Brian Mendel <brian.r.mendel@boeing.com> - - * tao/corba.h: Deleted include for xdr.h from corba.h. xdr.h - is obsolete. - - * tao/objtable.cpp: Deleted pragmas for instantiating ACE_Guard, - ACE_Read_Guard, and ACE_Write_Guard to eliminate duplicate - instantiations. The templates are instantiated by ACE. Can these - templates also be removed from the - ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION section as well? - - * tao/default.bld: Added build file for VxWorks. - - * tao/tao.bld: Added build file for VxWorks. - -Fri Aug 8 14:25:20 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/orbobj.*: Updated various methods to use the new - dynamically-linked strategy factories discussed below. - - * tao/default_client.*: This file now contains the default client - strategy factory which is (a) dynamically linkable by the service - configurator and (b) can be configured by flags passed in via - service configurator. - - * tao/client_factory.*: This file now contains the abstract base - class for the client strategy factory. - - * tao/default_server.*: This file now contains the default server - strategy factory which is (a) dynamically linkable by the service - configurator and (b) can be configured by flags passed in via - service configurator. - - * tao/server_factory.*: This file now contains the abstract base - class for the server strategy factory. - - * tao/params.*: Renamed DEMUX_STRATEGY enum to TAO_Demux_Strategy - and put it at global scope instead of within TAO_OA_Parameters. - - * tao/svc.conf.eg: Created this file to serve as an example of - various lines one might find in an application's svc.conf. - -Thu Aug 7 09:51:31 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * factories.cpp: Incorrect use of ACE_ASSERT in - TAO_Server_Factory::object_lookup_strategy removed. - - * objtable.cpp: The octet sequence object key was being cast into - a char* resulting in undefined behavior at times due to the lack - of a NULL character to terminate it. Changes were made in the bind - and find methods of TAO_Active_Demux_Table. - -Thu Aug 07 03:52:31 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.8, released Thu Aug 07 03:52:31 1997. - -Thu Aug 7 00:43:14 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tao/typecode.cpp: A couple of errors involving TAO_CONST crept - in when Brian checked in his code. I fixed these. - -Wed Aug 6 18:28:41 1997 Chris Cleeland <cleeland@swarm.cs.wustl.edu> - - * tests/Cubit/TAO/clnt.cpp (main): Corrected the format - specifications when timing was printing out from %ld to %d. For - some reason this never caused a problem on other platforms. - -Wed Aug 6 17:27:44 1997 Brian R. Mendel <brian.r.mendel@boeing.com> - - * tao/typecode.h: Removed qualified name in typecode.h to eliminate - compiler warnings by the GHS compiler. Line 297. - - * tao/decode.cpp: Changed wchar_t* to CORBA_WChar* to eliminate - compiler errors on GHS compiler. Lines 142, 216, 729, 1371, and 1475. - - * tao/typecode.cpp: Deleted unreachable break statements at lines - 429, and 477, 904, and 947. - -Wed Aug 6 16:31:29 1997 Chris Cleeland <cleeland@swarm.cs.wustl.edu> - - * tao/*: Changed 'const' to 'TAO_CONST' in contexts where the - const didn't make sense. For example, this occurred in situations - where methods declared their return type as 'const CORBA_String', - which does not translate to 'const char*' but rather 'char* - const'. - - * tao/corbacom.h: Added #define for TAO_CONST. See above for - explanation. - - * tao/{connect,factories,giop,iiopobj,marshal,objtable, - optable,orbobj,roa}.cpp: Removed errant trailing semi-colon on all - the #pragma instantiate directives. - -Wed Aug 6 13:56:40 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/{connect,factories,giop,iiopobj,marshal,objtable, - optable,orbobj,roa}.cpp: Changed explicit template instantiations - to use the new ACE enabling macro as well as adding the #pragma - instantiate to placate Edison Design Group compilers. - - * tao/cdr.h: Changed default for CDR CTOR marshal factory to - reflect the new name of the default marshal factory variable. - - * tao/orbobj.cpp (CORBA_ORB_init): Inserted call to - TAO_Marshal::initialize(). - - * tao/marshal.*: Added TAO_Marshal class to scope static - initialization methods for the marshalling engine. - TAO_DEFAULT_MARSHAL_FACTORY has moved inside of this. - -Sun Aug 3 13:12:03 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tests/Cubit/TAO: Continued to improve the formatting of these - tests. - -Sat Aug 2 13:55:40 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tests/Cubit/TAO: Cleaned up some of the formatting so that - it is easier to read. - -Thu Jul 31 16:19:43 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/corba.h: Removed incorrect #include "tao/corba.h" in this - file. Bad form. - -Thu Jul 31 15:19:43 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tests/Cubit/TAO/*.{h,i,cpp}: Changed all #include of specific - header files to include the application-level "tao/corba.h". - - * tests/Cubit/TAO/Makefile (BIN): Removed test1_svr and test1_clnt - for now until we can get them working again. They stopped working - after the BOA API changed and the non-standard get_request() - method removed. - - * tao/any.h: Inserted #includes which insure that this header file - is not position-dependent on other header files. - - * tao/corba.h: Created this catch-all header file for APPLICATIONS - to use as a single entry point. Currently it just includes all - TAO header files, but will eventually be pared down to only those - headers which warrant public exposure. - -Wed Jul 30 16:55:02 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/typecode.i (CORBA_TypeCode): Re-ordered member - initialization to correspond to declaration order. - - * tao/{typecode,orbobj,optable,decode,cdr}.cpp: Added explicit - typecast to CORBA_ULong/unsigned long to eliminate warnings about - comparisons btw. signed and unsigned entities. - - * tao/optable.cpp (bind): Put in explicit return type for - TAO_Active_Demux_OpTable::bind(). - -Wed Jul 30 14:18:02 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/Makefile: Corrected automatic definition of TAO_ROOT and - fixed all dependencies on tao header/inline files. - - * tao/{typecode,object}.i: Moved a few methods to the beginning of the file - so that the compiler KNOWS that they are inlined when it hits the - first reference to them later in the file. - - * tao/object.cpp: Added an end-of-line to silence a very picky SGI - compiler. - -Wed Jul 30 10:05:38 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tao/connect.cpp: Removed a number of explicit template - instantiations that are already included in ACE. - -Wed Jul 30 14:20:18 1997 Darrell Brunsch <brunsch@cs.wustl.edu> - - * tao/boa.{i,h,cpp}: Removed the #include of "tao/objtable.h" and - instead moved the methods that needed it from boa.i to boa.cpp - -Wed Jul 30 13:58:02 1997 Darrell Brunsch <brunsch@cs.wustl.edu> - - * tao/boa.h: Added #include of "tao/objtable.h" since it is needed - in boa.i (which is included here when inlining is turned on) - -Wed Jul 30 10:05:38 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tao/boa.h: Removed the #include of "tao/objtable.h" which seems - to be unnecessary and may cause problems for template - specialization. - - * tao/iiopobj.i (IIOP_Object): Changed the second parameter to the - IIOP_Object constructor so that we can is a const - IIOP::ProfileBody &. This prevents a compiler warning. - - * tao/typecode.cpp (private_id): Removed unused variable status. - - * tao/objtable.cpp (bind): Removed the temp variable, which - was unused. - -Tue Jul 29 19:31:11 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> - - * tao/boa.cpp (get_boa): Added casts of ACE_UINT32 so that we - don't have ambiguous calls to the constructor of ACE_INET_Addr. - - * tao/deep_copy.cpp (deep_copy): Removed an unreachable return - value. - -Mon Jul 21 15:08:36 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * TAO version 0.0.7, released Mon Jul 21 15:08:36 1997. - -Mon Jul 21 12:06:16 1997 Darrell Brunsch <brunsch@cs.wustl.edu> - - * tao/object.cpp: removed the #include of object.i since it will - always be #included in object.h - -Thu Jul 17 16:54:38 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.6, released Thu Jul 17 16:54:38 1997. - -Thu Jul 17 16:43:23 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/{optable,objtable}.cpp: Updated the explicit template - instantiations at the end of these files to reflect the changes - that Andy made. - -Thu Jul 17 10:08:45 1997 Aniruddha Gokhale <gokhale@merengue.cs.wustl.edu> - - * tao/align.h: A very subtle error in "align_binary" was corrected. I - was assuming that align_binary is always called by - "ptr_align_binary". In the original inline function versions of - align_binary and ptr_align_binary, the function align_binary would - subtract 1 from the specified alignment that ptr_align_binary - provided. Since I assumed that "align_binary" would always be - called by "ptr_align_binary", I subtracted the 1 in - ptr_align_binary and passed the result to "align_binary". This - caused all sorts of problems for application code that directly - called "align_binary". This error has been fixed. The macros for - align_binary and ptr_align_binary are now exactly as the original - inline functions. - - * tao/any.{h,cpp}: Added comments. In addition, in the code for - Any::replace, we check if "_value" exists before trying to - DEEP_FREE it. Otherwise this was resulting in a segmentation fault - violation. - - * tao/boa.{h,i}: Added comments and changed "release" to CORBA_release - - * tao/cdr.{h,cpp}: Added some comments and removed some stuff that was - under #if 0 .. #endif - - * tao/corbacom.h: Added lots of comments for the CORBA_String_var class - - * tao/decode.cpp: Made TAO_Marshal_Union::decode to work, added comments. - - * tao/encode.cpp: Made TAO_Marshal_Union::encode to work, added comments. - - * tao/factories.{h,cpp}: Added lots of comments. Removed "void - object_lookup_strategy" method since we do this in the parameters - class. Added code that will use a user defined lookup strategy if - the corresponding flag is set. This needs to be tested. - - * tao/iiopobj.{i,cpp}: In the allocation and deallocation of the buffer - for object key, we now use "new/delete" instead of "malloc/free". - - * tao/interp.cpp: commented out a line that decremented 4 from the - offset provided for indirected typecodes. I guess this was plain - hack to get some broken things to work. - - * tao/objtable.{h,cpp}: Added lots of comments. Added code that will use - template specialization for the dynamic hashing case. In addition, - improved the destructors of the classes since previously, these - were not releasing occupied memory. - - * tao/optable.{h,cpp}: Added lots of comments. Added template - specialization for dynamic hashing scheme. Made dynamic hashing - scheme the default. Added a new definition for "struct - TAO_operation_db_entry". The idea is that an IDL compiler will - generate a database of operations and their corresponding - skel_ptrs. Such a database is now passed to teh constructors of - the operation lookup tables. This way, only one instance of such - lookup tables can be shared by any number of objects implementing - the same interface. - - * tao/params.{h,i,cpp}: Made dynamic hashing the default. Added a hook - by which users can supply their lookup strategies. *Needs testing*. - - * tao/typecode.{h,i,cpp}: Added comments and many changes. The private - state's constructor now takes an argument that is a TCKind - representing the TypeCode kind of the object of which we are the - private state. Removed "child_free". Instead, we introduced a - destructor for the private state that frees all the - children. Another important change is to the constructor of the - TypeCode class. We pass a "parent" pointer, if any, to the - constructor. All children typecodes will share the octet buffer of - the parent. Only freestanding typecodes will allocate octet - buffers. We have a new data member called "non_aligned_buffer_" - because the buffer we allocate may not be aligned on a 4 byte - boundary. As a result, we may start using the buffer at a shifted - position to the right. However, we do not want to lose a handle to - the original buffer that was allocated because at the time of - freeing, this pointer needs to be freed. - - * tests/Cubit/TAO: Modified a few files (method_db.i, cubitS.cpp) - so that they use the modified optable and objtable classes. Added - a README file to indicate how to run the example. - - * tests/Thruput_test: Modified virtually all the files to make it - work with the latest TAO release and its include files. Also, - changes similar to Cubit were necessary due to changes in the - objtable and optable classes. - -Wed Jul 16 14:17:01 1997 Chris Cleeland <cleeland@merengue.cs.wustl.edu> - - * tao/params.*: Eliminated unnecessary - ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES checks from - TAO_OA_Parameters (unnecessary b/c it's not a template). Also - corrected the type of TAO_OA_Parameters::ace_singleton_lock_. - -Wed Jul 16 11:34:36 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tao/boa.cpp: Removed some unused code. - - * tao/compat/objbase.h: Added explicit check for prior inclusion - of ace/OS.h, with an error being produced if it's not included. - This will help keep me honest and remember to always include OS.h - beforehand, since I do most of my development on non-WIN32 - platforms. - - * tao/*.{h,cpp}: Added #include "ace/OS.h" before every inclusion - of <objbase.h>. This is required on WIN32 platforms because - objbase.h eventually ends up including <winsock.h>, which is the - wrong version of winsock from what ACE requires. Thus, by - including OS.h prior to objbase.h, objbase.h ends up not trying to - include a winsock header. - - * tao/orbobj.cpp: Added missing #include for tao/debug.h. - -Wed Jul 16 10:55:55 1997 Darrell Brunsch <brunsch@cs.wustl.edu> - - * tao/PC_Install.bat: removed it since it isn't needed anymore - - * tao/TAO.dsp: Changed include path and removed calling of - PC_Install.bat - - * tests/Cubit/TAO/{client,server}.dsp: Changed include path - -Tue Jul 15 16:13:53 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tests/Cubit/TAO/cubitC.cpp: Added missing calls to Release() - after QueryInterface() calls. The tip-off that this wasn't - happening was the fact that, upon client exit, there were upwards - of 15 references to the object references. Now it's only 5-7 - (more work to go). - - * tests/Cubit/TAO/*: Changed all #include paths to be "tao/...". - Also, changes to orb.h (see below) obviated additional header - inclusion in certain files. - - * tao/compat/*.h: Changed the guts of these files so that they - work more like their "real" counterparts in the VC++ 5.0. This - should encourage compatibility. Note that, unlike the previous - files, objbase.h MUST be included before initguid.h; this is - consistent with the model on WIN32. - - * tao/*.{h,cpp}: Changed all #include paths to be "tao/...". - Also, changes to orb.h (see below) obviated additional header - inclusion in certain files. - - * tao/giop.cpp: Removed get_request() crufty old code. - - * tao/iiopobj.cpp: Backed out many prior special-code additions - for defining IIDs. Hopefully the need for these is negated by - changes elsewhere in the "compat" files. - - * tao/object.cpp: Corrected the conditional compilation switch - used to determine if we define IID_IUnknown. This now happens - whenever WIN32 isn't defined, instead of before when it was only - on unix or vxworks platforms. - - * tao/Makefile: Eliminated the need to copy files into a "proto/" - directory; now, everything is built into and used from the "tao" - directory. - - There is also a new, optional, environment - variable--TAO_ROOT--which should be set to the ".../TAO" - directory. If it's not set, the Makefile will set it to - WRAPPER_ROOT/TAO. - - Lastly, libcorba.* has changed to libTAO.*. - - * tao/orb.h: Eliminated many header files which had been - explicitly included here and were causing all manner of problems - with circular includes. Library components must now be careful to - include appropriate headers for all components they use, and we - will likely have to create a corba.h file for clients to use. - -Fri Jul 11 12:12:40 1997 Darrell Brunsch <brunsch@cs.wustl.edu> - - * tao/TAO.dsp: changed to use ace-r.dll in the release - version - - * tests/Cubit/TAO/{client,server}.dsp: changed to use ace-r.dll - and tao-r.dll for the release versions. - -Thu Jul 10 15:47:24 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * docs/: Removed the following obsolete files: README.apm, - BUILDING, and TESTS. - - * tao/params.*: Moved the instance() methods into the .cpp from - the .i, as well as the declaration for the singleton locks. - Having the singleton locks declared in the .i file caused much - consternation when ACE inlining was turned on. - - * tao/iiopobj.cpp: #ifdef'd the IID_STUB_Object declaration added - a few days ago so that it happens one way on NT, and another in - the rest of the Universe. I would have preferred to find a more - general solution, but didn't find one quickly enough to satisfy my - current requirements. - - * tao/roa.*: Removed get_request() method. This should improve - our McCabe scores ;-) - - * tao/boa.h: Removed get_request() method. - -Wed Jul 9 14:44:31 1997 Darrell Brunsch <brunsch@cs.wustl.edu> - - * TAO-Install: Added installation instructions for NT - -Tue Jul 8 20:52:06 1997 Darrell Brunsch <brunsch@cs.wustl.edu> - - * tao/PC_Install.bat: Made it very quiet. - - * tao/params.{cpp,h,i}: Changed TAO_OA_PARAMS from a - ACE_Singleton to a plain singleton by just integrating the - ACE_Singleton code into the class. - -Tue Jul 8 14:27:47 1997 Darrell Brunsch <brunsch@cs.wustl.edu> - - * tao/except.h: added ACE_Svc_Export to SYSEX macro - - * tao/iiopobj.cpp: changed declaration of IID_STUB_Object - to include ACE_Svc_Export - - * tao/stub.h: added ACE_Svc_Export to IID_STUB_Object - -Tue Jul 8 12:44:14 1997 Darrell Brunsch <brunsch@cs.wustl.edu> - - * tao/orbobj.cpp: Put the "*" in before the comment since it is - supposed to be there. Put a space between it and the comment - to get rid of the warning which VC was giving originally. - -Tue Jul 8 10:21:27 1997 Darrell Brunsch <brunsch@cs.wustl.edu> - - * tao/typecode.cpp: Changed a few loop counters from int to - CORBA_ULong to get rid of unsigned/signed comparison warnings - - * tao/orbobj.cpp: Got rid of a "*" before a comment. Looked like - a typo - - * tao/PC_Install.bat: Replaced "#...." with "rem ...." - -Mon Jul 7 20:59:05 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tests/Cubit/TAO/test1_{svr,clnt}.cpp (main): Added template - specialization code and updated the formatting. Thanks to Arturo - Montes <mitosys@colomsat.net.co> for reporting this. - - * tests/Cubit/TAO/test1_svr.cpp (main): Added the -i options to - getopt(). Thanks to Arturo Montes <mitosys@colomsat.net.co> for - reporting this. - - * TAO/tao/orbconf.h (SIZEOF_LONG_DOUBLE): Added a - #define for M_UNIX. Thanks to Arturo Montes - <mitosys@colomsat.net.co> for reporting this. - -Sun Jul 06 02:37:24 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.5, released Sun Jul 06 02:37:24 1997. - -Sun Jul 6 00:10:28 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> - - * tao: Fixed all the code so that we put ACE_MT around all the - ACE_GUARD_RETURN macros. - - * tao: Updated all of TAO to make sure we use [] when deleting - arrays in order to avoid memory leaks. This looks like lots of - sloppiness left over from the original SunSoft IIOP code. - -Sat Jul 5 16:12:31 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> - - * tao/{any,iiopobj,nvlist,principa,request,roa,svrrqst,typecode}.cpp: - Fixed a double-deletion of a lock. - - * tao/typecode.i: Cleaned up lots of minor warnings with the code - that are only revealed when running GCC. The code should now - compile almost completely cleanly with -wall. - - * tao/typecode.{i,h}: Changed the name of TC_PRV_State to - TC_Private_State. - - * tao: Replaced ACE_Thread_Mutex with ACE_SYNCH_MUTEX so that the - code will compile on non-threaded and threaded platforms alike. - - * tao/marshal.cpp: Added template specializations for the Marshal - primitives. Thanks to Arturo Montes <mitosys@colomsat.net.co> for - reporting this. - - * tao/Makefile (LDLIBS): Replaced -lcorba with -lACE so that we no - longer have problems with circular link dependencies. Thanks to - Arturo Montes <mitosys@colomsat.net.co> for reporting this. - -Sat Jul 05 13:25:23 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * TAO version 0.0.4, released Sat Jul 05 13:25:23 1997. - -Sat Jul 5 12:39:57 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tao: All throughout TAO I removed the direct use of system - include files in lieu of using ace/OS.h. - - * tao/{orbobj,typecode}.cpp: orb.h must be included before others - include files. Previous includes prevent correct use of ACE config - flags, therefore, I removed them. Thanks to Arturo Montes - <mitosys@colomsat.net.co> for reporting this. - - * tao/{debug,roa}.cpp: changed _POSIX_THREADS to ACE_HAS_PTHREADS. - Thanks to Arturo Montes <mitosys@colomsat.net.co> for reporting - this. - - * tao/decode.cpp (decode): The casting (CORBA_ULong) kind is - unnessary and wrong so I removed it. Thanks to Arturo Montes - <mitosys@colomsat.net.co> for reporting this. - - * tao/debug.cpp (emit_prefix): Changed line 99 from - - #define emit_prefix (stream) ... - - to - - #define emit_prefix(stream) ... - - The blank character prevent after macro name (emit_prefix) prevent - correct definition. Thanks to Arturo Montes - <mitosys@colomsat.net.co> for reporting this. - -Sat Jul 5 01:04:24 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * TAO/tao/xdr.cpp: Removed unistd.h and string.h from the xdr.cpp - file since those aren't necessary. Thanks to Arturo Montes - <mitosys@colomsat.net.co> for reporting this. - -Fri Jul 4 00:18:21 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tao/roa.h: Removed derogatory COMments ;-). Thanks to Anton van - Straaten <anton@appsolutions.com> for reporting this. - -Thu Jul 3 16:16:14 1997 Darrell Brunsch <brunsch@cs.wustl.edu> - - * Added ACE_Svc_Export to a couple of declarations to make NT - happier - -Thu Jul 3 13:43:20 1997 Darrell Brunsch <brunsch@cs.wustl.edu> - - * Added Visual C++ 5.0 project and workspace files for the TAO - library and Cubit test - -Wed Jul 2 12:44:42 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * TAO/tests: Moved tests from TAO/IIOP/tests to TAO/tests - -Wed Jul 02 00:20:28 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> - - * Compiled the first alpha release of TAO on Solaris just - to make sure it still works. So far, so good... hence, - the first alpha release is out the door! - -Tue Jul 1 23:35:53 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * VERSION: Added a VERSION file, starting at version 0.0.0... - -Tue Jul 1 23:00:15 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * Added a new tests directory with the Cubit and TTCP - examples. The older test directory will be deleted soon. - - In addition, the tc_constants in the tc_constants.cpp file are - declared with an ACE_Svc_Export to make the Win NT compiler - happy. Extern declarations in typecode.h had the same changes. - - * Updated the PC_install.bat file. In addition, there was one more - warning in typecode.cpp (Win NT compiler) that was fixed. Finally, - in the the tc_const.cpp file, the ACE_Svc_Export was used - accidently. This has been fixed. - - * A number of files were updated with ACE_Svc_Export so that - variables and classes do not remain unresolved for Win32 - platform. Similarly, Irfan had sent me a list of warnings that the - Win NT compiler was giving. These are fixed. - - * marshal.*: Changed the way make_marshal_object works. Instead of - having a switch statement, we index into a private table of - marshal objects using the TypeCode _kind field. MarshalFactory now - maintains this private table. - -Mon Jun 30 17:39:02 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> - - * Added a new README file and a COPYING file that explains the - contents of TAO and clarifies its copyright status. - -Sun Jun 29 10:06:50 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * marshal.*: Added CORBA_Environment as a parameter to - make_marshal_object factory method. The reason for doing this was - to enable inlining of the CDR::encode and CDR::decode methods. - - * typecode.*: Changed the way typecodes get deleted. Constant - typecodes are now owned by the ORB and their private state freed - when the ORB dies. IDL generated typecodes are not owned by the - ORB and are the only ones whose refcount matters. Typecodes - belonging to the IDL generated typecodes are also not owned by the - ORB and there is no effect on their refcount. They get freed only - if the parent is destroying itself. - - In typecode.i, methods such as length and content_type were not - getting inlined due to presence of switch statements. Converted to - if/else. - - * interp.cpp: Bug fix: Had previously forgotten to update the - size/alignment of the private state of the typecode. - -Fri Jun 27 14:27:49 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * any.cpp: The deep_copy and deep_free optimizations applied. In - the previous release, I had forgotten to add these to the Any - constructor (that calls deep_copy) and Any destructor/replace - (that call deep_free). - - * connect.cp, factories.cpp: Added code that hardcodes the socket - buffer sizes to 64K. This is a hack for the time being. - -Thu Jun 26 10:02:47 1997 Aniruddha Gokhale <gokhale@merengue.cs.wustl.edu> - - * Some more progress on IDL compiler. Generates the client and - server side files without much contents in it. - -Thu Jun 26 09:49:38 1997 Aniruddha Gokhale <gokhale@merengue.cs.wustl.edu> - - * Added a full range of optimizations to the TAO IIOP interpretive - marshaling engine. The static methods encoder and decoder have - been removed from the CDR class. Instead, separate classes for - marshaling have been created for each individual data type. The - CDR stream maintains a factory that returns an appropriate - marshaling object depending on the data type to be - marshaled. Files added include marshal.h, marshal.i, encode.cpp, - decode.cpp, deep_free.cpp, and deep_copy.cpp. The marshal.h file - defines classes for an abstract MarshalObject. The factory is - responsible to return a concrete specialized instance of the - MarshalObject. - - * Updated the CORBA_TypeCode class so that it now provides all the - CORBA_2.0 compliant operations. These include length(), - content_type(), member_type(), member_label(), - discriminant_type(), id(), default_index(). The equal() operations - is still not implemented. In addition, precomputation - optimizations are applied to the TypeCode class. This includes - precomputing various parameters (if any) of a TypeCode. For - example, a struct TypeCode keeps track of the member count and - member types. As a result, it is not necessary to interpret the - CDR encapsulated stream to retrieve these parameters. - - * At this time, there are some problems getting the Unions to work. - -Thu Jun 12 15:45:49 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * IIOP/lib/objtable.cpp: Added explicit template instantiations - for ACE_Hash_Map_Manager<>. - - * IIOP/lib/giop.*: Finally got rid of all those methods that took - ACE_HANDLE as the argument. Now, all those operate on - ACE_SOCK_Streams. - -Thu Jun 5 10:15:21 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * IIOP/lib/giop.cpp: Corrected output format in error message. - -Thu Jun 5 10:09:01 1997 Chris Cleeland <cleeland@merengue.cs.wustl.edu> - - * IIOP/test/svr.cpp: Added a new class to catch SIGINT and - terminate. This was necessary to Quantify the server process. - - * IIOP/lib/orbobj.h: Added ACE_INLINE to forward decls of - CORBA_release() and CORBA_is_nil(). - -Wed May 23 14:39:01 1997 Brian Mendel <bmendel@mdc.com> - - * IIOP/lib/objtable.{h,cpp}: Added template specialization of - ACE_Hash_Map_Manager for char*'s. - - * IIOP/test/cubitS.cpp: Fixed type_id to be of type CORBA_String_var. - Also, added a debug msg to print the object address to show the - object for which the request is made. - - * IIOP/test/svr.cpp: Added capability to create multiple Cubit - objects via command line options. Added -n for number of objects and - -k for specifying a base name. For instance, -k Beevis -n 2 creates - Beevis1 and Beevis2 objects. The clnt can then specify a specific - object for the request as usual. - -Wed May 22 12:28:45 1997 Brian Mendel <bmendel@mdc.com> - - * IIOP/test/clnt.cpp: Deleted VxWorks specific sections. Command - line is now working for VxWorks. - * IIOP/test/svr.cpp: Deleted VxWOrks specific sections. Command line - is now working for VxWorks. - -Wed May 22 11:31:42 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * IIOP/test/svr.cpp: Added better error checking and messages, and - performed general re-formatting. - - * IIOP/test/method_db.i (initialize_method_db): Changed arg type - to use a pointer to the abstract class TAO_Operation_Table. - - * IIOP/test/cubitS.cpp (_skel_Cubit::_skel_Cubit): Added better - error checking and messages. Also defaulted to use the linear - object table implementation rather than the hashed to simplify - debugging. - - * IIOP/test/clnt.cpp: Moved some code around so that more of the - code is common is less is specific to VxWorks and other platforms. - Also did general re-formatting. - - * IIOP/lib/optable.cpp (TAO_Linear_OpTable::find): Initialization - of the loop variable makes the loop work properly. - - * IIOP/lib/objtable.cpp (TAO_Dynamic_Hash_ObjTable::find): - Explicitly specified length of object key in CTOR for ACE_CString - because object keys are not zero-terminated. - - * IIOP/lib/giop.cpp: Added newlines to the end of all ACE_DEBUG() - messages. - - * IIOP/lib/factories.cpp: Added template specializations for - ACE_Hash_Addr<ACE_INET_Addr, TAO_Client_Connection_Handler>. - -Tue May 22 09:32:41 1997 Brian Mendel <bmendel@mdc.com> - - * IIOP/lib/cdr.h: Deleted #define old_value ACE_INLINE and - #define ACE_INLINE old_value lines. Added #undefs for ACE_INLINE - prior to redefines. Changes required to compile on Windows NT. - -Tue May 20 14:47:46 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * IIOP/test/cubitS.h: Removed forward decl of - TAO_Active_Operation_Table. - - * IIOP/test/{cubitC,cubitS}.*: Changed include quoting characters - from [<>] to double-quotes. - - * IIOP/test/Makefile: Removed cubit.o from clnt and svr target - (this has been subsumed by cubit[CS]). - - * IIOP/lib/optable.h: Changed ACE_RW_Mutex to ACE_SYNCH_RW_MUTEX. - - * IIOP/lib/optable.cpp: Inserted explicit template instantiations. - - * IIOP/lib/Makefile: Added optable to the Makefile. - - * IIOP/lib/optable.cpp: Moved ~TAO_Operation_Table() into here. - - * IIOP/lib/object.i: Moved find() and bind() into the cpp file. - Moved ~TAO_Operation_Table() into optable.cpp. - -Tue May 20 14:39:00 1997 Brian Mendel <bmendel@mdc.com> - - * IIOP/test/*: Commited changes to Cubit Example as a current snapshot - of required changes. - - * IIOP/lib/*: Changes required for header file includes. Added - conditionals around _IIOP_BUILD_ - -Tue May 20 13:55:58 1997 Chris Cleeland <cleeland@merengue.cs.wustl.edu> - - * IIOP/test/*: Commited this stuff in-process so that Brian - M. doesn't have to duplicate effort. - -Tue May 20 13:04:00 1997 Brian Mendel <bmendel@mdc.com> - - * IIOP/lib/debug.cpp: Deleted spaces between flockfile (f) and - funlockfile (f). Changed instances of debug_filter to - TAO_debug_filter. Deleted space between emit_prefix (stream). - - * IIOP/lib/cdr.cpp Added undef(s) for ACE_INLINE and - do_undef_on_ACE_INLINE to eliminate redefinition problems. - - -Tue May 20 10:55:09 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * IIOP/lib/cdr.h: Fixed the automatic inclusion of cdr.i into - cdr.h by checking to see if __ACE_INLINE__ is not defined and, if - so, defining ACE_INLINE to be "inline" (we tidy up the namespace - immediately after the inclusion of cdr.i, too). See source for - comments regarding why this is done. - - * IIOP/lib/optable.cpp (TAO_Linear_OpTable_Entry): Removed setting - of opname and skel_ptr to zero in CTOR since the CTOR for those - already insures this. Moreover, NT's compiler was complaining - about ambiguous resolutions. - - * IIOP/lib/{orbobj,giop,debug,boa}.cpp: Fixed reference to - debug_level so it's TAO_debug_level. - - * IIOP/lib/object.h: Replaced inclusion of optable.h with forward - decl of TAO_Operation_Table. - - * IIOP/lib/optable.cpp: Fixed names of methods that were changed - in the header but never changed in the source. Amazing that - neither g++ nor Sun C++ caught these gaffs! (Finally, the NT - compiler wins). - - * IIOP/lib/{orbobj,object}.h: Changed the forward decls of - CORBA_release() and CORBA_is_nil() so that they are only in effect - when inlining is NOT being used. - - * IIOP/lib/giop.cpp: Fixed incorrect passing of an object to - ACE_DEBUG() where an int is expected. - -Mon May 19 17:16:34 1997 Chris Cleeland <cleeland@merengue.cs.wustl.edu> - - * IIOP/lib/roa.cpp: Explicit cast rids us of a warning. - - * IIOP/lib/params.h: Fixed CTOR name. Once again I'm surprised - G++ didn't catch this. - - * IIOP/lib/optable.h: Corrected erroneous method signature on - bind(). - - * IIOP/lib/objtable.cpp: Corrected erroneous method signature on - TAO_Linear_ObjTable::bind(). - - * IIOP/lib/{object,orbobj}.h: Forward declaration of - CORBA_release(CORBA_Object_ptr) and CORBA_is_nil(CORBA_Object_ptr) - were commented out. I think this will cause a problem when we - DON'T inline, but I'll cross that bridge later. - - * IIOP/lib/{orb,factories}.h: Made inclusion of some headers - conditional on the compilation phase (building the library or an - application). - - * IIOP/lib/cdr.i: Removed incorrect default arguments (g++ didn't - catch them). - - * IIOP/lib/Makefile: Removed thread from the header list. - -Mon May 19 10:07:00 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * IIOP/lib/optable.cpp: Changed implementation of the operation - table and the parameters repository so that they use the right - class names. - -Sat May 17 17:18:38 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * First pass at providing a backend to the SunSoft's CORBA IDL - compiler front end. - -Fri May 16 17:30:31 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * IIOP/lib/svrrqst.*: Corrected some comments, adjusted some - argument type names to reflect their new, namespace-sanitized - names, and moved short methods into a new inline file. - - * IIOP/lib/stub.h: Corrected some comments and adjusted some - argument type names to reflect their new, namespace-sanitized - names. - - * IIOP/lib/roa.cpp: Corrected syntax error and fixed up typedef. - - * IIOP/lib/params.*: Removed extraneous comments and fixed - argument type on demux_strategy(). - - * IIOP/lib/orbobj.*: Added comments, removed static pointer to - the ORB. - - * IIOP/lib/optable.h: Removed extraneous comments and fixed - typedefs. - - * IIOP/lib/objtable.cpp: Fixed some syntax errors introduced by - reformating. - - * IIOP/lib/object.cpp: Adjusted some argument type names to - reflect their new, namespace-sanitized names. - - * IIOP/lib/invoke.cpp: Removed crufty #includes and adjusted some - argument type names to reflect their new, namespace-sanitized - names. - - * IIOP/lib/iioporb.*: Moved short methods into inline file, added - IIOP_ORB_ptr typedef, and changed data member to conform to ace - standards. - - * IIOP/lib/iiopobj.*: Added the second CTOR that I forgot last - time and adjusted some argument type names to reflect their new, - namespace-sanitized names. - - * IIOP/lib/giop.h: Added comments for various enums and - structures. - - * IIOP/lib/giop.cpp: Switched various GIOP::Invocation methods to - use handler_->peer() for socket communication rather than going - through a file descriptor. Also began the arduous (no other word - could explain it!) process of converting the homegrown debugging - message macro uses into ACE_DEBUG() uses. - - * IIOP/lib/factories.*: Added explicit DTOR for TAO_Client_Factory - and completed all the darn explicit template instantiations. - Changed 'Svc_Handler' to 'TAO_Client_Connection_Handler', and - added the forgotton TAO_Client_Factory::connector() method. - - * IIOP/lib/debug.*: Added 'TAO_' prefix to global debug state - variables and removed crufty #includes. - - * IIOP/lib/connect.cpp: Change ROA_Handler to - TOA_OA_Connection_Handler (missed these the last time through). - - * IIOP/lib/cdr.cpp: Added responsive commentary. - - * IIOP/lib/boa.cpp: Added comments to the dispatching code. - - * IIOP/lib/{any,boa,request,typecode}.cpp: Removed references to - thread.h/connmgr.*. - -Thu May 15 19:08:16 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> - - * Finished updating all the reformatting. - -Thu May 15 15:54:49 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * IIOP/lib/principa.h: Corrected syntax error which eliminated the - _refcount data member. - - * IIOP/lib/{params,roa}.*: Updated class names to reflect ROA --> - TOA_OA pseudo-namespace change. - - * IIOP/lib/orbobj.*: Updated CORBA_ORB_init() to return pointer to - new ORB singleton. - - * IIOP/lib/orb.h: Commented out some include files to eliminate - wierd circular dependencies. - - * IIOP/lib/optable.h: Moved TAP_Operation_Table into here. Put - OpTable* classes into the TAO_Operation_Table* pseudo-namespace. - - * IIOP/lib/objtable.*: Moved TAO_Object_Table into here. Moved - the Entry classes out of the scope of their respective concrete - operation tables, so they're now named <concrete_table>_Entry. - - * IIOP/lib/object.*: Moved TAO_Operation_Table into optable.*, and - added a data member which carries a pointer to the ORB with which - the object is associated. - - * IIOP/lib/iioporb.*: Added a singleton typedef for the ORB which - is what CORBA_ORB_init() will now return. Modified - string_to_object() so that it sets the ORB on the CORBA_Object - that it returns. - - * IIOP/lib/{iiopobj,nvlist}.h: Added some responsive commentary. - - * IIOP/lib/giop.cpp: Modified connection establishment code in - GIOP::Invocation::start() to utilize the client connection manager - in the ORB. - - * IIOP/lib/giop.h: Put a TAO_Client_Connection_Handler* into - GIOP::Invocation in place of the client_endpoint. - - * IIOP/lib/factories.*: Updated explicit template instantiations, - added TAO_Client_Connection_Handler. - - * IIOP/lib/connect.*: Renamed things--ROA_Parameters --> - TOA_OA_Parameters, ROA_Handler --> TOA_OA_Connection_Handler. - - * IIOP/lib/boa.h: Moved TAO_Object_Table into objtable.*, added - comments where appropriate. - - * IIOP/lib/{any,cdr,iioporb,invoke}.*: Re-formatting and creation - of inline method file. - -Tue May 13 21:51:22 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * Continued to update the format of the TAO source code so that it - will be consistent with the style used in ACE. - -Mon May 12 17:02:29 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * IIOP/lib/roa.*: Moved short method into an inline file. - Miscellaneous reformatting. Adjustment to new type names - (prefaced by TAO_ for namespace protection). - - * IIOP/lib/object.*: Moved short methods into an inline file. - Changed lookup()/register_op() to find()/bind() for consistency - with established ACE APIs. Miscellaneous reformatting. - - * IIOP/lib/iiopobj.*: Moved short methods into an inline file. - Added CTOR for IIOP::Version and IIOP::ProfileBody. Added - convenience CTOR for IIOP_Object where the profile can be - supplied. Miscellaneous reformatting. - - * IIOP/lib/boa.*: Moved short methods into an inline file. Changed - lookup()/register_obj() to find()/bind() for consistency with - established ACE APIs. - - * headers: Added comments to force C++ mode in emacs for header - files, and changed SCCS version tag info to RCS version tag info. - -Wed May 7 14:49:46 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * IIOP/lib/corbacom.cpp: Some bugs from the CORBA_String_var class - have been fixed. Thanks to Brian Mendel for noticing these. - - * IIOP/lib/boa.cpp: In CORBA_BOA::dispatch, the opname local - variable of type CORBA_String_var is changed to be of type - CORBA_String. This was because the String_var class would assume - ownership of the quantity assigned and delete it. Thanks again to - Brian Mendel for noticing this. - -Tue May 6 14:06:49 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * IIOP/lib/boa.hh: the register_obj's 2nd argument is changed from - CORBA_Object_ptr& to CORBA_Object_ptr - - * IIOP/lib/object.hh: the return type for register_op method on - CORBA_Object is changed from void to int to be consistent. - - Added a new method "get_subclass" to CORBA_Object that returns a - pointer to the subclass. Typeically, this would be pointer to an - object that implements an interface. - - * IIOP/lib/objtable.{hh,cpp}: @nd argument of register_obj changed - from CORBA_Object_ptr& to CORBA_Object_ptr. - - * IIOP/lib/orb.hh: the type signature of "skeleton" is changed to - take CORBA_Object_ptr rather than CORBA_Object_ptr& as its 2nd argument. - -Mon May 5 20:28:54 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * IIOP/lib/boa.cpp: commented out code that uses the "void - *context" field. It doesn't make any sense to have it. - - * IIOP/lib/boa.hh: Added 2 pure virtual methods (shutting_down and - clean_shutdown). - - In addition, the "register_obj" method was added. It was missing before. - - * IIOP/lib/corbacom.cpp: String_var's constructor bug is fixed. It - was trying to free storage that was never allocated. - - * IIOP/lib/iiopobj.{hh,cpp}: Added a method - "get_name" that - retrieves the object name. - - * IIOP/lib/object.{hh,cpp}: Added a method - "get_name" that - retrieves the object's name or key. This is for debugging purposes. - - * IIOP/lib/orbobj.cpp: There was an infinite loop in parsing the - options to BOA_init. Fixed. - - * IIOP/lib/stub.hh: Added the "get_name" virtual method. - -Sat May 3 22:45:23 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * IIOP/lib/boa.cpp: Added code temporarily that invokes the - skeleton that is looked up. We still need to add code that will - handle the case when no match is found on the operation names. - - * IIOP/lib/boa.hh: The register_obj method on TAO_Object_Table - now returns an integer indicating status of registering (-1 => - failure, 0 for success). - - * IIOP/lib/object.hh: The register_op method on - TAO_Operation_Table now returns an integer code (O for success, -1 - for failure). - - * IIOP/lib/objtable.{hh,cpp}: The register_obj method returns an - integer code representing either success or failure. - - * IIOP/lib/optable.{hh,cpp}: Added new files that implement - concrete strategies for operation name lookup. - -Fri May 2 08:48:29 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * IIOP/lib/object.hh: Modified the signature of register_op on - TAO_Operation_Table to take a second argument to be a pointer to - the actual skeleton. - - Thanks to Brian Mendel for reporting this. - -Thu May 1 16:46:11 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * IIOP/lib/object.{hh,cpp}: Added a method that can set the parent - pointer. - - * IIOP/lib/params.cpp: A hook has been provided in ROA_Factory to - enable the user to use a user-defined demux strategy. - -Wed Apr 30 22:00:51 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * IIOP/lib/objtable.{hh,cpp}: Added two new files that define - different object demultiplexing strategies. - - * IIOP/lib/Makefile: Added objtable as additional source file to compile. - - * IIOP/lib/boa.cpp: Provided the default destructor for the - TAO_Object_Table. - - * IIOP/lib/boa.cpp: Provided the default destructor for the - TAO_Operation_Table. - - * IIOP/lib/orbobj.cpp: Added support for the -OAtablesize option - in the call to CORBA_ORB::BOA_init method. - - * IIOP/lib/params.{hh,i,cpp}: Added support to ROA_Factory to return - a specific object lookup strategy. - - *IIOP/lib/roa.cpp: The ROA constructor initializes its "objtable_" - private data member with the object lookup strategy returned by - ROA factory. - -Tue Apr 29 11:52:48 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> - - * IIOP/lib/any.hh: Moved CORBA_Any_ptr declaration to orb.hh. - - * IIOP/lib/boa.{hh,cpp}: Renamed BOA to CORBA_BOA. The CORBA_BOA class - maintains a pointer to an abstract TAO_ObjectTable class. Concrete - classes inheriting from TAO_ObjectTable will provide strategies - for lookup. - - Added virtual functions to do dispatch based on object key. In - addition, added a lookup method based on object key that delegates - the task of looking the object to the object table it maintains. - - Changed the signature of typedef CORBA_BOA::dsi_handler to be pointer to - member function of class CORBA_BOA. Eventually, this will point to - the dispatch method of class CORBA_BOA. - - Moved "struct Dispatch_Context" from roa.hh to boa.hh since we - want BOA to be a full fledged OA eventually and not remain an - abstract class as it is now. All other OA's such as ROA inherit - from BOA and only add extra functionality. - - * IIOP/lib/connect.cpp: There was a syntax error (missing comma) - in one of the ACE_DEBUG statements which has been fixed. - - * IIOP/lib/corbacom.{hh,cpp}: Added class CORBA_String_var as well - as the CORBA compliant CORBA_string_dup. - - * IIOP/lib/except.hh: Moved CORBA_Exception_ptr declaration to orb.hh. - - * IIOP/lib/object.hh: Added an abstract class - TAO_Operation_Table. CORBA_Object maintains a pointer to this - abstract class. The IDL compiler will eventually generate concrete - classes that employ different lookup strategies for operation name - lookup. - - * IIOP/lib/orb.hh: Added forward declarations to all CORBA_* - classes. In addition, moved all the CORBA_*_ptr declarations here. - - * IIOP/lib/orbobj.{hh,cpp}: Added the CORBA compliant BOA_init - method to class CORBA_ORB. Users can now pass arguments to - BOA_init. Eventually, we want to make this method return any of - the specialized OA's depending on the arguments. Right now, we get - a pointer to the ROA. - - * IIOP/lib/params.{hh,i}: Added some more methods and enum - declarations to the ROA_PARAMS singleton. - - * IIOP/lib/principa.hh: Moved the CORBA_Principal_ptr declaration - to orb.hh. - - * IIOP/lib/roa.{hh,cpp}: Moved some functionality to boa.hh. ROA - is now only a specialized form of BOA. - - * IIOP/lib/stub.hh: Moved the typedef for "skeleton" to orb.hh. - - * IIOP/lib/svrrqst.{hh,cpp}: Had to rename BOA to CORBA_BOA. - - * IIOP/lib/typecode.hh: Moved the CORBA_TypeCode_ptr declaration - to orb.hh. - -Tue Apr 22 23:30:19 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * IIOP/lib/connect.cpp (open): Added log message. - - * IIOP/lib/params.cpp (concurrency_strategy): Uses reactive - strategy when appropriate. - - * IIOP/lib/params.hh: Reactive strategy added. - -Tue Apr 22 21:03:15 1997 Chris Cleeland <cleeland@tango.cs.wustl.edu> - - * IIOP/lib/giop.cpp: Changed erroneous ACE_GUARD calls to ACE_GUARD_RETURN - calls. - -Tue Apr 22 16:15:52 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * IIOP/lib/roa.cpp: Removed more POSIX thread calls. - - * IIOP/lib/invoke.cpp: Changed ForceSynchronousCancellation to - ACE_Synchronous_Cancellation_Required and made it use the ACE_OS - calls. - - * IIOP/lib/{typecode,svrrqst,request,principa,orbobj,nvlist,iiopobj,giop,except,any}.*: - Removed all vestiges of pthread mutexes...they are now - ACE_Thread_Mutexes. This will likely have to change if we want to - compile something completely devoid of threads, but that's another - day. Also, the mutexes have moved from being globals to being - members on the respective classes. No files should be dependent - on thread.hh any longer. - - * IIOP/lib/connect.cpp (open): Removed code obsoleted by use of - the Strategy_Acceptor. - - * IIOP/lib/{roa.cpp,connect.cpp},IIOP/tests/svr.cpp: Changes to - use new singletons described below. - - * IIOP/lib/params.*: Changed ROA_Parameters and ROA_Factory to use - ACE_Singleton<>. The singleton types are now named ROA_PARAMS and - ROA_FACTORY. - -Mon Apr 21 23:44:34 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> - - * IIOP/lib/roa.cpp (ROA): Changed spelling of clientAcceptor_ to - client_acceptor_ to be consistent with ACE style conventions. - -Mon Apr 21 10:52:42 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * IIOP/test/clnt.cpp: Moved call to CORBA_ORB_init() prior to the - parsing of the command line args. This got switched around during - porting to VxWorks. - - * IIOP/lib/roa.cpp: Changed calls using clientAcceptor_to use APIs - vended by ACE_Strategy_Acceptor. - - * IIOP/lib/roa.hh: Moved default thread flags into ROA_Factory. - - * IIOP/lib/params.*: Added ROA_Factory, a singleton which is the - beginning of an abstract factory dynamically producing runtime - strategies based on information found in ROA_Parameters. - - * IIOP/lib/connect.cpp: Added call to ROA_Handler's base class - CTOR in initializer list. - - * IIOP/lib/connect.hh: Changed ROA_Handler's CTOR so that it can - take an optional ACE_Thread_Manager* arg. This makes it - compatible with the CTORs for the base class. Also changed base - class for ROA_Acceptor to ACE_Strategy_Acceptor. - - * IIOP/lib/svrrqst.*: Changed references to BOA_ptr from TOA_ptr. - - * IIOP/lib/connect.*: ROA_Handler/ROA_Acceptor moved from roa.* - into here. - - * IIOP/lib/params.*: ROA_Parameters moved from roa.* into here. - - * IIOP/lib/boa.*: What used to be TOA is now BOA, and lives in - here. - - * IIOP/lib/roa.*: Major restructuring required removal of all - classes (see other log entries) from here. This file now houses - only the ROA class. - - * IIOP/lib/{tcpoa.*,toa.*}: Removed because of name changes from - TCP_OA->ROA and TOA->BOA. - -Fri Apr 18 08:09:19 1997 Brian Mendel <bmendel@mdc.com> - - * cdr.hh,corbacom.{hh,cpp},giop.cpp,marshall.cpp,typecode.cpp: - Changes required for WChar missed in earlier committed code. - - * connmgr.cpp: Changes required for select statement. - - * nvlist.cpp: Conditional include for memory.h added. VxWorks - does not have memory.h. - - * object.cpp: Added conditional for VXWORKS to define - IID_IUnknown. - - * orbconf.hh: Minor tuning of the configuration file. - - * tcpoa.{hh,cpp}: Added VXWORKS conditional includes. - - * toa.cpp: Added VXWORKS conditional includes. - - -Mon Apr 15 17:01:00 1997 Brian Mendel <bmendel@mdc.com> - - * roa.cpp: Added return statement to ROA_Handler::open(void*) - method. - - * giop.cpp: Modified giop::read_buffer to replace undefined fc - with peer.get_handle(). Modified giop::incoming_message method - parameter list to match function prototype exactly. - - * tcpoa.cpp: Replaced fd instances in debug messages with - peer.get_handle() calls. - -Mon Apr 14 13:45:54 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * roa.{hh,i,cpp},tcpoa.cpp,svr.cpp: Replaced ACE_ROA with - ROA_Parameters, which is a GoF-style singleton. - -Sun Apr 13 00:01:56 1997 Chris Cleeland <cleeland@tango.cs.wustl.edu> - - * roa.cpp: Fix continuation condition in ROA_Handler::svc()'s loop - so that it doesn't stop after one iteration. Also added some - debug messages. - - * giop.cpp: Fixed some returns being called with no value. This - should have been caught in the previous round of changes. - -Sat Apr 12 23:10:08 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * tcpoa.{hh,cpp}: TCP_OA::handle_message() now returns a value - indicating how a message was handled. - - * roa.cpp: ROA_Handler::handle_input() now returns a meaningful - value based on what TCP_OA::handle_message() returns. - - * giop.{hh,cpp}: Added end-of-file detection on socket - connections, and that is now propagated all the way back up - through GIOP::incoming_message(). I don't know if I violated - something in the spec by doing this, but it was necessary. I'll - look into it later. - -Thu Apr 10 11:49:44 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * giop.{hh,cpp}: Overloaded all methods dealing with connections - so that there are two, one taking a file descriptor as argument, - the other taking an ACE_SOCK_Stream. Right now, the *_Stream - version simply forwards to the fd-based one. I would have - preferred to get rid of the fd-based methods altogether, but we've - only converted the server runtime; the client is still using the - original sun code, which is effectively fd-based. In the course - of doing this, I also simplified the decls for incoming_message by - creating typedefs for some of the function pointers passed as - args. - - * orbconf.hh: Fixed the stupid auto-endian-ness detector - AGAIN...had my logic reversed! - - * roa.cpp: Adjusted code in accordance with changes to tcpoa.hh. - - * tcpoa.hh: Moved and renamed TCP_OA::dispatch_context to be - ::Dispatch_Context, and changed its endpoint member to be an - ACE_SOCK_Stream. - - * roa.hh: Fixed handle_input() to use the underlying peer() data - member for reading data, rather than using its argument. This is - so that when a different thread handles each connection, - handle_input() can simply be called repeatedly by svc(). - -Wed Apr 9 16:19:21 1997 Chris Cleeland <cleeland@tango.cs.wustl.edu> - - * tcpoa.cpp: Fixed a problem that G++ didn't notice regarding - changing the notion of endpoints in servers from server_endpoint - to an ACE_HANDLE. - -Wed Apr 9 15:43:37 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * svr.cpp: The -p option is gone, and -e takes its place and is - required. This requires the user to specify not only the port - number, but also the IP address of on which the server should - listen for requests. See ACE_INET_Addr documentation for valid - string formats for addresses. Also, the -t option sets the "use - threads" global. - - * orbconf.hh: Hopefully resolved the tension between MS and Unix - platforms in inferring endian-ness of the target platform based on - preprocessor defines. We now check for i386, _M_X86, and vax - (yeah, like we really worry about that, but it's easy to do). - - * roa.{hh,i,cpp}: Added support for spawning threads to handle - incoming requests. This involves a state flag for whether or not - to use threads, calling activate() in ROA_Handler::open() if that - flag is set, and creating ROA_Handler::svc() that simply loops - calling handle_input(). - -Tue Apr 8 11:14:57 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * IIOP/test/svr.cpp: Moved setting of upcall(), forwarder(), - context(), etc. into here rather than in TCP_OA::TCP_OA(), which - is where I mistakenly stuck them a few days ago (duh!). - - * IIOP/lib/tcpoa.cpp: Removed setting of ACE_ROA::upcall(), which belongs - in the server code. I got confused because the function names - were so similar: tcpoa.cpp contains ::tcp_oa_dispatcher(), and - svr.cpp contains ::tcpoa_dispatch(). - - * IIOP/lib/roa.{hh,i,cpp}: Added forwarding function to ACE_ROA global namespace - hack. - - * IIOP/lib/orbconf.hh: Fixed preprocessor checks that auto-detect - endian-ness of this processor. - -Mon Apr 7 21:08:24 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * IIOP/test/test1_{clnt,svr}.cpp: THESE HAVE NOT BEEN CONVERTED TO - USE ACE EVENT HANDLING!! This round of changes explicitly - instantiates templates where required. - - * IIOP/test/svr.cpp: Global function ::OA_listen() no longer - exists; its functionality is now fully contained within ::main(). - If USE_ACE_EVENT_HANDLING is defined, a Reactor-based event loop - is used. The original intent was to allow conditional compilation - to select btw. the original method and a Reactor-based method. - However, weaving that into the library proved far more difficult - than anticipated, so more than likely not defining - USE_ACE_EVENT_HANDLING will cause massive grief. - - * IIOP/lib/toa.cpp: Changed call to TCP_OA::init() to reflect new - ACE_INET_Addr argument type. - - * IIOP/lib/tcpoa.cpp (TCP_OA): All initialization methods were - changed, specifically the CTOR and TCP_OA::init, to reflect the - introduction of ACE_INET_Addr. Two side-effects of using - ACE_INET_Addr are that (1) a server can specify the address on - which it wants to listen and (2) best that I can tell, the server - MUST specify the address on which it wants to listen because - otherwise it won't be able to publish a rational IOR. The event - loop is now changed to simply loop on Reactor::handle_events(). - - * IIOP/lib/tcpoa.hh (TCP_OA): Removed vestiges of this component's - use of the original connection management scheme. Where - appropriate, hostnames and ports were replaces by ACE_INET_Addr, - endpoints by ACE_HANDLEs, etc. One particularly nasty thing done - was to declare ROA_Handler as a friend so that handle_message() - can be called from ROA_Handler::handle_input(), which to me - exposes a hole in the original architecture wherein input is - "pulled" rather than waited-for. We might need to re-think how - this is handled within TAO. - - * IIOP/lib/roa.{hh,i,cpp}: These files contain the required - components to support the new server-side ACE-based - connection/event substrate. The client side remains, as always, - using the connection mgmt scheme used by the original Sun IIOP - code. - - * IIOP/lib/giop.cpp: Added explicit template instantiation for - when this is needed. - - * IIOP/lib/corbacom.hh: Now protects itself from multiple - inclusion. - - * IIOP/lib/Makefile: Added roa.* where appropriate. - -Wed Mar 19 10:25:21 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * IIOP/docs/us/codecount/*.count: Added to repository. - - * Makefile: Added to repository. - - * IIOP/objbase.h: Moved to IIOP/compat. - - * IIOP/initguid.h: Moved to IIOP/compat. - -Thu Mar 13 14:06:28 1997 Chris Cleeland <cleeland@cs.wustl.edu> - - * ChangeLog: Added the ChangeLog. We'd like to thank David - Brownell <david-b@pacbell.net>, the original author of SunSoft - IIOP, for helping to launch TAO off in the right direction! |