Sat Jul 31 20:14:28 1999 Nanbor Wang * examples/OBV/Typed_Events/Client_i.cpp (run,random_number): Changed some uses of "double" to CORBA::Float and explicitly cast the return value in to CORBA::Float to avoid "losing precision" warnings from MSVC. * orbsvcs/Naming_Service/NT_Naming_Service.dsp: * orbsvcs/Naming_Service/Naming_Service.dsp: Fixed trailing newline problems. Sat Jul 31 17:42:17 1999 Carlos O'Ryan * tao/Timeprobe.h: New macros TAO_ENABLE_TIMEPROBES, TAO_MT_TIMEPROBES and TAO_TSS_TIMEPROBES, they match the definitions for their ACE counterparts, but can be used in the config.h file to enable the TAO timeprobes without enabling the ACE timeprobes. Sat Jul 31 14:39:03 1999 Douglas C. Schmidt * orbsvcs/Naming_Service: Added a program that enables the TAO Naming Service to run as a Windows NT service. Thanks to John Tucker and Mike Vitalo for contributing this. * tao/IIOP_Connect.cpp (open): Replaced the hard-coded IPPROTO_TCP with ACE_IPPROTO_TCP to deal with differences between PHARLAP and other platforms. Sat Jul 31 16:02:49 1999 Carlos O'Ryan * TAO version 1.0 released. Party on Garth. Fri Jul 30 20:47:14 1999 Nanbor Wang * TAO_IDL/be/be_visitor_interface/interface_ss.cpp (visit_interface): The generated code for creating the imported direct collocated object reference was broken and the servant was stored as a generic ServantBase instead of the interface specific servant. Thanks to John T Geiss for reporting the bug. Fri Jul 30 19:49:29 1999 Carlos O'Ryan * tests/Faults/test_i.cpp: Reduce the sleep time to avoid false timeouts * tests/Faults/pong.cpp: * tests/Faults/ping_i.cpp: * tests/Faults/pong.cpp: Fixed syntax errors in last commit, Sun/CC just seems unable to catch them. Fri Jul 30 18:47:34 1999 Carlos O'Ryan * tests/Faults/Makefile: * tests/Faults/ping.cpp: * tests/Faults/ping.idl: * tests/Faults/ping_i.h: * tests/Faults/ping_i.i: * tests/Faults/ping_i.cpp: * tests/Faults/pong.cpp: * tests/Faults/run_test.pl: Added new test to check that the client can continue sending requests (in this case oneways) after the server dies. The test can also be used to check that the client can reconnect to a persistet service, but this is not checked in the run_test.pl script because. Many thanks to Andreas Geisler and to Andy Gokhale for reporting the problem and providing a test case (Andreas) and good debugging info (Andy) * tao/IIOP_Connector.cpp: * tao/UIOP_Connector.cpp: If the connection fails then we have to reset the hint. We need to re-examine the current solution, but after 1.0. Fri Jul 30 14:52:59 1999 Nanbor Wang * tests/IDL_Test/IDL_Test.dsw: * tests/IDL_Test/idl_test.dsp: Updated project configurations. * version_tests.dsw: Added IDL_Test. Fri Jul 30 12:40:49 1999 Jeff Parsons * TAO/tests/IDL_Test/typedef.idl: Commented out some code for now where an array contains a typedef'd array. HP/UX-aCC had a problem with the generated code, and the IDL compiler (as Carlos informs me) does not include any of the config-* files, so we have to comment this out for everybody. Fri Jul 30 11:08:38 1999 Carlos O'Ryan * docs/Tags.html: Fixed the ASCII representation for some of the protocol tags. Thanks to Andres for pointing this out. Fri Jul 30 02:40:24 1999 Kirthika Parameswaran * docs/releasenotes/orbcore.html: Added the Connection Caching in the Ongoing Work portion. Fri Jul 30 02:50:06 1999 Irfan Pyarali * tao/Object_Adapter.cpp (servant_cleanup and poa_cleanup): * tao/POA.cpp (is_servant_in_map, is_user_id_in_map, and wait_for_completions): Condition variables should only be used when is true. Fri Jul 30 02:40:24 1999 Kirthika Parameswaran * tao/orbconf.h (TAO_CONNECTION_CACHING_STRATEGY): Made the ConnectionCachingStrategy to be NOOP by default. Fri Jul 30 01:58:52 1999 Carlos O'Ryan * docs/Options.html: * tao/orbconf.h: * tao/ORB_Core.h: * tao/ORB_Core.i: * tao/ORB_Core.cpp: * tao/default_server.h: * tao/default_server.cpp: * tao/Server_Strategy_Factory.h: * tao/Server_Strategy_Factory.cpp: * tao/UIOP_Connect.h: * tao/UIOP_Connect.cpp: * tao/IIOP_Connect.h: * tao/IIOP_Connect.cpp: Fixed the concurrency problems of shutting down the ORB when the thread-per-connection concurrency model was used. The server threads poll the ORB to find out if they should shutdown, but at a very low rate (the default is 5 seconds). The user can control the rate or even disabled the polling completely using the -ORBThreadPerConnection server strategy factory option; the complete documentation is in Options.html This solves [BUGID:174] Thu Jul 29 23:03:32 1999 Nagarajan Surendran * orbsvcs/tests/AVStreams/benchmark/client.{h,cpp}: Fixed the direct usage of ACE_Condition to ACE_SYNCH_CONDITION. * orbsvcs/tests/AVStreams/mpeg/source: Fixed LIBS to LDLIBS in Makefile. Also removed a few warnings for egcs. * orbsvcs/tests/AVStreams/mpeg/server_discovery: Fixed LIBS to LDLIBS in Makefile. Thu Jul 29 22:11:50 1999 Carlos O'Ryan * tests/Faults/run_test.pl: Adjusted time out values, the new test takes longer to run than expected. * performance-tests/Cubit/TAO/IDL_Cubit/run_test.pl: If the server or the client return with an error we print out which one. Thu Jul 29 22:00:45 1999 Carlos O'Ryan * tao/ORB_Core.h: * tao/ORB_Core.i: * tao/ORB_Core.cpp: * tao/Wait_Strategy.cpp: Fixed [BUGID:173] the dead-lock in the leader follower set. The problem is explained in the following comment: // Assume that we are the only follower, another thread is // the leader and it completes its work, it sends us the // signal and removes us from the set. // Before waking up another thread becomes the leader, when // we do wake up we believe that it was a false return from // the condition variable and go into the loop again. // But now the follower set is empty and nobody is ever // going to wake us up, dead-locking the application. the solution was to add the follower to the set after returning from the condition variable wait. Thu Jul 29 20:47:44 1999 Ossama Othman * examples/Makefile: * examples/POA/Makefile: * orbsvcs/Makefile: * orbsvcs/orbsvcs/Makefile: * orbsvcs/tests/Makefile: * performance-tests/Cubit/TAO/Makefile: * tao/Makefile: * tests/Makefile: When compiling with minimum CORBA support, disable certain ORB services, examples and tests that rely on CORBA features that are not supported in the minimum CORBA specification. Thu Jul 29 19:11:27 1999 Ossama Othman * tao/Object_Adapter.cpp (create_lock): Fixed unused argument warnings in single-threaded build. Thu Jul 29 17:22:53 1999 Ossama Othman * tao/ORB.{h,cpp}: Moved CORBA_ORB::perform_work() and CORBA_ORB::work_pending() outside of the !TAO_HAS_MINIMUM_CORBA code block. This change is similar to the change we made for shutdown because we (Irfan) feel these methods are too important. Thu Jul 29 19:14:07 1999 Jeff Parsons * TAO/tao/Stub.cpp: Added code to do_static_call and do_dynamic_call to plug memory leaks of the 'in' part of inout parameters. * TAO/tests/Param_Test/bd_string.cpp: Cosmetic changes. * TAO/tests/Param_Test/ub_objref_seq.cpp: Test code was causing leak in SII and DII tests. Thu Jul 29 19:10:49 1999 Carlos O'Ryan * orbsvcs/Scheduling_Service/Scheduling_Service.cpp: * orbsvcs/examples/RtEC/Schedule/Service.cpp: Changed ACE_Thread_Mutex to ACE_SYNCH_MUTEX, thanks to Ossama for pointing this out. Thu Jul 29 17:27:59 1999 Douglas C. Schmidt * tao/ORB.cpp (work_pending): Forward the work_pending() method to the Reactor's work_pending() method. Thanks to Irfan for pointing this out. Thu Jul 29 16:16:07 1999 Carlos O'Ryan * tao/IIOP_Connect.h: * tao/IIOP_Connect.cpp: * tao/UIOP_Connect.h: * tao/UIOP_Connect.cpp: Added reference counting to the server-side Svc_Handlers, this fixes the problem reported in [BUGID:172] * tests/Faults/Makefile: * tests/Faults/client.cpp: * tests/Faults/middle.cpp: * tests/Faults/run_test.pl: * tests/Faults/server.cpp: * tests/Faults/test_i.h: * tests/Faults/test_i.i: * tests/Faults/test_i.cpp: Added new scenario to the test to check that the server does not crash if the client dies before the server can send back the Reply. This was specially problematic if the server used the Reactor in the process, because it would call handle_close() Thanks to Geisler Andreas for pointing out this problem and breaking through our thick skulls with it. Thu Jul 29 14:54:11 1999 Carlos O'Ryan * examples/Event_Comm/Event_Comm_i.cpp: Fixed warnings about unused variables on platforms that do not defined ACE_HAS_REGEX Thu Jul 29 14:09:11 1999 Douglas C. Schmidt * TAO version 0.4.4 released. Thu Jul 29 13:40:52 1999 Carlos O'Ryan * orbsvcs/tests/EC_Throughput/run_test.pl: More fine tuning on the scripts so they won't give false negatives on slow machines. Thu Jul 29 12:12:11 1999 Jeff Parsons * TAO_IDL/be/be_visitor_array/cdr_op_ci.cpp: Fix to CDR insertion operator for arrays containing typedef'd array on HP/UX-aCC. Thu Jul 29 11:21:48 1999 Carlos O'Ryan * examples/POA/Forwarding/run_test.pl: Increased the timeout values because it was giving spurious timeouts on IRIX. Thu Jul 29 02:51:45 1999 Darrell Brunsch * orbsvcs/tests/ImplRepo/implrepo.conf: This file isn't being used anymore. * orbsvcs/tests/ImplRepo/airplane_server_i.cpp: * orbsvcs/tests/ImplRepo/nestea_server_i.cpp: POA manager was not being activated so the tests were failing. * docs/implrepo/usersguide.html: Updated with new IR information. * docs/Options.html: * docs/implrepo/index.html: * docs/implrepo/tao_ir.html: * orbsvcs/tests/ImplRepo/run_test.pl: * orbsvcs/tests/Time/run_test.pl: * tao/ORB_Core.cpp: Changed ORB options -ORBImplRepo[IOR|Port] to -ORBImplRepoService[IOR|Port] so that it is more consistent with other ways of referencing the Implementation Repository in the ORB. Thanks to Brian Wallis for this suggestion. Thu Jul 29 01:06:54 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.h: * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.i: Added accessors for the SOCK_Dgram of both UDP and Mcast event handlers. Thanks to Dave Meyer for contributing this. Wed Jul 28 22:07:14 1999 Irfan Pyarali * tao/POA_CORBA.h (Policy): We always inherit from ServantBase now. Previously, we were inheriting from LocalServantBase if we had locality constraint policies, otherwise we inherit from ServantBase. The difference between LocalServantBase and ServantBase is: (a) _dispatch() always returns an exception, and (b) create_stub() does not register with the POA but simply creates a fake stub. The problem with the above was that the POA policies were changed to make use of the POA registration and reference counting scheme. However, when locality constrained, we never register with the POA, and thus breaking the code. The fix was to always inherit from ServantBase. Even when locality constrained, we register with the POA (not because of remote calls, but because of the reference counting). We overwrite _dispatch() to throw an exception. Wed Jul 28 22:09:18 1999 Douglas C. Schmidt * examples/Simple/bank/server.cpp: Fixed a typo where #pragma instantiate Server should be #pragma instantiate Server. Thanks to Bill Tovrea for reporting this. Wed Jul 28 21:10:00 1999 Chris Gill * examples/Simulator/DOVEBrowser/NS_Resolve.java: fixed name service reply handling, according to new reply format. Thanks to Rebecca Sanford for reporting the problem and for sending in the fix. * examples/Simulator/DOVEBrowser/PushConsumer.java: added missing catch blocks for new RtecScheduler INTERNAL and SYNCHRONIZATION_FAILURE exceptions. * examples/Simulator/DOVEBrowser/make.bat: added commands to copy over TimeBase.pidl file with other IDL files. * examples/Simulator/Event_Supplier/DualEC_Sup.dsp, examples/Simulator/Event_Supplier/Event_Sup.dsp, examples/Simulator/Event_Supplier/Logging_Sup.dsp: added orbsvcs/orbsvcs to preprocessor include paths, so generated headers will compile. * orbsvcs/Scheduling_Service/Scheduling_Service.cpp: added missing "o:" to get opts string (was not parsing for -o option). Wed Jul 28 19:01:09 1999 Ossama Othman * tao/Makefile (ORB_CORE_FILES): ObjectIDList was incorrectly removed from the list of sources to be built when building with minimum CORBA support. * tao/TAO_Internal.cpp: * tao/UIOP_Acceptor.cpp: * tao/UIOP_Acceptor.h: * tao/UIOP_Connect.cpp: * tao/UIOP_Connect.h: * tao/UIOP_Connect.i: * tao/UIOP_Connector.cpp: * tao/UIOP_Connector.h: * tao/UIOP_Factory.cpp: * tao/UIOP_Factory.h: * tao/UIOP_Profile.cpp: * tao/UIOP_Profile.h: * tao/UIOP_Profile.i: * tao/UIOP_Transport.cpp: * tao/UIOP_Transport.h: * tao/default_resource.cpp: By default, only compile support for UIOP when TAO_HAS_UIOP is defined. This change will allow the user to explicitly compile in support for UIOP even if TAO_HAS_MINIMUM_CORBA is defined. * tao/Object_Adapter.cpp: * tao/POA.cpp: Fixed unused argument warnings that occurred when TAO_HAS_MINIMUM_CORBA was defined. * tao/IORManipulation.cpp: Fixed warnings from gcc 2.95 that complained about choosing the best string conversion operator. Wed Jul 28 18:28:16 1999 Jeff Parsons * TAO/tests/Param_Test/ub_string.cpp: * TAO/tests/Param_Test/bd_string.cpp: Plugged some memroy leaks reported by Purify. * TAO_IDL/be/be_visitor_array/array_ci.cpp: Fixed the last problem with generated code in IDL_Test, related to the T_var and T_forany const [] operator, which wasn't compiling for multidimensional arrays. * TAO/tests/IDL_Test/README: Added more info about the IDL compiler warning output when a module is reopened and the platform lacks namespaces. Wed Jul 28 15:47:20 1999 Irfan Pyarali * tao/orbconf.h: Added new macro TAO_HAS_UIOP. If the user has not already specified TAO_HAS_UIOP, and the platform supports UNIX domain sockets, and minimum CORBA is not defined, we turn on TAO_HAS_UIOP by default. Note that even with minimum CORBA, the user can still get UIOP support simply be defining TAO_HAS_UIOP before reaching this code. Wed Jul 28 14:23:29 1999 Fred Kuhns * tao/IORManipulation.cpp: Fixed a problem with how TAO_Stub creator was called. It was originally TAO_Stub ((Stream_var)type_id, ...). However, this resulted in both the stub object and the type_id obj owning the same string. The change is to first perform a string_dup () then give the string to the stub object. Thanks to Aniruddha Gokhale for id'ing the bug and providing a fix. Wed Jul 28 13:53:36 1999 Carlos O'Ryan * tests/OctetSeq/OctetSeq.cpp: The test was mistakenly not using the octet sequence optimizations. * tao/IIOP_Connect.cpp: * tao/IIOP_Connector.cpp: * tao/IIOP_Transport.cpp: * tao/UIOP_Connect.cpp: * tao/UIOP_Transport.cpp: Added a bunch of comments about code that could be refactored and things that were not very clear, thanks to James Megquier for helping out with this. Wed Jul 28 13:44:14 1999 Carlos O'Ryan * orbsvcs/examples/RtEC/Makefile: * orbsvcs/examples/RtEC/Schedule/README: * orbsvcs/examples/RtEC/Schedule/Makefile: * orbsvcs/examples/RtEC/Schedule/Consumer.h: * orbsvcs/examples/RtEC/Schedule/Consumer.cpp: * orbsvcs/examples/RtEC/Schedule/Schedule.h: * orbsvcs/examples/RtEC/Schedule/Service.cpp: * orbsvcs/examples/RtEC/Schedule/Supplier.h: * orbsvcs/examples/RtEC/Schedule/Supplier.cpp: New example that shows how to use the event service and the scheduling service to generate (and use) schedules. Wed Jul 28 13:09:26 1999 David L. Levine * docs/minimumTAO.html: updated libTAO size breakdown. Wed Jul 28 12:31:41 1999 David L. Levine * tao/POA.i (establish_servant_lock,teardown_servant_lock): with TAO_HAS_MINIMUM_CORBA only, added ACE_UNUSED_ARG (servant). Wed Jul 28 12:00:54 1999 Ossama Othman * tao/Asynch_Invocation.cpp: Changed initial timeprobe enumeration value. The previous was already in use by another set of timeprobes in a different file. Wed Jul 28 11:51:45 1999 Ossama Othman * performance-tests/Cubit/TAO/IDL_Cubit/README: Added documentation for the newly added -b client option. * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Client.{h,cpp}: Added zero-copy optimization for octet sequence test. Thanks to Carlos for adding this optimization. Added ability to specify a different octet sequence length when running the small_octet_seq test by using the newly added '-b' option. * performance-tests/Cubit/TAO/IDL_Cubit/benchmark.sh: * performance-tests/Cubit/TAO/IDL_Cubit/benchmark_sequence.sh: Scripts useful for running IDL_Cubit benchmarks. Wed Jul 28 10:46:45 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Trader/Service_Type_Repository.cpp: Fixed compilation problems on AIX over PPC, thanks to Steve Huston for reporting the problem and helping us track it down. Note: this was another ugly macro in a system header file (s_type) it is now documented in the ACE-guidelines.html file, thanks to David for that. Wed Jul 28 00:06:32 1999 Douglas C. Schmidt * Added a bunch of updated Makefile.bor files for BCB4. Thanks to Christopher Kohlhoff and Mike Gingell for contributing these. Tue Jul 27 21:11:46 1999 Jeff Parsons * TAO_IDL/fe/idl.yy: * TAO_IDL/fe/y.tab.cpp: * TAO_IDL/fe/y.tab.cpp.diff The IDL compiler was losing its list of pragma prefixes upon declaration of a typedef. Upon fixing this, and further checking I found that it was also losing them upon declaration of a contant, enum, exception and a forward interface delcaration. Had to add code to reset the list (accessing it sets it to NULL) in several places, and in some cases extract the list when it wasn't already assigned to a local variable. Thanks to Alex Hornby for sending in the original example. * TAO/tests/Param_Test/param_test_i.cpp: Fixed all the MSVC level 4 warnings in this file. Tue Jul 27 17:45:26 1999 Kirthika Parameswaran * tao/ORB.{i, h} (CORBA_ORB_out): Added the "const" to the formal argument of the copy constructor. This would otherwise result in warnings on using CORBA_ORB_out when compiling with SunCC5.0. Tue Jul 27 17:41:21 1999 Carlos O'Ryan * tests/MT_Client/run_test.pl: * tests/MT_Client/server.cpp: Work around problems in the thread-per-connection concurrency model: the ORB cannot wait for the server threads to exit because there is no portable way to ensure that they finish. Unfortunately if main() exits before the server threads finish doing their cleanup the program may crash. The current workaround is to sleep() before main exits, giving the server threads a chance to exit. Tue Jul 27 13:57:20 1999 Nanbor Wang * performance-tests/Cubit/TAO/MT_Cubit/Task_Client.h: KCC has the fix for the struct exception name conflict so we don't need to do it here. * orbsvcs/orbsvcs/orbsvcs_static.dsp: Fixed broken custom build Tue Jul 27 14:28:14 1999 Nanbor Wang * version_tests.dsw: Event_Service was missing from the workspace. * orbsvcs/orbsvcs/orbsvcs_static.dsp: Fixed broken custome build setting and updated source file lists. Tue Jul 27 13:48:26 1999 David L. Levine * examples/Quoter/run_test.pl: added missing }. Tue Jul 27 13:48:25 1999 Darrell Brunsch * examples/Quoter/Quoter_i.cpp (copy): rearranged logic to avoid Green Hills warning about function not returning a value. Tue Jul 27 11:00:00 1999 David L. Levine * performance-tests/Cubit/TAO/IDL_Cubit/README: updated collocation test usage notes. Mon Jul 26 21:41:31 1999 Douglas C. Schmidt * TAO/PROBLEM-REPORT-FORM: Changed all occurrences of ace-users to tao-users. Thanks to David Levine for remembering this! Mon Jul 26 20:55:41 1999 Irfan Pyarali * docs/configurations.html: Added thread-pool example link. Mon Jul 26 18:20:33 1999 Ossama Othman * docs/releasenotes/index.html: Updated UIOP BNF to be more like "iioploc" BNF, and reorganized some text. * tao/IIOP_Acceptor.cpp (open, open_default): TAO now properly sets the host using the fully qualified domain name (FQDN) when only a port is specified in an iiop endpoint. [Bug 43] Added some error checks when setting the host and port. * tao/{IIOP,UIOP}_Connector.cpp (check_prefix): Make sure only certain prefixes are accepted. Previously, we were only checking if the there the first few characters matched. * tao/{IIOP,UIOP}_Factory.cpp (match_prefix): {iiop,uiop}loc should not be accepted as a proper prefix for server endpoints. * tao/{IIOP,UIOP}_Profile.cpp (to_string): URL style IOR prefix should be "iioploc" for IIOP and "uioploc" for UIOP (although there is no "uioploc" standardized specification yet). * tao/Acceptor_Registry.h: Comment update. * tao/Acceptor_Registry.cpp (open): Corrected typo in error message. Mon Jul 26 17:11:16 1999 Irfan Pyarali * tao/IIOP_Connect.cpp (handle_input): * tao/UIOP_Connect.cpp (handle_input): Take out all the information from the and reset it so that nested upcall on the same transport can be handled. Thanks to Geisler Andreas for sending an example showing the problem in TAO. * tao/GIOP.h (TAO_GIOP::process_server_message): Changed method interface to take message_type and giop_version instead of TAO_GIOP_Message_State. Mon Jul 26 16:08:05 1999 Jeff Parsons * TAO_IDL/ast/ast_module.cpp: * TAO_IDL/ast/ast_expression.cpp: * TAO_IDL/be/be_codegen.cpp: * TAO_IDL/be/bevisitor_scope.cpp: * TAO_IDL/util/utl_string.cpp: Changes to avert MSVC level 4 warnings. There are still some left, but they are in generated files, and I will get those in another checkin. Mon Jul 26 15:30:41 1999 Jeff Parsons * TAO/tao/Any.cpp: * append.cpp: * CDR_Interpreter.cpp: * decode.cpp: * DynAny_i.cpp: * GIOP.cpp: * GIOP_Server_Request.cpp: * IIOP_Connector.cpp: * Object.cpp: * ORB.cpp: * ORB_Core.cpp: * Pluggable.cpp: * POA.i: * Stub.i: * Principal.cpp: * skip.cpp: * ValueBase.i: * Typecode.i: Minor mods to get rid of MSVC level 4 warnings, mostly casting return values from integer to CORBA::Boolean and the like * Typecode.h: Changed the private member kind_ from CORBA::TCKind type to CORBA::Long. With indirection in typecodes came the added value ~0u to switch statements. MSVC at level 4 warns that this value is not in the enum. This mod (suggested by Carlos) seems to work well, with some minor changes in the files above to compensate. Mon Jul 26 15:15:48 1999 Jeff Parsons * TAO/tests/IDL_Test/Makefile: Corrected some mistakes in the code to get generated files from reopened_modules.idl to be included in the build or not depending on whether the platform supports namespaces. * TAO/tests/Makefile: Added IDL_Test directory to the list. It now builds cleanly on NT, SunOS/egcs and SunOS/g++. Mon Jul 26 15:00:14 1999 Jeff Parsons * TAO_IDL/be/be_visitor_union_branch/cdr_op_ci.cpp: Fixed broken code for generation of CDR extraction for enum union member. Mon Jul 26 12:37:20 1999 Douglas C. Schmidt * TAO version 0.4.3 released. Mon Jul 26 12:25:55 1999 Ossama Othman * docs/Options.html: Added comments explaining that -ORBEndpoint is a server side option and -ORBPreconnect is a client side option. Also clarified use of -ORBInitRef and -ORBDefaultInitRef with UIOP IORs. Mon Jul 26 10:42:26 1999 Douglas C. Schmidt * orbsvcs/examples/CosEC/Factory: Added a README file. Thanks to Pradeep Gore for contributing this. Fri Jul 23 17:54:45 1999 Irfan Pyarali * tao/Acceptor_Impl.cpp (TAO_Accept_Strategy): Added a new accept strategy that purges old connections when it runs out of descriptors. * tao/IIOP_Acceptor.cpp (open): * tao/UIOP_Acceptor.cpp (open): Changed the acceptors to use the new accept strategy. * tests/Connection_Purging/Connection_Purging.cpp: - Added handle gobbling to this test in order to reduce the number of iterations required to make purging happen. - Added the ability to go back and reinvoke on old servers. This will check whether the purging did the right thing. Fri Jul 23 17:23:07 1999 Carlos O'Ryan * tao/Transport_Mux_Strategy.cpp: Fixed return value when the request id does not match. This is not always an error, for example if an old reply for a timedout request arrives while we are waiting for another requests. Fri Jul 23 16:50:04 1999 Nanbor Wang * tao/ORB.cpp (_get_collocated_servant): Further simplify the collocation seach method by pushing the collocation strategy check into _find_collocated_servant. (_find_collocated_servant): Make sure that we only search the ORB for the collocation when the strategies used by the ORB allows us to do it. Fri Jul 23 15:03:01 1999 Carlos O'Ryan * tao/ORB.h: * tao/ORB.i: * tao/ORB.cpp: * tao/ORB_Core.h: * tao/ORB_Core.i: * tao/ORB_Core.cpp: Fixed shutdown problems when there is a client thread still running. This fixed the problems with the Faults, Timeout, EC_Throughput and EC_Custom_Marshal tests. Fri Jul 23 14:53:40 1999 Nanbor Wang * performance-tests/Cubit/TAO/IDL_Cubit/collocation_test.cpp: Changed the ior output file flag to -f. Fri Jul 23 12:17:04 1999 Nanbor Wang * performance-tests/Cubit/TAO/IDL_Cubit/collocation/svc.conf: We can't use TSS resource in this test because it shuts down the wrong reactor. Fri Jul 23 13:23:04 1999 Carlos O'Ryan * tao/PolicyC.cpp: Fixed problem in unchecked_narrow(), it was creating remote policy stubs all the time. Thanks to David for pointing this out. Fri Jul 23 12:01:34 1999 Jeff Parsons * TAO/tests/IDL_Test/namespace_check.cpp: New file that includes files generated from reopened_modules.idl if ACE_HAS_USING_KEYWORD is defined. Reopened modules are mapped to reopened namespaces, and platforms without namespaces cannot handle this, even with the TAO_NAMESPACE macro. If this is the case, the file namespace_check.cpp will be empty after preprocessing. * TAO/tests/IDL_Test/Makefile: * TAO/tests/IDL_Test/README: Changed to reflect the above addition. * TAO/tests/IDL_Test/reopened_modules.idl: * TAO/tests/IDL_Test/interface.idl: * TAO/tests/IDL_Test/sequence.idl New examples added. * TAO_IDL/util/utl_scope.cpp: Further tweaking of the lookup_by_name() method, in response to a bug report. Thanks to Ruud Diterwich for sending in the example. * TAO_IDL/be/be_visitor_array/cdr_op_ci.cpp: Added code generation for an explicit temporary in CDR extraction operator of multi-dimensional array where base type is a typedef, rather than just putting a constructor on the rhs of the >> operator in the FOR loop. SunOS/egcs complained about lvalue/rvalue stuff. * TAO_IDL/be/be_visitor_sequence/cdr_op_ch.cpp: * TAO_IDL/be/be_visitor_sequence/cdr_op_ci.cpp: * TAO_IDL/be/be_visitor_sequence/cdr_op_cs.cpp: Added #if !defined guards around CDR operator declarations and definitions if the sequence is anonymous. A struct or a union could contain an anonymous sequence of the same type more than once, and the body of the CDR operators would also appear more than once in generated code, leading to C++ compile errors. Thanks to Roger Egbers for sending in the example. Fri Jul 23 11:37:49 1999 Douglas C. Schmidt * orbsvcs/orbsvcs/IOR_Multicast.cpp (handle_input): Use get_host_addr() rather than get_host_name() to avoid failures where DHCP can't resolve the remote host name. Thanks to Andrew G. Harvey for reporting this. Fri Jul 23 08:53:52 EDT 1999 Aniruddha Gokhale * TAO_IDL/be/be_type.cpp (nested_type_name): There was an error in the computation of the string length that we use to do string comparison. This error resulted due to a copy/paste which was causing errors in generated code. This bug report was passed to me by Jeff Parsons. Thanks to Alex Hornby for submitting the bug report. Fri Jul 23 02:13:44 1999 Nanbor Wang * tao/ORB_Core.cpp (init): Generate a warning message if we see '-ORBCollocation YES'. We still accept this option but it implies using global collocation table. Thanks to Irfan for suggesting this. Fri Jul 23 02:02:21 1999 Nanbor Wang * tao/ORB.cpp (_get_collocated_servant): The origianl implementation was somewhat broken in that it check the collocation strategy of the client ORB to determine whether an object is collocated or not. However, the server ORB's collocation strategy should be the one that determine whether an object be considered collocated or not. The revised implementation now check with the the client ORB first if the client ORB allows collocation. If yes, regardless of the collocation table strategy, we check to see if the object resides in the same ORB or not. If not, we then check the global collocation table which only contains information of ORBs that use global collocation table strategy. (key_to_object): This method should also respect the ORB's collocation strategy so we can generate the right stubs from POA if collocation optimization is turned off. Thu Jul 22 21:13:25 1999 Nanbor Wang * tao/Object.cpp (_non_existent): This function can also enjoy the benefit of collocated object. Thu Jul 22 15:05:21 1999 Carlos O'Ryan * tao/Invocation.cpp: Fixed timeout computation it was off by a factor of 10 (thanks to the OMG 1/10 of a microsecond units!) * tao/Wait_Strategy.cpp: Improved loop conditions to cope with reactors that return 0 even when there is no timeout. Thanks to Irfan for pointing this out. * orbsvcs/tests/Event/lib/Makefile: * orbsvcs/tests/Event/lib/Consumer.h: * orbsvcs/tests/Event/lib/Consumer.cpp: * orbsvcs/tests/Event/lib/Driver.h: * orbsvcs/tests/Event/lib/Driver.i: * orbsvcs/tests/Event/lib/Driver.cpp: * orbsvcs/tests/Event/lib/Supplier.h: * orbsvcs/tests/Event/lib/Supplier.cpp: * orbsvcs/tests/Event/Basic/Reconnect.h: * orbsvcs/tests/Event/Basic/Reconnect.cpp: * orbsvcs/tests/Event/Performance/Makefile: * orbsvcs/tests/Event/Performance/Connect.h: * orbsvcs/tests/Event/Performance/Connect.cpp: Changed to use the ACE_Throughput_Stats class, this is more portable and works on platforms without 64-bit support, thanks to David Levine for pointing this out. Thu Jul 22 14:10:47 1999 David L. Levine * orbsvcs/tests/AVStreams/benchmark/client.cpp: removed ACE_Svc_Handler explicit instantiation because it's in tao/IIOP_Connector.cpp. removed ACE_Task explicit instantiation because it's in ace/Service_Types.cpp. With these deletions, client builds successfully on Green Hills/VxWorks. Thanks to Denis Ouellet for reporting this. Thu Jul 22 14:03:26 1999 David L. Levine * performance-tests/Pluggable/server.cpp (main): removed ACE_NOTREACHED wrapper from final return 0 statement, and removed the return 0 in the main try block. This avoids a warning from Green Hills that the main () could return without a value. Not any more. Thu Jul 22 11:06:44 1999 Nanbor Wang * TAO_IDL/be/be_visitor_interface/interface_ss.cpp (visit_interface): I should use obj.in() to pass the object into _uncheck_narrow(). Thanks to David and Carlos for pointing this out. Thu Jul 22 07:21:03 1999 David L. Levine * tao/GIOP_Server_Request.cpp: added #include of tao/ORB.h, so compilation will succeed with TAO_HAS_MINIMUM_CORBA. Thanks to Erik Johannes for reporting this. Thu Jul 22 07:12:07 1999 David L. Levine * tao/PolicyC.cpp (_unchecked_narrow): added ACE_TRY_ENV argument declaration, because it's used with TAO_HAS_LOCALITY_CONSTRAINT_POLICIES. Added ACE_UNUSED_ARG (ACE_TRY_ENV) without those policies. Thanks to Erik Johannes and David McCann for reporting that compilation failed with TAO_HAS_LOCALITY_CONSTRAINT_POLICIES. Thu Jul 22 02:14:24 1999 Irfan Pyarali * tests/Connection_Purging: This program tests automatic purging in TAO. * tests/POA/Destruction/Destruction.dsp (BuildCmds): * tests/POA/Deactivation/Deactivation.dsp (BuildCmds): Added C.h to list of IDL compiler output files. * tao/default_resource.cpp (TAO_Default_Resource_Factory): Initialized and . * tests/POA/Deactivation/Deactivation.cpp (main): Made sure to destroy the Root POA to avoid memory leaks. * tao/ORB_Core.cpp (init): Checking for environment variable TAO_ORB_DEBUG should happen before checking the ORBDebugLevel command line option. Wed Jul 21 23:38:28 1999 Nanbor Wang * TAO_IDL/be/be_visitor_interface/interface_ss.cpp (visit_interface): The generated _this method was producing collocated object references even when the collocation optimization in servant orb was disabled. It should return regular (remote) stubs in this case. Thanks to Irfan for pointing this out. Wed Jul 21 03:20:16 1999 Kirthika Parameswaran * Connection Caching Feature -------------------------- Motivation: In TAO, open connections are stored in a connection cache and reused for the subsequent requests between the same client and server. This is done to avoid the cost of establishing new connections. Every connection needs a OS handle which has to obtained from the OS. The OS can allot only a fixed number of handles to a process. This can become a issue in case of clients and servers with multiple handles open who may not be allowed to establish a new connection as the process has run out of handles. Aim: Clients and servers should be able to to continue making new connections by tearing down "old" connections. Solution: Auto-purging The connections are stored in a cache. When ever the connect call fails due to the process running out of handles, auto-purging will kick in and some "old" connections will be removed from the connection cache. The decision about which connections are "old" is made by the caching strategies. The percentage of existing connections to be purged is controlled by a purge percent. ACE classes: Caching_Utility, Cleanup_Stratgies, and Caching_Strategies have been used. Simple examples are available in $ACE_ROOT/tests/Cached_Accept_Conn_Test.cpp and $ACE_ROOT/tests/Cached_Conn_Test.cpp. Note that the users can also purge handles used by the ORB explicitly through TAO_Connector_Registry::purge_connections(). This can enable them to open new handles for their application. Todo: Implement purging for new handles created by the Acceptor. This will increase the scalability. Usage: Through options to the Resource_Factory :- -ORBConnectionCachingStrategy -ORBPurgePercent Now for the changes made: * tao/Connector_Registry.{h,cpp}: Added a purge_connections () method which purges entries from the connection cache of the different connectors registered with the registry. * tao/IIOP_Connector.{h,cpp}: * tao/UIOP_Connector.{h,cpp}: Changed Cached_Connect_Strategy to Cached_Connect_Strategy_Ex as the connection strategy. It contains the caching strategy which decides the entries to remove on demand. A Hash_Cache_Map_Manager is used to store connections and appends each entry with special attributes used for purging purposes. * tao/orbconf.h: Added: TAO_CONNECTION_CACHING_STRATEGY (default) is LRU TAO_PURGE_PERCENT (default) is 20% * tao/Resource_Factory.{h,cpp}: Added hooks for connection_caching_strategy_type and purge_percent. Also an enum is added which is used for deciding the different caching strategies. * tao/default_resource.{h,cpp}: Input from the user is parsed and the caching_stratgey_type and purge_percent is decided. Thanks to Irfan from the DOC group for being a great help and guiding me on this project. Wed Jul 21 16:59:07 1999 Jeff Parsons * TAO_IDL/be/be_decl.cpp: Added initialization of be_decl::has_constructor_ in the constructor. Must have neglected to check this file in with my original fix, and it broke IDL_Cubit. Thanks to David Levine for reporting the error so I could catch my oversight. Wed Jul 21 16:06:38 1999 Jeff Parsons * TAO_IDL/be/be_visitor_array/array_ci.cpp: Modified _var and _forany copy constructor, deep copy assignment operator, [] const operator, and .in() method code generation to work with arrays of 3 or more dimensions. * TAO/tests/IDL_Test/array.idl: * TAO/tests/IDL_Test/typedef.idl: Uncommented examples with 3-dimensional arrays. Wed Jul 21 12:31:09 1999 Carlos O'Ryan * orbsvcs/ImplRepo_Service/Repository.cpp: Added template instantiation for SunCC 5.0, the template is already instantiated in libTAO.so, but the compiler is broken and doesn't seem to find it. Wed Jul 21 12:05:15 1999 Jeff Parsons * TAO_IDL/be_include/be_visitor_union_branch.h: * TAO_IDL/be/be_visitor_union_branch.cpp: * TAO_IDL/be/be_visitor_union_branch/public_ci.cpp: Added gen_default_label_value() to be_visitor_union_branch.* and added a call to this instead of gen_label_value() in code generation of mutator method for a union branch if it is an explicit default case. This particular bit of default case functionality had not yet been implemented. Wed Jul 21 10:46:50 1999 Pradeep Gore * orbsvcs/tests/CosEC_Basic/CosEC_Basic.cpp: * orbsvcs/tests/CosEC_Multiple/CosEC_Multiple.cpp: * orbsvcs/tests/CosEC_Multiple/CosECConsumer.cpp: * examples/Event_Comm/Notifier_Handler.cpp: * examples/Event_Comm/Consumer_Handler.cpp: fixed Green Hills compiler warnings for return values from methods. * orbsvcs/examples/CosEC/Factory/CosEventChannelFactory_i.cpp: fixed Green Hills compiler warnings for return values from methods. modified the method to pass the POAManager to the method.This fixes the problem of the factory not working properly. Thanks to Alex Hornby for reporting this. Wed Jul 21 08:55:12 1999 Steve Huston * TAO_IDL/driver/drv_preproc.cpp: For IBM C++ 3.6, add -qflag=w:w to preprocessor options to quiet invalid #pragma info messages. * orbsvcs/orbsvcs/Sched/Reconfig_Sched_Utils_T.cpp (TAO_RSE_Dependency_Visitor ctor): Removed extraneous type scoping from arg list to compile on HP-UX aC++. Thanks to Brian Wallis for this fix. Wed Jul 21 05:04:57 1999 Nanbor Wang * tao/ORB.cpp (shutdown): Instead of wapup_all_thread, we need to use end_reactor_event_loop () to notify the reactor it has been deactivated. This will ensure all ORB threads stop handling events immediately. Wed Jul 21 02:36:51 1999 Nanbor Wang * orbsvcs/Naming_Service/Naming_Service.dsp: * orbsvcs/Naming_Service/Makefile: Changed the executable name back to Naming_Service. * examples/Callback_Quoter/run_test.pl: * examples/Quoter/run_test.pl: * orbsvcs/Naming_Service/Makefile: * orbsvcs/tests/AVStreams/benchmark/run_test.pl: * orbsvcs/tests/CosEC_Multiple/run_test.pl: * orbsvcs/tests/EC_Custom_Marshal/run_test.pl: * orbsvcs/tests/EC_Multiple/run_test.pl: * orbsvcs/tests/EC_Throughput/run_test.pl: * orbsvcs/tests/Event_Latency/run_test.pl: * orbsvcs/tests/Property/run_test.pl: * orbsvcs/tests/Simple_Naming/run_test.pl: Changed the name of Naming Service program from Naming_Server back to Naming_Service. Tue Jul 20 22:37:29 1999 Carlos O'Ryan * orbsvcs/tests/EC_Throughput/ECT_Consumer.cpp: * orbsvcs/tests/EC_Throughput/ECT_Consumer.h: * orbsvcs/tests/EC_Throughput/ECT_Consumer_Driver.cpp: * orbsvcs/tests/EC_Throughput/ECT_Driver.cpp: * orbsvcs/tests/EC_Throughput/ECT_Driver.h: * orbsvcs/tests/EC_Throughput/ECT_Driver.i: * orbsvcs/tests/EC_Throughput/ECT_Supplier.cpp: * orbsvcs/tests/EC_Throughput/ECT_Supplier.h: * orbsvcs/tests/EC_Throughput/ECT_Supplier_Driver.cpp: * orbsvcs/tests/EC_Throughput/ECT_Throughput.cpp: Use the ACE_Throughput_Stats class to keep track of latency and throughput. This should eliminate the problems with VxWorks which does not support 64-bit longs. * tao/ObjectIDList.h: * tao/ObjectIDList.i: * tao/ObjectIDList.cpp: Moved CDR operators to the .cpp file, they are not time-critical, all CDR operators for sequences are defined in the .cpp file and they were generating duplicate symbols. * tests/InterOp-Naming/Makefile: Updated dependencies and fixed SRC list * tests/Param_Test/run_test.pl: Increate the startup time for the server, it was timing out on loaded systems Tue Jul 20 20:51:46 1999 Jeff Parsons * TAO_IDL/be/be_visitor_union/cdr_op_ci.cpp: Added default case to switch statements generating cases for CDR operators. If discriminant is an enum, some compilers complain if all the enum values are not used and there is not a default case in the switch, which is the case when we have an implicit default case. Tue Jul 20 19:32:39 1999 Carlos O'Ryan * tao/ORB_Core.cpp: Fixed memory leaks in output_cdr_dblock_allocator method. * performance-tests/Cubit/TAO/IDL_Cubit/svc.conf: * performance-tests/Cubit/TAO/IDL_Cubit/svc.zero_lock.conf: Fixed configuration for IDL cubit, we must use locks in the POA to avoid dead-locks on shutdown. Added a new file with the old configuration so experiments can still be executed using a well known configuration. * performance-tests/Cubit/TAO/MT_Cubit/Globals.cpp: The low priority thread was trying to use priorities in the RT class, event though we were not allowed to do that. Tue Jul 20 19:16:00 1999 Ossama Othman * tao/ObjectIDList.{h,i}: Added missing TAO_Export macros in class declarations and global function definitions. Tue Jul 20 19:05:06 1999 Jeff Parsons * TAO_IDL/be/be_array.cpp: Reverted addition of has_constructor() call - arrays are always included in unions as pointers to the slice anyway. * TAO_IDL/be/be_visitor_union_branch/private_ch.cpp: Changed reference to be_type::SIZE_TYPE to be_decl::SIZE_TYPE (where it actually resides). * TAO_IDL/be/be_field.cpp: * TAO_IDL/be/be_typedef.cpp: Added calls to has_constructor() in comput_size_type(). They don't seem to be needed on NT, but Solaris egcs seems to need them. Tue Jul 20 19:03:46 1999 Ossama Othman * tao/IIOP_Connector.cpp: * tao/UIOP_Connector.cpp: * tao/ORB.cpp: * tao/Resource_Factory.cpp: Moved template instantiations for TAO_Cached_Connector_Lock to Resource_Factory.cpp since that file is a more appropriate location to put them. Tue Jul 20 15:12:37 1999 Jeff Parsons * TAO_IDL/be/be_sunsoft.cpp: Changed format of double literal output to use scientific notation if necesssary. Thanks to Dwayne Burns for sending in the IDL file that called for this. * TAO/tests/IDL_Test/constants.idl: Added Dwayne's constants to the test file. Tue Jul 20 14:08:57 1999 Jeff Parsons * TAO/performance-tests/Pluggable/PP_Test_Client.cpp: Removed some ACE_NOTREACHED macros and helped out a bamboozled vxworks compiler. Tue Jul 20 13:30:41 1999 Darrell Brunsch * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp: Removed some unnecessary ACE_CHECKs in the list method. Tue Jul 20 10:41:23 1999 David L. Levine * orbsvcs/Event_Service/Makefile: for LynxOS/PPC only, use -O instead of -O2 to avoid this compilation failure: g++: Internal compiler error: program cc1plus got fatal signal 11 Tue Jul 20 10:32:34 1999 David L. Levine * orbsvcs/tests/EC_Multiple/Makefile: for LynxOS/PPC only, use -O instead of -O2 to avoid this compilation failure: {standard input}: Assembler messages: {standard input}:28076: Warning: end of file not at end of a line; newline inserted {standard input}:29949: Error: Unknown pseudo-op: `.balig' g++: Internal compiler error: program cc1plus got fatal signal 11 Tue Jul 20 07:34:11 1999 David L. Levine * orbsvcs/orbsvcs/Time/TAO_Time_Service_Server.cpp (universal_time): inserted missing 0x in front of the magic constant on platforms that lack 64-bit ints. Also, changed name of MAGIC_OFFSET to TAO_Time_Base_Offset, to avoid potential namespace collisions. Tue Jul 20 07:06:28 1999 David L. Levine * performance-tests/Cubit/TAO/DII_Cubit/Makefile: on Digital Unix, use IDL_Cubit's cxx_repository instead of ptrepository. Tue Jul 20 07:25:21 1999 David L. Levine * tao/Makefile: fixed POA.cpp build override on LynxOS/PPC, it had gotten munged when updating dependencies. Expanded out VDIR so that shouldn't happen again. Mon Jul 19 22:46:54 1999 Irfan Pyarali * tao/IIOP_Connector.cpp * tao/UIOP_Connector.cpp Added reverse lock template instantiations. Mon Jul 19 21:49:32 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Event/EC_Conjunction_Filter.cpp: Fixed several bugs in the manipulation of the bit set and the creation of the event. Thanks to Paul Calabrese for reporting these problems and providing fixes. Mon Jul 19 21:39:06 EDT 1999 Aniruddha Gokhale * TAO_IDL/be/be_visitor_operation/operation_cs.cpp: For operation names that are C++ reserved words, the mapping has a _cxx_ prepended to the name. However, the skeleton's lookup strategy still expects the original name. This implies that the stub send the original name in the request. We were doing this correctly for the compiled stubs. However, for the interpreted stubs, we were sending the _cxx_ in the request. This is now fixed. Mon Jul 19 20:00:40 1999 Jeff Parsons * TAO_IDL/be/be_visitor_union/Union_cs.cpp: Some changes to avert egcs warnings when there is an implicit default case and an enum discriminator. Mon Jul 19 19:42:04 1999 David L. Levine * tao/corbafwd.h,Exception.cpp: added minor code support for EINVAL errno. [Bug 74] Mon Jul 19 17:44:36 1999 David L. Levine * examples/POA/TIE/Makefile: don't try to build with Green Hills for either VxWorks or Solaris. It fails to link due to template instantiation problems. Thanks to Irfan for reporting this. Mon Jul 19 16:17:11 1999 Jeff Parsons * TAO/tests/IDL_Test/union.idl: Added another test example to the file. Thanks to Roger Egbers for sending in the example that the addition was adapted from. Mon Jul 19 15:59:45 1999 Jeff Parsons * TAO_IDL/be_include/be_decl.h: * TAO_IDL/be/be_decl.cpp: * TAO_IDL/be/be_union.cpp: * TAO_IDL/be/be_interface.cpp: * TAO_IDL/be/be_sequence.cpp: * TAO_IDL/be/be_valuetype.cpp: * TAO_IDL/be/be_structure.cpp: * TAO_IDL/be/be_array.cpp: * TAO_IDL/be/be_visitor_union_branch/private_ch.cpp: * TAO_IDL/be/be_visitor_union_branch/public_assign_cs.cpp: * TAO_IDL/be/be_visitor_union_branch/public_access_cs.cpp: * TAO_IDL/be/be_visitor_union_branch/public_reset_cs.cpp: * TAO_IDL/be/be_visitor_union_branch/public_ci.cpp: Reverted previous change to be_union.cpp, and added member and get/set methods 'has_constructor' to the base class be_decl. Used in conjunction with compute_size_type(), this addition should determine whether a union case should be included by value or by reference without changing the signature of generated operations, as the previous change did. Mon Jul 19 15:10:01 1999 Ossama Othman * tao/UIOP_Acceptor.cpp (~TAO_UIOP_Acceptor): Removed call to close() in the destructor since it was causing a segmentation fault. It isn't needed since close() gets called even when the Acceptor_Registry is destroyed, and when the ORB shuts down. Thanks to Kirthika for pointing out the problem and providing a fix. * tao/IOR_LookupTable.cpp: Fixed missing "tao/" from #include of ObjectIDList.h. * Makefile: Updated dependencies. Mon Jul 19 15:08:57 1999 Carlos O'Ryan * orbsvcs/CosEvent_Service/CosEvent_Service.h: * orbsvcs/CosEvent_Service/CosEvent_Service.cpp: Fixed command-line argument parsing, thanks to Knut-Havard Aksnes for reporting this problem. Mon Jul 19 14:55:42 1999 Balachandran Natarajan * tao/corba.h: * tao/corbafwd.h: Added an ifdef around the #includes and the declarations connected to the Interface Repository. Mon Jul 19 12:26:20 1999 David L. Levine * TAO_IDL/be/be_visitor_interface/ami_handler_stub_ch.cpp (visit_interface), TAO/TAO_IDL/be/be_visitor_interface/interface_ch.cpp (visit_interface), TAO/TAO_IDL/be/be_visitor_valuetype/valuetype_ch.cpp (visit_valuetype): replaced this generated code: #if !defined(__GNUC__) || __GNUC__ > 2 || __GNUC_MINOR__ >= 8 with: #if !defined(__GNUC__) || !defined (ACE_HAS_GNUG_PRE_2_8) so that it's easier to support Tornado II. Thanks to Thomas Lockhart for reporting this. [Bug 80] Mon Jul 19 11:26:33 1999 Pradeep Gore HP/UX compile warning fixes - * orbsvcs/examples/CosEC/Factory/CosEventChannelFactory.idl: * orbsvcs/examples/CosEC/Factory/CosEventChannelFactory_i.h: * orbsvcs/examples/CosEC/Factory/CosEventChannelFactory_i.cpp: modified the method to throw the BindFailed exception. * examples/Event_Comm/Event_Comm.idl: * examples/Event_Comm/Event_Comm_i.h: * examples/Event_Comm/Event_Comm_i.cpp: modified the method to throw CannotSubscribe exception. modified the method to throw CannotUnsubscribe exception. Mon Jul 19 11:05:23 1999 Vishal Kachroo Added a #ifdef to check if the platform supports 64bit long long. If not, used the ACE_U_LongLong class intead. * orbsvcs/orbsvcs/Time/TAO_Time_Service_Server.cpp. Mon Jul 19 10:48:21 1999 Balachandran Natarajan * tao/Interface.pidl: * tao/InterfaceC.h: * tao/InterfaceC.i: * tao/Interface.cpp: * tao/corba.h: * tao/corbafwd.h: Added preliminary stuff for Interface Repository. These files were added at the request of Phillippe who wanted to use TAO with CorbaScript. These files will not get compiled till we release TAO 1.0. Sun Jul 18 20:36:27 1999 Ossama Othman * tao/IIOP_Connector.cpp (check_prefix): Removed "iioploc" from check. We only care about the first four characters at this point, so "iiop" will suffice. * tao/ORB.cpp (url_ior_string_to_object): Minor change. Moved declaration of returned Object_ptr to just before it gets assigned. Sun Jul 18 19:41:30 1999 Ossama Othman * tests/InterOp-Naming/INS_test_client.cpp (main): Added a command line option "-l" that tests and demonstrates usage of the CORBA::ORB::list_initial_services() method. * tests/InterOp-Naming/run_tests.pl: Added a test that exercises the newly added "-l" option. * tao/DynAny_i.cpp (get_any): Fixed problem where CORBA_Any_var::out() was being passed to an ACE_NEW_THROW_EX macro, which is a problem since CORBA_Any_var::out() gets called twice, which in turn causes the underlying pointer to be set to zero. Thanks to Carlos for explaining the problem. * tao/IOR_LookupTable.{h,cpp}: * tao/ORB.{h,cpp}: Implemented the CORBA::ORB::list_initial_services() method. * tao/orbconf.h: Added a macro that defines a comma separated list of initial references/ObjectIDs that TAO currently supports. Sun Jul 18 14:21:52 1999 Nanbor Wang * docs/compiler.html: Updated the new options described below. * TAO_IDL/be/be_args.cpp: * TAO_IDL/be/be_codegen.cpp: * TAO_IDL/be/be_interface.cpp: * TAO_IDL/be/be_interface_fwd.cpp: * TAO_IDL/be/be_structure.cpp: * TAO_IDL/be/be_union.cpp: * TAO_IDL/be/be_valuetype.cpp: * TAO_IDL/be/be_valuetype_fwd.cpp: * TAO_IDL/be/be_visitor_array/any_op_ch.cpp: * TAO_IDL/be/be_visitor_array/array_ch.cpp: * TAO_IDL/be/be_visitor_array/cdr_op_ch.cpp: * TAO_IDL/be/be_visitor_enum/any_op_ch.cpp: * TAO_IDL/be/be_visitor_enum/cdr_op_ch.cpp: * TAO_IDL/be/be_visitor_exception/any_op_ch.cpp: * TAO_IDL/be/be_visitor_exception/cdr_op_ch.cpp: * TAO_IDL/be/be_visitor_exception/exception_ch.cpp: * TAO_IDL/be/be_visitor_interface/ami_handler_ch.cpp: * TAO_IDL/be/be_visitor_interface/ami_handler_servant_ch.cpp: * TAO_IDL/be/be_visitor_interface/ami_handler_stub_ch.cpp: * TAO_IDL/be/be_visitor_interface/any_op_ch.cpp: * TAO_IDL/be/be_visitor_interface/cdr_op_ch.cpp: * TAO_IDL/be/be_visitor_interface/collocated_ami_handler_ch.cpp: * TAO_IDL/be/be_visitor_interface/direct_collocated_sh.cpp: * TAO_IDL/be/be_visitor_interface/interface_ch.cpp: * TAO_IDL/be/be_visitor_interface/interface_ih.cpp: * TAO_IDL/be/be_visitor_interface/interface_sh.cpp: * TAO_IDL/be/be_visitor_interface/thru_poa_collocated_sh.cpp: * TAO_IDL/be/be_visitor_interface/tie_sh.cpp: * TAO_IDL/be/be_visitor_module/module_ch.cpp: * TAO_IDL/be/be_visitor_module/module_sh.cpp: * TAO_IDL/be/be_visitor_sequence/any_op_ch.cpp: * TAO_IDL/be/be_visitor_sequence/cdr_op_ch.cpp: * TAO_IDL/be/be_visitor_sequence/cdr_op_ci.cpp: * TAO_IDL/be/be_visitor_sequence/sequence_ch.cpp: * TAO_IDL/be/be_visitor_structure/any_op_ch.cpp: * TAO_IDL/be/be_visitor_structure/cdr_op_ch.cpp: * TAO_IDL/be/be_visitor_structure/structure_ch.cpp: * TAO_IDL/be/be_visitor_typecode/typecode_decl.cpp: * TAO_IDL/be/be_visitor_union/any_op_ch.cpp: * TAO_IDL/be/be_visitor_union/cdr_op_ch.cpp: * TAO_IDL/be/be_visitor_union/union_ch.cpp: * TAO_IDL/be/be_visitor_valuetype/cdr_op_ch.cpp: * TAO_IDL/be/be_visitor_valuetype/obv_module.cpp: * TAO_IDL/be/be_visitor_valuetype/valuetype.cpp: * TAO_IDL/be/be_visitor_valuetype/valuetype_ch.cpp: * TAO_IDL/include/idl_global.h: * TAO_IDL/util/utl_global.cpp: Separated the client and server export macros and export include files to allow building separate server and client DLLs. 4 new idl backend options are added, -Wb,skel_export_macro=xxx, -Wb,stub_export_macro=xxx, -Wb,skel_export_include=xxx.h, and -Wb,stub_export_include=xxx.h. The original -Wb,export_macro=xxx and -Wb,export_include=xxx.h are still available and using the old option will be translated to the new options internally. Thanks to Francois Bernier for inspiring the change. Sat Jul 17 17:29:58 1999 Jeff Parsons * TAO_IDL/be/be_union.cpp: Changed compute_size_type() for unions to always return VARIABLE. This fixes a bug found when a union contains a struct which contains a different union composed of simple types. The inside union's size type comes back as FIXED, so it (rather than a pointer to it) becomes a struct member. Then the struct's size type also comes back as FIXED, so the outside union makes the struct (rather than a pointer to the struct) a member. Then the C++ compiler bails because the outside union contains a member with a copy constructor (the inside union). The previous version of the compute_size_type() function returns FIXED when the union contains, say, a short and a long, so it is actually, as far as marshaling is concerned, variable. This way, the function returns VARIABLE always, and incurs extra indirection only when the union contains, say, a long and an unsigned long. Nothing seems to get broken by this fix, and if that remains true over time, some of the union's _var and _out code generation sections can be trimmed. Sat Jul 17 15:00:04 1999 Ossama Othman * tao/ORB.cpp (resolve_initial_references): Changed a return value from zero to CORBA::Object::_nil () since the return type is CORBA::Object_ptr. Sat Jul 17 14:27:57 1999 Ossama Othman * tao/IIOP_Profile.h: Added some missing default CORBA_Envirnoment values (i.e., TAO_default_enviroment ()). Sat Jul 17 12:38:08 1999 Douglas C. Schmidt * utils/Makefile: Added nslist to the DIRS built "out-of-the-box". Thanks to Thomas Lockhart for reporting this. * orbsvcs/orbsvcs/Trader/Service_Type_Repository.cpp (unmask_type): Changed the exception from AlreadyMasked to NotMasked since (1) this is what's in the throw spec and (2) this appears to be the right exception. * orbsvcs/orbsvcs/Trader/Service_Type_Repository.cpp (validate_supertypes): Changed the throw spec from CosTrading::DuplicatePropertyName to CosTradingRepos::ServiceTypeRepository::DuplicateServiceTypeName because that's the type of exception that's thrown in the body of this method. Sat Jul 17 12:48:35 1999 Carlos O'Ryan * tao/orbconf.h: * tao/IIOP_Acceptor.cpp: * tao/IIOP_Connect.h: * tao/IIOP_Connector.cpp: * tao/IIOP_Connector.h: * tao/UIOP_Acceptor.cpp: * tao/UIOP_Connector.cpp: Removed the bogus TAO_SOCK_* and TAO_LSOCK_* macros, the pluggable protocols framework provides the right solution for that problem. Fri Jul 16 22:39:15 1999 Irfan Pyarali * tao/Acceptor_Impl: This file contained a class that inherited from Acceptor and overwrote some of the functions (such as make_svc_handler() and activate_svc_handler()). Changed this to use the Strategy_Acceptor and implemented the appropriate strategies needed for TAO. * tao/IIOP_Acceptor.h (TAO_IIOP_Acceptor): * tao/UIOP_Acceptor.h (TAO_UIOP_Acceptor): Changed these classes to use the new Strategy Acceptor. Fri Jul 16 19:57:25 1999 Nanbor Wang * examples/Callback_Quoter/run_test.pl: * examples/Quoter/run_test.pl: * orbsvcs/tests/AVStreams/benchmark/run_test.pl: * orbsvcs/tests/CosEC_Multiple/run_test.pl: * orbsvcs/tests/EC_Custom_Marshal/run_test.pl: * orbsvcs/tests/EC_Multiple/run_test.pl: * orbsvcs/tests/EC_Throughput/run_test.pl: * orbsvcs/tests/Event_Latency/run_test.pl: * orbsvcs/tests/Property/run_test.pl: Fixed the use of "Naming_Server". Thanks to Irfan for reminding this. * orbsvcs/Naming_Service/Makefile: Updated makefile to use multiple source files and generate Naming_Server. Fri Jul 16 16:31:50 1999 Jeff Parsons * TAO_IDL/be_include/be_visitor_array/cdr_op_ci.h: * TAO_IDL/be/be_visitor_array/array_ci.cpp: Fixed typos in comment and ACE_ERROR message. * TAO_IDL/be_include/be_visitor_array/cdr_op_cs.h: * TAO_IDL/be/be_visitor_array/cdr_op_cs.cpp: New files needed for the fix described below. * TAO_IDL/be_include/be_visitor_array.h: * TAO_IDL/be/be_visitor_array.cpp: * TAO_IDL/be/be_visitor_factory.cpp: * TAO_IDL/be/be_visitor_array/cdr_op_ch.cpp: * TAO_IDL/be/be_visitor_array/cdr_op_ci.cpp: Extended the fix made previously for arrays containing anonymous sequences to work for sequences of recursive types. Fri Jul 16 15:51:38 1999 Carlos O'Ryan * tao/IIOP_Profile.cpp: Fixed warning under egcs-2.95 * examples/Simple/echo/run_test.pl: Added $EXEPREFIX thanks to Russell L. Carter for pointing this out Fri Jul 16 15:16:14 1999 Carlos O'Ryan * */Makefile: Remved the definitions for VLDLIBS and VBIN, these macros are defined in wrapper_macros.GNU and depend on the platform. Thanks to Steve Huston for pointing this out. Also removed the definitions for the BUILD macro for similar reasons. * orbsvcs/orbsvcs/Makefile: Do not compile the AV/Streaming service on AIX until we figure out what the problem is * docs/releasenotes/TODO.html: Several tasks have been completed or moved to the BTS Fri Jul 16 14:22:01 1999 Nanbor Wang * orbsvcs/tests/Simple_Naming/run_test.pl: Fixed the location of Naming_Server. * orbsvcs/Naming_Service/Naming_Service.dsp: Added Naming_Server.cpp and renamed the executables to Naming_Server.exe. Fri Jul 16 14:05:33 1999 Ossama Othman * docs/configurations.html: Updated the run-time options section with information about how UIOP will provide considerably better performance over IIOP and IIOP with GIOPlite for ORB's running on the same host. Additional minor updates to capitalization in "-ORB" options described in the document. Fri Jul 16 13:59:10 1999 Douglas C. Schmidt * tao/{Makefile.bor,tao.rc}, orbsvcs/orbsvcs/{Makefile.bor,orbsvcs.rc}: Updated these files to add version information to the DLLs so when you right click them in windows explorer you can see what version the file is (e.g., "4.6.45"). Thanks to Christopher Kohlhoff for contributing this. * examples/Borland: Updated the examples to contain several minor fixes for Borland C++ Builder. Thanks to Christopher Kohlhoff for reporting this. Fri Jul 16 12:21:58 1999 Vishal Kachroo * orbsvcs/Time_Service/Server_i.cpp. Added a parameter to fine tune the clerk's synchronization period in microseconds. * orbsvcs/Time_Service/Clerk_i.cpp. * orbsvcs/Time_Service/Clerk_i.h. * orbsvcs/orbsvcs/Time/TAO_Time_Service_Clerk.cpp. * orbsvcs/orbsvcs/Time/TAO_Time_Service_Clerk.h. Added the MAGIC OFFSET to make the base time as 15th October 1582 instead of 1st Jan 1970. Thanks to Carsten Zerbst for pointing this out and Mark Laffoon for contributing the magic offset. * orbsvcs/orbsvcs/Time/TAO_Time_Service_Server.cpp. Fixed a CORBA::TRANSIENT exception thrown by an _narrow () by adding activate_poa_manager () in init () of the following: Fri Jul 16 10:08:22 1999 Jeff Parsons * TAO_IDL/be_visitor_union/union_cs.cpp: * TAO_IDL/be_visitor_union_branch/public_access_cs.cpp: The 'alloc_flag' argument to the _access() method is sometimes used and sometimes not. To avoid unused arg warnings AND 'undefined' compile errors, had to add ACE_UNUSED_ARG (alloc_flag) on a case-by-case basis. Fri Jul 16 07:13:08 1999 David L. Levine * orbsvcs/orbsvcs/Sched/Reconfig_Sched_Utils_T.cpp (visit): replaced use of implicit conversion from 64-bit int to pointer with use of ACE_LONGLONG_TO_PTR macro. Thu Jul 15 23:16:29 1999 Carlos O'Ryan * performance-tests/Cubit/TAO/IDL_Cubit/svc.mt_server.conf: * performance-tests/Cubit/TAO/IDL_Cubit/svc.st_server.conf: * performance-tests/Cubit/TAO/IDL_Cubit/svc.st_client.conf: Alternative configurations that do not exploit any specific knowledge about the application, only that if the client or server are single threaded. Thu Jul 15 22:14:18 1999 Irfan Pyarali * TAO/tao/IIOP_Connector.cpp * TAO/tao/UIOP_Connector.cpp Added template instantiations. Thu Jul 15 21:53:18 1999 Jeff Parsons * TAO_IDL/be/be_visitor_union/cdr_op_ci.cpp: Added check and CORBA_Any::from_* construction for generation of CDR insertion operators similarly to the change made for the generated extraction operators listed in a recent commit. MSVC didn't mind, but SunOS/egcs complained. Thu Jul 15 21:03:31 1999 Marina Spivak * orbsvcs/orbsvcs/Naming/Naming_Utils.cpp * orbsvcs/orbsvcs/Naming/Persistent_Context_Index.{h,cpp}: Changed TAO_Persistent_Context_Index to store/return reference to the root Naming Context, rather than its stringified ior. This saves conversion, and a call later on. Thu Jul 15 21:01:28 1999 Jeff Parsons * TAO_IDL/be/be_helper.cpp: * TAO_IDL/be/be_sequence.cpp: Made some print format symbols agree with their arguments, warnings from the new egcs. * TAO_IDL/be/be_sunsoft.cpp: Changed added 'u' and 'f' suffixes to integer and float literals to upper case for readability. Thu Jul 15 20:50:01 1999 Jeff Parsons * TAO/tests/Makefile: Removed IDL_Test from the build until I fix some of these errors. Thu Jul 15 20:29:51 1999 Jeff Parsons * TAO/tests/IDL_Test/main.cpp: removed 'argc' and 'argv' from main, they're unused. * TAO/tests/IDL_Test/Makefile: Fixed some typos. Thu Jul 15 20:26:00 1999 Jeff Parsons * TAO_IDL/be/be_visitor_union/union_cs.cpp: Uncommented an arg in generated code that was actually used by the generated function. * TAO_IDL/be/be_sunsoft.cpp: Added 'u' to the end of integer literals, if they are unsigned. Thu Jul 15 19:40:46 1999 Jeff Parsons * TAO/tests/DynAny_Test/da_test.idl: * TAO/tests/DynAny_Test/data.h: * TAO/tests/DynAny_Test/data.cpp: * TAO/tests/DynAny_Test/test_dynstruct.cpp: VxWorks caught me trying to use CORBA::LongLong. Thu Jul 15 19:09:19 1999 Jeff Parsons * TAO/tests/Param_Test/param_test_i.h: * TAO/tests/Param_Test/param_test_i.cpp: * TAO/tests/Param_Test/client.cpp: * TAO_IDL/be/be_array.cpp: Fixed various warnings from the new version of egcs. Thu Jul 15 17:35:07 1999 Ossama Othman * tao/ORB_Core.*: Changed TAO_ORB_Parameters pointer member to a non-pointer member. The main reason why it was made a pointer member was to reduce compile-time dependencies. However, params.h is already included, so we gain nothing by keeping it a pointer. It's safer this way, anyway. Thu Jul 15 18:19:42 1999 Jeff Parsons * TAO/tests/Makefile: Added IDL_Test directory to Makefile. Thu Jul 15 17:52:26 1999 Jeff Parsons * TAO/tests/IDL_Test/anonymous.idl: * TAO/tests/IDL_Test/array.idl: * TAO/tests/IDL_Test/constants.idl: * TAO/tests/IDL_Test/enum_in_struct.idl: * TAO/tests/IDL_Test/generic_object.idl: * TAO/tests/IDL_Test/included.idl: * TAO/tests/IDL_Test/including.idl: * TAO/tests/IDL_Test/interface.idl: * TAO/tests/IDL_Test/keywords.idl: * TAO/tests/IDL_Test/reopened_modules.idl: * TAO/tests/IDL_Test/sequence.idl: * TAO/tests/IDL_Test/typedef.idl: * TAO/tests/IDL_Test/union.idl: * TAO/tests/IDL_Test/main.cpp: * TAO/tests/IDL_Test/IDL_Test.dsw: * TAO/tests/IDL_Test/idl_test.dsp: * TAO/tests/IDL_Test/Makefile: * TAO/tests/IDL_Test/README: New files and directory. A new test which is a collection of many IDL examples that have uncovered bugs in the past. The idea is to make sure these bugs never recur. Some of the examples are adapted from IDL code sent in by ACE and TAO users - many thanks to all those who helped dig out the bugs! It is hoped that there will be regular additions to these examples, making the tests more rigorous and comprehensive. Thu Jul 15 17:44:46 1999 Carlos O'Ryan * tao/GIOP.h: * tao/GIOP.i: * tao/Transport_Mux_Strategy.cpp: Optimized TSS buffer managment: the input CDR was reset twice during the upcall. Thu Jul 15 17:25:29 1999 Balachandran Natarajan * TAO_IDL/be/be_visitor_union/union_cs.cpp (visit_union): Made a change to the signatures of the generated methods _access and _reset. These two methods were taking in a Boolean with a variable name. These variable names were not used. This was generating warnings on Linux_EGCS. So the variable name was commented out. Thanks to Mike Moran (mm4@cs.wustl.edu) for reporting this. Thu Jul 15 16:51:36 1999 Marina Spivak * orbsvcs/orbsvcs/IOR_Multicast.cpp * orbsvcs/tests/Simple_Naming/client.cpp: Removed/protected debugging messages. Thu Jul 15 16:11:04 1999 David L. Levine * orbsvcs/orbsvcs/Sched/DynSched.cpp (relate_task_entries_recurse), orbsvcs/orbsvcs/Sched/Reconfig_Scheduler_T.cpp (set): replaced use of implicit conversion from 64-bit int to pointer with use of ACE_LONGLONG_TO_PTR macro. Thu Jul 15 14:32:54 1999 David L. Levine * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Server,cpp, client.cpp,server.cpp,run_tests.pl,README: 1) Changed -o option to -f, to be consistent with MT_Cubit. 2) On VxWorks, changed main entry points to be client and server, instead of main or ace_main. [Bug 42] * performance-tests/Cubit/TAO/MT_Cubit/{client,server}.cpp: on VxWorks, redefine ACE_MAIN to change the entry point name. Thu Jul 15 14:03:46 1999 Ossama Othman * tao/params.h: Removed unused members. [Bug 55] * tao/DynUnion_i.cpp (set_as_default): * tao/Object.cpp (_is_a, operator<<): * tao/IORManipulation.cpp (merge_iors): * tao/UIOP_Profile.cpp (to_string): Fixed warnings generated by gcc 2.95; mostly due to format specifier mismatches and inefficient conversion operator usage. Thu Jul 15 14:01:25 1999 Jeff Parsons * TAO_IDL/ast/AST_Union.cpp: * TAO_IDL/be_include/be_union.h: * TAO_IDL/be/be_union.cpp: Added some switch cases and a union member to allow wchar as a discriminator type. Thu Jul 15 13:11:02 1999 Irfan Pyarali * tao/Object_Adapter.cpp (find_transient_poa): Changed use of ORB_Core::root_poa() such that an environment variable was passed to the function instead of it using the default environment. Thanks to Carlos for pointing this out. Also, since setup() and teardown() are done in the same thread of control, we can optimize away a call to TAO_TSS_RESOURCES::instance() by caching a pointer to tss resources. Thanks again to Carlos for pointing this out. Thu Jul 15 13:00:09 1999 Jeff Parsons * TAO_IDL/be/be_visitor_union/cdr_op_ci.cpp: Added a check for discriminator types of char, wchar and boolean in the CDR operator code generation, so that the appropriate CORBA_Any::to_* struct can be used. Thanks to Roger Egbers for reporting this bug and sending in an example IDL file. Thu Jul 15 12:19:44 1999 David L. Levine * Makefile: added -u to make_release invocation. Thu Jul 15 11:47:08 1999 David L. Levine * TAO version 0.4.2 released. Wed Jul 14 12:34:46 1999 David L. Levine * examples/Callback_Quoter/Makefile: reverted change that disabled on LynxOS. It seems to build fine, with inlining and debug enabled. See Wed Jul 14 12:34:46 1999 David L. Levine Thu Jul 15 11:02:57 1999 David L. Levine * examples/Callback_Quoter/Notifier_i.cpp: removed ACE_Hash and ACE_Equal_To explicit instantiations, because they're in tao/POA.cpp. Thanks to Denis Ouellet for reporting this. Thu Jul 15 02:29:33 1999 Nanbor Wang * tao/POA.cpp (create_reference_with_id_i): Reverted back to use find_system_id_using_user_id () from find_servant_and_system_id_using_user_id (). It has different semantics to what we expected. We need something that can find the system id using appropriate strategy, at the same time, return the servant if one is available. Before we have that function, basically generates broken collocated object when DIRECT collocation strategy is used. Wed Jul 14 21:49:52 1999 David L. Levine * performance-tests/Cubit/TAO/MT_Cubit/Task_Client.h: added #define _MATH_H_WRAPPER with exceptions and g++. We #define exception when #including math.h, and so does egcs. The _MATH_H_WRAPPER #define disables egcs'. Wed Jul 14 21:44:57 1999 Nanbor Wang * tao/Object.cpp (_is_a): Should return 0 instead of CORBA::Object::_nil when prepare_for_upcall failed. Thanks to Carlos for pointing this out. Wed Jul 14 21:35:12 1999 Nanbor Wang * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp (invoke): This function also uses ORB::key_to_object. Thanks to EGCS for pointing this out. Wed Jul 14 21:21:35 1999 Ossama Othman * performance-tests/Cubit/TAO/IDL_Cubit/README: Updated with descriptions of options that support the newly added enable/disable test feature. * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Client.{h,cpp}: Added ability to specify which tests should be run and which ones shouldn't be run. This modification helps with isolating certain test timeprobes. Wed Jul 14 21:18:23 1999 Jeff Parsons * TAO_IDL/be/be_visitor_array/array_cs.cpp: In code generation for the foo_copy() method, modified code to check for more than one level of typedef when determining if the element type is a typedef of another array type. Wed Jul 14 18:07:00 1999 Nanbor Wang * tao/POA.cpp (create_reference_i,create_reference_with_id_i): (servant_to_reference,id_to_reference_i): All these methods should generate collocated object reference. Thanks to Francois Bernier for reporting the bug. * tao/ORB.{h,cpp} (key_to_object): The function now takes two extra arguments and to create collocated object reference. Actually, this seems to be the only use case for key_to_object. * tao/Object.cpp (_is_a): Fixed the collocation resolving scheme so that thru_poa collocated calls don't go remote and collocated _is_a calls obey the collocated strategy use by the servants. Thanks to Irfan for helping this change. Wed Jul 14 17:23:23 1999 Jeff Parsons * TAO_IDL/be/be_sunsoft.cpp: Added a 'f' at the end of a printed floating point literal, to avoid the MSVC warning, since it reads decimal constants as doubles. Wed Jul 14 17:03:16 1999 Jeff Parsons * TAO_IDL/be/be_visitor_scope.cpp: Cosmetic changes. * TAO_IDL/be/be_visitor_structure/cdr_op_ci.cpp: Fixed be_visitor_structure_cdr_op_ci::post_process() to skip the generation of "&&\n" if the node argument is an enum value, since the just-completed visit to that node generated no code. Wed Jul 14 16:23:56 1999 Carlos O'Ryan * tao/Reply_Dispatcher.cpp: Use new CDR_Stream methods to efficiently steal the contents from one CDR stream into another (without any extra memory allocations). * tao/Stub.cpp: Removed unnecesary lock, updated comments in relative_rountrip_timeout() with respect to locking because it is a bit suttle. Wed Jul 14 15:35:51 1999 Irfan Pyarali * tao/ORB.cpp: set_unexpected() is declared in unexpect.h on MVS. Thanks to Jim Rogers for sending the patches for this. Wed Jul 14 13:19:36 1999 Carlos O'Ryan * tao/Client_Strategy_Factory.cpp: * tao/Client_Strategy_Factory.h: * tao/Resource_Factory.cpp: * tao/Server_Strategy_Factory.cpp: * tao/Server_Strategy_Factory.h: * tao/default_client.cpp: * tao/default_client.h: * tao/default_server.cpp: * tao/default_server.h: Moved the connector_lock() creation from the server strategy factory to the client strategy factory. Thanks to Phil Mesnier for reporting this problem. This fixes [BUGID:17] * docs/Options.html: * docs/configurations.html: * performance-tests/Cubit/TAO/IDL_Cubit/svc.conf: * performance-tests/Cubit/TAO/IDL_Cubit/svc.conf.dynamic: * performance-tests/Cubit/TAO/IDL_Cubit/collocation/svc.conf: * performance-tests/Cubit/TAO/MT_Cubit/svc.conf: * tests/Collocation/svc.conf: Updated the documentation and the svc.conf files that were using that option. Wed Jul 14 12:43:51 1999 David L. Levine * tao/TAO.cpp (init): replaced "RootPOA" with TAO_OBJID_ROOTPOA. Wed Jul 14 12:34:46 1999 David L. Levine * examples/Callback_Quoter/Makefile: don't build on/for LynxOS, because of ugly template instantiation problem with its old g++: POA.cpp: multiple definition of `ACE_Hash::operator()(ACE_CString const &) const' .obj/Notifier_i.o:$(ACE_ROOT)/ace/Functor_T.i:38: first defined here Wed Jul 14 11:44:46 1999 David L. Levine * rules.tao.GNU: on WIN32 hosts, attempt to set the CPP_LOCATION environment variable if it had not been set. Requires Bourne shell and sed. If those requirements aren't met, at least the user might find out sooner rather than later that CPP_LOCATION must be set on WIN32. Wed Jul 14 09:44:39 1999 Jeff Parsons * TAO/tests/Param_Test/param_test/idl: * TAO/tests/Param_Test/var_struct.cpp: Added some members to the struct - types smaller than 4 bytes between the dynamic types and a double at the beginning. Also added the checks in test_validity(). This will test more thoroughly for a recurrence of the alignment problems that were recently fixed. Wed Jul 14 02:27:44 1999 Nanbor Wang * tests/Collocation/Coll_Tester.cpp: * tests/Collocation/Coll_Tester.h: * tests/Collocation/Collocation.dsp: * tests/Collocation/Collocation.dsw: * tests/Collocation/Diamond.idl: * tests/Collocation/Diamond_i.cpp: * tests/Collocation/Diamond_i.h: * tests/Collocation/README: * tests/Collocation/main.cpp: * tests/Collocation/svc.conf: New collocation support sanity check. Tue Jul 13 22:09:31 1999 David L. Levine * orbsvcs/ImplRepo_Service: removed ACE_Equal_To explicit instantiation, because it's in tao/POA.cpp. Thanks to Denis Ouellet for reporting this. Tue Jul 13 21:51:45 1999 Ossama Othman * utils/Makefile (DIRS): Removed `nslist' from the list of directories since there is no such directory. Tue Jul 13 21:43:30 1999 Carlos O'Ryan * tao/ORB_Core.cpp: * tao/Wait_Strategy.cpp: The follower must be removed immediately after it is signalled. Otherwise it may be signalled twice, once because it received its reply and another time to become the leader; in that case the second signal is lost and nobody becomes the leader. Thanks to Marina for helping debug and test this problem. * orbsvcs/tests/Simple_Naming/client.cpp: Work around IRIX/MIPSPro bug. Tue Jul 13 20:57:20 1999 Jeff Parsons * TAO_IDL/include/ast-decl.h: * TAO_IDL/include/utl_scope.h: Added forward declarations of class Identifier to hopefully help out AIX w/IBM C++. Tue Jul 13 18:41:05 1999 Jeff Parsons * TAO_IDL/be/be_visitor_union_branch/cdr_op_ci.cpp: Modified CDR extraction operator to handle the rather unique case where a union member is a sequence typedef included from another file. The union's extraction operator creates a temporary, which means the visitor needs type info from the sequence node, which it now gets from the alias node in its context, if necessary. Thanks to Dwayne Burns for sending in the example. Tue Jul 13 17:38:20 1999 Chris Gill * orbsvcs/orbsvcs/Sched/Reconfig_Scheduler_T.cpp: replaced new operators with ACE_NEW_THROW_EX macros. Tue Jul 13 16:05:44 1999 Carlos O'Ryan * tao/Acceptor_Registry.cpp: * tao/Protocol_Factory.h: * tao/IIOP_Factory.cpp: * tao/IIOP_Factory.h: * tao/UIOP_Factory.cpp: * tao/UIOP_Factory.h: Some protocols (like UIOP) should not create endpoints unless the user requires one; the problem is that they tend to leave garbage on the filesystem (in the future we may have the same problem with shared memory segments or semaphores) if the server crashes. The current behavior is to automatically create an IIOP endpoint if the user does not specify any -ORBendpoint options, yet the UIOP protocol is loaded by default and uiop endpoints (including uiop://) can be specified in the command line. This fixes [BUGID:22] Tue Jul 13 14:57:38 1999 Ossama Othman * performance-tests/Cubit/TAO/IDL_Cubit/run_test.pl: Increased client and server timeout values for the UIOP run. Heavily loaded machines may need more time. Tue Jul 13 12:39:54 1999 Ossama Othman * tao/UIOP_Transport.cpp (send_request): Updated to match IIOP's send_request() method. Tue Jul 13 12:22:11 1999 Carlos O'Ryan * tao/Sequence_T.h: * TAO_IDL/be_include/be_argument.h: * TAO_IDL/be_include/be_array.h: * TAO_IDL/be_include/be_attribute.h: * TAO_IDL/be_include/be_constant.h: * TAO_IDL/be_include/be_decl.h: * TAO_IDL/be_include/be_enum.h: * TAO_IDL/be_include/be_enum_val.h: * TAO_IDL/be_include/be_exception.h: * TAO_IDL/be_include/be_expression.h: * TAO_IDL/be_include/be_field.h: * TAO_IDL/be_include/be_interface.h: * TAO_IDL/be_include/be_interface_fwd.h: * TAO_IDL/be_include/be_module.h: * TAO_IDL/be_include/be_native.h: * TAO_IDL/be_include/be_operation.h: * TAO_IDL/be_include/be_predefined_type.h: * TAO_IDL/be_include/be_root.h: * TAO_IDL/be_include/be_scope.h: * TAO_IDL/be_include/be_sequence.h: * TAO_IDL/be_include/be_state.h: * TAO_IDL/be_include/be_stream_factory.h: * TAO_IDL/be_include/be_string.h: * TAO_IDL/be_include/be_structure.h: * TAO_IDL/be_include/be_sunsoft.h: * TAO_IDL/be_include/be_type.h: * TAO_IDL/be_include/be_typedef.h: * TAO_IDL/be_include/be_union.h: * TAO_IDL/be_include/be_union_branch.h: * TAO_IDL/be_include/be_union_label.h: * TAO_IDL/be_include/be_valuetype.h: * TAO_IDL/be_include/be_valuetype_fwd.h: * TAO_IDL/be_include/be_visitor_typecode/typecode_defn.h: Added #includes required by AIX template instantiation mechanisms. Tue Jul 13 11:03:38 1999 Carlos O'Ryan * tests/OctetSeq/run_test.pl: * examples/POA/On_Demand_Activation/run_test.pl: * examples/POA/On_Demand_Loading/run_test.pl: * examples/POA/Reference_Counted_Servant/run_test.pl: Fine tune the timeouts for slower (or loaded systems) 1999-07-13 Yamuna Krishnamurthy * TAO_IDL/be/be_visitor_operation/operation_is.cpp (visit_operation): * TAO_IDL/be/be_visitor_operation/operation_ih.cpp (visit_operation): Fixed the duplicate generation of the ACE_THROW_SPEC macro Thanks to Rick H. Wesson for informing the bug * TAO_IDL/be/be_visitor_interface/interface_is.cpp (visit_interface): * TAO_IDL/be/be_visitor_interface/interface_ih.cpp (be_visitor_interface_ih): Modified the code generated to avoid dominance problem with multiple inheritance Tue Jul 13 09:53:57 1999 Fred Kuhns * Moved the implementation of TAO_Stub::add_forward_profiles outside of the TAO_HAS_CORBA_MESSAGING ifdef's. Thanks to Stefan for identifying this bug. Tue Jul 13 08:15:00 1999 Chris Gill * orbsvcs/orbsvcs/Sched/Reconfig_Scheduler_T.{cpp, h}: Added accessors for maps and trees, various counts. These are needed so the reconfig scheduler can be extended by delegation (via a wrapper) as well as by inheritance. This is needed to avoid a multiple inheritance "diamond of death[TM]" if it is being extended by a servant for and interface that inherits from RtecScheduler::Scheduler. Tue Jul 13 07:47:12 1999 David L. Levine * tao/ORB.cpp (_tao_add_to_IOR_table): made the 0 string index unsigned, to avoid ambiguous operator [] overload resolution with VC++ 6.0 and Green Hills. Thanks to Andy for reporting the problem on VC++ 6.0. Mon Jul 12 23:06:28 1999 Nanbor Wang * TAO_IDL/be_include/be_interface.h: * TAO_IDL/be_include/be_interface.cpp (compute_coll_name): Fixed the misgenerating collocation class names problem when compile multiple-inherited interfaces. Thanks to Francois Bernier for reporting the bug. Mon Jul 12 21:42:27 1999 Ossama Othman * tao/GIOP.cpp (process_server_request): * tao/IOR_LookupTable.cpp (find_ior): * tao/ORB.cpp (_tao_find_in_IOR_table): Debugging output was attempting to print the name of the object found in the object key, which isn't null terminated. However, due to performance considerations, that string is not copied. Only pointer to the object_key is used during the IOR lookup. Hence, the string *cannot* be null terminated since doing so would modify the contents of the object key. For the moment, the only solution is to remove the debugging output entirely. [Bug 56] * tao/POA.cpp (encode_sequence_to_string): CORBA::string_alloc() is being used to allocate space for a string so there is no need to explicitly allocate space for a null terminator since CORBA::string_alloc() already does it. Mon Jul 12 21:44:24 1999 Jeff Parsons * tao/deep_free.cpp: Added code in TAO_Marshal_Struct::deep_free() to keep the pointer aligned as it frees each member. Thanks to David Brock and to John Morey for sending in examples that pointed out the need for this. Mon Jul 12 20:40:38 1999 Carlos O'Ryan * tao/ORB.cpp: The ORB returned from CORBA::ORB_init() should be duplicated * performance-tests/Cubit/TAO/MT_Cubit/Task_Client.h: * performance-tests/Cubit/TAO/MT_Cubit/Task_Client.cpp: Use an ORB-per-thread to minimize contention and simplify memory managment of per-ORB-per-thread resources. * performance-tests/Cubit/TAO/MT_Cubit/svc.conf: Fixed the InputCDRAllocator argument Mon Jul 12 19:23:47 1999 Jeff Parsons * TAO_IDL/fe/idl.ll: * TAO_IDL/fe/lex.yy.cpp: Modified a lex rule to accept the output of the new preprocessor used by the HP/UX folks. Mon Jul 12 16:59:23 1999 Nanbor Wang * tao/try_macros.h: Updated comments regarding how to re-enable the deprecated TAO try macros and moved the comments to make them more obvious. Thanks to Carlos and Phil Y. Wang for reporting this. * tao/Exceptions.h: Moved the macro definition of TAO_RAISE from to here. It's really an TAO-specific macros. Mon Jul 12 16:10:20 1999 David L. Levine * tao/orbconf.h: only use TAO_USE_SEQUENCE_TEMPLATES on _UNICOS. This solves the template instantiation problem on ghs/Solaris. Thanks to Carlos for diagnosing the problem. Ref: Thu Jun 24 22:18:52 1999 Doug Anderson . Mon Jul 12 15:49:33 1999 Irfan Pyarali * examples/POA/RootPOA/RootPOA.cpp (main): Added environment variable to resolve_initial_references ("RootPOA"). Mon Jul 12 15:40:39 1999 Nanbor Wang * tao/TAO.dsp: * orbsvcs/orbsvcs/orbsvcs.dsp: Merged additional MFC configuration. Thanks to John Morey for submitting the patch. Mon Jul 12 15:15:00 1999 Chris Gill * orbsvcs/orbsvcs/Sched/Reconfig_Scheduler_T.{cpp, h}: Fixed behavior of the reconfig scheduler so that it can be configured to return a default value instead of throwing an exception if a schedule had not been computed. This is the behavior of the DynSched implementation. Thanks to Tom Venturella for reporting this. Mon Jul 12 14:58:13 1999 Irfan Pyarali * tests/NestedUpcall/Simple/server.cpp: Fixed constness warning. * examples/POA/Forwarding/MyFooServant.cpp: * tests/POA/Identity/Identity.cpp: * tests/POA/Deactivation/Deactivation.cpp: Added ACE_UNUSED_ARGs. Mon Jul 12 14:46:43 1999 Carlos O'Ryan * examples/Event_Comm/Consumer.dsp: * examples/Event_Comm/Notifier.dsp: * examples/Event_Comm/Supplier.dsp: * orbsvcs/tests/Trading/TradingLib.dsp: * performance-tests/Latency/client.dsp: * performance-tests/Latency/server.dsp: * tests/Faults/client.dsp: * tests/Faults/server.dsp: Fixed dependencies in the Custom Build rules, many .idl files did not depend on the IDL compiler. Mon Jul 12 14:18:53 1999 Jeff Parsons * tao/ValueFactory_Map.cpp: Added some inits to 0 to avert Linux/egcs warnings. Mon Jul 12 13:54:45 1999 David L. Levine * tao/ORB_Core.cpp (TAO_ORB_Core): fixed MVS "from" codeset translator. Thanks to Jim Rogers for this fix. Mon Jul 12 12:58:01 1999 Jeff Parsons * TAO_IDL/util/utl_scope.cpp: Corrected a mistake in the logic that caused a failed lookup of a field to be given the type of the previous field (if any). As a by-product, the use of 'int' as a type (illegal) causes a lookup error output for '_cxx_int'. This is not wholly informative, but the corresponding syntax error (based on the parse state) is 'illegal component in scoped name', which is even less informative. Thanks to Surovegin Eugene for pointing out the code generation problem. Mon Jul 12 12:25:53 1999 Nanbor Wang * orbsvcs/orbsvcs/orbsvcs.dsp: * orbsvcs/orbsvcs/orbsvcs_static.dsp: Fixed some broken idl flags. Added -I../../tao flag to when compiling all idl files so people won't have trouble compiling orbsvcs even when they don't have ACE_ROOT or TAO_ROOT defined. Thanks to John Morey for suggesting this. * TAO-INSTALL.html: * docs/compiler.html: Added more explanation about setting TAO_ROOT or ACE_ROOT. Mon Jul 12 10:47:18 1999 David L. Levine * tao/ORB_Core.cpp (reactor): check for non-zero return from get_tss_resources (). If 0, print error message about no more TSS keys and return 0. This allows the MT_Cubit server to fail gracefully if it runs out of TSS keys (it uses one key per thread). Also, added the non-zero check to all other uses of get_tss_resources () in the file. [Bug 57] Mon Jul 12 10:43:54 1999 Ossama Othman * tao/ORB.cpp (resolve_initial_references): Fixed bug where the object ID was not being properly appended to multiple endpoints when using -ORBDefaultInitRef. The task of appending the object ID is now the responsibility of TAO_Connector::make_mprofile() which actually gets invoked when an CORBA::string_to_object() call is made. The code in resolve_initial_references() was redundant code since the code in TAO_Connector::make_mprofile() already existed and is better suited to handle pluggable protocols. -ORBDefaultInitRef now works properly with all of TAO's pluggable protocols. * tao/Pluggable.cpp (make_mprofile): Fixed a bug where the location of the object key was being evaluated everytime an addr from an endpoint with multiple addrs was parsed. The object key location should only be evaluated once. Endpoint searches were also being made throughout the entire length of the IOR. Endpoint searches should only occur after the protocol specification and before the object key. This fixes a bug that was preventing -ORBDefaultInitRef from working properly when given an argument with multiple endpoints. * tao/UIOP_Acceptor.cpp: * tao/UIOP_Connect.cpp: * tao/UIOP_Connector.cpp: * tao/UIOP_Factory.cpp: * tao/UIOP_Profile.cpp: * tao/UIOP_Transport.cpp: Moved some headers outside of the ACE_LACKS_UNIX_DOMAIN_SOCKETS guard to make sure we include the configuration header so that ACE_LACKS_UNIX_DOMAIN_SOCKETS gets defined when necessary. This fixes compilation on platforms that don't support UNIX domain sockets, such as Win32. * tao/params.cpp (TAO_ORB_Parameters): Added default_init_ref_ to the member initializer list. * tao/TAO.dsp: Added the UIOP pluggable protocol files to the project. Their contents will actually get #ifdefed out on Win32 platforms but it is good to add them to the project to be consistent. Mon Jul 12 10:32:53 1999 David L. Levine * tao/*.h: inserted pragma once into a bunch of headers that didn't have it. Thanks to Ossama for reporting this. Mon Jul 12 09:55:46 1999 Jeff Parsons * TAO_IDL/include/AST_Interface.h: * TAO_IDL/ast/AST_Interface.cpp: Modified fwd_redefinition_helper method to allow for reopened modules. Mon Jul 12 09:50:22 1999 Steve Huston * tao/DynUnion_i_T.cpp: Added #include "tao/Any.h" to pick up the extract operators during template instantiation on IBM C++. * TAO_IDL/driver/drv_preproc.cpp: Added +W 67 to CPP args for HP aC++ - this shuts up the "invalid #pragma name" warnings from IDL. Mon Jul 12 09:00:47 1999 David L. Levine * tao/Exception.cpp (_tao_errno): conditionally compile the ENOSYS case only if ENOSYS != EFAULT, to allow building on BCB4, for example. Thanks to Eugene Surovegin for reporting this problem and providing the fix. [Bug 60] Mon Jul 12 08:04:20 1999 David L. Levine * examples/Simple/time-date/Makefile: removed Time_DateC.o, Time_DateS.o, and Time_Date_i.o from SIMPLE_SVR_OBJS. This allows the server to be linked without warnings on DU 5.0. And, it allows the example to function as intended, i.e., the servants are now linked in at runtime. [Bug 59] Mon Jul 12 00:05:33 1999 nanbor * TAO version 0.4.1 released. Sun Jul 11 14:14:56 1999 Jeff Parsons * TAO_IDL/util/utl_scope.cpp: Further mod to lookup functions in response to a bug in compiling TAO/examples/Event_Comm.idl. Sun Jul 11 12:15:00 1999 Chris Gill * Reconfig_Scheduler_T.{cpp, h}, Reconfig_Sched_Utils.{cpp, h}: Fixes for nightly build log errors and warnings. Changed exception from UNKNOWN_TASK to INTERNAL, added ACE_TYPENAME for traits, moved DFS ordering function from scheduler to scheduling strategy. Sun Jul 11 03:25:07 1999 Nanbor Wang * orbsvcs/orbsvcs/Sched/Reconfig_Scheduler_T.cpp (assign_priorities_i): (init): The assignment operator of auto_ptr takes another auto_ptr, not the pointer itself. Sat Jul 10 23:46:18 1999 Nanbor Wang * docs/Options.html: * docs/configurations.html: More updates to the configuration document. Sat Jul 10 21:56:54 1999 Ossama Othman * tao/UIOP_Acceptor.h: * tao/UIOP_Acceptor.cpp (open_i, close): Added an "unlink_on_close_" member that flags whether or not the UIOP rendezvous point should be unlinked when closing the acceptor. Currently this flag is only unset when an "address already in use" error (EADDRINUSE) occurs. An existing rendezvous point shouldn't be unlinked if errno == EADDRINUSE since it may be in use by another UIOP server/client. [Bug 52] * tao/UIOP_Acceptor.cpp (create_mprofile): Initialized a pointer to zero to prevent potential uninitialized variable warnings. Minor coding style updates. * tao/UIOP_Profile.cpp (parse_string): Inadvertently checked for incorrect return value while setting the rendezvous point in the underlying ACE_UNIX_Addr. The problem was introduced when I fixed another problem. URL style object references are working again for UIOP. Sat Jul 10 20:31:36 1999 Nanbor Wang * orbsvcs/orbsvcs/Sched/Reconfig_Scheduler_T.cpp (init): Changed the use of auto_ptr::reset to release-and-assign since some compilers are still implementaing the C++ standard draft, which doesn't has reset() in auto_ptr. Sat Jul 10 19:40:41 1999 Darrell Brunsch * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp: Removed a warning on EGCS about the variable being used possibly uninitialized. * orbsvcs/tests/ImplRepo/nestea_server_i.cpp: Removed a warning on MSVC about a */ being found outside a comment. * orbsvcs/tests/ImplRepo/run_test.pl: Instead of killing the servers at the end of the *_ir tests, shut them down with tao_ir. Sat Jul 10 19:20:55 1999 Nanbor Wang * examples/Simple/bank/Account_i.{h,cpp}: * examples/Simple/echo/Echo_i.{h,cpp}: Added no-op copy constructors to fool old g++ (2.7.2.3). Sat Jul 10 18:54:50 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Event/EC_ProxyConsumer.cpp: * orbsvcs/orbsvcs/Event/EC_ProxySupplier.cpp: * orbsvcs/orbsvcs/Event/Event_Channel.cpp: Fixed warnings on HP-UX/aCC, thanks to Eric Mitchell for facilitating the resources to find these problems. Sat Jul 10 17:35:45 1999 Jeff Parsons * TAO_IDL/be/be_visitor_sequence/gen_unbounded_sequence_cs.cpp: * TAO_IDL/be/be_visitor_sequence/gen_unbounded_obj_sequence_cs.cpp: Added an init to 0 in each file to avert SunOS egcs warnings. Sat Jul 10 15:53:59 1999 Alexander Babu Arulanthu * tao/Transport_Mux_Strategy.cpp: Single lined the #pragma lines to fix the warnings in VxWorks. Thanks to David for reporting this and for Carlos for coming up with the solution. Fri Jul 9 19:12:14 1999 Ossama Othman * tao/UIOP_Acceptor.{h,cpp} (open_i, rendezvous_point): * tao/UIOP_Profile.{h,cpp}: Moved the rendezvous point verification method to the UIOP acceptor since it is the acceptor that should verify the rendezvous point. Previously, the rendezvous point was checked on the client only when URL style object references were being used. That behavior was incorrect. * tao/Acceptor_Registry.cpp (open): Comment updates. * tao/IIOP_Connector.cpp (preconnect): Updated default preconnect port to be 683 instead of 9999 since the default port for CORBA 3 will be 683, as assigned by the IANA. * tao/IIOP_Profile.cpp (parse_string): Updated some brittle code and added some additional error checks. Fri Jul 9 21:50:00 1999 Michael Kircher * TAO_IDL/be/be_visitor_argument/ami_handler_vardecl_cs.cpp: Fixed a not reachable switch statement. Fri Jul 9 20:40:54 1999 Jeff Parsons * TAO_IDL/include/utl_scope.h: * TAO_IDL/util/utl_scope.cpp: Extensive mods to lookup_by_name(), lookup_by_name_local(), and iter_lookup_by_name_local() so they will traverse the scope tree above the starting point and check for reopened modules. Fri Jul 09 18:54:40 1999 Irfan Pyarali * version_tests.dsw (Project): Fixed location of POA Deactivation project. Fri Jul 9 17:21:26 1999 Jeff Parsons * TAO_IDL/be/be_visitor_field/cdr_op_ci.cpp: Fixed two typos (misplaced parens) in generated code. Fri Jul 9 16:47:34 1999 Ossama Othman * tao/IIOP_Connector.cpp (preconnect): If no port is specified then a default port of 9999 should be used, as stated in the spec. Fri Jul 9 16:44:49 1999 Jeff Parsons * TAO_IDL/be/be_visitor_argument/compiled_marshal_ss.cpp: Fixed several typos and misleading ACE_ERROR messages. Fri Jul 9 16:41:32 1999 Balachandran Natarajan * examples/Persistent_Grid/Grid_i.cpp: * examples/Persistent_Grid/Grid_i.h: * examples/Persistent_Grid/Makefile: * examples/Persistent_Grid/Simple_util.cpp: * examples/Persistent_Grid/server.cpp: Implemented Dr.Schmidt's suggestions. Did a bit a code clean up. Tested on SunCC 5.0 and g++ on SunOS5.5.1 Fri Jul 09 16:12:32 1999 Nanbor Wang * TAO_IDL/be/be_visitor_interface/interface_ss.cpp (visit_interface): * TAO_IDL/be/be_visitor_interface/any_op_cs.cpp (be_visitor_interface_any_op_cs): Added appropriate storage class specifiers to the collocation stub factory function pointer and the dummy pointer initializer integer. Hopefully, this will eliminate the bazillion warnings from OSF1. Fri Jul 9 16:04:42 1999 Ossama Othman * tao/Invocation.cpp (start): Removed request_hdr time probe. It is replaced by the time probes described below. * tao/{IIOP,UIOP}_Transport.cpp (start_request): Removed send_request() time probe and added one to start_request() since the time spent in start_request() is more important for benchmarking. Fri Jul 9 15:22:20 1999 Marina Spivak * orbsvcs/Naming_Service/Naming_Service.cpp: Added a check for error conditions in the method, after , in order to shut down gracefully. Fri Jul 9 14:26:28 1999 Jeff Parsons * TAO_IDL/be_include/be_string.h: * TAO_IDL/be_include/be_predefined_type.h: * TAO_IDL/be/be_string.cpp: * TAO_IDL/be/be_predefined_type.cpp: Added overrides for 2nd signature of overloaded compute_tc_type() virtual function in base class be_type. Averts warnings from KAI compiler. Fri Jul 9 14:10:00 1999 Chris Gill * orbsvcs/orbsvcs/Sched/Reconfig_Sched_Utils_T.{cpp, h} orbsvcs/orbsvcs/Sched/Reconfig_Scheduler_T.{cpp, h}: Added ACE_TYPENAME before traits that depend on parameterized types, in order to fix compiler errors on HP-UX. Thanks to Carlos O'Ryan for pointing these out. Fri Jul 9 12:59:05 1999 Balachandran Natarajan * examples/Simple/grid/Grid_i.h : * examples/Simple/grid/Grid_i.cpp :Fixed a warning on HP_UX. Thanks to Carlos for reporting this. Fri Jul 9 11:14:03 1999 Ossama Othman * docs/releasenotes/index.html: Updated the UIOP pluggable transport protocol usage guidelines about the importance of using absolute and relative paths consistently with a given UIOP rendezvous point. Fri Jul 9 10:58:41 1999 Carlos O'Ryan * orbsvcs/tests/Property/run_test.pl: Print messages to stderr to make the output readable * orbsvcs/ImplRepo_Service/Makefile: Updated dependencies * examples/OBV/Typed_Events/run_test.pl: Added missing run_test script Fri Jul 9 01:55:57 1999 Nanbor Wang * TAO_IDL/be/be_visitor_interface/interface_ss.cpp (visit_interface): Fixed type mismatch warning on KCC. * TAO_IDL/be/be_visitor_interface/interface_cs.cpp (visit_interface): Fixed unused argument warnings on egcs. Fri Jul 09 01:00:40 1999 Nanbor Wang * tao/DynAnyC.cpp: Removed a duplicated template instantiation. * tao/Connector_Registry.cpp (preprocess_preconnects): Added a static cast to a ssize_t value to avoid MSVC warnings. Thu Jul 8 23:34:42 1999 Balachandran Natarajan * examples/Persistent_Grid/README: * examples/Persistent_Grid/Grid_Client_i.cpp: * examples/Persistent_Grid/Grid_i.cpp: * examples/Persistent_Grid/Persistent_Client_i.cpp: * examples/Persistent_Grid/Simple_util.cpp: * examples/Persistent_Grid/client.cpp: * examples/Persistent_Grid/persistent_client.cpp: * examples/Persistent_Grid/server.cpp: * examples/Persistent_Grid/Grid_Client_i.h * examples/Persistent_Grid/Grid_i.h * examples/Persistent_Grid/Persistent_Client.h * examples/Persistent_Grid/Simple_util.h * examples/Persistent_Grid/run_test.pl * examples/Persistent_Grid/Makefile * examples/Persistent_Grid/Persistent_Grid.dsw * examples/TAO_Examples.dsw * examples/Persistent_Grid/Persistent_Grid_Server_Files.dsp: * examples/Persistent_Grid/Persistent_Grid_Client_Files.dsp: * examples/Persistent_Grid/Persistent_Grid_Client_Second_Files.dsp: A new example added to show the persistence nature of the server. Please refer to the README file in that directory for info on how to build and run the tests. Thu Jul 08 23:55:46 1999 Michael Kircher * tao/TAO.dsp * tao/TAO_Static.dsp: Added the Files Pollable{C,S}.{h,cpp} and Asynch_Invocation.{h,cpp} to the MSVC project files. Thu Jul 08 23:29:46 1999 Nanbor Wang * tao/Servant_Base.{h,cpp}: Removed the _create_collocated_objref method. * TAO_IDL/be/be_visitor_interface/interface_ch.cpp: * TAO_IDL/be/be_visitor_interface/interface_cs.cpp: * TAO_IDL/be/be_visitor_interface/interface_sh.cpp: * TAO_IDL/be/be_visitor_interface/interface_ss.cpp: Changed to use a collocation stub factory function pointer to generate collocated stubs. The hook (function pointer) is defined in *C.{h,cpp} and default to 0. If the skeleton file is linked with the stub file, the hook will be initialized to use a factory function defined in the skeleton file. * TAO_IDL/be/be_visitor_interface/thru_poa_collocated_sh.cpp: * TAO_IDL/be/be_visitor_interface/thru_poa_collocated_ss.cpp: We no longer need to initialize thru_poa stubs with a servant pointer. Also removed get_servant() method from thru_poa stub. * TAO_IDL/be/be_visitor_interface/any_op_ch.cpp: * TAO_IDL/be/be_visitor_interface/any_op_cs.cpp: Borrow these two file to define the collocation stub factory function pointer. Thu Jul 8 22:55:59 1999 Alexander Babu Arulanthu * Thanks to Michael Kircher and Carlos, we have put together most of the TAO_IDL code and tao code for the AMI call back implementation. This commit is the result of the merging process between the "ami_phase3" branch and the current branch. * Most of the support for the AMI Callback is added. But all the AMI specific code is conditionally compiled using "TAO_HAS_CORBA_MESSAGING" and "TAO_POLLER". Thu Jul 8 21:50:02 1999 Carlos O'Ryan * tests/CDR/run_test.pl: The code to check for errors was broken. * tao/PolicyC.cpp: Added missing template instantiation Thu Jul 08 21:47:00 1999 Chris Gill * orbsvcs/orbsvcs/Sched/DynSched.cpp orbsvcs/orbsvcs/Sched/SchedEntry.cpp orbsvcs/orbsvcs/Sched/Strategy_Scheduler.cpp orbsvcs/orbsvcs/Time/TAO_UTO.cpp: made constants unsigned, added explicit type casts to resolve type promotion ambiguities. Thu Jul 8 21:31:40 1999 Carlos O'Ryan * tao/Typecode.cpp: Added missing template instantiation. Thu Jul 8 21:02:58 1999 Ossama Othman * tao/Connector_Registry.cpp (preprocess_preconnects): Minor fix for case when preconnect string contains no preconnects (e.g.: "iiop://"). * tao/{IIOP,UIOP}_Connect.cpp: Cosmetic updates. Thu Jul 8 17:18:36 1999 Ossama Othman * tao/params.{h,cpp}: Changed the preconnects container to an ACE_Unbounded_Queue since it allows duplicate values and since it has already been instantiated in ACE. Since it has already been instantiated in ACE, no increase in TAO's footprint will occur. Furthermore, since the preconnect processing is not in a performance critical path, no degradation in performance will occur. [Bug 4] * tao/Connector_Registry.{h,cpp}: Added a new preprocess_preconnects() method to "squeeze" all protocol similar preconnects into a single string. This preprocessing gets around having to iterate over all of the loaded protocols in each protocol connector. Protocol iteration will remain in the connector registry. Furthermore, preprocessing the preconnects in this manner also makes it easier for protocol implementers to parse the preconnects. [Bug 4] * tao/Protocol_Factory.{h,cpp}: * tao/IIOP_Factory.{h,cpp}: * tao/UIOP_Factory.{h,cpp}: Added a prefix() method that returns the expected prefix for the given transport protocol. One such method already exists in each protocol's Profile class. However, it makes more sense to get the prefix from the protocol factory in the case that this newly added method is used, currently only in preconnect processing. [Bug 4] * tao/ORB_Core.cpp (init): The preconnect provided on the command line wasn't being "consumed" during command line parsing. Thanks to Steve Totten for reporting this problem and providing a fix. [Bug 39] Update related to the preconnect fixes described above. [Bug 4] * tao/ORB_Core.h (TAO_ORB_Core): Comment updates. Thu Jul 8 16:30:40 1999 Carlos O'Ryan * tao/Sequence_T.h: * tao/Sequence_T.i: * tao/Sequence_T.cpp: Sequences of pseudo objects require a different Object_Manager class * TAO_IDL/be/be_visitor_sequence/elemtype.cpp: * TAO_IDL/be/be_visitor_sequence/gen_bounded_obj_sequence_ch.cpp: * TAO_IDL/be/be_visitor_sequence/gen_bounded_obj_sequence_ci.cpp: * TAO_IDL/be/be_visitor_sequence/gen_unbounded_obj_sequence_ch.cpp: * TAO_IDL/be/be_visitor_sequence/gen_unbounded_obj_sequence_ci.cpp: Fixed to generate the new Pseudo_Object_Manager<> class * TAO_IDL/be/be_visitor_interface/interface_ch.cpp: * TAO_IDL/be/be_visitor_interface/interface_ci.cpp: The T::_nil() method is defined in the header file to work around g++ problems. * tao/DomainC.cpp: * tao/DomainC.i: * tao/DynAnyC.cpp: * tao/DynSequence_i.cpp: * tao/MessagingC.cpp: * tao/PollableC.cpp: * tao/Request.cpp: Added missing template instantiations * orbsvcs/orbsvcs/Channel_Clients_T.h: Added missing default parameters Thu Jul 08 15:55:17 1999 David L. Levine * tao/Invocation.cpp (start): changed a couple of constants from signed to unsigned, to avoid overload resolution ambiguity with ACE_U_LongLong operations. Thu Jul 8 15:32:09 1999 Kirthika Parameswaran * docs/Options.html: Added default values to CORBS::ORB options, ORBNAmeServicePort, ORBTradingServicePort, ORBSvcConf, ORBDottedDecimalAddress, and ORBImplRepoPort. Thu Jul 8 14:41:37 1999 Douglas C. Schmidt * docs/configurations.html: Added some comments and enhanced this description. Thu Jul 8 14:36:20 1999 Balachandran Natarajan * docs/Options.html: Added 'default' values for the ORB configuration options in TAO_Resource_Factory, TAO_Default_Server_Strategy_Factory & TAO_Default_Client_Strategy_Factory.. * tests/Xt_Stopwatch/run_test.pl: Added run_test.pl for spawning the server & client processes Thu Jul 8 14:23:52 1999 Jeff Parsons * TAO_IDL/include/utl_scope.h: * TAO_IDL/util/utl_scope.cpp: Modified *_lookup_by_name_* family of functions to backtrack if necessary to check for reopened modules when trying to look up a scoped name. Thu Jul 8 13:06:01 1999 Jeff Parsons * tao/DynArray_i.cpp: Changed //****************************** to // ****************************** Evidently, SunCC 5.0 sees the second and third characters as a /*, whereas other compilers don't. Thanks to Alex for reporting this error. Thu Jul 08 12:05:00 1999 Chris Gill * orbsvcs/orbsvcs/Sched/Reconfig_Sched_Utils.cpp: added "TO DO" comment for direct dependency lookups in subpriority assignment. Thu Jul 08 11:00:00 1999 Chris Gill * orbsvcs/orbsvcs/Sched/DynSched.cpp orbsvcs/orbsvcs/Sched/Reconfig_Scheduler_T.cpp: fixed undeclared symbol typo, type conversion errors from nightly builds. Thu Jul 08 10:28:25 1999 David L. Levine * orbsvcs/orbsvcs/Time_Utilities.i (TimeT_to_Time_Value): use ACE_U_ONE_SECOND_IN_NSECS instead of the signed constant, to avoid overload ambiguity now that we have an ACE_U_LongLong conversion to ptr_arith_t. Thu Jul 08 09:59:47 1999 David L. Levine * docs/releasenotes/orbcore.html: updated description of errno component of CORBA_SystemException minor code. We now maintain the low 7 bits of unexpected errnos. Wed Jul 7 22:05:22 1999 Balachandran Natarajan * tests/Xt_Stopwatch/client.cpp: * tests/Xt_Stopwatch/Client.h * tests/Xt_Stopwatch/Control.cpp * tests/Xt_Stopwatch/Control.h * tests/Xt_Stopwatch/Stopwatch_display.h * tests/Xt_Stopwatch/Stopwatch_display.cpp * tests/Xt_Stopwatch/server.cpp * tests/Xt_Stopwatch/test_i.cpp * tests/Xt_Stopwatch/test_i.h * tests/Xt_Stopwatch/test_i.i * tests/Xt_Stopwatch/timer.cpp * tests/Xt_Stopwatch/timer.h * tests/Xt_Stopwatch/README * tests/Xt_Stopwatch/svc.conf: Added a new example to illustrate the usage of the XtReactor from TAO. The server creates a small display dialog and the client displays a dialog with a start and stop button. On pressing the start button the server dialog box starts a stopwatch. On the pressing the stop the stopwatch stops. On repressing the start the stopwatch resets and start all over again. Wed Jul 07 21:28:00 1999 Chris Gill * orbsvcs/Scheduling_Service/Scheduling_Service.cpp orbsvcs/orbsvcs/Sched/DynSched.cpp orbsvcs/orbsvcs/Sched/Reconfig_Sched_Utils.cpp orbsvcs/orbsvcs/Sched/Reconfig_Sched_Utils_T.{cpp, h} orbsvcs/orbsvcs/Sched/Reconfig_Scheduler_T.{cpp, h} orbsvcs/tests/Sched_Conf/Sched_Conf.cpp orbsvcs/tests/Sched_Conf/Sched_Conf_Anomalies.cpp orbsvcs/tests/Sched_Conf/Sched_Conf_Runtime.cpp: bug fixes from testing the reconfig scheduler alongside the config scheduler. Reconfig scheduler now executes with no exceptions and generates a schedule in the Sched_Conf test. Wed Jul 7 21:16:24 1999 Douglas C. Schmidt * tao/ORB.cpp (multicast_to_service): Revised the code to use TAO_DEFAULT_IOR_SIZE rather than 2*BUFSIZ since we can explicitly control this size, whereas BUFSIZ ranges a lot across platforms. * tao/orbconf.h: Added a new macro called TAO_DEFAULT_IOR_SIZE, which is set to 1024. Wed Jul 7 20:36:20 1999 Marina Spivak * tao/ORB.{h,cpp} * orbsvcs/orbsvcs/IOR_Multicast.cpp: Buffer of size BUFSIZ, which is used to receive the ior from Naming/Trading service in response to a multicast message, was allocated off the stack. On some platforms (notably, NT), BUFSIZ wasn't big enough to house the ior, so the ior got truncated, and weird things happenned. Updated the code, to allocate buffer space for ior dynamically, if what was allocated off the stack wasn't enough. To make this simpler, changed method in TAO_IOR_Multicast to reply to the client with iovec, containing the length of the ior, followed by the ior itself. Fixed several memory leaks and other bugs in the surrounding code. Wed Jul 07 19:51:00 1999 Chris Gill * orbsvcs/Scheduling_Service/Scheduling_Service.cpp orbsvcs/orbsvcs/RtecScheduler.idl orbsvcs/orbsvcs/Sched/Reconfig_Sched_Utils_T.cpp orbsvcs/orbsvcs/Sched/Reconfig_Scheduler_T.cpp: fixed casting problems reported by GHS and OSF1 builds. Wed Jul 7 19:24:00 1999 Carlos O'Ryan * docs/Options.html: * tao/Makefile: * tao/default_resource.h: * tao/default_resource.cpp: * tao/xt_resource.h: * tao/xt_resource.i: * tao/xt_resource.cpp: Removed the ReactorType from the default resource factory, it simply did not work because the context was not properly initialized. Added a new Resource_Factory that can create XtReactors, but only after the context has been properly set. * tests/FL_Cube/svc.conf: Fixed the reactor type for this example * tests/Xt_Stopwatch/client.cpp: * tests/Xt_Stopwatch/server.cpp: * tests/Xt_Stopwatch/svc.conf: Use the new TAO_XT_Resource_Factory in this example. Wed Jul 07 18:26:58 1999 Irfan Pyarali * tao: Fixed determination of collocation. It is not necessary to have a servant for a object to be collocated. A servant manager or a default servant will also do. Now Nanbor needs to take advantage of these changes by changing _narrow appropriately. Wed Jul 07 16:25:05 1999 David L. Levine * tao/corbafwd.h,Exception.cpp (_tao_errno,_info): 1) Added support for these errnos: EAGAIN, ENOMEM, EACCES, EFAULT, EBUSY, EEXIST 2) Changed minor code to use 5 bits for location and 7 for errno encoding, instead of 8 and 4, respectively. 3) If an unknown errno is given to _tao_errno, it returns the low 7 bits. These are stored directly in the 7 bit minor code field. _info then prints out the value. Not perfect, due to the loss of information, but it often provides a lot more useful information than it did before. [Bug 18] Wed Jul 7 16:14:55 1999 Carlos O'Ryan * tao/Sequence_T.h: * tao/Sequence_T.cpp: Fixed assignment from TAO_Object_Field_T<> to TAO_Object_Manager<>. Wed Jul 7 15:50:10 1999 Vishal Kachroo * orbsvcs/orbsvcs/IOR_Multicast.cpp: Removed some commented out code that was not required. Wed Jul 7 15:35:24 1999 Ossama Othman * docs/Options.html: Added documentation for the -ORBProtocolFactory option. * performance-tests/Cubit/TAO/IDL_Cubit/run_test.pl: Changed some print statement to print on stderr so that they get printed before the tests actually run. * tao/UIOP_Acceptor.{h,cpp}: Added a destructor to aid in post-error rendezvous point clean up. * tao/Acceptor_Registry.cpp (~TAO_Acceptor_Registry): Added a call to TAO_Acceptor_Registry::close_all () in the TAO_Acceptor_Registry destructor. The call in the destructor shouldn't be necessary since close_all () is already called by the ORB, but it is safer to add the call to the destructor. * tao/Acceptor_Registry.cpp (open, open_default): * tao/Connector_Registry.cpp (open): Added some useful and/or missing error checks. Fixed some memory leaks that may occur when an error occurs. * tao/Connector_Registry.cpp (TAO_Connector_Registry): Added connectors_ member to the member initializer list. * tao/Connector_Registry.cpp (create_profile): * tao/default_resource.cpp (init): Explicitly initialized some variables to fix potential "uninitialized variable" warnings. * tao/default_resource.cpp: Added protocol_factories_ member to TAO_Default_Resource_Factory member initializer list. Fixed potential memory leaks due to failed (and unlikely) insertions into the protocol factory set. * tao/Resource_Factory.h (TAO_Protocol_Item): Minor spelling correction in comment. Wed Jul 7 14:24:08 1999 Carlos O'Ryan * tao/Makefile: * tao/varout.h: * tao/varout.i: * tao/varout.cpp: * tao/CDR_Interpreter.cpp: * tao/DomainC.cpp: * tao/DynAnyC.cpp: * tao/IORC.cpp: * tao/IORC.h: * tao/IORC.i: * tao/IORManipulation.cpp: * tao/MessagingC.cpp: * tao/ORB.cpp: * tao/ORB_Core.h: * tao/Object.cpp: * tao/PolicyC.cpp: * tao/PollableC.cpp: * tao/decode.cpp: * tao/deep_free.cpp: * tao/encode.cpp: Changed TAO_Object_Field_T to take two arguments, that way it can have an assignment operator from Object_Manager and properly increment the reference count in that case [BUGID:16] * TAO_IDL/Makefile: * TAO_IDL/be/be_sequence.cpp: * TAO_IDL/be/be_visitor_sequence.cpp: * TAO_IDL/be/be_visitor_field/field_ch.cpp: * TAO_IDL/be/be_visitor_interface/any_op_cs.cpp: * TAO_IDL/be/be_visitor_sequence/elemtype.cpp: * TAO_IDL/be/be_visitor_sequence/gen_bounded_obj_sequence_ch.cpp: * TAO_IDL/be/be_visitor_sequence/gen_bounded_obj_sequence_ci.cpp: * TAO_IDL/be/be_visitor_sequence/gen_bounded_obj_sequence_cs.cpp: * TAO_IDL/be/be_visitor_sequence/gen_object_manager_ch.cpp: * TAO_IDL/be/be_visitor_sequence/gen_object_manager_ci.cpp: * TAO_IDL/be/be_visitor_sequence/gen_unbounded_obj_sequence_ch.cpp: * TAO_IDL/be/be_visitor_sequence/gen_unbounded_obj_sequence_ci.cpp: * TAO_IDL/be/be_visitor_sequence/gen_unbounded_obj_sequence_cs.cpp: * TAO_IDL/be/be_visitor_sequence/sequence_ci.cpp: * TAO_IDL/be/be_visitor_union_branch/private_ch.cpp: * TAO_IDL/be/be_visitor_union_branch/public_access_cs.cpp: * TAO_IDL/be/be_visitor_union_branch/public_assign_cs.cpp: * TAO_IDL/be/be_visitor_union_branch/public_ci.cpp: * TAO_IDL/be_include/be_sequence.h: * TAO_IDL/be_include/be_visitor_sequence/sequence_ch.h: * TAO_IDL/be_include/be_visitor_sequence/sequence_ci.h: The IDL compiler generates proper code with two arguments now. * tests/Param_Test/tmplinst.cpp: Fixed template instantiations * examples/Simple/bank/run_test.pl: * orbsvcs/tests/Property/run_test.pl: Fixed output and fine tune execution time. Wed Jul 07 13:07:09 1999 David L. Levine * rules.tao.GNU: removed check for whether we should add -Wno-uninitialized with g++. We were no longer using it anyways, and the check was causing a warning if the compiler wasn't on the user's PATH. Wed Jul 7 12:59:14 1999 Carlos O'Ryan * tao/Invocation.cpp: Fixed the timeout computations so it works in platforms without native 64 bit ints. * tao/ORB.cpp: It was not compiling in platforms without native C++ exceptions. Wed Jul 7 12:49:13 1999 Carlos O'Ryan * orbsvcs/Concurrency_Service/Concurrency_Service.cpp: * orbsvcs/orbsvcs/Concurrency/CC_LockSetFactory.cpp: * orbsvcs/tests/Concurrency/CC_client.cpp: * orbsvcs/tests/Concurrency/CC_command.cpp: * orbsvcs/tests/Concurrency/CC_naming_service.cpp: * orbsvcs/tests/Concurrency/CC_test_utils.cpp: * orbsvcs/tests/Concurrency/CC_tests.cpp: The concurrency service compiles now, and does not use any of the old TAO_TRY macros. It is still disabled because it is so rarely used. * tests/NestedUpcall/Simple/Makefile: Updated dependencies Wed Jul 07 12:41:17 1999 Nanbor Wang * docs/compiler.html: Added documentation on how to control the generation of collocation stubs of different strategies. Wed Jul 07 09:47:58 1999 Irfan Pyarali * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_i.cpp (~Cubit_Factory_i): Removed the deactivation of the servant in ~Cubit_Factory_i. The deactivation was actually already performed when ORB::shutdown was called. When the deactivation was happening again in ~Cubit_Factory_i, implicit activation was actually reregistering the servant, just to be immediately deactivate it. I would not have noticed this if it weren't for the fact that on some platforms, the second deactivation occurs before the shutdown() upcall completes, causing the second deactivation to fail since the servant is still in the active object map. Wed Jul 7 03:17:52 1999 Nanbor Wang * docs/Options.html: Removed the -ORBReactorLock entry into the Resource_Factory section and replaced it with a note. Removed the -ORBColTable entry from the Resource_Factory section. Removed the -ORBColTblLockType entry from the Server_Strategy_Factory section. Added the -ORBEventLoopLock entry into the Server_Strategy_Factory section. Added the -ORBProtocolFactory entry into the Resource_Factory section. Somebody, document us. Tue Jul 6 22:23:01 1999 Douglas C. Schmidt * orbsvcs/tests/AVStreams/benchmark/run_test.pl: * orbsvcs/tests/CosEC_Multiple/run_test2.pl: * orbsvcs/tests/EC_Multiple/run_test.pl: * orbsvcs/tests/Event_Latency/run_test.pl: * orbsvcs/tests/Simple_Naming/run_test.pl: * orbsvcs/tests/Property/run_test.pl, * orbsvcs/tests/EC_Custom_Marshal/run_test.pl, * orbsvcs/tests/EC_Throughput/run_test.pl: Updated these scripts to use Naming_Server rather than Naming_Service to match the change described in the next bullet. * orbsvcs/Naming_Service: Renamed the executable for the Naming Service to "Naming_Server", which is more descriptive. * orbsvcs/Naming_Service: Created a new file called Naming_Server.cpp that contains the main() function. This makes it easy for folks to reuse the TAO Naming Service in other ways, such as integrating it with the Windows NT Service Config Manager. Thanks to Gul Onural for suggesting this. Tue Jul 06 22:22:00 1999 Chris Gill * orbsvcs/Scheduling_Service/Scheduling_Service.cpp: added explicit template instantiations for auto_ptr classes. Tue Jul 6 16:54:32 1999 Marina Spivak * orbsvcs/Naming_Service/Naming_Service.cpp: Fixed several 'unreachable statements' warnings in method. Tue Jul 6 16:35:19 1999 Fred Kuhns * replaced calls to printf in IORTest.ccp with ACE_DEBUG Tue Jul 6 15:55:12 1999 Nanbor Wang * docs/Options.html: * tao/ORB_Core.cpp (init): Merged the flags '-ORBCollocation yes/no' and '-ORBGlobalCollocation yes/no'. The collocation policy is now controlled only by the flag '-ORBCollocation yes/global/per-orb/no'. Thanks to Irfan for suggesting this. Tue Jul 6 15:31:01 1999 Carlos O'Ryan * tao/GIOP.h: * tao/GIOP.cpp: * tao/IIOP_Transport.h: * tao/IIOP_Transport.cpp: * tao/Pluggable.h: * tao/Pluggable.cpp: * tao/UIOP_Transport.h: * tao/UIOP_Transport.cpp: * tao/Wait_Strategy.cpp: Completed the implementation of timeouts when using Block_On_Read (RW) and Block_On_Select (ST) client connection handlers. [BUG ID 12] * tests/Timeout/run_test.pl: Fine tune the test so there are more significant samples in the execution. Tue Jul 06 15:05:11 1999 David L. Levine * orbsvcs/Scheduling_Service/Makefile: added -I$(TAO_ROOT)/orbsvcs/orbsvcs/Sched, so that DU cxx 6.2 can find Reconfig_Scheduler_T.cpp for template instantiation. Tue Jul 06 14:15:00 1999 Chris Gill * orbsvcs/Scheduling_Service/Scheduling_Service.cpp orbsvcs/orbsvcs/Sched/Reconfig_Sched_Utils.h orbsvcs/orbsvcs/Sched/Reconfig_Scheduler_T.{cpp, h}: added missing template instantiations, fixed exception specification problems reported by Sun C++, OSF1 cxx. Tue Jul 06 13:00:00 1999 Irfan Pyarali * tao/Object_Adapter.cpp (servant_locator_cleanup): Using the zero'ness of the cookie to determine if we need to call the servant locator method is not a good idea since the cookie itself might be set to zero by the user. Therefore, a new and separate variable is used for this purpose. * tao/POA.cpp: Made sure to setup and teardown the single threaded poa lock for servants returned from servant managers. Thanks to Mike Moran for pointing this out. In addition, _add_ref() was not being invoked on a servant returned from a servant activator. This is fixed now. * tao/ORB.cpp (_get_collocated_servant): Factored out some common code into <_find_collocated_servant>. Tue Jul 6 12:05:46 1999 Carlos O'Ryan * examples/Simple/bank/run_test.pl: Remove the IOR file before running the server * examples/Simple/bank/Bank_Client_i.cpp: Fixed debugging messages. Tue Jul 06 11:36:37 1999 David L. Levine * orbsvcs/tests/EC_Multiple/Makefile: don't build EC_Multiple with g++ prior to 2.8, because it causes g++ 2.7.2.3 (the compiler) to core dump. Tue Jul 6 11:31:44 1999 Carlos O'Ryan * tests/MT_Client/client.cpp: Fixed warning in IRIX when compiled without debugging info. Tue Jul 6 11:01:57 1999 Ossama Othman * tao/UIOP_Connector.cpp (connect): Minor update to size of character array that is only used when ORB debugging output is enabled. Tue Jul 6 10:25:35 1999 Carlos O'Ryan * tests/Timeout/Makefile: Added -Ge 1 flag to the IDL compiler invocation Tue Jul 6 09:42:31 1999 Jeff Parsons * tao/Invocation.cpp: Cast the arguments in a call to ACE_Time_Value::set to long from CORBA::ULongLong to avert an MSVC warning. Mon Jul 5 21:20:18 1999 Carlos O'Ryan * tao/Connector_Registry.h: * tao/Connector_Registry.cpp: * tao/GIOP.h: * tao/GIOP.cpp: * tao/Wait_Strategy.h: * tao/Wait_Strategy.cpp: * tao/Invocation.h: * tao/Invocation.cpp: * tao/Pluggable.h: * tao/Pluggable.cpp: * tao/Reply_Dispatcher.cpp: * tao/Transport_Mux_Strategy.cpp: * tao/UIOP_Connector.h: * tao/UIOP_Connector.cpp: * tao/UIOP_Transport.h: * tao/UIOP_Transport.cpp: * tao/IIOP_Connector.h: * tao/IIOP_Connector.cpp: * tao/IIOP_Transport.h: * tao/IIOP_Transport.cpp: Added support for timeouts in the ORB. The Invocation classes keep track of the total time allowed for the request, this time is used to limit the duration of every expensive operation (connecting to the server, sending the request, receiving the reply, etc.). After each operation the total time is decremented, this is specially important if the operation requires transparent rebinds and forwarding. * tao/corbafwd.h: * tao/Exception.cpp: * tao/docs/Tags.html: Added new minor codes to document the timeouts. * tests/Makefile: * tests/Timeout/Makefile: * tests/Timeout/README: * tests/Timeout/client.cpp: * tests/Timeout/run_test.pl: * tests/Timeout/server.cpp: * tests/Timeout/test.idl: * tests/Timeout/test_i.cpp: * tests/Timeout/test_i.h: * tests/Timeout/test_i.i: A simple test for timeouts. * tests/Timeout/client.dsp: * tests/Timeout/server.dsp: * tests/Timeout/Timeout.dsw: * version_test.dsw: * tests/TAO_Tests.dsw: Added project files for the new Timeout test. * performance-tests/Cubit/TAO/IDL_Cubit/run_test.pl: The test for UIOP required the 'English' module. * tao/Typecode_Constants.cpp: Fixed memory leak, the CORBA::ORB::_tc_InvalidName type code was not released. Thanks to Marina for reporting this problem. Mon Jul 05 20:50:00 1999 Chris Gill * orbsvcs/Scheduling_Service/Scheduling_Service.cpp orbsvcs/orbsvcs/Sched/Reconfig_Sched_Utils_T.cpp orbsvcs/orbsvcs/Sched/Reconfig_Scheduler_T.h: added missing explicit template instantiations, fixed TAO_String_Manager warnings and incorrect type instantiation errors. Mon Jul 5 20:44:44 1999 Ossama Othman * tao/Acceptor_Registry.cpp (open, open_default): Moved loop that iterates over the protocol factories to an outer level since it only needs to be run once for each protocol. Previously it was being run for each addr within a given endpoint. The code flow now makes more sense. This fix also removes and simplifies some code in the open_default() method. Bonus! Add a test that checks if a usable protocol was found. If one wasn't found then return an error. * tao/Makefile: Updated dependencies. Mon Jul 5 19:47:04 1999 Marina Spivak * orbsvcs/orbsvcs/Naming/Bindings_Iterator_T.cpp * orbsvcs/orbsvcs/Naming/Entries.h * orbsvcs/orbsvcs/Naming/Hash_Naming_Context.cpp * orbsvcs/orbsvcs/Naming/Hash_Naming_Context.h * orbsvcs/orbsvcs/Naming/Naming_Context.cpp * orbsvcs/orbsvcs/Naming/Naming_Context.h * orbsvcs/orbsvcs/Naming/Naming_Utils.cpp * orbsvcs/orbsvcs/Naming/Naming_Utils.h * orbsvcs/orbsvcs/Naming/Persistent_Context_Index.cpp * orbsvcs/orbsvcs/Naming/Persistent_Context_Index.h * orbsvcs/orbsvcs/Naming/Persistent_Entries.cpp * orbsvcs/orbsvcs/Naming/Persistent_Entries.h * orbsvcs/orbsvcs/Naming/Persistent_Naming_Context.cpp * orbsvcs/orbsvcs/Naming/Persistent_Naming_Context.h * orbsvcs/orbsvcs/Naming/Transient_Naming_Context.cpp * orbsvcs/orbsvcs/Naming/Transient_Naming_Context.h : Fixed several memory leaks that were due to superclass destructors not being virtual. Updated the implementation to reflect several changes/clarifications from the INS specification (mostly regarding exception conditions). Added comments, cleaned up the code, etc. in the remaining files, which brings my 'review' of Naming implementation files to a close. * orbsvcs/orbsvcs/Naming/README Added a short description about the structure of implementation files. * orbsvcs/Naming_Service/Naming_Service.cpp: Destroy the POA on shutdown. * orbsvcs/Naming_Service/README Updated the file and added description of implementation-specific policies. * orbsvcs/tests/Simple_Naming/client.cpp Updated test to reflect changes in the behaviour of the Naming Service (due to clarifications in the INS spec). Mon Jul 05 17:10:00 1999 Chris Gill * orbsvcs/Scheduling_Service/Scheduling_Service.cpp orbsvcs/orbsvcs/RtecScheduler.idl orbsvcs/orbsvcs/Sched/Reconfig_Scheduler_T.{cpp, h} orbsvcs/orbsvcs/Sched/Reconfig_Sched_Utils[_T].{cpp, h}: bug fixes from testing, added missing schedule configuration code. Mon Jul 05 16:06:51 1999 Irfan Pyarali * tao/Exception.cpp (_info): Added _info() to CORBA::Exception and CORBA::SystemException. This allows the user to get the exception information as a string and does not force the user to have the print out the information. Note that _info() is a TAO specific method. Mon Jul 05 15:16:58 1999 Nanbor Wang * docs/compiler.html: Added instructions on using environment variables CPP_LOCATION and TAO_IDL_DEFAULT_CPP_FLAGS. Also reformatted the document a bit. * TAO_IDL/driver/drv_preproc.cpp (DRV_cpp_init): Allow users to customize the command line options passed to the preprocessor so it's easier to use TAO_IDL for cross compilation. Thanks to David for reporting the problem. Mon Jul 05 14:01:44 1999 Irfan Pyarali * tao/Exception.cpp (CORBA_Exception): Made the default constructor similar to the other constructors. The starts off at 0. Mon Jul 5 13:10:00 1999 Chris Gill * orbsvcs/Scheduling_Service/Scheduling_Service.cpp orbsvcs/orbsvcs/Sched/Reconfig_Scheduler_T.cpp: fixed a number of errors and warnings detected by various compilers that fully instantiate all template methods. Mon Jul 5 12:18:46 1999 Douglas C. Schmidt * Added new Borland Makefiles. Thanks to Christopher Kohlhoff for these. Mon Jul 5 11:07:04 1999 Jeff Parsons * TAO_IDL/be/be_sunsoft.cpp: Modified a check of the char value in an AST_Expression to work also with unsigned chars. which is apparently the type used by IRIX, since a warning from that platform prompted this change. Mon Jul 5 10:09:15 1999 Jeff Parsons * TAO/tests/Param_Test/objref.cpp: Moved an unreachable return statement. Sun Jul 4 22:27:42 1999 Ossama Othman * performance-tests/Cubit/TAO/IDL_Cubit/run_test.pl: Added a UIOP IDL_Cubit run. Sun Jul 04 18:57:13 1999 David L. Levine * TAO-INSTALL.html: added link to ACE-INSTALL#VxWorks/NT. Sun Jul 04 15:41:34 1999 David L. Levine * many Makefiles: call ace_components via sh, instead of directly in the make $(shell) command. This allows it to work on platforms that don't have /bin/sh, such as NT. Sun Jul 4 14:43:02 1999 Carlos O'Ryan * docs/Options.html: * docs/configurations.html: * performance-tests/Cubit/TAO/IDL_Cubit/svc.conf: * performance-tests/Cubit/TAO/IDL_Cubit/svc.conf.dynamic: * performance-tests/Cubit/TAO/IDL_Cubit/collocation/svc.conf: * performance-tests/Cubit/TAO/MT_Cubit/svc.conf: * tao/Client_Strategy_Factory.cpp: * tao/Client_Strategy_Factory.h: * tao/Stub.cpp: * tao/default_client.cpp: * tao/default_client.h: * tests/MT_Client/client.conf: Changed the name of the -ORBIIOPProfileLock option to -ORBProfileLock, leave the old option there with a warning for backwards compatibility. Sat Jul 3 19:06:06 1999 Jeff Parsons * TAO_IDL/fe/lex.yy.cpp: * TAO_IDL/fe/lex.yy.cpp.diff: Initialized some pointers at declaration to avoid Linux/egcs warnings. Sat Jul 3 18:00:42 1999 Jeff Parsons * TAO_IDL/be/be_sunsoft.cpp: Added a check in printing char literal for '. Like \, isprint() sees this as a printable character, and it is not stored in AST_Expression with its escape backslash. Thanks to Bala for pointing out this case. Sat Jul 3 17:44:34 1999 Jeff Parsons * TAO_IDL/fe/idl.ll: * TAO_IDL/fe/lex.yy.cpp: * TAO_IDL/fe/lex.yy.cpp.diff: The scan_obv_token() function was bypassing the keyword table lookup before assigning. Since 'public' and 'private' are in the keyword lookup table, they were getting mapped as identifiers without the _cxx_ prepend, since they are also OBV tokens. Sat Jul 3 16:41:52 1999 Jeff Parsons * TAO_IDL/fe/idl.ll: * TAO_IDL/fe/lex.yy.cpp: Fixed a previous change to one of the lex rules for float that wasn't quite right. Thanks to Bala for finding the case where it still didn't work. Sat Jul 03 14:40:00 1999 Chris Gill * orbsvcs/Scheduling_Service/Scheduling_Service.{cpp, dsp, h (new)}: refactored Scheduling Service to use a class for options etc., added -p option for file name in which to write service pid, added -o option for file name in which to write servant ior, added -s option to specify whether service uses config or reconfig scheduler implementation. * orbsvcs/tests/Sched_Conf/Sched_Conf_Anomalies.cpp orbsvcs/tests/Sched_Conf/Sched_Conf_Runtime.cpp: replaced TAO try macros with ACE try macros. Sat Jul 03 14:04:10 1999 David L. Levine * tao/Makefile, orbsvcs/orbsvcs/Makefile: call ace_components via sh, and use single instead of double quotes, so that it works with Cygwin on NT host. Sat Jul 3 13:05:00 1999 Douglas C. Schmidt * performance-tests/Cubit/TAO/IDL_Cubit/server.cpp (main): Removed an unreachable ACE_TRY_CHECK. * orbsvcs/orbsvcs/Concurrency/CC_Lock.cpp: Replaced the TAO_THROW macros with ACE_THROW macros. Sat Jul 03 09:30:00 1999 Chris Gill * orbsvcs/orbsvcs/Sched/Reconfig_Sched_Utils_T.h orbsvcs/orbsvcs/Sched/Reconfig_Scheduler_T.h: Added #include "ace/inc_user_config.h" prior to conditional compilation guard for old (pre 2.8) g++, in order to remove a precompiler warning by OSF1 cxx. Fri Jul 02 22:27:53 1999 Carlos O'Ryan * tao/ORB_Core.cpp: Fixed unitiliazed variable problem in TAO_ORB_Table. * version_test.dsw: Removed obsolete projects in $TAO_ROOT/tests/NestedUpcall/Reactor * orbsvcs/examples/RtEC/Simple/Simple.dsw: * orbsvcs/examples/RtEC/Simple/EC_Simple_Consumer.dsp: * orbsvcs/examples/RtEC/Simple/EC_Simple_Service.dsp: * orbsvcs/examples/RtEC/Simple/EC_Simple_Supplier.dsp: Added new project files for the simple real-time EC example. * orbsvcs/tests/Event/Basic/BCast.dsp: Removed unnecesary libraries. Fri Jul 2 21:09:15 1999 Carlos O'Ryan * tao/ORB_Core.h: * tao/ORB_Core.i: * tao/ORB_Core.cpp: We were depending on the fact that the first ORB in the ORB_Table iterator was the first ORB created, but this is not guaranteed by the underlying data structures. We keep track of the first ORB explicitly now. * orbsvcs/examples/Makefile: * orbsvcs/examples/RtEC/Makefile: * orbsvcs/examples/RtEC/Simple/Makefile: * orbsvcs/examples/RtEC/Simple/README: * orbsvcs/examples/RtEC/Simple/ec.conf: * orbsvcs/examples/RtEC/Simple/run_test.pl: * orbsvcs/examples/RtEC/Simple/Service.cpp: * orbsvcs/examples/RtEC/Simple/Supplier.h: * orbsvcs/examples/RtEC/Simple/Supplier.cpp: * orbsvcs/examples/RtEC/Simple/Consumer.h: * orbsvcs/examples/RtEC/Simple/Consumer.cpp: Added the simplest example i could think of Fri Jul 2 19:30:00 1999 Chris Gill * orbsvcs/orbsvcs/Sched/Config_Scheduler.h orbsvcs/orbsvcs/Sched/Strategy_Scheduler.{cpp, h}: Removed RMS_Dyn scheduling strategy from TAO. * orbsvcs/Scheduling_Service/Scheduling_Service.cpp orbsvcs/orbsvcs/Sched/Reconfig_Sched_Utils[_T].{cpp, h, i} orbsvcs/orbsvcs/Sched/Reconfig_Scheduler[_T].{cpp, h, i}: integrated reconfig scheduler into scheduling service, cleaned up errors: factored template code out into separate files for NT. Fri Jul 2 17:50:56 1999 Ossama Othman * tao/{IIOP,UIOP}_Profile.cpp (to_string): Removed code that adds one to length of string for the "null terminator" in calls to CORBA::string_alloc(). CORBA::string_alloc() already allocates additional space for the null terminator. * tao/Connector_Registry.{h,cpp}: Added an object_key_delimiter() method that returns the object key delimiter that the protocol in a provided URL style IOR uses. * tao/Pluggable.h: * tao/{IIOP,UIOP}_Connector.h: Made check_prefix() and object_key_delimiter() methods public. There is no need for them to be otherwise. This change was also needed so that the TAO_Connector_Registry could call them. * tao/ORB.cpp (resolve_initial_references): Generalized this method so that it is now non-protocol specific by using the newly added object_key_delimiter() method in the TAO_Connector_Registry. * tao/ORB.{h,cpp}: Moved URL style string to object conversion code into a separate routine to improve code readability. Updated some exception handling code. Various pluggable protocol related code cleanups and updates. Removed null pointer checks in *String_var destructors and assignment operators since it is safe to pass a null pointer to CORBA::string_free(). * tao/MProfile.h: Added default value of zero to TAO_MProfile (CORBA::ULong) constructor. This is just a coding style change. * tao/corbafwd.i: Added a line to force Emacs into C++ mode. Fri Jul 2 15:29:45 1999 Jeff Parsons * TAO_IDL/fe/idl.ll: * TAO_IDL/fe/lex.yy.cpp: Modified idl_escape_reader() to use the new idl_atoui() function. Changes to idl_atoi(), which was called from here formerly, were causing incorrect return values. * TAO_IDL/be/be_sunsoft.cpp: Added a check for char values < 0 before printing char literals. If one is found, it is output as a signed integer. This handles larger values of hex and octal escape sequences in a portable and overflow-safe way. Fri Jul 2 14:50:43 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp: Use close() instead of unsubscribe() to close the SOCK_Dgram_Mcast in the TAO_ECG_Mcast_EH class. Thanks to Robert V. Head for tracking down this problem and suggesting the fix. Fri Jul 2 14:14:28 1999 Ossama Othman * tao/{IIOP,UIOP}_Profile.cpp (parse_string): More exception handling fixes. * tao/IIOP_Profile.cpp: Modified code that causes g++ 2.7.x to complain. Fri Jul 2 14:03:55 1999 Carlos O'Ryan * tests/Param_Test/ub_objref_seq.cpp: Fixed typo in this file. Fri Jul 02 13:26:36 1999 Irfan Pyarali * version_test.dsw * orbsvcs/tests/tests.dsw Removed Concurrency tests (since they don't compile currently). * tests/NestedUpcall/Simple/client.cpp: Fixed exception handling typos. Fri Jul 2 12:39:42 1999 Ossama Othman * docs/Tags.html: Updated "location encoding" table with the three new minor exception codes I added. Fri Jul 2 11:53:54 1999 Ossama Othman * tao/Sequence_T.cpp: Removed some unnecessary null pointer checks that were performed before calling delete. Minor exception handling updates. Fri Jul 2 12:06:08 1999 Carlos O'Ryan * tao/ORB.h: * tao/ORB.cpp: * tao/Typecode_Constants.cpp: * tests/InterOp-Naming/INS_test_client.cpp: * tests/InterOp-Naming/run_test.pl: The CORBA::ORB::InvalidName exception was broken and crashed the application if raised. Thanks to Eugene Surovegin for pointing out this problem. Fri Jul 2 11:13:26 1999 Ossama Othman * tao/IORC.i: * tao/Sequence_T.cpp: Fixed uninitialized variable warnings. * tao/Pluggable.h (TAO_Connector): * tao/Pluggable.cpp (make_mprofile): * tao/{IIOP,UIOP}_Connector.h (TAO_{IIOP,UIOP}_Connector): * tao/{IIOP,UIOP}_Connector.cpp (make_profile): Removed the return value from make_profile(). This was a case where an error return value was "competing" with native exception handling. It makes more sense to handle the exception alone. Thanks to Carlos for talking this issue through with me. * tao/IIOP_Connector.h (TAO_IIOP_Connector): Added a default value for the CORBA_Environment argument in make_profile(). * tao/{IIOP,UIOP}_Transport.*: Comment updates and some cosmetic updates. Fri Jul 02 11:11:47 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Event/EC_Dispatching_Task.i: Fixed bug in the EC_Dispatching_Task, one of the variables was not initialized in the constructor. * orbsvcs/orbsvcs/Event/EC_Default_Factory.cpp: The options are case insensitive, but we use intercapts to make them more readable. * docs/ec_options.html: Added new document describing the EC options. Fri Jul 2 11:00:45 1999 Jeff Parsons * TAO_IDL/be/be_visitor_sequence/gen_bounded_obj_sequence_ci.cpp: * TAO_IDL/be/be_visitor_sequence/gen_bounded_str_sequence_ci.cpp: * TAO_IDL/be/be_visitor_sequence/ge_unbounded_obj_sequence_ci.cpp: Assigned pointers to 0 before plugging them into ACE_NEW (in generated code). Averted some Linux/egcs warnings. Fri Jul 2 10:52:05 1999 Nagarajan Surendran * orbsvcs/tests/AVStreams/benchmark/server.cpp: Fixed few IRIX warnings thanks to Carlos. * orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.cpp (TAO_AV_Child_Process): Moved the naming service unbind code from ~TAO_AV_Child_Process to a helper function unbind_names to avoid IRIX errors. Thanks to Carlos for helping with this. Fri Jul 2 09:49:19 1999 Jeff Parsons * TAO/performance-tests/Pluggable/PP_Test_Server.cpp: Put back an ACE_CHECK macro removed by some previous fix. * TAO/tests/Param_Test/any.cpp: * TAO/tests/Param_Test/bd_long_seq.cpp: * TAO/tests/Param_Test/bd_short_seq.cpp: * TAO/tests/Param_Test/bd_str_seq.cpp: * TAO/tests/Param_Test/bd_string.cpp: * TAO/tests/Param_Test/bd_long_seq.cpp: * TAO/tests/Param_Test/bd_struct_seq.cpp: * TAO/tests/Param_Test/complex_any.cpp: * TAO/tests/Param_Test/except.cpp: * TAO/tests/Param_Test/fixed_array.cpp: * TAO/tests/Param_Test/fixed_struct.cpp: * TAO/tests/Param_Test/nested_struct.cpp: * TAO/tests/Param_Test/objref.cpp: * TAO/tests/Param_Test/nested_struct.cpp: * TAO/tests/Param_Test/big_union.cpp: * TAO/tests/Param_Test/ub_string.cpp: * TAO/tests/Param_Test/objref_struct.cpp: * TAO/tests/Param_Test/short.cpp: * TAO/tests/Param_Test/ulonglong.cpp: * TAO/tests/Param_Test/typecode.cpp: * TAO/tests/Param_Test/ub_any_seq.cpp: * TAO/tests/Param_Test/ub_long_seq.cpp: * TAO/tests/Param_Test/ub_objref_seq.cpp: * TAO/tests/Param_Test/ub_short_seq.cpp: * TAO/tests/Param_Test/ub_str_seq.cpp: * TAO/tests/Param_Test/var_struct.cpp: * TAO/tests/Param_Test/var_array.cpp: * TAO/tests/Param_Test/recursive_struct.cpp: Removed the return statement from inside some ACE_CATCHANY blocks and also removed the ACE_NOTREACHED wrapper from the return statement following each block. This keep some compilers from getting confused, either by reaching the end of a non-vois function or having the last statement of the function unreachable. Fri Jul 2 09:25:12 1999 Jeff Parsons * tao/append.cpp: Initialized some variables that were causing Linux/egcs warnings in TAO_Marshal_Objref::append(). Thu Jul 01 22:31:06 1999 Irfan Pyarali * tao/POA: Made sure that the POA correctly deals with servants that have been deactivated but are still in the active object map since there are still some requests running on them. Also, reactivation of such servants must wait till the deactivation completes. * tests/POA/Deactivation: This program tests the reactivation of a servant that has been deactivated but not removed from the Active Object Map yet. * tests/NestedUpcall/Simple: This is a test of the nested upcall feature in TAO. The client will start off by calling the server and providing a callback object and a time-to-live number. The server will callback the client (using the callback object) and decrement the time-to-live number. The client will turn around and call the server again. The above process of calling each other will continue until the time-to-live number reaches zero. Both client and server can be run in multi-threaded mode. A multi-threaded client can be used to check the client side leader follower model, while the multi-threaded server can be used to check the integration of the leader follower model of the TP reactor and the client side leader follower model in the ORB. In addition, the server can be used with the thread-per-connection model. * tests/NestedUpcall/MT_Client_Test * tests/NestedUpcall/Triangle_Test Fixed the above two tests. The servant was been killed before the POA died, without letting the POA know that the servant has deactivated. * tests/NestedUpcall/Reactor: Removed old and complicated test. Replaced by tests/NestedUpcall/Simple. * version_test.dsw: New workspace that contains projects from: - ACE_wrappers/ace - ACE_wrappers/apps/gperf - ACE_wrappers/tests - ACE_wrappers/TAO/tao - ACE_wrappers/TAO/TAO_IDL - ACE_wrappers/TAO/orbsvcs - ACE_wrappers/TAO/orbsvcs/tests - ACE_wrappers/TAO/orbsvcs/tests/Event - ACE_wrappers/TAO/examples - ACE_wrappers/TAO/tests - ACE_wrappers/TAO/performance-tests Thu Jul 1 22:29:33 1999 Carlos O'Ryan * TAO_IDL/Makefile: * TAO_IDL/be_include/be_codegen.h: * TAO_IDL/be_include/be_visitor_decl.h: Fixed include's to compile on Unix boxes. Thu Jul 1 22:23:15 1999 Ossama Othman * tao/IIOP_Profile.h: Removed extraneous forward declaration. Thu Jul 1 19:42:26 1999 Ossama Othman * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Client.cpp (parse_args): Added check for invalid number of iterations (<=0). * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Server.cpp: Added all initializable Cubit_Server members to the Cubit_Server constructor member initializer list. This fixes a segmentation fault that occurs in the ~Cubit_Server destructor when deleting an uninitialized factory_impl_ member. * tao/Exception.cpp (_tao_print_system_exception): * tao/corbafwd.h: Added some minor codes for the CORBA::INV_OBJREF() system exception to aid in pin-pointing object reference related exceptions. * tao/Exception.h: Added some documentation that explains what each CORBA system exception implies. * tao/{IIOP,UIOP}_Profile.cpp (parse_string): * tao/{IIOP,UIOP}_Connector.cpp (make_profile): * tao/Connector_Registry.cpp (make_mprofile): * tao/Pluggable.cpp (make_mprofile): Exception handling fixes. Exception handling code was working but it was based on old code that needed updating. Corrected exceptions that get thrown. CORBA::string_to_object() is supposed to throw an INV_OBJREF system exception. The methods that were fixed all get called when CORBA::string_to_object() is called. * tao/IIOP_Profile.{h,i,cpp}: * tao/UIOP_Profile.cpp: Updated to use CORBA::String_var to fix potential exception safety problems. * tao/UIOP_Connect.cpp: Cosmetic updates. * tao/Acceptor_Registry.i: Added a comment to force C++ mode in Emacs. * tao/Makefile: Updated dependencies. * rules.tao.GNU: Enabled uninitialized variable warnings for EGCS. There no longer appears to be a need to keep this warning disabled since recent versions of EGCS appear to be better behaved. * tao/decode.cpp (decode): Fixed "uninitialized variable" warning. Thu Jul 1 21:43:29 1999 Jeff Parsons * TAO_IDL/idl.ll: * TAO_IDL/lex.yy.cpp: A couple of changes to the scanner's regular expressions - one to allow decimal point numbers without a leading integer to be assigned to float and double constants, the other to allow the escape character '\"' to appear in string literals. Thanks to Carlos for suggesting a regular expression for the latter that was very, very close. Thu Jul 1 21:37:10 1999 Jeff Parsons * TAO_IDL/be/be_visitor_array/array_ch.cpp: * TAO_IDL/be/be_visitor_array/array_ci.cpp: * TAO_IDL/be/be_visitor_array/array_cs.cpp: * TAO_IDL/be/be_visitor_array/cdr_op_ch.cpp: * TAO_IDL/be/be_visitor_array/cdr_op_ci.cpp: * TAO_IDL/be/be_visitor_field/cdr_op_ci.cpp: * TAO_IDL/be/be_visitor_union_branch/cdr_op_ci.cpp: * TAO_IDL/be/be_visitor_exception/exception_cs.cpp: * TAO_IDL/be/be_visitor_exception/exception_ctor.cpp: * TAO_IDL/be/be_visitor_exception/ctor_assign.cpp: * TAO_IDL/be/be_visitor_decl.cpp: * TAO_IDL/be_include/be_visitor_decl.h: Fixed a couple of related bugs - (1) anonymous array containing an anonymous sequence, contained in struct, union, or exception and (2) typedef'd array containing anonymous sequence. Added a helper method to be_visitor_decl, and code in the be_visitor_array files to recognize the case and call the function. Added comments in the union_branch and exception cdr_op_ci.cpp files. There was also a problem with an exception containing an array, whether typedef'd or not. The copy constructor, constructor from arg list, and assignment operator were all just assigning the arg array to the member array, which caused C++ compile errors. We now use the array's *_copy() function for this. Thu Jul 01 21:14:56 1999 Douglas C. Schmidt * TAO version 0.4 released. Thu Jul 01 18:01:13 1999 Carlos O'Ryan * orbsvcs/tests/tests.dsw: * orbsvcs/tests/Concurrency/CC_client.dsp: * orbsvcs/tests/EC_Mcast/EC_Mcast.dsp: * orbsvcs/tests/EC_Multiple/EC_Multiple.dsp: * orbsvcs/tests/EC_Throughput/ECT_Consumer.dsp: * orbsvcs/tests/EC_Throughput/ECT_Supplier.dsp: * orbsvcs/tests/EC_Throughput/ECT_Throughput.dsp: * orbsvcs/tests/Event_Latency/Event_Latency.dsp: * orbsvcs/tests/Sched_Conf/Sched_Conf.dsp: * orbsvcs/tests/Simple_Naming/client.dsp: * orbsvcs/tests/Trading/Colocated_Test.dsp: * orbsvcs/tests/Trading/Export_Test.dsp: * orbsvcs/tests/Trading/Import_Test.dsp: * orbsvcs/tests/Trading/TradingLib.dsp: Fixed several .dsp files, the Release version had several broken paths and options, obsolete or removed tests were still listed, etc. Thu Jul 1 19:46:22 1999 Carlos O'Ryan * orbsvcs/tests/AVStreams/benchmark/Makefile: Fixed order of libraries so the test would compile with static libraries. Thu Jul 1 12:37:01 1999 Carlos O'Ryan * tao/decode.cpp: Fixed interpretive demarshaling of object references inside unions, this was breaking Param_Test for big_union using DII. * tests/Multiple_Inheritance/Multiple_Inheritance_i.h: * tests/Multiple_Inheritance/server.cpp: This test crashed on Sun/CC 5.0 because there was no explicit constructor, the compiler generated constructor was broken. * orbsvcs/tests/EC_Throughput/run_test.pl: Fine tune the test timeout. * tests/Param_Test/run_test.pl: The test was falling off the end without an explicit exit status. * orbsvcs/tests/Property/run_test.pl: Remove the IOR files before waiting for it Thu Jul 01 00:45:00 1999 Chris Gill * examples/Simulator/DOVEBrowser/Makefile: changed location for idl2java from Visibroker 3.3 to 3.4. * examples/Simulator/Event_Supplier/DualEC_Sup.h examples/Simulator/Event_Supplier/Event_Sup.cpp examples/Simulator/Event_Supplier/Logging_Sup.cpp: fixed constness warnings generated by Sun C++ 5.0. * examples/Simulator/Event_Supplier/Makefile: added -I($TAO_ROOT) and -Ge 1 to TAO_IDL flags. Thu Jul 1 10:45:24 1999 Carlos O'Ryan * orbsvcs/tests/Trading/run_test.pl: The export_test must be shutdown using a signal, it does not exit on its own. * orbsvcs/orbsvcs/Trader/Trader_Interfaces.cpp: There was an error in the logic of the program, probably introduced in the hectic activity to get exceptions to work. * orbsvcs/Trading_Service/Trading_Service.cpp: The POA manager was not activated * orbsvcs/orbsvcs/Naming/Persistent_Naming_Context.cpp: Fixed some more typos that i missed last time. * examples/Event_Comm/Event_Comm_i.cpp: * examples/Quoter/Generic_Factory_i.cpp: * orbsvcs/examples/CosEC/Factory/FactoryClient.cpp: Fixed unreachable statements warnings in DU/CXX, thanks to David for reporting this problems. Thu Jul 01 00:45:00 1999 Chris Gill * examples/Simulator/DOVEMIB/AnyAnalyser.cpp examples/Simulator/DOVEMIB/DOVEMIB.{cpp, h} examples/Simulator/DOVEMIB/PrintVisitor.cpp examples/Simulator/DOVEMIB/any_test_i.cpp examples/Simulator/DOVEMIB/clnt.cpp examples/Simulator/DOVEMIB/svr.cpp examples/Simulator/Event_Supplier/DOVE_Supplier.{cpp, h} examples/Simulator/Event_Supplier/DualEC_Sup.cpp examples/Simulator/Event_Supplier/Event_Con.cpp examples/Simulator/Event_Supplier/Event_Sup.cpp examples/Simulator/Event_Supplier/Logging_Sup.cpp: Fixed exception specifications and replaced TAO try macros with ACE try macros. Thanks to Randy Heiland for reporting these problems. Wed Jun 30 21:09:34 1999 Carlos O'Ryan * orbsvcs/ImplRepo_Service/Options.cpp: * orbsvcs/ImplRepo_Service/Repository.cpp: * orbsvcs/ImplRepo_Service/Repository.h: * orbsvcs/ImplRepo_Service/tao_ir_i.cpp: Fixed #pragma based instantiations and made several minor cosmetic changes. Wed Jun 30 19:29:53 1999 Carlos O'Ryan * tests/IORManipulation/IORTest.cpp: Fixed debug message. Wed Jun 30 18:17:00 1999 Jeff Parsons * tao/DynEnum_i.cpp: Added an ACE_UNUSED_ARG macro to get_longlong(). Wed Jun 30 18:14:18 1999 Carlos O'Ryan * orbsvcs/ImplRepo_Service/Repository.cpp: Fixed template instantiations, the ACE_Equal_To template was instantiated twice, but this is not a problem with shared libraries so we didn't noticed until now. Wed Jun 30 17:39:14 1999 Nanbor Wang * orbsvcs.dsp: * orbsvcs_static.dsp: Removed the Concurrency Service from the project. * Concurrency/CC_LockSet.cpp: * Concurrency/CC_LockSetFactory.cpp: * Concurrency/Concurrency_Utils.cpp: * Concurrency/Concurrency_Utils.h: Fixed exception handling stuff. Wed Jun 30 16:44:00 1999 Chris Gill * orbsvcs/orbsvcs/RtecScheduler.idl, orbsvcs/orbsvcs/Sched/Reconfig_Scheduler.{cpp, h}: fixed throw exception discrepancies. Wed Jun 30 16:18:03 1999 Carlos O'Ryan * tao/Connector_Registry.cpp: Fixed problem when trying to connect using foreign or unknown profiles. Thanks to "alvarez" for reporting this problem. * tests/MT_Client/run_test.pl: Fixed error status, it was reporting problems when there were none. Wed Jun 30 15:46:32 1999 Ossama Othman * docs/releasenotes/index.html: Updated UIOP release notes with list of restrictions/guidelines the user should follow or be aware of when using the UIOP pluggable protocol. * tao/UIOP_Profile.{h,cpp}: Comment/documentation updates based on the release notes updates. No code changes. * tao/Pluggable.cpp (start_request, start_locate): Removed ACE_UNUSED_ARG since ACE_THROW already contains an ACE_UNUSED_ARG. This corrects an "unreachable statement" warning. Wed Jun 30 15:39:11 1999 Jeff Parsons * tao/Any.cpp; Removed ACE_NOTREACHED macros and subsituted 'return xxx' statement. Also removed return statement from catch block so as not to confuse some compilers. Wed Jun 30 15:04:26 1999 Irfan Pyarali * examples/POA/On_Demand_Loading/Servant_Manager.cpp: Removed ACE_Equal_To templates instantiation. TAO already has it. Wed Jun 30 14:39:16 1999 Carlos O'Ryan * examples/Logging/Logging_Test_i.cpp: * examples/Logging/Logging_Service_i.cpp: * examples/Event_Comm/Consumer_Handler.cpp: * examples/Event_Comm/Consumer_Input_Handler.cpp: * examples/Event_Comm/Supplier_Input_Handler.cpp: Fixed exception handling stuff, thanks to Matt for providing the fixes. Wed Jun 30 14:20:00 1999 Chris Gill * orbsvcs/orbsvcs/Sched/Reconfig_Sched_Utils.{cpp, h}, orbsvcs/orbsvcs/Sched/Reconfig_Scheduler.{cpp, h}: Added conditional macros around Reconfig Scheduler code for old g++: the templatized method parameters break that compiler hopelessly. Wed Jun 30 14:03:27 1999 Jeff Parsons * TAO/tests/DynAny_Test/driver.cpp: * TAO/tests/DynAny_Test/test_dynany.cpp: * TAO/tests/DynAny_Test/test_dynarray.cpp: * TAO/tests/DynAny_Test/test_dynenum.cpp: * TAO/tests/DynAny_Test/test_dynsequence.cpp: * TAO/tests/DynAny_Test/test_dynstruct.cpp: * TAO/tests/DynAny_Test/test_dynunion.cpp: Substituted ACE_PRINT_EXCEPTION macro where needed. * TAO/tests/Param_Test/ub_struct_seq.cpp: Subistituted a missed ACE_CHECK_RETURN macro. Wed Jun 30 13:43:46 1999 Carlos O'Ryan * examples/Quoter/Generic_Factory.cpp: * examples/Quoter/Generic_Factory_i.cpp: * examples/Quoter/Generic_Factory_i.h: More exception handling fixes Wed Jun 30 13:36:29 1999 Vishal Kachroo Fixed the exception warnings for the following: * orbsvcs/tests/Time/Client_i.cpp * TAO_ROOT/tests/InterOp-Naming/Server_i.cpp * TAO_ROOT/tests/InterOp-Naming/INS_test_server.cpp Wed Jun 30 12:03:05 1999 Carlos O'Ryan * examples/Simple/bank/Account_i.cpp: * examples/Simple/bank/AccountManager_i.cpp: Fixed more exception handling problems. Wed Jun 30 11:28:31 1999 Jeff Parsons * tao/DynArray_i.cpp: * tao/DynEnum_i.cpp: * tao/DynSequence_i.cpp: * tao/DynStruct_i.cpp: * tao/DynUnion_i.cpp: Fixed warnings related to CORBA::LongLong. Wed Jun 30 11:27:39 1999 Carlos O'Ryan * tests/NestedUpcall/MT_Client_Test/client.cpp: * tests/Multiple_Inheritance/client.cpp: * tests/Multiple_Inheritance/server.cpp: More exception handling fixes. Wed Jun 30 11:09:39 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Time/TAO_Time_Service_Clerk.cpp: * orbsvcs/orbsvcs/Time/TAO_Time_Service_Server.cpp: Fixed more exception handling problems. Wed Jun 30 10:04:05 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Sched/Reconfig_Scheduler.h: * orbsvcs/orbsvcs/Sched/Reconfig_Scheduler.cpp: * orbsvcs/orbsvcs/Trader/Offer_Database.cpp: Use ACE_THROW_SPEC and ACE_THROW instead of TAO_THROW_SPEC or TAO_THROW. * orbsvcs/orbsvcs/Naming/Persistent_Naming_Context.cpp: Fixed syntax errors. Wed Jun 30 09:40:20 1999 Chris Gill * orbsvcs/orbsvcs/Sched/Reconfig_Sched_Utils.cpp: added intermediate const cast for const void * args in qsort comparison function. This makes Sun C++ 4.2 happy. Wed Jun 30 04:04:04 1999 Nanbor Wang * TAOACE_Static.dsw: Fixed project dependencies. * TAO/tao/try_macros.h: The TAO try macros are now deprecated. * TAO/orbsvcs/LifeCycle_Service/Criteria_Evaluator.cpp: * TAO/orbsvcs/LifeCycle_Service/Criteria_Evaluator.h: * TAO/orbsvcs/LifeCycle_Service/Factory_Trader.cpp: * TAO/orbsvcs/LifeCycle_Service/LifeCycle_Service.cpp: * TAO/orbsvcs/LifeCycle_Service/LifeCycle_Service.h: * TAO/orbsvcs/LifeCycle_Service/LifeCycle_Service_i.cpp: * TAO/orbsvcs/LifeCycle_Service/LifeCycle_Service_i.h: * TAO/orbsvcs/Trading_Service/Trading_Service.cpp: * TAO/orbsvcs/Trading_Service/Trading_Service.h: * TAO/orbsvcs/tests/Trading/Offer_Exporter.cpp: * TAO/orbsvcs/tests/Trading/Offer_Exporter.h: * TAO/orbsvcs/tests/Trading/Offer_Importer.cpp: * TAO/orbsvcs/tests/Trading/Offer_Importer.h: * TAO/orbsvcs/tests/Trading/Service_Type_Exporter.cpp: * TAO/orbsvcs/tests/Trading/Service_Type_Exporter.h: * TAO/orbsvcs/tests/Trading/TT_Info.cpp: * TAO/orbsvcs/tests/Trading/TT_Info.h: * TAO/orbsvcs/tests/Trading/colocated_test.cpp: * TAO/orbsvcs/tests/Trading/export_test.cpp: * TAO/orbsvcs/tests/Trading/import_test.cpp: Fixed exception handling. * TAO/tao/CurrentS.cpp: * TAO/tao/PolicyS.cpp: Replaced TAO try macros with ACE try macros. Tue Jun 29 22:46:34 1999 Irfan Pyarali * TAOACE.dsw: Fixed inter-project dependencies. Tue Jun 29 22:34:12 1999 Ossama Othman * tao/UIOP_Profile.{h,i,cpp}: Removed rendezvous_point_ from the TAO_UIOP_Profile class. It is already stored in the profile's object_addr_ member, and name lookup overhead isn't an issue for UNIX domain rendezvous points as it is for hostname lookup in the INET domain. TAO_UIOP_Profile now warns if a provided rendezvous_point is too long, i.e. if the ACE_UNIX_Addr truncates it since it is larger than the sun_path[] array in the underlying sockaddr_un structure. Tue Jun 29 21:59:29 1999 Carlos O'Ryan * TAO/orbsvcs/Time_Service/Clerk_i.cpp: * TAO/orbsvcs/Time_Service/Server_i.cpp: * TAO/orbsvcs/Time_Service/Time_Service_Clerk.cpp: * TAO/orbsvcs/Time_Service/Time_Service_Server.cpp: Fixed more exception handling problems. Tue Jun 29 21:26:18 1999 Douglas C. Schmidt * performance-tests/Pluggable/PP_Test_Server.cpp (run): Removed an unnecessary duplicate call to ORB_Manager::run(). Thanks to Carlos for reporting this. Tue Jun 29 21:06:17 1999 Alexander Babu Arulanthu * orbsvcs/tests/Property/client.cpp: * orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp: Fixed the exception problems reported by Carlos. Thanks Carlos. Tue Jun 29 20:57:05 1999 Carlos O'Ryan * examples/Simple/chat/Broadcaster_i.cpp: * examples/Event_Comm/Event_Comm_i.cpp: * examples/Event_Comm/Notifier_Handler.cpp: * examples/Event_Comm/Notifier_Server.cpp: * examples/Event_Comm/notifier.cpp: Fixed exception handling macros Tue Jun 29 20:37:23 1999 Nanbor Wang * docs/configurations.html: Updated documentation for thread-pool concurrency policy. Thanks to Madhu Konety for motivating this. Tue Jun 28 20:19:11 1999 Darrell Brunsch * tao/ORB.cpp: Changed resolve_implrepo_service () to work correctly with the ACE CORBA macros. * examples/Quoter/Factory_Finder.cpp: * examples/Quoter/Generic_Factory.cpp: * examples/Quoter/Quoter_i.cpp: * examples/Quoter/client.cpp: * examples/Quoter/server.cpp: * examples/Simple/time/Time_Client_i.cpp: * orbsvcs/tests/ImplRepo/nestea_client_i.cpp: Fixed some bugs with using old print_exception method instead of ACE_PRINT_EXCEPTION. * orbsvcs/tests/ImplRepo/airplane_client_i.cpp: Removed the clearing of the ACE_TRY_ENV in get_planes (). * examples/Quoter/client.h: Made sure the ORB_var member variable appears before any other var's in the Quoter_Client class. * tao/TAO.dsp: * TAO_IDL/tao_idl.dsp: * tao/TAO_Static.dsp: * TAO_IDL/tao_idl_static.dsp: * orbsvcs/orbsvcs/orbsvcs.dsp: * orbsvcs/orbsvcs/orbsvcs_static.dsp: Manually cleaned up these projects and fixed them so they should work on NT Alpha again. * TAOACE.dsw: Fixed dependencies. * orbsvcs/orbsvcs/IR_Helper.cpp: * orbsvcs/orbsvcs/IR_Helper.h: Changed the constructor to take in a const char * instead of a char * so literals can be passed in without warnings. Tue Jun 29 19:48:33 1999 Carlos O'Ryan * examples/OBV/Simple_util.cpp: * examples/OBV/Typed_Events/server.cpp: * examples/Simple/Simple_util.cpp: * examples/Simple/time-date/Time_Date.cpp: * performance-tests/Cubit/TAO/MT_Cubit/Cubit_Task.cpp: * performance-tests/Cubit/TAO/MT_Cubit/Task_Client.cpp: * performance-tests/Thruput/TAO/client.cpp: * performance-tests/Thruput/TAO/server.cpp: Fixed several problems with exception handling. * orbsvcs/Makefile: * orbsvcs/orbsvcs/Makefile: * orbsvcs/tests/Makefile: Removed the Concurrency service from the library, it is not required by default now. Tue Jun 29 19:44:45 1999 Kirthika Parameswaran * examples/Simple/Simple_util.cpp: Fixed exception macros. Tue Jun 29 19:39:14 1999 Jeff Parsons * TAO/performance-tests/Cubit/TAO/DII_Cubit/client.cpp: Fixed 'ACE_TRY_ENV.print_exception...' statements. Tue Jun 29 16:49:33 1999 Irfan Pyarali * ACE_wrappers/TAO/performance-tests/Cubit/TAO/IDL_Cubit/client.dsp * ACE_wrappers/TAO/performance-tests/Cubit/TAO/IDL_Cubit/server.dsp * ACE_wrappers/TAO/performance-tests/Cubit/TAO/MT_Cubit/client.dsp * ACE_wrappers/TAO/performance-tests/Cubit/TAO/MT_Cubit/server.dsp Added user32.lib to static project settings. Thanks to Guicheney Christophe for reporting this. Tue Jun 29 17:22:20 1999 Chris Gill * orbsvcs/orbsvcs/Makefile orbsvcs/orbsvcs/Sched/Makefile.am orbsvcs/orbsvcs/Sched/Reconfig_Sched_Utils.{cpp, h}, orbsvcs/orbsvcs/Sched/Reconfig_Scheduler.{cpp, h}: Reconfig Scheduler compiles on Solaris using egcs. Tue Jun 29 13:44:41 1999 Nanbor Wang * tests/TAO_Tests.dsw: * tests/IORManipulation/IORManipulation.dsw: * tests/IORManipulation/IORTest.dsp: Added new workspace and project files. * tao/IORC.h: Added a whole bunch of TAO_Export's. Tue Jun 29 12:20:24 1999 Marina Spivak * orbsvcs/orbsvcs/Naming/Bindings_Iterator_T.cpp * orbsvcs/orbsvcs/Naming/Bindings_Iterator_T.h * orbsvcs/orbsvcs/Naming/Hash_Naming_Context.h * orbsvcs/orbsvcs/Naming/Naming_Utils.cpp * orbsvcs/orbsvcs/Naming/Naming_Utils.h * orbsvcs/orbsvcs/Naming/Persistent_Context_Index.cpp * orbsvcs/orbsvcs/Naming/Persistent_Context_Index.h * orbsvcs/orbsvcs/Naming/Persistent_Naming_Context.cpp * orbsvcs/orbsvcs/Naming/Persistent_Naming_Context.h * orbsvcs/orbsvcs/Naming/README * orbsvcs/orbsvcs/Naming/Transient_Naming_Context.cpp * orbsvcs/orbsvcs/Naming/Transient_Naming_Context.h: Factored out code for creation of a Naming Context and registration with poa into static functions in TAO_Transient_Naming_Context, and TAO_Persistent_Naming_Context. Added comments, cleaned up code, fixed a memory leak in Naming_Utils::init_new_naming, and improved handling of error conditions in a few places. Mon Jun 28 21:41:20 1999 Chris Gill * orbsvcs/orbsvcs/orbsvcs.dsp orbsvcs/orbsvcs/orbsvcs_static.dsp orbsvcs/orbsvcs/Sched/Reconfig_Sched_Utils.{cpp, h}, orbsvcs/orbsvcs/Sched/Reconfig_Scheduler.{cpp, h}: Reconfig Scheduler compiles on NT. Tue Jun 29 04:12:49 1999 Nanbor Wang * Trader/Constraint_Interpreter.cpp: * Trader/Constraint_Interpreter.h: * Trader/Constraint_Nodes.cpp: * Trader/Constraint_Visitors.cpp: * Trader/Offer_Database.h: * Trader/Offer_Iterators.cpp: * Trader/Offer_Iterators.h: * Trader/Offer_Iterators_T.cpp: * Trader/Service_Type_Repository.cpp: * Trader/Service_Type_Repository.h: * Trader/Trader.cpp: * Trader/Trader_Interfaces.cpp: * Trader/Trader_Interfaces.h: * Trader/Trader_T.cpp: * Trader/Trader_Utils.cpp: Fixed some exception macros and added some more. This is stll unfinished. Mon Jun 28 23:03:06 EDT 1999 Aniruddha Gokhale * TAO_IDL/be/be_visitor_array/cdr_op_ci.cpp (visit_predefined_type): Fixed code generation for multidimensional arrays. The fix required us to cast the flattened array to the appropriate type. Thanks to Joyce Fu for reporting the bug. Mon Jun 28 21:41:20 1999 Chris Gill * orbsvcs/Dump_Schedule/Dump_Schedule.cpp, orbsvcs/Scheduling_Service/Scheduling_Service.cpp, orbsvcs/tests/Sched_Conf/Sched_Conf.cpp: Replaced TAO TRY macros with ACE TRY macros. Mon Jun 28 19:28:17 1999 Irfan Pyarali * examples/POA/Generic_Servant/MyFooServant.cpp: Removed #define ACE_BUILD_SVC_EXPORT. I don't know what it was for. * orbsvcs/orbsvcs/Trader/Offer_Iterators.cpp * orbsvcs/orbsvcs/Trader/Offer_Iterators_T.cpp * orbsvcs/orbsvcs/Trader/Trader_Interfaces.cpp * orbsvcs/orbsvcs/Trader/Trader_T.cpp Fixed exception handling. Mon Jun 28 19:16:18 1999 Carlos O'Ryan * tests/Makefile: Added the new IORManipulation directory to the top-level Makefile. * tao/IORC.cpp: * tao/IORS.cpp: More exception handling fixes Mon Jun 28 18:35:19 1999 Jeff Parsons * tao/append.cpp: * tao/skip.cpp: Changed declaration of discrim_val in TAO_Marshal_Union to be CORBA::ULongLong instead of CORBA::Long. A CORBA::Long discriminator holder would decode incorrectly if the real disicriminator were a CORBA::ULong and perhaps crash if it were a 64-bit type. Mon Jun 28 18:24:52 1999 Douglas C. Schmidt * examples/README: Updated this to describe all the examples. Mon Jun 28 18:06:20 1999 Fred Kuhns * tao: Commited fixes for type codes in IOR exceptions IORS.cpp and IORC.cpp Mon Jun 28 18:04:54 1999 Fred Kuhns * TAO/tests/IORManipultion: Added test for IORManipultion. Mon Jun 28 17:50:19 1999 Jeff Parsons * TAO/tests/Param_Test/client.cpp: Added some ACE_CHECK_* macros. * TAO/tests/Param_Test/big_union.cpp: Added initialization code for out_ and ret_ members. Makes the DII test happier. Mon Jun 28 17:38:55 1999 Pradeep Gore * examples/Simple/chat/Broadcaster_i.h: * examples/Simple/chat/Receiver_i.h: * examples/Simple/chat/Broadcaster_i.cpp: * examples/Simple/chat/Server_i.cpp: * examples/Simple/chat/Client_i.cpp: * examples/Simple/chat/server.cpp: * examples/Simple/chat/client.cpp: replaced TAO_TRY* macros with ACE_TRY macros. replaced ACE_TRY_ENV.print_exception with ACE_PRINT_EXCEPTION Mon Jun 28 16:18:28 1999 Ossama Othman * performance-tests/Cubit/TAO/MT_Cubit/README: Documentation updates due to pluggable protocol updates in MT_Cubit. * performance-tests/Cubit/TAO/MT_Cubit/Globals.h: * performance-tests/Cubit/TAO/MT_Cubit/Globals.cpp: * performance-tests/Cubit/TAO/MT_Cubit/Task_Client.cpp: * performance-tests/Cubit/TAO/MT_Cubit/client.cpp: * performance-tests/Cubit/TAO/MT_Cubit/server.cpp: Pluggable protocol updates. MT_Cubit is now non-protocol specific. The MT_Cubit server options have been changed. Use the `-e' option, documented in MT_Cubit's README file, instead of `-h' and `-p'. The default protocol is IIOP if one isn't specified. Mon Jun 28 16:15:21 1999 Kirthika Parameswaran * examples/Callback_Quoter/Consumer_Handler.cpp * examples/Callback_Quoter/Consumer_Input_Handler.cpp * examples/Callback_Quoter/Consumer_i.cpp: Set the flag which helped in having a run_test.pl for this example. Activated the poa_manager on the consumer side as it was an callback client. Removed any obsolete print_exception calls and modified it to ACE_PRINT_EXCEPTION macro calls. The bug in Callback Quoter related to the interative option was solved thanks to inputs from Christopher Kohlhoff . * examples/Callback_Quoter/Notifier_Input_Handler.cpp * examples/Callback_Quoter/Notifier_i.cpp: * examples/Callback_Quoter/notifier.cpp: Removed any obsolete print_exception calls and modified it to ACE_PRINT_EXCEPTION macro calls. * examples/Callback_Quoter/Supplier_i.{h, cpp}: Added a file_ptr variable to handle input form a file for the non-interactive run_test.pl execution. * examples/Callback_Quoter/README: Added extra information on execution of this example. Mon Jun 28 15:44:59 1999 Douglas C. Schmidt * orbsvcs/orbsvcs/Trader: Completed a pass through the Trading Service to update its exception handling scheme to the new ACE_TRY techniques. * orbsvcs/orbsvcs/Sched/SchedEntry.cpp (operator <): Fixed a typo where "this_laxity" should have been "that_laxity". Thanks to Christopher Kohlhoff for this fix. Mon Jun 28 15:40:22 1999 Darrell Brunsch * orbsvcs/orbsvcs/IR_Helper.cpp: Fixed some bugs with using old print_exception method instead of ACE_PRINT_EXCEPTION. Mon Jun 28 12:53:24 1999 Ossama Othman * tao/Makefile: Updated the dependencies. * tao/IIOP_Connect.cpp: Removed unnecessary explicit template instantiations. * tao/IIOP_Connect.h: * tao/IIOP_Connect.cpp: * tao/UIOP_Connect.h: * tao/UIOP_Connect.cpp: Changed transport_ member from pointer member to non-pointer member. This removes the need to instantiate the transport_ member on the heap, thus avoiding any potential memory management problems. * tao/IIOP_Connect.i: * tao/UIOP_Connect.i: Moved all good inline method candidates from `.cpp' files to their corresponding inline `.i' files. Mon Jun 28 15:11:00 1999 Carlos O'Ryan * orbsvcs/tests/EC_Custom_Marshal/ECM_Consumer.cpp: Use the ACE_TRY macros to write portable code when dealing with exceptions. * performance-tests/Cubit/TAO/IDL_Cubit/server.cpp: Don't use print_exception directly, use the ACE_PRINT_EXCEPTION macro instead. Mon Jun 28 15:01:28 1999 Carlos O'Ryan * tao/GIOP.i: Use the new reset_contents() method in the InputCDR stream to avoid extra memory allocations in the critical path. Mon Jun 28 14:52:36 1999 Nanbor Wang * TAO_IDL/be/be_visitor_interface/direct_collocated_sh.cpp * TAO_IDL/be/be_visitor_interface/thru_poa_collocated_sh.cpp (visit_interface): Fixed problem with generating multiple base classes. Thanks to Carlos for helping this out. Mon Jun 28 13:39:15 1999 Alexander Babu Arulanthu * orbsvcs/tests/Property/client.cpp: Made the test more silent. Put a lot debug statements under TAO_debug_level > 4. Mon Jun 28 12:57:50 1999 Nanbor Wang * TAO_IDL/be/be_interface.cpp (compute_coll_name): Fixed ABW errors. Mon Jun 28 12:54:26 1999 Jeff Parsons * TAO_IDL/fe/idl.ll: * TAO_IDL/fe/lex.yy.cpp: Changed one line of method idl_parse_line_and_file() to call idl_atoui() instead of idl_atoi(). This fixes a line number off-by-one error in error outputs. Thanks to Hata Yoshiaki for reporting the error and supplying a fix. Mon Jun 28 12:46:57 1999 Alexander Babu Arulanthu * orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp: Fixed the exception macros problems. Thanks Carlos for reporting the errors. Mon Jun 28 12:19:21 1999 Matthew J Braun * examples/Logging/Logger_i.cpp * examples/Logging/Logging_Service.cpp: Removed some remaining TAO exceptions macros. Mon Jun 28 12:15:42 1999 Jeff Parsons * TAO/tests/Param_Test/any.cpp: * TAO/tests/Param_Test/objref.cpp: * TAO/tests/Param_Test/big_union.cpp: Moved some code I had mistakenly left outside ACE_TRY blocks. Mon Jun 28 12:05:05 1999 Carlos O'Ryan * performance-tests/Cubit/TAO/IDL_Cubit/svc.conf: Fixed configuration file, the parameters to -ORBInputCDRAllocator have changed. Mon Jun 28 11:25:47 1999 Ossama Othman * TAO_IDL/Makefile: Updated dependencies. Mon Jun 28 11:17:45 1999 Carlos O'Ryan * tao/append.cpp: Fixed bugs in interpretive marshaling of arrays, it was raising an exception even when there was no error, my bad. Mon Jun 28 11:02:52 1999 Jeff Parsons * tao/Dynenum_i.cpp: Removed some useless code from get_longlong(). Thanks to Carlos for reporting this warning. Mon Jun 28 10:41:43 1999 Jeff Parsons * tao/DynUnion_i.cpp: Added all necessary ACE_CHECK_* macros and fixed a 'code not reached' warning. Mon Jun 28 10:20:16 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Trader/Constraint_Visitors.cpp: Use ACE_TEMPLATE_METHOD_SPECIALIZATION instead of ACE_TEMPLATE_SPECIALIZATION. Mon Jun 28 05:17:01 1999 Nanbor Wang * be/be_visitor_interface/collocated_sh.cpp: * be/be_visitor_interface/collocated_ss.cpp: * be/be_visitor_operation/collocated_sh.cpp: * be/be_visitor_operation/collocated_ss.cpp: * be_include/be_visitor_interface/collocated_sh.h: * be_include/be_visitor_interface/collocated_ss.h: * be_include/be_visitor_operation/collocated_sh.h: * be_include/be_visitor_operation/collocated_ss.h: Replaced the old, conglomerated collocated stub visitors with the following specialized collocated stub visitors. After all, downsizing, i.e., breaking up large stuff and creating a bunch of small pieces, is the latest trend. * be/be_visitor_interface/direct_collocated_sh.cpp: * be/be_visitor_interface/direct_collocated_ss.cpp: * be/be_visitor_interface/thru_poa_collocated_sh.cpp: * be/be_visitor_interface/thru_poa_collocated_ss.cpp: * be/be_visitor_operation/direct_collocated_sh.cpp: * be/be_visitor_operation/direct_collocated_ss.cpp: * be/be_visitor_operation/thru_poa_collocated_sh.cpp: * be/be_visitor_operation/thru_poa_collocated_ss.cpp: * be_include/be_visitor_interface/direct_collocated_sh.h: * be_include/be_visitor_interface/direct_collocated_ss.h: * be_include/be_visitor_interface/thru_poa_collocated_sh.h: * be_include/be_visitor_interface/thru_poa_collocated_ss.h: * be_include/be_visitor_operation/direct_collocated_sh.h: * be_include/be_visitor_operation/direct_collocated_ss.h: * be_include/be_visitor_operation/thru_poa_collocated_sh.h: * be_include/be_visitor_operation/thru_poa_collocated_ss.h: Those specialized collocated stub visitors. * be/be_interface.cpp: * be/be_visitor_factory.cpp: * be/be_visitor_interface.cpp: * be/be_visitor_operation.cpp: * be/be_visitor_attribute/attribute.cpp: * be/be_visitor_interface/interface.cpp: * be/be_visitor_interface/interface_cs.cpp: * be/be_visitor_interface/interface_sh.cpp: * be/be_visitor_interface/interface_ss.cpp: * be_include/be_codegen.h: * be_include/be_interface.h: * be_include/be_visitor_interface.h: * be_include/be_visitor_operation.h: * driver/drv_args.cpp: * include/idl_global.h: * util/utl_global.cpp: TAO_IDL internal needs to know which visitor to use and when to use it. TAO_IDL now support 4 more switches, -Gp, -Gd, -Sp, -Sd which control what kind of collocated stubs the generated code uses. Maybe these flags should somehow merge together. Otherwise, we'll exhaust the available letter (for -G and -S) very soon. Sun Jun 27 20:29:38 1999 Douglas C. Schmidt * tao/POA_CORBA.h (POA_CORBA): Added a no-op constructor for the _tao_collocated_Current class to work around a bug with IBM's VisualAge C++ compiler. * tao/encode.cpp (encode): Borland's C++ Builder 4.0 doesn't seem to align caught exceptions along the correct boundaries! Therefore we will assume that the data pointer passed in is already correctly aligned and we will calculate member alignments relative to this pointer. Thanks to Christopher Kohlhoff for this fix. * orbsvcs/orbsvcs/Trader/Constraint_Nodes.cpp: Removed the hacked up coding for MAX_SIGNED_INTEGER, MAX_UNSIGNED_INTEGER, and MIN_SIGNED_INTEGER and replaced them with the corresponding #defines from $ACE_ROOT/Basic_Types.h. * tao/orbconf.h: By default generate a no-op macro for TAO_EXPORT_NESTED_MACRO. This can be overridden if ACE_EXPORT_NESTED_CLASSES is enabled in the $ACE_ROOT/ace/config.h file. * orbsvcs/orbsvcs/Trader/Constraint_Visitors.cpp, tao/Sequence.i: Updated all ACE_TEMPLATE_SPECIALIZATION macros that are used for *methods* to be ACE_TEMPLATE_METHOD_SPECIALIZATION to make certain compilers like SunC++ 5.0 happy. * orbsvcs/orbsvcs/Sched/SchedEntry.cpp: Reformatted a lot of this file so it'll conform to the ACE+TAO programming guidelines. * tao/Object_Adapter.cpp: Cleanedup the programming style to make it conform to ACE. * orbsvcs/orbsvcs/Trader/Offer_Iterators.cpp (next_n): Fixed an error by returning 0 if we get an exception. Thanks to David Levine for reporting this. Sun Jun 27 21:33:00 1999 Chris Gill * orbsvcs/orbsvcs/RtecScheduler.idl, orbsvcs/orbsvcs/Sched/Reconfig_Sched_Utils.{cpp, h}, orbsvcs/orbsvcs/Sched/Reconfig_Scheduler.{cpp, h}: Added use of dependency graph visitors for topological ordering, cycle checking, and graph reset during schedule computation. Sun Jun 27 20:02:20 1999 Carlos O'Ryan * tao/DynArray_i.cpp: * tao/DynEnum_i.cpp: * tao/DynSequence_i.cpp: * tao/DynStruct_i.cpp: Fixed minor syntax errors and typos in these files. * tao/IIOP_Connect.cpp: * tao/UIOP_Connect.cpp: Do not return 1 from a handle_input() call * tao/default_resource.cpp: Cleanup ACE_LOG_MSG->errnum() before creating Reactor. * tests/Makefile: * tests/Faults/Makefile: * tests/Faults/README: * tests/Faults/client.cpp: * tests/Faults/run_test.pl: * tests/Faults/server.cpp: * tests/Faults/test.idl: * tests/Faults/test_i.cpp: * tests/Faults/test_i.h: * tests/Faults/test_i.i: Added a new test to check that the ORB can handle a crash on the server and/or the client; it doesn't cover all the possible cases, but at least it is a start. * orbsvcs/orbsvcs/Event/RT_Task.cpp: Fixed misuse of ACE_TRY_ENV, thanks to Doug and David for pointing it out. * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp: Fixed type mismatch, it wasn't obvious except on NT, thanks to Marina for reporting this one. Sun Jun 27 18:30:31 1999 Jeff Parsons * tao/DynArray_i.cpp: * tao/DynEnum_i.cpp: * tao/DynSequence_i.cpp: * tao/DynStruct_i.cpp: Added all the necessary ACE_CHECK stuff. DynUnion_i.cpp is left to do. * TAO/tests/Param_Test/any.cpp: * TAO/tests/Param_Test/bd_long_seq.cpp: * TAO/tests/Param_Test/bd_short_seq.cpp: * TAO/tests/Param_Test/bd_str_seq.cpp: * TAO/tests/Param_Test/bd_string.cpp: * TAO/tests/Param_Test/bd_long_seq.cpp: * TAO/tests/Param_Test/bd_struct_seq.cpp: * TAO/tests/Param_Test/complex_any.cpp: * TAO/tests/Param_Test/except.cpp: * TAO/tests/Param_Test/fixed_array.cpp: * TAO/tests/Param_Test/fixed_struct.cpp: * TAO/tests/Param_Test/nested_struct.cpp: * TAO/tests/Param_Test/objref.cpp: * TAO/tests/Param_Test/nested_struct.cpp: * TAO/tests/Param_Test/big_union.cpp: * TAO/tests/Param_Test/ub_string.cpp: * TAO/tests/Param_Test/objref_struct.cpp: * TAO/tests/Param_Test/short.cpp: * TAO/tests/Param_Test/ulonglong.cpp: * TAO/tests/Param_Test/typecode.cpp: * TAO/tests/Param_Test/ub_any_seq.cpp: * TAO/tests/Param_Test/ub_long_seq.cpp: * TAO/tests/Param_Test/ub_objref_seq.cpp: * TAO/tests/Param_Test/ub_short_seq.cpp: * TAO/tests/Param_Test/ub_str_seq.cpp: * TAO/tests/Param_Test/var_struct.cpp: * TAO/tests/Param_Test/var_array.cpp: * TAO/tests/Param_Test/recursive_struct.cpp: * TAO/performance-tests/Pluggable/server.cpp: * TAO/performance-tests/Pluggable/PP_Test_Client.cpp: * tao/Any.cpp: Changed ACE_NOTREACHED (return foo); to ACE_NOTREACHED (return foo;) Sun Jun 27 17:10:05 1999 Nanbor Wang * tests/TAO-Tests.dsw: * tests/Faults/Faults.dsw: * tests/Faults/client.dsp: * tests/Faults/server.dsp: Added new workspace/projects and updated test workspace. Sun Jun 27 17:15:45 1999 Nagarajan Surendran * orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.cpp: Replaced ACE_TRY_ENV.print_exceptions with ACE_PRINT_EXCEPTION. Thanks to Carlos for reporting these. Sun Jun 27 17:18:29 EDT 1999 Aniruddha Gokhale * TAO_IDL/be/be_type.cpp (gen_nested_typename): Fixed a bug where we were generating incorrect relative path in a specific scenario where the "use" scope of a type shares only a few ancestors of the scope in which the type is defined. Our code would work only when either of the "use" scope or the "defined" scope was a subset of the other. Thanks to Brian Peterson for sending the bug report and fixes. We have used a slightly different solution than his suggested fixes. Sun Jun 27 09:17:11 1999 David L. Levine * tao/DynAny_i.cpp: added ACE_Auto_Basic_Ptr explicit template instantiations. Thanks to Alex for reporting that they're necessary without __ACE_INLINE__. Sat Jun 26 19:47:00 1999 Chris Gill * orbsvcs/orbsvcs/Runtime_Scheduler.cpp: changed TAO try macros to ACE try macros. Sat Jun 26 18:38:26 1999 Ossama Othman * tao/{IIOP,UIOP}_Connect.cpp: Clarified connection handler output. * tao/UIOP_Connect.cpp (enum): Fixed duplicate starting enumeration value (for use with timeprobes). * tao/UIOP_Connect.cpp (open): Fixed incorrect array size used when making call to addr_to_string(). * tao/UIOP_Transport.h: Comment updates. Sat Jun 26 16:24:39 1999 Marina Spivak * orbsvcs/orbsvcs/orbsvcs.dsp * orbsvcs/orbsvcs/orbsvcs_static.dsp Updated to reflect Changes in orbsvcs/orbsvcs/Naming. Sat Jun 26 15:13:59 1999 Ossama Othman * tao/Makefile.am: Synchronized with latest version of TAO. * tao/Pluggable.cpp (start_locate, start_request): Fixed unused argument warnings when native exception handling is enabled. * tao/Pluggable.h (TAO_Transport): Exception handling update. Sat Jun 26 14:23:25 1999 Marina Spivak * orbsvcs/tests/Simple_Naming/client.cpp Clean up of the remaining old exception code. * TAO/docs/releasenotes/index.html Updated the Naming Service section. * orbsvcs/orbsvcs/Naming/Shared_Hash_Map_T.{h, cpp} Removed these files. (They were modified and moved up into the ACE_wrappers/ace dicrectory. See ACE ChangeLog for more info: tag Sat Jun 26 14:41:31 1999 Marina Spivak). * orbsvcs/orbsvcs/Makefile * orbsvcs/orbsvcs/Naming/Persistent_Naming_Context.{h, cpp} * orbsvcs/orbsvcs/Naming/Naming_Context_Index.{h, cpp} * orbsvcs/orbsvcs/Naming/Persistent_Entries.{h, cpp} Updated the files to reflect the removal of Shared_Hash_Map_T.{h,cpp} from this directory. Sat Jun 26 13:10:37 1999 Douglas C. Schmidt * examples/POA/Default_Servant/File_i.h: Fixed the exception spec for destroy. Thanks to David for reporting this. * orbsvcs/orbsvcs/Trader: Removed all vestiges of the Locking.h file, which has been subsumed into other parts of ACE+TAO. * orbsvcs/orbsvcs/Trader/Service_Type_Repository.cpp, orbsvcs/orbsvcs/Trader/Constraint_Visitors, orbsvcs/orbsvcs/Trader/Offer_Iterators.cpp, orbsvcs/orbsvcs/Trader/Constraint_Nodes.cpp, orbsvcs/orbsvcs/Trader/Constraint_Interpreter.cpp: Fixed exception handling to be compliant with the ACE macros. Sat Jun 26 12:45:26 1999 Jody Hagins This is a change log for the modifications made to support Borland C++Builder 4.0, Patch 1. Thanks to Christopher Kohlhoff and Chris Uzdavinis for helping with this. * TAO/TAO_IDL/be/be_args.cpp: Added new back end (-Wb) option 'pch_include' which allows you to specify a common include to be added at the top of all idl generated files. This can be used with a precompiled header mechanism (such as that provided by C++Builder or MSVC++). It takes a *very* long time to compile GUI programs without this. * TAO/TAO_IDL/be/be_codegen.cpp: Added support for TAO_EXPORT_NESTED_CLASSES macro. * Added support for new back end (-Wb) option 'pch_include'. * TAO/TAO_IDL/be/be_helper.cpp: Target of sprintf function should not also be used as an insertion argument. * TAO/TAO_IDL/be/be_visitor_sequence/gen_unbounded_sequence_ch.cpp: Added support for TAO_EXPORT_NESTED_CLASSES macro. * TAO/TAO_IDL/driver/drv_preproc.cpp: Added command line options for use with Borland C++Builder preprocessor. * TAO/TAO_IDL/include/idl_global.h: Added support for new back end (-Wb) option 'pch_include'. * TAO/TAO_IDL/util/utl_global.h: Added support for new back end (-Wb) option 'pch_include'. * TAO/examples/Callback_Quoter/Consumer_Handler.cpp: Member variable use_naming_service_ was not initialised. * TAO/examples/Callback_Quoter/Supplier_i.cpp: Member variable f_ptr_ was not initialised. Cmd line option string was missing ':' required for parameter to 'f'. * TAO/orbsvcs/orbsvcs/Sched/SchedEntry.cpp: Workaround for BCB4 internal compiler error * TAO/orbsvcs/orbsvcs/Trader/Constraint_Visitors.h: Need ACE_TEMPLATE_SPECIALIZE on specializations. * TAO/tao/Active_Object_Map.cpp: BCB4 doesn't accept constructor syntax for static member variables. * TAO/tao/Object_Adapter.cpp: BCB4 doesn't accept constructor syntax for static member variables. * TAO/tao/Sequence.i Need ACE_TEMPLATE_METHOD_SPECIALIZE on specializations. * TAO/tao/orbconf.h: Added TAO_EXPORT_NESTED_CLASSES macro to allow nested classes to be exported (see also change in ace/config-win32-borland.h). Borland C++Builder (unlike MSVC++) does not automatically export nested classes when the outer class is exported. Sat Jun 26 13:20:57 1999 Nagarajan Surendran * orbsvcs/orbsvcs/AV/sfp.cpp : Replaced ACE_TRY_ENV.print_exceptions with ACE_PRINT_EXCEPTION. Thanks to Doug Schmidt for reporting these errors. Sat Jun 26 11:58:01 1999 Ossama Othman * tao/{IIOP,UIOP}_Connect.cpp: Fixed incorrect enumeration used in ACE timeprobe macro. Sat Jun 26 11:55:46 1999 Ossama Othman * tao/UIOP_Transport.cpp: Fixed duplicate enum starting value for UIOP time probes. * tao/{IIOP,UIOP}_Transport.cpp: Spelling correction in time probe character string array. Sat Jun 26 12:43:26 1999 Aniruddha Gokhale * tao/DynAny_i.cpp: Fixed the following compile errors. copy: Used ACE_CHECK_RETURN instead of ACE_CHECK because the operation required a return value. get_any: Return value expected is an Any_ptr and not DynAny_ptr. Sat Jun 26 09:35:11 1999 David L. Levine * tao/Makefile: on LynxOS/ppc only, for POA.cpp only, with optimization only, replaced -O2 with -O to avoid internal compiler error. Sat Jun 26 08:58:31 1999 David L. Levine * tao/Sequence_T.{i,cpp}: replaced a bunch of CORBA::ULong template parameters with size_t. Fri Jun 25 21:53:10 1999 Jeff Parsons * TAO/performance-tests/Pluggable/server.cpp: * TAO/performance-tests/Pluggable/PP_Test_Client.cpp: Changed ACE_CHECK_RETURN to ACE_NOTREACHED when it comes after ACE_ENDTRY in a non-void function. Fri Jun 25 21:27:45 1999 Jeff Parsons * tao/DynAny_i.cpp: Made full use of exception macros everywhere ACE_TRY_ENV was used, made other enhancements and cosmetic changes. Fri Jun 25 20:59:08 1999 Jeff Parsons * TAO/tests/Param_Test/any.cpp: * TAO/tests/Param_Test/bd_long_seq.cpp: * TAO/tests/Param_Test/bd_short_seq.cpp: * TAO/tests/Param_Test/bd_str_seq.cpp: * TAO/tests/Param_Test/bd_string.cpp: * TAO/tests/Param_Test/bd_long_seq.cpp: * TAO/tests/Param_Test/bd_struct_seq.cpp: * TAO/tests/Param_Test/complex_any.cpp: * TAO/tests/Param_Test/except.cpp: * TAO/tests/Param_Test/fixed_array.cpp: * TAO/tests/Param_Test/fixed_struct.cpp: * TAO/tests/Param_Test/nested_struct.cpp: * TAO/tests/Param_Test/objref.cpp: * TAO/tests/Param_Test/nested_struct.cpp: * TAO/tests/Param_Test/big_union.cpp: * TAO/tests/Param_Test/ub_string.cpp: * TAO/tests/Param_Test/objref_struct.cpp: * TAO/tests/Param_Test/short.cpp: * TAO/tests/Param_Test/ulonglong.cpp: * TAO/tests/Param_Test/typecode.cpp: * TAO/tests/Param_Test/ub_any_seq.cpp: * TAO/tests/Param_Test/ub_long_seq.cpp: * TAO/tests/Param_Test/ub_objref_seq.cpp: * TAO/tests/Param_Test/ub_short_seq.cpp: * TAO/tests/Param_Test/ub_str_seq.cpp: * TAO/tests/Param_Test/var_struct.cpp: * TAO/tests/Param_Test/var_array.cpp: * TAO/tests/Param_Test/recursive_struct.cpp: Changed ACE_CHECK_RETURN to ACE_NOTREACHED when it comes after ACE_ENDTRY in a non-void function. We'll see if this make everybody happy. Fri Jun 25 20:31:05 1999 Jeff Parsons * tao/Any.cpp: Added some ACE_NOTREACHED macros. These were in response to some warnings about ACE_CHECK_RETURN (...) after ACE_ENDTRY in non-void functions. We'll see if this make all the compilers happy. Fri Jun 25 18:09:07 1999 Jeff Parsons * TAO/tests/Param_Test/any.cpp: * TAO/tests/Param_Test/bd_long_seq.cpp: * TAO/tests/Param_Test/bd_short_seq.cpp: * TAO/tests/Param_Test/bd_str_seq.cpp: * TAO/tests/Param_Test/bd_string.cpp: * TAO/tests/Param_Test/bd_long_seq.cpp: * TAO/tests/Param_Test/bd_struct_seq.cpp: * TAO/tests/Param_Test/complex_any.cpp: * TAO/tests/Param_Test/except.cpp: * TAO/tests/Param_Test/fixed_array.cpp: * TAO/tests/Param_Test/fixed_struct.cpp: * TAO/tests/Param_Test/nested_struct.cpp: * TAO/tests/Param_Test/objref.cpp: * TAO/tests?Param_Test/ub_struct_seq.cpp: Added ACE_TRY block to add_args(). This was not causing a warning, but there were many unchecked calls using ACE_TRY_ENV. Fri Jun 25 17:28:58 1999 Nanbor Wang * tao/default_resource.cpp (get_reactor): Made sure the reactor get cleaned up if any error occured (ACE_LOG_MSG->errnum () != 0) during initialization. * tao/ORB_Core.cpp (init): Return -1 if we failed to initialize the reactor. Thanks to Irfan for helping this out and Oleg Orlov for reporting the problem. Fri Jun 25 16:30:41 1999 Douglas C. Schmidt * examples/POA/DSI/Database_i.cpp (find_entry): Fixed a mistaken exception -- it should be Not_Found rather than Unknown_Key. Thanks to Steve Huston for reporting this. Also tidied up the code and added proper exception checking for memory allocation failures. * tao/Sequence_T: Removed all uses of CORBA::ULong as parameters to a template and replaced them with size_t since this is breaking the AIX C++ compiler. Thanks to Steve Huston for reporting this. Fri Jun 25 17:01:23 1999 Carlos O'Ryan * tests/NestedUpcall/Triangle_Test/initiator.cpp: Fixed silly typos in my last commit. Fri Jun 25 16:43:47 1999 Irfan Pyarali * tests/NestedUpcall/Reactor/NestedUpCalls_i.h: Removed old file. * examples/POA/DSI/Database_i.cpp (find_entry): * examples/POA/Default_Servant/File_i.cpp (destroy): Fixed the throwing of an exception that is not in the throw spec. Fri Jun 25 13:37:47 1999 Balachandran Natarajan * orbsvcs/tests/AVStreams/benchmark/client.cpp: * orbsvcs/tests/AVStreams/benchmark/server.cpp: Changed TAO_TRY macros to ACE_TRY macros Fri Jun 25 16:03:32 1999 Jeff Parsons * TAO/performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Client.cpp: * TAO/performance-tests/Pluggable/PP_Test_Client.h: * TAO/performance-tests/Pluggable/PP_Test_Client.cpp: * TAO/performance-tests/Pluggable/server.cpp: * TAO/tests/DynAny_Test/data.cpp: * TAO/tests/Param_Test/nested_struct.cpp: * TAO/tests/Param_Test/big_union.cpp: * TAO/tests/Param_Test/objref.cpp: * TAO/tests/Param_Test/ub_string.cpp: * TAO/tests/Param_Test/objref_struct.cpp: * TAO/tests/Param_Test/short.cpp: * TAO/tests/Param_Test/ulonglong.cpp: * TAO/tests/Param_Test/typecode.cpp: * TAO/tests/Param_Test/ub_any_seq.cpp: * TAO/tests/Param_Test/ub_long_seq.cpp: * TAO/tests/Param_Test/ub_objref_seq.cpp: * TAO/tests/Param_Test/ub_short_seq.cpp: * TAO/tests/Param_Test/ub_str_seq.cpp: * TAO/tests/Param_Test/fixed_array.cpp: * TAO/tests/Param_Test/fixed_struct.cpp: * TAO/tests/Param_Test/var_struct.cpp: * TAO/tests/Param_Test/var_array.cpp: * TAO/tests/Param_Test/recursive_struct.cpp: * TAO/tests/Param_Test/bd_long_seq.cpp: * TAO/tests/Param_Test/bd_short_seq.cpp: * TAO/tests/Param_Test/bd_str_seq.cpp: * TAO/tests/Param_Test/bd_string.cpp: * TAO/tests/Param_Test/bd_struct_seq.cpp: * TAO/tests/Param_Test/ub_struct_seq.cpp: Fixed exception warnings, ACE_TRY macro stuff and made some cosmetic changes. Fri Jun 25 13:37:47 1999 Balachandran Natarajan * tao/Environment.h: * tao/Environment.i: Added two methods _duplicate () and _nil () to the class Environment so that they will conformant with v2.2. Fri Jun 25 14:28:59 1999 Carlos O'Ryan * tao/CurrentC.cpp: Simplified exit path to avoid warnings about unreachable code and/or exit without return. * tao/append.cpp: Added .in() calls for some T_var objects. * tao/skip.cpp: Added .in() calls for some T_var objects. My last change broken the default case for unions. Fri Jun 25 13:37:47 1999 Balachandran Natarajan * tao/Exception.cpp : * tao/Exception.h :Added default constructors for CORBA_UserException & CORBA_SystemException. These have been implemented as no-op's. In v2.3 of the CORBA spec, these two classes are going to be abstract data types. But for the present we want to keep vsOrb happy about these classes. Fri Jun 25 14:19:48 1999 Nagarajan Surendran * orbsvcs/tests/AVStreams/benchmark/client.cpp: * orbsvcs/tests/AVStreams/sfp/server.cpp (main): * orbsvcs/tests/AVStreams/sfp/client.cpp (main): * orbsvcs/tests/AVStreams/sfp/common.h: * orbsvcs/orbsvcs/AV/Endpoint_Strategy.cpp (create_B): * orbsvcs/orbsvcs/AV/AVStreams_i.cpp (remove_fep): Fixed SunCC 5.0 warnings thanks to Carlos O' Ryan. Fri Jun 25 14:06:54 1999 Carlos O'Ryan * orbsvcs/Event_Service/Event_Service.cpp: * orbsvcs/orbsvcs/Makefile: * orbsvcs/orbsvcs/Event/Dispatching_Modules.cpp: * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp: * orbsvcs/orbsvcs/Event/Event_Channel.cpp: * orbsvcs/orbsvcs/Event/Event_Channel.i: * orbsvcs/orbsvcs/Event/RT_Task.cpp: * orbsvcs/orbsvcs/Event/ReactorTask.cpp: * orbsvcs/tests/EC_Basic/EC_Basic.cpp: * orbsvcs/tests/EC_Custom_Marshal/ECM_Supplier.cpp: * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: * orbsvcs/tests/EC_Throughput/ECT_Consumer.cpp: * orbsvcs/tests/EC_Throughput/ECT_Consumer_Driver.cpp: * orbsvcs/tests/EC_Throughput/ECT_Supplier.cpp: * orbsvcs/tests/EC_Throughput/ECT_Supplier_Driver.cpp: * orbsvcs/tests/EC_Throughput/ECT_Throughput.cpp: * orbsvcs/tests/Event/Basic/Reconnect.cpp: * orbsvcs/tests/Event_Latency/Event_Latency.cpp: * tests/CDR/basic_types.cpp: * tests/CDR/tc.cpp: * tests/NestedUpcall/MT_Client_Test/client.cpp: * tests/NestedUpcall/MT_Client_Test/local_server.cpp: * tests/NestedUpcall/MT_Client_Test/server.cpp: * tests/NestedUpcall/Reactor/reactor_i.cpp: * tests/NestedUpcall/Triangle_Test/Initiator_i.cpp: * tests/NestedUpcall/Triangle_Test/Object_A_i.cpp: * tests/NestedUpcall/Triangle_Test/Object_B_i.cpp: * tests/NestedUpcall/Triangle_Test/initiator.cpp: * tests/NestedUpcall/Triangle_Test/server_A.cpp: * tests/NestedUpcall/Triangle_Test/server_B.cpp: * utils/catior/catior.cpp: More exception handling fixes, changed these files to use the new exception handling macros. Fri Jun 25 13:53:23 1999 Matthew J Braun * examples/Logging/Makefile Oy. Added " -Ge 1" flag to guarantee that the IDL generated skeletons are the same regardless of platform (DU wasn't happy). Thanks to Mad Dog Carlos! Fri Jun 25 13:37:47 1999 Balachandran Natarajan * tao/Context.i: * tao/Context.cpp: * tao/Context.h: * tao/Exception.i: * tao/Exception.h: * tao/Exception.cpp: Added _duplicate () methods to pseudo objects ContextList & ExceptionList with the signature 'static T *_duplicate (T *) ' to make them compliant with the 2.2 spec. This was found when we were trying to run the 'api' module of the vsOrb test suite. Fri Jun 25 12:38:43 1999 Matthew J Braun * examples/Logging/Logger_i.cpp,h Added default argument values for ACE_TRY_ENV to reflect tao_idl generated code. Also removed a vestigal method (verbosity ()) which was never declared in IDL (since its name would have clashed with the other verbosity method). Hopefully DU will be pleased now, since this messed up its compile. Fri Jun 25 11:45:18 1999 Irfan Pyarali * examples/POA/Loader/Servant_Locator.cpp (ServantLocator_i): Fixed function pointer casting problem. * examples/POA/DSI/server.cpp * examples/POA/Default_Servant/server.cpp * examples/POA/Loader/Server_Manager.cpp * examples/POA/NewPOA/NewPOA.cpp * examples/POA/On_Demand_Activation/server.cpp * examples/POA/On_Demand_Loading/Server_Manager.cpp Fixed simple exception handling related problems. Fri Jun 25 10:01:20 1999 Jeff Parsons * tao/Any.cpp: Added an ACE_CHECK to the type() set method. Also fixed some DU warnings. * tao/CurrentC.cpp: * tao/DynAny_i.cpp: * tao/DynSequence_i.cpp: * tao/DynStruct_i.cpp: Fixed some DU warnings. * tao/DynAnyS.cpp: Fixed ACE_CHECK related stuff. Fri Jun 25 07:31:33 1999 David L. Levine * orbsvcs/tests/AVStreams/benchmark/Makefile: added -I$(TAO_ROOT)/orbsvcs/orbsvcs/AV, so that DU cxx 6.2 can find Endpoint_Strategy_T.cpp for template instantiation. Thu Jun 24 21:51:10 1999 Marina Spivak * orbsvcs/tests/Simple_Naming/client.{h,cpp} * orbsvcs/tests/Simple_Naming/README Added persistent naming test. Cleaned up the perl script and added the persistent test to it. Updated README and added examples for how to run the tests. * orbsvc/orbsvcs/Naming/Persistent_Naming_Context.{h,cpp} * orbsvc/orbsvcs/Naming/Hash_Naming_Context.{h,cpp} * orbsvc/orbsvcs/Naming/Transient_Naming_Context.cpp * orbsvc/orbsvcs/Naming/Persistent_Context_Index.{h,cpp} * orbsvc/orbsvcs/Naming/Naming_Utils.cpp * orbsvc/orbsvcs/Naming/Binding_Iterators.{h,cpp} Updated the code so after method is invoked on a Naming Context, all of its BindingIterators become invalid. When is invoked on a Naming Context, the context deregisters from POA, but is not deleted until all of its iterators are destroyed. This is implemented through the reference counting on Naming Contexts. Iterators are destroyed in the "lazy evaluation" fashion. When a user invokes an operation on an iterator, that iterator check its own validity, and, if appropriate, self-destroys. This appoach is harder on resources, but is a lot easier and cleaner to implement than explicitely keeping track of collections. Plus this use-case is not on the critical path. Thu Jun 24 22:13:42 1999 Irfan Pyarali * tao/CurrentC.cpp: * tao/CurrentS.cpp: * tao/PolicyS.cpp: Changed "IDL:CORBA" to "IDL:omg.org/CORBA". However, the typecodes in Typecode_Constants.cpp still need to be fixed by regenerating them through the IDL compiler. Thu Jun 24 22:22:27 1999 Carlos O'Ryan * orbsvcs/tests/Trading/run_test.pl: New script to run the trading service test. Thu Jun 24 22:18:52 1999 Doug Anderson * TAO/tao/orbconf.h,TAO/tao/DynAnyC.{h,cpp}: updates for Cray UNICOS port. Thu Jun 24 21:43:59 1999 Irfan Pyarali * tao/POAC.cpp (_narrow): Fixed use of try macros. * tao/ORB.cpp: Even though MSVC has support for standard C++ library, the set_unexpected() function is not in the std namespace. Thu Jun 24 17:48:13 1999 Balachandran Natarajan * orbsvcs/ImplRepo_Service/Repository.cpp: Added an explicit template instantiation parameter for ACE_Equal_To<>. Thu Jun 24 21:30:21 1999 Carlos O'Ryan * tao/Any.cpp: * tao/Context.cpp: * tao/CurrentC.cpp: * tao/CurrentS.cpp: * tao/Exception.cpp: * tao/GIOP_Server_Request.cpp: * tao/Invocation.cpp: * tao/NVList.cpp: * tao/ORB.cpp: * tao/PolicyS.cpp: More exception handling changes and some cosmetic changes. Thu Jun 24 21:03:40 1999 Nanbor Wang * tao/try_macros.h: Guarded the definition of all TAO try macros with TAO_USES_DEPRECATED_TAO_TRY_MACROS. This is now defined in the file. After we depricate the use of TAO try macros, one will need to define TAO_USES_DEPRECATED_TAO_TRY_MACROS explicitly in order to compile their code. * Exception.cpp: * Forwarding_Servant.cpp: * GIOP_Server_Request.cpp: * Invocation.cpp: * NVList.cpp: * ORB.cpp: * POAC.cpp: * Request.cpp: * Stub.cpp: * TAO.cpp: Fixed the use of TAO_IN_ENV, and native exception support. Thu Jun 24 20:02:24 1999 Carlos O'Ryan * TAO_IDL/be/be_visitor_operation/operation_cs.cpp: * TAO_IDL/be/be_visitor_interface/interface_cs.cpp: * TAO_IDL/be/be_visitor_operation/ami_cs.cpp: * TAO_IDL/be/be_visitor_operation/operation_ami_cs.cpp: The IDL compiler was not generating exception safe code in a couple of places. * tao/poa_macros.h: * tao/Object_Adapter.i: * tao/POA.cpp: * tao/POA.i: * tao/POAManager.i: The POA was implicitly using the obsolete TAO_TRY macros through its TAO_POA_GUARD_* stuff, updated to use ACE_GUARD_* and friends. * tao/DomainC.cpp: * tao/IORC.cpp: * tao/MessagingC.cpp: * tao/PolicyC.cpp: * tao/PollableC.cpp: More exception handling fixes. Thu Jun 24 17:48:13 1999 Balachandran Natarajan * docs/releasenotes/TODO.html (pseudo-object): Added a todo item Thu Jun 24 19:41:35 1999 Carlos O'Ryan * tao/Any.cpp: * tao/CDR_Interpreter.cpp: * tao/CurrentC.cpp: * tao/CurrentS.cpp: * tao/DynAny_i.cpp: * tao/DynArray_i.cpp: * tao/DynEnum_i.cpp: * tao/DynSequence_i.cpp: * tao/DynStruct_i.cpp: * tao/DynUnion_i.cpp: * tao/append.cpp: * tao/deep_free.cpp: * tao/encode.cpp: * tao/skip.cpp: Another pass fixing exception handling problems Thu Jun 24 18:27:22 1999 Jeff Parsons * tao/Any.h: * tao/Any.i: * tao/Any.cpp: * tao/CDR_Interpreter.h: * tao/CDR_Interpreter.cpp: * tao/DynAny_i.h: * tao/DynAny_i.cpp: * tao/DynArray_i.h: * tao/DynArray_i.cpp: * tao/DynSequence_i.h: * tao/DynSequence_i.cpp: * tao/DynEnum_i.h: * tao/DynEnum_i.cpp: * tao/DynStruct_i.h: * tao/DynStruct_i.cpp: * tao/DynUnion_i.h: * tao/DynUnion_i.cpp: Fixed much of the ACE_TRY stuff. There are still some ACE_CHECK-related things to add and some code to rearrange. Thu Jun 24 17:48:13 1999 Balachandran Natarajan * tao/ORB.h (CORBA_ORB): Made the method CORBA::ORB::InvalidName::_narrow static as needed by the spec. Thu Jun 24 17:44:39 1999 Nagarajan Surendran * orbsvcs/orbsvcs/AV/AVStreams_i.cpp: Fixed a few nested calls with ACE_TRY_ENV. Added appropriate ACE_TRY_CHECK after these statements. Thanks to Paul Calabrese for reporting these problems. Thu Jun 24 17:29:59 1999 Carlos O'Ryan * orbsvcs/orbsvcs/CosEvent/ProxyPushSupplier_i.cpp: * orbsvcs/orbsvcs/CosEvent/ProxyPushConsumer_i.cpp: Fixed problems with exception handling, thanks to Paul Calabrese for pointing this out. Thu Jun 24 17:26:53 1999 Matthew J Braun * orbsvcs/Makefile * orbsvcs/orbsvcs/Makefile * orbsvcs/tests/Makefile Removed all references to the Logging service or Logging tests * examples/Makefile Added entry for the new Logging example directory * orbsvcs/Logging_Service/Logging_Service.cpp * orbsvcs/Logging_Service/Logging_Service_i.cpp,h * orbsvcs/Logging_Service/Makefile * orbsvcs/Logging_Service/Makefile.am * orbsvcs/orbsvcs/Logger.idl * orbsvcs/orbsvcs/Log/Logger_i.cpp,h * orbsvcs/orbsvcs/Log/Makefile.am * orbsvcs/tests/Logger/Logger.dsw * orbsvcs/tests/Logger/Logging_Test.cpp * orbsvcs/tests/Logger/Logging_Test_i.cpp,h * orbsvcs/tests/Logger/Makefile * orbsvcs/tests/Logger/README * orbsvcs/tests/Logger/client.cpp,h * orbsvcs/tests/Logger/client.dsp * orbsvcs/tests/Logger/client_i.cpp,h * orbsvcs/tests/Logger/run_test.pl * orbsvcs/tests/Logger/server.cpp * orbsvcs/tests/Logger/server.dsp * orbsvcs/tests/Logger/server_i.cpp,h Removed all these files. They were the Logging_Service and all related tests. * orbsvcs/orbsvcs/Log * orbsvcs/Logging_Service * orbsvcs/tests/Logger Removed these directories * examples/Logging Added this directory to hold the moved logging service * examples/Logging/Logger.idl * examples/Logging/Logger_i.cpp,h * examples/Logging/Logging_Service.cpp * examples/Logging/Logging_Service_i.cpp,h * examples/Logging/Logging_Test.cpp * examples/Logging/Logging_Test_i.cpp,h * examples/Logging/Makefile * examples/Logging/README * examples/Logging/run_test.pl These files are the modified versions of the original Logging_Service and Logger test files. I've removed the old TAO_THROW macros and added a POA_Manager activation. Also, I've adjusted the README and Makefiles accordingly. I fear that this may break things, but I've tried to keep it safe and I've tested my changes. Let us hope. Thu Jun 24 17:22:47 1999 Carlos O'Ryan * tests/MT_Client/orb_creation.cpp: * tests/NestedUpcall/Reactor/client.cpp: * tests/NestedUpcall/Reactor/client.h: * tests/NestedUpcall/Reactor/mt_client.h: * performance-tests/Cubit/TAO/IDL_Cubit/collocation_test.cpp: * performance-tests/Cubit/TAO/MT_Cubit/Task_Client.h: * performance-tests/Thruput/TAO/client.cpp: * performance-tests/Thruput/TAO/server.cpp: * performance-tests/Thruput/TAO/ttcp_decl.h: * performance-tests/Thruput/TAO/utils.cpp: * examples/OBV/Typed_Events/Client_i.h: * examples/OBV/Typed_Events/Client_i.cpp: Fixed several Sun/CC 5.0 warnings and errors. Thu Jun 24 17:01:48 1999 Carlos O'Ryan * tao/MProfile.cpp: Fixed syntax errors, thanks to Ossama for pointing them out. Thu Jun 24 16:38:09 1999 Matthew J Braun * tao/Any.i: Changed all references to the deprecated "ACE_TRY_NEW_ENV" to "ACE_DECLARE_NEW_CORBA_ENV; ACE_TRY" Thu Jun 24 15:25:55 1999 Ossama Othman * tao/corbafwd.h: Added '-*- C++ -*-' line so that Emacs will be in C++ mode when editing the file in it. * tao/ORB.h: Changed inclusion of "IORManipulation.h" to "tao/IORManipulation.h". * tao/{IIOP,UIOP}*: Fixed old style of exception handling. * tao/UIOP_Profile.h: Comment updates. Thu Jun 24 16:03:16 1999 Carlos O'Ryan * tao/DomainS_T.i: * tao/MProfile.cpp: * tao/Makefile: * tao/MessagingC.cpp: More exception managment changes. Thu Jun 24 14:53:32 1999 Irfan Pyarali * tao/Invocation.cpp (TAO_GIOP_Invocation::invoke and TAO_GIOP_Locate_Request_Invocation::invoke): Now that GIOP::send_message() is not closing the transport on error, we have do so here. * tao/Stub: Added an extra ORB_var to the Stub. This extra ORB_var is required for reference counting. It will help us keep the ORB that created us around until the CORBA::Object we represent dies. This will eliminate the need for making sure that all CORBA objects dies before the ORB dies. * tao/UIOP_Connect.cpp (handle_input): * tao/IIOP_Connect.cpp (handle_input): Only reset the message state of the transport on success. On failures, the transport will be closed anyway. * tao/GIOP.cpp: Many of the GIOP functions were closing the transport on failure. In addition, -1 was also being returned to the Reactor, which further called handle_close() on the transport. This would typically result in a double delete. The solution was to not close the transport on failure but return the error result to the caller. If the caller was the Reactor, it will call handle_close() and clean up the transport. If the caller was the client-side, it will have to do the correct cleanup. Thanks to Gildo Medeiros Junior for pointing out this problem. * tao/POAS.cpp: * tao/POAS.i: * tao/Forwarding_Servant.cpp: Fixed old style of exception handling. Thu Jun 24 13:46:46 1999 Carlos O'Ryan * tao/ORB.h: * tao/ORB.cpp: Added an unexpected() function to transform unexpected exceptions into CORBA::UNKNOWN * tests/Param_Test/client.cpp: * tests/Param_Test/except.cpp: * tests/Param_Test/param_test_i.h: * tests/Param_Test/param_test_i.cpp: The test was broken but SII and DII (!) exceptions where ok. Thu Jun 24 12:20:36 1999 Carlos O'Ryan * orbsvcs/Event_Service/Event_Service.cpp: Use the new Event Service by default. Activate the POA before doing anything else, thanks to Byron Harris for figuring this out. * tao/IORC.cpp: * tao/MessagingS_T.cpp: * tao/PolicyC.cpp: * tao/PollableC.cpp: * tao/Sequence_T.cpp: * tao/Typecode.cpp: * tao/varout.cpp: Fixed several exception handling problems. Thu Jun 24 10:12:56 1999 Carlos O'Ryan * orbsvcs/orbsvcs/IR_Helper.cpp: Removed syntax error, probably a typo. * orbsvcs/tests/EC_Custom_Marshal/ECM_Consumer.h: * orbsvcs/tests/EC_Custom_Marshal/ECM_Consumer.cpp: * orbsvcs/tests/EC_Custom_Marshal/ECM_Supplier.h: * orbsvcs/tests/EC_Custom_Marshal/ECM_Supplier.cpp: Removed the unused arguments altogether. * orbsvcs/Time_Service/Makefile: * orbsvcs/tests/AVStreams/sfp/Makefile: * orbsvcs/tests/ImplRepo/Makefile: * examples/Simple/time-date/Makefile: Several minor fixes, such as outdated dependencies and typos. Things are happy now. Thu Jun 24 07:44:07 1999 Douglas C. Schmidt * orbsvcs/orbsvcs/IR_Helper.cpp: Fixed unused arg warnings. * orbsvcs/tests/EC_Custom_Marshal/ECM_{Consumer,Supplier}.cpp: Fixed unused arg warnings. Thu Jun 24 06:43:00 1999 David L. Levine * tao/Reply_Dispatcher.cpp (dispatch_reply): added ACE_UNUSED_ARG (message_state), only with ACE_NDEBUG. Thu Jun 24 03:30:11 1999 Darrell Brunsch * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp: * orbsvcs/ImplRepo_Service/Repository.cpp: Added template instantiation declarations. * orbsvcs/ImplRepo_Service/tao_ir.dsp: Output file spelled wrong. * orbsvcs/Time_Service/Server_i.cpp: Now uses a more specific (and unique) POA name, so it will work better with the IR. * orbsvcs/Time_Service/Time_Service_Clerk.dsp: * orbsvcs/Time_Service/Time_Service_Server.dsp: * orbsvcs/Time_Service/IR_Helper.cpp: (REMOVED) * orbsvcs/Time_Service/IR_Helper.h: (REMOVED) * orbsvcs/Time_Service/Server_i.h: * orbsvcs/tests/ImplRepo/IR_Helper.cpp: (REMOVED) * orbsvcs/tests/ImplRepo/IR_Helper.h: (REMOVED) * orbsvcs/orbsvcs/IR_Helper.cpp: (ADDED) * orbsvcs/orbsvcs/IR_Helper.h: (ADDED) * orbsvcs/orbsvcs/Makefile: * orbsvcs/orbsvcs/orbsvcs.dsp: * orbsvcs/tests/ImplRepo/airplane_server.dsp: * orbsvcs/tests/ImplRepo/airplane_server_i.h: * orbsvcs/tests/ImplRepo/nestea_server.dsp: * orbsvcs/tests/ImplRepo/nestea_server_i.h: * orbsvcs/Time_Service/Makefile: * orbsvcs/tests/ImplRepo/Makefile: Moved IR_Helper to orbsvcs library for now. * orbsvcs/tests/Time/implrepo.conf: IR doesn't require this anymore. * orbsvcs/tests/Time/run_test.pl: Works with new IR. Wed Jun 23 23:36:22 1999 Darrell Brunsch * orbsvcs/tests/ImplRepo/Makefile: Removed Repository_Test. Wed Jun 23 21:27:45 1999 David L. Levine * TAO-INSTALL.html: removed space from "resource requirements" tag to avoid problems with web browers. Wed Jun 23 20:40:46 1999 Carlos O'Ryan * tao/Environment.cpp: Print out the user provided info, even if there is no exception. * tao/corbafwd.h: Minor cosmetic fixes * TAO_IDL/be/be_visitor_array/array_ch.cpp: Some non-inline functions where declared inline, fixed. * docs/Options.html: The -ORBResources option is not going away, the current behavior is exactly what we want. * examples/Simple/time-date/Makefile: The Makefile was not installing the shared library in $ACE_ROOT/ace * orbsvcs/orbsvcs/Event/EC_ProxySupplier.cpp: Trap and ignore exceptions raised by the consumer, to isolate the suppliers from them, thanks to Paul Calabrese for pointing this out. * orbsvcs/tests/EC_Custom_Marshal/ECM_Consumer.cpp: * orbsvcs/tests/EC_Custom_Marshal/ECM_Supplier.cpp: * orbsvcs/tests/Event_Latency/Event_Latency.cpp: * orbsvcs/tests/EC_Mcast/EC_Mcast.cpp: They don't use the scheduling service anymore (the data was fake anyway). We use perform_work() to wait for events, that way we don't have to shutdown the ORB and we can cleanup the servants, POA, etc. afterwads. * orbsvcs/tests/CosEC_Multiple/run_test.pl: * orbsvcs/tests/EC_Custom_Marshal/run_test.pl: * orbsvcs/tests/EC_Mcast/run_test.pl: * orbsvcs/tests/Event_Latency/run_test.pl: Use the new real-time event channel to run the tests. * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Client.cpp: * performance-tests/Cubit/TAO/IDL_Cubit/collocation_test.cpp: * performance-tests/Cubit/TAO/IDL_Cubit/server.cpp: Several exceptions were not printed correctly. Wed Jun 23 20:23:01 1999 Ossama Othman * performance-tests/Cubit/TAO/MT_Cubit/run_test.pl: Increased the client time-out value from 60 seconds to 120 seconds since the client may take longer to finish on heavily loaded machines. Minor cosmetic update (-ORBgioplite --> -ORBGIOPlite) to be more consistent with the "published" TAO ORB options. Both will work, however. Wed Jun 23 17:38:52 1999 Balachandran Natarajan * orbsvcs/tests/ImplRepo/IR_Helper.cpp: Fixed warnings in the build. Wed Jun 23 19:15:48 1999 Darrell Brunsch * docs/implrepo/index.html: Added persistence to future work list. Wed Jun 23 17:53:15 1999 Nanbor Wang * TAO_IDL/be/be_visitor_interface/collocated_sh.cpp: We should generate code using ACE_TRY_ENV instead of TAO_IN_ENV. * Any.h: * CDR.h: * CDR_Interpreter.h: * CurrentC.h: * DomainC.h: * DynAnyC.h: * Environment.h: * Exception.h: * Forwarding_Servant.h: * GIOP.h: * GIOP_Server_Request.h: * IIOP_Profile.h: * IORC.h: * Invocation.h: * MProfile.h: * Marshal.h: * MessagingC.h: * MessagingS.h: * NVList.h: * ORB.h: * ORB_Core.h: * Object.h: * POAS.h: * POA_CORBA.h: * Pluggable.h: * PolicyC.h: * PollableC.h: * PollableS.h: * Request.h: * Sequence.h: * Server_Request.h: * Stub.h: * Typecode.h: * UIOP_Profile.h: * corbafwd.h: Replaced all occurences of TAO_TRY_ENV, env, and _tao_env with ACE_TRY_ENV. Wed Jun 23 17:38:52 1999 Balachandran Natarajan * examples/Quoter/Generic_Factory.cpp: * examples/Quoter/Quoter_i.cpp : * examples/Simple/grid/Grid_i.cpp: * examples/Simple/Time/Time_i.cpp: Fixed unused arguments warnings in these files. Wed Jun 23 17:35:00 1999 Chris Gill * orbsvcs/orbsvcs/Sched/Reconfig_Scheduler.{cpp, h, i} orbsvcs/orbsvcs/Sched/Reconfig_Sched_Utils.{cpp, h, i} (new): Hacked apart and am in the process of revamping how the DFS based passes over the dependency graph are done. This code is in a state of flux and does not yet compile - please do not attempt to add it to any make or project files until it is cleaned up. Wed Jun 23 17:19:52 1999 Balachandran Natarajan * orbsvcs/ImplRepo_Service/tao_ir_i.cpp: Fixed some errors on g++. Wed Jun 23 16:38:54 1999 John Heitmann * examples/Quoter/run_test.pl: * examples/POA/TIE/run_test.pl: * examples/Forwarding/run_test.pl: * orbsvcs/tests/Time/run_test.pl: * orbsvcs/tests/Logger/run_test.pl: * orbsvcs/tests/Event_Latency/run_test.pl: * orbsvcs/tests/EC_Custom_Marshal/run_test.pl: * orbsvcs/tests/CosEC_Multiple/run_test.pl: Rather that kill(), the servers now terminate(); * examples/POA/TIE/run_test.pl: Now conforms to the new style. Wed Jun 23 15:54:47 1999 Balachandran Natarajan * orbsvcs/tests/ImplRepo/nestea_i.cpp : * orbsvcs/tests/ImplRepo/nestea_server_i.cpp: * orbsvcs/tests/ImplRepo/airplane_i.cpp: * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp (destroy): Fixed warnings by remving an extra argument. Wed Jun 23 15:50:53 1999 Ossama Othman * performance-tests/Cubit/TAO/MT_Cubit/Globals.h: Added a '-*- C++ -*-' to force C++ mode when editing in Emacs. * tao/UIOP_Acceptor.cpp: Cosmetic updates. * tao/IIOP_Connector.cpp (make_profile): * tao/UIOP_Connector.cpp (make_profile): Comment updates. No code changes. Wed Jun 23 15:08:04 1999 Mike Moran * orbsvcs/tests/Trading/Simple_Dynamic.cpp: Fixed warnings by removing unused parameters to method evalDP(). Wed Jun 23 14:42:27 1999 Jeff Parsons * TAO_IDL/be/be_visitor_sequence/cdr_op_cs.cpp: Eliminated optimized generated code for CDR operators for bounded octet sequences. The bounded class does not contain or use message blocks. This undoes a change made earlier today. Thanks to Doug Anderson for pointing out this problem. Wed Jun 23 14:42:01 1999 Kirthika Parameswaran * examples/Simple/echo/run_test.pl: Modified it to have the timedout feature. Wed Jun 23 14:25:09 1999 Mike Moran * orbsvcs/LifeCycle_Service/LifeCycle_Service_i.cpp: fixed warning in register_factory, removed unused parameter Wed Jun 23 14:22:04 1999 Kirthika Parameswaran * examples/Simple/echo/Echo_i.cpp (echo_list): Added ACE_UNUSED_ARG for to ward off warnings. Wed Jun 23 13:56:52 1999 John Heitmann * tests/NestedUpcall/Triangle_Test/run_test.pl: * tests/Multiple_Inheritance/run_test.pl: Was timing out too soon, increased the wait time to compensate. Wed Jun 23 12:33:31 1999 Nagarajan Surendran * orbsvcs/tests/AVStreams/benchmark/client.cpp: * orbsvcs/tests/AVStreams/benchmark/server.cpp: * orbsvcs/tests/AVStreams/benchmark/child.cpp: * orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.cpp : * orbsvcs/orbsvcs/AV/sfp.cpp: Fixed a few warnings for unused args. Thanks to Carlos for reporting these. * orbsvcs/tests/AVStreams/sfp/run_test.pl: Added a new run_test.pl for the sfp tests. * orbsvcs/tests/AVStreams/sfp/client.cpp: Added a new option -a to specify the server address. Also fixed some warnings. Thanks to Carlos and David for reporting these. * orbsvcs/tests/AVStreams/sfp/common.h: Made the default server address as localhost:10000. Wed Jun 23 11:32:29 1999 Vishal Kachroo * /TAO/tests/InterOp-Naming/INS_i.cpp: Fixed a warning for an unused argument. Wed Jun 23 10:09:48 1999 David L. Levine * TAO-INSTALL.html: added link to ACE-INSTALL.html's resource requirements discussion. Thanks to Gilbert Roulot for this suggestion. Wed Jun 23 10:00:16 1999 Pradeep Gore * orbsvcs/tests/CosEC_Multiple.cpp: * examples/Event_Comm/Event_Comm_i.cpp: * examples/Event_Comm/Supplier_Input_Handler.cpp: Fixed unused arg warnings. Wed Jun 23 09:49:40 1999 Jeff Parsons * TAO/tests/Param_Test/complex_any.cpp: * TAO/tests/Param_Test/results.cpp: * TAO/tests/Param_Test/typecode.cpp: * TAO/tests/Param_Test/ub_any_seq.cpp: * TAO/tests/Param_Test/ub_short_seq.cpp: Fixed unused arg warnings. Wed Jun 23 09:26:39 1999 Jeff Parsons * TAO_IDL/be/be_visitor_sequence/cdr_op_cs.cpp: Changed a couple of instances of ACE_dynamic_cast to ACE_reinterpret_cast in generated code. I had earlier changed these from ACE_static_cast mistakenly to ACE_dynamic_cast. Thanks to David for setting me straight. Wed Jun 23 00:42:05 1999 Douglas C. Schmidt * examples/Simple/time-date: Fixed warnings in the code. Thanks to Carlos for reporting this. Wed Jun 23 00:07:51 1999 John Heitmann * orbsvcs/tests/Time/run_test.pl: Changed all instances of server and clerk to Time_Service_Server and Time_Service_Clerk. Tue Jun 22 22:11:40 1999 Carlos O'Ryan * tao/default_resource.cpp: Removed the warning about -ORBresources, the current behavior is acceptable and we decided not to remove the option in the future. * orbsvcs/tests/Makefile: * orbsvcs/tests/AVStreams/Makefile: * orbsvcs/tests/AVStreams/benchmark/Makefile: * orbsvcs/tests/AVStreams/benchmark/run_test.pl: * orbsvcs/tests/AVStreams/benchmark/svc.conf: * orbsvcs/tests/AVStreams/sfp/Makefile: * orbsvcs/tests/Property/run_test.pl: Updated the Makefiles and scripts on the AV tests, there is some hope of adding them to the nightly builds. * orbsvcs/tests/Event/Basic/BCast.cpp: Fixed a warning. * tests/POA/Destruction/Makefile: Updated dependencies Tue Jun 22 21:49:38 1999 Fred Kuhns * IORManipulation.cpp: Fixed usage of type_id, was if (type_id) now if (type_id.in ()) This will ensure a const char * is returned for the if. Tue Jun 22 21:11:56 1999 Balachandran Natarajan * orbsvcs/ImplRepo_Service/Repository.cpp:Added missing template instantiations * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp: * orbsvcs/ImplRepo_Service/ImplRepo_i.h: Added few missing exceptions in the signature. Tue Jun 22 20:11:49 1999 Irfan Pyarali * tao/POA.cpp (locate_servant_i): If incarnate() returns 0, then an OBJ_ADAPTER exception should be raised. Thanks to Matthew Newhook for pointing this out. Tue Jun 22 20:23:07 1999 Carlos O'Ryan * orbsvcs/tests/EC_Custom_Marshal/run_test.pl: * orbsvcs/tests/EC_Multiple/run_test.pl: * orbsvcs/tests/Event_Latency/run_test.pl: Updated to work in the nightly builds * examples/Simple/chat/Broadcaster_i.cpp: Fixed warning * tests/Makefile: Added the POA directory * orbsvcs/tests/Event_Latency/Event_Latency.cpp: The POA was not activated * examples/Simple/bank/run_test.pl: * examples/Simple/grid/run_test.pl: * examples/Simple/time/run_test.pl: * examples/Simple/time-date/run_test.pl: Minor fixes on the server shutdown Tue Jun 22 20:10:53 1999 Balachandran Natarajan * examples/Simple/echo/server.cpp: * examples/Simple/bank/server.cpp: * examples/Simple/grid/server.cpp: * examples/Simple/time/server.cpp: Made some cosmetic changes. * tao/Active_Object_Map.cpp: Removed some statements that were giving compile errors. They were ACE_UNUSED_ARG () which were not there. Tue Jun 22 19:27:21 1999 Carlos O'Ryan * orbsvcs/tests/Event/Performance/run_test.pl: Make the tests shorter because they were timing out on some platforms. Tue Jun 22 17:09:45 1999 Irfan Pyarali * tao/Active_Object_Map.cpp (TAO_Multiple_Id_Strategy::is_servant_in_map() and TAO_User_Id_Strategy::bind_using_system_id()): Fixed unused arg warnings. Thanks to Carlos for pointing these out. * tao/Object_Adapter and tao/POA: Did some major rework of the POA Current object. Previously, this object was used for the POA Current as well as the cleanup object. Servant_Upcall has taken over the role of the cleanup object. Therefore, moved all extra state from POA Current to Servant Upcall. The above change allowed me to fix POA::destroy(). Previously, when POA::destroy() was called, the POA object was destroyed immediately. The problem with this was that there might be outstanding requests being dispatched by this POA. These outstanding requests access POA state once they complete. If the POA is already gone by this time, a seg fault will occur. The fix allows the POA destruction to be delayed till all the outstanding requests complete. * tests/POA/Destruction/Destruction.cpp: This new test will make sure that the above mentioned change works. * test/POA/Identity: Moved this application from examples directory to the test directory. Tue Jun 22 18:38:35 1999 Balachandran Natarajan * examples/Simple/Simple_util.cpp: Made the POA state active before calling the rebind on the naming service. Tue Jun 22 17:45:16 1999 Carlos O'Ryan * orbsvcs/orbsvcs/CosEvent_Utilities.cpp: * orbsvcs/orbsvcs/AV/sfp.cpp: * orbsvcs/orbsvcs/Event/EC_Basic_Factory.cpp: * orbsvcs/orbsvcs/Event/EC_Default_Factory.cpp: * orbsvcs/orbsvcs/Event/EC_Dispatching.cpp: * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp: * orbsvcs/orbsvcs/Event/EC_MT_Dispatching.cpp: * orbsvcs/orbsvcs/Event/EC_Null_Factory.cpp: * orbsvcs/orbsvcs/Event/EC_ObserverStrategy.cpp: * orbsvcs/orbsvcs/Event/EC_ProxyPushSupplier_Set.cpp: * orbsvcs/orbsvcs/Event/EC_Timeout_Filter.cpp: * orbsvcs/orbsvcs/Trader/Constraint_Nodes.cpp: * orbsvcs/orbsvcs/Trader/Offer_Iterators_T.cpp: * orbsvcs/orbsvcs/Trader/Trader_Interfaces.cpp: * orbsvcs/orbsvcs/Trader/Trader_T.cpp: * tests/Param_Test/param_test_i.cpp: More unused variable/parameter warnings are removed. Tue Jun 22 17:14:48 1999 John Heitmann * orbsvcs/tests/Logger/run_test.pl: * orbsvcs/tests/Property/run_test.pl: * orbsvcs/tests/Time/run_test.pl: Updated the tests to reflect new guidelines concerning timeouts and blocking. Tue Jun 22 17:07:01 1999 Carlos O'Ryan * tao/Any.h: * tao/Any.cpp: Added the insertion operator for exceptions into anys (copying version). Tue Jun 22 15:18:46 1999 John Heitmann * examples/Quoter/run_test.pl: * examples/Simple/bank/run_test.pl: * examples/Simple/grid/run_test.pl: * examples/Simple/time/run_test.pl: * examples/Simple/time-date/run_test.pl: * orbsvcs/tests/AVStreams/benchmarks/run_test.pl: * orbsvcs/tests/CosEC_Multiple/run_test.pl: * orbsvcs/tests/CosEC_Multiple/run_test2.pl: * orbsvcs/tests/EC_Basic/run_test.pl: * orbsvcs/tests/EC_Custom_Marshal/run_test.pl: * orbsvcs/tests/EC_Multiple/run_test.pl: * orbsvcs/tests/Event_Latency/run_test.pl: Updated the tests to reflect new guidelines concerning timeouts and blocking. Tue Jun 22 15:11:26 1999 Carlos O'Ryan * orbsvcs/tests/Event/Basic/BCast.cpp: Fixed problems opening and closing the event handler. Thanks to Tom Ziomek for pointing this out. Tue Jun 22 14:21:41 1999 Jeff Parsons * TAO_IDL/be/be_visitor_sequence/gen_bounded_obj_sequence_ci.cpp: * TAO_IDL/be/be_visitor_sequence/gen_bounded_str_sequence_ci.cpp: * TAO_IDL/be/be_visitor_sequence/gen_bounded_str_sequence_cs.cpp: * TAO_IDL/be/be_visitor_sequence/gen_bounded_sequence_cs.cpp: Methods allocbuf() in *C.i and _allocate_buffer() in *C.cpp always allocate the maximum for the bounded sequence, so the ULong 'length" arg was always unused. Commented it out in the generated code. Warnings reported on Linux builds. Tue Jun 22 14:02:26 1999 David L. Levine * examples/OBV/Typed_Events/Makefile Benchmark/Marshal_Test/Orbix/Makefile, Benchmark/Marshal_Test/TAO/Makefile, Benchmark/Marshal_Test/VisiBroker/Makefile, TAO_IDL/Makefile, performance-tests/Cubit/Hardpack/IDL_Cubit/Makefile, performance-tests/Cubit/VisiBroker/base_server/Makefile, performance-tests/Cubit/VisiBroker/client/Makefile, performance-tests/Thruput/Orbix/Makefile: replaced rm with $(RM). Tue Jun 22 13:55:09 1999 Jeff Parsons * TAO_IDL/be/be_visitor_union/union_cs.cpp: Eliminated unused arg in _reset() and added initialization of base class constructor in copy constructor. These were pointed out by Linux warnings in David's build logs. Tue Jun 22 13:42:10 1999 Carlos O'Ryan * TAO_IDL/fe/fe_interface_header.cpp: * tao/Active_Object_Map.cpp: * tao/Context.cpp: * tao/GIOP.cpp: * tao/IORC.cpp: * tao/PolicyC.cpp: * tao/Transport_Mux_Strategy.cpp: * tao/UIOP_Transport.cpp: * tao/ValueBase.cpp: * tests/OctetSeq/OctetSeq.cpp: More unused arg warnings removed.. * tao/IIOP_Connect.cpp: * tao/IIOP_Transport.cpp: In this case the unused argument was actually a bug. Tue Jun 22 13:19:24 1999 David L. Levine * TAO_IDL/Makefile,TAO_IDL/fe/y.tab.{h,cpp}: removed unused arguments. Tue Jun 22 11:39:43 1999 Carlos O'Ryan * performance-tests/Latency/Makefile: This directory was missing the -Ge 1 option. * examples/OBV/Simple_util.cpp: * examples/OBV/Typed_Events/Server_i.cpp: * orbsvcs/tests/EC_Throughput/ECT_Throughput.cpp: Fixed some of the new egcs warnings * orbsvcs/orbsvcs/Event/EC_ProxyPushSupplier_Set.cpp: Don't raise an exception if the supplier is already there, it may be because another thread added, because it was connected/disconnected multiple times while the operations where delayed, etc. * orbsvcs/tests/Event/lib/Consumer.h: * orbsvcs/tests/Event/lib/Consumer.cpp: * orbsvcs/tests/Event/lib/Driver.h: * orbsvcs/tests/Event/lib/Driver.cpp: * orbsvcs/tests/Event/lib/Supplier.h: * orbsvcs/tests/Event/lib/Supplier.cpp: Be more careful with object deactivation, there is no need to deactivate the consumers and suppliers after each disconnect, only on shutdown, that is not only more efficient, but it avoids problems with the POA: if an object is deactivated it cannot be deactivated until all its pending requests have finished. This is specially problematic when the object is deactivated while performing an upcall on the same object.... Tue Jun 22 11:11:46 1999 Jeff Parsons * TAO_IDL/be/be_structure.cpp: Removed error output code for non-field member of struct in method in_recrusion(). There can be legitimate non-field things encountered, like values of an enum declared inside the struct, which will not involve any recursion, so we just advance the iterator. Tue Jun 22 10:29:54 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Event/EC_Gateway.cpp: There is no need to deactivate the gateway every time we modify its QoS parameters, the same object reference is still valid. The UDP gateway case is a little different and requires a closer look. Tue Jun 22 09:52:44 1999 David L. Levine * tao/ORB.cpp (lookup_value_factory): removed unused arg ACE_TRY_ENV. Thanks to Carlos for the fix. Tue Jun 22 08:38:12 EDT 1999 Aniruddha Gokhale * orbsvcs/orbsvcs/Makefile: Updated dependencies. Tue Jun 22 07:59:11 EDT 1999 Aniruddha Gokhale * tao/ORB.cpp: Fixed a compile error where we were using "env" whereas the parameter passed ACE_TRY_ENV. Tue Jun 22 02:22:11 1999 Darrell Brunsch * orbsvcs/orbsvcs/Makefile: * orbsvcs/ImplRepo_Service/Makefile: * orbsvcs/tests/ImplRepo/Makefile: Updated Dependencies and changed for new IR stuff. * orbsvcs/tests/ImplRepo/run_test.pl: Uses relative path for tao_ir. * orbsvcs/tests/ImplRepo/Repository_Test.cpp: (REMOVED) * orbsvcs/tests/ImplRepo/Repository_Test.dsp: (REMOVED) Old test does not work with the new Repository. * orbsvcs/tests/ImplRepo/svc.conf: (REMOVED) Don't think we need this anymore. Tue Jun 22 00:38:58 1999 Darrell Brunsch New Implementation Repository stuff, featuring a command line helper application, tao_ir; a new IDL interface; extra commands available for the server, and new docs. * orbsvcs/orbsvcs/ImplRepo.idl: * orbsvcs/orbsvcs/Makefile: * orbsvcs/orbsvcs/orbsvcs.dsp: * orbsvcs/orbsvcs/Ping.idl: (REMOVED) Restructured the IDL for Implementation Repository. * docs/releasenotes/index.html: ImplRepo link now goes to main ImplRepo page. * docs/implrepo/index.html: * docs/implrepo/status.html: (REMOVED) * docs/implrepo/tao_ir.html: (ADDED) * docs/implrepo/usersguide.html: Updated docs and did a little reorganizing. Note: User's Guide has not been fully updated yet. * orbsvcs/ImplRepo_Service/ImplRepo.cpp: Converted TAO_* corba macros to ACE_*. * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp: * orbsvcs/ImplRepo_Service/ImplRepo_i.h: Supported new ImplRepo IDL Interface. * orbsvcs/ImplRepo_Service/Options.cpp: Removed extra "*/" * orbsvcs/ImplRepo_Service/Repository.cpp: * orbsvcs/ImplRepo_Service/Repository.h: Reorganized and worked minimal support (or at least room) for future inclusion of logical servers and Process information. * orbsvcs/ImplRepo_Service/ImplRepo.dsw: * orbsvcs/ImplRepo_Service/tao_ir.cpp: (ADDED) * orbsvcs/ImplRepo_Service/tao_ir.dsp: (ADDED) * orbsvcs/ImplRepo_Service/tao_ir_i.cpp: (ADDED) * orbsvcs/ImplRepo_Service/tao_ir_i.h: (ADDED) Added tao_ir command line application that supports the commands activate, add, list, remove, shutdown, and update. Please see HTML docs for more info. * orbsvcs/tests/ImplRepo/IR_Helper.cpp: * orbsvcs/tests/ImplRepo/IR_Helper.h: IR_Helper works with new IR interfaces. * orbsvcs/tests/ImplRepo/airplane_client_i.cpp: Doesn't sleep anymore in the loop. * orbsvcs/tests/ImplRepo/airplane_i.cpp: * orbsvcs/tests/ImplRepo/airplane_i.h: * orbsvcs/tests/ImplRepo/nestea_i.cpp: * orbsvcs/tests/ImplRepo/nestea_i.h: Removed shutdown flags. Servers do not shutdown after every call in IR mode anymore. * orbsvcs/tests/ImplRepo/airplane_server.cpp: * orbsvcs/tests/ImplRepo/nestea_server.cpp: Says goodnight when finished. * orbsvcs/tests/ImplRepo/airplane_server_i.cpp: * orbsvcs/tests/ImplRepo/airplane_server_i.h: * orbsvcs/tests/ImplRepo/nestea_server_i.cpp: * orbsvcs/tests/ImplRepo/nestea_server_i.h: Removed registration code, since tao_ir now handles that. * orbsvcs/tests/ImplRepo/run_test.pl: Redid structure of ir tests. Now will start IR, then register server, start server, run client, shutdown server, run client (which should then have the IR restart the server). * orbsvcs/tests/ImplRepo/ImplRepo.dsw: * orbsvcs/tests/ImplRepo/airplane_client.dsp: * orbsvcs/tests/ImplRepo/airplane_server.dsp: * orbsvcs/tests/ImplRepo/nestea_client.dsp: * orbsvcs/tests/ImplRepo/nestea_server.dsp: General Updates. Tue Jun 22 00:29:06 1999 Nanbor Wang * tao/ORB.cpp (key_to_object): Changed to use ACE try macros. Thanks to J. Russell Noseworthy for pointing this out. Mon Jun 21 23:34:48 1999 Darrell Brunsch Added two new options to TAO and support for them, -ORBImplRepoPort and -ORBImplRepoIOR. Also added ImplRepoService to the list of services supported by resolve_initial_references (). Note: The IR server doesn't support Multicast yet, just the client is done. * tao/orbconf.h: Added the necessary macros for ports for ImplRepo multicast and the resolve_initial_references ("ImplRepoService"). * tao/ORB.h: * tao/ORB.cpp: Added resolve_implrepo_service () method and the member variable implrepo_service_. * tao/ORB_Core.cpp: Added support for options ORBImplRepoIOR and ORBImplRepoPort. * tao/params.h: * tao/params.cpp: * tao/params.i: Added member variables implrepo_service_ior_ and implrepo_service_port_ and accessors for them. * docs/Options.html: Updated docs to list the two new ORB options. Mon Jun 21 23:34:06 1999 Carlos O'Ryan * tao/IORManipulation.h: * tao/IORManipulation.cpp: Fixed throw specs * tao/IORS.h: * tao/IORS.cpp: Fixed problems with the _tao_create_collocated() implementation. Mon Jun 21 22:56:17 1999 Carlos O'Ryan * orbsvcs/tests/Event/Event.dsw: * orbsvcs/tests/Event/Basic/Basic.dsw: * orbsvcs/tests/Event/Basic/BCast.dsp: Added project for the BCast tests Mon Jun 21 22:25:30 1999 Ossama Othman * tao/ORB.cpp (resolve_initial_references): Added work-around for case when default initial reference ends with forward slash '/' object key delimiter. The code will soon be updated to work with pluggable protocols that use an object key delimiter other than '/', such as UIOP. * tao/ORB_Core.cpp (init): Cosmetic updates. * tao/Pluggable.cpp (make_mprofile): Corrected object key string offset when searching for the object key delimiter in the IOR. Object keys are, once again, properly appended to endpoints during profile creation (during string to object conversions). Fixed error return value mismatch when checking for a full MProfile during MProfile::give_profile() call. I incorrectly assumed that a return value other than zero was an error. Mon Jun 21 22:19:14 1999 Carlos O'Ryan * orbsvcs/tests/Event/Basic/Makefile: * orbsvcs/tests/Event/Basic/BCast.h: * orbsvcs/tests/Event/Basic/BCast.cpp: Added a new test for the broadcast based event channel, thanks to Tom Ziomek for motivating this case. * orbsvcs/tests/Event/lib/Supplier.cpp: Changed exception handling to keep sending events even if one of them raises an exceptions. Mon Jun 21 20:47:46 1999 Balachandran Natarajan * TAO/orbsvcs/tests/Simple_Naming/makefile: * TAO/orbsvcs/tests/Trading/Makefile: * TAO/orbsvcs/tests/ImplRepo/Makefile: * TAO/orbsvcs/examples/CosEC/Factory/Makefile: * TAO/examples/Quoter/Makefile: * TAO/examples/Simple/bank/Makefile: * TAO/examples/Simple/chat/Makefile: * TAO/examples/Simple/echo/Makefile: * TAO/examples/Simple/grid/Makefile: * TAO/examples/Simple/time-date/Makefile: Added -Ge 1 option to these files. Mon Jun 21 19:41:56 1999 Jeff Parsons * TAO_IDL/be/be_visitor_union_branch/public_reset_cs.cpp: Removed an unused variable from visit_predefined_type(). Caused a CC warning. Mon Jun 21 19:06:14 1999 Irfan Pyarali * tao/Servant_Base.h (TAO_ServantBase): Change reference count (again) from ACE_Atomic_Op to ACE_Atomic_Op. This way we can utilize the InterlockedIncrement / InterlockedDecrement specializations for Atomic_Op on NT. Not sure why Nanbor had reverted this change earlier. Mon Jun 21 19:07:46 1999 Jeff Parsons * TAO_IDL/be/be_union.cpp: Fixed an ACE_ERROR cut-and-paste typo. * TAO_IDL/be_include/be_enum_val.h: * TAO_IDL/be/be_enum_val.cpp: Added a virtual compute_size_type(). method. Even though the implementation is trivial, it's necessary because this gets called for all types from be_decl. Be_decl's own version of this function is a no-op, so it must be overridden for all other types. This gets rid of an ACE_ASSERT error when declaring an enum inside a structure. * TAO_IDL/be/be_structure.cpp: Removed ACE_ERROR message in in_recursion() method when a null field pointer is found by field::narrow_from_decl(). Not everything iside a structure is a field, so this could be a legitimate return value. Mon Jun 21 18:57:20 1999 Carlos O'Ryan * tao/POA.cpp: Fixed several places where the return value was checked for -1 but actually any value != 0 was an error. Thanks to Irfan for helping me track this down. Mon Jun 21 18:52:55 1999 Balachandran Natarajan * performance-tests/Cubit/COOL/IDL_Cubit/Makefile: * performance-tests/Cubit/COOL/MT_Cubit/Makefile: * performance-tests/Cubit/TAO/DII_Cubit/Makefile: * performance-tests/Cubit/TAO/IDL_Cubit/Makefile: * performance-tests/Cubit/TAO/MT_Cubit/Makefile: * performance-tests/POA/Demux/Makefile: * performance-tests/POA/Object_Creation_And_Registration/Makefile: * performance-tests/Pluggable/Makefile: * performance-tests/Thruput/TAO/Makefile:Added -Ge 1 option to the TAO_IDLFLAGS in these Makefile's Mon Jun 21 18:35:53 1999 Irfan Pyarali * orbsvcs/tests/Event/Basic/Observer.cpp: Added initialization of . * tests/TAO_Tests.dsw * tests/MT_Server/MT_Server.dsw * tests/MT_Server/client.dsp * tests/MT_Server/server.dsp * tests/OctetSeq/OctetSeq.dsp * tests/OctetSeq/OctetSeq.dsw * tests/OctetSeq/client.dsp * tests/OctetSeq/server.dsp New MSVC project files. Mon Jun 21 17:06:32 1999 Balachandran Natarajan * utils/IOR-parser/Makefile: * utils/catior/Makefile: * utils/nslist/Makefile: * tests/CDR/Makefile: * tests/FL_Cube/Makefile: * tests/InterOp-Naming/Makefile: * tests/MT_Client/Makefile: * tests/MT_Server/Makefile: * tests/Multiple_Inheritance/Makefile: * tests/Native_Exceptions/Makefile: * tests/NestedUpcall/MT_Client_Test/Makefile: * tests/NestedUpcall/Reactor/Makefile: * tests/NestedUpcall/Triangle_Test/Makefile: * tests/OctetSeq/Makefile: * tests/Param_Test/Makefile: * examples/Callback_Quoter/Makefile: * examples/Event_Comm/Makefile: * examples/OBV/Typed_Events/Makefile: * examples/POA/Adapter_Activator/Makefile: * examples/POA/DSI/Makefile: * examples/POA/Default_Servant/Makefile: * examples/POA/Explicit_Activation/Makefile: * examples/POA/FindPOA/Makefile: * examples/POA/Forwarding/Makefile: * examples/POA/Generic_Servant/Makefile: * examples/POA/TIE/Makefile: Added -Ge 1 to these Makefiles. Mon Jun 21 16:11:02 1999 Fred Kuhns * tao/IORManipultion.cpp Added workaround for the MS C++ lib which does not implement the auto_ptr::reset () method. Mon Jun 21 15:44:16 1999 Fred Kuhns * tao/IORManipultion.cpp added template instantion for auto_ptr Mon Jun 21 14:50:58 1999 Nanbor Wang * TAO_IDL/be/be_visitor_interface/interface_ss.cpp (visit_interface): Added ACE_UNUSED_ARG for the argument in _create_collocated_objref. Thanks to Carlos for pointing this out. Mon Jun 21 14:54:24 1999 Balachandran Natarajan * orbsvcs/orbsvcs/Makefile: Added the option -Ge 1. * rules.tao.GNU : Removed the addition of default variable -Ge 1 from this file. Mon Jun 21 14:15:33 1999 Carlos O'Ryan * performance-tests/Makefile: * performance-tests/Latency/Makefile: * performance-tests/Latency/README: * performance-tests/Latency/client.conf: * performance-tests/Latency/client.cpp: * performance-tests/Latency/run_test.pl: * performance-tests/Latency/server.conf: * performance-tests/Latency/server.cpp: * performance-tests/Latency/test.idl: * performance-tests/Latency/test_i.cpp: * performance-tests/Latency/test_i.h: * performance-tests/Latency/test_i.i: Added new test to measure latency (and throughput) in the ORB, using different configurations (thread-pool, thread-per-connection, etc.) * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp: Fixed close() method, thanks to J. Russell Noseworthy for pointing this Mon Jun 21 12:10:33 1999 Carlos O'Ryan * tao/Makefile: Updated dependencies * tao/Object.h: * tao/Object.cpp: The CORBA::Object::_is_equivalent method *requires* the extra environment parameter. Mon Jun 21 11:56:03 1999 Nanbor Wang * tao/TAO_Static.dsp: * tao/TAO.dsp: Added IORC, IORS, and IORManipulation. Mon Jun 21 11:52:10 1999 Fred Kuhns * Fixed problem with Makefile - removed POAS.h from PUB_HDRS Mon Jun 21 11:32:12 1999 Steve Huston * TAO_IDL/Makefile: The platform_macros.GNU file can now set a CPP_LOCATION to override the default, $(CXX). Mon Jun 21 11:07:03 1999 Jeff Parsons * TAO_IDL/ast/AST_Expression.cpp: Eliminated dependency on and by using values defined in Basic_Types.h and deleting a broken #define of MAXCHAR. Thanks to Hata Yoshiaki for pointing out that setting signed short and long constants to their minimum values was broken. Mon Jun 21 11:04:03 1999 Aniruddha Gokhale * tao/{IORC, IORS, IORManipulation}.cpp: Fixed problem with the ACE_RCSID call. Mon Jun 21 08:07:46 1999 Fred Kuhns * Implemented an IOR Manipulation interface (IOR.pidl). Added new files IORC.{h,i,cpp} IORS.{h,i,cpp} IORManipulation.{h,cpp} IOR{C,S} are the usual IDL generated files although the IOR Manipulation object is constrained to be local. The new class (TAO_IOR_Manipulaiton) is implemted in IORManipultion. * Enhanced MProfile to facilitate the new IOR Manipulation class. MProfile objects can now grow dynamically, that is if you try to add a profile to an already full MProfile, the internal buffer will be increased in size rather then returning an error. * Added the default per ORB IOR manipulation object to the ORB class. * Updated the Makefile * Addressed comments in IIOP_factory. * Removed CORBA::Environment arg from TAO_XX_Profile::is_equivalent () and CORBA_Object::is_equivalent () and TAO_Stub::is_equivalent () * Added the following macro to orbconf.h #define TAO_OBJID_IORMANIPULATION "IORManipulation" Sun Jun 20 19:35:16 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Event/EC_ObserverStrategy.h: Changed the private section of TAO_EC_Basic_ObserverStrategy to protected to help implementors of alternative strategies. Sun Jun 20 16:33:44 1999 Carlos O'Ryan * tao/IIOP_Transport.cpp: * tao/UIOP_Transport.cpp: Avoid crashes if the server dies when we are not expecting a response. Thanks to J. Russell Noseworthy for reporting this problem. * tao/GIOP.cpp: Fixed error messages. * tests/Multiple_Inheritance/run_test.pl: The test was reporting spurious faults: the server is shutdown using a signal to its exit status is never 0. * tests/NestedUpcall/Reactor/run_test.pl: The test was too aggresive, it was using too many file descriptors. * tests/InterOp-Naming/INS_test_client.cpp: * tests/InterOp-Naming/Server_i.cpp: * tests/InterOp-Naming/Server_i.h: * tests/InterOp-Naming/run_test.pl: The test is more "standard" now, and the script works in many cases, but it needs more work. * tests/NestedUpcall/Triangle_Test/initiator.cpp: Updated the test, it was not activating the POA. But it still fails due to memory managment problems. Sun Jun 20 14:39:23 1999 Douglas C. Schmidt * orbsvcs/orbsvcs/Trader/Trader_Utils.h: Reformatted the documentation so it'll conform to the "ACE+TAO style." * orbsvcs/orbsvcs/Trader/Trader_Utils.h: Added a definition for TAO_Dynamic_Property::operator=(TAO_Dynamic_Property const &) so that the code will compile with G++. Thanks to Jean-Marc Strauss for reporting this. * orbsvcs/CosEvent_Service/CosEvent_Service.cpp (startup): Make sure to use .in() to work around broken G++ compilers... Thanks to Jean-Marc Strauss for reporting this. Wed Jul 7 18:13:40 1999 Alexander Babu Arulanthu * tao/Invocation.cpp: Removed the loop around the wait_for_reply. * TAO/TAO_IDL/be/be_visitor_typecode/typecode_decl.cpp: Fixed CC5 warnings. * TAO/tao/Invocation.cpp * TAO/tao/Invocation.i * TAO/tao/Reply_Dispatcher.cpp * TAO/tao/Reply_Dispatcher.h: Integrated the CDR changes done in ACE_CDR. Stealing the CDR content is coded here now. * TAO/tests/AMI/orb_creation.cpp: Fixed CC5 warnings. Wed Jul 7 10:55:06 1999 Alexander Babu Arulanthu * Asynch_Invocation.cpp * Asynch_Invocation.h * MessagingC.h * PollableC.cpp * PollableC.h * PollableS.cpp * PollableS.h * Reply_Dispatcher.cpp * Reply_Dispatcher.h: Guarded the AMI specific classes etc with TAO_HAS_CORBA_MESSAGING && TAO_POLLER. Tue Jul 6 22:10:00 1999 Michael Kircher * tao/PollableS.cpp: Replaced three ACE_BASE_CLASS macros with ACE_CORBA_1 macros to get VC to compile it. * tao/TAO.dsp * tao/TAO_Static.dsp: Added the files Pollable{C,S}.{h,cpp} and Asynch_Invocation.{h,cpp}. * TAO_IDL/be_include/be_decl.h * TAO_IDL/be/be_decl.cpp * TAO_IDL/be_include/be_interface.h * TAO_IDL/be/be_interface.cpp: * TAO_IDL/be/be_visitor_argument/compiled_marshal_cs.cpp * TAO_IDL/be/be_visitor_argument/upcall_ss.cpp * TAO_IDL/be/be_visitor_argument/vardecl_ss.cpp * TAO_IDL/be/be_visitor_argument/ami_handler_result_arg.cpp: Added code to generate ami_handler_ names. The generated names are held in the corresponding classes, which is then also responsible for deleting it. * TAO_IDL/be/be_visitor_operation/ami_handler_argument_marshal.cpp * TAO_IDL/be_include/be_visitor_operation/ami_handler_argument_marshal.h * TAO_IDL/be/be_visitor_argument/ami_handler_upcall_cs.cpp * TAO_IDL/be_include/be_visitor_argument/ami_handler_upcall_cs.h * TAO_IDL/be/be_visitor_argument/ami_handler_vardecl_cs.cpp * TAO_IDL/be_include/be_visitor_argument/ami_handler_vardecl_cs.h * TAO_IDL/be/be_visitor_argument/ami_handler_compiled_marshal_cs.cpp * TAO_IDL/be_include/be_visitor_argument/ami_handler_compiled_marshal_cs.h: Added these files for code generation of the AMI Handler skeleton. * TAO_IDL/be/be_visitor_operation/ami_handler_operation_cs.cpp * TAO_IDL/be/be_visitor_operation/ami_handler_skeleton_cs.cpp * TAO_IDL/be_include/be_visitor_operation/ami_handler_skeleton_cs.h * TAO_IDL/be/be_visitor_operation/ami_handler_arglist.cpp: Made changes to generate skeleton code for the AMI handler. * TAO_IDL/be_include/be_visitor_interface/ami_handler_servant_cs.h * TAO_IDL/be/be_visitor_interface/ami_handler_servant_cs.cpp: Added these files for code generation of the AMI handler servant. * TAO_IDL/be/be_codegen.h * TAO_IDL/be/be_visitor_factory.cpp * TAO_IDL/be/be_visitor_interface.cpp * TAO_IDL/be_include/be_visitor_interface.h * TAO_IDL/be/be_visitor_interface/interface_cs.cpp Made changes to generate servant code for the AMI handler. Tue Jul 6 09:55:42 1999 Alexander Babu Arulanthu * tao/Invocation.cpp * tao/Wait_Strategy.cpp:Commented out the call to in Invocation class. * client.muxed.conf: Added this file. This enables MT wait strategy and MUXED TMS. * tests/AMI/client.cpp: Addes sendc method. * tests/AMI/Makefile * tests/AMI/run_test.pl * tests/AMI/simple-client.conf * tests/AMI/simple-client.cpp * tests/AMI/test-handC.cpp * tests/AMI/test_i.cpp * tests/AMI/test_i.h * tests/AMI/test_i.i: Cosmetic changes to print usefull debug messages with thread id etc. * tao/Transport_Mux_Strategy.cpp * tao/Transport_Mux_Strategy.h Changes to these files again for making it MT safe. Added SYNCH_MUTEX to the Hash Table. and protected the request_id_generator with a lock. * tao/GIOP.cpp * tao/IIOP_Transport.cpp * tao/Invocation.cpp * tao/Invocation.i * tao/Pluggable.cpp * tao/Pluggable.h * tao/Reply_Dispatcher.cpp * tao/Reply_Dispatcher.h * tao/Transport_Mux_Strategy.cpp * tao/Transport_Mux_Strategy.h * tao/Wait_Strategy.cpp Ooooh!!!. Got the Muxed TMS to work. I havent taken care of the MT case yet. Need to make the Hash Table with SYNCH MUTEX. Things should be ok then. Sun Jul 4 13:00:38 1999 Alexander Babu Arulanthu * Transport_Mux_Strategy.cpp * Transport_Mux_Strategy.h * default_client.cpp: Implemented Muxed TMS. But have nt got to working yet. It is just there not burting anything. * tao/Asynch_Invocation.cpp * tao/Asynch_Invocation.h * tao/Asynch_Invocation.i * tao/Client_Strategy_Factory.cpp * tao/Client_Strategy_Factory.h * tao/Invocation.cpp * tao/Invocation.h * tao/Invocation.i * tao/Pluggable.cpp * tao/Reply_Dispatcher.cpp * tao/Reply_Dispatcher.h * tao/Transport_Mux_Strategy.cpp * tao/Transport_Mux_Strategy.h * tao/default_client.cpp * tao/default_client.h Moved the message state from classes to the Transport Mux Strategy. This makes it to have the behavior of Transport object acccesing the messaging state uniform, across Muxed and Exclusive TMS. I have not done Muxed TMS yet. Sat Jul 3 10:54:00 1999 Alexander Babu Arulanthu * TAO_IDL/be/be_visitor_factory.cpp * TAO_IDL/be_include/be_codegen.h * tao/Asynch_Invocation.cpp * tao/Asynch_Invocation.h * tao/Asynch_Invocation.i * tao/Invocation.cpp * tao/Invocation.h Moved the transport_->idle () to the derived class' constructors. * tests/AMI/test.idl Just commented out the other methods. Left only get_number. * Makefile * client.tss.conf * server.dsp * test_i.cpp * README * orb_creation.cpp * simple-client.conf * test_i.h * client.conf * orb_creation.dsp * simple-client.cpp * test_i.i * client.cpp * run_test.pl* * simple_client.dsp * update.log * client.dsp * server.conf * test-handC.cpp Files for the simple test. But you actually need server and simple-client test files right now. * tests/AMI/simple-client.cpp: Removed the iteration part from the test. Let us keep it really simple. * TAO_IDL/be/be_visitor_factory.cpp * TAO_IDL/be/be_visitor_interface/ami_handler_stub_cs.cpp * TAO_IDL/be/be_visitor_operation/ami_handler_operation_cs.cpp Changes for generating Reply Handler skeletons. * TAO_IDL/be/be_visitor_operation/ami_handler_skeleton_cs.cpp: Added this file. This file generates the demarshalling skeletons for the Reply Handler and then calls the Reply Handler's call back hook methods. This file is not fully done yet. But this visitor is not used for the time being. * tao/Transport_Mux_Strategy.cpp: Fixed the explicit template instantiation problems. Fri Jul 2 16:28:08 1999 Alexander Babu Arulanthu Another big step generating code for AMI. Done with sendc methods and Reply Handler call back methods. Both header files and cpp files contents. TO-DO: Reply Handler skeletons. Reply Handler servants. * tao/Asynch_Invocation.h * tao/Asynch_Invocation.i * tao/Makefile * tao/MessagingC.h * tao/MessagingS.cpp * tao/Reply_Dispatcher.cpp * tao/Reply_Dispatcher.h * TAO_IDL/Makefile * TAO_IDL/ast/ast_decl.cpp * TAO_IDL/be/be_codegen.cpp * TAO_IDL/be/be_decl.cpp * TAO_IDL/be/be_interface.cpp * TAO_IDL/be/be_type.cpp * TAO_IDL/be/be_visitor_argument.cpp * TAO_IDL/be/be_visitor_factory.cpp * TAO_IDL/be/be_visitor_interface.cpp * TAO_IDL/be/be_visitor_operation.cpp * TAO_IDL/be/be_visitor_argument/compiled_marshal_cs.cpp * TAO_IDL/be/be_visitor_interface/ami_handler_stub_ch.cpp * TAO_IDL/be/be_visitor_interface/interface.cpp * TAO_IDL/be/be_visitor_interface/interface_ch.cpp * TAO_IDL/be/be_visitor_interface/interface_cs.cpp * TAO_IDL/be/be_visitor_operation/ami_arglist.cpp * TAO_IDL/be/be_visitor_operation/ami_ch.cpp * TAO_IDL/be/be_visitor_operation/ami_cs.cpp * TAO_IDL/be/be_visitor_operation/ami_handler_arglist.cpp * TAO_IDL/be/be_visitor_operation/ami_handler_operation_ch.cpp * TAO_IDL/be/be_visitor_operation/argument.cpp * TAO_IDL/be/be_visitor_operation/argument_invoke.cpp * TAO_IDL/be/be_visitor_operation/compiled_marshal.cpp * TAO_IDL/be/be_visitor_operation/operation_cs.cpp * TAO_IDL/be/be_visitor_operation/rettype.cpp * TAO_IDL/be/be_visitor_typecode/typecode_decl.cpp * TAO_IDL/be/be_visitor_typecode/typecode_defn.cpp * TAO_IDL/be_include/be_codegen.h * TAO_IDL/be_include/be_decl.h * TAO_IDL/be_include/be_interface.h * TAO_IDL/be_include/be_type.h * TAO_IDL/be_include/be_visitor_argument.h * TAO_IDL/be_include/be_visitor_interface.h * TAO_IDL/be_include/be_visitor_operation.h * TAO_IDL/include/ast_decl.h Added the following files for the changes mentioned above. * TAO_IDL/be/be_visitor_rettype.cpp * TAO_IDL/be/be_visitor_argument/ami_handler_result_arg.cpp * TAO_IDL/be/be_visitor_interface/ami_handler_servant_ch.cpp * TAO_IDL/be/be_visitor_interface/ami_handler_stub_cs.cpp * TAO_IDL/be/be_visitor_interface/collocated_ami_handler_ch.cpp * TAO_IDL/be/be_visitor_operation/ami_handler_operation_cs.cpp * TAO_IDL/be/be_visitor_operation/ami_handler_result_arg.cpp * TAO_IDL/be/be_visitor_operation/ami_handler_operation.cpp * TAO_IDL/be_include/be_visitor_argument/ami_handler_result_arg.h * TAO_IDL/be_include/be_visitor_interface/collocated_ami_handler_ch.h * TAO_IDL/be_include/be_visitor_interface/ami_handler_servant_ch.h * TAO_IDL/be_include/be_visitor_interface/ami_handler_stub_cs.h * TAO_IDL/be_include/be_visitor_operation/ami_handler_operation_cs.h * TAO_IDL/be_include/be_visitor_operation/ami_handler_result_arg.h * TAO_IDL/be_include/be_visitor_operation/ami_handler_operation.h Wed Jun 23 23:19:34 1999 Alexander Babu Arulanthu Added Asynch Invocation class. It makes invocations without waiting for the reply. Implemented a portion of Asynch Reply Dispatcher and Muxed TMS. Not complete yet. * tao/IIOP_Transport.cpp: * tao/Invocation.cpp: * tao/Invocation.p: * tao/Makefilp: * tao/Reply_Dispatcher.cpp: * tao/Reply_Dispatcher.p: * tao/Transport_Mux_Strategy.cpp: * tao/Transport_Mux_Strategy.p: Added the following files. * tao/Asynch_Invocation.cpp: * tao/Asynch_Invocation.h: * tao/Asynch_Invocation.i: Tue Jun 22 11:59:06 1999 Alexander Babu Arulanthu One more big step on generating AMI call back code. If I get rid of the references to the ReplyHandler from the generated files, I could get things to compile. * TAO_IDL/Makefile: * TAO_IDL/be/be_codegen.cpp: * TAO_IDL/be/be_interface.cpp: * TAO_IDL/be/be_visitor_factory.cpp: * TAO_IDL/be/be_visitor_interface.cpp: * TAO_IDL/be/be_visitor_scope.cpp: * TAO_IDL/be/be_visitor_argument/ami_handler_arglist.cpp: * TAO_IDL/be/be_visitor_interface/ami_handler_ch.cpp: * TAO_IDL/be/be_visitor_interface/interface.cpp: * TAO_IDL/be/be_visitor_interface/interface_ch.cpp: * TAO_IDL/be/be_visitor_interface/interface_cs.cpp: * TAO_IDL/be/be_visitor_operation/ami_arglist.cpp: * TAO_IDL/be/be_visitor_operation/ami_ch.cpp: * TAO_IDL/be/be_visitor_operation/ami_cs.cpp: * TAO_IDL/be/be_visitor_operation/ami_handler_arglist.cpp: * TAO_IDL/be_include/be_codegen.h: * TAO_IDL/be_include/be_visitor_interface.h: * TAO_IDL/be_include/be_visitor_operation/ami_handler_arglist.h: Changes for the above. * TAO_IDL/be/be_visitor_interface/ami_handler_cs.cpp: * TAO_IDL/be/be_visitor_interface/ami_handler_stub_ch.cpp: * TAO_IDL/be_include/be_visitor_interface/ami_handler_cs.h: * TAO_IDL/be_include/be_visitor_interface/ami_handler_stub_ch.h: Added these files. Sun Jun 20 07:40:02 EDT 1999 Aniruddha Gokhale * TAO_IDL/be/be_visitor_field/field_ch.cpp: * TAO_IDL/be/be_visitor_union_branch/private_ch.cpp: * TAO_IDL/be/be_visitor_union_branch/public_assign_cs.cpp: * TAO_IDL/be/be_visitor_union_branch/public_ci.cpp: * TAO_IDL/be/be_visitor_union_branch/public_reset_cs.cpp: In the visit_predefined_type method for all the above, we were generating incorrect mapping for typedef to CORBA::Object. In the earlier buggy version we were checking if the local name of the typedef node is "Object". However, the correct way to do this is to check if the local name of the most primitive type node of the typedef node is "Object". Sat Jun 19 22:27:35 1999 Carlos O'Ryan * tests/Multiple_Inheritance/run_test.pl: Made this test safe for nightly builds. Sat Jun 19 22:22:07 1999 Carlos O'Ryan * tao/ORB_Core.h: * tao/ORB_Core.i: * tao/ORB_Core.cpp: * tao/Wait_Strategy.cpp: The thread pool changes had some problems with nested upcalls and the client-side leader follower: they did not keep track of the number of followers properly. This has been fixed. * tests/MT_Server/client.cpp: * tests/MT_Server/run_test.pl: Only shutdown the server if the -x option is used. The script uses this feature to pass cleanly all the time. * tests/NestedUpcall/Reactor/client.cpp: * tests/NestedUpcall/Reactor/client.h: * tests/NestedUpcall/Reactor/eh_i.cpp: * tests/NestedUpcall/Reactor/eh_i.h: * tests/NestedUpcall/Reactor/mt_client.cpp: * tests/NestedUpcall/Reactor/mt_client.h: * tests/NestedUpcall/Reactor/reactor_i.cpp: * tests/NestedUpcall/Reactor/reactor_i.h: * tests/NestedUpcall/Reactor/run_test.pl: * tests/NestedUpcall/Reactor/server.cpp: * tests/NestedUpcall/Reactor/server.h: The -q option can be used to turn the test silent. This is used to run a high number of iterations in the mt client test. Sat Jun 19 17:38:42 1999 Jeff Parsons * TAO_IDL/be/be_visitor_union_branch/public_ci.cpp: * TAO_IDL/be/be_visitor_union_branch/public_assign_cs.cpp: * TAO_IDL/be/be_visitor_union_branch/public_reset_cs.cpp: Fixed code generation for unions with generic CORBA::Object member. TAO IDL compiler classifies CORBA::Object member as a predefined type PT_pseudo, but generated code must be like that for interface. Someday we should make a special type for CORBA::Object in the IDL compiler. Sat Jun 19 17:19:10 1999 Carlos O'Ryan * tao/ORB.h: * tao/ORB.cpp: * tao/ORB_Core.h: * tao/ORB_Core.i: * tao/ORB_Core.cpp: * tao/Wait_Strategy.cpp: Added support for thread pools. Moved the Leader_Follower data structure into the ORB_Core and all the methods from ORB_Core into the Leader_Follower class. * tests/Makefile: * tests/MT_Server/Makefile: * tests/MT_Server/README: * tests/MT_Server/client.cpp: * tests/MT_Server/run_test.pl: * tests/MT_Server/server.conf: * tests/MT_Server/server.cpp: * tests/MT_Server/test.idl: * tests/MT_Server/test_i.h: * tests/MT_Server/test_i.i: * tests/MT_Server/test_i.cpp: New test for the leader follower implementation. * tests/MT_Client/README: Updated * tao/UIOP_Profile.cpp: Removed sperious debug message Sat Jun 19 15:46:22 1999 Alexander Babu Arulanthu One more step Generating Reply Handler skeleton code in the client header file. Again, this will get enabled only when the TAO_IDL is called with the -GC flag. * TAO_IDL/be/be_visitor_argument/ami_handler_arglist.cpp: * TAO_IDL/be/be_visitor_argument/ami_arglist.cpp: * TAO_IDL/be/be_visitor_interface/ami_handler_ch.cpp: * TAO_IDL/be/be_visitor_operation/ami_ch.cpp: * TAO_IDL/be/be_visitor_operation/ami_arglist.cpp: * TAO_IDL/be/be_visitor_operation/ami_handler_arglist.cpp: * TAO_IDL/be/be_visitor_operation/ami_cs.cpp: * TAO_IDL/be/be_visitor_operation/ami_handler_operation_ch.cpp: * TAO_IDL/be/be_visitor_operation/ami_handler_arglist_ch.cpp: * TAO_IDL/be_include/be_visitor_argument/ami_arglist.h: * TAO_IDL/be_include/be_visitor_argument/ami_handler_arglist.h: * TAO_IDL/be_include/be_visitor_interface/ami_handler_ch.h: * TAO_IDL/be_include/be_visitor_operation/ami_ch.h: * TAO_IDL/be_include/be_visitor_operation/ami_arglist.h: * TAO_IDL/be_include/be_visitor_operation/ami_cs.h: * TAO_IDL/be_include/be_visitor_operation/ami_handler_arglist.h: * TAO_IDL/be_include/be_visitor_operation/ami_handler_operation_ch.h: Added all these files. Rename the arglist_* to meaningful *_arglist unformly with meaningful names. * TAO_IDL/Makefile: * TAO_IDL/be/be_visitor_argument.cpp: * TAO_IDL/be/be_visitor_factory.cpp: * TAO_IDL/be/be_visitor_interface.cpp: * TAO_IDL/be/be_visitor_operation.cpp: * TAO_IDL/be/be_visitor_interface/ami_handler_fwd_ch.cpp: * TAO_IDL/be/be_visitor_interface/ami_handler_fwd_ci.cpp: * TAO_IDL/be/be_visitor_interface/interface_ch.cpp: * TAO_IDL/be/be_visitor_operation/arglist_ami.cpp: * TAO_IDL/be/be_visitor_operation/collocated_ss.cpp: * TAO_IDL/be/be_visitor_operation/operation_ami_cs.cpp: * TAO_IDL/be_include/be_codegen.h: * TAO_IDL/be_include/be_visitor_argument.h: * TAO_IDL/be_include/be_visitor_interface.h: * TAO_IDL/be_include/be_visitor_operation.h: * TAO_IDL/be_include/be_visitor_interface/ami_handler_fwd_ch.h: * TAO_IDL/be_include/be_visitor_interface/ami_handler_fwd_ci.h: Changes for the above work. * TAO_IDL/be/be_visitor_argument/arglist_ami.cpp: * TAO_IDL/be/be_visitor_operation/arglist_ami.cpp: * be_include/be_visitor_argument/arglist_ami.h: * be_include/be_visitor_operation/arglist_ami.h: Removed these files since they have been renamed already. Sat Jun 19 15:43:38 1999 Balachandran Natarajan * Cubit/TAO/DII_Cubit/client.dsp: * Cubit/TAO/IDL_Cubit/client.dsp: * Cubit/TAO/IDL_Cubit/server.dsp: * Cubit/TAO/IDL_Cubit/collocation_test.dsp: * Cubit/TAO/MT_Cubit/client.dsp: * Cubit/TAO/MT_Cubit/server.dsp: * POA/Object_Creation_And_Registration/registration.dsp: * Pluggable/client.dsp: * Pluggable/server.dsp: Changed the tao_idl invocation options. * docs/compiler.html: Updated documentation. Sat Jun 19 14:54:38 1999 Jeff Parsons * tao/DynUnion_i_T.h: * tao/DynUnion_i_T.cpp: Cosmetic changes. * tao/DynUnion_i.h: * tao/DynUnion_i.cpp: Class DynUnion_i contains a functor class DU_Extractor to check for a match in TypeCode::member-label when constructing or assigning from an Any. DU_Extractor is a template class containing one function check_match(). The cases where the discriminator is a wchar or an enum caused resolution problems with 16 and 32 bit types respectively, so they had been specialized classes inheriting from a non-template base class. The cases for char and boolean, however, needed only the template function check_match() specialized, in order to use to_char and to_boolean. This kept all the compilers happy until recently, when AIX/egcs complained about char and boolean, so they have also been subclassed. Sat Jun 19 12:59:28 1999 Balachandran Natarajan * rules.tao.GNU : Added the default argument ie. -Ge 1 to be used with the IDL compiler. This will take care of most of the flavours of UNIX. Also added a command line rule called tao_native_exception to override the default from the command line. If the application developer wants to change the default through his make file he can override them by using the rule TAO_IDLFLAGS. * TAO_IDL/util/utl_global.cpp : * TAO_IDL/driver/drv_args.cpp: Made changes to generate code according to the following rules. - If the compilation is on a platform with native C++ exceptions like NT, we may not want the ACE_TRY_ENV variables by default. - If the compilation is on a platform with NO native C++ exceptions like say g++, the compiler generates the environment variables. - cross platform compilation wherein one may compile on SUN CC with native exceptions but for VxWorks which does not have that capability.. In which case a handle is needed to generate the environment variables. This handle is denoted as a command line option to IDL as -Ge 1 - A case that is vice-versa to the above. The option for such a case is -Ge 0 * docs/compiler.html: Added documentation for the -u option in the IDL compiler. * DynAny_Test/basic_test.dsp: * InterOp-Naming/client.dsp: * InterOp-Naming/server.dsp: * MT_Client/client.dsp: * MT_Client/server.dsp: * MT_Client/orb_creation.dsp: * MT_Client/simple_client.dsp: * Multiple_Inheritance/client.dsp: * Multiple_Inheritance/server.dsp: * NestedUpcall/Reactor/client.dsp: * NestedUpcall/Reactor/mt-client.dsp: * NestedUpcall/MT_Client_Test/client.dsp: * NestedUpcall/MT_Client_Test/server.dsp: * NestedUpcall/Triangle_Test/initiator.dsp: * NestedUpcall/Triangle_Test/server_A.dsp: * NestedUpcall/Triangle_Test/server_B.dsp: * Param_Test/client.dsp: * Param_Test/server.dsp: * OctetSeq/OctetSeq.dsp: * orbsvcs/orbsvcs/orbsvcs.dsp: * orbsvcs/orbsvcs/orbsvcs_static.dsp: Changed the tao_idl invocation parameter in all these NT related project files. The command line parameter is set to '-Ge 1'. * Native_Exceptions/client.dsp: * Native_Exceptions/server.dsp: Here the command line parameters where changed from '-Ge' to '-Ge 0'. * examples/Callback_Quoter/Consumer.dsp: * examples/Callback_Quoter/Notifier.dsp: * examples/Callback_Quoter/Supplier.dsp: * examples/Event_Comm/Consumer.dsp: * examples/Event_Comm/Notifier.dsp: * examples/Event_Comm/Supplier.dsp: * examples/OBV/Typed_Events/client.dsp: * examples/OBV/Typed_Events/server.dsp: * examples/POA/DSI/client.dsp: * examples/POA/DSI/server.dsp: * examples/POA/Default_Servant/client.dsp: * examples/POA/Default_Servant/server.dsp: * examples/POA/Forwarding/server.dsp: * examples/POA/Forwarding/client.dsp: * examples/POA/Generic_Servant/client.dsp: * examples/POA/Generic_Servant/server.dsp: * examples/POA/Identity/Identity.dsp: * examples/POA/TIE/client.dsp: * examples/POA/TIE/server.dsp: * examples/Quoter/Factory_Finder.dsp: * examples/Quoter/Generic_Factory.dsp: * examples/Quoter/client.dsp: * examples/Quoter/server.dsp: * examples/Simple/bank/client.dsp: * examples/Simple/bank/server.dsp: * examples/Simple/chat/client.dsp: * examples/Simple/chat/server.dsp: * examples/Simple/echo/server.dsp: * examples/Simple/echo/client.dsp: * examples/Simple/grid/client.dsp: * examples/Simple/grid/server.dsp: * examples/Simple/time/client.dsp: * examples/Simple/time/server.dsp: * examples/Simple/time-date/Time_Date.dsp: * examples//Simulator/DOVEMIB/DOVEMIBx.dsp * examples//Simulator/DOVEMIB/TestClient.dsp: * examples/Simulator/Event_Supplier/DualEC_Sup.dsp: * examples/Simulator/Event_Supplier/Event_Sup.dsp: * examples/Simulator/Event_Supplier/Logging_Sup.dsp:Changed the tao_idl invocation parameter in all these NT related project files. The command line parameter is set to '-Ge 1'. Fri Jun 18 21:00:18 1999 Jeff Parsons * TAO_IDL/fe/idl.ll: * TAO_IDL/fe/idl.ll: * TAO_IDL/fe/lex.yy.cpp: * TAO_IDL/fe/lex.yy.cpp.diff: Added new token for unsigned integer and new line to grammar to create AST_Expression of that type. * TAO_IDL/fe/idl.yy: * TAO_IDL/fe/y.tab.h: * TAO_IDL/fe/y.tab.cpp: * TAO_IDL/fe/y.tab.cpp.diff: Added cases to lex for dec, hex and oct integers so that those integer literals with and without leading '-' are differentiated. We were having a problem with constants of type unsigned long assigned a value that was > LONG_MAX and < ULONG_MAX. Since all integer literals were read as one case (signed longs) these assignments were viewed as negative numbers and so would cause a coercion error. Now integer literals without a leading - sign are read as unsigned longs, and the existing coercion code will catch legitimate out of bounds errors. * TAO_IDL/be/be_sunsoft.cpp: Moved the check for char printout of value '\' to come before check for isprint(). Char value that's read in as '\\' is stored in an AST_Expression as '\'. isprint() sees this as a printable character, so the case below it testing for '\\' was never reached, and char consts assigned the value of '\\' were getting output as '\', causing a C++ compile error. Thanks to Hata Yoshiaki for pointing out this problem. Fri Jun 18 19:37:32 1999 Douglas C. Schmidt * TAO version 0.3.25 released. Fri Jun 18 18:00:02 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Event/EC_ObserverStrategy.h: * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.h: Fixed old g++ warnings Fri Jun 18 16:22:19 1999 Carlos O'Ryan * tests/InterOp-Naming/INS_i.cpp: Fixed warning (and semantic error) in INS_i.cpp, strings returned from a servant should be duplicated. * TAO/orbsvcs/Time_Service/IR_Helper.cpp: * TAO/orbsvcs/Time_Service/IR_Helper.h: * TAO/orbsvcs/tests/EC_Multiple/EC_Multiple.h: * TAO/tests/CDR/octet_sequence.cpp: More char* to const char* conversions, but this time they were harmless. Fri Jun 18 15:35:36 1999 Irfan Pyarali * TAO_IDL/be/be_visitor_array/array_cs.cpp (visit_array): Moved the generation of the *_array_alloc and *_array_free functions from the i file to the cpp file. This is because of the lameness of namespaces and MSVC export madness. * tao/GIOP.cpp (process_server_request): Removed extra ACE_UNUSED_ARG (response_required) and initialized to zero in process_server_request(). * examples/POA/Forwarding/MyFooServant.cpp (handle_input): Removed extra semi-colon. Fri Jun 18 14:26:27 1999 Nanbor Wang * orbsvcs/orbsvcs/Naming/Persistent_Context_Index.cpp (init): Released the servant pointer before returning. Actually, Carlos and Marina fixed this. * *.{mdp,mak}: Removed all MSVC 4 workspaces and makefiles. We are no longer supporting this version of MSVC++. If you need support for MSVC++ 4.x please contact Steve Huston of Riverace to arrange a support contract. * tests/Native_Exceptions/client.cpp (main): Caught exception is not used. * tests/Native_Exceptions/Native_Exception.dsw: * tests/Native_Exceptions/client.dsp: * tests/Native_Exceptions/server.dsp: New files. Fri Jun 18 11:50:31 1999 Carlos O'Ryan * tests/Native_Exceptions/Makefile: * tests/Native_Exceptions/README: * tests/Native_Exceptions/run_test.pl: * tests/Native_Exceptions/client.cpp: * tests/Native_Exceptions/server.cpp: * tests/Native_Exceptions/test.idl: * tests/Native_Exceptions/test_i.h: * tests/Native_Exceptions/test_i.i: * tests/Native_Exceptions/test_i.cpp: Added new test that shows how to write applications using native C++ exceptions, without any of the ACE_TRY macros. * orbsvcs/orbsvcs/Naming/Transient_Naming_Context.cpp: Added missing template instantiations. * tests/CDR/basic_types.cpp: Fixed const char* warnings... Fri Jun 18 11:32:38 1999 Nanbor Wang * tao/Object_Adapter.h (prepare_for_upcall): Added default environment argument value so it would work fine with IDL generated code when using native exception support. * TAO_IDL/be/be_visitor_operation/collocated_ss.cpp (visit_operation): Fixed native exception support. * TAO_IDL/be/be_visitor_interface/collocated_ss.cpp (visit_interface): Some Cosmetic changes. Fri Jun 18 11:19:01 1999 Carlos O'Ryan * tao/ORB_Core.cpp: Put the output CDR alllocators in TSS storage *all* the time. Fri Jun 18 10:07:09 1999 Carlos O'Ryan * examples/POA/Adapter_Activator/server.cpp: * tests/OctetSeq/test_i.cpp: Fixed minor syntax errors. Thu Jun 17 23:43:25 1999 Irfan Pyarali * examples/POA/Adapter_Activator/server.cpp: Fixed servant leak by reference counting it. * examples/POA/Adapter_Activator/run_test.pl * examples/POA/Explicit_Activation/run_test.pl * examples/POA/Loader/run_test.pl * examples/POA/On_Demand_Activation/run_test.pl * examples/POA/On_Demand_Loading/run_test.pl Scripts should create one servant at a time. Otherwise, output is difficult to read. Thu Jun 17 22:41:17 1999 Carlos O'Ryan * tao/ORB_Core.h: * tao/ORB_Core.cpp: Fixed dead-lock during startup, it worked on NT thanks to the recursive mutexes in that land. * TAO_IDL/be/be_visitor_interface/collocated_ss.cpp: Nanbor's changes and ours (Irfan's and mine) did not mix well, fixed. Thu Jun 17 22:44:04 1999 Kirthika Parameswaran * examples/Simple/echo/Echo_i.{h,cpp}: Added throw specs. * examples/Simple/grid/Grid_i.{h,cpp}: Modified throw specs to have double paranthesis. Thu Jun 17 21:45:11 1999 Douglas C. Schmidt * performance-tests/Thruput/TAO: Added the ACE_THROW macros. * examples/Event_Comm: Added the ACE_THROW macros. * examples/Simple/time/Time_i: Fixed the ACE_THROW macros to work correctly. * examples/Simple/bank: Added all the ACE_THROW specs. * ChangeLog: Split the ChangeLog to make a ChangeLog-99a since we were already up to 700k of ChangeLog entries for '99! Thu Jun 17 20:40:56 1999 Carlos O'Ryan * performance-tests/POA/Object_Creation_And_Registration/run_test.pl: Fixed include path Thu Jun 17 21:47:21 1999 Nanbor Wang * be/be_visitor_interface/collocated_sh.cpp: * be/be_visitor_interface/collocated_ss.cpp: Added code for generating collocated _is_a and _non_existent methods. Thu Jun 17 19:38:57 1999 Irfan Pyarali * tao/ORB_Core.h: * tao/ORB_Core.i: * tao/ORB_Core.cpp: * tao/Resource_Factory.h: * tao/Resource_Factory.cpp: * tao/default_resource.h: * tao/default_resource.cpp: * docs/Options.html: * docs/configurations.html: Moved the CDR allocators from the resource factory to the ORB_Core resources. They are stored in either per-ORB-per-thread storage or in per-ORB storage. Notice that the control on the allocators location is left for the -ORBResources flag, but the control of the *type* of allocator is still in the resource factory class. This completes the separation of roles between the resource factory (that only allocates resources), and the ORB_Core (who manage their lifetime). * tao/Stub.h: * tao/Stub.i: * tao/Servant_Base.cpp: * TAO_IDL/be/be_visitor_operation/collocated_ss.cpp: Added new fast accessors to the ORB_Core that do not require a duplicate on every call. Thu Jun 17 15:31:17 1999 Carlos O'Ryan * examples/Callback_Quoter/Consumer_i.cpp: * examples/Callback_Quoter/Consumer_i.h: * examples/Callback_Quoter/Notifier_i.cpp: * examples/Callback_Quoter/Notifier_i.h: * examples/OBV/Typed_Events/Server_i.cpp: * examples/OBV/Typed_Events/Server_i.h: * examples/Quoter/Factory_Finder_i.cpp: * examples/Quoter/Factory_Finder_i.h: * examples/Quoter/Generic_Factory_i.cpp: * examples/Quoter/Generic_Factory_i.h: * examples/Quoter/Quoter_i.cpp: * examples/Quoter/Quoter_i.h: * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp: * orbsvcs/ImplRepo_Service/ImplRepo_i.h: * orbsvcs/LifeCycle_Service/LifeCycle_Service_i.cpp: * orbsvcs/LifeCycle_Service/LifeCycle_Service_i.h: * orbsvcs/orbsvcs/Event/EC_Default_Factory.cpp: * orbsvcs/tests/ImplRepo/IR_Helper.cpp: * orbsvcs/tests/ImplRepo/airplane_i.cpp: * orbsvcs/tests/ImplRepo/airplane_i.h: * orbsvcs/tests/ImplRepo/nestea_i.cpp: * orbsvcs/tests/ImplRepo/nestea_i.h: * performance-tests/Cubit/TAO/MT_Cubit/Globals.cpp: * performance-tests/Cubit/TAO/MT_Cubit/Globals.h: * performance-tests/Cubit/TAO/MT_Cubit/Task_Client.cpp: * performance-tests/Cubit/TAO/MT_Cubit/Task_Client.h: * performance-tests/Thruput/TAO/ttcp_i.cpp: * performance-tests/Thruput/TAO/ttcp_i.h: More throw spec stuff. Also added several fixes to compile on single threaded environments. Thu Jun 17 14:21:21 1999 Nanbor Wang * TAO_IDL/be/be_visitor_interface/interface_ss.cpp (visit_interface): The collocated factory should have used static_cast to downcast the collocated stubs. Thanks to Carlos for pointing this out. Thu Jun 17 14:05:10 1999 Irfan Pyarali * examples/POA/Forwarding/MyFooServant.cpp (MyFirstFooServant): Since we are using the NULL_MASK (whose value is zero), some compilers cannot figure out which register_handler/remove_handler I wanted to use. Fixed by creating a separate variable for the mask and feeding it in. * TAO_IDL/fe/fe_lookup.cpp (lookup): Changed {"",} to {"",0} to keep the HP compiler happy. * TAO_IDL/fe/Makefile.am (fe_lookup.cpp): Fixed the makefile so that the next time fe_lookup.cpp is generated, 0 is used as the fill option. Thanks to Carlos for pointing this out. Thu Jun 17 12:58:20 1999 Carlos O'Ryan * tao/GIOP_Server_Request.cpp: Fixed operation demarshaling for non-ASCII platforms. Thanks to Jim Rogers for motivating these fixes. * examples/POA/RootPOA/run_test.pl: * examples/POA/Identity/run_test.pl: Fixed include path Thu Jun 17 12:33:35 1999 Carlos O'Ryan * tao/GIOP.cpp: * tao/IIOP_Factory.cpp: * tao/UIOP_Factory.cpp: * tao/Protocol_Factory.cpp: Fixed typo in the last commit. Thu Jun 17 12:04:50 1999 Alexander Babu Arulanthu * TAO_IDL/be/be_interface_fwd.cpp: * TAO_IDL/be/be_structure.cpp: * TAO_IDL/be/be_union.cpp: * TAO_IDL/be/be_valuetype.cpp: * TAO_IDL/be/be_valuetype_fwd.cpp: * TAO_IDL/be_include/be_interface_fwd.h: * TAO_IDL/be_include/be_structure.h: * TAO_IDL/be_include/be_type.h: * TAO_IDL/be_include/be_union.h: * TAO_IDL/be_include/be_valuetype.h: * TAO_IDL/be_include/be_valuetype_fwd.h: Changed the signature of various "gen_out_impl", "gen_out_defn", "gen_var_impl" and "gen_var_defn" signatures from "void" to char *'s with default values 0. Thanks to Carlos again for reporting the warnings from IRIX. Thu Jun 17 11:54:11 1999 Carlos O'Ryan * tao/ORB_Core.cpp: Fixed problem with the ORB reactor initialization on multi-threaded programs with global resources. Thu Jun 17 11:17:28 1999 Jeff Parsons * TAO_IDL/ast/ast_generator.cpp: * TAO_IDL/be/be_visitor_argument/vardecl_ss.cpp: * TAO_IDL/be/be_visitor_argument/compiled_marshal_ss.cpp: * TAO_IDL/be/be_visitor_valuetype/valuetype.cpp: * TAO_IDL/be/be_visitor_valuetype/marshal_ch.cpp: * TAO_IDL/be/be_visitor_operation/compiled_marshal.cpp: * TAO_IDL/be/be_visitor_typecodet/typecode_defn.cpp: Removed unused arg warnings from AIX 4.3 w/ egcs 1.1.2. Thu Jun 17 10:48:15 1999 Jeff Parsons * tao/default_server.cpp: * tao/CDR_Interpreter.cpp: * tao/Operation_Table.cpp: * tao/ORB.cpp: * tao/Stub.cpp: * tao/Typecode.cpp: * tao/ValueBase.cpp: * tao/GIOP.cpp: * tao/Resource_Factory.cpp: * tao/Transport_mux_Strategy.cpp: * tao/Context.cpp: * tao/Messaging_Policy_i.cpp: * tao/Pluggable.cpp: * tao/Protocol_Factory.cpp: * tao/IIOP_Transport.cpp: * tao/UIOP_Factory.cpp: * tao/UIOP_Connect.cpp: Removed unused arg warnings from AIX 4.3 w/ egcs 1.1.2. Thu Jun 17 10:05:53 1999 Carlos O'Ryan * */run_test.pl: Fixed several problems with the EXE_EXT variable. Thu Jun 17 00:47:30 1999 Alexander Babu Arulanthu * TAO_IDL/ast/ast_decl.cpp: * TAO_IDL/be/be_interface.cpp: * TAO_IDL/be/be_visitor_operation/operation_cs.cpp: * TAO_IDL/include/ast_decl.h: Fixed the warnings in IRIX. Thanks to Carlos for reporting this. Thu Jun 17 00:13:03 1999 Carlos O'Ryan * TAO_IDL/be/be_visitor_operation/operation_cs.cpp: * TAO_IDL/be/be_interface.cpp: Fixed generation of skeletons that require the _cxx_ prefix. Wed Jun 16 23:59:17 1999 Irfan Pyarali * tao/default_resource.cpp (get_reactor): Must instruct Reactor to delete implementation. * tao/TAO.cpp (~TAO_ORB_Manager): Fixed reversed logic in if statement. * tao/ORB_Core.cpp (init): Must setup flags before creating the reactor. In ~TAO_ORB_Core_TSS_Resources(), must remove() allocators in addition to deleting them. * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Server.cpp (init): ORB Manager duplicates before returning. Must assign return value to PortableServer::POA_var. * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_i.cpp (_default_POA): Must duplicate before return poa. * orbsvcs/orbsvcs/Log/Logger_i.cpp (Logger_Factory_i): Removed template specialization. ACE_CString already has a hash() method. Wed Jun 16 22:49:01 1999 Carlos O'Ryan * examples/Callback_Quoter/Makefile: * examples/Callback_Quoter/Consumer.idl: * examples/Callback_Quoter/Consumer_Handler.cpp: * examples/Callback_Quoter/Consumer_Handler.h: * examples/Callback_Quoter/Consumer_Input_Handler.cpp: * examples/Callback_Quoter/Consumer_i.cpp: * examples/Callback_Quoter/Notifier_Input_Handler.cpp: * examples/Callback_Quoter/example.stocks: * examples/Callback_Quoter/run_test.pl: Added a run_test.pl to automate this test. Had to modify it so the programs will take options to work in non-interactive mode. Wed Jun 16 21:08:58 1999 Irfan Pyarali * TAO_IDL/be/be_visitor_operation/operation_ss.cpp (visit_operation): If the operation is oneway and has no "in" parameters, don't generate the <_tao_server_request> argument since it will not be used. * tao: The following files were updated to remove "unused argument" warnings. Thanks to Steve Huston for reporting these warnings. - Active_Object_Map.cpp - DomainC.cpp - Key_Adapters.cpp - MessagingC.cpp - MessagingS.cpp - POA.cpp - PolicyC.cpp - Sequence_T.cpp - Servant_Base.cpp Wed Jun 16 21:15:31 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Event/EC_ObserverStrategy.h: * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.h: Removed bogus ACE_INLINE declarations, thanks to Dave Meyer for pointing this out. Wed Jun 16 20:14:28 1999 Carlos O'Ryan * tao/ORB_Core.cpp: Added missing initializations * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Client.cpp: * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Server.cpp: Fixed error messages, they were crashing the application (incorrect usage of %p), they were misleading and hard to read. * performance-tests/Cubit/TAO/IDL_Cubit/run_test.pl: Minor fixes for NT. * tao/varout.i: A minor change to keep HP/aCC happy, thanks to Steve Huston for reporting this problem. * tao/TAO.cpp: Catch any exceptions in the destructor so they won't get propagated. Wed Jun 16 19:59:33 1999 Carlos O'Ryan * tao/ORB_Core.cpp: Fixed reactor initialization problem, thanks to Jeff for reporting this problem. Wed Jun 16 19:24:30 1999 Irfan Pyarali * TAO_IDL/be/be_visitor_interface/interface_cs.cpp (visit_interface): Added an ACE_UNUSED_ARG (ACE_TRY_ENV) for the _unchecked_narrow method. Wed Jun 16 19:11:39 1999 Carlos O'Ryan * examples/POA/Forwarding/run_test.pl: Fixed run-time errors, thanks to Irfan for helping out with this. Wed Jun 16 19:08:47 1999 Balachandran Natarajan * examples/Simple/time/Time_i.h: * examples/Simple/time/Time_i.cpp:Added ACE_THROW_SPEC Wed Jun 16 18:54:32 1999 Alexander Babu Arulanthu * TAO_IDL/be/be_interface.cpp: * TAO_IDL/be/be_visitor_operation/operation_cs.cpp: If there is _cxx_ in the beginning of an IDL operation or attribute, we will remove that and keep a copy of the original name. TAO IDL's front end adds _cxx_ prefix to the all the reserved keywords. But when we invoke the operation remotely, we should be sending only the name with out "_cxx_" prefix. Similarly, the look up table should be generated with the names without "_cxx_". * TAO_IDL/include/ast_decl.h: * TAO_IDL/ast/ast_decl.cpp: Added a new method "original_local_name" to return the operation/attribute name without "_cxx_" prefix. Thanks to Sean Landis for reporting this problem. Also, added "-F 0" to the options list given to the gperf by the IDL compiler. This was needed to get rid of the warnings in some platforms. Thanks to Irfan and Naga for helping in this. Wed Jun 16 18:48:28 1999 Carlos O'Ryan * tao/ORB_Core.cpp: Removed bogus template instantiations. * tao/UIOP_Connector.cpp: * tao/IIOP_Connector.cpp: Removed duplicate template instantiations when compiling in single threaded environments. Wed Jun 16 18:26:06 1999 Pradeep Gore * examples/Simple/chat/Broadcaster_i.h: * examples/Simple/chat/Broadcaster_i.cpp: * examples/Simple/chat/Receiver_i.h: * examples/Simple/chat/Receiver_i.cpp: * orbsvcs/examples/CosEC/Factory/CosEventChannelFactory_i.h: * orbsvcs/examples/CosEC/Factory/CosEventChannelFactory_i.cpp: * orbsvcs/tests/CosEC_Basic/CosECConsumer.h: * orbsvcs/tests/CosEC_Basic/CosECConsumer.cpp: * orbsvcs/tests/CosEC_Basic/CosECSupplier.h: * orbsvcs/tests/CosEC_Basic/CosECSupplier.cpp: * orbsvcs/tests/CosEC_Multiple/CosECConsumer.h: * orbsvcs/tests/CosEC_Multiple/CosECConsumer.cpp: * orbsvcs/tests/CosEC_Multiple/CosECSupplier.h: * orbsvcs/tests/CosEC_Multiple/CosECSupplier.cpp: Added the ACE_THROW spec. Wed Jun 16 18:17:24 1999 Irfan Pyarali * tao/DomainS.cpp * tao/MessagingS.cpp * tao/POAS.cpp * tao/PolicyS.cpp * tao/PollableS.cpp Fixed initialization of in TAO_operation_db_entry by changing the nothing initialization to a zero initialization. Wed Jun 16 18:17:24 1999 Balachandran Natarajan * examples/Simple/grid/Grid_i.h: * examples/Simple/grid/Grid_i.cpp:Added the ACE_THROW_SPEC Wed Jun 16 17:50:10 1999 Douglas C. Schmidt * examples/Simple/time-date/Time_Date_i: Added the ACE_THROW specs. Wed Jun 16 17:35:27 1999 Carlos O'Ryan * orbsvcs/orbsvcs/AV/AVStreams_i.cpp: Fixed warning due to misplaced comment. Wed Jun 16 16:54:11 1999 Irfan Pyarali * tao/Object.cpp (CORBA_Object): Check for a non-zero before accessing it. Thanks to Mark L. Boriack for this suggestion. Wed Jun 16 16:05:35 1999 Carlos O'Ryan * performance-tests/POA/Object_Creation_And_Registration/run_test.pl: * examples/POA/Identity/run_test.pl: * examples/POA/RootPOA/run_test.pl: Added scripts to timeout the test in case of failure * orbsvcs/tests/EC_Throughput/run_test.pl: New test for the collocated and remote event channel * orbsvcs/tests/EC_Throughput/ECT_Throughput.cpp: Fixed event channel shutdown * orbsvcs/orbsvcs/Event/EC_Dispatching_Task.cpp: * orbsvcs/orbsvcs/Event/EC_MT_Dispatching.cpp: Fixed multi-threaded dispatching strategy. * tests/MT_Client/Makefile: Use the IDL_EXT macro for the .PRECIOUS and realclean targets. Wed Jun 16 15:59:42 1999 Jeff Parsons * TAO/tests/Param_Test/client.dsp: * TAO/tests/Param_Test/Makefile: * TAO/performance-tests/Pluggable/client.dsp: * TAO/performance-tests/Pluggable/Makefile: * TAO/performance-tests/Cubit/TAO/IDL_Cubit/client.dsp: * TAO/performance-tests/Cubit/TAO/IDL_Cubit/Makefile: * TAO/performance-tests/Cubit/TAO/DII_Cubit/client.dsp: * TAO/performance-tests/Cubit/TAO/DII_Cubit/Makefile: Modified files to reflect the new independence of client code from generated *S.* files. Wed Jun 16 13:41:30 1999 Carlos O'Ryan * Incorporated the changes in the second phase for the asynchronous messaging support. This time Alex changed the IDL compiler to generate the ReplyHandler and the sendc_ methods. The merge includes all the changes from ami_phase2_start to ami_phase2_end. Wed Jun 16 15:31:31 1999 Jeff Parsons * TAO_IDL/be/be_visitor_union/discriminant_ci.cpp: Fixed code that was adding the scope twice when setting the discriminant to a default (unused) enum value. Wed Jun 16 15:10:17 1999 Irfan Pyarali * examples/POA/Forwarding/MyFooServant.cpp (handle_input): Changed ACE_CHECK to ACE_TRY_CHECK. Thanks to Carlos for reporting this warning. Wed Jun 16 14:57:09 1999 Jeff Parsons * tao/DynUnion_i.h: * tao/DynUnion_i.cpp: * tao/DynUnion_i_T.h: * tao/DynUnion_i_T.cpp: Removed the 'const' from the Any args of the DynUnion extractor functions, both template and specialized versions. Thanks to Steve Huston for reporting the errors with AIX 4.3 w/ IBM C/C++ 3.6.4. Wed Jun 16 14:00:53 1999 Jeff Parsons * TAO_IDL/be/be_visitor_interface/interface_cs.cpp: Commented out an unused variable that was causing a compiler warning reported by Carlos. Wed Jun 16 13:47:54 1999 Nagarajan Surendran * orbsvcs/orbsvcs/AV/AVStreams_i.cpp: * orbsvcs/orbsvcs/AV/sfp.cpp: Fixed the THROW_SPEC warnings on HP-UX. Thanks to Steve Huston for reporting these. Wed Jun 16 13:23:57 1999 Vishal Kachroo * orbsvcs/Time_Service/IR_Helper.cpp: Fixed ACE_THROW_SPEC * tests/InterOp-Naming/INS_i.cpp, * tests/InterOp-Naming/INS_i.h: Fixed ACE_THROW_SPEC. Wed Jun 16 12:30:21 1999 Carlos O'Ryan * tao/Makefile: * docs/Options.html: * tao/ORB_Core.h: * tao/ORB_Core.i: * tao/ORB_Core.cpp: * tao/Object_Adapter.cpp: * tao/POA.cpp: * tao/Policy_Manager.cpp: * tao/Servant_Base.cpp: * tao/IIOP_Connect.cpp: * tao/UIOP_Connect.cpp: * tao/Resource_Factory.h: * tao/Resource_Factory.cpp: * tao/default_resource.h: * tao/default_resource.i: * tao/default_resource.cpp: Added new per-ORB-per-thread resources, they only include the reactor and the output CDR allocators at this point. This eliminates some of the problems at shutdown because now the reactor goes down *after* the ORB shutdowns, not before. Also added a new option to the ORB (not the resource factory) to control if the resources are TSS or global, the old option in the resource factory is maintained for backwards compatibility * tests/OctetSeq/Makefile: * tests/OctetSeq/README: * tests/OctetSeq/client.cpp: * tests/OctetSeq/run_test.pl: * tests/OctetSeq/server.cpp: * tests/OctetSeq/test.idl: * tests/OctetSeq/test_i.cpp: * tests/OctetSeq/test_i.h: * tests/OctetSeq/test_i.i: * tests/OctetSeq/OctetSeq.cpp: Added a new test to check the octet sequence optimizations have no side effects across multiple calls. Wed Jun 16 03:13:22 1999 Douglas C. Schmidt * TAO_IDL/ast/ast_expression.cpp (eval_un_op): Fixed an obscure bug in TAO's IDL compiler whereby negative constants weren't being evaluated correctly. Thanks to Hata Yoshiaki for reporting this. Wed Jun 16 01:12:55 1999 Nanbor Wang * docs/releasenotes/orbcore.html: Updated information wrt collocation support. * docs/poa_migration.html: * docs/compiler.html: Removed section about having to include both stubs and skeletons in the client side and how to generate "pure client" code. * TAO-INSTALL.html: Updated intructions on creating MSVC projects. Removed VC 4.2 section. Tue Jun 15 22:16:57 1999 Matthew J Braun * orbsvcs/tests/Concurrency/CC_command.cpp * orbsvcs/tests/Concurrency/CC_test_utils.cpp * orbsvcs/tests/Concurrency/CC_tests.cpp * orbsvcs/Logging_Service/Logging_Service_i.h,cpp: Added ACE_const_cast statements. Those should have been checked in a while ago, but I screwed up. Also, I migrated the TAO_THROW macros to ACE_THROW macros in the Concurrency files. Tue Jun 15 20:19:43 1999 Jeff Parsons * tao/Any.cpp: Removed a comment to me that I had left after fixing what the comment referred to. * TAO/performance-tests/Pluggable/PP_Test_Server.cpp: * TAO/performace-tests/Cubit/TAO/IDL_Cubit/Cubit_Server.cpp: Added a check of the return value of parse_args(). Tue Jun 15 20:15:27 1999 Carlos O'Ryan * orbsvcs/tests/Trading/Offer_Exporter.cpp: * orbsvcs/tests/Trading/Offer_Exporter.h: * orbsvcs/tests/Trading/Offer_Importer.cpp: * orbsvcs/tests/Trading/Offer_Importer.h: * orbsvcs/tests/Trading/Service_Type_Exporter.cpp: * orbsvcs/tests/Trading/Service_Type_Exporter.h: * orbsvcs/tests/Trading/Simple_Dynamic.cpp: * orbsvcs/tests/Trading/Simple_Dynamic.h: * orbsvcs/tests/Trading/TT_Info.h: More TAO_THROW_SPEC converted to ACE_THROW_SPEC, easy job thanks to Seth foresight... Tue Jun 15 18:49:56 1999 Irfan Pyarali * tao: Fixed simple miscellaneous stuff marked by Dr. Schmidt. - Active_Object_Map.h - Active_Object_Map.i - Forwarding_Servant.cpp Tue Jun 15 18:04:36 1999 Carlos O'Ryan * orbsvcs/orbsvcs/orbsvcs.dsp: * orbsvcs/orbsvcs/orbsvcs_static.dsp: Added new file for the event channel implementation. Tue Jun 15 17:44:45 1999 Irfan Pyarali * examples/POA: Fixed the throw spec. * examples/POA/Forwarding/MyFooServant.h (MyFirstFooServant::forward): Added a *hack* (but it's the only one in TAO so that's ok ;-))! We cannot ask the POA to forward us while the upcall is still in progress. So we ask the Reactor to wake us up as soon as this upcall completes. At that time (in handle_input), we ask the POA to forward us. The politically correct way to handle this is to use a separate object (probably a separate interface, e.g., a forwarding agent) to do the forwarding. Also fixed some ACE_DEBUG usage errors. * tao/Invocation.cpp (TAO_GIOP_Twoway_Invocation::start and TAO_GIOP_Locate_Request_Invocation::start): If there was a previous reply, cleanup its state first. Thanks to Carlos for helping with this. Tue Jun 15 16:42:58 1999 Carlos O'Ryan * tao/Exception.h: * tao/Exception.cpp: Added the _raise() method to the system exceptions Tue Jun 15 16:16:48 1999 Nanbor Wang * TAO_IDL/be_include/be_visitor_operation/collocated_ss.h: * TAO_IDL/be/be_visitor_operation/collocated_ss.cpp (void_return_type): Added a helper method to determine whether the generated function returns void or not. Replaced several places that can use the method. (visit_operation): Added ACE_UNUSED_ARG for _tao_retval to avoid warngings on some platforms. The following changes decouple the generated skeletons from the generated stubs. Therefore, there's no need to include *S.* files on client side anymore. * TAO_IDL/be_include/be_visitor_interface/interface_ss.h: * TAO_IDL/be/be_visitor_interface/interface_ss.cpp (visit_interface): Fixed the code to generate <_create_collocated_objref.> * TAO_IDL/be/be_visitor_interface/interface_cs.cpp (visit_interface): Changed to use the _create_collocated_objref of ServantBase to get the collocated object from the servant. * TAO_IDL/be/be_codegen.cpp (start_client_stubs): There's no need to include the server header file in client side anymore. * tao/Servant_Base.{h,cpp} (_create_collocated_objref): This function now takes an extra argument so we can check whether we are asking for the right collocated object reference. Tue Jun 15 16:18:12 1999 Jeff Parsons * tao/decode.cpp: Put back a couple of lines that got cut out accidently in TAO_Marshal_Sequence::decode(). Thanks to Carlos for reporting the Param_Test DII error and to Nanbor for his help in navigating through the extensive change he recently made to this file. Tue Jun 15 15:08:12 1999 Carlos O'Ryan * TAO-INSTALL.html: Updated NT installation notes because the ACE_ROOT and/or TAO_ROOT variable is required. * orbsvcs/tests/Event/Basic/run_test.pl: * orbsvcs/tests/Event/Performance/run_test.pl: Use the new features in the Process perl class to timeout any of the tests. Tue Jun 15 14:50:29 1999 Jeff Parsons * TAO/performance-tests/Pluggable/PP_Test_i.h: * TAO/performance-tests/Pluggable/PP_Test_i.cpp: Added ACE_THROW_SPEC code to member functions. Tue Jun 15 13:24:30 1999 Marina Spivak * orbsvcs/tests/Simple_Naming/client.cpp: Added ACE_THROW_SPEC macros. * orbsvcs/orbsvcs/Naming/Transient_Naming_Context.cpp * orbsvcs/orbsvcs/Naming/Persistent_Naming_Context.cpp: * orbsvcs/orbsvcs/Naming/Persistent_Context_Index.cpp: Added missing template instantiations, workarounds for g++ template problems. Tue Jun 15 12:23:26 1999 Irfan Pyarali * tao/ORB.h (CORBA_ORB): Removed old comments about perform_work() and work_pending() not being supported -- they are actually supported now. Thanks to Pradeep Gore for pointing this out. Tue Jun 15 10:57:08 1999 Douglas C. Schmidt * docs/compiler.html: Improved the TAO IDL compiler documentation. Tue Jun 15 11:51:38 1999 Nagarajan Surendran * orbsvcs/tests/AVStreams/benchmark/run_test.pl: Fixed the run_test.pl so that the first line doesn't start with a # and also appended . to the executable PATH in the script. Tue Jun 15 11:06:13 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Log/Logger_i.cpp: * orbsvcs/orbsvcs/Log/Logger_i.h: * orbsvcs/orbsvcs/Trader/Constraint_Interpreter.cpp: * orbsvcs/orbsvcs/Trader/Constraint_Interpreter.h: * orbsvcs/orbsvcs/Trader/Offer_Database.cpp: * orbsvcs/orbsvcs/Trader/Offer_Database.h: * orbsvcs/orbsvcs/Trader/Offer_Iterators.cpp: * orbsvcs/orbsvcs/Trader/Offer_Iterators.h: * orbsvcs/orbsvcs/Trader/Offer_Iterators_T.cpp: * orbsvcs/orbsvcs/Trader/Offer_Iterators_T.h: * orbsvcs/orbsvcs/Trader/Service_Type_Repository.cpp: * orbsvcs/orbsvcs/Trader/Service_Type_Repository.h: * orbsvcs/orbsvcs/Trader/Trader.cpp: * orbsvcs/orbsvcs/Trader/Trader.h: * orbsvcs/orbsvcs/Trader/Trader_Interfaces.cpp: * orbsvcs/orbsvcs/Trader/Trader_Interfaces.h: * orbsvcs/orbsvcs/Trader/Trader_T.cpp: * orbsvcs/orbsvcs/Trader/Trader_T.h: * orbsvcs/orbsvcs/Trader/Trader_Utils.cpp: * orbsvcs/orbsvcs/Trader/Trader_Utils.h: More ACE_THROW_SPEC fixes, finally the orbsvcs library compile on IRIX! Mon Jun 14 22:58:34 1999 Alexander Babu Arulanthu * orbsvcs/orbsvcs/Property/CosPropertyService_i.h: * orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp: Fixed ACE_THROW_SPEC issues again. Included the CORBA::SystemException. Mon Jun 14 22:02:41 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Makefile: * orbsvcs/orbsvcs/Event/EC_MT_Dispatching.h: * orbsvcs/orbsvcs/Event/EC_MT_Dispatching.i: * orbsvcs/orbsvcs/Event/EC_MT_Dispatching.cpp: Added new dispatching strategy that uses several dispatching threads. Thanks to Thomas Lockhart for motivating this use case. * orbsvcs/orbsvcs/Event/EC_Default_Factory.h: * orbsvcs/orbsvcs/Event/EC_Default_Factory.i: * orbsvcs/orbsvcs/Event/EC_Default_Factory.cpp: Added support for the new dispatching strategy. * orbsvcs/orbsvcs/Event/EC_Command.h: * orbsvcs/orbsvcs/Event/EC_Command.i: * orbsvcs/orbsvcs/Event/EC_Command.cpp: * orbsvcs/orbsvcs/Event/EC_ProxyPushSupplier_Set.h: * orbsvcs/orbsvcs/Event/EC_ProxyPushSupplier_Set.cpp: Fixed name conflict between two classes. * orbsvcs/tests/EC_Throughput/ec.mt.conf: New config file for the MT dispatching strategy * orbsvcs/tests/EC_Throughput/ECT_Throughput.cpp: We don't use the naming service anymore. Mon Jun 14 22:10:15 1999 Douglas C. Schmidt * tao/GIOP.cpp (process_server_request): Make sure to initialize response_required to 0 to keep G++ from complaining. Thanks to Marina for reporting this. Mon Jun 14 21:04:53 1999 Carlos O'Ryan * orbsvcs/orbsvcs/CosEvent_Utilities.cpp: * orbsvcs/orbsvcs/CosEvent_Utilities.h: * orbsvcs/orbsvcs/CosEvent/ConsumerAdmin_i.cpp: * orbsvcs/orbsvcs/CosEvent/ConsumerAdmin_i.h: * orbsvcs/orbsvcs/CosEvent/EventChannel_i.cpp: * orbsvcs/orbsvcs/CosEvent/EventChannel_i.h: * orbsvcs/orbsvcs/CosEvent/ProxyPushConsumer_i.cpp: * orbsvcs/orbsvcs/CosEvent/ProxyPushConsumer_i.h: * orbsvcs/orbsvcs/CosEvent/ProxyPushSupplier_i.cpp: * orbsvcs/orbsvcs/CosEvent/ProxyPushSupplier_i.h: * orbsvcs/orbsvcs/CosEvent/SupplierAdmin_i.cpp: * orbsvcs/orbsvcs/CosEvent/SupplierAdmin_i.h: More ACE_THROW_SPEC stuff * tao/Object.h: Fixed warning in method declaration, it included the class name! Mon Jun 14 20:53:44 1999 Nagarajan Surendran * orbsvcs/orbsvcs/AV/AVStreams_i.{h,cpp}: Fixed a few more ACE_THROW_SPEC errors. Thanks to Carlos for pointing these. Mon Jun 14 19:38:47 1999 Alexander Babu Arulanthu * orbsvcs/orbsvcs/Property/CosPropertyService_i.h: * orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp: Fixed the problems with the ACE_THROW_SPEC. Mon Jun 14 19:36:32 1999 Douglas C. Schmidt * tao/GIOP.cpp (process_server_request): Fixed a couple of "unused" arg warnings caused by various #ifdef paths through the code. Thanks to Marina for reporting this. Mon Jun 14 16:55:26 1999 Irfan Pyarali * tao/Server_Strategy_Factory.cpp (create_servant_lock): * tao/default_server.cpp (create_servant_lock): Removed create_servant_lock(). It is not used and is *very* TAO specific and difficult to get right in the new architecture. Mon Jun 14 16:07:47 1999 Alexander Babu Arulanthu * tao/default_client.cpp: Creating Exclusive TMS always, since Muxed TMS is not available yet. * orbsvcs/orbsvcs/Property/CosPropertyService_i.h: * orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp: Added ACE_THROW_SPEC to the relevant methods. Mon Jun 14 15:34:21 1999 Jeff Parsons * TAO/performance-tests/Cubit/TAO/DII_Cubit/run_test.pl: * TAO/tests/DynAny_Test/run_test.pl: Added timeout features similar to that in IDL_Cubit/run_test.pl: Mon Jun 14 14:37:00 1999 Nagarajan Surendran * orbsvcs/orbsvcs/AV/AVStreams_i.{h,cpp}: Fixed the throw specifications for all the CORBA methods. Mon Jun 14 13:45:41 1999 David L. Levine * performance-tests/Cubit/TAO/MT_Cubit/Cubit_Task.{h,cpp}, Task_Client.h,server.cpp: fixed const char * warnings by replacing CORBA::String with const char *, and adding a few casts for objects that are passed to ACE_ARGV constructors. The casts aren't good: the proper fix would be to fix ACE_ARGV to take const ASYS_TCHAR * arguments. Mon Jun 14 12:29:04 1999 Nanbor Wang * tao/Context.cpp: * tao/Environment.cpp: * tao/Principal.cpp: Made sure the is initialized properly. Thanks to for pointing this out. * tao/Object_KeyC.h: TAO_ObjectKey_var needs to be exported on Win32. Mon Jun 14 11:04:05 1999 Balachandran Natarajan * examples/OBV/Simple_util.cpp: Added a #include. The problem was that HP_UX compiler reported that TAO_debug_level was not found. Hence the #include as a solution. This was reported by Bill Tovrea . Thanks to him for reporting this. Mon Jun 14 10:32:04 1999 Jeff Parsons * TAO/docs/releasenotes/TODO.html: Added item for Dynamic Any overhaul in the 'pending' section. Mon Jun 14 09:59:45 1999 Carlos O'Ryan * TAO_IDL/be/be_visitor_operation/collocated_ss.cpp: Fixed code for void functions, the collocated version was calling through the POA and directly (yikes!) * orbsvcs/orbsvcs/Naming/Transient_Naming_Context.cpp: * orbsvcs/orbsvcs/Naming/Persistent_Naming_Context.cpp: Minor cosmetic fixes. Mon Jun 14 09:58:47 1999 Douglas C. Schmidt * TAO-INSTALL.html: Updated Barry Hoggard's CORBA page URL. Mon Jun 14 08:56:02 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Naming/Transient_Naming_Context.cpp: * orbsvcs/orbsvcs/Naming/Persistent_Naming_Context.cpp: Added missing template instantiations Mon Jun 14 03:57:48 1999 Nanbor Wang * TAO_IDL/be_include/be_visitor_operation/collocated_ss.h: * TAO_IDL/be/be_visitor_operation/collocated_ss.cpp (visit_operation): Added code to generate the implementation that supports Thru_POA collocation strategy. The implementtion for Direct collocation strategy is still here. The generated code query the calling thread's ORB Core to determine the collocation strategy to use. Currently, we don't handle the case in Thru_POA implementation when _downcast fails, i.e., if the servant is a DSI, we'll die a horrible death. That need to be fixed to at least, throw an exception, we may add support for collocated DII/DSI call later. (gen_invoke): (gen_check_exception): Added two helper methods to generate collocated forwarding code and the "ACE_CHECK" macro if the native c++ exception is not supported. * TAO_IDL/be/be_visitor_interface/interface_sh.cpp * TAO_IDL/be/be_visitor_interface/interface_ss.cpp (visit_interface): Added code to generate the declaration and the default implementation of <_create_collocated_objref> method. The default implementation only returns a _tao_collocated_* object because I didn't separate the implementation of Thru_POA and Direct collocated object implementation. Users are allowed to overwrite this method to provide more nifty collocated objects. However, this method is not CORBA compliant. * TAO_IDL/be/be_visitor_interface/interface_cs.cpp (visit_interface): First attemp to decouple stubs from skeleton files. Since we still need to reinterpret the servant pointer returned by the _create_collocated_objref, we still need the skeleton files for now. But it should be fixed real soon. * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_i.{h,cpp} (_default_POA): We need to overwrite the <_default_POA> method because we use two different ORBs in collocation_test. (set_default_poa): Added the method to both Cubit_Factory and Cubit to propage and set the default POA down to Cubit. * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Server.cpp (init): Default_POA must be set correctly for collocation to work. * tao/Servant_Base.{h,cpp} (_create_collocated_objref): This method was intended to decouple the dependency of generated skeletons in stubs. But it is not fully functional yet. Therefore, we still need to include skeletons in client side. * tao/Servant_Base.cpp (_create_stub): We must record the servant_orb when creating a new stub. Stub objects now alway carry a pointer to servant_orb. *Very important*: If it is possible for a servant to be collocated with clients and the clients are using a different ORB from the servant, it is necessary for the servant to *overwrite* the _default_POA method. * tao/Object_Adapter.h (Servant_Upcall): Added TAO_Export to this class. Also added not-implemented copy ctor and operator=. * tao/Object.cpp (_object_key): Added a TAO extension to support Thru_POA collocation strategy. This function returns a reference of object key of the object reference without copying. Since the use of an object key during a collocated upcall never outlives the object reference' lifetime, we don't need to copy the object key. Thanks to Irfan for helping this out. * tao/ORB.cpp (_get_collocated_servant): Set the servant_orb once a collocated servant is found. Notice that at this moment, the method doesn't consider the collocation strategy being used by the orb and record both servant_orb and servant in the stub objects. The consequence of this is, only object that already has a servant available at the time _get_collocated_servant is called will be treated as collocated object. The advantage of this is, we can switch collocation strategy at run-time, but there doesn't seem to be a use case for this. AT any rate. this will be fixed in the future so that if Thru-POA collocation strategy is used, only servant_orb is recorded. Otherwise, only servant is carried by the stub object of the collocated objects. * tao/GIOP.h (TAO_GIOP_Message_State): Added TAO_Export to the class TAO_GIOP_Message_State. Sun Jun 13 23:38:02 1999 Nanbor Wang Quest for TAO try macros free TAO: * tao/deep_copy.cpp: * tao/decode.cpp: * tao/Typecode.{i,cpp}: * tao/Object.cpp: Commented out calls to ACE_TRY_ENV.clear (). We shouldn't depend on them for correct execution of programs. Changed the use of env to ACE try macros. * tao/Marshal.cpp (make_marshal_object): Changed to use ACE try macros. * tao/Exception.cpp (item): Replaced TAO_IN_ENV with ACE_TRY_ENV and commented out ACE_TRY_ENV.clear () since we shouldn't depend on clearing up the environment to make it works correctly. Sun Jun 13 23:29:22 1999 Marina Spivak * orbsvcs/orbsvcs/Naming/Transient_Naming_Context.{h,cpp} * orbsvcs/orbsvcs/Naming/Bindings_Iterator_T.{h,cpp}: Added the above files. * orbsvcs/orbsvcs/Naming/Persistent_Bindings_Map.{h,cpp} * orbsvcs/orbsvcs/Naming/Persistent_Context_Index_T.{h,cpp}: Removed the above files. * orbsvcs/orbsvcs/Naming/Naming_Context.{h,cpp} * orbsvcs/orbsvcs/Naming/Persistent_Naming_Context.{h,cpp} * orbsvcs/orbsvcs/Naming/Persistent_Context_Index.{h,cpp} * orbsvcs/orbsvcs/Naming/Hash_Naming_Context.{h,cpp} * orbsvcs/orbsvcs/Naming/Naming_Utils.{h,cpp} * orbsvcs/orbsvcs/Naming/Entries.{h,cpp} * orbsvcs/orbsvcs/Naming/Persistent_Entries.{h,cpp}: Modified the above files. Restructured the implementation of NamingContext to factor out the common code between persistent and nonpersistent implementations through the Template method pattern (added TAO_Transient_Naming_Context, TAO_Bindings_Map, TAO_Transient_Bindings_Map classes and modified others). Made TAO_Persistent_Context_Index a non-template class, and TAO_Bindings_Iterator a template class. Made a pass through some files for code review - added comments. Got rid of the use of method, and changed lock pointers to lock references. Many other minor adjustments... Sun Jun 13 22:39:51 1999 Douglas C. Schmidt * orbsvcs/orbsvcs/Event/EC_ProxySupplier.h, * orbsvcs/orbsvcs/Event/EC_SupplierFiltering.h, * orbsvcs/orbsvcs/Event/EC_ProxyPushSupplier_Set.h, * orbsvcs/orbsvcs/Event/EC_Gateway.h, * orbsvcs/orbsvcs/Event/EC_Dispatching.h: Added default TAO_default_environment() calls. Thank to Russ Noseworthy for reporting this. Sun Jun 13 21:46:25 1999 Carlos O'Ryan * tests/NestedUpcall/Triangle_Test/run_test.pl: * tests/NestedUpcall/MT_Client_Test/run_test.pl: More scripts changed to use timeouts. * tests/MT_Client/test.idl: * tests/MT_Client/test_i.cpp: * tests/MT_Client/test_i.h: * tests/NestedUpcall/MT_Client_Test/MT_Object_i.cpp: * tests/NestedUpcall/MT_Client_Test/MT_Object_i.h: * tests/NestedUpcall/Reactor/Reactor.idl: * tests/NestedUpcall/Reactor/eh_i.cpp: * tests/NestedUpcall/Reactor/eh_i.h: * tests/NestedUpcall/Reactor/reactor_i.cpp: * tests/NestedUpcall/Reactor/reactor_i.h: * tests/NestedUpcall/Triangle_Test/Initiator_i.cpp: * tests/NestedUpcall/Triangle_Test/Initiator_i.h: * tests/NestedUpcall/Triangle_Test/Object_A_i.cpp: * tests/NestedUpcall/Triangle_Test/Object_A_i.h: * tests/NestedUpcall/Triangle_Test/Object_B_i.cpp: * tests/NestedUpcall/Triangle_Test/Object_B_i.h: * tests/Param_Test/param_test_i.cpp: * tests/Param_Test/param_test_i.h: * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_i.cpp: * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_i.h: * performance-tests/Cubit/TAO/MT_Cubit/cubit_i.cpp: * performance-tests/Cubit/TAO/MT_Cubit/cubit_i.h: * orbsvcs/Event_Service/Event_Service.cpp: * orbsvcs/Event_Service/Event_Service.h: * orbsvcs/tests/EC_Throughput/ECT_Consumer.cpp: * orbsvcs/tests/EC_Throughput/ECT_Consumer.h: More throw specs added Sun Jun 13 16:18:31 1999 Carlos O'Ryan * docs/releasenotes/orbcore.html: Documented the GIOP 1.1 implementation. * docs/releasenotes/TODO.html: Made a pass marking the completed tasks as such Sun Jun 13 15:35:42 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Time/TAO_TIO.cpp: * orbsvcs/orbsvcs/Time/TAO_TIO.h: * orbsvcs/orbsvcs/Time/TAO_Time_Service_Clerk.cpp: * orbsvcs/orbsvcs/Time/TAO_Time_Service_Clerk.h: * orbsvcs/orbsvcs/Time/TAO_Time_Service_Server.cpp: * orbsvcs/orbsvcs/Time/TAO_Time_Service_Server.h: * orbsvcs/orbsvcs/Time/TAO_UTO.cpp: * orbsvcs/orbsvcs/Time/TAO_UTO.h: More throw specs fixed. Sat Jun 12 21:56:35 1999 Carlos O'Ryan * docs/index.html: * docs/Tags.html: A new document that describes how TAO uses tags and other magic numbers. Sat Jun 12 20:29:09 1999 Carlos O'Ryan * tao/corbafwd.h: Documented the tags obtained from the OMG. * tao/ORB.cpp: Improve debugging messages * tao/GIOP.h: Use an OMG assigned profile ID for the unix domain sockets * examples/POA/Default_Servant/File_i.cpp: Create the files in 644 mode, so we can write on them! * examples/POA/Default_Servant/run_test.pl: * tests/MT_Client/run_test.pl: * tests/NestedUpcall/Reactor/run_test.pl: Use the new timed routines to drive this test. * orbsvcs/tests/Simple_Naming/run_test.pl: Minor revision to the multithreaded test * TAO_IDL/be/be_visitor_operation/operation_cs.cpp: * tao/DomainC.cpp: * tao/Invocation.cpp: * tao/MessagingC.cpp: * tao/Object.cpp: * tao/POAC.cpp: * tao/PolicyC.cpp: * tao/PollableC.cpp: The right exception to raise if the stubobj is nil() is CORBA::INTERNAL Sat Jun 12 19:51:29 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Runtime_Scheduler.cpp: * orbsvcs/orbsvcs/Runtime_Scheduler.h: * orbsvcs/orbsvcs/Naming/Hash_Naming_Context.cpp: * orbsvcs/orbsvcs/Naming/Hash_Naming_Context.h: * orbsvcs/orbsvcs/Naming/Naming_Context.cpp: * orbsvcs/orbsvcs/Naming/Naming_Context.h: * orbsvcs/orbsvcs/Naming/Persistent_Naming_Context.cpp: * orbsvcs/orbsvcs/Naming/Persistent_Naming_Context.h: * orbsvcs/orbsvcs/Sched/Config_Scheduler.cpp: * orbsvcs/orbsvcs/Sched/Config_Scheduler.h: * orbsvcs/tests/EC_Basic/EC_Basic.cpp: * orbsvcs/tests/EC_Basic/EC_Basic.h: * orbsvcs/tests/EC_Mcast/EC_Mcast.cpp: * orbsvcs/tests/EC_Mcast/EC_Mcast.h: * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: * orbsvcs/tests/EC_Multiple/EC_Multiple.h: * orbsvcs/tests/Event/lib/Consumer.cpp: * orbsvcs/tests/Event/lib/Consumer.h: * orbsvcs/tests/Event/lib/Supplier.cpp: * orbsvcs/tests/Event/lib/Supplier.h: * orbsvcs/tests/Event_Latency/Event_Latency.cpp: * orbsvcs/tests/Event_Latency/Event_Latency.h: * orbsvcs/tests/EC_Custom_Marshal/ECM_Consumer.cpp: * orbsvcs/tests/EC_Custom_Marshal/ECM_Consumer.h: * orbsvcs/tests/EC_Custom_Marshal/ECM_Supplier.cpp: * orbsvcs/tests/EC_Custom_Marshal/ECM_Supplier.h: More throw spec fixes Sat Jun 12 18:42:04 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Channel_Clients_T.cpp: * orbsvcs/orbsvcs/Channel_Clients_T.h: * orbsvcs/orbsvcs/Concurrency/CC_LockSet.cpp: * orbsvcs/orbsvcs/Concurrency/CC_LockSet.h: * orbsvcs/orbsvcs/Concurrency/CC_LockSetFactory.cpp: * orbsvcs/orbsvcs/Concurrency/CC_LockSetFactory.h: * orbsvcs/orbsvcs/Event/EC_ConsumerAdmin.cpp: * orbsvcs/orbsvcs/Event/EC_ConsumerAdmin.h: * orbsvcs/orbsvcs/Event/EC_Event_Channel.cpp: * orbsvcs/orbsvcs/Event/EC_Event_Channel.h: * orbsvcs/orbsvcs/Event/EC_Gateway.cpp: * orbsvcs/orbsvcs/Event/EC_Gateway.h: * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp: * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.h: * orbsvcs/orbsvcs/Event/EC_ObserverStrategy.cpp: * orbsvcs/orbsvcs/Event/EC_ObserverStrategy.h: * orbsvcs/orbsvcs/Event/EC_ProxyConsumer.cpp: * orbsvcs/orbsvcs/Event/EC_ProxyConsumer.h: * orbsvcs/orbsvcs/Event/EC_ProxySupplier.cpp: * orbsvcs/orbsvcs/Event/EC_ProxySupplier.h: * orbsvcs/orbsvcs/Event/EC_SupplierAdmin.cpp: * orbsvcs/orbsvcs/Event/EC_SupplierAdmin.h: * orbsvcs/orbsvcs/Event/EC_UDP_Admin.cpp: * orbsvcs/orbsvcs/Event/EC_UDP_Admin.h: * orbsvcs/orbsvcs/Event/Event_Channel.cpp: * orbsvcs/orbsvcs/Event/Event_Channel.h: * orbsvcs/orbsvcs/Event/Event_Channel.i: Fixed throw specifications for all the event channel and concurrency service files. Sat Jun 12 18:08:49 1999 Carlos O'Ryan * tao/GIOP.i: Fixed buffer managment bug, the incoming buffer on each (server) transport was re-used for the next call, but we cannot do that because the buffer may be in use by some octet sequences. * tao/GIOP.cpp: More initializations to keep purify happy * tao/ORB.cpp: Removed UMR warning on purify by initializing a CDR buffer with 0's The warning was due to padding bytes, it was not harmful, but it could hide real problems. * utils/nslist/nslist.cpp: Improved output * orbsvcs/tests/Simple_Naming/run_test.pl: Use a file to communicate the IOR back to the client, is more reliable. Several improvements in the subprocess managment. Sat Jun 12 14:28:20 1999 Aniruddha Gokhale * TAO_IDL/be/be_union.cpp: TAO_IDL/be_include/be_union.h: Removed the cast to long for the case when the union member is of type boolean. We handled this by making the blval union member as a long. * TAO_IDL/be/be_visitor_field/field_ch.cpp: TAO_IDL/be/be_visitor_union_branch/public_ch.cpp: We were not handling the code generation of union defined inside a structure or another union. * TAO_IDL/be/be_visitor_field/field_ci.cpp: Cosmetic changes. * TAO_IDL/be/be_visitor_interface/interface_sh.cpp: Fixed indentation problem in generated code. * TAO_IDL/be/be_visitor_operation/arglist.cpp: TAO_IDL/be/be_visitor_operation/argument.cpp: TAO_IDL/be_include/be_visitor_operation/arglist.h: TAO_IDL/be_include/be_visitor_operation/argument.h: These operation visitors now inherit from the be_operation visitor so that we can use the base operations defined on the base class operation visitor. Additional changes are described below. * TAO_IDL/be/be_visitor_operation/arglist.cpp: TAO_IDL/be/be_visitor_operation/argument.cpp: TAO_IDL/be/be_visitor_operation/collocated_ss.cpp: TAO_IDL/be/be_visitor_operation/operation.cpp: TAO_IDL/be_include/be_visitor_operation/operation.h: TAO_IDL/be/be_visitor_operation/operation_cs.cpp: TAO_IDL/be/be_visitor_operation/operation_ih.cpp: TAO_IDL/be_include/be_visitor_operation/operation_ih.h: TAO_IDL/be/be_visitor_operation/operation_is.cpp: TAO_IDL/be_include/be_visitor_operation/operation_is.h: TAO_IDL/be/be_visitor_operation/operation_sh.cpp: TAO_IDL/be/be_visitor_operation/operation_ss.cpp: TAO_IDL/be/be_visitor_operation/tie_si.cpp: Generated stubs/skeletons now support real C++ exceptions as specified by the IDL->C++ mapping. We also generate the ACE_THROW_SPEC macro for the stubs and skeletons. To support this, some common code was factored out and put into the base operation visitor. Users will need to use the -Ge option to the IDL compiler to enable support for C++ exceptions. * docs/releasenotes/index.html: docs/compiler.html: Updated documentation. Fri Jun 11 20:36:37 1999 Balachandran Natarajan * examples/POA/TIE/run_test.pl: Changed the way the client process was launched. Initial a system call was used. But now we are using a Process::Create call to do that. Fri Jun 11 20:04:07 1999 Carlos O'Ryan * performance-tests/Cubit/TAO/IDL_Cubit/run_test.pl: Removed obsolete options Fri Jun 11 19:26:30 1999 Balachandran Natarajan * examples/POA/TIE/server.cpp (main): Fixed a small problem on NT. It was not writing the IOR to a file. It was fixed. * examples/POA/TIE/run_test.pl: Made a change to be on par with Carlos's latest standard. * examples/POA/TIE/run_test.pl: Added a new file. * examples/POA/TIE/server.cpp : To facilitate usage of a perl script for running the test, made the server to ior to a file. * examples/POA/TIE/client.cpp: To facilitate reading the ior by the perl script, change was made to read the ior from the command line in "file://" format . Fri Jun 11 19:08:45 1999 John Heitmann * TAO/examples/POA/DSI/run_test.pl: * TAO/examples/POA/Default_Servant/run_test.pl: * TAO/examples/POA/Explicit_Activation/run_test.pl: * TAO/examples/POA/FindPOA/run_test.pl: * TAO/examples/POA/Forwarding/run_test.pl: * TAO/examples/POA/Loader/run_test.pl: * TAO/examples/POA/NewPOA/run_test.pl: * TAO/examples/POA/On_Demand_Activation/run_test.pl: * TAO/examples/POA/On_Demand_Loading/run_test.pl: * TAO/examples/POA/Adapter_Activator/run_test.pl: * TAO/examples/POA/Reference_Counted_Servant/run_test.pl: Changed all instances where a test would wait forever to waits which time out after a period of time. Fri Jun 11 18:33:21 1999 Jeff Parsons * TAO/tests/Param_Test/server.cpp: Added a const to avoid a SunC++ "string literal to char*" warning. * TAO/performance-tests/Cubit/TAO/DII_Cubit/client.cpp: Various changes to avoid SunC++ 5.0's "string literal to char*" warnings. * TAO/performance-tests/Cubit/TAO/IDL_Cubit/collocation_test.cpp: * TAO/performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Client.h: * TAO/performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Client.cpp: Various maneuvers to avoid SunC++ 5.0 "string literal to char*" warnings. * TAO/tests/DynAny_Test/data.h: Added a 'const' to get rid of SunC++ warnings. * TAO/tests/Param_Test/run_test.pl: Added an unlink $iorfile at the beginning so the client won't get the wrong IOR if the file already exists. This was causing the first test to show CORBA::TRANSIENT exceptions on NT. Thanks to Carlos for suggesting a better fix than the one I had. Fri Jun 11 12:27:29 1999 Douglas C. Schmidt * TAO_IDL/fe/lex.yy.cpp.diff: Updated the diff output to handle the new flex output from idl.ll. * TAO_IDL/fe/idl.ll: Made the following two changes to TAO's IDL flex file. Removed the "A" through "Z" characters ranges. Under EBCDIC the need to be "A through I", "J through R", and "S through Z" (ditto for the lower case letters). Perhaps it should just be changed to be "[ABCDEFGHIJKLMNOPQRSTUVWXYZ]"... Added support for the trigraph "??=" which is the trigraph for the "#" sign. The OpenEdition preprocessor inserts a "pragma" statement at the start of the preprocessed output using this trigraph. Thanks to Jim Rogers for these fixes. Fri Jun 11 14:48:11 1999 David L. Levine * performance-tests/Cubit/TAO/IDL_Cubit/run_test.pl, performance-tests/Cubit/TAO/MT_Cubit/run_test.pl: updated to use Carlos' timeouts. Cool! Fri Jun 11 14:33:27 1999 Jeff Parsons * TAO/tests/DynAny_Test/test_dynenum.cpp: Changed test code to match the change in enum labels made in the IDL file a while back. Fri Jun 11 14:17:20 1999 Carlos O'Ryan * TAO_IDL/include/be_extern.h: Changed several extern "C" functions to plain extern. They were actually compiled with C++ and was giving warnings under Sun/CC 5.0 (and errors in other platforms). * tests/MT_Client/run_test.pl: * examples/POA/Forwarding/run_test.pl: Modified to use the new timeouts, just an example for other test developers. * orbsvcs/tests/Simple_Naming/run_test.pl: It was missing the ACEutils package. Updated to use the process timeouts. Fri Jun 11 11:42:07 1999 Balachandran Natarajan * tests/DynAny_Test/test_wrapper.cpp: Added #include "ace/OS.h" so that they compile on aCC compiler on HP_UX Thu Jun 10 23:17:38 1999 Jeff Parsons * TAO_IDL/be_include/be_enum.h: * TAO_IDL/be/be_enum.cpp: Added a method to convert a numerical value to an enum's string name for it. When generating code for the _default() method for a union, if the discriminator is an enum, some compilers (MSVC among them) will complain about assigning a numeric constant to the discriminator in _default(). This method and the changes below enable the assignment of the enum label identifier instead. * TAO_IDL/be/be_visitor_union/union_ci.cpp: * TAO_IDL/be/be_visitor_union/discriminant_ci.cpp: Moved generation of code for the _default() method from the union visitor to the discriminant visitor, so it would be a little easier to get at the enum labels. Thanks to Kristopher Johnson for pointing out the problem and supplying an IDL file for a test case. Thu Jun 10 23:10:23 1999 Carlos O'Ryan * tao/UIOP_Profile.cpp: Fixed bug in UIOP_Profile enconding. Thu Jun 10 21:32:59 1999 Carlos O'Ryan * tao/TAO.dsp: * tao/TAO_Static.dsp: Added the new files Thu Jun 10 21:20:19 1999 Carlos O'Ryan * tao/Tagged_Components.h: * tao/Tagged_Components.i: * tao/Tagged_Components.cpp: New class to manipulate and query tagged components efficiently. * tao/IIOP_Profile.h: * tao/IIOP_Profile.i: * tao/IIOP_Profile.cpp: * tao/IIOP_Acceptor.cpp: * tao/UIOP_Profile.h: * tao/UIOP_Profile.i: * tao/UIOP_Profile.cpp: * tao/UIOP_Acceptor.cpp: The IIOP and UIOP profiles use the TAO_Tagged_Components class to implement the tagged_components field in GIOP/IIOP 1.1 The Acceptors generate the standard IOP::TAG_ORB_TYPE and IOP * tao/iopfwd.h: * tao/MessagingC.h: Removed "tao/iopfwd.h" the contents are in IOPC.h * tao/corbafwd.h: Added several magic numbers that we use for the tagged components and the codeset support, I tried to describe the source for each one. * tao/ORB.cpp: Fixed demarshaling of TC_opaque (again!) * tao/CONV_FRAME.pidl: * tao/CONV_FRAMEC.cpp: * tao/CONV_FRAMEC.h: * tao/CONV_FRAMEC.i: * tao/CONV_FRAMES.cpp: * tao/CONV_FRAMES.h: * tao/CONV_FRAMES.i: * tao/CONV_FRAMES_T.cpp: * tao/CONV_FRAMES_T.h: * tao/CONV_FRAMES_T.i: Implement the the CONV_FRAME module in CORBA 2.2, it is just a bunch of types, no interfaces. * tao/IOPC.h: * tao/IOPC.i: * tao/IOPC.cpp: * tao/IOPS.h: * tao/IOPS.i: * tao/IOPS.cpp: * tao/IOPS_T.h: * tao/IOPS_T.i: * tao/IOPS_T.cpp: Added the complete (as of CORBA 2.2) IOP module definition. * tao/Makefile: Added the new files. * tao/orbconf.h: * tao/ORB_Core.cpp: * tao/params.h: * tao/params.i: * tao/params.cpp: New option (-ORBStdProfileComponents 0/1) to control the generation of the standard tagged components on each profile. They are optional, i.e. we are not required to generate them, and take some space (in the IORs). Notice that they do *not* affect the critical path (unless you are sending a lot of object references). * docs/Options.html: Documented the new -ORBStdProfileComponents option * utils/catior/catior.cpp: Added support for GIOP 1.1 tagged components in both IIOP and UIOP profiles * tao/GIOP.cpp: Removed unused variable * tao/orbconf.h: * tao/corbafwd.h: * tao/ORB.h: * tao/Exception.h: * tao/Exception.cpp: Removed the last use of TAO_CONST * TAO_IDL/driver/drv_args.cpp: If the temporary directory cannot be open we print an Error, not a Warning (it would be confusing otherwise). Thanks to Jim Rogers for pointing this out. Thu Jun 10 17:15:37 1999 Jeff Parsons * tao/Exception.cpp: Added include and modified identifier related to the codeset translator implemented for IBM1047. Thanks to Jim Rogers for pointing this out. Thu Jun 10 16:51:02 1999 Pradeep Gore * examples/Simple/chat/Server_i.h: * orbsvcs/orbsvcs/CosEvent_Utilities.cpp: fixed sunc++ 5.0 warning for initializing a non const char* with a string literal. Thu Jun 10 15:24:21 1999 Irfan Pyarali * tao/ORB_Core.cpp: Added the inclusion of ace/Object_Manager.h because of the use of ACE_Static_Object_Lock. Thanks to J. Russell Noseworthy for reporting this. Thu Jun 10 15:27:39 1999 Kirthika Parameswaran * examples/Callback_Quoter/Consumer_Handler.h (class Consumer_Handler): Made the stock_name_ member const char* from char* to take care of Sun C++ 5.0 compiler warnings. Thu Jun 10 14:54:30 1999 Balachandran Natarajan * TAO_IDL/be/be_visitor_sequence/sequence_base.cpp * TAO_IDL/be/be_visitor_sequence/sequence_ch.cpp * TAO_DIL/be/be_visitor_sequence/sequence_cs.cpp : Fix for scoped names on NT. NT does not accept scoped names in header files. Thu Jun 10 14:19:02 1999 Kirthika Parameswaran * examples/POA/On_Demand_Loading/Server_Manager.cpp (create_poa): Removed typecast warning and changed the return value to 0 from -1. * examples/POA/On_Demand_Loading/README: Explicitly mentioned that by default Generic_Servant is used and hence needs to be built before running this example using run_test.pl. Thu Jun 10 14:13:19 1999 Jeff Parsons * TAO_IDL/be/be_visitor_typedef/typedef_ch.cpp: be_visitor_typedef_ch::visit_array() had numerous problems, such as the generation of "static" where "ACE_INLINE" should have been in a couple of places, and multiple calls from the same be_typedef object to nested_type_name() in the same stream output statement. This generates incorrect code because nested_type_name() contains static buffers, and the order of evaluations within a chained stream output statement is not guaranteed, only the order of output. Thanks to Carlos for explaining why my fix to this last worked, and to Schuderer Christian for supplying the IDL file that caused the problem. Thu Jun 10 13:53:09 1999 Irfan Pyarali * examples/Simple/Simple_util.cpp: Fixed improper use of return values from the ORB Manager. Since the ORB Manager duplicates the data members before returning them, we must store them in vars. * examples/Simple/chat/Client_i.cpp (run): Changed the use of ORB to ORB Manager to simplify the activatation of the POA Manager. The POA Manager must be activated before incoming calls can reach the servants registered with the POAs that the POA Manager manages. Thanks to Bill Tovrea for pointing out this problem. Thu Jun 10 13:18:31 1999 Nanbor Wang * tao/Request.h: Inline functions must be included *before* RequestSeq to avoid inline functions being used before declared inline warnings. * tao/Request.{i,cpp} (release): Re-inlined release method. Thu Jun 10 13:03:14 1999 Irfan Pyarali * tao/IIOP_Connect.cpp (handle_input): Must return from handle_input if TAO_GIOP::handle_input() returns -1. * tao/ORB_Core.cpp: Added inclusion of POA.h since I removed it from default_resources.h. * tao/default_resource.cpp (init): Removed the -ORBPOA option. Code for parsing this option was still there but this option has not been used in a long time. Thanks to Phil Mesnier for reporting this. * tao/default_server.cpp (TAO_Default_Server_Strategy_Factory): Removed . It is no longer used. Also, in parse_args(), changed -ORBEventLock to -ORBEventLoopLock and fixed the code associated with its parsing (previously it was setting , yikes!). Note that -ORBEventLoopLock should probably remain undocumented for now since its utility is still in question and the default of null lock seems reasonable in many cases. Thu Jun 10 11:07:30 1999 Balachandran Natarajan * tests/Param_Test/tmplinst.cpp: Fixed #pragma instantiations. * TAO_IDL/be/be_visitor_sequence/sequence_cs.cpp * TAO_IDL/be/be_visitor_sequence/sequence_ch.cpp: Fixed a problem in NT. Thanks to Chris & Andy for pointing this out. Thu Jun 10 09:41:06 EDT 1999 Aniruddha Gokhale * tao/Sequence_T.{i, cpp}: Fixed incorrect number of parameters passed to templates. Thu Jun 10 08:12:14 EDT 1999 Aniruddha Gokhale * tao/MessageC.cpp: There were serveral instances where the CORBA::Environment parameter was declared as "env", but we were using the ACE_THROW_* macros which need the ACE_TRY_ENV variable. This is now fixed. * tao/Pluggable.cpp (start_request, start_locate): The header file was using ACE_THROW_SPEC to indicate all possible exceptions these operations can throw. The *.cpp file was, however, using the TAO_THROW_SPEC macro which is a NO-OP and will soon be deprecated. With exceptions enabled, the compiler was giving errors. We now use ACE_THROW_SPEC. Wed Jun 09 23:16:21 1999 Irfan Pyarali * tao/orbconf.h: Without Minimum CORBA, the user will get regular (no locality constraints) policies by default. With Minimum CORBA, the user will get locality constraint policies by default. If #define TAO_HAS_REMOTE_POLICIES 0, then the user will always get locality constraint policies (regardless of Minimum CORBA). If #define TAO_HAS_REMOTE_POLICIES 1, then the user will always get regular policies (regardless of Minimum CORBA). Thanks to Nanbor for helping with this. * tao/Servant_Base.cpp (_dispatch): Added a non-op, exception throwing _dispatch(). * tao/Servant_Base.h: TAO_Local_ServantBase should virtually inherit from TAO_ServantBase. * tao/POAS: * tao/DynAnyS: * tao/Current: Removed the _dispatch() method from all locality constraint classes. Also for the policy classes, moved the _dispatch() method into the TAO_HAS_LOCALITY_CONSTRAINT_POLICIES defines. * tao/Policy: Made the Policy stub and skeleton classes aware of TAO_HAS_LOCALITY_CONSTRAINT_POLICIES, and moved the extra methods not required for locality constraint policies under the TAO_HAS_LOCALITY_CONSTRAINT_POLICIES #defines. * tao/Messaging_Policy_i (RelativeRoundtripTimeoutPolicy): Made inheritance virtual and removed extra copy constructor. * tao/MessagingC (all policies): Since the policies are locality constrained, we can make the stub methods pure virtual and make sure that the _narrow method does not create the stub class. * tao/POA.h (all policies): Removed unnecessary copy constructors. * tao/POA_CORBA: Made the CORBA::Current, PolicyManager, and PolicyCurrent classes locality constrained to match the spec. Wed Jun 9 22:18:10 1999 Balachandran Natarajan * tao/Sequence_T.cpp * tao/Sequence_T.h * tao/Sequence_T.i: Added an operator= (T_var) in TAO_Object_Manager class. This was achieved by adding an extra parameter to the template. This necessiateted that the classes TAO_Unbounded_Object_Sequence, TAO_Bounded_Object_Sequence, TAO_Pseudo_Unbounded_Object_Sequence,TAO_Bounded_Pseudo_Sequence had to be changed. An extra template parameter was added in these classes also. * tao/DomainC.cpp * tao/DomainC.h * tao/DomainC.i * tao/PolicyC.cpp * tao/PolicyC.h * tao/PolicyC.i * tao/Request.cpp * tao/Request.h * tao/corbafwd.h: The changes in these files were done to reflect the changes that were made in the classes above. They had to be done keep in sync with the new template class declarations. * TAO_IDL/be/be_visitor_sequence/elemtype.cpp * TAO_IDL/be/be_visitor_sequence/gen_object_manager_ch.cpp * TAO_IDL/be/be_visitor_sequence/gen_object_manager_ci.cpp * TAO_IDL/be/be_visitor_sequence/sequence_base.cpp * TAO_IDL/be/be_visitor_sequence/sequence_ch.cpp * TAO_IDL/be/be_visitor_sequence/sequence_cs.cpp * TAO_IDL/be_include/be_visitor_sequence/sequence_base.h: Changes to the IDL compiler to reflect the above change that was made. Thanks to Jake Hamby for pointing out the need for the assignment operator and also in helping us out with a sample solution. Wed Jun 9 21:13:00 1999 Chris Gill * examples/Simulator/DOVEMIB/clnt.h: moved CORBA::ORB_var member declaration first in the class. Wed Jun 9 20:16:36 1999 Carlos O'Ryan * Started the work on GIOP 1.1, the current version is still incomplete, but works and has to be tested in more platforms. The features implemented so far include: + Requests are issued using version 1.1 or version 1.0, depending on the version of the profile. + Acceptors create v 1.1 profiles by default, but can generate 1.0 profiles if a -ORBendpoint option with an explicit version is present (like -ORBendpoint iiop://1.0@host:0) + Replys are sent using the same version that the request + There is a framework to receive a request (or reply) broken in multiple fragments. The framework is not specially efficient, is does not handle fragments with different byte order or different GIOP versions and is completely untested. TAO does *not* generate fragments. + Notice that the tagged components in the profile are *not* implemented yet. * tao/orbconf.h: Added new macros to control the default GIOP protocol version, either 1.0 or 1.1 * tao/Acceptor_Registry.cpp: Use the version in the command-line endpoint to initialize the Acceptor. * tao/Environment.h: Cosmetic fixes * tao/GIOP.h: * tao/GIOP.i: * tao/GIOP.cpp: Many changes to support 1.1, including a new class to keep the state of an incoming message composed by multiple fragments. * tao/Server_Request.h: * tao/GIOP_Server_Request.h: * tao/GIOP_Server_Request.cpp: The server request uses the version of the request to determine the version of the reply. We don't need to use exceptions in the constructor, saving us from some really nasty portability problems. * tao/Invocation.h: * tao/Invocation.i: * tao/Invocation.cpp: Moved the code to initialize a Request or LocateRequest message to the transport classes, not only this isolates the use of TAO_GIOP even further, it is also needed because the transport class needs to query the version of the Profile to determine the version of the GIOP message. * tao/ORB_Core.h: * tao/ORB_Core.i: Added the Service Context List to the ORB core, it lacks an elegant interface, but at least it can be set and is used. * tao/Reply_Dispatcher.h: * tao/Reply_Dispatcher.cpp: * tao/Transport_Mux_Strategy.h: * tao/Transport_Mux_Strategy.cpp: Changed the interfaces in the the ORB core to use a TAO_GIOP_Message_State that keeps track of not only the payload, but of any fragments for the current message, the current amount of data read on the fragment, etc. * tao/Pluggable.h: * tao/Pluggable.i: * tao/Pluggable.cpp: * tao/IIOP_Acceptor.h: * tao/IIOP_Acceptor.cpp: * tao/IIOP_Connect.h: * tao/IIOP_Connect.cpp: * tao/IIOP_Factory.h: * tao/IIOP_Factory.cpp: * tao/IIOP_Profile.h: * tao/IIOP_Profile.i: * tao/IIOP_Profile.cpp: * tao/IIOP_Transport.h: * tao/IIOP_Transport.cpp: * tao/UIOP_Acceptor.h: * tao/UIOP_Acceptor.cpp: * tao/UIOP_Connect.h: * tao/UIOP_Connect.cpp: * tao/UIOP_Factory.h: * tao/UIOP_Factory.cpp: * tao/UIOP_Profile.h: * tao/UIOP_Profile.i: * tao/UIOP_Profile.cpp: * tao/UIOP_Transport.h: * tao/UIOP_Transport.cpp: All the classes where change to propagate the GIOP version of the message and the profile used for each request. * orbsvcs/tests/Simple_Naming/client.cpp: Use CORBA::is_nil() to validate object references * orbsvcs/ImplRepo_Service/ImplRepo_i.h: * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp: Updated to use the new TAO IIOP_Profile constructor * utils/catior/catior.cpp: TAO moved to GIOP 1.1, but this test can only handle GIOP 1.0 * utils/nslist/nslist.cpp: * orbsvcs/orbsvcs/Sched/Config_Scheduler.cpp: Fixed use of String_var and managed types must passed using .in() to ACE_DEBUG() * orbsvcs/tests/Trading/Makefile: * examples/POA/Generic_Servant/Makefile: Define PSRC so the dependencies for the program files are also generated. Wed Jun 9 17:16:44 1999 Marina Spivak * orbsvcs/tests/Simple_Naming/run_test.pl: Made the output from print statements go to STDERR. Wed Jun 9 17:07:49 1999 Carlos O'Ryan * tests/NestedUpcall/Reactor/run_test.pl: Improved test output * examples/POA/Generic_Servant/Makefile: Updated dependencies Wed Jun 9 16:58:47 1999 Douglas C. Schmidt * orbsvcs/orbsvcs/Trader/Constraint_Visitors.cpp: Added the explicit template specialization macro, ACE_TEMPLATE_SPECIALIZATION, to make SunC++ 5.0 happy. Thanks to Carlos for explaining how to add this. Wed Jun 09 16:42:03 1999 David L. Levine * orbsvcs/orbsvcs/Sched/Config_Scheduler.cpp (compute_scheduling): changed type of anomaly_severity_msg from char * to const char *, to avoid warnings from Sun C++ 5.0 about string literal conversion. Thanks to Doug for reporting this. Also, removed and changed a few casts to ANSI-style casts. Wed Jun 9 16:26:55 1999 Jeff Parsons * tao/Any.cpp: Changed >>= (to_object) to reflect the change in CORBA 2.3 - namely that the caller is responsible for release of the result of this call. Thanks to Doug Anderson for pointing this out. Wed Jun 09 16:03:12 1999 Irfan Pyarali * examples/POA/Default_Servant/client.cpp * examples/POA/Forwarding/server.cpp * examples/POA/On_Demand_Activation/server.cpp * examples/POA/RootPOA/RootPOA.cpp * examples/POA/TIE/server.cpp: Simple clean up. Also fixed one memory leak. * tao/default_resource.cpp (init): -ORBReactorType handling and selection of Reactor was incorrect. Correct behavior is that "null" should select TAO_REACTOR_SELECT_ST and "token" should select TAO_REACTOR_SELECT_MT. Thanks to Phil Mesnier for reporting this bug. Wed Jun 9 13:43:18 1999 Douglas C. Schmidt * TAO_IDL/fe: Regenerated the y.tab.cpp file with the new BYACC so that we won't have any more annoying warnings about cons t correctness. * utils/nslist: Added a new utility program that prints out a nicely organized list of Naming Contexts in a Naming Service. Thanks to Thomas Lockhart for contributing this. * TAO_IDL/driver/drv_preproc.cpp (DRV_pre_proc): Fixed a bug that was preventing the IDL compiler from putting files in the current directory. Thanks to Byron Harris for reporting this. Tue Jun 08 21:13:36 1999 Irfan Pyarali * tao/IIOP_Profile.cpp (set): Removed the use of TAO_ORB_Core_instance() in this method. The use of this function was incorrect since each ORB has its own set of orb parameters and we should only look at our own ORB's parameters. * tao/IIOP_Profile: Removed extra and unused constructors (again). Also, added extra ORB Core argument to remaining constructors. * tao/IIOP_Profile.h (TAO_IIOP_Profile): * tao/IIOP_Connector.h (TAO_IIOP_Connector): * tao/IIOP_Acceptor.cpp (TAO_IIOP_Acceptor): Added orb core as data member. * tao/UIOP_Acceptor.cpp * tao/UIOP_Acceptor.h * tao/UIOP_Connector.cpp * tao/UIOP_Connector.h * tao/UIOP_Profile.cpp * tao/UIOP_Profile.h Made identical changes to the UIOP side as described above for IIOP. Note that currently we don't need an ORB Core in the UIOP Profile. However, changes were still made for the sake of consistency. * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp (activate_object): Added ORB Core parameter to IIOP Profile constructor. Tue Jun 8 20:32:39 1999 Douglas C. Schmidt * tao/ORB_Core.cpp (init): Fixed a minor bug in the processing of unknown -ORB arguments. Tue Jun 8 20:24:39 1999 Carlos O'Ryan * tao/ORB_Core.cpp: Fixed argument parsing, thanks to Nanbor for pointing this out. Tue Jun 8 20:19:15 1999 Matthew J Braun * tao/Principal.i * tao/Request.cpp,i: Fixed inline use before declaration problem. Tue Jun 8 19:48:01 1999 Jeff Parsons * TAO_IDL/ast/ast_module.cpp: Added TCKind to the CORBA:: scoped names added to the symbol table when module CORBA is first added to the scopes. I noticed that CORBA::TCKind is used as a return type in the forthcoming Dynamic Any spec and so it couldn't hurt to add IDL compiler recognition of it now. Tue Jun 8 18:57:00 1999 Balachandran Natarajan * examples/POA/Default_Servant/server.cpp * examples/POA/Default_Servant/client.cpp * examples/POA/Generic_Servant/MyFooServant.cpp * examples/POA/Identity/Identity.cpp * examples/POA/NewPOA/NewPOA.cpp * examples/POA/On_Demand_Activation/server.cpp * examples/POA/On_Demand_Loading/Servant_Manager.cpp * examples/POA/RootPOA/RootPOA.cpp * TIE/client.cpp * TIE/server.cpp: Made changes to the way exceptions were being handled. Some comments were added to make the printout from ACE_PRINT_EXCEPTION look meaningful. Tue Jun 08 18:50:00 1999 Kirthika Parameswaran * /orbsvcs/tests/AVStreams/benchmark/svc.conf * /orbsvcs/tests/AVStreams/benchmark/clnt.conf * /performance-tests/Thruput/TAO/svc.conf * /MT_Client/client.conf * /NestedUpcall/MT_Client_Test/client.conf * /orbsvcs/tests/ImplRepo/implrepo.conf * /orbsvcs/tests/Time/implrepo.conf Modified these files to remove redundant configuration options. * /orbsvcs/tests/AVStreams/mpeg/source/client/svc.conf * /orbsvcs/tests/AVStreams/mpeg/source/server/svc.conf * /orbsvcs/tests/ImplRepo/svc.conf * /tests/Param_Test/svc.conf * /examples/POA/On_Demand_Loading/svc.conf * /examples/Simulator/DOVEMIB/svc.conf * /examples/Simulator/Event_Supplier/svc.conf * /MT_Client/client.global.conf Removed the *.conf files above since they contained only redundant options. * /orbsvcs/Event_Service/svc.conf * /orbsvcs/tests/Event/Basic/svc.conf * /orbsvcs/tests/EC_Mcast/svc.conf * /orbsvcs/CosEvent_Service/svc.conf * /tests/FL_Cube/svc.conf * /tests/NestedUpcall/Reactor/svc.conf * /examples/Simple/time-date/svc.conf * /examples/POA/Identity/svc.conf * /performance-tests/Cubit/TAO/IDL_Cubit/collocation/svc.conf * /performance-tests/Cubit/TAO/IDL_Cubit/svc.conf * /performance-tests/Cubit/TAO/MT_Cubit/svc.conf * /performance-tests/POA/Object_Creation_And_Registration/svc.conf * /POA/Explicit_Activation/alternate.conf * /Quoter/client.conf * /Quoter/server.conf * /MT_Client/client.tss.conf * /MT_Client/server.conf * /NestedUpcall/Reactor/svc.mt.conf * /orbsvcs/tests/Event/Basic/sched.conf * /orbsvcs/tests/Event/Basic/observer.conf * /orbsvcs/tests/Event/Performance/ec.mt.conf * /orbsvcs/tests/Event/Performance/ec.st.conf * /orbsvcs/tests/EC_Throughput/ec.conf * /orbsvcs/tests/EC_Throughput/ec.mt.conf Retained the *.conf files above as they were originally. Thanks to Irfan, Nanbor, Naga, Carlos, David of the DOC group for helping me with this. Tue Jun 08 18:17:38 1999 Irfan Pyarali * tao/POA.cpp (find_POA): Must release the Object Adapter lock before calling the Adapter Activators which may call back into the POA (create_POA) causing a deadlock. Thanks to Carlos for pointing this out. * performance-tests/POA/Object_Creation_And_Registration/svc.conf: Changed ORBTableSize to ORBActiveObjectMapSize. Also, removed POA lock null option. Tue Jun 8 17:12:24 1999 Vishal Kachroo Made the ORB_var to be after all other _var member variables. * /orbsvcs/Time_Service/Clerk_i.h * /orbsvcs/Time_Service/Server_i.h * /orbsvcs/Time_Service/IR_Helper.h * /orbsvcs/tests/Time/Client_i.h * docs/Options.html : Updated the -ORBInitRef to include the filetype IOR. Tue Jun 08 16:10:09 1999 David L. Levine * tao/corbafwd.h: fixed comments that describe the minor code format. Tue Jun 8 16:06:15 1999 Pradeep Gore * examples/Event_Comm/Consumer_Handler.h: * examples/Event_Comm/Notifier_Handler.h: * examples/Simple/chat/Client_i.h: * orbsvcs/CosEvent_Service/CosEvent_Service.h: Reordered the CORBA::ORB_var declaration in these files so that the ORB_var is destroyed after all the other "_var" members. Tue Jun 08 15:47:25 1999 Nanbor Wang * tao/Object.i: * tao/Typecode.i: * tao/ORB.i: Moved is_nil and release around to avoid inline functions being used before declared inlined warnings. Thanks to David for pointing this out. Tue Jun 8 15:53:54 1999 Douglas C. Schmidt * orbsvcs/LifeCycle_Service/Criteria_Evaluator.cpp (getCriteriaMember): Fixed a const-correctness problem. Thanks to Michael Kircher for this. * Fixed the capitalization of all options in TAO's svc.conf files. * tao/ORB_Core.cpp, tao/default_resource.cpp, tao/default_server.cpp, tao/default_client.cpp: Fixed the parsing of options so that they are case insensitive, e.g., "-ORBsvcconf" is the same as "-ORBSvcConf". This allows us to use more intuitive "intercap" spelling in the documentation without breaking existing software. * tao/ORB_Core.cpp (init): If an non "-ORB" argument is given to ORB_init() we now print a warning message (if the TAO_debug_level > 0) and "consume" the argument. This is in accordance with the CORBA spec. Tue Jun 8 15:38:01 1999 Alexander Babu Arulanthu * docs/Options.html: * tao/default_client.cpp (create_transport_mux_strategy): Renamed the ORBtransportmuxstrategy to ORBRequestMuxStrategy. Tue Jun 08 15:12:05 1999 Irfan Pyarali * examples/POA/Loader/Servant_Activator.cpp (ServantActivator_i): Fixed "ANSI C++ forbids casting between pointers to functions and objects" warning. Thanks to David for pointing this out. Tue Jun 8 15:15:09 1999 Jeff Parsons * TAO/tests/Param_Test/param_test_i.h: * TAO/tests/Param_Test/param_test_i.cpp: * TAO/tests/NestedUpcall/MT_Client_Test/client.h: Moved class member ORB_var orb_ up the list so it will get destroyed after other _vars. * tao/DynArray_i.h: * tao/DynArray_i.cpp: * tao/DynSequence_i.h: * tao/DynSequence_i.cpp: * tao/DynStruct_i.h: * tao/DynStruct_i.cpp: * tao/DynUnion_i.h: * tao/DynUnion_i.cpp: Renamed member 'index_' as 'current_index_' just to be safe. * TAO_IDL/be/be_visitor_root/root.cpp: Added missing case to function visit_constant(). Thanks to Sridevi Subramanian for pointing out this problem. Tue Jun 8 15:09:35 1999 Kirthika Parameswaran * examples/Callback_Quoter/Consumer_i.h (class Consumer): * examples/Callback_Quoter/Consumer_Handler.h (class Consumer_Handler): * examples/Callback_Quoter/Supplier_i.h (class Supplier): Moved the CORBA::ORB_var before the other vars in the member declaration so that it gets destructed last. Tue Jun 8 15:03:02 1999 Alexander Babu Arulanthu * orbsvcs/tests/Property/client.h: * orbsvcs/tests/Property/client.cpp: Fixed the SunCC5.0 warnings. Tue Jun 08 13:36:36 1999 Nanbor Wang * tao/Stub.{h,i} (servant_orb): Added data member servant_orb_ and its accessor and mutator. This ORB_var stores the pointer of a collocated servant and is used to locate/query the servant/POA. Mon Jun 07 15:47:02 1999 Nanbor Wang * docs/Options.html: Documented ORB options -ORBglobalcollocation and -ORBcollocationStrategy. * tao/ORB_Core.{h,i,cpp}: Removed accessor/mutator using_collocation methods. They have been replaced by optimize_collocation_objects. Added enum definition for collocation_strategy and get_collocation_strategy which is an accessor for ORB's collocation strategy. TAO will support two strategies THRU_POA and DIRECT which should be self-explaining. The default strategy will be THRU_POA because it is considered the safe thing to do. Veteran users might consider using DIRECT collocation strategy if situation allows. A third strategy "ORB_CONTROL" is the default value passed to Servant_Base::_create_collocated_objref. This makes all servant to query the ORB to decide which collocation strategy to use. But we can also provide per-object collocation strategy in a later point of time. (init): Added a new option -ORBcollocationstrategy which takes two possible values "thru_poa" and "direct". The defualt is, of course, "thru_poa". * tao/Servant_Base.{h,cpp} (_create_collocated_objref): Added a factory method to strategize what collocated object implementation we want to use and also to decouple the stubs and skeletons code. * tao/Exception.h: Reordered class member functions to put all TAO extensions at the end of the public section of each class. Added more comments. * tao/Exception.{h,cpp} (_tao_print_exception): Renamed to _tao_print_exception to avoid clashing with user defined methods. (_tao_print_system_exception): Renamed to _tao_print_system_exception to avoid name clashing. (_tao_minor_code,_tao_errno): Rename and to _tao_minor_code and _tao_errno to avoid name clashing. Changed several uses of "new" to ACE_NEW_THROW_EX. * tao/POA.cpp: * tao/Invocation.cpp: * tao/GIOP.cpp: Changed the use of minor_code_tao_ to _tao_minor_code. * tao/TAO.{h,cpp}: * tao/GIOP_Server_Request.cpp (marshal): Changed to use ACE_TRY macros and made sure the code is exception safe. * tao/orbconf.h (TAO_NAMESPACE_INLINE_FUNCTION): Inline function within a namespace must be treated differently. On most platform, using TAO_NAMESPACE_STORAGE_CLASS would work for functions within a namespace. However, since the macro uses TAO_Export, which totally confuses MSVC to think that the symbols for these functions are to be exported while in fact, they are only inline functions and do not need any entry point at all. The newly added macro (TAO_NAMESPACE_INLINE_FUNCTION) separates out this situation and simply uses the "inline" keyword. * tao/Marshal.h: Added #include "tao/Principal.h" because Marshal.i uses inline functions in Principal.i. * tao/Context.{i,cpp}: * tao/Environment.{i,cpp}: * tao/NVList.{i,cpp}: * tao/ORB.{i,cpp}: * tao/Object.{i,cpp}: * tao/Principal.{i,cpp}: * tao/ValueBase.{i,cpp}: * tao/Request.{i,cpp}: * tao/Server_Request.{i,cpp}: * tao/Typecode.{i,cpp}: * tao/corbafwd.{i,cpp}: Re-inlined string_alloc, string_free, is_nil and release methods. Tue Jun 08 14:39:55 1999 David L. Levine * tao/corbafwd.h,Exception.cpp: added minor code support for ENOENT, EBADF, EPERM, and EAFNOSUPPORT errno values. Tue Jun 08 14:15:52 1999 David L. Levine * TAO version 0.3.24 released. Tue Jun 08 10:00:12 1999 David L. Levine * examples/Simple/time-date/Makefile: added some Time_Date* files to FILES and LDLIBS to LIBS, to enable creation of the shlib without warnings on DU 5.0. Tue Jun 08 09:42:20 1999 David L. Levine * orbsvcs/tests/Simple_Naming/client.cpp (execute): added .ptr () derference of orb_ before comparing it to 0. Tue Jun 08 00:15:44 1999 Irfan Pyarali * examples/POA/Loader/Servant_Activator.cpp (ServantActivator_i): * examples/POA/On_Demand_Loading/Servant_Manager.cpp (obtain_servant): Fixed void* to function pointer cast. Tue Jun 8 00:19:02 1999 Fred Kuhns * Files modified: Acceptor_Registry.cpp, Acceptor_Registry.h, Connector_Registry.cpp, Connector_Registry.h, IIOP_Acceptor.cpp, IIOP_Connector.cpp, IIOP_Connector.h, IIOP_Profile.cpp, IIOP_Profile.h, IIOP_Profile.i, Invocation.cpp, ORB.cpp, ORB_Core.cpp, Object.cpp, Pluggable.cpp, Pluggable.h, UIOP_Acceptor.cpp, UIOP_Connector.cpp, UIOP_Profile.cpp, UIOP_Profile.h, UIOP_Profile.i, UIOP_Transport.h * Changed the interface to Connector_Registry. Altered connect() method to accept profiles rather than a Stub Object pointer. * tao/Acceptor_Registry: comments updates * tao/IIOP_Acceptor: Comments and fixed is_collocated to use the cached copy of the local address. * tao/IIOP_Connector: comments and fixed use of profile->addr_to_string * tao/IIOP_Profile: Comments, changes add_to_string to accept a buffer. changed _key () to be _key (void), removed use of body_ (CDR stream). * tao/Invocation: comments and fixed use of connector_registry->connect () * tao/ORB.cpp: comments and fixed use of profile->_key () to not include ENV. * tao/ORB_Core: comments * tao/Pluggable: comments and fixed TAO_XX_Profile::addr_to_string () to include a buffer, alsoc TAO_XX_Profile::_key () to not include ENV. * tao/UIOP_{Acceptor,Connector,Profile,Transport}: comments and also UIOP_Profile::_key() and UIOP_Profile::addr_to_string. Tue Jun 8 00:09:10 1999 Carlos O'Ryan * tests/MT_Client/run_test.pl: The test driver works more reliably now. * tests/NestedUpcall/Reactor/client.h: * tests/NestedUpcall/Reactor/mt_client.h: Fixed ORB vs. servants order Mon Jun 07 23:39:40 1999 Irfan Pyarali * tao/Object_Adapter.cpp (Servant_Upcall): The code in the destructor of POA Current must be run before the Object Adapter lock is released. With the reorganization Nanbor and I did, this was no longer true. Therefore, the solution was to move the code from the destructor to a teardown() method which is run before the Object Adapter lock is released. * tao/IIOP_Connect: Removed the following extra and unused functions: - TAO_IIOP_Server_Connection_Handler::handle_message - TAO_IIOP_Server_Connection_Handler::handle_locate - TAO_UIOP_Server_Connection_Handler::handle_message - TAO_UIOP_Server_Connection_Handler::handle_locate * tao/GIOP: Moved the exception handling code from process_server_message() to process_server_request() and process_server_locate(). This was necessary since the two handle exceptions in different ways: process_server_request() propogates to the client in a GIOP::Reply while process_server_locate() propogates to the client in a GIOP::LocateReply. BTW, the credit/blame for this goes to Carlos. * examples/POA/Forwarding/client.cpp (main): Fixed exception handling. * examples/POA/Forwarding/Servant_Locator.cpp (preinvoke): The forwarding location must be specified when constructing the ForwardRequest. * examples/POA/FindPOA/FindPOA.cpp (main): POA Manager must be activated before use. * tao/TAO.h (TAO_ORB_Manager): Added POA Manager accessor. * orbsvcs/ImplRepo_Service/ImplRepo_i.h (AdapterActivator): * tao/POA.cpp (TAO_Adapter_Activator::unknown_adapter): Held on to the POA Manager. If we don't, we'll have to create a new one and then we'll have to worry about its state (remember that POA Managers are created in holding state). * orbsvcs/ImplRepo_Service/ImplRepo_i: * orbsvcs/tests/ImplRepo/airplane_server_i.cpp: Fixed improper use of return values from the ORB Manager. Since the ORB Manager duplicates the data members before returning them, we must store them in vars. * orbsvcs/tests/ImplRepo/IR_Helper.cpp (IR_Helper): Since the POA and ORB are kept as vars, we must duplicate them since keep them around in the constructor. Mon Jun 7 23:49:51 1999 Carlos O'Ryan * orbsvcs/examples/CosEC/Factory/CosEventChannelFactory_i.cpp: * orbsvcs/examples/CosEC/Factory/FactoryClient.cpp: Fixed problems with conversion from T_var to T_ptr for g++ 2.7.X * orbsvcs/tests/Event/Basic/Observer.cpp: * orbsvcs/tests/Event/Performance/Connect.cpp: * orbsvcs/tests/Event/Performance/Throughput.cpp: More T_var to T_ptr problems and a few unused variables. Mon Jun 7 21:57:29 1999 Carlos O'Ryan * tao/append.cpp: * tao/skip.cpp: The marshaling and demarshaling code for object references inside anys was broken, it only handled IIOP profiles and used chars where octets where needed. * tao/UIOP_Profile.cpp: Improve debugging messages and handle errors more gracefully. * tests/Param_Test/Makefile: * tests/Param_Test/server.cpp: Minor cosmetic fixes Mon Jun 7 20:37:27 1999 Carlos O'Ryan * orbsvcs/tests/Simple_Naming/client.h: * orbsvcs/tests/Simple_Naming/client.cpp: The ORB was being leaked: the TAO_ORB_Manager::orb() method returns a duplicate and that was not getting released in both the MT_Test constructor invocation and in the naming_client.init() call. * tao/ORB.cpp: The naming service and other object references should be release *before* releasing the ORB core. * tao/ORB_Core.cpp: Made the use of ACE_CString in the ORB_Table explicit, so we understand what is going on. Mon Jun 7 16:13:31 1999 Carlos O'Ryan * tao/Exception.h: * tao/Exception.cpp: * tao/Invocation.cpp: The system exceptions were not being demarshaled on the server side. Fixed the signature of TAO_Exceptions::create_system_exception, it was returning a CORBA::Exception* but a CORBA::SystemException* was better. * tao/IIOP_Acceptor.cpp: * tao/IIOP_Connector.cpp: Added a few debugging messages if there is an error. * performance-tests/Cubit/TAO/MT_Cubit/cubit_i.h: * performance-tests/Cubit/TAO/MT_Cubit/cubit_i.cpp: * performance-tests/Cubit/TAO/MT_Cubit/Cubit_Task.cpp: * performance-tests/Cubit/TAO/MT_Cubit/Task_Client.cpp: The Cubit_i objects were activated with the _default_POA(), but that was not overriden, hence they were using the default/_default_POA which is the RootPOA of the default ORB. There was also an activation under a child POA but that was not exported through the IORs printed to the file. Mon Jun 07 15:14:47 1999 David L. Levine * utils/catior/catior.cpp (cat_iiop_profile): added missing read of port_number from the str. * utils/catior/README: updated to mention that there's now a test subdirectory containing samples, instead of just a single sample file. Mon Jun 7 12:39:14 1999 Douglas C. Schmidt * examples/Simple: Fixed const-correctness problems with all the simple examples. Mon Jun 07 11:51:52 1999 David L. Levine * performance-tests/Cubit/TAO/MT_Cubit/Task_Client.cpp (svc,cube_octet,do_test): added timestamps and an errno printout, for debugging purposes. The errno printout should be removed later. Mon Jun 07 10:43:12 1999 Irfan Pyarali * tao/default_resource.cpp (TAO_Allocated_Resources): Moved the destruction of the Reactor before the destruction of the allocators. The handlers deleted when the Reactors die access these allocators. Thanks to Carlos for helping with this. Mon Jun 7 01:11:06 1999 Douglas C. Schmidt * examples/POA/DSI/client.cpp (main): Corrected an overly aggresive removal of "const char *". Thanks to David for reporting this. * orbsvcs/orbsvcs/Naming/Naming_Context.h: Added default CORBA::Environment & = TAO_default_environment() calls. Thanks to Frank Buschmann for reporting this. * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.h, orbsvcs/orbsvcs/Event/EC_Event_Channel.h: Added default CORBA::Environment & = TAO_default_environment() calls. Thanks to J. Russell Noseworthy for catching this. Sun Jun 06 23:17:05 1999 Irfan Pyarali * tao/POAC: Changed back to . We can't rename this since it is specified in the CORBA spec. Please let us know if this breaks anything on compilers like MVS C++ and we'll figure out another workaround. * tao/GIOP.cpp (process_server_locate): Initialized to TAO_GIOP_UNKNOWN_OBJECT. This is a safe initial value and will prevent the "might be used uninitialized in this function" warning. * orbsvcs/orbsvcs/Naming/Naming_Utils.cpp (init): Fixed the method such that when we are not looking for an existing Naming Service and we are simply become one, we don't print extra erroneous debug messages. Thanks to Gul Onural for pointing this out. Sun Jun 6 22:09:39 1999 Carlos O'Ryan * orbsvcs/orbsvcs/AV/sfp.cpp: * orbsvcs/orbsvcs/Trader/Trader.cpp: Fixed duplicate template instantiations, IRIX does not like that. Sun Jun 06 21:42:46 1999 Carlos O'Ryan * orbsvcs/orbsvcs/orbsvcs.dsp: * orbsvcs/orbsvcs/orbsvcs_static.dsp: A couple of .idl file where not re-compiled when the DIL compiler changed, fixed the dependencies. Sun Jun 6 20:25:31 1999 Carlos O'Ryan * TAO_IDL/ast/ast_decl.cpp: * TAO_IDL/ast/ast_expression.cpp: * TAO_IDL/ast/ast_generator.cpp: * TAO_IDL/ast/ast_operation.cpp: * TAO_IDL/be/be_codegen.cpp: * TAO_IDL/be/be_expression.cpp: * TAO_IDL/be/be_generator.cpp: * TAO_IDL/be_include/be_expression.h: * TAO_IDL/be_include/be_generator.h: * TAO_IDL/driver/drv_preproc.cpp: * TAO_IDL/fe/idl.ll: * TAO_IDL/fe/idl.yy: * TAO_IDL/fe/lex.yy.cpp: * TAO_IDL/fe/y.tab.cpp: * TAO_IDL/fe/y.tab.h: * TAO_IDL/include/ast_decl.h: * TAO_IDL/include/ast_expression.h: * TAO_IDL/include/ast_generator.h: * TAO_IDL/include/idl_global.h: * TAO_IDL/include/utl_error.h: * TAO_IDL/include/utl_string.h: * TAO_IDL/include/utl_strlist.h: * TAO_IDL/util/utl_error.cpp: * TAO_IDL/util/utl_global.cpp: * TAO_IDL/util/utl_string.cpp: * TAO_IDL/util/utl_strlist.cpp: Obliterated any references to 'String' this was just a macro that expanded to the UTL_String class, but was an endless sort of confusion with just a typedef for 'char*' Also cleaned up the use of UTL_Strings in the idl_global interface. This seems to have put the IDL compiler into usable state again. Sun Jun 6 18:55:00 1999 Carlos O'Ryan * TAO_IDL/util/utl_global.cpp: Fixed several memory managment problems Sun Jun 6 18:04:05 1999 Carlos O'Ryan * TAO_IDL/include/drv_extern.h: * TAO_IDL/driver/drv_preproc.cpp: More constness fixes Sun Jun 6 17:42:41 1999 Carlos O'Ryan * TAO_IDL/tao_idl.cpp: Fixed DRV_drive() it is taking a const char* now Sun Jun 6 15:14:13 1999 Douglas C. Schmidt * TAO_IDL/fe/keywords.dat: The type of keyword_ in TAO_IDL_CPP_Keyword_Entry should be const char *. * TAO_IDL: Fixed zillions of improper uses of non-const char *'s that were reported by the new SunC++ 5.0 compiler. Everything should be "const-correct" now. BTW, whoever wrote the Sun IDL compiler clearly didn't understand the C++ const rules... Sun Jun 6 17:08:57 1999 Carlos O'Ryan * tao/GIOP.cpp: More @@ comments addressed. Sun Jun 6 16:14:50 1999 Jeff Parsons * TAO/performance-tests/Pluggable/PP_Test_Client.h: * TAO/performance-tests/Pluggable/PP_Test_Client.cpp: Moved member CORBA::ORB_var orb_ ahead of the other _vars in the declaration/initialization order. Sun Jun 6 15:41:51 1999 Jeff Parsons * tao/Any.h: Added comment for Any_var operator= (CORBA::Any_var). * tao/Any.cpp: Added checks for failure of memory allocation at several places in the insertion and extraction operators. * tao/Context.h: Added comment to some member functions. * tao/Stub.h: Cosmetic changes. Sun Jun 6 14:07:24 1999 Jeff Parsons * TAO/tests/DynAny_Test/data.h: * TAO/tests/DynAny_Test/data.cpp: * TAO/tests/DynAny_Test/driver.h: * TAO/tests/DynAny_Test/test_dynany.h: * TAO/tests/DynAny_Test/test_dynany.cpp: * TAO/tests/DynAny_Test/test_dynarray.h: * TAO/tests/DynAny_Test/test_dynarray.cpp: * TAO/tests/DynAny_Test/test_dynenum.h: * TAO/tests/DynAny_Test/test_dynenum.cpp: * TAO/tests/DynAny_Test/test_dynsequence.h: * TAO/tests/DynAny_Test/test_dynsequence.cpp: * TAO/tests/DynAny_Test/test_dynstruct.h: * TAO/tests/DynAny_Test/test_dynstruct.cpp: * TAO/tests/DynAny_Test/test_dynunion.h: * TAO/tests/DynAny_Test/test_dynunion.cpp: * TAO/tests/DynAny_Test/test_wrapper.h: * TAO/tests/DynAny_Test/test_wrapper.cpp: Made CORBA::ORB_var the first private member (declared and initialized) of any class where it appears, and also other cosmetic changes. Sun Jun 6 14:04:43 1999 Carlos O'Ryan * tao/Acceptor_Impl.h: * tao/Environment.cpp: * tao/GIOP.cpp: * tao/Wait_Strategy.cpp: * tao/GIOP.cpp: Addesses the @@ Carlos comments. * tao/IOP.pidl: Completed the IOP module definition Sun Jun 6 13:32:25 1999 Douglas C. Schmidt * tao/GIOP.cpp: Fixed a typo in read_header. Thanks to Jeff for reporting this. * tao/GIOP.cpp (process_server_message): Fixed what appeared to be an unbalanced '}' in the TAO_HAS_EXCEPTIONS block. Sun Jun 06 12:54:57 1999 David L. Levine * orbsvcs/orbsvcs/Trader/Trader.cpp: added ACE_Equal_To explicit instantiation, because g++ on LynxOS 3.0.0 needs it. Sun Jun 6 11:51:00 1999 Douglas C. Schmidt * tao: Continued to make a huge pass through the code to ensure that TAO conforms to the ACE programming guidelines. Sun Jun 06 11:44:56 1999 David L. Levine * tao/Messaging_Policy_i.i (TAO_RelativeRoundtripTimeoutPolicy_i): dereferenced rhs.poa_ with .in () to please old g++. Sun Jun 06 09:08:48 1999 David L. Levine * PROBLEM-REPORT-FORM: added requests to not send as attachment, or tar'red, compressed, and/or uuencoded, or with line lengths >= 80 characters. Sun Jun 06 08:19:55 1999 David L. Levine * performance-tests/Cubit/TAO/MT_Cubit/MT_Cubit_Test: remove old IOR file, if any, before starting the server. Sun Jun 6 02:14:25 1999 Nagarajan Surendran * orbsvcs/orbsvcs/AV/sfp.cpp: Fixed a few missing template instantiations spotted by Sun CC 5.0. Thanks to Carlos for reporting them. Sat Jun 5 23:48:23 1999 Douglas C. Schmidt * tao: Replaced all uses of "index" with "slot" since "index" is defined as a macro by some broken C++ compilers... Sun Jun 6 00:23:19 1999 Carlos O'Ryan * orbsvcs/orbsvcs/AV/sfp.cpp: Added missing template instantiations Sun Jun 6 00:06:26 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Sched/Scheduler.h: * orbsvcs/orbsvcs/Sched/Scheduler.cpp: * orbsvcs/orbsvcs/Sched/DynSched.h: * orbsvcs/orbsvcs/Sched/DynSched.cpp: Replaced "export" with "export_to_file", the first one is a keyword in ANSI/C++ Sat Jun 5 23:06:01 1999 Carlos O'Ryan * Sun/CC 5.0 works with TAO now! Partly because we don't use the same templates than before and partly because we found work arounds the other SunC++ compiler bugs, e.g., incorrect code generation for certain types of default constructors. * tao/Object_Adapter.h: * tao/Object_Adapter.i: * tao/Policy_Manager.h: * tao/Policy_Manager.i: Sun/CC was generating buggy code for the compiler-generated default constructor of TAO_Policy_Current, TAO_POA_Current, added explicit default constructors and now it is happy. * tao/Messaging_Policy_i.h: * tao/Messaging_Policy_i.i: The compiler-generated copy constructor was not working, added an explicit one and now things are happy. * tao/DynUnion_i.cpp: * tao/Sequence.h: Added the ACE_TEMPLATE_SPECIALIZATION macro * tao/Operation_Table.h: Made the opname_ field a "const char*" instead of just "char*" to avoid warnings because we assign string literals to that field. * tao/debug.cpp: * tao/debug.h: Removed unused variable * tao/CDR_Interpreter.cpp: * tao/DynAnyC.h: * tao/GIOP.h: * tao/ObjectIDList.h: * tao/PolicyC.h: * tao/Request.h: * tao/Services.h: * tao/Stub.cpp: * tao/corba.h: Include "Sequence_T.h" directly from Sequence.h, is the ACE way and it is easier to use. Sat Jun 5 20:09:51 1999 Carlos O'Ryan * tao/ORB_Core.cpp: Removed unused variable * tao/GIOP.cpp: Changed ACE_THROW for ACE_TRY_THROW, we want the exception catched in the enclosing TRY/CATCH clause. * examples/OBV/Simple_util.h: * orbsvcs/examples/CosEC/Factory/FactoryDriver.h: Fixed order of declaration between ORB_var and other objects, the ORB must be the last object destroyed. Sat Jun 05 19:00:18 1999 David L. Levine * tao/corbafwd.h: changed value of TAO_UNKNOWN_MINOR_CODE from 0xFF to 0xF because it's only 4 bits wide. Sat Jun 5 18:04:00 1999 Carlos O'Ryan * tao/PollableS_T.i: Removed more calls to TAO_ORB_Core_instance() Sat Jun 5 17:49:08 1999 Carlos O'Ryan * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Client.h: * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Client.cpp: Fixed problem on shutdown: some objects where still around even though the ORB was destroyed. Sat Jun 5 16:46:16 1999 Nanbor Wang * tao/Object_Adapter.cpp (~Servant_Upcall): Added missing case INITIAL_STAGE to keep compiler happy although it is not used anywhere. Sat Jun 05 16:23:12 1999 David L. Levine * tao/corbafwd.h,Exception.cpp: added TAO_EPIPE_MINOR_CODE, TAO_ECONNREFUSED_MINOR_CODE, and TAO_UNSPECIFIED_MINOR_CODE, and TAO_INVOCATION_RECV_REQUEST_MINOR_CODE. * tao/Invocation.cpp (invoke_i): set TAO_INVOCATION_RECV_REQUEST_MINOR_CODE if proper reply is not received. Sat Jun 5 15:27:24 1999 Alexander Babu Arulanthu * tao/ORB_Core.cpp: Put an ACE_UNUSED_ARG around at Line 1069 to remove warning in Linux egcs. Sat Jun 5 12:58:00 1999 Carlos O'Ryan * tao/CDR.h: * tao/GIOP.cpp: * tao/GIOP.h: * tao/IIOP_Connect.cpp: * tao/IIOP_Connect.h: * tao/IIOP_Transport.cpp: * tao/UIOP_Connect.cpp: * tao/UIOP_Connect.h: * tao/UIOP_Transport.cpp: Removed several memory allocations from the critical path, they were introduced in the flurry of changes to support asynch messaging and pluggable protocols. * tao/MessagingS_T.cpp: * tao/DomainS_T.i: Removed several uses of TAO_ORB_Core_instance() Sat Jun 05 06:15:00 1999 Chris Gill * orbsvcs/orbsvcs/Sched/Reconfig_Scheduler.cpp orbsvcs/orbsvcs/RtecScheduler.idl: added locking guards to public methods, refactored some of them to allow sharing of lock-less private methods between public methods, added SYNCHRONIZATION_FAILURE user exception to module RtecScheduler. Sat Jun 5 03:54:27 1999 Nanbor Wang * tao/Object_Adapter.{h,i,cpp}: Extracted the steps needed to making an upcall from dispatch_servant and dispatch_servant_i into a new class Servant_Upcall. For collocated operation invocation to be "safe," we need to query the POA for every invocation, locate the servant, create and setup the POA_Current object, bump up the servant reference count, and make sure the upcall conform with POA's threading policy. The Servant_Upcall class gathers the information needed to make an upcall and makes sure all the locks are held/release at appropriate time. With this class, we can change how an upcall is actually made without repeatedly puting these logic everywhere. The new dispatch_servant now uses the class. dispatch_servant_i is no longer needed. Also gone are Single_Threaded_POA_Lock and Outstanding_Request because they are only used in the original dispatch_servant_i. The Servant_Upcall class'es implementation is exception safe regardless a platform supports native C++ exception or not. With this class, we can fix the collocated object's behave so that they obey the POA's state and policies without bloating the generated code. * tao/POA.{h,i,cpp}: Moved TAO_POA_Current_Impl to Object_Adapter.* to avoid circular dependency. Fri Jun 4 23:48:41 1999 Carlos O'Ryan * tao/ORB_Core.h: * tao/ORB_Core.i: * tao/ORB_Core.cpp: The ORB core holds Codeset translators between the native char and ISO88659 and between the native wchar codeset and UNICODE. This is not a complete implementation but should be enough to get platforms that do not have ISO8859 as their native set working (such as MVS). Many thanks to Jim Rogers for his cooperation on this task. The acceptor registry is initialized on demand, not on the class construction. Removed methods to set the protocol factories, acceptor registry and connector registry, this objects do not change after initialization. * tao/GIOP.cpp: * tao/ORB.cpp: * tao/Invocation.cpp: The OutputCDR are initialized with the right codeset translators. * tao/Exception.h: * tao/Exception.cpp: On MVS generate the typecodes using the translator to ISO8859, that way the buffers are all in that codeset (including the hardcoded buffers in the Typecode_Constants.cpp file). Many thanks to Jim Rogers for his cooperation on this task. * tao/CDR.h: * tao/CDR.i: * tao/CDR.cpp: Added support for code set translators, they are either provided as a parameter (for the OutputCDR streams) or obtained from the ORB_Core. Needs some cleanup, but the basics are there. * tao/Typecode_Constants.cpp: Re-generated the typecodes for CORBA::Object, CORBA::TypeCode::BadKind and CORBA::TypeCode::Bounds. I used the IDL compiler this time to obtain a consistent and platform independent mapping. * tao/Transport_Mux_Strategy.h: * tao/Transport_Mux_Strategy.cpp: Removed uneeded lock * tao/Wait_Strategy.h: Removed uneeded #include * tao/IIOP_Profile.cpp: * tao/UIOP_Profile.cpp: Removed unused statement * tao/default_resource.h: The acceptor registry and connector registry instances where left in the class by accident. * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Client.h: * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Client.cpp: * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_i.cpp: Some improvements to the propagation of exceptions, but it needs a major rework. * tao/Object_Adapter.cpp: The compiler (egcs) was complaining about a switch() over an enum but not using all the values, the code was OK, because not all the values are reached. added a default case to shut it up. Fri Jun 04 19:47:30 1999 Irfan Pyarali * tao/ORB_Core.cpp * tao/ORB_Core.h * tao/ORB_Core.i * tao/Resource_Factory.cpp * tao/Resource_Factory.h * tao/default_resource.cpp * tao/default_resource.h The following changes are related to the rearchitecture of resource management inside the ORB: - Moved the object adapter, root POA, and the thread manager from the default resources to the ORB Core. - Removed the root POA and thread manager set methods. Fri Jun 4 18:57:02 1999 Jeff Parsons * TAO_IDL/be/be_visitor_array/cdr_op_ci.cpp: Removed incorrect error output from a couple of default switch cases. Thanks to Robert Flanders for pointing out the problem and to Carlos for his help with the fix. Fri Jun 04 17:30:00 1999 Chris Gill * orbsvcs/orbsvcs/Sched/Reconfig_Scheduler.{cpp, h}: completed most of the reconfigurable scheduler implementation. * performance-tests/Cubit/TAO/IDL_Cubit/client.dsp performance-tests/Cubit/TAO/IDL_Cubit/collocation_test.dsp performance-tests/Cubit/TAO/IDL_Cubit/server.dsp: added relative paths to projects. Fri Jun 04 16:11:30 1999 Nanbor Wang * tao/Context.{i,cpp}: * tao/Environment.{i,cpp}: * tao/NVList.{i,cpp}: * tao/ORB.{i,cpp}: * tao/Object.{i,cpp}: * tao/Principal.{i,cpp}: * tao/ValueBase.{i,cpp}: * tao/Request.{i,cpp}: * tao/Server_Request.{i,cpp}: * tao/Typecode.{i,cpp}: * tao/corbafwd.{i,cpp}: Unlined a bunch of methods in CORBA namespace to avoid duplicate definitions on platforms with namespace support. Fri Jun 04 15:25:38 1999 Irfan Pyarali * TAO_IDL/be/be_visitor_interface/tie_si.cpp (visit_interface): Fixed the generated code for _default_POA() for the tie classes. If is nil, simply delegate to the base class. Thanks to Carlos for helping with this. Fri Jun 4 14:40:48 1999 Carlos O'Ryan * tao/ORB.cpp: * tao/ORB_Core.cpp: Added debugging messages to keep track of ORB creation and destruction (only at debug level >= 3) The ORB_Table singleton will destroy all ORBs that are still on the table at process shutdown. The TAO_ORB_Core_instance() will return the first ORB on the ORB table, only if the table is empty it will create one. * tests/Param_Test/server.h: * tests/Param_Test/param_test_i.h: * tests/Param_Test/param_test_i.cpp: It was using ORB_Core_instance() to shutdown the ORB, we keep an ORB pointer around to do the right thing. * utils/catior/catior.cpp: Added support for TAO's Unix domain sockets. Fri Jun 4 13:35:29 1999 Jeff Parsons * TAO/performance-tests/Cubit/TAO/DII_Cubit/client.cpp: Finally was able to remove the last use of CORBA_Any::replace() to set the return value of the request to get the Cubit object from the factory. We are now using the preferred 'req->return_value() >>=' construction. Fri Jun 4 13:04:45 1999 Jeff Parsons * TAO_IDL/util/utl_global.cpp: Since the one 'official' IDL file that gave us problems has been fixed, the default behavior of the IDL compiler for case-only spelling differences in identifiers sharing the same scope has been reverted to error output, as the spec requires. Fri Jun 4 12:01:34 1999 Vishal Kachroo * tao/GIOP.cpp (process_server_locate): Added the INS functionality for lookup of "simple" object keys when the incoming request is a GIOP LocateRequest message. This was previously possible only for GIOP Request messages. Fri Jun 04 11:37:33 1999 Irfan Pyarali * examples/Simple/Simple_util (class Client): Reordered the ORB and the var instance declaration in the header file. Previously, the ORB was getting destroyed before the var was destroyed. This was causing a free memory read when the var was cleaned up. By reordering, the ORB gets destroyed after the var, and hence there is no problem anymore. Thanks to Shaun Ohagan for pointing out this problem. Also, fixed the options parsing with respect to reporting problems and helping the user (-? option was changed to -h). Fri Jun 4 11:03:05 1999 Jeff Parsons * TAO/performance-tests/Cubit/TAO/DII_Cubit/client.cpp: Fixed broken test code in cube_union_dii(). Fri Jun 4 00:32:04 1999 Alexander Babu Arulanthu * tao/Client_Strategy_Factory.cpp: * tao/Client_Strategy_Factory.h: * tao/IIOP_Transport.cpp: * tao/Makefile: * tao/Pluggable.cpp: * tao/Pluggable.h: * tao/Request_Mux_Strategy.cpp: * tao/Request_Mux_Strategy.h: * tao/UIOP_Transport.cpp: * tao/Wait_Strategy.h: * tao/default_client.cpp: * tao/default_client.h: * tao/Transport_Mux_Strategy.h: * tao/Transport_Mux_Strategy.cpp: * tao/TAO.dsp * tao/TAO_Static.dsp The Mux strategies are over the Transport objects. So naming them as Transport_Mux is more appropriate than Request_Mux. Thanks Carlos! Thu Jun 3 23:27:27 1999 Carlos O'Ryan * tao/UIOP_Connector.cpp: We forgot the UIOP connector when changing the Connector_Lock allocation. Thu Jun 3 21:50:45 1999 Douglas C. Schmidt * utils/catior/catior.cpp (catior): Fixed a byte-ordering problem that caused the catior utility to incorrectly decode little endian IOR's. Thanks to Jeff D. Hopper for reporting this. Thu Jun 03 21:03:42 1999 Irfan Pyarali * tao/Pluggable.h: * tao/Pluggable.cpp: * tao/UIOP_Connect.cpp: * tao/UIOP_Transport.h: * tao/UIOP_Transport.cpp: * tao/IIOP_Transport.h: * tao/IIOP_Transport.cpp: * tao/IIOP_Connect.cpp: * tao/Wait_Strategy.h: * tao/Wait_Strategy.cpp: Cleaned up the connection managment: there is no need to inform the transport when the reactor invokes handle_close(). The Transport class is always the one that closes the connection. Still the Wait_Strategy needs to know to wake up any threads that are waiting on the transport. Right now we don't send any messages to the Wait_Strategy if the connection is closed during a write (i.e. while sending a message), but in the future we may need to do so. Also, fixed crashes and infinite loops on the event of a write() failure. The system was not informing the Cached_Connect_Strategy that the transport was not useful anymore, and sometimes the same transport was attempted again, if it wasn't closed then we went into an infinite loop; if it was closed then we crashed. Thanks to Kristopher Johnson for pointing out the above problem. * tao/GIOP: Cleaned up the implementation of TAO_GIOP::process_server_message(), checking that it handles all the errors conditions correctly and removing some error conditions that just could not happen. Also converted C++ exceptions into CORBA::UNKNOWN Make sure that send_message returns -1 if there is an error. Made several functions return void because they raise exceptions instead of returning errors (and they shouldn't do both). Also, removed unused values for the Message_Type enum, they wre TAO extensions that nobody used anymore. In addition, removed the TAO_GIOP::message_name() function, nobody was using it * tao/corbafwd.h: * tao/Exception.cpp: Added new exception minor code for the C++ to CORBA::UNKNOWN * tao/ORB_Core.cpp: Fixed the POA_Current object that was being leaked. * tao/default_resource.cpp: * tao/Acceptor_Registry.cpp: * tao/Connector_Registry.cpp: Removed memory leaks in the pluggable protocol framework * tao/Servant_Base.cpp (TAO_Local_ServantBase::_create_stub): Reverted the code back to using TAO_ORB_Core_instance instead of trying to get the default POA. The unfortunate part is that calling default_POA() requires the creation of a local stub, hence causing a infinite loop. It is ok to use TAO_ORB_Core_instance here since the locality constrained servant does not really register with a POA or get exported remotely. * tao/Resource_Factory.h: * tao/Resource_Factory.cpp: * tao/default_resource.cpp: * tao/IIOP_Connector.cpp (open): Created and passed in the TAO_Cached_Connector_Lock explicitly. This will allow us to avoid calling TAO_ORB_Core_instance() in the constructor of TAO_Cached_Connector_Lock. Thu Jun 3 16:42:59 1999 Vishal Kachroo * Cleaned up the TAO/performance-tests/Demux directory. The tests are in TAO/performance-tests/POA/Demux. Thu Jun 3 16:30:46 1999 Alexander Babu Arulanthu * tao/GIOP.h: * tao/GIOP.cpp: * tao/Invocation.cpp * tao/Invocation.h: Moved the request/locate request header writing code from Invocation class to GIOP class. Thu Jun 3 16:17:48 1999 Jeff Parsons * TAO/performance-tests/Cubit/TAO/DII_Cubit/client.cpp: Removed the member environment variable and replaced it with ACE_TRY_ENV. Thu Jun 03 15:46:11 1999 Carlos O'Ryan * tao/Exception.cpp: MSVC 5.0 has some problems defining variables inside a namespace, a fully qualified name does not work, it *must* be done inside the namespace. We were not doing that for the _tc_* variables for the system exceptions. Thu Jun 3 15:16:04 1999 Carlos O'Ryan * tao/corbafwd.h: * tao/corbafwd.i: * tao/ORB_Core.cpp: Some compilers get extremely confused with CORBA::default_environment() as a default parameter. But they are happy with a function outside the CORBA namespace, for example: TAO_default_environment We added the function above and made the CORBA::default_environment() just a thin wrapper. * TAO_IDL/be/be_interface.cpp: * TAO_IDL/be/be_visitor_interface/interface_ch.cpp: * TAO_IDL/be/be_visitor_interface/interface_sh.cpp: * TAO_IDL/be/be_visitor_interface/tie_sh.cpp: * TAO_IDL/be/be_visitor_operation/arglist.cpp: * TAO_IDL/be/be_visitor_operation/operation_sh.cpp: * TAO_IDL/be/be_visitor_sequence/gen_bounded_obj_sequence_ch.cpp: * TAO_IDL/be/be_visitor_sequence/gen_unbounded_obj_sequence_ch.cpp: * TAO_IDL/be/be_visitor_union_branch/private_ch.cpp: The IDL compiler generates TAO_default_environment now. * tao/Any.h: * tao/CDR.h: * tao/CDR_Interpreter.h: * tao/Context.h: * tao/CurrentC.h: * tao/DomainC.h: * tao/Exception.h: * tao/Forwarding_Servant.h: * tao/GIOP.h: * tao/GIOP.cpp: * tao/GIOP_Server_Request.h: * tao/IIOP_Connect.h: * tao/Invocation.h: * tao/Marshal.h: * tao/Messaging_Policy_i.h: * tao/NVList.h: * tao/ORB.cpp: * tao/ORB.h: * tao/ORB_Core.h: * tao/Object.h: * tao/POA.h: * tao/POAC.h: * tao/POAManager.h: * tao/POAS.h: * tao/POA_CORBA.h: * tao/PolicyC.h: * tao/Policy_Manager.h: * tao/PollableC.h: * tao/Request.h: * tao/Sequence.h: * tao/Sequence_T.h: * tao/Servant_Base.h: * tao/Server_Request.h: * tao/Stub.h: * tao/TAO.h: * tao/Typecode.h: * tao/UIOP_Connect.h: * tao/varout.h: * orbsvcs/CosEvent_Service/CosEvent_Service.h: * orbsvcs/Time_Service/IR_Helper.h: * orbsvcs/orbsvcs/Event/EC_Command.cpp: * orbsvcs/orbsvcs/Event/EC_ProxyConsumer.h: * orbsvcs/orbsvcs/Event/EC_ProxySupplier.h: * performance-tests/Cubit/TAO/DII_Cubit/client.cpp: Replaced all uses of CORBA::default_environment() with TAO_default_environment() Thu Jun 03 14:54:23 1999 Irfan Pyarali * tao/poa_T.*: Removed unused files. * tao/Reply_Dispatcher: Fixed incorrect inclusion of the Reply_Dispatcher.i file. * tao/GIOP.cpp (process_server_message): Fixed use of . Thu Jun 03 13:30:30 1999 Carlos O'Ryan * tao/GIOP.cpp: Fixed typo in exception handling code * tao/GIOP_Server_Request.h: Added missing #include, or at least it seems like MSVC needs it. Thu Jun 3 13:20:09 1999 Carlos O'Ryan * tao/GIOP.h: * tao/GIOP.cpp: * tao/GIOP_Server_Request.h: * tao/GIOP_Server_Request.i: * tao/GIOP_Server_Request.cpp: * tao/IIOP_Connect.h: * tao/IIOP_Connect.cpp: * tao/IIOP_Profile.cpp: * tao/IIOP_Transport.cpp: * tao/IIOP_Transport.h: * tao/Invocation.h: * tao/Invocation.i: * tao/Invocation.cpp: * tao/Pluggable.h: * tao/Pluggable.cpp: * tao/Wait_Strategy.h: * tao/Wait_Strategy.cpp: * tao/Reply_Dispatcher.h: * tao/Reply_Dispatcher.i: * tao/Reply_Dispatcher.cpp: * tao/Request_Mux_Strategy.h: * tao/Request_Mux_Strategy.cpp: * tao/UIOP_Connect.h: * tao/UIOP_Connect.cpp: * tao/UIOP_Transport.h: * tao/UIOP_Transport.cpp: Moved all the GIOP code into GIOP.cpp, i.e. the Invocation, Transport and Connect classes do not parse headers or read any data, it is all controlled by the GIOP module. This also saved some code because the UIOP and IIOP protocols can share the implementation in GIOP.cpp Improve the interface between the Reply_Dispatcher, the Request_Muxers and the transport objects. Removed a bunch of methods that were not used anymore, like suspend_* and resume_* In short: we continue the process of integrating pluggable protocols and the first phase of messaging. * tests/MT_Client/test_i.cpp: Call shutdown() with the default parameter, otherwise it dies a horrible death. Thu Jun 3 13:17:50 1999 Carlos O'Ryan * tao/varout.h: * tao/Sequence_T.h: Work around egcs problems with default parameters in templates and namespaces. Who would ever use that ;-) * tao/Exception.cpp: Fixed problem with VMCID identification in debugging code. Tue Jun 01 23:48:33 1999 Irfan Pyarali * tao/corbafwd.h (CORBA): Changed CORBA from a class to a namespace on platforms that support namespaces. Thanks to Joerg Pommnitz for pointing out this problem. Files that required changes: - Exception.cpp - PolicyC.cpp - Typecode_Constants.cpp - corbafwd.cpp - corbafwd.h - corbafwd.i * tao/ORB.h (CORBA_ORB): Removed the . This was non-standard and not needed since you can always get to the default ORB through ORB_init (0,0,0). * tao/ORB_Core.cpp (TAO_ORB_Core_instance): Redone because of the above change to . This method is somewhat slower now, but should not be used very often. * tao/Servant_Base.cpp (TAO_Local_ServantBase::_create_stub, TAO_DynamicImplementation::_create_stub, and TAO_ServantBase::_create_stub): Changed implementation such that it does not use TAO_ORB_Core_instance() and made sure that the correct ORB is used in creating the stub. Also improved the exception handling. * tao/POAC.cpp: IDL compiler generated code uses istub->orb_core() instead of TAO_ORB_Core_instance(). Thu Jun 3 09:16:38 1999 Carlos O'Ryan * tests/NestedUpcall/MT_Client_Test/client.cpp: Fixed silly problems with exception handling Wed Jun 2 18:53:15 1999 Carlos O'Ryan * tao/Pluggable.h: * tao/Pluggable.cpp: * tao/Wait_Strategy.h: * tao/Wait_Strategy.cpp: * tao/Invocation.cpp: * tao/IIOP_Transport.h: * tao/IIOP_Transport.cpp: * tao/IIOP_Connect.h: * tao/IIOP_Connect.cpp: * tao/UIOP_Transport.h: * tao/UIOP_Transport.cpp: * tao/UIOP_Connect.h: * tao/UIOP_Connect.cpp: Removed several unused functions The send_error() method was assuming that request_id==0 was an impossible, that is wrong. * tests/NestedUpcall/Reactor/client.cpp: * tests/NestedUpcall/MT_Client_Test/client.cpp: The POA state was not changed, so the test was failing. Wed Jun 02 17:36:14 1999 Carlos O'Ryan * tao/TAO.dsp: * tao/TAO_Static.dsp: Changed the Connect.{h,i,cpp} files for IIOP_Connect.{h,i,cpp} Wed Jun 2 17:35:12 1999 Carlos O'Ryan * tao/corbafwd.h: Added new locations for the TRANSIENT exceptions raised in the POA * tao/POA.cpp: Added location info in the TRANSIENT exceptions raised here. * tao/Exception.cpp: Added code to handle non-TAO minor codes. Added the strings for the new minor code locations * TAO_IDL/include/fe_extern.h: Several functions where declared extern "C" but where actually regular C++ functions, this was causing problems on MVS. Thanks to Jim Rogers for these MVS patches. * TAO_IDL/driver/drv_preproc.cpp: Pass the "-+" argument to the preprocessor under MVS, otherwise it does not recognize .cc files as C++. * TAO_IDL/driver/drv_args.cpp: Work around a problem in the access() function for MVS. * tao/DynAnyS.cpp: One of the constructors was not using the ACE_NESTED_CLASS() macro, generating problems under MVS. * TAO_IDL/ast/ast_module.cpp: Generate only a warning if a module is reopened on platforms without namespaces. It is possible that the user is cross-compiling the code. Thanks to Byron Harris for pointing this out. Wed Jun 2 17:27:43 1999 Carlos O'Ryan * tao/Connect.cpp: * tao/Connect.h: * tao/Connect.i: * tao/IIOP_Connect.cpp: * tao/IIOP_Connect.h: * tao/IIOP_Connect.i: Renamed Connect.{h,i,cpp} to IIOP_Connect.{h,i,cpp} * tao/IIOP_Acceptor.cpp: * tao/IIOP_Acceptor.h: * tao/IIOP_Connector.h: * tao/IIOP_Profile.cpp: * tao/IIOP_Transport.cpp: * tao/IIOP_Transport.h: Updated to include "tao/IIOP_Connect.h" * tao/params.h: Removed unused forward declaration of TAO_Server_Connection_Handler * examples/Simple/time-date/Time_Date.h: Added missing header file * examples/Simple/time-date/Time_Date.cpp: Added missing template instantiations * */Makefile: Updated dependencies Wed Jun 2 17:14:33 1999 Alexander Babu Arulanthu * tests/NestedUpcall/Reactor/README: Updated the README. Removed the -f option. Wed Jun 02 15:17:24 1999 * tests/NestedUpcall/Reactor/NestedUpcall.dsw * tests/NestedUpcall/Reactor/mt-client.dsp * tests/MT_Client/simple_client.dsp * tests/MT_Client/MT_Client.dsw * tests/MT_Client/server.dsp Projec files for the new simple client and mt-client test. Wed Jun 2 14:49:36 1999 Vishal Kachroo * tao/ORB.cpp (resolve_initial_references): Raised a CORBA::ORB::InvalidName exception if the ORB is unable to find the service name in the ORB IOR tables or among the hard-coded service names. Wed Jun 2 13:18:38 1999 Carlos O'Ryan * tao/Resource_Factory.h: * tao/Server_Strategy_Factory.h: * tao/Client_Strategy_Factory.h: * tao/Client_Strategy_Factory.cpp: * tao/default_client.cpp: * tao/default_client.h: * tao/default_resource.cpp: * tao/default_resource.h: * tao/default_server.h: * tao/params.h: * tao/Invocation.cpp: * tao/ORB.cpp: * tao/ORB_Core.h: * tao/ORB_Core.cpp: * tao/Object.cpp: * tao/Wait_Strategy.cpp: * tao/Connect.h: * tao/Connect.cpp: * tao/IIOP_Connector.h: * tao/IIOP_Connector.cpp: * tao/IIOP_Profile.h: * tao/IIOP_Profile.i: * tao/IIOP_Transport.h: * tao/IIOP_Transport.cpp: * tao/UIOP_Connect.cpp: * tao/UIOP_Connect.h: * tao/UIOP_Connector.cpp: * tao/UIOP_Connector.h: * tao/UIOP_Transport.cpp: * tao/UIOP_Transport.h: Removed several uses g(or abuses?) of TAO_ORB_Core_instance() The Client_Strategy_Factory does not create the IIOP Client_Connection_Handlers anymore, it only creates the Wait_Strategy and its friends. This was the last thorn in the PP framework (which could use some polishing, but nothing big). Renamed the TAO_Client_Connection_Handler to TAO_IIOP_Client_Connection_Handler, this is more consistent with the UIOP protocol (and puts the class in its right place). Removed several #includes from header files to minimize cross-dependencies and optimize (re)compilation time * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp: * orbsvcs/Time_Service/IR_Helper.cpp: * orbsvcs/orbsvcs/AV/sfp.cpp: * orbsvcs/orbsvcs/AV/sfp.h: * orbsvcs/orbsvcs/Log/Logger_i.cpp: * orbsvcs/orbsvcs/Trader/Trader_Interfaces.cpp: * orbsvcs/tests/ImplRepo/IR_Helper.cpp: * orbsvcs/tests/Simple_Naming/client.h: * orbsvcs/tests/Trading/Offer_Exporter.cpp: * tests/NestedUpcall/MT_Client_Test/local_server.h: Some internal header files are not visible in TAO anymore, this means that some ace header files are not visible either. I added them to the few files that actually required those #include's * */Makefile: Updated dependencies * tao/ORB_Strategies_T.cpp: * tao/ORB_Strategies_T.h: * tao/ORB_Strategies_T.i: Removed this files are not used anymore. * tao/Any.cpp: Minor cosmetic fixes Wed Jun 2 10:51:48 1999 Jeff Parsons * tao/Stub.cpp: Removed an "optimization" I had made to DII the other day (it was broken). I suspected it might be too good to be true. * TAO/tests/DynAny_Test/da_tests.idl: * TAO/tests/DynAny_Test/test_dynunion.cpp: Put the typecode member back into the union in the IDL file, now that that stuff works, and modified the test to check that member.