Fri Dec 31 08:07:18 1999 David L. Levine * all Makefiles: updated dependencies. Thu Dec 30 23:50:15 1999 Irfan Pyarali * tao/orbconf.h (MINIMUM_POA_MAPS): New compile time variable. This variable can be used to remove some extra maps used in the POA which are not commonly used by the user, e.g., linear maps. MINIMUM_POA_MAPS support is disabled by default if TAO is not configured for minimum CORBA. If TAO is configured for minimum CORBA, then MINIMUM_POA_MAPS will be enabled by default. The follow maps are removed when MINIMUM_POA_MAPS is enabled: - tao/Active_Object_Map: user_id_linear_map and servant_linear_map. - tao/Object_Adapter: transient_poa_hash_map, transient_poa_linear_map, and persistent_poa_name_linear_map. * tao/POA.cpp: Policy creation and copy methods were changed to use the ServantBase_var class instead of the auto_ptrs. This should reduce the size somewhat since ServantBase_var is not a template. Thu Dec 30 16:10:00 1999 Jeff Parsons * TAO_IDL/be/be_structure.cpp: * TAO_IDL/be/be_union.cpp: * TAO_IDL/be/be_visitor_array/array_ch.cpp: * TAO_IDL/be/be_visitor_array/array_ci.cpp: * TAO_IDL/be/be_visitor_sequence/sequence_ch.cpp: * TAO_IDL/be/be_visitor_sequence/sequence_ci.cpp: A bug reported by J. Scott Evans pointed out that the TAO IDL compiler was not generating different code for the _var class of a struct, depending on whether the struct was fixed-size or variable-size (according to H & V section 6.19). The T_var code generation needed to be fixed also for unions, sequences and arrays * TAO_IDL/be/be_interface.cpp: * TAO_IDL/be/be_interface_fwd.cpp: * TAO_IDL/be/be_valuetype.cpp: * TAO_IDL/be/be_valuetype_fwd.cpp: Cosmetic changes. Thu Dec 30 14:30:40 1999 David L. Levine * examples/POA/Makefile,orbsvcs/orbsvcs/Makefile, orbsvcs/tests/Makefile,orbsvcs/Makefile, performance-tests/Cubit/TAO/Makefile,performance-tests/Makefile, tests/Makefile: moved include of rules.tao.GNU before first use of $(minimum_corba), so that it is defined before that use. Thanks to Nanbor for diagnosing this problem. Wed Dec 29 15:38:05 1999 David L. Levine * orbsvcs/orbsvcs/Notify/Notify_StructuredPushConsumer.cpp (open): commented out unused arg to avoid compiler warning. The last one :-) Wed Dec 29 11:23:18 1999 Irfan Pyarali * tao/Makefile (ORB_CORE_FILES): TAOS and TAOC were accidently moved to the minimum CORBA section ;-) They belong in the common section. Wed Dec 29 09:22:51 1999 David L. Levine * orbsvcs/orbsvcs/Notify/Notify_ProxyConsumer_i.cpp, Notify_SupplierAdmin_i.cpp: commented out currently unused args to avoid compiler warnings. Wed Dec 29 07:21:51 1999 David L. Levine * TAO_IDL/fe/lex.yy.cpp,lex.yy.cpp.diff: fixed lex.yy.cpp to avoid compile warnings about unreachable statements. Updated lex.yy.cpp.diff. Tue Dec 28 20:54:09 1999 Thomas Lockhart * TAO_IDL/driver/drv_preproc.cpp,TAO_IDL/fe/idl.ll, TAO_IDL/fe/lex.yy.cpp: It turns out that g++, gcc, and whatever other preprocessor I tried puts an extra numeric field into the generated line labels *only* when the included source file resided in /usr/include or /usr/local/include or /usr/local/include/tao.d/!! There may be other locations which will provoke this behavior too; I didn't test exhaustively. I've patched the lexer source code to accept an extra numeric field, which seems to fix the problem. Tue Dec 28 14:13:18 1999 Irfan Pyarali * tao/Makefile (ORB_CORE_FILES): Moved TAOC and TAOS from the corba messaging section to the general section. These files now contain more code than what simply belongs to corba messaging. Tue Dec 28 09:31:03 1999 David L. Levine * orbsvcs/orbsvcs/Makefile,orbsvcs/Trading/Makefile, orbsvcs/tests/Trading/Makefile: updated dependencies. Maybe that will fix the Trading Service test failure on some platforms: it's due to a missing symbol in the shared lib. The test ran fine for me on charanga. Mon Dec 27 23:38:39 1999 Nanbor Wang * tao/TAO_Static.dsp: Added missing ImpoRepo* files. Thanks to Mogens Hansen for reporting this. Mon Dec 27 19:09:09 1999 Balachandran Natarajan * docs/compiler.html: Updated the documentation for the compiler flag '-Y'. Thanks to Erik Johannes for reporting this discrepancy. Mon Dec 27 17:36:29 1999 Irfan Pyarali * tests/Makefile: The Timeout test requires CORBA messaging. * tao/Stub.cpp: We only need template instantiations for auto_ptr when we have corba messaging. Mon Dec 27 15:55:06 1999 David L. Levine * tao/ORB.cpp: reverted this change: Thu Dec 23 08:39:50 1999 David L. Levine because it's not necessary when the g++ headers are not #included by cxx (which they shouldn't). Fri Dec 24 23:55:00 1999 Kirthika Parameswaran * tests/Smart_Proxies/On_Demand/client.cpp: * tests/Smart_Proxies/On_Demand/server.cpp: * tests/Smart_Proxies/On_Demand/Smart_Proxy_Impl.{h, cpp}: * tests/Smart_Proxies/On_Demand/Smart_Test_Factory.{h, cpp}: * tests/Smart_Proxies/On_Demand/README: * tests/Smart_Proxies/On_Demand/Makefile: * tests/Smart_Proxies/On_Demand/run_test.pl: * tests/Smart_Proxies/On_Demand/svc.conf: * tests/Smart_Proxies/On_Demand/test.idl: This test extends the Smart Proxy test and provides on demand activation of the smart proxy using the svc.conf file. Fri Dec 24 12:28:00 1999 David L. Levine * examples/Simulator/Event_Supplier/DualEC_Sup.cpp (shutdown): the CORBA::Environment argument needs to be declared without native exceptions. And, added an ACE_UNUSED_ARG to avoid compile warning with native exceptions. Fri Dec 24 08:08:03 1999 David L. Levine * examples/Simulator/Event_Supplier/Event_Con.{h,cpp}, DualEC_Sup.{h,cpp}: added missing ACE_THROW_SPECs. Also, removed declaration of an unused ACE_TRY_ENV arg. Fri Dec 24 07:57:21 1999 David L. Levine * examples/Makefile: removed Simulator. It shouldn't have been added yesterday. Thu Dec 23 18:30:19 1999 Irfan Pyarali * tao/IIOP_Transport.cpp (~TAO_IIOP_Transport): * tao/UIOP_Transport.cpp (~TAO_UIOP_Transport): Only if the socket has not already been closed should we try to send the buffered messages. Also, since send_buffered_messages() will reset the buffer queue after sending the data, there is no need to call dequeue_all(). We need to call dequeue_all() only in the case when the socket is already closed since we won't be calling send_buffered_messages(). This fixes the shutdown crash I saw earlier on NT. Thu Dec 23 16:37:07 1999 Irfan Pyarali * tao/Buffering_Constraint_Policy.h: * tao/Buffering_Constraint_Policy.cpp: Inclusion of Buffering_Constraint_Policy.i should be moved into the TAO_HAS_CORBA_MESSAGING == 1 section. * tao/Invocation.cpp (TAO_GIOP_Invocation): * tao/ORB.cpp (resolve_policy_current and resolve_policy_manager): Fixed unused arg warnings for minimum CORBA build. Thu Dec 23 12:33:41 1999 Irfan Pyarali * tao/orbconf.h: - Changed the following variables to have a [0/1] definition. Simply being defined or undefined was not powerful enough to allow the user to be really selective. TAO_HAS_RT_CORBA TAO_HAS_CORBA_MESSAGING TAO_HAS_AMI TAO_HAS_AMI_POLLER TAO_HAS_AMI_CALLBACK TAO_HAS_INTERFACE_REPOSITORY - These changes are similar to the one Ossama and I made for TAO_HAS_UIOP. - This meant that TAO_DISABLE_RT_CORBA was no longer necessary. - Nanbor should probably think about doing the same to TAO_HAS_INTERCEPTORS. Also, somebody should look into TAO_HAS_VALUETYPE. - TAO_HAS_AMI is new and is similar to the make rule. - The following files were changed to comply with the above changes: Asynch_Invocation.cpp Asynch_Invocation.h Asynch_Invocation.i Buffering_Constraint_Policy.cpp Buffering_Constraint_Policy.h Client_Priority_Policy.cpp Client_Priority_Policy.h Client_Priority_Policy.i Direct_Priority_Mapping.cpp Direct_Priority_Mapping.h InterfaceC.cpp InterfaceC.h Invocation.cpp Linear_Priority_Mapping.cpp Linear_Priority_Mapping.h Makefile MessagingC.cpp MessagingC.h MessagingC.i MessagingS.cpp MessagingS.h MessagingS.i MessagingS_T.cpp MessagingS_T.i Messaging_Policy_i.cpp Messaging_Policy_i.h ORB.cpp ORB.h ORB_Core.cpp ORB_Core.h ORB_Core.i Object.cpp Object.h POA_CORBA.h Policy_Manager.cpp Policy_Manager.h PollableC.cpp PollableC.h PollableS.cpp PollableS.h Pool_Per_Endpoint.cpp Priority_Mapping.cpp Priority_Mapping.h RT_Current.cpp RT_Current.h Reply_Dispatcher.cpp Reply_Dispatcher.h Reply_Dispatcher.i Stub.cpp Stub.h Sync_Strategies.cpp Sync_Strategies.h TAOC.cpp TAOC.h TAOC.i TAOS.cpp TAOS.h Typecode_Constants.cpp corbafwd.h default_resource.cpp rtcorbafwd.cpp rtcorbafwd.h * rules.tao.GNU: - If is enabled, disable and by default. Users can still override this to enable and even if is enabled. - Changed to be overriden to 0 if it is not defined to be 1. This make consistent with other variables. - Added new flags: and . Both of these are 0 by default. - Added new flag . This one flag can be used to control both and . However, the users can still control and independently. - Changed -DTAO_DISABLE_RT_CORBA to -DTAO_HAS_RT_CORBA=0. - Changed -DTAO_HAS_CORBA_MESSAGING to -DTAO_HAS_CORBA_MESSAGING=1 - Changed -DTAO_HAS_INTERFACE_REPOSITORY to -DTAO_HAS_INTERFACE_REPOSITORY=1 - Added -DTAO_HAS_RT_CORBA=1 when rt_corba=1 - Added -DTAO_HAS_CORBA_MESSAGING=0 when corba_messaging=0 * TAO: Changed ifndef minimum_corba to: ifeq ($(minimum_corba),0) to make it consistent with the other variables for the following Makefiles: - examples/Makefile - examples/POA/Makefile - orbsvcs/Makefile - orbsvcs/orbsvcs/Makefile - orbsvcs/tests/Makefile - performance-tests/Makefile - performance-tests/Cubit/TAO/Makefile - tao/Makefile - tests/Makefile * examples/Buffered_AMI/client.cpp (setup_buffering_constraints): Changed all ACE_TRY_CHECK to be ACE_CHECK. This is because we are not in a try block. * examples/Makefile (DIRS): Compile Buffered_AMI only when is 1. * tests/Makefile (DIRS): Compile the AMI test if is 1. Thu Dec 23 12:16:38 1999 Christopher Kohlhoff * TAO/orbsvcs/orbsvcs/: Modified Makefile.bor to include new source files, and to ensure tao_idl is executed for all .idl files before compiling any .cpp files. This change should also make it easier to keep the makefile up to date. [ Note that the tao_idl flag "-I..\..\tao" added in the last release has been removed. After further discussions with Mike Gingell it was determined that the cause of the problem was actually an incorrect TAO_ROOT environment variable. Fixing this removed the need for the extra flag. ] * TAO/tao: Added files ImplRepo[CS].cpp to Makefile.bor. Thu Dec 23 12:06:42 1999 Nanbor Wang * utils/NamingViewer/StdAfx.h: Moved the inclusion of corba.h. ACE headers must come first to avoid conflicts among MFC and non-MFC windows header files. Added macro check against ACE's MFC support. * utils/NamingViewer/NamingViewer.dsp: Added ACE_HAS_MFC=1. Thu Dec 23 11:52:46 1999 Nanbor Wang * utils/NamingViewer/NamingViewer.dsp: Updated directory settings for the project. Thu Dec 23 08:39:50 1999 David L. Levine * tao/ORB.cpp: with DEC cxx, disable using std::set_unexpected because cxx X6.3-016 on Linux can't handle it. Thu Dec 23 08:37:47 1999 David L. Levine * examples/Makefile: disabled Buffered_AMI because it doesn't build on most platforms. Wed Dec 22 10:28:56 1999 David L. Levine * tao/Makefile: moved ImplRepoC and ImplRepoS so that they're only built if minimum_corba is not enabled. Wed Dec 22 10:17:08 1999 David L. Levine * tao/IIOP_Connect.cpp (open): set TCP_NODELAY if ! ACE_LACKS_TCP_NODELAY, instead of if TCP_NODELAY is defined. This allows users to disable in ace/config.h, if desired. Thanks to David Hauck for suggesting this. [Bug 395] Wed Dec 22 08:42:27 1999 David L. Levine * docs/tutorials/Quoter/index.html: fixed RT Event_Service link. Thanks to Paulo Breda Vieira for reporting this. Tue Dec 21 15:55:20 1999 Irfan Pyarali * examples/Buffered_AMI: New test that illustrates how to use buffered AMI calls. This is similar to the buffered oneway example, but the following difference were enough to motivate the creation of a new example: - fewer options to play with buffering constraints. - AMI callback handler. - different requirements of running the event loop. - different TAO subset components are used. * tao/Asynch_Invocation.cpp (invoke_i): DII deferred and AMI calls were changed to just send the request, without trying to wait for the reply. * examples/Makefile: * version_tests.dsw: Added new Buffered_AMI test to the NT project files and UNIX makefiles. Tue Dec 21 17:29:02 1999 Ossama Othman * TAO_Internal.cpp: * UIOP_Acceptor.cpp: * UIOP_Acceptor.h: * UIOP_Connect.cpp: * UIOP_Connect.h: * UIOP_Connect.i: * UIOP_Connector.cpp: * UIOP_Connector.h: * UIOP_Factory.cpp: * UIOP_Factory.h: * UIOP_Profile.cpp: * UIOP_Profile.h: * UIOP_Profile.i: * UIOP_Transport.cpp: * UIOP_Transport.h: * default_resource.cpp: * orbconf.h: Made it possible to explicitly disable UIOP support. Previously it wasn't possible to do so. Thanks to Irfan for his help. Tue Dec 21 14:25:17 1999 Darrell Brunsch * orbsvcs/orbsvcs/orbsvcs_static.dsp: Brought up to date. Mon Dec 20 12:59:59 1999 Douglas C. Schmidt * examples/Simple/time/Time_Client.java: Changed the name of the class from TimeClient to Time_Client to make Java IDL 1.2 happy. Thanks to Andrey Nechypurenko for reporting this. * utils/NamingViewer: Added a new utility that contains an MFC-based CosNaming viewer that that allows users to manipulate a Naming Context visually. Thanks to Chris Hafey for contributing this. Tue Dec 21 11:34:45 1999 bala * TAO version 1.0.10 released. Tue Dec 21 10:58:54 1999 Balachandran Natarajan * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp (server_is_running): Fixed warnings. Tue Dec 21 09:32:34 1999 David L. Levine * orbsvcs/orbsvcs/Log/LogMgr_i.cpp: removed ACE_Equal_To explicit instantiation, because it duplicated the ACE_Equal_To instantiation in tao/Transport_Mux_Strategy.cpp. Tue Dec 21 08:34:03 1999 David L. Levine * orbsvcs/orbsvcs/Makefile (TAO_ORBSVCS_SRCS): removed ID_Pool_T because it doesn't need to be compiled. ID_Pool_T.cpp only contains template class member functions. * orbsvcs/orbsvcs/Notify/ID_Pool_T.cpp: added protection against multiple inclusion. Mon Dec 20 21:14:17 1999 David L. Levine * orbsvcs/Makefile (DIRS): added Notify_Service. Mon Dec 20 21:09:21 1999 David L. Levine * orbsvcs/examples/Notify/Filter/Makefile: fixed to use "Filter" instead of "filter", and check for the Notify ORBSVC component instead of Log. Mon Dec 20 18:25:34 1999 Darrell Brunsch * orbsvcs/orbsvcs/orbsvcs.dsp: Added the Notify files to the project. The static project will be coming in soon. * orbsvcs/orbsvcs/Notify/ID_Pool_T.h: Added in an include of "ace/config.h" at the top of this file. That way, it is guaranteed that we will get the macros we need defined. * orbsvcs/orbsvcs/Notify/Notify_ConsumerAdmin_i.h: * orbsvcs/orbsvcs/Notify/Notify_EventChannel_i.h: * orbsvcs/orbsvcs/Notify/Notify_ProxyConsumer_i.h: * orbsvcs/orbsvcs/Notify/Notify_ProxyPushConsumer_i.h: * orbsvcs/orbsvcs/Notify/Notify_ProxyPushSupplier_i.h: * orbsvcs/orbsvcs/Notify/Notify_ProxySupplier_i.h: * orbsvcs/orbsvcs/Notify/Notify_StructuredProxyPushConsumer_i.h: * orbsvcs/orbsvcs/Notify/Notify_StructuredProxyPushSupplier_i.h: * orbsvcs/orbsvcs/Notify/Notify_SupplierAdmin_i.h: Added in blocks to disable that "inheritance by dominance" warning that MSVC loves to give. * orbsvcs/orbsvcs/Notify/Notify_Filter_i.h: Used ACE_NESTED_CLASS for the templates so both SUNCC and MSVC will be happy. Mon Dec 20 14:22:57 1999 Balachandran Natarajan * orbsvcs/orbsvcs/Notify/Notify_Filter_i.cpp: * orbsvcs/orbsvcs/Notify/Notify_FilterAdmin_i.cpp: * orbsvcs/orbsvcs/Notify/Notify_FilterFactory_i.cpp: * orbsvcs/orbsvcs/Notify/Notify_ProxySupplier_i.cpp: * orbsvcs/orbsvcs/Notify/Notify_StructuredProxyPushConsumer_i.cpp: * orbsvcs/orbsvcs/Notify/Notify_StructuredProxyPushSupplier_i.cpp: * orbsvcs/orbsvcs/Notify/Notify_StructuredPushConsumer.cpp: * orbsvcs/orbsvcs/Notify/Notify_StructuredPushSupplier.cpp: * orbsvcs/orbsvcs/Notify/Notify_SupplierAdmin_i.cpp: Fixed warnings on SunOS_EGCS. Mon Dec 20 13:52:24 1999 Balachandran Natarajan * tao/Tagged_Components.i (components): * tao/Tagged_Components.h :Added a method components () that would return read/write access to the underlying IOP::MultipleComponentProfile in the TAO_Tagged_Components class. Thanks to Chris Hafey for suggesting this. Mon Dec 20 12:21:20 1999 Balachandran Natarajan * orbsvcs/orbsvcs/Notify/ID_Pool_T.cpp (get): * orbsvcs/orbsvcs/Notify/ID_Pool_T.h: * orbsvcs/orbsvcs/Notify/ID_Pool_T.i: * orbsvcs/orbsvcs/Notify/NotifyPublish_i.cpp: * orbsvcs/orbsvcs/Notify/Notify_ConsumerAdmin_i.cpp: * orbsvcs/orbsvcs/Notify/Notify_EventChannel_i.cpp: * orbsvcs/orbsvcs/Notify/Notify_FilterAdmin_i.cpp: * orbsvcs/orbsvcs/Notify/Notify_Filter_i.cpp: * orbsvcs/orbsvcs/Notify/Notify_Filter_i.h: * orbsvcs/orbsvcs/Notify/Notify_SupplierAdmin_i.cpp: The last set of link errors in Notify service. Should be ready to go. Still has warnings to fix. Mon Dec 20 11:40:14 1999 Irfan Pyarali * TAO/tao/Pluggable.h (send): Addition indicator in send(). * TAO/tao/IIOP_Transport.cpp (send): * TAO/tao/UIOP_Transport.cpp (send): Short-circuit the call to the sync strategies if this is a two way call. Otherwise, we'll end up buffering a two-way call also. * TAO/tao/GIOP.cpp (send_message): It now takes an additional parameter to indicate whether this is a two way message. Mon Dec 20 12:15:35 1999 Irfan Pyarali * performance-tests/RTCorba/Oneways/Makefile: Compile the Reliable directory only if we have CORBA Messaging defined since there is no buffering in TAO without CORBA Messaging. * performance-tests/RTCorba/Makefile: Compile the Multiple_Endpoints directory only if we have RT CORBA defined since there is no priority mapping in TAO without RT CORBA. * examples/Makefile (DIRS): Should be: ifeq ($(corba_messaging),1) instead of: ifdef corba_messaging Mon Dec 20 11:10:07 1999 Balachandran Natarajan * orbsvcs/orbsvcs/Trader/Interpreter_Utils.cpp: Changed some template instantiations. Mon Dec 20 10:17:01 1999 Balachandran Natarajan * orbsvcs/orbsvcs/Trader/Trader.cpp: Removed some template instantiations which should not have been there in the first place. I have commented them out. Once the relase is fine we can have them removed. Mon Dec 20 00:21:50 1999 Balachandran Natarajan * orbsvcs/orbsvcs/Notify/Notify_Filter_i.cpp: * orbsvcs/orbsvcs/Notify/ID_Pool_T.i: * orbsvcs/orbsvcs/Notify/ID_Pool_T.cpp: * orbsvcs/orbsvcs/Notify/ID_Pool_T.h: * orbsvcs/orbsvcs/Notify/NotifySubscribe_i.cpp: * orbsvcs/orbsvcs/Notify/Notify_ConsumerAdmin_i.cpp: * orbsvcs/orbsvcs/Notify/Notify_Dispatcher.cpp: * orbsvcs/orbsvcs/Notify/Notify_EventChannel_i.cpp: * orbsvcs/orbsvcs/Notify/Notify_FilterAdmin_i.cpp: * orbsvcs/orbsvcs/Notify/Notify_Filter_i.h: * orbsvcs/orbsvcs/Notify/Notify_QoSAdmin_i.cpp: * orbsvcs/orbsvcs/Notify/Notify_SupplierAdmin_i.cpp: * orbsvcs/orbsvcs/Trader/Constraint_Visitors.cpp: * orbsvcs/orbsvcs/Trader/Interpreter_Utils.h: * orbsvcs/orbsvcs/Trader/Interpreter_Utils.cpp: Added missing template instantiations. It was nasty in the sense certain template instantiations were missing from the Trader set. Tracing them became a headache. * orbsvcs/orbsvcs/Makefile: Added a file ID_Pool_T in the list of compiles. Sun Dec 19 23:25:33 1999 Darrell Brunsch * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp: Changed an instance where I was assigning a string literal to a char *. This was causing a warning on suncc 5. * orbsvcs/Time_Service/Server_i.cpp: Forgot a ACE_TRY_CHECK after orb->run. Decided to remove the ACE_TRY block and just use the ACE_CHECK_RETURN macro instead (main will catch it and print out a message anyway. Sun Dec 19 17:36:07 1999 Balachandran Natarajan * orbsvcs/orbsvcs/Notify/Notify_Filter_i.cpp: * orbsvcs/orbsvcs/Notify/Notify_Constraint_Visitors.cpp: * orbsvcs/orbsvcs/Notify/Notify_ConsumerAdmin_i.cpp: * orbsvcs/orbsvcs/Notify/Notify_Dispatcher.cpp: * orbsvcs/orbsvcs/Notify/Notify_FilterAdmin_i.cpp: * orbsvcs/orbsvcs/Notify/Notify_ProxyConsumer_i.cpp: * orbsvcs/orbsvcs/Notify/Notify_ProxySupplier_i.cpp: * orbsvcs/orbsvcs/Notify/Notify_SupplierAdmin_i.cpp: Added missing template instantiations. Sun Dec 19 10:05:38 1999 David L. Levine * orbsvcs/orbsvcs/Notify/Notify_Filter_i.cpp (remove_all_constraints): index is used after the loop, so declare it outside the loop. Changed type of dindex from int to u_int to avoid signed/unsigned comparison. * orbsvcs/orbsvcs/Notify/Notify_Constraint_Visitors.cpp (ctor): changed type of index from int to u_int to avoid signed/unsigned comparison. Sun Dec 19 08:58:56 1999 David L. Levine * orbsvcs/orbsvcs/Notify/Notify_QoSAdmin_i.h: moved #pragma once to after first #include, to avoid g++ warning. * orbsvcs/orbsvcs/Notify/Notify_EventChannel_i.{h,cpp}, orbsvcs/orbsvcs/Notify/Notify_ConsumerAdmin_i.{h,cpp}, orbsvcs/orbsvcs/Notify/Notify_SupplierAdmin_i.{h,cpp}: changed type of dispatcher_ data member from auto_ptr to just a pointer. It will cause a memory leak, but auto_ptr wasn't being used correctly. This needs to be fixed properly when Pradeep returns. * orbsvcs/orbsvcs/Notify/Notify_Constraint_Visitors.cpp: added explicit template instantiations. Sun Dec 19 08:52:05 1999 David L. Levine * orbsvcs/orbsvcs/Makefile, orbsvcs/Notify_Service/Makefile: updated dependencies. Sat Dec 18 22:43:55 1999 Darrell Brunsch * orbsvcs/Time_Service/Makefile: Updated dependencies. * tao/POA.cpp: Fixed a statement unreachable warning. Sat Dec 18 19:21:01 1999 Darrell Brunsch * tao/POA.cpp: Fixed the imr_notify_startup method to not deadlock. But the change required the server_object to be moved into the current POA, instead of the root. This means a POA registered with the IMR must also have the USER_ID policy in addition to the PERSITENT policy (for now). Sat Dec 18 17:01:11 1999 Darrell Brunsch * orbsvcs/Time_Service/Server_i.cpp: * orbsvcs/Time_Service/Server_i.h: * orbsvcs/orbsvcs/Time/TAO_Time_Service_Server.cpp: * orbsvcs/orbsvcs/Time/TAO_Time_Service_Server.h: * orbsvcs/tests/Time/run_test.pl: Removed the old IR_Helper code from the Time Service. Also removed the use_ir test from the run_test.pl until I can figure out the interactions between the time service executables, the naming service, and the IMR. Sat Dec 18 13:54:16 1999 David L. Levine * orbsvcs/orbsvcs/Notify/Notify_Dispatcher.h: made destructor virtual. * orbsvcs/orbsvcs/Notify/Notify_EventChannelFactory_i.h: moved #pragma once to after first #include, to avoid g++ warning. * orbsvcs/orbsvcs/Notify/Notify_EventChannelFactory_i.cpp, Notify_ConsumerAdmin_i.cpp, Notify_ProxyPushSupplier_i.cpp, ID_Pool_T.i: commented out some unused arguments. * orbsvcs/orbsvcs/Notify/Notify_Filter_i.cpp: explicitly qualified CosNotifyFilter::ConstraintExp, for egcs. Changed some int loop indices to u_int. Sat Dec 18 14:21:46 1999 Ossama Othman * docs/pluggable_protocols/index.html: Added section on TAO Connection_Handlers. Sat Dec 18 14:01:56 1999 David L. Levine * orbsvcs/orbsvcs/Makefile: moved RtecDefaultEventData before other Rtec IDL_SRCs because it needs to be generated before them. Sat Dec 18 09:40:08 1999 David L. Levine * orbsvcs/orbsvcs/Makefile: insert TimeBase at beginning of IDL_SRCS instead of appending at end, so that the TimeBase files get generated first. They're needed by other files. Sat Dec 18 01:16:20 1999 Irfan Pyarali * performance-tests/RTCorba/Oneways/Reliable/client.cpp: Added the ability to quantify only the relevant areas of the code, i.e., the remote calls. Also, timers can be selectively turned off. * tao/Sync_Strategies.cpp (timer_check): Optimized to access the ORB's reactor only when required. * tao/Pluggable.cpp (reset_queued_message): Selection of the next message block to adjust was incorrect. The correct way is to chase the continuation chain and then go to the next continuation chain. Fri Dec 17 15:44:13 1999 Jeff Parsons * TAO_IDL/ast/ast_interface.cpp: Fixed a bug in checking for name clash of inherited members in IDL files. Thanks to Andrey Nechypurenko for sending in the example file and to Jon Biggar for providing his best guess on a scoping and name resolution case not explicitly covered by the spec. * tests/IDL_Test/interface.idl: Added above example to the test suite. Fri Dec 17 15:39:36 1999 Ossama Othman * docs/pluggable_protocols/index.html: Added a brief section on tags. Fri Dec 17 02:26:25 1999 Pradeep Gore * orbsvcs/orbsvcs/Notify/README: * orbsvcs/Notify_Service/README: added README's for the Notification Service. * orbsvcs/orbsvcs/Makefile: added the Notification Service to the orbsvcs * orbsvcs/Notify_Service/Makefile: added a makefile for the Notify_Service * orbsvcs/examples/Notify/Filter/Makefile: added a makefile for the filter example. Fri Dec 17 01:18:29 1999 Darrell Brunsch * tao/ImplRepoC.h: Removed the inclusion of corbafwd.h, since it isn't needed (and I believe I was told once that it shouldn't be there). Moved the other inludes before the #pragma once, so this should allow ACE's config.h to set ACE_LACKS_PRAGMA_ONCE before it checks it. * tao/ORB_Core.h: * tao/ORB_Core.cpp: Fixed another case of unnecessary use of const by removing it from the implrepo_service () method. * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp: Fixed a missed case where get_object_key_delimiter () was still being used. Thu Dec 16 21:11:40 1999 Ossama Othman * docs/pluggable_protocols/index.html: Added a note stressing the fact that it should not be necessary to make any changes to ACE or TAO in order to implement a pluggable protocol. Thu Dec 16 20:37:17 1999 Ossama Othman * docs/Options.html: Added HTML name attributes to some ORB option descriptions. * docs/pluggable_protocols/index.html: Added many more useful hyperlinks * docs/img5.png: Scaled to 75% of original size. Thanks to Doug for pointing out the original size was very large. Thu Dec 16 18:52:44 1999 Ossama Othman * docs/pluggable_protocols/index.html: Added missing closing tag. Sections that were incorrectly considered part of another section are now in the right place. Added Bruce Trask to the list of authors. Added hyperlinks to referenced papers and to ToC entries. Thu Dec 16 17:25:42 1999 Ossama Othman * orbsvcs/orbsvcs/Naming/Persistent_Naming_Context.cpp (list): * orbsvcs/orbsvcs/Naming/Transient_Naming_Context.cpp (list): Added missing ACE_CHECK after call to ACE_NEW_THROW_EX. Thu Dec 16 14:53:23 1999 Ossama Othman * docs/index.html: Updated with new location of pluggable protocols framework documentation. * docs/pluggable_protocols/cross_ref_motif.png: * docs/pluggable_protocols/img1.png: * docs/pluggable_protocols/img2.png: * docs/pluggable_protocols/img3.png: * docs/pluggable_protocols/img4.png: * docs/pluggable_protocols/img5.png: * docs/pluggable_protocols/index.html: * docs/pluggable_protocols/pluggable_protocols.css Added detailed pluggable protocol framework documentation. * docs/pluggable.html: Merged this documentation into the new pluggable protocols documentation, and removed this file. * tao/Profile.cpp: * tao/Profile.h: * tao/IIOP_Profile.h: * tao/IIOP_Profile.i: * tao/UIOP_Profile.h: * tao/UIOP_Profile.i: * tao/IIOP_Connector.cpp: * tao/UIOP_Connector.cpp: Changed "get_object_key_delimiter" method name to "object_key_delimiter" to match coding style used for pluggable protocols framework. Similarly, the "object_key_delimiter" static string variable was changed to "object_key_delimiter_." Made object_key_delimiter() method non-inline. There is no point in inlining virtual methods. There is no point in returning a "const char" object key delimiter since it isn't possible to modify the original one (i.e. the returned value is not a reference or a pointer). A "char" return value will do. * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp (server_is_running): * tao/POA.cpp (key_to_object, imr_notify_startup): Changed use of get_object_key_delimiter() to object_key_delimiter(). * tao/POA.cpp (destroy_i): Fixed warning about better conversion operator. * tao/ImplRepoC.h: Moved inclusion of "ace/streams.h" after "tao/corbafwd.h." "ace/streams.h" is included only if ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION is defined but since ace/streams.h was the first file included there was no way to tell if ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION was defined. * tao/Makefile: Updated dependencies. Thu Dec 16 14:31:43 1999 Balachandran Natarajan * tao/ImplRepoC.h: Propagated the change "Wed Dec 15 19:00:00 1999 Kirthika Parameswaran " to the file. Apparently the files were generated before the change. This should hopefully fix the Single threaded build problem. Thu Dec 16 02:24:03 1999 Irfan Pyarali * performance-tests/RTCorba/Oneways/Reliable/test.idl: * performance-tests/RTCorba/Oneways/Reliable/test_i.cpp: * performance-tests/RTCorba/Oneways/Reliable/test_i.h: * performance-tests/RTCorba/Oneways/Reliable/client.cpp: Distinguished between work based operations and payload based operations. Thu Dec 16 02:23:48 1999 Irfan Pyarali * performance-tests/RTCorba/Oneways/Reliable/client.cpp: - Removed flush_queue(). - Combined reliable_test() and buffered_test() into oneway_test(). - Server IOR can now be specified on the command line. - Removed use of magic constants. - factored out RT setting code. - Remove extra globals. - Simplified and cleaned up a bunch of small things. * examples/POA/Explicit_Activation/server.cpp: Added parse_args and factored out RT setting code. * performance-tests/RTCorba/Oneways/Reliable/test_i.cpp (oneway_op and twoway_op): Added calls to ACE::is_prime(). This will make sure to eat some CPU. The empty "for" loops would probably have been removed by an optimizing compiler. Wed Dec 15 22:15:09 1999 Darrell Brunsch * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp: * orbsvcs/ImplRepo_Service/Makefile: * orbsvcs/orbsvcs/Makefile: * orbsvcs/tests/ImplRepo/Makefile: * orbsvcs/tests/ImplRepo/run_test.pl: * tao/Makefile: * tao/POA.cpp: * tao/UIOP_Profile.i: Miscellaneous bug fixes to make sure my changes compile with SunCC. But alas, the airplane test hangs, so I'll have to look into it over the next couple of days. Wed Dec 15 20:21:10 1999 Nanbor Wang * tests/Collocation/Diamond_i.h: * tests/Collocation/Diamond_i.cpp: Replaced CORBA::String with char*. Wed Dec 15 20:07:01 1999 Darrell Brunsch Where to start? The major points: - Renamed all IR references to IMR, to be consistent with how most people refer to it these days. - The IR_Helper functionality was pushed down into the POA, so the IMR's use on the server side is transparent code-wise (you still will need a command line option to enable it). [Bug 24] - Thanks to a submission by Chris Hafey , persistence was added to the Implementation Repository. The flags used are -p for specifying a file to save the settings to, and -r for saving to the Win32 Registry. [Bug 195] - The new scheme should also work better with pluggable protocols, but multiple profiles isn't currently supported. [Bug 134] - Another activation mode, AUTO_START was added. This mode means that the server will be automatically started when the ImplRepo_Service executable starts up. This makes sense now we have persistence. - Added a callback method to the IOR lookup table. This allows me to add support for simple names in the Implementation Repository. The way this works is that the IMR recognizes Interoperable Naming Service short names and activates the server and then forwards to it. [Note] Even though it works with INS, I still have some changes I want to integrate to make it easier. Right now there is no way to get the endpoint portion for the IMR IOR without copying it from the IOR output file. * tao/Profile.cpp: * tao/Profile.h: * tao/IIOP_Profile.h: * tao/IIOP_Profile.i: * tao/UIOP_Profile.h: * tao/UIOP_Profile.i: Added a new accessor method called get_object_key_delimeter (). It returns the object key delimeter. It was added so string IORs could be altered in a pluggable way. * orbsvcs/orbsvcs/ImplRepo.idl: (removed) * tao/ImplRepo.pidl: (added) * tao/ImplRepoC.cpp: (added) * tao/ImplRepoC.h: (added) * tao/ImplRepoC.i: (added) * tao/ImplRepoS.cpp: (added) * tao/ImplRepoS.h: (added) * tao/ImplRepoS.i: (added) * tao/ImplRepoS_T.cpp: (added) * tao/ImplRepoS_T.h: (added) * tao/ImplRepoS_T.i: (added) Moved the IDL file for the ImplRepo from orbsvcs into TAO itself. * orbsvcs/orbsvcs/IR_Helper.cpp: (removed) * orbsvcs/orbsvcs/IR_Helper.h: (removed) * tao/ORB_Core.cpp: * tao/ORB_Core.h: * tao/ORB_Core.i: * tao/POA.cpp: * tao/POA.h: Removed the IR_Helper classes and integrated their function into the POA. The ORB_Core now supports a new flag, ORBUseIMR, and keeps track of the ImplRepo IOR. The POA now does the notify startup and shutdown calls, plus alters the references to point to the IMR. * tao/IOR_LookupTable.cpp: * tao/IOR_LookupTable.h: * tao/ORB.h: * tao/ORB.cpp: Added a callback hook to the IOR Lookup Table so a application method can be used to create IORs dynamically. The IMR uses this for activation purposes when a simplified name is used (eg. iiop://maxixe:5050/NameService). * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp: * orbsvcs/ImplRepo_Service/ImplRepo_i.h: * orbsvcs/ImplRepo_Service/Options.cpp: * orbsvcs/ImplRepo_Service/Options.h: * orbsvcs/ImplRepo_Service/Repository.cpp: * orbsvcs/ImplRepo_Service/Repository.h: * orbsvcs/ImplRepo_Service/tao_imr.cpp: (added) * orbsvcs/ImplRepo_Service/tao_imr_i.cpp: (added) * orbsvcs/ImplRepo_Service/tao_imr_i.h: (added) * orbsvcs/ImplRepo_Service/tao_ir.cpp: * orbsvcs/ImplRepo_Service/tao_ir_i.cpp: * orbsvcs/ImplRepo_Service/tao_ir_i.h: Renamed tao_imr, added Chris's persistence changes, integrated better with INS (supports the callback and registers itself as "ImplRepoService"), and changed the way that the forwarding IOR is generated to remove the tight coupling with IIOP. I also removed the orb_manager while I was visiting. * orbsvcs/tests/ImplRepo/airplane_i.cpp: * orbsvcs/tests/ImplRepo/airplane_i.h: * orbsvcs/tests/ImplRepo/airplane_server_i.cpp: * orbsvcs/tests/ImplRepo/airplane_server_i.h: * orbsvcs/tests/ImplRepo/nestea_i.cpp: * orbsvcs/tests/ImplRepo/nestea_i.h: * orbsvcs/tests/ImplRepo/nestea_server_i.cpp: * orbsvcs/tests/ImplRepo/nestea_server_i.h: Removed all IMR specific code, and have them now register short names with INS. * orbsvcs/tests/ImplRepo/run_test.pl: Test refers to tao_imr and uses the ORBUseIMR flag. * tao/TAO.dsp: * tao/Makefile: * orbsvcs/orbsvcs/orbsvcs.dsp: * orbsvcs/orbsvcs/Makefile: * orbsvcs/ImplRepo_Service/tao_ir.dsp: (removed) * orbsvcs/ImplRepo_Service/tao_imr.dsp: (added) * orbsvcs/ImplRepo_Service/Makefile: * orbsvcs/ImplRepo_Service/ImplRepo.dsw: * orbsvcs/tests/ImplRepo/ImplRepo.dsw: * orbsvcs/tests/ImplRepo/airplane_server.dsp: * orbsvcs/tests/ImplRepo/nestea_server.dsp: Updated the makefiles/projects because of these changes. * orbsvcs/tests/ImplRepo/NameService/README: Readme for an upcoming test that will display how to use the IMR to start common services such as the Trading, Naming, etc. via resolve_init_references (). * orbsvcs/Naming_Service/Naming_Service.cpp: * orbsvcs/Naming_Service/Naming_Service.h: Preliminary work for getting the Naming_Service to work with IMR. Changes are minor, changing the child POA name to NameService instead of child_poa, and removing the use of orb_manager while I was there. * docs/Options.html: Covers the new -ORBUseIMR option. * docs/implrepo/index.html: * docs/implrepo/tao_imr.html: (added) * docs/implrepo/tao_ir.html: (removed) * docs/implrepo/usersguide.html: Changed the documentation to cover all these changes. * orbsvcs/orbsvcs/Log/BasicLogFactory_i.h: * orbsvcs/orbsvcs/Trader/Offer_Iterators.h: * orbsvcs/orbsvcs/Trader/Offer_Iterators_T.h: * orbsvcs/orbsvcs/Trader/Trader_Interfaces.h: * orbsvcs/orbsvcs/Trader/Trader_Utils.h: Added more blocks of disabling MSVC 4250 compiler warnings. Wed Dec 15 19:00:00 1999 Kirthika Parameswaran * TAO_IDL/be/be_visitor_interface/smart_proxy_ch.cpp (visit_interface): Changed ACE_Recurisive_Thread_Mutex to ACE_SYNCH_RECURSIVE_MUTEX to take care of single-threaded case too. Thanks to Jeff Parsons for pointing it out. Tue Dec 14 20:22:37 1999 Ossama Othman * tao/IIOP_Factory.h: * tao/Pluggable.h: * tao/Profile.h: * tao/Protocol_Factory.h: * tao/UIOP_Factory.cpp: * tao/UIOP_Factory.h: Cosmetic updates, spelling corrections, etc. Tue Dec 14 13:51:46 1999 Nanbor Wang * utils/nslist/nslist.dsp: Fixed the release build settings. Thanks to Mike Vitalo for reporting this. Tue Dec 14 09:40:47 1999 Douglas C. Schmidt * utils/IOR-parser/ior-handler.h: Changed "class IOR" to "struct IOR" to make MSVC++ happy. Thanks to Mike Vitalo for reporting this. Mon Dec 13 16:21:24 1999 Jeff Parsons * performance-tests/RTCorba/Oneways/Reliable/client.cpp: Fixed typo in ACE_Debug message. Mon Dec 13 13:50:13 1999 Krishnakumar Elakkara Pathayapura * orbsvcs/orbsvcs/Log/LogRecordStore.cpp: * orbsvcs/orbsvcs/Log/LogRecordStore.cpp: fixed template instantiation Mon Dec 13 11:36:11 1999 Ossama Othman * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp (server_is_running): Changed use of TAO_AcceptorSetItor to TAO_AcceptorSetIterator. Thanks to Bala for pointing this out. Mon Dec 13 04:52:37 1999 Pradeep Gore * orbsvcs/orbsvcs/Notify/Notify_StructuredProxyPushSupplier_i.{h,cpp}: * orbsvcs/orbsvcs/Notify/Notify_StructuredProxyPushConsumer_i.{h,cpp}: added these files for the Notification Service implementation. * orbsvcs/orbsvcs/Notify/Notify_StructuredPushConsumer.{h,cpp}: * orbsvcs/orbsvcs/Notify/Notify_StructuredPushSupplier.{h,cpp}: added these helper classes for writing structured events consumers and suppliers for the Notification Service. * orbsvcs/Notify/Notify_Service.{h,cpp}: - Added this file for the Notification Service front end process. - Resisters the CosNotifyChannelAdmin::EventChannelFactory object as "NotifyEventChannelFactory" with the Naming Service. * orbscvs/examples/Notify/Filter/Filter.{h,cpp}: * orbscvs/examples/Notify/Filter/main.cpp: * orbscvs/examples/Notify/Filter/README: An example to show how to do write a client for Notify and how to do filtering. Sun Dec 12 20:07:03 1999 Krishnakumar Elakkara Pathayapura * orbsvcs/examples/Log/test/Makefile: * orbsvcs/examples/Log/test/BasicLog_Test.cpp * orbsvcs/examples/Log/test/BasicLog_Test.h: * orbsvcs/examples/Log/test/client.cpp: Additional tests for the logging service. Thanks to keith brown for sending them in. Sun Dec 12 18:00:48 1999 Ossama Othman * tao/Acceptor_Registry.cpp (open): Added missing ACE_CHECK_RETURN call after call to ACE_NEW_THROW_EX. Sun Dec 12 15:32:27 1999 Ossama Othman * tao/params.h: * tao/params.i: * tao/params.cpp: Changed endpoint container to ACE_Unbounded_Queue to allow -ORBEndpoint command line options such as the following to work as expected: -ORBEndpoint 'iiop://;iiop://' This change will allow multiple default endpoints to be created easily. [Bug 369] Note that this change does not increase TAO's footprint because an ACE_Unbounded_Queue of the same type already exists in ACE. * tao/Acceptor_Registy.h: * tao/Acceptor_Registy.i: * tao/Acceptor_Registy.cpp: * tao/Connector_Registry.h: * tao/Connector_Registry.cpp: Changed underlying TAO_Acceptor and TAO_Connector container from an ACE_Unbounded_Set to a simple array. These changes reduce the pluggable protocol framework footprint because a total of six container related template instantiations were removed in the process. Removed included headers that weren't needed for anything. * tao/Connector_Registry.i: Added this file. It contains the same iterator style begin/end methods that the TAO_Acceptor_Registry uses. * tao/Pool_Per_Endpoint.cpp (run): * orbsvcs/orbsvcs/IR_Helper.cpp (notify_startup): The acceptor set iterator typedef in `tao/Acceptor_Registry.h' was changed to "TAO_AcceptorSetIterator." * tao/Makefile: Updated dependencies. * tao/Makefile.am (INLINE_FILES): Added Connector_Registry.i to the list of inline files. Sat Dec 12 15:15:00 1999 Kirthika Parameswaran * tao/Acceptor_Registry.cpp: * tao/append.cpp: * tao/Any.cpp: * tao/CDR_Interpreter.cpp: * tao/Connector_Registry.cpp: * tao/decode.cpp: * tao/deep_free.cpp: * tao/default_client.cpp: * tao/default_resource.cpp: * tao/default_server.cpp: * tao/DomainS.cpp: * tao/decode.cpp: * tao/Environment.cpp: * tao/Exception.cpp: * tao/GIOP.cpp: * tao/GIOP_Server_Request.cpp: * tao/IIOP_Acceptor.cpp: * tao/IIOP_Connector.cpp: * tao/IIOP_Connect.cpp: * tao/IIOP_Profile.cpp: * tao/IIOP_Transport.cpp: * tao/Invocation.cpp: * tao/MessagingS_T.i: * tao/NVList.cpp: * tao/Operation_Table.cpp: * tao/Object.cpp: * tao/ORB.cpp: * tao/ORB_Core.cpp: * tao/Pluggable.cpp: * tao/POA.cpp: * tao/POAS.cpp: * tao/Pool_Per_Endpoint.cpp: * tao/Reactor_Per_Priority.cpp: * tao/Reply_Dispatcher.cpp: * tao/Request.cpp: * tao/Servant_Base.cpp: * tao/skip.cpp: * tao/Stub.cpp: * tao/Stub.i: * tao/TAO.cpp: * tao/Transport_Mux_Strategy: * tao/Typecode.cpp: * tao/Valuebase.cpp: * tao/Wait_Strategy.cpp: Added ASYS_TEXT macros to make the statements WCHAR compliant. Also replaced naked 'assert' calls with ACE_ASSERT macros. * tao/tao_ce.{dsp, dsw}: Added the WinCE workspace for tao. Sat Dec 11 21:34:40 1999 Krishnakumar Elakkara Pathayapura * orbsvcs/orbsvcs/Log/LogRecordStore.cpp: Fixed the template instantiation. Sat Dec 11 18:56:24 1999 Darrell Brunsch * orbsvcs/ImplRepo_Service/tao_ir_i.cpp: Removed possibly uninitialized variable use from display_server_information (). Sat Dec 11 14:33:25 1999 Krishnakumar Elakkara Pathayapura * orbsvcs/orbsvcs/Log/LogMgr_i.cpp: * orbsvcs/orbsvcs/Log/LogRecordStore.cpp: Added template instantiations for ACE_Hash and ACE_Equal_To Sat Dec 11 14:31:45 1999 Ossama Othman * tao/Makefile.am (pkginclude_HEADERS): Split header file list into `.h' files (HEADER_FILES) and `.i' (INLINE_FILES). This gets around a limitation on Solaris. Sat Dec 11 10:15:42 1999 Luther J Baker * tao/ORB_Core.cpp (init): Changed -ORBDebug flag to not eat following argument. Thanks to Mark L Boriack for reporting this. -ORBDaemon, -ORBSkipServiceConfigOpen, -ORBGIOPLite to follow similar behavior. In the past, these flags would accept 'longer' names ... but by their nature, they should never be longer. The flags following this group may have their arguments immediately following, but not this group. Sat Dec 11 00:08:50 1999 Darrell Brunsch * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp: Hopefully fixed some compiler warnings about temporaries and copy constructors on egcs. * orbsvcs/ImplRepo_Service/ImplRepo_i.h: Here hopefully a SUNCC warning is fixed (needed to make Endpoint public). Fri Dec 10 15:33:36 1999 Douglas C. Schmidt * docs: Added the new pluggable.html document that explains how to write pluggable protocols for TAO. Thanks to Bruce Trask for contributing this. Fri Dec 10 16:13:53 1999 Jeff Parsons * performance-tests/RTCorba/Oneways/Reliable/client.cpp: * performance-tests/RTCorba/Oneways/Reliable/test_i.h.cpp: * performance-tests/RTCorba/Oneways/Reliable/test_i.cpp.cpp: * performance-tests/RTCorba/Oneways/Reliable/test.idl: * performance-tests/RTCorba/Oneways/Reliable/run_test.pl: * performance-tests/RTCorba/Oneways/Reliable/client_test.pl: * performance-tests/RTCorba/Oneways/Reliable/README: Added new command line argument that will control how much 'work' is done by the servant. This is useful when comparing reliable oneways with twoway requests. Fri Dec 10 14:09:58 1999 Jeff Parsons * performance-tests/RTCorba/Oneways/Reliable/client.dsp: * performance-tests/RTCorba/Oneways/Reliable/server.dsp: Compile settings for .idl file had been set but not checked in. Fri Dec 10 12:04:27 1999 Jeff Parsons * docs/releasenotes/TODO.html: Made several updates relating to the IDL compiler. Fri Dec 10 09:00:54 1999 David L. Levine * examples/Simulator/Event_Supplier/DualEC_Sup.cpp (start_generating_events, init): moved POA activation from start_generating_events () to init (). (load_schedule_data): commented out some unused variables. (run_nav_thread, run_weap_thread): added a couple of ACE_TRY_CHECK's. * examples/Simulator/Event_Supplier/Event_Con.cpp (push): use a temporary int to avoid overload ambiguities with the kind enum value. (disconnect_push_consumer): removed declaration of unused arg ACE_TRY_ENV. Fri Dec 10 08:58:49 1999 David L. Levine * examples/Simulator/DOVEMIB/DOVEMIB.cpp (disconnect_push_consumer): removed declaration of unused arg ACE_TRY_ENV. Fri Dec 10 01:27:39 1999 Irfan Pyarali * tao/Active_Object_Map.cpp: * tao/Object_Adapter.cpp: * TAO_IDL/be/be_valuetype_fwd.cpp: * TAO_IDL/be/be_visitor_valuetype/arglist.cpp: Fixed the ACE_RCSID macro. * tao/IIOP_Connector.cpp: * tao/UIOP_Connector.cpp: Removed extra semicolons from two #pragma instantiates. Thanks to Dennis D Noll for reporting the above two problems. * tao/Messaging_Policy_i.i (synchronization): * tao/Buffering_Constraint_Policy.i (buffering_constraint): * tao/ORB_Core (miscellaneous): * tao/Pluggable.i (miscellaneous): Inlined some accessors. * tao/TAOS.h (_tao_direct_collocated_BufferingConstraintPolicy::buffering_constraint): * tao/MessagingS.h (_tao_collocated_SyncScopePolicy::synchronization and SyncScopePolicy_tie::synchronization): When the TAO specific extension were made in: ChangeLogTag: Wed Dec 08 19:53:46 1999 Irfan Pyarali the derived classes must also overwrite all the overloaded methods. Thu Dec 9 18:47:10 1999 Jeff Parsons * TAO_IDL/be/be_visitor_sequence/cdr_op_cs.cpp: Fixed code generation of CDR operatorsfor a certain use case of nested anonymous sequences. IDL file would build correctly, but would give rise to marshaling errors at runtime. Also fixed generation of #ifdef guards for these operators - some cases were generating the guards unnecessarily. Thanks to Derek Dominish for reporting the marshaling error. Thu Dec 09 15:53:20 1999 Nanbor Wang * examples/Load_Balancing_persistent/Load_Balancer_i.cpp: * examples/POA/DSI/Database_i.cpp: * orbsvcs/orbsvcs/Naming/Persistent_Context_Index.cpp: * tao/default_resource.cpp: Added template instantiation for ACE_Malloc_T in correspond to the change in ACE. Thu Dec 9 14:57:16 1999 Jeff Parsons * performance-tests/RTCorba/Oneway/Reliable/run_test.pl: Added invocation of client's server shutdown option on the last iteration. Thu Dec 09 14:23:16 1999 David L. Levine * orbsvcs/tests/start_services: added -s option to start Scheduling Service. Wed Dec 08 19:53:46 1999 Irfan Pyarali * tao/MessagingS.h (SyncScopePolicy::synchronization): * tao/TAOS.h (BufferingConstraintPolicy::buffering_constraint): Hacky TAO extension to bypass the call to CORBA::Environment::default_environment () since this method will never raise exceptions. * performance-tests/RTCorba/Oneways/Reliable/client.dsp: * performance-tests/RTCorba/Oneways/Reliable/server.dsp: Fixed include and library paths. * version_tests.dsw: Added new performance test RTCorba/Oneways/Reliable. Wed Dec 8 15:03:07 1999 Jeff Parsons * tao/Invocation.{h,i,cpp}: Modified TAO_GIOP_Oneway_Invocation to create a Reply Dispatcher (and thus an ACE_InputCDR) only if the SyncScope policy dictates that a reply is required. Thanks to Carlos for this suggestion. Wed Dec 08 13:57:13 1999 Nanbor Wang * orbsvcs/orbsvcs/orbsvcs.dsp: * orbsvcs/orbsvcs/orbsvcs_static.dsp: Added orbsvcs.rc. Thanks to David Hauck for reminding this. Tue Dec 07 21:32:19 1999 Nanbor Wang * tao/TAO.dsp: * tao/TAO_Static.dsp: Per Bala, added GIOPC.*. Added tao.rc to project files. One can use GetFileVersionInfo on Win32 to get the TAO library version info now. Thanks to David Hauck for suggesting this. Tue Dec 7 20:38:32 1999 Marina Spivak * performance-tests/RTCorba/Multipel_Endpoints/Endpoint_Per_Priority/client.cpp * performance-tests/RTCorba/Multipel_Endpoints/Orb_Per_Priority/client.cpp * performance-tests/RTCorba/Multipel_Endpoints/Single_Endpoint/client.cpp: Added Barriers to make sure all client threads sync before trying to establish a connection and before starting to invoke operations. Tue Dec 7 18:38:20 1999 Marina Spivak * performance-tests/RTCorba/Multiple_Endpoints/Endpoint_Per_Priority/client.cpp * performance-tests/RTCorba/Multiple_Endpoints/Endpoint_Per_Priority/server.cpp * performance-tests/RTCorba/Multiple_Endpoints/Endpoint_Per_Priority/run-test.pl * performance-tests/RTCorba/Multiple_Endpoints/Orb_Per_Priority/client.cpp * performance-tests/RTCorba/Multiple_Endpoints/Orb_Per_Priority/run-test.pl * performance-tests/RTCorba/Multiple_Endpoints/Orb_Per_Priority/server.cpp * performance-tests/RTCorba/Multiple_Endpoints/Single_Endpoint/client.cpp * performance-tests/RTCorba/Multiple_Endpoints/Single_Endpoint/server.cpp * performance-tests/RTCorba/Multiple_Endpoints/Single_Endpoint/run-test.pl: Improved debugging messages. Tue Dec 7 13:30:20 1999 Marina Spivak * performance-tests/RTCorba/Multiple_Endpoints/Makefile * performance-tests/RTCorba/Multiple_Endpoints/Endpoint_Per_Priority/Makefile * performance-tests/RTCorba/Multiple_Endpoints/Endpoint_Per_Priority/README * performance-tests/RTCorba/Multiple_Endpoints/Endpoint_Per_Priority/client.cpp * performance-tests/RTCorba/Multiple_Endpoints/Endpoint_Per_Priority/run-test.pl * performance-tests/RTCorba/Multiple_Endpoints/Endpoint_Per_Priority/server.conf * performance-tests/RTCorba/Multiple_Endpoints/Orb_Per_Priority/Makefile * performance-tests/RTCorba/Multiple_Endpoints/Orb_Per_Priority/client.cpp * performance-tests/RTCorba/Multiple_Endpoints/Orb_Per_Priority/run-test.pl * performance-tests/RTCorba/Multiple_Endpoints/Orb_Per_Priority/server.cpp * performance-tests/RTCorba/Multiple_Endpoints/Single_Endpoint/Makefile * performance-tests/RTCorba/Multiple_Endpoints/Single_Endpoint/client.cpp * performance-tests/RTCorba/Multiple_Endpoints/Single_Endpoint/run-test.pl: Added THR_BOUND flag whereever we spawned threads in the tests. Updated perl scripts. Tue Dec 7 17:56:55 1999 Carlos O'Ryan * tao/Pool_Per_Endpoint.h: Use the THR_BOUND flag to ensure that a new LWP is assigned in real-time configurations. Thanks to Marina for pointing this out. * performance-tests/RTCorba/Multiple_Endpoints/Single_Endpoint/server.conf: * performance-tests/RTCorba/Multiple_Endpoints/Orb_Per_Priority/server.conf: Don't use thread-per-connection as it is hard to control the priority of the ORB created threads. Tue Dec 7 13:44:55 1999 Krishnakumar Elakkara Pathayapura * orbsvcs/orbsvcs/Log/LogMgr_i.cpp: Fixed some template instantiations. Tue Dec 7 12:17:08 1999 Carlos O'Ryan * tao/UIOP_Transport.cpp: Fixed typos, it compiles now. Mon Dec 6 22:20:59 1999 Ossama Othman * tao/Makefile.am (ORB_CORE_FILES, pkginclude_HEADERS): Added GIOPC related files to the appropriate MAKE variable. * tao/Stub.cpp (~TAO_Stub): Instead of protecting all profile related calls with a nil ORB core check, only check for a nil ORB core when calling TAO_Profile::reset_hint() since it relies on connectors in an existing ORB core. The call to TAO_Profile::_decr_refcnt(), on the other hand does not have to be protected. It should always be called to perform any remaining profile clean up. This fixes a memory leak. Thanks to Irfan for reporting this leak. * tests/ORB_init/ORB_init.cpp (main): Call CORBA::ORB::string_to_object() on a valid IOR, but don't narrow() the IOR, before calling CORBA::ORB::destroy(). This aids in verifying that the TAO_Stub internals work properly after a call to CORBA::ORB::destroy() has been made. Thanks to Irfan for providing an example of this test case. Debugging output updates. * tests/ORB_init/README: Updated the documentation. Mon Dec 06 21:16:53 1999 Irfan Pyarali * tao/IIOP_Transport.cpp (send/recv): * tao/UIOP_Transport.cpp (send/recv): - Changed to use the new timed I/O APIs in ACE. - The parameter was made const. - Changed how the destructor handles buffered oneways. * tao/UIOP_Connect.cpp (handle_timeout): * tao/IIOP_Connect.cpp (handle_timeout): Changed how timeouts handle buffered oneways. * tao/Pluggable.cpp (send_buffered_messages): Some of the methods were moved from the sync strategies to the transport class. This makes them easier to use without the presence of the stub, e.g., during the destruction of the transport and when timeouts occur. * examples/Buffered_Oneways/client.cpp (main): Initialized all the fields of the structure. This will prevent UMRs from purify. Thanks to Jeff for pointing out the source of the UMRs. Mon Dec 6 13:16:21 1999 Balachandran Natarajan * tao/GIOP1_2.pidl (GIOP ): * tao/GIOPC.h: * tao/GIOPC.cpp: * tao/GIOPC.i: Some new data types that have been added to GIOP 1.2. They have their own name space GIOP and should not create a problem for the CORBA namespace. * tao/Makefile: Added GIOPC.cpp to the list of files and also updated the dependencies. Sun Dec 5 14:43:42 1999 Carlos O'Ryan * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp: * orbsvcs/orbsvcs/IR_Helper.cpp: * utils/catior/catior.cpp: Removed last uses of the TAO_IOP_TAG enums, thanks to Bala and Darrell for pointing this out. Sat Dec 4 17:19:43 1999 Jeff Parsons * TAO_IDL/fe/fe_interface_header.cpp: Added missing variable initialization that was causing bogus name clash errors. Thanks to Darrell for reporting this bug. Sat Dec 4 17:18:59 1999 Ossama Othman * tao/Makefile: Updated dependencies. Sat Dec 4 16:36:57 1999 Jeff Parsons * performance-tests/RTCorba/Oneways/Reliable/client.cpp: * performance-tests/RTCorba/Oneways/Reliable/server.cpp: Added code to explicitly set the current thread's priority to the computed value, once RT priority class scheduling is enabled. Removed some unused variables to avoid kai and IRIX warnings. In the client, added code (commented out for now) to aid in making a histogram of the latency timings. Sat Dec 4 16:38:26 1999 Carlos O'Ryan * tao/ORB.h: Fixed broken throw spec that went undetected in the last commit. Sat Dec 4 15:57:36 1999 Carlos O'Ryan * docs/compiler.html: As far as i know, and i tried this out, the -Gt option is working now (Andy fixed this long time ago). I updated the documentation because it was listed as not implemented. Sat Dec 4 15:47:55 1999 Carlos O'Ryan * tao/ORB.h: * tao/ORB.cpp: * tao/ORB_Core.h: * tao/ORB_Core.i: * tao/ORB_Core.cpp: Removed throw specs from the ORB and ORB_Core interfaces, they are not present in the spec, thus they should not be there in the first place. * tao/corbafwd.h: * tao/GIOP.h: * tao/Pluggable.h: * tao/default_resource.cpp: * tao/TAO_Internal.cpp: * tao/IIOP_Acceptor.cpp: * tao/IIOP_Connector.cpp: * tao/IIOP_Profile.cpp: * tao/IIOP_Transport.cpp: * tao/UIOP_Acceptor.cpp: * tao/UIOP_Connector.cpp: * tao/UIOP_Profile.cpp: * tao/UIOP_Transport.cpp: Removed the TAO_IOP_TAG enum, it caused confusion as to how where new profile tags added. To add a new protocol you should *NOT* modify the library code in any way, i have made comments to that effect in all the places where we manipulate the IIOP and UIOP protocols explicitly. Those protocols are linked in by default, but other protocols can be linked in using the service configurator. Sat Dec 04 10:34:53 1999 Nanbor Wang * tao/orbconf.h: * tao/corbafwd.h: * tao/POAC.h: Part of my previous change wrt export macros failed to consider comilers without namespace. Fri Dec 3 22:00:48 1999 Darrell Brunsch * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp: * orbsvcs/ImplRepo_Service/Repository.cpp: Fixed some warnings with G++. Fri Dec 3 14:20:17 1999 Ossama Othman * tao/default_resource.cpp (init_protocol_factories): Added missing argument in call to ACE_ERROR. Thanks to Chris Hafey for reporting this. [Bug 385] Fri Dec 3 13:26:57 1999 Jeff Parsons * performance-tests/RTCorba/Oneways/Reliable/server.cpp: Changes to avert a build warning on IRIX. Fri Dec 3 12:37:11 1999 Jeff Parsons * TAO_IDL/be_visitor_union.cdr_op_ci.cpp For union implicit default case, the discriminant of the decoded union must be set to the default value. Thanks to Christopher Kohlhoff for reporting this bug. * TAO_IDL/be/be_exception.cpp: * TAO_IDL/be/be_visitor_array/any_op_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_interface/any_op_ch.cpp: * TAO_IDL/be/be_visitor_interface/cdr_op_ch.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_structure/any_op_ch.cpp: * TAO_IDL/be/be_visitor_structure/cdr_op_ch.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_valuetype/cdr_op_ch.cpp: Reversed the order of generation of the stub export macro (if any) and the return type for the Any and CDR insertion and extraction operators, and for the ostream operator for exceptions. Fri Dec 3 12:02:46 1999 Carlos O'Ryan * docs/tutorials/Quoter/AMI/Makefile: * docs/tutorials/Quoter/Event_Service/Makefile: * docs/tutorials/Quoter/Naming_Service/Makefile: * docs/tutorials/Quoter/RT_Event_Service/Makefile: * docs/tutorials/Quoter/Simple/Client/Makefile: * docs/tutorials/Quoter/Simple/Server/Makefile: Updated dependencies. Fri Dec 03 11:35:35 1999 Nanbor Wang * tao/MessagingC.h: * tao/InterfaceC.h: I accidentally removed some "extern" keywords from the variable declarations. Added them back. Thanks to Jeff for noticing this. Fri Dec 3 08:58:11 1999 Douglas C. Schmidt * orbsvcs/Trading_Service/Makefile.bor: Add $(OBJDIR)\Trading_Server.obj to object list. Thanks to Mike Gingell for reporting this. * orbsvcs/orbsvcs/Makefile.bor: Added -I..\..\tao to compile line and added $(OBJDIR)\EC_Negation_Filter.obj to object list. Thanks to Mike Gingell for reporting this. Fri Dec 03 02:32:03 1999 Nanbor Wang * tao/Any.h: * tao/CDR.h: * tao/CONV_FRAMEC.h: * tao/DomainC.h: * tao/Exception.h: * tao/GIOP.h: * tao/IOPC.h: * tao/IORC.h: * tao/InterceptorC.h: * tao/InterfaceC.h: * tao/MessagingC.h: * tao/ORB.h: * tao/ORB_Core.h: * tao/Object.h: * tao/ObjectIDList.h: * tao/POAC.h: * tao/PolicyC.h: * tao/PollableC.h: * tao/Principal.h: * tao/Sequence.h: * tao/TAOC.h: * tao/TimeBaseC.h: * tao/corbafwd.h: * tao/orbconf.h: Made sure all the top level functions are exported correctly. Thu Dec 2 22:01:25 1999 Marina Spivak * performance-tests/RTCorba/Multiple_Endpoints/Endpoint_Per_Priority/Client.dsp * performance-tests/RTCorba/Multiple_Endpoints/Endpoint_Per_Priority/Endpoint_Per_Priority_Scenario.dsw * performance-tests/RTCorba/Multiple_Endpoints/Endpoint_Per_Priority/Server.dsp * performance-tests/RTCorba/Multiple_Endpoints/Orb_Per_Priority/Client.dsp * performance-tests/RTCorba/Multiple_Endpoints/Orb_Per_Priority/ORB_Per_Priority.dsw * performance-tests/RTCorba/Multiple_Endpoints/Orb_Per_Priority/Server.dsp * performance-tests/RTCorba/Multiple_Endpoints/Single_Endpoint/Client.dsp * performance-tests/RTCorba/Multiple_Endpoints/Single_Endpoint/Server.dsp * performance-tests/RTCorba/Multiple_Endpoints/Single_Endpoint/Single_Endpoint.dsw Added the above workspace and project files for compiling tests on NT. * performance-tests/RTCorba/Multiple_Endpoints/Orb_Per_Priority/server.cpp Use corba priority instead of native priority in the server to generate ior file names. Thu Dec 2 19:19:18 1999 Jeff Parsons * performance-tests/RTCorba/Oneways/Reliable/Makefile: Did a 'make depend' to ensure automatic generation of the IDL stub and skeleton files. Thanks to Marina for pointing this out. Thu Dec 2 16:13:51 1999 Jeff Parsons * performance-tests/TAO_Perf_Tests.dsw: * performance-tests/RTCorba/Oneways/Reliable/client.dsp: * performance-tests/RTCorba/Oneways/Reliable/server.dsp: Changed the displayed name of the reliable oneways test projects, and added them to the performance tests workspace. Thu Dec 2 14:44:28 1999 Marina Spivak * performance-tests/Makefile * performance-tests/README * performance-tests/RTCorba/Makefile * performance-tests/RTCorba/Oneways/Makefile: Added/updated the above Makefiles so that all recently added RTCorba benchmarks get compiled with the rest of the performance-tests. Thu Dec 2 11:41:37 1999 Darrell Brunsch * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp: * orbsvcs/ImplRepo_Service/ImplRepo_i.h: Removed miscellaneous warnings caught by the nightly builds. Thu Dec 2 00:32:20 1999 Carlos O'Ryan * performance-tests/RTCorba/Multiple_Endpoints/Endpoint_Per_Priority/server.conf: * performance-tests/RTCorba/Multiple_Endpoints/Endpoint_Per_Priority/server.cpp: * performance-tests/RTCorba/Multiple_Endpoints/Orb_Per_Priority/server.conf: * performance-tests/RTCorba/Multiple_Endpoints/Single_Endpoint/client.conf: * performance-tests/RTCorba/Multiple_Endpoints/Single_Endpoint/server.conf: Tuned the configuration files. We tried to apply all the TAO optimizations that were possible, without breaking any laws of physics. Wed Dec 1 23:11:42 1999 Darrell Brunsch * docs/implrepo/tao_ir.html: * docs/implrepo/usersguide.html: Added documentation for the new activation mode support. Servers registered in TAO's Implementation Repository now can have an activation mode of either NORMAL, MANUAL, or PER_CLIENT. NORMAL is the default and is what the ImplRepo normally does. MANUAL specifies that the server shouldn't be activated with a request but can be activated through tao_ir or via the command line. PER_CLIENT specifies that each request to the ImplRepo will result in a new server process started up. Because clients cache the forwarded reference, there is one server per client (more or less). Thanks to Klaus Hofmann and Mirko Brandner for inquiring about activation modes. * orbsvcs/orbsvcs/ImplRepo.idl: Added an ActivationMode enum and a new member of that type to the StartupOptions structure. * orbsvcs/ImplRepo_Service/Repository.cpp: * orbsvcs/ImplRepo_Service/Repository.h: Added the activation mode to the Server_Info structure and the other interfaces. * orbsvcs/ImplRepo_Service/tao_ir_i.cpp: * orbsvcs/ImplRepo_Service/tao_ir_i.h: Added support for specifying Activation modes in add and list commands. * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp: * orbsvcs/ImplRepo_Service/ImplRepo_i.h: Added support for the activation modes. * tao/Exception.cpp: * tao/corbafwd.h: Added a new TRANSIENT exception minor code. It is used for when the Implementation Repository cannot activate a MANUAL server. Wed Dec 1 23:05:19 1999 Marina Spivak * performance-tests/RTCorba/Multiple_Endpoints/Makefile * performance-tests/RTCorba/Multiple_Endpoints/test.idl * performance-tests/RTCorba/Multiple_Endpoints/test_i.cpp * performance-tests/RTCorba/Multiple_Endpoints/test_i.h * performance-tests/RTCorba/Multiple_Endpoints/test_i.i * performance-tests/RTCorba/Multiple_Endpoints/Endpoint_Per_Priority/Makefile * performance-tests/RTCorba/Multiple_Endpoints/Endpoint_Per_Priority/README * performance-tests/RTCorba/Multiple_Endpoints/Endpoint_Per_Priority/client.conf * performance-tests/RTCorba/Multiple_Endpoints/Endpoint_Per_Priority/client.cpp * performance-tests/RTCorba/Multiple_Endpoints/Endpoint_Per_Priority/run-test.pl * performance-tests/RTCorba/Multiple_Endpoints/Endpoint_Per_Priority/server.conf * performance-tests/RTCorba/Multiple_Endpoints/Endpoint_Per_Priority/server.cpp * performance-tests/RTCorba/Multiple_Endpoints/Orb_Per_Priority/Makefile * performance-tests/RTCorba/Multiple_Endpoints/Orb_Per_Priority/README * performance-tests/RTCorba/Multiple_Endpoints/Orb_Per_Priority/client.conf * performance-tests/RTCorba/Multiple_Endpoints/Orb_Per_Priority/client.cpp * performance-tests/RTCorba/Multiple_Endpoints/Orb_Per_Priority/run-test.pl * performance-tests/RTCorba/Multiple_Endpoints/Orb_Per_Priority/server.conf * performance-tests/RTCorba/Multiple_Endpoints/Orb_Per_Priority/server.cpp * performance-tests/RTCorba/Multiple_Endpoints/Single_Endpoint/Makefile * performance-tests/RTCorba/Multiple_Endpoints/Single_Endpoint/README * performance-tests/RTCorba/Multiple_Endpoints/Single_Endpoint/client.conf * performance-tests/RTCorba/Multiple_Endpoints/Single_Endpoint/client.cpp * performance-tests/RTCorba/Multiple_Endpoints/Single_Endpoint/run-test.pl * performance-tests/RTCorba/Multiple_Endpoints/Single_Endpoint/server.conf * performance-tests/RTCorba/Multiple_Endpoints/Single_Endpoint/server.cpp: Added the above-listed files and directories. This is a set of benchmarks for comparing performance/priority inversions in three different client/server scenarios: 1) endpoint per priority (the recently added capability), 2) orb per priority (the old way to achieve the same goals as in item 1), and 3) a single orb and single endpoint (lack of prioritized treatment of requests in the server). Wed Dec 01 17:21:51 1999 David L. Levine * performance-tests/Thruput/TAO/new_client_test,new_run_test, new_server_test: replace hard-coded perl path with magic to use perl from the users environment. Thanks to Tom Lockhart for reporting this. Wed Dec 1 17:04:34 1999 Jeff Parsons * performance-tests/RTCorba/Oneways/Reliable/client.cpp: Removed separate throughput test run. The ACE_Throughput_Stats class handles latency and throughput and doesn't add appreciable overhead to the throughput results. * performance-tests/RTCorba/Oneways/Reliable/client_test.pl: New perl script that just runs the client. This makes it easier to run all the tests with various parameters when client and server are on different machines. * performance-tests/RTCorba/Oneways/Reliable/README: Updated to reflect the above changes. Wed Dec 1 13:52:25 1999 Jeff Parsons * TAO_IDL/be/be_interface.cpp: Added missing parameter to match %p in an ACE_ERROR message. Thanks to Chad Elliott for pointing this out. Wed Dec 1 12:38:10 1999 Jeff Parsons * tao/Exception.h: Moved the TAO_Export macro in the ostream operator declaration, and added an 'extern' as well. Tue Nov 30 19:35:13 1999 Jeff Parsons * performance-tests/RTCorba/Oneways/Reliable/client.cpp: * performance-tests/RTCorba/Oneways/Reliable/server.cpp: Client and server now output the priority of the thread each is running in. * performance-tests/RTCorba/Oneways/Reliable/run_test.pl: Running test with no command line args now adds tests of several queue sizes for buffered oneways. Tue Nov 30 19:12:16 1999 Carlos O'Ryan * docs/tutorials/Quoter/index.html: * docs/tutorials/Quoter/RT_Event_Service/index.html: * docs/tutorials/Quoter/RT_Event_Service/Makefile: * docs/tutorials/Quoter/RT_Event_Service/Stock_Consumer.cpp: * docs/tutorials/Quoter/RT_Event_Service/Stock_Consumer.h: * docs/tutorials/Quoter/RT_Event_Service/Stock_Factory_i.cpp: * docs/tutorials/Quoter/RT_Event_Service/Stock_Factory_i.h: * docs/tutorials/Quoter/RT_Event_Service/Stock_i.cpp: * docs/tutorials/Quoter/RT_Event_Service/Stock_i.h: * docs/tutorials/Quoter/RT_Event_Service/client.cpp: * docs/tutorials/Quoter/RT_Event_Service/server.cpp: New tutorial on how to use the real-time Events Service for event filtering. * docs/tutorials/Quoter/Event_Service/Makefile: * docs/tutorials/Quoter/Event_Service/Stock_Consumer.h: * docs/tutorials/Quoter/Event_Service/index.html: Fixed some typos Tue Nov 30 16:47:52 1999 Jeff Parsons * TAO_IDL/util/utl_scope.cpp: Added a branch to give only a warning for a case difference only name clash. Thanks to Alexander Villatora for reporting this bug. Tue Nov 30 13:25:21 1999 Jeff Parsons * performance-tests/RTCorba/Oneways/Reliable/Makefile: Changed the order of files in the SRC macro so the IDL-generated files will compile first. Thanks to David for this suggestion. Tue Nov 30 12:04:43 1999 Krishnakumar Elakkara Pathayapura * orbsvcs/orbsvcs/Makefile: added the Log to the build Tue Nov 30 11:31:30 1999 Nanbor Wang * tao/Exception.h: Added TAO_Export to the exception streaming operator. Thanks to Mirko Brandner for reporting this. Tue Nov 30 00:49:17 1999 Carlos O'Ryan * docs/tutorials/Quoter/AMI/index.html: * docs/tutorials/Quoter/Event_Service/index.html: * docs/tutorials/Quoter/Naming_Service/index.html: * docs/tutorials/Quoter/Simple/Client/index.html: * docs/tutorials/Quoter/Simple/ImprovedServer/index.html: * docs/tutorials/Quoter/Simple/Server/index.html: Spell checking. Tue Nov 30 00:28:16 1999 Carlos O'Ryan * tutorials/Quoter/index.html: * tutorials/Quoter/Event_Service/Consumer_i.h: * tutorials/Quoter/Event_Service/Makefile: * tutorials/Quoter/Event_Service/Quoter.idl: * tutorials/Quoter/Event_Service/Stock_Consumer.cpp: * tutorials/Quoter/Event_Service/Stock_Consumer.h: * tutorials/Quoter/Event_Service/Stock_Factory_i.cpp: * tutorials/Quoter/Event_Service/Stock_Factory_i.h: * tutorials/Quoter/Event_Service/Stock_i.cpp: * tutorials/Quoter/Event_Service/Stock_i.h: * tutorials/Quoter/Event_Service/client.cpp: * tutorials/Quoter/Event_Service/ec.conf: * tutorials/Quoter/Event_Service/index.html: * tutorials/Quoter/Event_Service/server.cpp: * tutorials/Quoter/Event_Service/stock_list.txt: * tutorials/Quoter/Event_Service/stock_list1.txt: * tutorials/Quoter/Event_Service/stock_list2.txt: New tutorial that shows how to use TAO's implementation of the COS Events Service. Mon Nov 29 16:47:52 1999 Jeff Parsons * performance-tests/RTCorba/Oneways/Reliable/client.cpp: * performance-tests/RTCorba/Oneways/Reliable/server.cpp: * performance-tests/RTCorba/Oneways/Reliable/test_i.cpp: Moved RCSID line to be after the #included files. Mon Nov 29 15:46:31 1999 Pradeep Gore * orbsvcs/orbsvcs/notify/Notify_Constraint_Interpreter.{h,cpp}: * orbsvcs/orbsvcs/notify/Notify_Constraint_Visitors.{h,cpp}: * orbsvcs/orbsvcs/notify/Notify_FilterFactory_i.{h,cpp}: * orbsvcs/orbsvcs/notify/Notify_Filter_i.{h,cpp}: Added these files to integrate with the Trader's TCL implementation. Mon Nov 29 15:10:00 1999 Michael Kircher * TAO_IDL/be/be_visitor_ami_pre_proc.cpp: Fixed the usage of the be_interface constructor due to changes Jeff was putting in two changelog entries ago. Mon Nov 29 14:15:04 1999 Jeff Parsons * performance-tests/RTCorba/Oneways/Reliable/Reliable.dsw: * performance-tests/RTCorba/Oneways/Reliable/client.dsp: * performance-tests/RTCorba/Oneways/Reliable/server.dsp: * performance-tests/RTCorba/Oneways/Reliable/test.idl: * performance-tests/RTCorba/Oneways/Reliable/client.cpp: * performance-tests/RTCorba/Oneways/Reliable/server.cpp: * performance-tests/RTCorba/Oneways/Reliable/test_i.h: * performance-tests/RTCorba/Oneways/Reliable/test_i.i: * performance-tests/RTCorba/Oneways/Reliable/test_i.cpp: * performance-tests/RTCorba/Oneways/Reliable/run_test.pl: * performance-tests/RTCorba/Oneways/Reliable/Makefile: * performance-tests/RTCorba/Oneways/Reliable/README: Test suite for reliable and buffered oneway requests. Latency and throughput measurements are made for each type of SyncScope policy value (and for buffered oneway requests if the SyncScope policy value is SYNC_NONE). The same measurements are also made on twoway requests for comparison. See the README file for details. Mon Nov 29 11:45:31 1999 Jeff Parsons * TAO_IDL/fe/idl.yy: * TAO_IDL/fe/y.tab.h: * TAO_IDL/fe/y.tab.cpp: * TAO_IDL/fe.fe_interface_header.cpp: * TAO_IDL/include/fe_interface_header.h: * TAO_IDL/include/ast_generator.h: * TAO_IDL/ast/ast_generator.cpp: * TAO_IDL/include/ast_interface.h: * TAO_IDL/ast/ast_interface.cpp: * TAO_IDL/be_include/be_generator.h: * TAO_IDL/be/be_generator.cpp: * TAO_IDL/be_include/be_interface.h: * TAO_IDL/be/be_interface.cpp: * TAO_IDL/be/be_valuetype.cpp: * TAO_IDL/be/be_visitor_ami_pre_proc.cpp: Operations cannot be overloaded in IDL. If an illegal overload occurred in the next generations, the error was caught, but not if it skipped a generation. This was mystifying, since the comments in the front end said that a flat list was compiled of all the interface's ancestors. As it turned out, when the back end was written, this list was changed to include only the immediate ancestors, for the purpose of generating the inhertance list in the class declaration. So such a flat list had to be added, maintained, and the signatures of all related functions changed. Thanks to Jochen Linkohr for uncovering this bug. Sun Nov 28 23:27:32 1999 Carlos O'Ryan * docs/tutorials/Quoter/index.html: * docs/tutorials/Quoter/Naming_Service/index.html: * docs/tutorials/Quoter/Naming_Service/Makefile: * docs/tutorials/Quoter/Naming_Service/client.cpp: * docs/tutorials/Quoter/Naming_Service/server.cpp: New tutorial that discusses how to use the naming service, including TAO's Interoperable Naming Service support. * docs/tutorials/Quoter/Simple/index.html: Use re-direction to go to the general index. Sun Nov 28 23:23:32 1999 Darrell Brunsch * orbsvcs/tests/ImplRepo/airplane_server_i.cpp: * orbsvcs/tests/ImplRepo/nestea_server_i.cpp: Removed some compiler warnings by using the in() method. Sun Nov 28 19:00:41 1999 Carlos O'Ryan * docs/tutorials/Quoter/Simple/ImprovedServer/Stock_Factory_i.cpp: * docs/tutorials/Quoter/Simple/ImprovedServer/Stock_Factory_i.h: * docs/tutorials/Quoter/Simple/ImprovedServer/Stock_i.cpp: * docs/tutorials/Quoter/Simple/ImprovedServer/Stock_i.h: * docs/tutorials/Quoter/Simple/ImprovedServer/index.html: * docs/tutorials/Quoter/Simple/ImprovedServer/server.cpp: * docs/tutorials/Quoter/Simple/ImprovedServer/stock_list.txt: Another tutorial, this one about how to use POA policies to use user assigned IDs, and how to do memory managment of servants. * docs/tutorials/Quoter/index.html: * docs/tutorials/Quoter/AMI/index.html: * docs/tutorials/Quoter/Simple/Client/index.html: * docs/tutorials/Quoter/Simple/Server/index.html: Validated using weblint. Sun Nov 28 18:08:45 1999 Douglas C. Schmidt * docs/tutorials/Quoter/AMI/index.html: Changed the backgrounds for the tutorial pages so they are white. Also, changed the use of

to

, which is easier to read. Sun Nov 28 17:26:54 1999 Ossama Othman * configure.in: Added support for the following configure script options: --enable-intf-repo enable interface repository --enable-messaging enable CORBA messaging support --enable-minimum-corba enable minimum CORBA support --enable-rt-corba enable Real-Time CORBA support Other minor updates. * tao/Makefile.am: Added orb.idl and Policy.pidl to the of headers to be installed. Policy.pidl is included in orb.idl, which is why it must be installed too. Sun Nov 28 15:16:43 1999 Carlos O'Ryan * docs/tutorials/Quoter/AMI/index.html: * docs/tutorials/Quoter/AMI/Makefile: * docs/tutorials/Quoter/AMI/Quoter.idl: * docs/tutorials/Quoter/AMI/svc.conf: * docs/tutorials/Quoter/AMI/Handler_i.h: * docs/tutorials/Quoter/AMI/Handler_i.cpp: * docs/tutorials/Quoter/AMI/Stock_Factory_i.h: * docs/tutorials/Quoter/AMI/Stock_Factory_i.cpp: * docs/tutorials/Quoter/AMI/Stock_i.h: * docs/tutorials/Quoter/AMI/Stock_i.cpp: * docs/tutorials/Quoter/AMI/client.cpp: * docs/tutorials/Quoter/AMI/server.cpp: New tutorial on how to use AMI with TAO, the server must be improved since it only has two objects. * docs/tutorials/Quoter/index.html: Added the new AMI tutorial * docs/tutorials/Quoter/Simple/Server/index.html: Fixed typos * tests/AMI/Makefile: The dependencies where not updated correctly. Fixed. Sun Nov 28 14:20:17 1999 Douglas C. Schmidt * docs/tutorials/Quoter: Changed the backgrounds for the tutorial pages so they are white. Also, changed the use of

to

, which is easier to read. Sun Nov 28 11:34:29 1999 Carlos O'Ryan * docs/tutorials/Quoter/index.html: * docs/tutorials/Quoter/Simple/Quoter.idl: * docs/tutorials/Quoter/Simple/index.html: * docs/tutorials/Quoter/Simple/Client/Makefile: * docs/tutorials/Quoter/Simple/Client/client.cpp: * docs/tutorials/Quoter/Simple/Client/index.html: * docs/tutorials/Quoter/Simple/Server/Makefile: * docs/tutorials/Quoter/Simple/Server/Stock_Factory_i.cpp: * docs/tutorials/Quoter/Simple/Server/Stock_Factory_i.h: * docs/tutorials/Quoter/Simple/Server/Stock_i.cpp: * docs/tutorials/Quoter/Simple/Server/Stock_i.h: * docs/tutorials/Quoter/Simple/Server/index.html: * docs/tutorials/Quoter/Simple/Server/server.cpp: Started a TAO tutorial, the idea is to base it around a single application, the infamous Quoter server, and explore the cool features in TAO from there, such as AMI, reliable oneways, the POA policies, the Naming Service, the RT Event Service, the Implementation Repository, etc. Fri Nov 26 15:27:13 1999 Douglas C. Schmidt * orbsvcs/orbsvcs/AV/Policy.h: Added TAO_AV_Export macros for all the TAO_AV_Policy classes. Thanks to Paulo Breda Vieira for reporting this. Sat Nov 27 15:04:06 1999 Carlos O'Ryan * TAO version 1.0.9 released. Fri Nov 26 09:30:19 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Event/EC_Negation_Filter.cpp: Fixed warning due to mismatched return types under g++ 2.7.2.3, thanks to David for pointing this out. Wed Nov 24 20:17:01 1999 David L. Levine * rules.tao.GNU: re-enabled IDL_EXT and IDL_EXT2 on WIN32 host for VxWorks, reverting this change: ChangeLogTag: Fri Oct 29 10:11:37 1999 David L. Levine It was preventing generation of C++ files from .idl files. Thanks to Stephane Chatre for reporting this problem and to Erik Johannes for verifying the fix. Wed Nov 24 19:14:57 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Event/EC_Event_Channel.h: * orbsvcs/orbsvcs/Event/EC_Event_Channel.i: * orbsvcs/orbsvcs/Event/EC_Event_Channel.cpp: * orbsvcs/orbsvcs/Event/EC_ProxyConsumer.cpp: * orbsvcs/orbsvcs/Event/EC_ProxySupplier.cpp: Tom Ziomek raises the issue as to whether the event channel should invoke the disconnect_push_XXXX() callback when the user calls disconnect_push_YYYY() on the proxy. It seems like the tide is for performing the callback all the time, not only when the event channel is going down, but it is not clear if that is the case and we could break backwards compatibility if we do that change. Instead we added a flag to the EC to control its behavior, like the supplier and consumer reconnections. * orbsvcs/orbsvcs/Event/EC_Defaults.h: Made it easier to override the default configuration for the event channel. * orbsvcs/tests/Event/Basic/Makefile: * orbsvcs/tests/Event/Basic/Basic.dsw: * orbsvcs/tests/Event/Basic/Disconnect.dsp: * orbsvcs/tests/Event/Basic/run_test.pl: * orbsvcs/tests/Event/Basic/Disconnect.h: * orbsvcs/tests/Event/Basic/Disconnect.cpp: Added a new test for the disconnect callback feature. Tue Nov 23 00:30:00 1999 Kirthika Parameswaran * tests/Smart_Proxies/client.cpp: Added ACE_UNUSED_ARG macro for to make the KAI complier happy. Tue Nov 23 18:30:34 1999 Irfan Pyarali * tao/POA.cpp (create_reference_with_id_i and create_reference_i): Bug 180: POA's active object map consumes memory even with NON_RETAIN policy. In create_reference_i() and create_reference_with_id_i(), we were always creating an entry in the Active Object Map. This is not necessary with the NON_RETAIN policy. Therefore, changes were made such that in create_reference_with_id_i() the user provided id is used as the system id and in create_reference_i an empty object id is used. In both cases, no entries are added to the Active Object Map. Two other changes were required: (a) in reference_to_id() no transformations were required from system id to user id since user id and system id are the same. (b) in locate_servant_i() no transformations were required from system id to user id since user id and system id are the same and simply gets a (smart) copy of system id. This fixes Bug 180. Thanks to Stefan Ullrich for originally reporting this and to Lothar Werzinger for the reminder. Tue Nov 23 19:48:27 1999 Jeff Parsons * tao/GIOP.cpp: * tao/Invocation.cpp: * tao/TAOC.h: * tao/TAOC.cpp: Changes to deal with the TAO SyncScope extension SYNC_FLUSH correctly. Tue Nov 23 17:44:50 1999 Jeff Parsons * tao/DomainC.cpp: * tao/InterfaceC.cpp: * tao/MessagingC.cpp: * tao/POAC.cpp: * tao/PolicyC.cpp: * tao/PollableC.cpp: * tao/Object.cpp: Changed code around calls to TAO_GIOP_Invocation::prepare_header(). It is part of the changes relating to the request header required by reliable oneways. I had overlooked these calls. Thanks to Irfan for uncovering the tip of this iceberg. * tao/Stub.cpp: * TAO_IDL/be/be_visitor_operation/operation_cs.cpp: * TAO_IDL/be/be_visitor_operation/ami_cs.cpp: Changed the type of flag variable (declared to be an argument to prepare_header) to be CORBA::Short. Nanbor had made these CORBA::Long, thinking that was the type of TAO::SyncScope. Tue Nov 23 11:43:00 1999 Nanbor Wang * TAO-INSTALL.html: Revised guidelines on "adding IDL to your project settings". Thanks to Ben Bourner for the suggesting this. Tue Nov 23 11:04:20 1999 Yamuna Krishnamurthy * orbsvcs/tests/AVStreams/benchmark/client.cpp: * orbsvcs/tests/AVStreams/benchmark/child.cpp: Fixed the tests so they run with the pluggable protocols framework Thanks to Thomas Huang for pointing this out. Tue Nov 23 00:59:23 1999 Nanbor Wang * TAO_IDL/be/be_visitor_operation/operation_cs.cpp (gen_marshal_and_invoke): * TAO_IDL/be/be_visitor_operation/ami_cs.cpp (gen_marshal_and_invoke): * tao/Stub.cpp (do_static_call,do_dynamic_call): Changed to store the enum value into a CORBA::Long and then casted it to Octet before passing it to prepare_header. This is a solution that KCC and CC 4.2 both agree on. * tao/Invocation.cpp (invoke): Removed an unreachable return statement. Mon Nov 22 21:48:03 1999 Carlos O'Ryan * orbsvcs/orbsvcs/orbsvcs.dsp: * orbsvcs/orbsvcs/orbsvcs_static.dsp: Fixed the project files too. Mon Nov 22 20:47:21 1999 Carlos O'Ryan * tao/GIOP_Server_Request.cpp: Fixed bug when dealing with empty DII/DSI lists, thanks to Phillippe Merle for pointing out this bug. * tao/NVList.cpp: Cosmetic fixes * orbsvcs/orbsvcs/Makefile: * orbsvcs/orbsvcs/Event/EC_Negation_Filter.h: * orbsvcs/orbsvcs/Event/EC_Negation_Filter.i: * orbsvcs/orbsvcs/Event/EC_Negation_Filter.cpp: * orbsvcs/orbsvcs/Event_Service_Constants.h: * orbsvcs/orbsvcs/Event_Utilities.h: * orbsvcs/orbsvcs/Event_Utilities.cpp: * orbsvcs/orbsvcs/Event/EC_Basic_Filter_Builder.cpp: Added a new filter composite. It accepts only the events that its child rejects and rejects the ones the child accepts. It is useful to express "i don't want this events", thanks to Trey Grubbs for asking about this filter * orbsvcs/tests/Event/Basic/Makefile: * orbsvcs/tests/Event/Basic/Negation.h: * orbsvcs/tests/Event/Basic/Negation.cpp: * orbsvcs/tests/Event/Basic/Negation.dsp: * orbsvcs/tests/Event/Basic/run_test.pl: Added a test for the new negation filter. * orbsvcs/tests/Event/Basic/Basic.dsw: * orbsvcs/tests/Event/Basic/Wildcard.dsp: Added new dsp files. Mon Nov 22 17:55:14 1999 Irfan Pyarali * version_tests.dsw (Project): Added MT_Client Simple Client project. * tests/MT_Client/MT_Client.dsw * tests/MT_Client/simple_client.dsp Renamed project to be unique and to conform with the naming scheme. Mon Nov 22 16:10:00 1999 Kirthika Parameswaran * tests/Makefile: * tests/README: Added entry for Smart_Proxies test in both the files. * tests/Smart_Proxies/Smart_Proxy_Impl.h: Renamed it from Smart_Proxy_impl.h to Smart_Proxy_Impl.h. * tests/Smart_Proxies/Smart_Proxy_Impl.cpp: Replaced the "new" operator with the safer ACE version of ACE_NEW_RETURN macro. * tests/Smart_Proxies/server.cpp: Took care of some typos in class names. * tests/Smart_Proxies/Makefile: Added dependencies. * tests/Smart_Proxies/run_test.pl: Added perl script to automate execution of the test. * tests/Smart_Proxies/Collocation/Coll_Test_Stubs.bor: * tests/Smart_Proxies/Collocation/Coll_Test_Stubs.dsp: * tests/Smart_Proxies/Collocation/Coll_Tester.{cpp, h}: * tests/Smart_Proxies/Collocation/Collocation.{bor, dsp, dsw}: * tests/Smart_Proxies/Collocation/Diamond.{idl, bor, dsp}: * tests/Smart_Proxies/Collocation/Diamond_i.{h,cpp}: * tests/Smart_Proxies/Collocation/Makefile.bor: * tests/Smart_Proxies/Collocation/README: * tests/Smart_Proxies/Collocation/diamond_export.h: * tests/Smart_Proxies/Collocation/main.cpp: * tests/Smart_Proxies/Collocation/stub_export.h: * tests/Smart_Proxies/Collocation/svc.conf: Added a collocated smart proxy to the existing collocation test to verify and demostrate that the smart proxy could be collocated too. Mon Nov 22 14:03:44 1999 Douglas C. Schmidt * tests/Smart_Proxies: Revised the code to conform to the TAO programming guidelines. Mon Nov 22 14:04:14 1999 Jeff Parsons * tao/Invocation.cpp: Added code to turn a user exception into an unknown exception on the client side for reliable oneways. Thanks to Carlos for clarifying the required behavior here. Mon Nov 22 13:15:10 1999 Jeff Parsons * tao/Stub.cpp: * TAO_IDL/be/be_visitor_operation/operation_cs.cpp: * TAO_IDL/be/be_visitor_operation/ami_cs.cpp: Added a 'const' to a variable that is cast from a declared constant in IDL, hopefully appeasing an older version of sunc++. Thanks to David for reporting this build error. Mon Nov 22 12:10:37 1999 Nanbor Wang * orbsvcs/orbsvcs/orbsvcs.dsp: Fixed custom build rule for DsLogAdmin.idl. Mon Nov 22 11:42:21 1999 Steve Totten * examples/DeveloperGuideExamples.txt: Added this file describing where to find the example source code from OCI's TAO Developer's Guide. Sun Nov 21 19:15:10 1999 Darrell Brunsch * TAO_IDL/be/be_codegen.cpp: * TAO_IDL/be_include/be.h: * orbsvcs/orbsvcs/CosEvent_Utilities.h: * orbsvcs/orbsvcs/CosEvent/ConsumerAdmin_i.h: * orbsvcs/orbsvcs/CosEvent/EventChannel_i.h: * orbsvcs/orbsvcs/CosEvent/ProxyPushConsumer_i.h: * orbsvcs/orbsvcs/CosEvent/ProxyPushSupplier_i.h: * orbsvcs/orbsvcs/CosEvent/SupplierAdmin_i.h: * orbsvcs/orbsvcs/Event/Event_Channel.h: * orbsvcs/orbsvcs/Log/BasicLog_i.h: * orbsvcs/orbsvcs/Log/Iterator_i.h: * orbsvcs/orbsvcs/Trader/Constraint_Nodes.h: * orbsvcs/orbsvcs/Trader/Trader.h: * tao/BoundsC.h: * tao/Buffering_Constraint_Policy.h: * tao/CONV_FRAMEC.h: * tao/CONV_FRAMES.h: * tao/CONV_FRAMES_T.h: * tao/Client_Priority_Policy.h: * tao/CurrentC.h: * tao/DomainC.h: * tao/DomainS_T.h: * tao/DynAnyC.h: * tao/IOPC.h: * tao/IOPS.h: * tao/IOPS_T.h: * tao/IORC.h: * tao/IORS.h: * tao/InconsistentTypeCodeC.h: * tao/InterceptorC.h: * tao/InterceptorS.h: * tao/InterfaceC.h: * tao/MessagingC.h: * tao/MessagingS.h: * tao/MessagingS_T.h: * tao/Messaging_Policy_i.h: * tao/ObjectIDList.h: * tao/POAC.h: * tao/POAS.h: * tao/POA_CORBA.h: * tao/PollableC.h: * tao/PollableS.h: * tao/PollableS_T.h: * tao/Services.h: * tao/TAOC.h: * tao/TAOS.h: * tao/TAOS_T.h: * tao/TimeBaseC.h: * tao/TimeBaseS_T.h: * tao/WrongTransactionC.h: * tao/corbafwd.h: MSVC 5 doesn't support the #pragma warning(push/pop) commands, so changed them to be conditionally compiled in MSVC 6 or higher. * orbsvcs/orbsvcs/Log/BasicLog_i.h: * orbsvcs/orbsvcs/Log/Log_i.h: There is a bug in MSVC 5 that doesn't allow namespace :: to be used within a default parameter, so had to make sure that a using directive was put before it (see MS KB article Q167350). Sat Nov 20 20:40:00 1999 Kirthika Parameswaran * TAO_IDL/be/be_visitor_interface/smart_proxy_{ch, cs}.cpp: Just to keep Old G++ Compiler (version < 2.8) happy, added declaration and definition of the destructor for Smart_Proxy_Base class instead of banking on the implicit one. Fri Nov 19 22:29:17 1999 David L. Levine * examples/Simulator/DOVEBrowser/Makefile: a few fixes to correspond to the current file complement. It builds on Linux now! * examples/Simulator/DOVEBrowser/PushConsumer.java (open_consumer): removed the first (float) argument from the RtecEventData construction, because it no longer compiles with it. Fri Nov 19 18:41:25 1999 Krishnakumar Elakkara Pathayapura * orbsvcs/orbsvcs/Log/LogRecordStore.cpp (log): Fixed some problems for VxWorks regarding use of ULongLong. Fri Nov 19 18:26:06 1999 Jeff Parsons * tao/Invocation.h: * tao/Invocation.i: * tao/Invocation.cpp: * tao/GIOP.h: * tao/GIOP.cpp: * tao/GIOP_Server_Request.h: * tao/GIOP_Server_Request.i: * tao/GIOP_Server_Request.cpp: * tao/Stub.cpp: * tao/Server_Request.h: * tao/Object_Adapter.h: * tao/Object_Adapter.cpp: * tao/TAOC.h: * tao/TAOC.cpp: Changes to implement reliable oneway requests. The (GIOP 1.1) boolean 'response_expected' field of the request header has been replaced by the (GIOP 1.2) octet 'response_flags'. The TAO_GIOP_Oneway_Request now has new members holding the SyncScope value and a reply dispatcher. It will set the 'response_flags' field according to this SyncScope value. Likewise, the server request will read the header field and store the SyncScope value. TAO_Object_Adapter has a new method which returns a reply after the servant has been located, but before it is dispatched (for SyncScope value SYNC_WITH_SERVER). Finally, since SyncScope values must be used (if only to set defaults) whether messaging is enabled or not, a TAO:: duplicate set has been put into TAOC.*. * TAO_IDL/be/be_visitor_operation/operation_cs.cpp: * TAO_IDL/be/be_visitor_operation/operation_ss.cpp: * TAO_IDL/be/be_visitor_operation/ami_cs.cpp: The client stub now must query the request for the SyncScope value before calling prepare_header(). Also, the skeleton must call init_reply() for a oneway request, if the SyncScope value requires a reply. Fri Nov 19 18:09:40 1999 David L. Levine * examples/Simulator/DOVEBrowser/Makefile: fixed so that it should build again. Fri Nov 19 17:05:00 1999 Kirthika Parameswaran Smart Proxy Feature ------------------- The Smart Proxies feature helps an user to have an user-defined proxy which can be used to add customisation and security to the default proxy. For details see: $TAO_ROOT/docs/Smart_Proxies.html * TAO_IDL/be_include/be_visitor_interface/smart_proxy_ch.h * TAO_IDL/be_include/be_visitor_interface/smart_proxy_cs.h * TAO_IDL/be/be_visitor_interface/smart_proxy_ch.cpp * TAO_IDL/be/be_visitor_interface/smart_proxy_cs.cp Source and header generation visitors for the smart proxy interface classes. * TAO_IDL/be_include/be_visitor_operation/smart_proxy_ch.h * TAO_IDL/be_include/be_visitor_operation/smart_proxy_cs.h * TAO_IDL/be/be_visitor_operation/smart_proxy_ch.cpp * TAO_IDL/be/be_visitor_operation/smart_proxy_cs.cp Source and header generation visitors for the smart proxy base class operations. * TAO_IDL/be/be_visitor.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_visitor_attribute/attribute.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_include/be_codegen.h: TAO_IDL/be_include/be_visitor_interface.h: TAO_IDL/be_include/be_visitor_operation.h: Modified these files to have an SMART_PROXY state to switch to Also included the smart proxy files into the Compilation unit for the interface visitors and the operation visitors. * tests/Smart_Proxies/README: Explains the Smart_Proxies test. * tests/Smart_Proxies/Smart_Proxy_Impl.{h,cpp}: Has the factory and the smart proxy definitions. * tests/Smart_Proxies/client.cpp: Client application. * tests/Smart_Proxies/server.cpp: Server application. * tests/Smart_Proxies/Smart_Proxies.dsw: * tests/Smart_Proxies/client.dsp: * tests/Smart_Proxies/server.dsp: NT workspace files. Thanks to Nanbor Wang for verifying and reviewing the design and code for this feature. Fri Nov 19 17:55:25 1999 Krishnakumar Elakkara Pathayapura * orbsvcs/orbsvcs/Log/Log_i.cpp: Fixed some problems for VxWorks regarding use of ULongLong. Fri Nov 19 17:50:46 1999 Krishnakumar Elakkara Pathayapura * orbsvcs/orbsvcs/Log/LogRecordStore.cpp: Fixed some problems for VxWorks regarding use of ULongLong. Fri Nov 19 17:44:36 1999 David L. Levine * examples/Simulator/DOVEMIB/Makefile: added -I$(TAO_ROOT) to TAO_IDLFLAGS, and ran make depend. * examples/Simulator/DOVEMIB/PrintVisitor.cpp (Print_Visitor): ACE_TRY_NEW_ENV instead of ACE_TRY. * examples/Simulator/Event_Supplier/DualEC_Sup.cpp: fixed ACE_TRY's so that it compiles again. Fri Nov 19 17:43:31 1999 Krishnakumar Elakkara Pathayapura * orbsvcs/orbsvcs/Makefile: Added Log to the build * orbsvcs/orbsvcs/Log/Log_Constraint_Visitors.cpp: Thu Nov 18 22:32:55 1999 Marina Spivak * tao/Direct_Priority_Mapping.cpp * tao/Linear_Priority_Mapping.cpp: Priority conversion routines were not functioning correctly on NT due to native priorities being noncontiguous. Fixed by adding conditionally compiled code to handle NT case. Thu Nov 18 20:51:06 1999 Nanbor Wang * tao/Interceptor.pidl: * docs/interceptors.html: Updated the information and status of portable intercetors and added hints on transitting from the temporary implementation to the draft standard. Thu Nov 18 20:37:25 1999 Krishnakumar Elakkara Pathayapura * orbsvcs/orbsvcs/Log/BasicLogFactory_i.cpp: Added some explicit template instantiations that were missing. Thanks to Marcelo Matus for reporting this. Thu Nov 18 19:47:11 1999 Krishnakumar Elakkara Pathayapura * orbsvcs/orbsvcs/Makefile: Removed Log from the build because of errors for VxWorks Thu Nov 18 10:16:23 1999 Pradeep Gore * orbsvcs/orbsvcs/CosNotifyChannelAdmin.idl: * orbsvcs/orbsvcs/CosNotification.idl: * orbsvcs/orbsvcs/CosNotifyComm.idl: * orbsvcs/orbsvcs/CosNotifyFilter.idl: added these files for the Notification Service. Wed Nov 17 11:54:38 1999 Jeff Parsons * TAO_IDL/be/be_visitor_union/discriminant_ci.cpp: Added a case for wchar discriminants to the generation of the _default() method. Also changed the output format of the char default discriminant value to make more sense. Wed Nov 17 10:29:25 1999 Carlos O'Ryan * orbsvcs/tests/EC_Custom_Marshal/ECM_Consumer.cpp: Removed unused arguments, thanks to David for pointing this out. Wed Nov 17 01:45:00 1999 Pradeep Gore * orbsvcs/orbsvcs/Notify: created a new directory for the Notification Service. * orbsvcs/orbsvcs/Notify/ID_Pool_T.h: * orbsvcs/orbsvcs/Notify/ID_Pool_T.i: * orbsvcs/orbsvcs/Notify/NotifyPublish_i.{h,cpp}: * orbsvcs/orbsvcs/Notify/NotifySubscribe_i.{h,cpp}: * orbsvcs/orbsvcs/Notify/Notify_ConsumerAdmin_i.{h,cpp}: * orbsvcs/orbsvcs/Notify/Notify_Dispatcher.{h,cpp}: * orbsvcs/orbsvcs/Notify/Notify_EventChannelFactory_i.{h,cpp}: * orbsvcs/orbsvcs/Notify/Notify_EventChannel_i.{h,cpp}: * orbsvcs/orbsvcs/Notify/Notify_FilterAdmin_i.{h,cpp}: * orbsvcs/orbsvcs/Notify/Notify_ProxyConsumer_i.{h,cpp}: * orbsvcs/orbsvcs/Notify/Notify_ProxyPushConsumer_i.{h,cpp}: * orbsvcs/orbsvcs/Notify/Notify_ProxyPushSupplier_i.{h,cpp}: * orbsvcs/orbsvcs/Notify/Notify_ProxySupplier_i.{h,cpp}: * orbsvcs/orbsvcs/Notify/Notify_QoSAdmin_i.{h,cpp}: * orbsvcs/orbsvcs/Notify/Notify_SupplierAdmin_i.{h,cpp}: created these files for the Notification Service implementation. Wed Nov 17 01:24:27 1999 Krishnakumar Elakkara Pathayapura * orbsvcs/orbsvcs/Log/LogRecordStore.h (class LogRecordStore): Changed to use RecordId as key in Hash_Map_Manager instead of LogId. Wed Nov 17 01:08:02 1999 Krishnakumar Elakkara Pathayapura * orbsvcs/orbsvcs/Log/LogRecordStore.cpp (LogRecordStore): Used prefix operators because ACE emulation of U Long Long (for platforms that don't have one) does not define postfix operators. Thanks to Bill Tovrea for reporting this problem. Also used the RecordId as key in Hash_Map_Manager instead of LogId. Tue Nov 16 20:55:52 1999 Darrell Brunsch * orbsvcs/tests/ImplRepo/airplane_server_i.cpp: * orbsvcs/tests/ImplRepo/nestea_server_i.cpp: Forgot to destroy the POA when I switched away from using the ORB manager. * orbsvcs/tests/ImplRepo/airplane_client_i.h: * orbsvcs/tests/ImplRepo/airplane_client_i.cpp: * orbsvcs/tests/ImplRepo/nestea_client_i.cpp: Removed the read_ior method, since it actually wasn't being used anymore. Also replaced the strdup's with strnew's to work with the delete [] of the server_key_. Thanks to JM Strauss for noticing this problem. Tue Nov 16 19:31:49 1999 Jeff Parsons * TAO_IDL/be/be_visitor_union/discriminant_ci.cpp: Fixed generation of _default() method. It was happening only for enum discriminants. Thanks to Jason Topaz for pointing out this bug. Tue Nov 16 12:33:48 1999 Jeff Parsons * TAO_IDL/ast/ast_module.cpp: Added missing semicolon to ACE_ERROR message, and some ASYS_TEXT macros to be ACE-ified. Thanks to Andy for pointing this out. Tue Nov 16 10:29:33 1999 Michael Kircher * TAO/TAO_IDL/be/be_sequence.cpp TAO/TAO_IDL/be/be_visitor_ami_pre_proc.cpp: Removed some superfluous ACE_DEBUG messages. Mon Nov 15 20:29:33 1999 Jeff Parsons * TAO_IDL/ast/ast_module.cpp: Modified fe_add_module() so 'reopened module' warning will not be output if the result of the lookup is a module from an #include file. No code is generated for such a module, so platforms without namespaces will have no problem with it. Mon Nov 15 19:58:19 1999 Ossama Othman * tao-config.in: Added missing "-lTAO" to the library list. Thanks to Benedikt Eric Heinen for pointing this out. Mon Nov 15 15:44:32 1999 Douglas C. Schmidt * examples/mfc/client.cpp (main): There was a memory leak here because we weren't deallocating the string returned by the server. * examples/mfc: Replaced CORBA::String with char *. Thanks to for Hani Mawlawi reporting this and providing the fix. Sat Nov 13 19:07:53 1999 Luther J Baker * tao/ORB_Core.cpp (init): Added functionality to close file if one is opened for Log_Msg ACE_DEBUG redirection. Sat Nov 13 18:25:52 1999 Luther J Baker * tao/Exception.h (ostream& operator<<) * tao/Exception.cpp (ostream& operator<<) Added #if !defined (ACE_LACKS_IOSTREAM_TOTALLY) to surround ostream& operator<< (ostream&os, const CORBA_Exception& e) to facilitate building without streams. Sat Nov 13 17:17:17 1999 Jeff Parsons * tao/DynArray_i.cpp: * tao/DynEnum_i.cpp: * tao/DynSequence_i.cpp: * tao/DynStruct_i.cpp: * tao/DynUnion_i.cpp: * tao/Exception.cpp: Patches sent in by Philippe Merle . In all Dyn*_i.cpp files, type () functions now returns a duplicate. In DynStruct_i.cpp, code was added to from_any (0 and to_any () to facilitate the case where the struct is an exception. In Exception.cpp, UnknownUserException constructor with Any argument now calls base class constructor explicitly, similarly to the default constructor. Fri Nov 12 13:24:56 1999 Jeff Parsons * tao/Exception.cpp: Added #include "ace/streams.h". If ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION is in the config.h file, the body of the ostream operator definition will cause 'operator ambiguous' errors. Thanks to Irfan for pointing this out and finding the solution. Fri Nov 12 00:30:41 1999 Irfan Pyarali * tao/IIOP_Connector.cpp (connect): * tao/UIOP_Connector.cpp (connect): If the connect() call fails, the svc_handler is closed by the Connector. In case of the Cached Connector, it will not only close the svc_handler, but also zero it out. No further action is required by the user. * tao/IIOP_Profile.cpp (reset_hint): * tao/UIOP_Profile.cpp (reset_hint): hint_> can only be changed under the protection of the connector lock. Therefore, it is passed to the cleanup_hint() function. The above changes should fix BUG 310. Thanks to Eric Mitchell for reporting it. Fri Nov 12 08:58:52 1999 Carlos O'Ryan * tao/UIOP_Profile.cpp: Fixed typo in the latest changed by Irfan. Thu Nov 11 21:05:58 1999 Jeff Parsons * TAO_IDL/be/be_visitor_operation/operation_cs.cpp: Broke up some long lines of generated code relating to interceptors. Thu Nov 11 20:53:40 1999 Carlos O'Ryan * tao/orb.idl: Added missing typedefs. * tao/IIOP_Acceptor.h: * tao/IIOP_Acceptor.cpp: * tao/IIOP_Connector.h: * tao/IIOP_Connector.cpp: Move some fields from the private section to the protected section, to facilitate the implementation of specialized versions of the protocol. Thu Nov 11 20:32:30 1999 Carlos O'Ryan * tests/Faults/ping.idl: * tests/Faults/ping_i.h: * tests/Faults/ping_i.i: * tests/Faults/ping_i.cpp: * tests/Faults/ping.cpp: * tests/Faults/pong.cpp: The IDL file had some identifiers clashing (their only difference was case), the IDL compiler is now correctly detecting that error. Updated to conform to the spec. Thu Nov 11 19:46:06 1999 Carlos O'Ryan * orbsvcs/tests/EC_Custom_Marshal/ECM_Consumer.cpp: Fixed a couple of memory leaks in the test, thanks to Jovan Kilibarda for reporting this bug. Thu Nov 11 17:18:18 1999 Jeff Parsons * Exception.h: * Exception.cpp: Added Steve Totten's code for the ostream operator. * TAO_IDL/be/be_exception.cpp: Modified the generated ostream operator for exceptions to output the same thing(s) in the same format as Steve's operator for CORBA_Exception. Thu Nov 11 15:52:03 1999 Jeff Parsons * tao/DynAny_i.cpp: Added some more patches sent in by Philippe Merle which modify get_string, get_reference and get_typecode to return duplicates, so the return value can be put into a _var. Wed Nov 10 17:16:19 1999 Darrell Brunsch * orbsvcs/orbsvcs/orbsvcs.dsp: * orbsvcs/orbsvcs/orbsvcs_static.dsp: Finished added the Logging service files to the projects. Thanks to Krish for helping out. Wed Nov 10 14:59:25 1999 Ossama Othman * Makefile.am: * tao/Makefile.am: Additional updates to bring files in synch with stock TAO Makefiles. Wed Nov 10 14:46:51 1999 Ossama Othman * TAO_IDL/driver/Makefile.am (AM_CPPFLAGS): Defined TAO_IDL_INCLUDE_DIR macro to be equal to the pkgincludedir Makefile variable in automatically generated Makefiles. * TAO_IDL/driver/drv_preproc.cpp (DRV_cpp_init): If the TAO_IDL_INCLUDE_DIR macro is defined, then add it to the include file search path. This allows an "installed" tao_idl to find IDL files such as `orb.idl' without the need for setting an ACE_ROOT or a TAO_ROOT environment variable. TAO_IDL_INCLUDE_DIR must be the exact directory that contains IDL files destined for inclusion. Wed Nov 10 14:40:24 1999 Ossama Othman * TAO_IDL/tao_idl.1: Added this man page to the repository. It's been sitting in my workspace. * TAO_IDL/Makefile.am: * TAO_IDL/ast/Makefile.am: * TAO_IDL/be/Makefile.am: * TAO_IDL/be_include/Makefile.am: * TAO_IDL/driver/Makefile.am: * TAO_IDL/fe/Makefile.am: * TAO_IDL/include/Makefile.am: * TAO_IDL/narrow/Makefile.am: * TAO_IDL/util/Makefile.am: Synchronized with stock TAO_IDL Makefiles. Wed Nov 10 11:11:19 1999 Jeff Parsons * tests/IDL_Test/reopened_modules.idl: Reopened a module a forward declared an interface that had been defined when the module was first opened. The recently-added check for undefined forward declarations caught this error. Tue Nov 9 18:54:00 1999 Jeff Parsons * TAO_IDL/tao_idl.cpp: Added call to function which checks to make sure all forward declared interfaces are defined. Thanks to Devesh Kothari for sending in the example that pointed out this bug. Tue Nov 9 17:12:10 1999 Jeff Parsons * tests/Endpoint_Per_Priority/client.dsp: * tests/Endpoint_Per_Priority/server.dsp: I forgot to configure the compile settings for test.idl. It had been done only in the server project. Thanks to Marina for pointing this out. Also set 'additional library paths' in both projects, thanks to Irfan's advice. Tue Nov 9 16:16:24 1999 Douglas C. Schmidt * tao/POA_CORBA.h: Removed a stray "#pragma warning(pop)". Thanks to Marina for reporting this. Tue Nov 9 16:11:10 1999 Jeff Parsons * tao/CONV_FRAMES_T.cpp: * tao/DomainS_T.cpp: * IOPS_T.cpp: * MessagingS_T.cpp: * PollableS_T.cpp: * TAOS_T.cpp:L * TimeBaseS_T.cpp: Removed unnecessary #pragma warning (disable:4250). Now that we are doing this in push/pop pairs (see entries below), this lone disable could cause problems. Tue Nov 9 16:06:59 1999 Jeff Parsons * tao/TAO.dsp: Added Sync_Strategies.h to project. Tue Nov 9 15:12:31 1999 Jeff Parsons * TAO_IDL/be/be_codegen.cpp: Changed #if defined(_MSC_VER) #pragma warning(disable:4250) #endif /* _MSC_VER */ // ... #if defined(_MSC_VER) #pragma warning(default:4250) #endif /* _MSC_VER */ to #if defined(_MSC_VER) #pragma warning(push) #pragma warning(disable:4250) #endif /* _MSC_VER */ // ... #if defined(_MSC_VER) #pragma warning(pop) #endif /* _MSC_VER */ in all generated header files. This will restore the original value even if it was modified from the default. Also removed the first half of the pair from generated *S_T.cpp file - it is unneeded. Thanks to David Hauck and Jovan Kilibarda for suggesting this. Tue Nov 9 14:34:17 1999 Douglas C. Schmidt * TAO_IDL/be_include/be.h orbsvcs/orbsvcs/Log/BasicLog_i.h orbsvcs/orbsvcs/Log/Iterator_i.h orbsvcs/orbsvcs/Event/Event_Channel.h orbsvcs/orbsvcs/Trader/Trader.h orbsvcs/orbsvcs/Trader/Constraint_Nodes.h orbsvcs/orbsvcs/CosEvent/ConsumerAdmin_i.h orbsvcs/orbsvcs/CosEvent/EventChannel_i.h orbsvcs/orbsvcs/CosEvent/ProxyPushConsumer_i.h orbsvcs/orbsvcs/CosEvent/ProxyPushSupplier_i.h orbsvcs/orbsvcs/CosEvent/SupplierAdmin_i.h orbsvcs/orbsvcs/CosEvent_Utilities.h orbsvcs/CosEvent_Service/CosEvent_Service.h tao/IOPC.h tao/CurrentC.h tao/DomainC.h tao/DomainS_T.h tao/DynAnyC.h tao/InterceptorC.h tao/InconsistentTypeCodeC.h tao/MessagingC.h tao/MessagingS.h tao/MessagingS_T.h tao/Messaging_Policy_i.h tao/POAC.h tao/ObjectIDList.h tao/POAS.h tao/POA_CORBA.h tao/PollableC.h tao/PollableS.h tao/PollableS_T.h tao/Services.h tao/IOPS.h tao/IORC.h tao/TimeBaseC.h tao/TimeBaseS_T.h tao/IORS.h tao/WrongTransactionC.h tao/corbafwd.h tao/CONV_FRAMEC.h tao/CONV_FRAMES.h tao/CONV_FRAMES_T.h tao/IOPS_T.h tao/InterfaceC.h tao/BoundsC.h tao/InterceptorS.h tao/TAOC.h tao/Client_Priority_Policy.h tao/TAOS.h tao/TAOS_T.h tao/Buffering_Constraint_Policy.h examples/OBV/Typed_Events/Event_Types_impl.h: Added #if defined(_MSC_VER) #pragma warning(push) #pragma warning(disable:4250) #endif /* _MSC_VER */ // ... #if defined(_MSC_VER) #pragma warning(pop) #endif /* _MSC_VER */ to these above files to that things will work better with MSVC++. Thanks to David Hauck for suggesting this. Tue Nov 09 10:25:41 1999 Nanbor Wang * tao/GIOP_Server_Request.h: Added #include "tao/ORB.h". I use ORB function in the .i file. Thanks to David for noticing this. Mon Nov 8 23:21:35 1999 Krishnakumar Elakkara Pathayapura * orbsvcs/orbsvcs/Log/LogRecordStore.cpp: Made a minor correction in use of ORBSVCS_Time Thanks to Keith Brown for providing the solution * orbsvcs/orbsvcs/Log/BasicLog_i: * orbsvcs/orbsvcs/Log/Iterator_i.h: Added a #pragma warning(disable:4250) so that MSVC++ won't complain about "dominance violations". Thanks to Derek Dominish for reporting this and providing the solution. Mon Nov 08 22:10:43 1999 Nanbor Wang * tests/Interceptors/run_test.pl: Added -ORBobjrefStyle url to both client and server process so their outputs are more readable. * tests/Interceptors/Interceptors.h: * tests/Interceptors/Interceptors.cpp: The interceptors need to keep the ORB pointer to use object_to_string to show the intercepted object's IOR. * tests/Interceptors/client.cpp: * tests/Interceptors/server.cpp: We now use object_to_string to show the object reference being intercepted. The interceptors will need to get a hold on the orb to do the job. * TAO_IDL/be/be_visitor_operation/operation_cs.cpp: Do not construct the dummy NVList if we don't have a valid interceptor. * TAO_IDL/be/be_visitor_operation/operation_ss.cpp: Reconstruct the requested object reference for interceptors iff we have a valid interceptor. * tao/Interceptors.h: * tao/Interceptors.i: Added a new inline method to query the interceptor adapter whether it has a valid interceptor or not. * tao/Server_Request.h: * tao/GIOP_Server_Request.h: * tao/GIOP_Server_Request.i: Added a new method to reconstruct the requested object reference. Mon Nov 8 20:46:54 1999 Douglas C. Schmidt * orbsvcs/CosEvent_Service/CosEvent_Service.h: Added a #pragma warning(disable:4250) so that MSVC++ won't complain about "dominance violations". Thanks to Jovan Kilibarda for reporting this and providing the solution. Mon Nov 8 19:25:45 1999 Jeff Parsons * TAO_IDL/util/utl_scope.cpp: Changes to implement the CORBA 2.3 scoping rule that a type defined or referenced inside an enclosing scope which is itself inside an interface or valuetype should also be exported to the interface (or valuetype) scope. Thanks to Jon Biggar for clarifying this point. * TAO_IDL/ast/ast_interface.cpp: Changes to implement the CORBA 2.3 name resolution rule that any parent interface members may be redefined in the child *except* operations and attributes. Thanks to Michi Henning , the author of these rules, for his explanation. And thanks to Erik Johannes for sending in the example IDL file that brought these bugs to light. Sun Nov 7 13:34:09 1999 Douglas C. Schmidt * TAO_IDL/be/be_interface.cpp (gen_gperf_lookup_methods): Make sure to lseek() to the end of the output file after we've opened it again so that things will wor properly on FreeBSD. Thanks to John Aughey for suggesting this fix. Sat Nov 6 21:14:46 1999 Ossama Othman * TAO_IDL/be/be_visitor_rettype.cpp: Removed this file. It doesn't appear to be used anywhere. Sat Nov 6 20:37:28 1999 Ossama Othman * tao/Object_Adapter.cpp: Changed name of typedef used during template instantiation from "value_type" to "tao_value_type." This fixes an STL namespace conflict in TAO+autoconf builds using gcc 2.95.2 on Linux. Sat Nov 6 19:07:18 1999 Ossama Othman * tao-config.1.in: Minor updates. * tao-config.in: Minor updates. Modified so that "tao" is the default library if one isn't specified. Sat Nov 6 15:02:37 1999 Ossama Othman * tao/orbconf.h: Added SecurityCurrent, TransactionCurrent and DynAnyFactory object ID macros to the list of object ID macros. The corresponding services/components haven't been implemented yet. The object IDs were added for the sake of being complete. Fri Nov 5 14:53:23 1999 Douglas C. Schmidt * tao/ORB.h (CORBA_ORB): Clarified that the timeout values for the ORB::run() method are "relative", rather than "absolute". Thanks to Rob Gabbot for motivating this. Thu Nov 4 09:10:58 1999 Douglas C. Schmidt * tao/Active_Object_Map.h: Added TAO_Export to TAO_Active_Object_Map so that it can be exported. Thanks to Lothar Werzinger for suggesting this. Thu Nov 4 18:30:19 1999 Jeff Parsons * tests/Endoint_Per_Priority/Endpoint_Per_Priority.dsw: * tests/Endoint_Per_Priority/client.dsp: * tests/Endoint_Per_Priority/server.dsp: Workspace and project files for NT. Thu Nov 4 16:45:55 1999 Jeff Parsons * TAO_IDL/fe/idl.yy: * TAO_IDL/fe/y.tab.h: * TAO_IDL/fe/y.tab.cpp: * TAO_IDL/fe/y.tab.cpp.diff: When parsing an IDL struct with an empty body, the IDL compiler would not only output an errror message, it would also crash. Fixing this required some added error checking in the yacc grammar file, while avoiding any change to the behavior for exceptions, which use much of the same code in the grammar, but may legally have an empty body. Also, a bare semicolon in a struct or exeption body would also cause a crash - now there is error checking for this condition as well. Thanks to Erik Johannes for reporting this bug. Thu Nov 04 15:22:22 1999 David L. Levine * TAO version 1.0.8 released. Thu Nov 4 12:50:23 1999 Darrell Brunsch * tao/ORB.cpp: * tao/ORB_Core.cpp: * tao/params.cpp: * tao/params.h: * tao/params.i: * docs/Options.html: Removed the -ORBMulticast 0/1 option, since this option should be replaced with a more complete solution that deals with different discovery methods. Plus, I realized that I didn't necessarily need it for the IR. Thu Nov 04 08:20:55 1999 Thomas Lockhart * utils/nslist/nslist.cpp,README: added support for --ior and --nsior options. Tue Nov 2 21:19:42 1999 Darrell Brunsch * tao/ORB.h: * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp: * orbsvcs/ImplRepo_Service/ImplRepo_i.h: * orbsvcs/orbsvcs/IOR_Multicast.cpp: * docs/implrepo/index.html: * docs/implrepo/usersguide.html: Added multicast support to the Implementation Repository Service. * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp: Also, there was the possiblity of the IR starting up a server more than once, if its information was updated during a startup. Thanks to Karl Proese for reporting this and a fix. [Bug 368] * 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: Based on a request from David Dunn , the code for the POA names and server names usage in the tests were made more detailed. [Bug 362]. While I was there, I also removed the usage of TAO's ORB Manager and replaced with native calls. * orbsvcs/tests/ImplRepo/run_test.pl: The server names changed somewhat, so the test needed to be changed to accomodate that. Also, it seems that the both_ir option was broken since it was using the wrong name for the nestea server. * tao/ORB.cpp: * tao/ORB_Core.cpp: * tao/params.cpp: * tao/params.h: * tao/params.i: * docs/Options.html: Added a new option to the ORB, -ORBMulticast 0/1 which allows someone to turn off the use of multicast in resolve_init_refs (). This will be more important once the IR is integrated into the POA. Mon Nov 1 16:19:21 1999 Jeff Parsons * docs/releasenotes/TODO.html: Moved item about IDL compiler adding extra value to force enums to be 32 bits wide to the 'Tasks Completed' list. Mon Nov 01 14:30:19 1999 David L. Levine * tao/POA.cpp: removed ACE_Hash and ACE_Equal_To explicit instantiations, because ace/Capabilities.cpp now has them. Mon Nov 01 13:43:39 1999 David L. Levine * orbsvcs/Trading_Service/Trading_Server.cpp (main): removed ACE_CHECK_RETURN (1); at end because it wouldn't compile without native exception handling. The catch block returns 1 if there's an exception, anyways. Mon Nov 1 12:29:17 1999 Darrell Brunsch * orbsvcs/Trading_Service/Trading_Service.dsp: Added Trading_Server.cpp to the MSVC project. Sun Oct 31 22:22:15 1999 Luther J Baker * tao/ORB_Core.cpp (init): Removed 3rd argument of fstream::open(...) as some platforms complained. If the defaults permissions are inadequate, we can use add ACE_OS::chmod (...). Sun Oct 31 20:11:43 1999 Vishal Kachroo * tao/orbconf.h: * tao/ORB_Core.cpp: * tao/params.h: * tao/params.cpp: * tao/params.i: * tao/ORB.cpp: * tao/ORB.h: Abstracted out the code for location of different services through resolve_initial_references () by the ORB. This reduces the footprint of the ORB as now there is a single method to locate services instead of a different method for each service. * orbsvcs/orbsvcs/Naming/Naming_Utils.cpp: * orbsvcs/Trading_Service/Trading_Service.cpp: Made changes in these files to reflect the changes made to the ORB Core since a single method is now used to get/set the service port. Sat Oct 30 21:40:48 1999 Luther J Baker * tao/ORB_Core.cpp (init): Removed ACE_IOSTREAM_TYPE and replaced code with either FILE* or ofstream* until I find a macro that will properly represnt either an ofstream* or FILE*. When (ACE_LACKS_IOSTREAM_TOTALLY) is defined, it produces a FILE* that works well with open(FILE*...), but if it is not defined, it returns an iostream which does not work with ->open (filename,...,..) For now, depending on what is defined, we create an explicit FILE* or ofstream* to redirect ACE_DEBUG and ACE_ERROR to. Sat Oct 30 19:32:49 1999 Balachandran Natarajan * examples/Load_Balancing_persistent/README: * examples/Load_Balancing_persistent/Identity_Client.cpp: * examples/Load_Balancing_persistent/Identity_Client.h * examples/Load_Balancing_persistent/Identity_Server.cpp: * examples/Load_Balancing_persistent/Identity_Server.h: * examples/Load_Balancing_persistent/Identity_i.h: * examples/Load_Balancing_persistent/Identity_i.cpp: * examples/Load_Balancing_persistent/Load_Balancer_i.cpp: * examples/Load_Balancing_persistent/Load_Balancer_i.h: * examples/Load_Balancing_persistent/Load_Balancer_Service.cpp: * examples/Load_Balancing_persistent/Load_Balancer_Service.h: * examples/Load_Balancing_persistent/Load_Balancer.idl: * examples/Load_Balancing_persistent/Identity.idl: * examples/Load_Balancing_persistent/Makefile: An example that demonstrates how to make a service persistent. This is a simple extension of the Load_Balancing_Service in $TAO_ROOT/Load_Balancing. Please refer to the README for more details. Sat Oct 30 12:16:50 1999 Douglas C. Schmidt * orbsvcs/Trading_Service/: Split off the main() function into a separate file (Trading_Server.cpp) so that the Trading Service can be used with "3rd-party" main() functions. * orbsvcs/Naming_Service/Naming_Server.cpp (main): The error returns from the main() functions should be 1, not -1. * orbsvcs/Trading_Service/Trading_Service.cpp: Made the various instance variables protected rather than private so they can be accessed by subclasses. Thanks to Goran Lowkrantz for this suggestion. Fri Oct 29 21:37:31 1999 Erik Johannes * performance-tests/Cubit/TAO/IDL_Cubit/cubit.idl, Cubit_Client.{h,cpp},cubit_i.{h,cpp}: added tests of anys. One has a long in an any, the other has a struct in an any. Fri Oct 29 19:36:33 1999 Darrell Brunsch * orbsvcs/orbsvcs/AV.dsp: * orbsvcs/tests/AVStreams/benchmark/av_benchmark_child.dsp: * orbsvcs/tests/AVStreams/benchmark/av_benchmark_client.dsp: * orbsvcs/tests/AVStreams/benchmark/av_benchmark_server.dsp: Changed the output library for the AV service to TAO_AV*.dll. Thanks to Paulo Breda Vieira for pointing out that the benchmark files were not set up correctly. * orbsvcs/orbsvcs/AV/AVStreams_i.cpp: Removed CORBA::String's and replaced with char *. * orbsvcs/tests/AVStreams/benchmark/run_test.pl: Fixed a problem on NT with the Naming Service executable startup string (there was an extra space) Fri Oct 29 19:44:39 1999 Luther J Baker * tao/ORB_Core.cpp (init): Added option to allow for redirection of ACE_DEBUG and ACE_ERROR statements -ORBLogFile Fri Oct 29 12:58:22 1999 Carlos O'Ryan * docs/Options.html: Added documentation for two resource factory options -ORBPriorityMapping and -ORBSchedPolicy. Fri Oct 29 12:04:24 1999 Jeff Parsons * tao/Typecode.h: * tao/Typecode.i: Removed the 'const' from the TypeCode_ptr argument in equal() and equivalent(). As Carlos points out, they are not needed, and may be misinterpreted by some compilers. Fri Oct 29 10:11:37 1999 David L. Levine * rules.tao.GNU: disable IDL_EXT and IDL_EXT2 on WIN32 host, whether or not VxWorks is the target. This changes allows the macros to be enabled on Solaris host, for example, for VxWorks. If this causes a problem on WIN32 host for other than VxWorks targets, we'll have to modify it yet again. Fri Oct 29 07:08:16 1999 David L. Levine * rules.tao.GNU: fixed typo: COMSPEC instead of COMPSPEC. Thu Oct 28 16:32:33 1999 Jeff Parsons * tao/Typecode.h: * tao/Typecode.i: * tao/Typecode.cpp: Changes to equal() and equivalent() and the functions underneath them to conform to CORBA 2.3.1 (99-10-07). The old version of equivalent() just unaliased both typcodes and then called equal(). This behavior will not satisfy 2.3 rules, so now the two functions call a new one call equ_common() with an extra arg, a flag called equiv_only, set in equivalent()'s call but not in equal()'s. This new function unaliases the typecodes if the flag is set, then calls private_equal(), which passes the call on to the appropriate private_equal_* function, all of which now have the extra arg. Equ_common() is also now the recursion entry point for complex typecode checking. * TAO_IDL/be/be_visitor_array/any_op_cs.cpp: * TAO_IDL/be/be_visitor_enum/any_op_cs.cpp: * TAO_IDL/be/be_visitor_exception/any_op_cs.cpp: * TAO_IDL/be/be_visitor_interface/any_op_cs.cpp: * TAO_IDL/be/be_visitor_sequence/any_op_cs.cpp: * TAO_IDL/be/be_visitor_structure/any_op_cs.cpp: * TAO_IDL/be/be_visitor_union/any_op_cs.cpp: Changed code generation to use equivalent() instead of equal() in the Any extraction operator. Thu Oct 28 14:24:39 1999 David L. Levine * rules.TAO.GNU: don't use the IDL_EXT and IDL_EXT2 macros on NT host for VxWorks. Tornado II can't handle them, and disabling them doesn't seem to have any ill effects. Thanks to Tom Venturella and Dennis Noll for reporting this. Thu Oct 28 14:17:32 1999 David L. Levine * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Client.cpp (cube_long): changed %ld output format specifier to %d. ACE_ERROR doesn't properly handle %ld. And, CORBA::Long is 32 bits, which can be handled by %d on most platforms. Thanks to Erik Johannes for reporting this. Thu Oct 28 09:27:47 1999 David L. Levine * rules.tao.GNU: support ComSpec as well as COMSPEC environment variable (on Windows). Thanks to Tom Venturella for reporting that ComSpec was defined on the system that he was using. Wed Oct 27 23:42:45 1999 Carlos O'Ryan * orbsvcs/tests/Event_Latency/Event_Latency.cpp: I missed one variable in the latest change to remove the dependencies on the Event Channel timestamps. * tao/Pluggable.h: * tao/UIOP_Acceptor.h: * tao/UIOP_Acceptor.cpp: * tao/IIOP_Acceptor.h: * tao/IIOP_Acceptor.cpp: Removed the acceptor() method, it wasn't used in any place. Wed Oct 27 20:24:29 1999 Carlos O'Ryan * tao/corbafwd.h: * tests/Param_Test/helper.h: * tests/Param_Test/param_test_i.h: Removed all uses of CORBA::WString, this was a non-standard type and there is no need to introduce stuff like that in TAO. Wed Oct 27 14:57:29 1999 Carlos O'Ryan * rules.tao.GNU: * orbsvcs/orbsvcs/Makefile: * orbsvcs/orbsvcs/RtecDefaultEventData.idl: * orbsvcs/orbsvcs/RtecEventComm.idl: * orbsvcs/orbsvcs/CosEvent/ProxyPushConsumer_i.cpp: * orbsvcs/orbsvcs/Event/Event_Channel.cpp: * orbsvcs/tests/EC_Basic/EC_Basic.cpp: * orbsvcs/tests/EC_Custom_Marshal/ECM_Supplier.cpp: * orbsvcs/tests/EC_Mcast/EC_Mcast.cpp: * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: * orbsvcs/tests/EC_Throughput/ECT_Supplier.cpp: * orbsvcs/tests/Event/lib/Supplier.cpp: * orbsvcs/tests/Event_Latency/Event_Latency.cpp: Remove unneeded padding fields from the RtecEventData structure. Made some timestamps in the Event Header optional and let the user remove the octet sequence field from the EventData structure also. Wed Oct 27 13:54:18 1999 Jeff Parsons * tao/DynAnyC.h: Put in some missing TAO_EXPORT macros. * tao/Typecode.cpp: Added to the checks for recursive unions and structs in private_equal_*. The existing code was not catching some cases. Thanks to Lothar Werzinger for the test example that turned this up. Mon Oct 25 08:14:11 1999 Irfan Pyarali * tao/Messaging_Policy_i.cpp (TAO_Sync_Scope_Policy and TAO_RelativeRoundtripTimeoutPolicy_i): * tao/Buffering_Constraint_Policy.cpp (TAO_Buffering_Constraint_Policy): * tao/Client_Priority_Policy.cpp (TAO_Client_Priority_Policy): Finally fixed the copy constructor madness by replacing PortableServer::RefCountServantBase with TAO_RefCountServantBase. VC++ could not handle the typedef. Mon Oct 25 00:24:16 1999 Carlos O'Ryan * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp: * orbsvcs/ImplRepo_Service/ImplRepo_i.h: * orbsvcs/LifeCycle_Service/Criteria_Evaluator.cpp: * orbsvcs/LifeCycle_Service/Factory_Trader.cpp: * orbsvcs/LifeCycle_Service/Factory_Trader.h: * orbsvcs/LifeCycle_Service/LifeCycle_Service_i.cpp: * orbsvcs/orbsvcs/Naming/Naming_Utils.cpp: * orbsvcs/orbsvcs/Naming/Naming_Utils.h: * orbsvcs/tests/Property/client.cpp: * performance-tests/Cubit/TAO/DII_Cubit/client.cpp: * performance-tests/Cubit/TAO/MT_Cubit/Cubit_Task.cpp: * performance-tests/Cubit/TAO/MT_Cubit/Cubit_Task.h: * performance-tests/Cubit/TAO/MT_Cubit/server.cpp: * performance-tests/Cubit/TAO/MT_Cubit/server.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: * tao/Any.cpp: * tao/CDR_Interpreter.cpp: * tao/DomainS.cpp: * tao/DynUnion_i.cpp: * tao/Exception.cpp: * tao/IIOP_Profile.cpp: * tao/IIOP_Profile.h: * tao/Managed_Types.cpp: * tao/ORB.cpp: * tao/ORB.h: * tao/ORB_Core.cpp: * tao/ORB_Core.h: * tao/POA.cpp: * tao/POA.h: * tao/POA.i: * tao/POAS.cpp: * tao/PolicyS.cpp: * tao/Profile.cpp: * tao/Profile.h: * tao/Request.cpp: * tao/TAO.cpp: * tao/TAO.h: * tao/Typecode.cpp: * tao/Typecode.h: * tao/Typecode_Constants.cpp: * tao/UIOP_Profile.cpp: * tao/UIOP_Profile.h: * tao/ValueFactory.h: * tao/corbafwd.cpp: * tao/corbafwd.h: * tao/corbafwd.i: * tao/decode.cpp: * tao/encode.cpp: * tests/DynAny_Test/data.h: * tests/DynAny_Test/test_dynsequence.cpp: * tests/DynAny_Test/test_dynunion.cpp: * tests/Multiple_Inheritance/Multiple_Inheritance_i.h: * tests/Param_Test/helper.h: * utils/catior/catior.cpp: Removed all the uses of CORBA::String that i could find, this was a TAO extension and completely unneeded. Thanks to Martin Botzler for pointing out this problem. Sat Oct 23 19:14:23 1999 Nanbor Wang * TAO version 1.0.7 released. Sat Oct 23 17:35:45 1999 Darrell Brunsch * orbsvcs/Naming_Service/Naming_Service.dsw: Had corrupted line endings. * orbsvcs/orbsvcs/orbsvcs.dsp: * orbsvcs/orbsvcs/orbsvcs_static.dsp: * tao/TAO_Static.dsp: Updated the projects so they have the same contents. * tao/Buffering_Constraint_Policy.cpp: * tao/Buffering_Constraint_Policy.h: * tao/Client_Priority_Policy.cpp: * tao/Client_Priority_Policy.h: * tao/Messaging_Policy_i.cpp: * tao/Messaging_Policy_i.h: Irfan's changes for SUN CC 5.0 do not compile on NT. They are #ifdef'ed out on WIN32 in order to get the beta kit out the door. Sat Oct 23 09:10:00 1999 Michael Kircher * TAO_IDL/be/be_visitor_field/field_ch.cpp, TAO_IDL/be/be_visitor_valuetype/valuetype.cpp, TAO_IDL/be_include/be_codegen.h: Fixed the usage of the ACE_NESTED_CLASS macro when client header code for valuetypes was generated. Implmentations of valuetypes need to inherit from a class in the OBV_xx namespace. Because the code for the OBV_xx namespace is partly generated by other, generic visitors a problem occured. The problem was the assumption of these generic visitors, that every code generated would be in the xx namespace, they were not prepared to generate code inside other namespaces, like the OBV_xx namespace. Therefor a sub state has been added named "TAO_USE_FULL_NAME" to force in this case the be_visitor_field_ch class to use full names instead of using the ACE_NESTED_CLASS macro, which is actually just a fix for non-compliant C++ compilers. Thanks to Erik Johannes for reporting this. Fri Oct 22 12:39:29 1999 Irfan Pyarali * tao/Messaging_Policy_i.cpp (TAO_Sync_Scope_Policy and TAO_RelativeRoundtripTimeoutPolicy_i): * tao/Buffering_Constraint_Policy.cpp (TAO_Buffering_Constraint_Policy): * tao/Client_Priority_Policy.cpp (TAO_Client_Priority_Policy): Added explicit copy constructors because SUN CC 5.0 won't compile without them. One addition: base class constructors should be explicitly initialized in the copy constructor. Thu Oct 21 14:55:02 1999 Darrell Brunsch * examples/Quoter/Quoter.dsw: Added the LifeCycle Server to the workspace. * examples/Quoter/run_test.pl: Cleaned up the perl code and made it use the new debug flag format * orbsvcs/LifeCycle_Service/Factory_Trader.h * orbsvcs/LifeCycle_Service/LifeCycle_Service.h * orbsvcs/LifeCycle_Service/LifeCycle_Service_i.h * examples/Quoter/Factory_Finder.h: * examples/Quoter/Factory_Finder_i.h: * examples/Quoter/Generic_Factory.h: * examples/Quoter/Generic_Factory_i.h: * examples/Quoter/client.h: * examples/Quoter/server.h: Added the debug flag support. * orbsvcs/LifeCycle_Service/Factory_Trader.cpp * orbsvcs/LifeCycle_Service/LifeCycle_Service.cpp * orbsvcs/LifeCycle_Service/LifeCycle_Service_i.cpp * examples/Quoter/Factory_Finder.cpp: * examples/Quoter/Factory_Finder_i.cpp: * examples/Quoter/Generic_Factory.cpp: * examples/Quoter/Generic_Factory_i.cpp: * examples/Quoter/client.cpp: * examples/Quoter/server.cpp: Added such things as POA manager activation, better debug messages, debug flag support, and fixed other miscellaneous problems. Note, the Quoter test doesn't run successfully yet, but most of the problems have been cleared up. Thu Oct 21 14:19:29 1999 Darrell Brunsch * docs/implrepo/index.html: Removed the discussion link and added a note about the paper. Thu Oct 21 13:14:59 1999 Irfan Pyarali * tao: The following files were changed to fix #include such that they are prefixed by tao/. This will prevent inclusion problems if users have files with the same names as the ones used in TAO. - BoundsC.cpp - BoundsC.h - Buffering_Constraint_Policy.h - CONV_FRAMEC.cpp - CONV_FRAMEC.h - CONV_FRAMES.cpp - CONV_FRAMES.h - CONV_FRAMES_T.cpp - CONV_FRAMES_T.h - Client_Priority_Policy.h - CurrentC.h - DomainC.h - DomainS_T.cpp - DomainS_T.h - DynAnyC.cpp - DynAnyC.h - IOPS.cpp - IOPS.h - IOPS_T.cpp - IOPS_T.h - IORC.cpp - IORC.h - IORS.cpp - IORS.h - InterfaceC.cpp - InterfaceC.h - MessagingC.h - MessagingS.cpp - MessagingS.h - MessagingS_T.cpp - MessagingS_T.h - Messaging_Policy_i.h - ObjectIDList.cpp - ObjectIDList.h - POAC.h - POAS.h - PolicyC.h - PollableC.h - PollableS.cpp - PollableS.h - PollableS_T.cpp - PollableS_T.h - Services.h - TAOC.cpp - TAOC.h - TAOS.cpp - TAOS.h - TAOS_T.cpp - TAOS_T.h - TimeBaseC.cpp - TimeBaseS.cpp - TimeBaseS.h - TimeBaseS_T.cpp - TimeBaseS_T.h - qt_resource.h Thu Oct 21 12:07:13 1999 Balachandran Natarajan * tests/QtTests/test_i.cpp (send_val): * tests/QtTests/test_i.h: Made similar changes that could lead to an error in platforms like IRIX. The changes were nothing, but addition of the THROW_SPEC to the signature of the methods in the implementation class. This example has been tested sofar only on Linux as we have the libraries for Qt only on that platform. Thu Oct 21 11:52:50 1999 Balachandran Natarajan * tests/Xt_Stopwatch/timer.h: * tests/Xt_Stopwatch/client.cpp: * tests/Xt_Stopwatch/Client.h: * tests/Xt_Stopwatch/Control.h: * tests/Xt_Stopwatch/test_i.cpp: * tests/Xt_Stopwatch/test_i.h: * tests/Xt_Stopwatch/Makefile: Fixed a compile error. Thanks to Thomas Groth for reporting this. I also updated the Makefile dependencies & removed some warnings on Sun_Egcs. Thu Oct 21 10:54:31 1999 Nanbor Wang * tao/Object.cpp (_is_a): Moved the local type_id checking up before the checking using the collocated object. The original order was working when we only had directly collocation strategy. We should always try to use the type_id in the stub first no matter what kind of collocation strategy we use, IMO. Thanks to Samuel and Alok Gupta for reporting this. Thu Oct 21 09:20:01 1999 Carlos O'Ryan * tao/GIOP_Server_Request.cpp: The optimizations for DSI gateways must be disabled if minimum_corba is set Wed Oct 20 17:30:03 1999 Irfan Pyarali * rules.tao.GNU: should default to 1. Also, added the default for . * tao/Makefile: The defaulting of and should happen in rules.tao.GNU and not in this Makefile. Also, moved the files related to and to after the inclusion of rules.tao.GNU (which itself was moved up). * tao/orbconf.h (TAO_HAS_CORBA_MESSAGING): Added protection against redefinition (in case it was defined on the command line). * examples/Makefile: Moved the inclusion of $(TAO_ROOT)/rules.tao.GNU to the top of the file so that we get the correct definition of in the place we need it. Wed Oct 20 10:05:00 1999 Michael Kircher * tests/AMI/simple_client.cpp, tests/AMI/client.cpp: Fixed missing ACE_THROW_SPEC declarations, thanks to Thomas Groth for reporting this. Wed Oct 20 09:21:27 1999 Carlos O'Ryan * tao/corbafwd.h: * tao/NVList.h: * tao/NVList.cpp: * tao/GIOP_Server_Request.cpp: Using a ServiceContext we can insert padding to ensure that the payload of the message is preserved in DSI gateways. This let us further reduce the number of data copies and memory allocations. * tests/DSI_Gateway/test_dsi.h: * tests/DSI_Gateway/test_dsi.cpp: Use the new features to implement DSI forwarding of requests without *any* marshaling/demarshaling. * tests/DSI_Gateway/gateway.cpp: Removed debugging code. Wed Oct 20 08:45:00 1999 Michael Kircher * TAO_IDL/be/be_visitor_operation/ami_exception_holder_operation_cs.cpp: The ACE_THROW_SPEC was missing on the method implementation of raise_xx methods of the execption holder. Thanks to Thomas Groth for pointing out this fix. Wed Oct 20 00:28:45 1999 Douglas C. Schmidt * TAO_IDL/be/be_codegen.cpp (start_client_header): When compiling IDL with the -in option the include of ace/streams.h was still using "" instead of <>, which caused issues with make dependency generators. Thanks to Chris Kohlhoff for this fix. Tue Oct 19 19:15:06 1999 Marina Spivak * docs/releasenotes/index.html: Updated RT CORBA section. Tue Oct 19 19:20:47 1999 Jeff Parsons * TAO_IDL/be/be_visitor_valuetype/field_cs.cpp: Fixed generation of 'set' function for an interface member of a valuetype. rhs was arg->duplicate () instead of ::_duplicate (arg). * TAO_IDL/be/be_visitor_field/field_ch.cpp: Turned up more cases where ACE_NESTED_CLASS should not be used. Thanks to Erik Johannes for sending in the example IDL file that turned up these bugs. Tue Oct 19 13:19:00 1999 Jeff Parsons * TAO_IDL/be/be_visitor_field/field_ch.cpp: Predicated the generation of the ACE_NESTED_CLASS macro for a member in the header file on whether or not the member was defined inside an interface or not. If it is not, the macro isn't needed, and causes problems when reused for code generation for valuetypes. * TAO_IDL/be/be_visitor_valuetype/field_ch.cpp: Removed generation of ACE_NESTED_CLASS macro in set/get methods. It is not needed in arguments or return types in the header file. Thanks to Brian Mason for sending in the example that exposed these bugs. Tue Oct 19 10:24:02 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Sched/DynSched.cpp: * orbsvcs/orbsvcs/Sched/Scheduler.cpp: * orbsvcs/orbsvcs/Sched/Scheduler_Generic.cpp: Fixed several warnings about incorrect format strings * orbsvcs/tests/CosEC_Basic/CosEC_Basic.cpp: * tests/DSI_Gateway/test_dsi.cpp: Fixed several warnings about ambiguous conversions from T_var to T_ptr * tests/DSI_Gateway/run_test.pl: The test was not killing the right processes on a failure. Mon Oct 18 13:47:42 1999 Irfan Pyarali * tao/UIOP_Connect.cpp (handle_timeout): * tao/IIOP_Connect.cpp (handle_timeout): Fixed unused arg warnings. Thanks to David for pointing them out. Mon Oct 18 11:51:40 1999 Ossama Othman * docs/releasenotes/orbcore.html: Added CORBA::ORB::destroy() entry to "work completed" list. Fixed some broken links. Sun Oct 17 22:28:39 1999 Pradeep Gore * docs/releasenotes/index.html: Updated release notes on the Logging Service. Sun Oct 17 20:42:41 1999 Balachandran Natarajan * tests/QtTests/Makefile: * tests/QtTests/server.cpp: * tests/QtTests/client.cpp: * tests/QtTests/client.h: * tests/QtTests/test_i.h: * tests/QtTests/test_i.cpp: * tests/QtTests/test_i.i: * tests/QtTests/test_i.idl: * tests/QtTests/svc.conf: * tests/QtTests/README: This is a simple test that demonstrates how to use the QtReactor with the ORB event loop. Please refer to the README for details on how to build & run this test. Sun Oct 17 20:20:24 1999 Jeff Parsons * tests/Param_Test/recursive_union.cpp: In methods that initialize the recursive unions, replaced use of the CORBA 2.3 anonymous sequence typedef to define temporaries with the TAO-specific type. LynxOS uses the older GNU compiler that doesn't handle the scoping of these typedefs correctly so that compiler does not see them in the generated code. Thanks to Dan Butler and David Levine for pointing this out. Sun Oct 17 19:00:43 1999 Vishal Kachroo * orbsvcs/orbsvcs/Naming/Naming_Utils.cpp : Made changes to incorporate the -ORBMulticastDiscoveryEndpoint option to the ORB. The option is available now and has been tested. A sample usage of the option is -ORBMulticastDiscoveryEndpoint "224.9.9.3:10014" Sat Oct 16 19:48:27 1999 Vishal Kachroo * orbsvcs/orbsvcs/IOR_Multicast.cpp: * orbsvcs/orbsvcs/IOR_Multicast.h: * tao/params.h: * tao/params.i: * tao/ORB_Core.cpp: * tao/ORB.cpp: Made changes towards re-incarnating the -ORBMulticastDiscoveryEndpoint option to the ORB. The option is not fully incorporated yet. Sat Oct 16 14:30:16 1999 Michael Kircher * docs/releasenotes/index.html: Updated release notes on AMI. Sat Oct 16 11:17:16 1999 Carlos O'Ryan * performance-tests/Latency/Makefile: * performance-tests/Latency/ami-latency-client.cpp: * performance-tests/Latency/ami-throughput-client.cpp: * performance-tests/Latency/client-st-muxed.conf: * performance-tests/Latency/client.cpp: * performance-tests/Latency/dii_client.cpp: * performance-tests/Latency/st_client.cpp: * performance-tests/Latency/test_i.cpp: Updated the tests to support bursts of events, pacing, and better statitics. * tao/MessagingS.i: The file was still using the old TAO_POLLER macro, instead of TAO_HAS_AMI_POLLER * tao/Object.cpp: Minor cosmetic fixes * */Makefile: Updated dependencies Fri Oct 15 19:25:37 1999 Ossama Othman * tao/ORB.cpp (key_to_object, _find_collocated_servant): Do not duplicate the ORB when passing it as an argument to TAO_Stub::servant_orb() since the ORB is duplicated by it. This fixes a memory leak. [Bug 363] * tao/Stub.cpp (~TAO_Stub): Make sure TAO_ORB_Core pointer is not zero prior to calling reset_hint() in profile. The hint in the profile relies on state stored in the ORB core. [Bug 360] Removed unnecessary zero pointer check prior to deletion. * tao/Stub.i: Updated to conform to ACE style guidelines. Fri Oct 15 17:47:24 1999 Balachandran Natarajan * tao/qt_resource.cpp: * tao/qt_resource.h: * tao/qt_resource.i: The default resources that needs to be initialised by the application programmer who intends to use the QtReactor. Thanks to Hamish Friedlander for donating this TAO. An application that uses QtReactor is yet to be written. That should be available in the next couple of days. * tao/Makefile: Added the above files for the build. Fri Oct 15 17:17:02 1999 Irfan Pyarali * tao/Sync_Strategies.cpp (timer_check): We now support the timeout feature of BufferingConstraint policy. * tao/Pluggable.h (TAO_Transport): The base class now holds on to a timeout value and a timer id . These are used to implement automatic timed flushing of buffered oneways. * tao/IIOP_Transport.cpp (event_handler): * tao/UIOP_Transport.cpp (event_handler): This method provides a way to gain access to the underlying event handler used by the reactor. * tao/UIOP_Connect.cpp (handle_timeout): * tao/IIOP_Connect.cpp (handle_timeout): This new method is called when the buffering timer expires. Flush the buffered messages when this happens. * examples/Buffered_Oneways/client.cpp: Added testing for the implicit buffering timeout feature. * examples/Buffered_Oneways/run_test.pl: Now checks for: (a) Flushing based on implicit message counts (b) Flushing based on implicit message bytes (c) Flushing based on implicit timeout (d) Explicit queue flushing (and server shutdown) Thu Oct 14 22:19:42 1999 Douglas C. Schmidt * tao/GIOP.cpp (send_reply_exception): A format code was missing in the ACE_DEBUG statement. Thanks to Charles Frasch for reporting this. * orbsvcs/orbsvcs/Makefile.bor, TAO_IDL/Makefile.bor, tao/Makefile.bor: Added several more files so that Borland C++ Builder will link TAO. Thanks to Mogens Hansen for reporting this. Thu Oct 14 18:31:02 1999 Irfan Pyarali * tao/Active_Object_Map.cpp: In TAO_Transient_Strategy::find_servant_using_system_id_and_user_id and TAO_Persistent_Strategy::find_servant_using_system_id_and_user_id, if is -1, reset to 0. Thanks to Chris Hafey for sending an example illustrating the bug. Thu Oct 14 15:42:09 1999 Marina Spivak * tao/Direct_Priority_Mapping.cpp: Added missing range checks. * tao/Linear_Priority_Mapping.cpp: Fixed the formula in the method. Thanks to Dennis Noll for reporting one of the problems. Also added range checking. * tao/Object.cpp: Fixed the warning for unused argument in case minimum_tao=1. Thanks to David for pointing this out. * examples/Load_Balancing/Load_Balancer_i.cpp: Fixed the implementation of to notify it's factory of destruction, so that the factory can update its records of object groups. * examples/Load_Balancing/Identity_Client.cpp * examples/Load_Balancing/Identity_Server.cpp * examples/Load_Balancing/Load_Balancer_i.h * examples/Load_Balancing/Load_Balancing_Service.cpp * examples/Load_Balancing/run_test.pl: Enhanced demo to provide more detailed output. Wed Oct 13 17:10:27 1999 Jeff Parsons * tao/Sequence_T.i: In TAO_Unbounded_Sequence::get_buffer (CORBA::Boolean orphan), if the orphan flag is 1 and the the sequence's release_ flag is 0, a null pointer is returned no matter what is actually in the sequence's buffer. This is in the non-const version of get_buffer(), so usually some assignment (and allocation if necessary) is made to the return value. The caller can't, and the sequence won't release the original buffer, so there is a memory leak. These leaks were cropping up in calls to string_to_object(). Thanks to Irfan for noticing the leak. Wed Oct 13 16:34:11 1999 Jeff Parsons * tao/Reply_Dispatcher.cpp: * tao/Request.cpp: Replace use of AMI reply error codes with GIOP reply error codes in deferred synchronous requests. Otherwise, if TAO_HAS_CORBA_MESSAGING is not defined, deferred synch can't be used. Wed Oct 13 15:48:40 1999 Irfan Pyarali * tao/Policy_Manager: The policy manager now holds on directly to the servant class instead of the skeletons. This solves the problem of objects getting registered with the POA. * tao/Stub: * tao/Sync_Strategies: * tao/ORB_Core: Changes to deal with the above skeleton to servant changes. * tao/corba.h: Includes TAOC.h and MessagingC.h now that Policy_Manager doesn't. * tao/Messaging_Policy_i.h: * tao/Client_Priority_Policy.h: * tao/Buffering_Constraint_Policy.h: Added a clone() method to the policy servants. Also changed the virtual inheritance from the base classes to normal multiple inheritance. This will let us cast skeleton pointers to servant pointers without requiring the use of RTTI. As far as I can tell, there shouldn't be any negative side effects to this. * examples/Buffered_Oneways/client.cpp (main): The policies are now set on the policy current (i.e., thread specific) rather than on the policy manager (i.e., orb specific). This use case is closer to the Boeing use case. Also, destroyed the POA at the end of main(). Even though this example is (mostly) client only, the POA is create as a side effect of creating the policy. Therefore, destroying the POA at the end of main() avoids memory leaks. We should probably come up with a better solution, but for now this is sufficient. Tue Oct 12 16:32:16 1999 Balachandran Natarajan * tests/MProfile_Forwarding/Servant_Locator.cpp : * tests/MProfile_Forwarding/Servant_Locator.h: * tests/MProfile_Forwarding/Manager.cpp: * tests/MProfile_Forwarding/Manager.h: * tests/MProfile_Forwarding/test.idl: * tests/MProfile_Forwarding/test_i.cpp: * tests/MProfile_Forwarding/test_i.h: * tests/MProfile_Forwarding/test_i.i: * tests/MProfile_Forwarding/server.cpp: * tests/MProfile_Forwarding/client.cpp: * tests/MProfile_Forwarding/README: * tests/MProfile_Forwarding/Makefile: Added a test case to replicate the problem that Shalini Yajnik has reported and that was fixed by Fred Kuhns. This could serve as a test that would help us verify this feature again. This test is basically an extension of tests/MProfile. For more details, please refer to the README. Tue Oct 12 15:46:41 1999 Fred Kuhns * tao/Stub.cpp fixed a bug with location forwarding which caused all forwarding information to be discarded if a connect failed on any of the forwarding profiles. Thanks to Shalini Yajnik for reporting this bug. Tue Oct 12 14:23:40 1999 David L. Levine * performance-tests/Cubit/TAO/IDL_Cubit/{client,server}.cpp: use ACE_THR_PRI_FIFO_DEF instead of calculating the average of the min and max priorities. This allows more control over the priority, e.g., by setting ACE_THR_PRI_FIFO_DEF in ace/config.h. Tue Oct 12 14:08:31 1999 Jeff Parsons * TAO_IDL/fe/idl.yy: * TAO_IDL/fe/y.tab.h: * TAO_IDL/fe/y.tab.cpp: * TAO_IDL/fe/y.tab.cpp.diff: Increased stack size to 10000, and enabled internal error function to report stack overflow. Thanks to Brian Wallis for reporting and helping to track down these bugs. Tue Oct 12 12:58:31 1999 Jeff Parsons * TAO_IDL/be/be_interface.cpp: Fixed mistake in ACE_ERROR_RETURN. Tue Oct 12 07:07:12 1999 Douglas C. Schmidt * TAO_IDL/fe: Regenerated the y.tab.cpp file from the idl.yy file so that it'll have the new change described below. * TAO_IDL/fe/idl.yy: Changed the "definition" of definitions: to be left recursive (i.e., "definitions definition") rather than right recursive (i.e., "definition definitions") to prevent a stack overflow from yacc. Thanks to Brian Wallis for reporting the original problem and Raymond Wiker for suggesting the solution. * TAO_IDL/be/be_interface.cpp(): Reworked the code so that it will cleanup the handles even if an error occurs. * TAO_IDL/be/be_interface.cpp(): Make sure to close down the temporary file handles at the end of the gen_gperf_lookup_methods() function to avoid handle leaks. Thanks to Brian Wallis for reporting this. Mon Oct 11 21:39:21 1999 Carlos O'Ryan * tests/DSI_Gateway/test_dsi.cpp: Removed memory leak. Mon Oct 11 16:41:10 1999 Carlos O'Ryan * tests/Makefile: Do not compile the DSI_Gateway test if minimum CORBA is enabled. Mon Oct 11 12:05:41 1999 Jeff Parsons * performance-tests/Latency/Latency.dsw: * performance-tests/Latency/deferrred_synch_client.dsp: * performance-tests/Latency/dii_client.cpp: * performance-tests/Latency/Makefile: * performance-tests/Latency/run_test.pl: * performance-tests/Latency/README: New deferred synchronous DII client added to tests. to compare results with SII/SMI and SII/AMI clients. Mon Oct 11 11:15:38 1999 Irfan Pyarali * tao/Sync_Strategies.cpp (dequeue_head): Fixed an unused arg warning. Thanks to David for pointing this out. Mon Oct 11 10:10:24 1999 David L. Levine * TAO version 1.0.6 released. Sun Oct 10 02:25:36 1999 Darrell Brunsch * orbsvcs/orbsvcs/Makefile: * orbsvcs/Makefile: Removed Logging Service and test from Minimum CORBA, since it depends on the Trading Service. Sun Oct 10 09:17:26 1999 David L. Levine * tao/ORB_Core.cpp (~TAO_ORB_Core): don't delete poa_current_ on LynxOS/ppc, to avoid a seg fault on ORB shutdown. This is a temporary hack, until we find the root cause of the problem. [Bug 93] Sun Oct 10 01:16:31 1999 Pradeep Gore * orbsvcs/orbsvcs/Log/Log_i.cpp: use TAO_debug_level to print debug messages conditionally. Sun Oct 10 01:11:47 1999 Pradeep Gore * orbsvcs/examples/Log/Client/Makefile: * orbsvcs/examples/Log/Client/TLS_Client.cpp: * orbsvcs/examples/Log/Client/TLS_Client.h: * orbsvcs/examples/Log/Client/main.cpp: Added a simple example to show how to create a Log object and use it. * orbsvcs/Logging_Service/README: README to describe the Logging service. Sat Oct 9 20:36:16 1999 Pradeep Gore * orbsvcs/orbsvcs/Makefile: added "Log" to the orbsvcs build. * orbsvcs/Makefile: added the directory to compile. * orbsvcs/orbsvcs/Log/LogMgr_i.cpp: * orbsvcs/orbsvcs/Log/LogRecordStore.cpp: added explicit template instantiation macros * orbsvcs/orbsvcs/Log/Log_i.cpp: used ACE_UINT64_FORMAT_SPECIFIER to sprintf ulonglong. Sat Oct 9 14:29:36 1999 Jeff Parsons * tao/Reply_Dispatcher.{h,i,cpp}: * tao/Asynch_Invocation.{h,i.cpp}: Added some #if !defined (TAO_HAS_MINIMUM_CORBA) guards that I had overlooked. Sat Oct 09 14:10:00 1999 Michael Kircher * tao/MessagingC.h: Added the collocation function and removed the unnecessary implementation of constructor and destructor of the the ExceptionHolder in the header file. Fri Oct 8 23:00:49 1999 Pradeep Gore * orbsvcs/orbsvcs/Log/Log_i.h: * orbsvcs/orbsvcs/Log/BasicLogFactory_i.cpp: * orbsvcs/orbsvcs/Log/BasicLog_i.cpp: * orbsvcs/orbsvcs/Log/Iterator_i.cpp: * orbsvcs/orbsvcs/Log/LogMgr_i.cpp: * orbsvcs/orbsvcs/Log/LogRecordStore.cpp: * orbsvcs/orbsvcs/Log/Log_i.cpp: * orbsvcs/orbsvcs/Log/BasicLogFactory_i.h: * orbsvcs/orbsvcs/Log/BasicLog_i.h: * orbsvcs/orbsvcs/Log/LogRecordStore.h: * orbsvcs/orbsvcs/Log/Log_Constraint_Interpreter.h: * orbsvcs/orbsvcs/Log/Log_i.h: * orbsvcs/orbsvcs/Trader/Constraint_Visitors.h: * orbsvcs/orbsvcs/Trader/Constraint_Visitors.cpp: * orbsvcs/orbsvcs/Trader/Interpreter_Utils_T.cpp: minor corrections. Fri Oct 8 19:55:31 1999 Balachandran Natarajan * tests/MProfile/server.cpp: * tests/MProfile/client.cpp: * tests/MProfile/README: The server is made persistent. The client now makes the calls in a loop. At the end of the loop the primary is shutdown. They were made this way to help me with the DOORS stuff. Fri Oct 8 19:30:39 1999 Jeff Parsons * tao/Asynch_Invocation.{h,i,cpp}: * tao/Reply_Dispatcher.{h,i,cpp}: * tao/Request.{h,cpp}: * tao/MessagingC.h: * tao/Stub.{h,cpp}: Removed the #if defined (TAO_HAS_AMI_CALLBACK) || defined (TAO_HAS_AMI_POLLER) from around the deferred synchoronous code checked in earlier. It doesn't use AMI callbacks or pollers. Fri Oct 8 18:16:18 1999 Marina Spivak * orbsvcs/Naming_Service/Naming_Service.cpp (run): Removed code to destroy poa to avoid double deletion, since TAO_ORB_Manager does it for us in its destructor. Thanks to Martin Krumpolec for reporting the problem, and to Irfan for helping me realize that I fixed this problem long time ago but never committed the fix. Fri Oct 08 12:05:03 1999 Irfan Pyarali * tao/Messaging_Policy_i.h (SyncScopePolicy): Added TAO_Sync_Scope_Policy, an implementation for the Messaging SyncScopePolicy. * tao/Messaging.pidl: Added TAO specific SYNC_FLUSH option to the SyncScope policy defined in the Messaging specification. This allows the user to flush any queue messages on this connection. * tao/TAO.pidl (BufferingConstraintPolicy): Added new policy for selecting parameters for buffering. This includes buffering constraints based on timeouts, message counts, and/or message bytes. This policy comes into effect with the selection of the SYNC_NONE option for the SyncScope policy defined in the Messaging specification. Also added the respective stubs and skeletons. The stub and skeleton files were missing TAO_HAS_CORBA_MESSAGING guards. Those files and Client_Priority_Policy.* should be fixed now. Buffering_Constraint_Policy.* contain code for the servant implementation for this policy. * tao/orbconf.h (TAO_BUFFERING_CONSTRAINT_POLICY_TYPE): Added policy type constant for new (TAO specific) buffer constraint policy. * tao: Added support the SyncScope and the BufferingContraint policies to the following Stub, ORB, and ORB_Core. * tao/Sync_Strategies: This new files contains three strategies for dealing with oneway invocations. TAO_Transport_Sync_Strategy synchronizes with the transport layer. TAO_None_Sync_Strategy buffers oneways till some buffering constraints are met. TAO_Flush_Sync_Strategy flushes any queued message to the transport layer. * tao/{U,I}IOP_Transport.cpp (send): If we have a valid stub, use the sync strategy to send the data. Only clients have valid stubs; server don't. * tao/Invocation.cpp (invoke): Invocation class now provides the stub to the transport. This can be used to find the correct Sync Strategy to use. * tao/GIOP.cpp (send_message): This message now takes an additional parameter. * tao/Pluggable.h (TAO_Transport): Added a message queue pointer to the base class. This queue is created on demand. Also added new and methods that take a stub pointer as an additional parameter. * examples/Buffered_Oneways: This is a simple test for buffered oneways. It invokes multiple oneway calls. Due to buffering in the ORB, the calls are automatically bunched together instead of being delivered to the server upon every invocation. * tao/Typecode.i (equal): If the two pointers and are the same, immediately return true. Thanks to Carlos for helping with this. * tao/Policy_Manager.cpp: Added code for the two new policies, BufferingConstraintPolicy and SyncScope. Also code for the Client Priority policy was missing from . This was fixed. * tao/TimeBase.pidl: Added missing #pragma prefix "" at the end of the file. Otherwise, any file including TimeBase.pidl got the "omg.org" prefix. Fri Oct 8 11:28:54 1999 Pradeep Gore * orbsvcs/orbsvcs/orbsvcs.dsp: * orbsvcs/orbsvcs/orbsvcs_static.dsp: Added the new Trader files to orbsvcs - Interpreter.cpp, Trader_Constraint_Visitors.cpp, Interpreter_Utils_T.cpp , Interpreter_Utils.cpp Fri Oct 8 11:25:21 1999 Jeff Parsons * tao/Request.h: * tao/Request.cpp: Implementation of the DII send_deferred(), get_response(), and poll_response() methods. The Request passed its this pointer to a new method in the stub called do_deferred_call(), described below. get_response() blocks until the reply is received. poll_response() is used to minimize that blocking. New method called handle_response() gets the CDR from the reply dispatcher and does the appropriate thing. If the request's NVList has the lazy_evaluation flag set (a recent addition by Carlos), get_reponse() will decode the stream at the last moment. * tao/Stub.h: * tao/Stub.cpp: New method do_deferred_call() creates a new kind of invocation called TAO_GIOP_DII_Deferred_Invocation, described below, passes along the request pointer, calls invoke() and returns without blocking. * tao/Asynch_Invocation.h: * tao/Asynch_Invocation.i: * tao/Asynch_Invocation.cpp: TAO_GIOP_DII_Deferred_Invocation creates a new kind of reply dispatcher, TAO_DII_Deferred_Reply_Dispatcher, described below, passing along the request pointer. * tao/Reply_Dispatcher.h: * tao/Reply_Dispatcher.i: * tao/Reply_Dispatcher.cpp: TAO_DII_Deferred_Reply_Dispatcher uses the request pointer in place of a reply handler, and the handle_response() method in class CORBA_Request in place of the reply stub. * tao/Object.cpp: In order for get_response() to block, class CORBA_Request needs a pointer to its orb, which it never had before. The request creation methods in class CORBA_Object now grab and orb pointer and pass it to the request's constuctor. Fri Oct 08 10:00:00 1999 Michael Kircher * TAO_IDL/Makefile: Updated dependencies. * TAO_IDL/be/be_interface_strategy.cpp: Added a new strategy to suppor the generation of AMI interfaces. A forward declaration of the AMI Handler is generated. * TAO_IDL/be/be_visitor_ami_pre_proc.cpp: The visit_scope () method now makes a copy of the list to have it not be influenced by newly added nodes. * TAO_IDL/be/be_visitor_interface.cpp, TAO_IDL/be/be_visitor_factory.cpp: Added new interface visitor. * TAO_IDL/be/be_visitor_interface/interface_ch.cpp, TAO_IDL/be/be_visitor_typecode/typecode_defn.cpp: Removed AMI dependencies. * TAO_IDL/be/be_visitor_module/module.cpp, TAO_IDL/be/be_visitor_root/root.cpp: Added hooks, which trigger additional code generation. * TAO_IDL/be_include/be_interface_strategy.h: New strategy to trigger the generation of forward declarations. * TAO_IDL/be_include/be_codegen.h: Added a new state and removed old AMI states. * TAO_IDL/be_include/be_visitor_interface.h: Added a visitor for AMI interfaces to generate forward declarations. * TAO_IDL/include/ast_module.h: Changed the behavior of the be_add_interface () method to insert the new node *after* the given node and not *before* it. * TAO_IDL/include/utl_scope.h, TAO_IDL/util/utl_scope.cpp: Changed the behavior of the add_referenced () and add_decl () method to add the new reference/decl *after* the given decl, instead of inserting it *before* it. * tests/AMI/ami_test.idl: Activated the the shutdown () operation. Thu Oct 7 14:54:01 1999 Pradeep Gore * orbsvcs/Logging_Service/Logging_Service.h: * orbsvcs/Logging_Service/Logging_Service.cpp: * orbsvcs/Logging_Service/Makefile: Added the Telecom Log Service's front end files. * orbsvcs/orbsvcs/Makefile: Added a "Log" section for the Log Service. Thu Oct 7 13:14:43 1999 Carlos O'Ryan * tao/Any.h: * tao/Any.cpp: * tao/GIOP_Server_Request.h: * tao/GIOP_Server_Request.i: * tao/GIOP_Server_Request.cpp: * tao/NVList.h: * tao/NVList.i: * tao/NVList.cpp: * tao/Request.h: * tao/Request.i: * tao/Request.cpp: * tao/Server_Request.h: * tao/Stub.h: * tao/Stub.cpp: The implementation of efficient DSI/DII gateways is trickier than i first thought. The problem is that the spec supports the following use case: + Initialize an Any with some user provided variable. + Put the Any into an NVList + Use the NVList in a Server_Request. + The argument should be in the user variable after that. Obviously lazy evaluation does not work in that case, because the user does not invoke any operation after the invocation. I have changed the code to use lazy evaluation *only* if a flag is set, this flag is controlled by the application developer using a TAO extension. Later we could figure out an automatic way to set the flag. Finally i simplified the marshaling and demarshaling of arguments into Anys, by moving the code into the Any class, and out of Stub, NVList, Request and other places it was spread over. I also fixed a couple of latent bugs with the implementations of Any demarshaling. * tests/DSI_Gateway/test_dsi.cpp: Use the new TAO extensions to enable lazy evaluation. * tests/DSI_Gateway/run_test.pl: Fixed typo * tests/Param_Test/param_test_i.cpp: Added debugging messages in the method. * tests/Param_Test/run_test.pl: Minor cosmetic fixes. Thu Oct 7 11:46:31 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.h: * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp: Thanks to Dave Meyer we can select the network interface used by the TAO_ECG_Mcast_EH to receive mcast traffic. Thu Oct 7 05:04:11 1999 Pradeep Gore * orbsvcs/orbsvcs/Log/Iterator_i.{h.cpp}: * orbsvcs/orbsvcs/Log/LogRecordStore.{h.cpp}: * orbsvcs/orbsvcs/Log/Log_i.{h.cpp}: Added implementation of the many query methods in the Log interface. Methods that now lack implementation in Log are: setting the max. record life, log duration, weekly scheduling and copy. Methods to be completed in LogMgr is "list_logs_by_id" * orbsvcs/orbsvcs/Log/Log_Constraint_Interpreter.{h.cpp}: * orbsvcs/orbsvcs/Log/Log_Constraint_Visitors.{h.cpp}: Added these 2 files to use with the Trader's TCL query interpreter files. Thu Oct 7 04:48:28 1999 Pradeep Gore * orbsvcs/orbsvcs/Makefile: added - Trader/Interpreter \ Trader/Trader_Constraint_Visitors \ Trader/Interpreter_Utils_T \ Trader/Interpreter_Utils to the Trader compile section and updated dependencies. Thu Oct 7 04:31:44 1999 Pradeep Gore * orbsvcs/orbsvcs/Trader/Interpreter.{h,cpp}: * orbsvcs/orbsvcs/Trader/Interpreter_Utils.{h,cpp}: * orbsvcs/orbsvcs/Trader/Interpreter_Utils_T.{h,cpp}: * orbsvcs/orbsvcs/Trader/Trader_Constraint_Visitors.{h,cpp}: Added these new files to the Trader to decouple the TCL interpreter from the rest of the Trader. * orbsvcs/orbsvcs/Trader/Constraint_Interpreter.{h,cpp}: * orbsvcs/orbsvcs/Trader/Constraint_Nodes.h: * orbsvcs/orbsvcs/Trader/Constraint_Visitors.{h,cpp}: * orbsvcs/orbsvcs/Trader/Trader.{h,cpp}: * orbsvcs/orbsvcs/Trader/Trader_Interfaces.cpp: * orbsvcs/orbsvcs/Trader/Trader_T.{h,cpp}: Minor surgery to these files to accomodate the changes from the decoupling. To use the TCL in any other service, the set of files that you need are : Interpreter.cpp, Constraint_Visitors.cpp, Constraint_Nodes.cpp, Constraint_l.cpp, Constraint_y.cpp, Interpreter_Utils_T.cpp and Interpreter_Utils.cpp Thu Oct 7 01:23:01 1999 Marina Spivak * examples/Quoter/Makefile: Updated dependencies. This file was missed during: Mon Oct 4 17:08:03 1999 Marina Spivak Wed Oct 6 10:33:00 1999 Michael Kircher * tao/MessagingC.h, tao/MessagingC.i, tao/MessagingC.cpp: In the .cpp file file were inline methods, moved these to the .i file. * tao/Reply_Dispatcher.cpp: Cosmetic changes. * tests/AMI/Makefile: Added the -Ge 1 switch to the IDL compiler. Wed Oct 6 07:23:23 1999 Michael Kircher * tests/AMI/client.cpp, tests/AMI/simple_client.cpp: Cosmetic changes. Wed Oct 6 07:00:25 1999 Douglas C. Schmidt * Reformatted some of the ORB code to make it correspond to ACE+TAO programming conventions. Wed Oct 6 06:40:23 1999 Michael Kircher * tests/AMI/ami_test_i.cpp: Fixed the way we throw the exception in method foo (). Tue Oct 5 18:41:23 1999 Vishal Kachroo * examples/Simple/bank/README: Updated the explanation of options to the server and the client. Removed the description of obsolete options. Tue Oct 5 15:43:03 1999 Jeff Parsons * tests/IDL_Test/params.idl: Changed the name of a struct to avoid a clash with a struct in another IDL file. Mon Oct 4 20:42:16 1999 Carlos O'Ryan * tao/NVList.h: * tao/NVList.i: * tao/NVList.cpp: Implemented new optimizations in the NVList class: - When demarshaling a request (or reply) the CDR stream is not interpreted until it is required (i.e. one of the standard methods is invoked). - When marshaling an NVList if the CDR stream is available then we use that instead of the individual Anys. they are useful for DSI/DII based gateways. * tao/GIOP_Server_Request.cpp: * tao/Stub.cpp: Use the new _tao_incoming_cdr() to set the CDR of the NVList, delaying the dermashaling as much as possible. * tao/Invocation.h: * tao/Invocation.i: Removed obsolete methods, like put_param() and get_value(). * tests/Makefile: * tests/DSI_Gateway/Makefile: * tests/DSI_Gateway/README: * tests/DSI_Gateway/test.idl: * tests/DSI_Gateway/client.cpp: * tests/DSI_Gateway/gateway.cpp: * tests/DSI_Gateway/run_test.pl: * tests/DSI_Gateway/server.cpp: * tests/DSI_Gateway/test_dsi.h: * tests/DSI_Gateway/test_dsi.i: * tests/DSI_Gateway/test_dsi.cpp: * tests/DSI_Gateway/test_i.h: * tests/DSI_Gateway/test_i.i: * tests/DSI_Gateway/test_i.cpp: A new test/example to check that the DSI/DII optimizations actually work. * tao/append.cpp: * tao/ORB.h: * tao/Server_Request.h: * tao/Asynch_Invocation.h: * tao/Any.cpp: * tao/CDR.cpp: Cosmetic fixes Mon Oct 4 17:08:03 1999 Marina Spivak * orbsvcs/orbsvcs/Naming/Naming_Context.{h,cpp} * orbsvcs/orbsvcs/Naming/Naming_Context_Interface.{h,cpp}: Changed the name of the files from Naming_Context.* to Naming_Context_Interface.* This is bugzilla bug #340. We can't have two files with the same name if they involve template instantiations. orbsvcs/Naming/Naming_Context.cpp conflicts with ace/Naming_Context.cpp. Thanks to Greg Holtmeyer for pointing this out. * orbsvcs/orbsvcs/Naming/Hash_Naming_Context.h * orbsvcs/orbsvcs/Naming/Naming_Utils.h * orbsvcs/orbsvcs/Naming/README * orbsvcs/orbsvcs/Makefile * orbsvcs/Naming_Service/Makefile * orbsvcs/tests/Simple_Naming/Makefile * tests/InterOp-Naming/Makefile * examples/Callback_Quoter/Makefile * examples/Event_Comm/Makefile * examples/Simple/bank/Makefile * examples/Simple/time/Makefile * examples/Simple/time-date/Makefile * examples/Simple/echo/Makefile * examples/Simple/grid/Makefile * examples/Logging/Makefile * orbsvcs/Concurrency_Service/Makefile * orbsvcs/CosEC/Factory/Makefile * orbsvcs/Time_Service/Makefile * orbsvcs/tests/Concurrency/Makefile * orbsvcs/tests/Property/Makefile * orbsvcs/tests/Time/Makefile * orbsvcs/tests/Sched_Conf/Makefile * orbsvcs/tests/CosEC_Multiple/Makefile * orbsvcs/tests/AVStreams/benchmark/Makefile * orbsvcs/orbsvcs/orbsvcs.dsp * orbsvcs/orbsvcs_static.dsp Updated inclusions and makefile dependencies to reflect the change above. Mon Oct 04 15:20:00 1999 Michael Kircher * TAO_IDL/be/be_visitor_operation/ami_handler_reply_stub_operation_cs.cpp, TAO_IDL/be/be_visitor_valuetype/field_ch.cpp, tao/MessagingC.h: Fixed the usage of the "_var_type" typedef on anonymous sequences. Mon Oct 4 14:46:17 1999 Jeff Parsons * tests/IDL_test/params.idl: * tests/IDL_Test/idl_test/dsp: * tests/IDL_Test/Makefile: New IDL file for IDL problem files relating to function return types and args. The example was originally sent in by Torsten Kuepper and modified by me and Michael Kircher . Mon Oct 4 13:23:26 1999 Jeff Parsons * TAO_IDL/be/be_visitor_argument/argument.cpp: Eliminated use of ACE_NESTED_CLASS macro when generating function parameters in the header file. As with return types, MSVC does not have namespace problems with function parameters, and certain cases can lead to an insufficiently scoped name as the evaluation of the macro. Thanks to Michael Kircher for pointing this out. Mon Oct 04 12:52:17 1999 Irfan Pyarali * tao/Servant_Base.cpp (TAO_DynamicImplementation::_create_stub): The checking for a valid POA current was not correct. This should be fixed now. Thanks to Carlos for pointing this out. Mon Oct 4 11:08:32 1999 Jeff Parsons * TAO_IDL/be/be_visitor_sequence/sequence_ch.cpp: * TAO_IDL/be/be_visitor_structure/structure_ch.cpp: * TAO_IDL/be/be_visitor_union/union_ch.cpp: * TAO_IDL/be/be_visitor_exception/exception_ch.cpp: Added generation of typedef for _ptr_type and _var_type (just _ptr_type for exceptions). * TAO_IDL/be/be_visitor_sequence/exception_ctor.cpp: Cosmetic changes to generated code. Mon Oct 04 08:40:00 1999 Michael Kircher * TAO_IDL/be/be_visitor_valuetype/ami_exception_holder_ch.cpp, TAO_IDL/be/be_visitor_valuetype/ami_exception_holder_ch.cpp: Removed a superfluous ";" after the method implementation. 1999-10-03 Yamuna Krishnamurthy * orbsvcs/tests/AVStreams/Vic/Makefile: Modified the Makefile so that it will include the libAVsvc library Sun Oct 3 16:16:12 1999 Jeff Parsons * TAO_IDL/be/be_visitor_valuetype/field_ch.cpp: Removed an unused variable. * TAO_IDL/be/be_visitor_ami_pre_proc.cpp: Removed an extra semicolon. * tests/Param_Test/recursive_union.cpp: Removed an unreachable statement. Sun Oct 03 13:10:00 1999 Michael Kircher * TAO_IDL/be/be_visitor_operation/ami_handler_reply_stub_operation_cs.cpp, TAO_IDL/be/be_visitor_valuetype/field_ch.cpp, tao/MessagingC.h: Fixed the generation and usage of a typedef for anonymous valuetype field types. This also involved generating a typedef for the "var" type. Sat Oct 2 18:14:36 1999 Jeff Parsons * param_test.idl: * param_test_i.h: * param_test_i.cpp: * client.dsp: * Makefile: * driver.cpp: * options.h: * options.cpp: * tests.h: * run_test.pl: Changes for new recursive union test. * recursive_union.h: * recursive_union.cpp: New files added for recursive union test. * recursive_struct.h: * recursive_struct.cpp: * bd_array_sequence.cpp: Cosmetic changes. Sat Oct 2 17:56:04 1999 Jeff Parsons * TAO_IDL/be/be_visitor_union_branch/public_assign_cs.cpp: Fixed assignment operator if union is recursive. Before, the only way to initialize such a union was from the bottom up. Otherwise we would end up calling the member sequence copy constructor with a dereference null pointer as an rhs. Now recursive unions can be initialized from the top down. Sat Oct 2 16:36:04 1999 Ossama Othman * tao/Makefile: Updated dependencies. Sat Oct 2 16:19:18 1999 Jeff Parsons * TAO_IDL/be/be_visitor_valuetype/field_ch.cpp: Moved code to generate typedef for anonymous member sequence to its correct place. Sat Oct 02 14:50:00 1999 Michael Kircher * TAO_IDL/be/be_attribute.cpp, TAO_IDL/be/be_visitor_ami_pre_proc.cpp, TAO_IDL/be/be_visitor_attribute/attribute.cpp, TAO_IDL/be/be_visitor_operation/ami_cs.cpp, TAO_IDL/be/be_visitor_operation/ami_handler_reply_stub_operation_cs.cpp, TAO_IDL/be_include/be_attribute.h, TAO_IDL/be_include/be_visitor_ami_pre_proc.h: Added support for attributes. * TAO_IDL/ast/ast_interface.cpp TAO_IDL/include/ast_interface.h: Added be_replace_operation method to be able to replace operations if needed. TAO_IDL/include/utl_scope.h TAO_IDL/util/utl_scope.cpp: Added replace operations for scope and referenced. * tests/AMI/ami_test.idl, tests/AMI/simple_client.cpp: Activated the tests for attributes again. * docs/releasenotes/index.html: Updated comment on support for AMI attributes. Fri Oct 1 19:02:37 1999 Ossama Othman * tao/ORB_Core.h: * tao/ORB_Core.i: * tao/ORB_Core.cpp: Made service configurator argument vector in init() a member of the TAO_ORB_Core class so that it is properly deallocated when an error occurs in init(). This makes the allocation of the argument vector exception safe. [Bug 330] Added a TAO_ORB_Core_Auto_Ptr class that properly calls TAO_ORB_Core::fini() upon destruction. Made allocation of TAO_POA_Manager in create_and_set_root_poa() exception safe by using an auto_ptr. Updated init() method to accept a CORBA::Environment variable, and updated returned error conditions to throw the appropriate exception. [Bug 14] Removed owns_resources_ member from TAO_ORB_Core_TSS_Resources class since it wasn't used, nor should it be used. The amount of control it provided over what gets owned by TSS was too coarse grained. * tao/ORB.cpp (ORB_init); Made allocation of TAO_ORB_Core exception safe by using the newly added TAO_ORB_Core_Auto_Ptr. * tao/IIOP_Acceptor.cpp (open): Fixed endpoint parsing code so that it works as users expect. Specifically, the following -ORBEndpoint use cases will work as expected: -ORBEndpoint iiop://my_host -ORBEndpoint iiop://:my_port (note colon ':' before my_port) [Bug 311] * tao/Stub.i (reset): Do not call _decr_refcnt() in TAO_Stub_Auto_Ptr::reset() if the underlying pointer is zero. * docs/Options.html: Spelling corrections. Fri Oct 1 15:00:40 1999 Darrell Brunsch * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp: David Dunn reported that the ImplRepo server was still outputting an IOR to implrepo.ior, in addition to the file specified by the -o flag. It is now fixed so only the -o specified file is used (and the correct IOR is put in it). Fri Oct 01 15:00:00 1999 Michael Kircher * TAO_IDL/be/be_visitor_operation/ami_reply_handler_stub_operation_cs.cpp: Fixed a hardcoded operation name to use the correct one. Fri Oct 1 13:46:00 1999 Darrell Brunsch * orbsvcs/orbsvcs/ImplRepo.idl: Shouldn't have a type name and a variable name that differs only by case. * docs/Options.html: Added Implementation Repository environment variables to the list [bug 215]. Fri Oct 1 13:14:17 1999 Douglas C. Schmidt * ChangeLog: Added more Borland support. Thanks to Christopher Kohlhoff for this. Fri Oct 1 11:16:19 1999 Jeff Parsons * TAO_IDL/be/be_visitor_operation/rettype.cpp: Return type code generation for functions in the header file were calling nested_type_name(), which would generate an ACE_NESTED_CLASS macro if necessary. This macro is for the benefit of MSVC, which has some namespace problems. But for return types, it works fine, the macro is not needed, and in some cases it was actually leaving out part of the scoped name that needed to be there. Fri Oct 1 10:23:40 1999 Jeff Parsons * TAO_IDL/ast/ast_expression.cpp: Fixed bit operators for constant literals. The original Sun code had just coerced everything to signed long, which breaks if a ulong value goes above LONG_MAX. We'll eventually need more work here to handle 64-bit ints, but it can't be done until all the arithmetic, logical and compare opertors are implemented. * tests/IDL_Test/constants.idl: Added some test constants to keep a check on this and previous fixes to constant literal operators. Fri Oct 01 07:20:00 1999 Michael Kircher * 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/ami_handler_stub_ch.cpp, TAO_IDL/be/be_visitor_interface/ami_handler_stub_cs.cpp, TAO_IDL/be/be_visitor_interface/ami_exception_holder_ci.cpp, TAO_IDL/be/be_visitor_interface/ami_handler_fwd_ch.h, TAO_IDL/be/be_visitor_interface/ami_handler_fwd_ci.h, TAO_IDL/be/be_visitor_interface/ami_handler_stub_ch.h, TAO_IDL/be/be_visitor_interface/ami_handler_stub_cs.h, TAO_IDL/be/be_visitor_argument/ami_arglist.cpp, TAO_IDL/be/be_visitor_argument/ami_handler_arglist.cpp, TAO_IDL/be/be_visitor_argument/ami_handler_result_arg.cpp, TAO_IDL/be/be_visitor_argument/ami_handler_compiled_marshal_cs.cpp, TAO_IDL/be/be_visitor_argument/ami_handler_upcall_cs.cpp, TAO_IDL/be/be_visitor_argument/ami_handler_vardecl_cs.cpp, TAO_IDL/be/be_visitor_argument/ami_arglist.h, TAO_IDL/be/be_visitor_argument/ami_handler_arglist.h, TAO_IDL/be/be_visitor_argument/ami_handler_result_arg.h, TAO_IDL/be/be_visitor_argument/ami_handler_compiled_marshal_cs.h, TAO_IDL/be/be_visitor_argument/ami_handler_upcall_cs.h, TAO_IDL/be/be_visitor_argument/ami_handler_vardecl_cs.h, TAO_IDL/be/be_visitor_operation/ami_arglist.h, TAO_IDL/be/be_visitor_operation/ami_handler_arglist.h, TAO_IDL/be/be_visitor_operation/ami_handler_operation_ch.h, TAO_IDL/be/be_visitor_operation/ami_handler_operation_cs.h, TAO_IDL/be/be_visitor_operation/ami_handler_operation_ss.h, TAO_IDL/be/be_visitor_operation/ami_handler_argument_marshal.h, TAO_IDL/be/be_visitor_operation/ami_handler_thru_poa_collocated_sh.h, TAO_IDL/be/be_visitor_operation/ami_handler_thru_poa_collocated_ss.h, TAO_IDL/be/be_visitor_operation/ami_exception_holder_operation_ch.h, 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_handler_operation_ch.cpp, TAO_IDL/be/be_visitor_operation/ami_handler_operation_cs.cpp, TAO_IDL/be/be_visitor_operation/ami_handler_operation_ss.cpp, TAO_IDL/be/be_visitor_operation/ami_handler_argument_marshal.cpp, TAO_IDL/be/be_visitor_operation/ami_handler_thru_poa_collocated_sh.cpp, TAO_IDL/be/be_visitor_operation/ami_handler_thru_poa_collocated_ss.cpp, TAO_IDL/be/be_visitor_operation/ami_exception_holder_operation_ch.cpp: Removed these files, because they are no longer needed. * TAO_IDL/ast/ast_module.cpp: The method add_referenced was not properly called. * TAO_IDL/be/be_visitor_argument.cpp, TAO_IDL/be/be_visitor_interface.cpp, TAO_IDL/be/be_visitor_operation.cpp, TAO_IDL/be/be_visitor_interface/cdr_op_ch.cpp, TAO_IDL/be/be_visitor_interface/cdr_op_ci.cpp, TAO_IDL/be/be_visitor_interface/cdr_op_cs.cpp, TAO_IDL/be/be_visitor_interface/interface_ch.cpp, TAO_IDL/be/be_visitor_interface/interface_ci.cpp, TAO_IDL/be/be_visitor_interface/interface_cs.cpp, TAO_IDL/be/be_visitor_interface/interface_sh.cpp, TAO_IDL/be/be_visitor_interface/interface_ss.cpp: Removed AMI dependencies. * TAO_IDL/be/be_visitor_ami_pre_proc.cpp, TAO_IDL/be/be_visitor_operation/ami_handler_reply_stub_operation_cs.cpp: Minor adjustments. Fri Oct 01 02:17:00 1999 Michael Kircher * tao/MessagingS.h: Fixed missing TAO_Export macros. Thu Sep 30 20:32:57 1999 Marina Spivak * docs/minimumTAO.html: Fixed a bad link. Thu Sep 30 20:21:21 1999 Marina Spivak * examples/Load_Balancing/run_test.pl: Added a perl script to run the demo. Thu Sep 30 18:21:58 1999 Jeff Parsons * TAO_IDL/include/ast_expression.h: * TAO_IDL/ast/ast_expression.cpp: Extended the EvalKind enum and added some code to fix the behavior of the '~' operator in constant literals. Thanks to Irfan for pointing out that this didn't work correctly for all relevant arithmetic types. Thu Sep 30 16:25:15 1999 Balachandran Natarajan * tao/ORB.cpp: * tao/ORB.h: Added two more methods within the CORBA::ORB class. The methods are create_alias_tc () & create_struct_tc(). These were requested by Jarek Tomasewzki . Thu Sep 30 14:58:38 1999 Jeff Parsons * TAO_IDL/be/be_visitor_valuetype/field_ch.cpp: * TAO_IDL/be/be_visitor_field/field_ch.cpp: Changes to make sure that anonymous sequence typedefs get generated for valuetypes. Thu Sep 30 14:10:00 1999 Michael Kircher * tao/MessagingC.h, tao/MessagingC.cpp, tao/MessagingS.h, tao/MessagingS.cpp: Generated direct and thru-poa collocated classes and put them in place. Thu Sep 30 13:27:31 1999 Jeff Parsons * TAO_IDL/util/utl_scope.cpp: More tweaks to fine-tune the name resolution capability. Thu Sep 30 12:40:00 1999 Michael Kircher * TAO_IDL/be/be_interface_strategy.cpp, TAO_IDL/be/be_visitor_factory.cpp, TAO_IDL/be/be_visitor_operation.cpp, TAO_IDL/be/be_visitor_attribute/attribute.cpp, TAO_IDL/be/be_visitor_interface/any_op_ch.cpp, TAO_IDL/be/be_visitor_interface/any_op_cs.cpp, TAO_IDL/be/be_visitor_interface/direct_collocated_ss.cpp, TAO_IDL/be/be_visitor_interface/interface.cpp, TAO_IDL/be/be_visitor_operation/ami_cs.cpp, TAO_IDL/be/be_visitor_operation/argument.cpp, TAO_IDL/be_include/be_interface_strategy.h, TAO_IDL/be_include/be_visitor_operation.h: Removed AMI dpendecies. * TAO_IDL/be/be_visitor_ami_pre_proc.cpp, TAO_IDL/be/be_visitor_operation/ami_exception_holder_operation_cs.cpp, TAO_IDL/be/be_visitor_valuetype/ami_exception_holder_ch.cpp, TAO_IDL/be/be_visitor_operation/ami_handler_operation_cs.cpp: Did some fixes in the area of ACE_TRY_ENV declarations and definitions. * TAO_IDL/be_include/be_visitor_operation/ami_handler_skeleton_cs.h, TAO_IDL/be/be_visitor_operation/ami_handler_skeleton_cs.cpp: Renamed these files to the following * TAO_IDL/be_include/be_visitor_operation/ami_handler_reply_stub_operation_cs.h, TAO_IDL/be/be_visitor_operation/ami_handler_reply_stub_operation_cs.cpp: Got created from the previously mentioned files. * TAO_IDL/Makefile: Updated dependencies. Thu Sep 30 10:09:42 1999 Douglas C. Schmidt * orbsvcs/Naming_Service/Naming_Service.h: Made the various instance variables protected rather than private so they can be accessed by subclasses. Thanks to Goran Lowkrantz for this suggestion. Thu Sep 30 05:20:00 1999 Michael Kircher * TAO_IDL/be/be_visitor_ami_pre_proc.cpp, TAO_IDL/be/be_visitor_operation/ami_handler_skeleton_cs.cpp: Getting exceptions to work correctly. * TAO_IDL/be/be_visitor_valuetype/field_ch.cpp: Added missing const in readonly accessor of sequence. Thanks to Torsten Kuepper for sending this fix. * TAO_IDL/be/be_visitor_valuetype/field_cs.cpp: Changed set accessor of sequence member. Thanks to Torsten Kuepper for sending this fix. * docs/releasenotes/index.html: Documented the current status of AMI. * examples/Simple/time-date/Time_Date.dsp: Added the Time_Date.h file to the project file. * tests/AMI/client.cpp, tests/AMI/simple_client.cpp: Enhanced the test to do proper exception handling testing, which works now again! Thu Sep 30 02:04:37 1999 Marina Spivak * tao/Object.cpp: Changed CORBA_Object::_validate_connection to be no-op if defined TAO_HAS_MINIMUM_CORBA. Wed Sep 29 15:35:21 1999 Darrell Brunsch * docs/implrepo/index.html: * docs/implrepo/tao_ir.html: * docs/implrepo/usersguide.html: Replaced -ORBImplRepoServiceIOR with -ORBInitRef. [bug 308] * examples/Callback_Quoter/run_test.pl: * examples/Quoter/run_test.pl: Replaced -ORBNameServiceIOR with -ORBInitRef. Wed Sep 29 15:32:31 1999 Jeff Parsons * tao/Any.cpp: In >>= (to_object), decode from the stream using the contained type rather than CORBA::Object. The widening happens upon assignment to the Object_ptr in the to_object struct. * tao/DynAny_i.cpp: In insert_reference, instead of using <<= to insert the value, we duplicate the pointer and use replace(). * tao/GIOP_Server_Request.cpp: Added check for non-null Any value before narrowing to PortableServer::ForwardRequest and before trying the narrow to CORBA_SystemException. Thanks to Phillipe Merle for sending in these patches. Wed Sep 29 15:33:04 1999 Ossama Othman * tao/Exception.cpp (item): Return CORBA::TypeCode::_nil() on error, not zero. Wed Sep 29 15:27:09 1999 Ossama Othman * tao/Exception.cpp (make_standard_typecode): Moved CORBA::string_free() call prior to a point in the code where an exception is thrown on error. This improves memory leak prevention in this method, slightly. * tao/Exception.cpp (CORBA_UnknownUserException): Base class should be initialized with the derived class typecode. Removed unnecessary pre-deletion zero pointer check. Wed Sep 29 13:45:40 1999 Jeff Parsons * TAO_IDL/fe/idl.yy: * TAO_IDL/fe/y.tab.h: * TAO_IDL/fe/y.tab.cpp: Reversed the behavior of left shift and right shift operators in constant expressions - it was backwards. Thanks to Irfan for asking the question that led to the discovery of this bug. Wed Sep 29 13:01:00 1999 Michael Kircher * TAO_IDL/be/be_visitor_operation/ami_handler_skeleton_cs.cpp: Fixed some things regarding the handling of the sequence of octets. * tests/AMI/simple_client.cpp, tests/AMI/ami_test_i.cpp: Cosmetic changes. Wed Sep 29 12:10:46 1999 Carlos O'Ryan * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: The POA was activated too late, producing the infamous "POA in holding state" exceptions. Thanks to Harald Finster for reporting the problem. Wed Sep 29 11:55:38 1999 Jeff Parsons * TAO_IDL/be/be_visitor_sequence/cdr_op_cs.cpp: As it turns out, several compilers do object to casting something that's already const to const, so I made my earlier change to the output CDR operator for array sequences specific to MSVC 5.0. Wed Sep 29 11:01:00 1999 Michael Kircher * TAO_IDL/be/be_interface_strategy.cpp, TAO_IDL/be/be_visitor_operation/ami_exception_holder_operation_cs.cpp, TAO_IDL/be/be_visitor_operation/ami_handler_skeleton_cs.cpp, TAO_IDL/be/be_visitor_valuetype/ami_exception_holder_ch.cpp, TAO_IDL/be/be_visitor_valuetype/ami_exception_holder_cs.cpp: Further adjustments to produce correct AMI code. * TAO_IDL/be/be_visitor_valuetype/obv_module.cpp: Put in a hook for addtitional code generation. * tao/Messaging.pidl: Updated the valuetypes according to the spec. * tao/MessagingC.h: Added a "TAO_Export" declaration on the OBV_ namespace classes. Wed Sep 29 10:59:45 1999 Ossama Othman * tao/TAO.h: Minor cosmetic changes. * tao/TAO.cpp (run): Check for exception after to call to CORBA::ORB::run(). Wed Sep 29 10:41:39 1999 Ossama Othman * tao/Exception.cpp (CORBA_UnknownUserException): Copy constructor should explicitly initialize the CORBA_UserException base class. Thanks to gcc 2.95.2 for picking this up. * tao/TAO.cpp (init): Check for exception after call to resolve_initial_references(). Wed Sep 29 04:01:00 1999 Michael Kircher * TAO_IDL/be/be_visitor_interface/ami_exception_holder_cs.cpp, TAO_IDL/be/be_visitor_interface/ami_exception_holder_ch.cpp, TAO_IDL/be/be_visitor_interface/ami_exception_holder_ci.cpp, TAO_IDL/be_include/be_visitor_interface/ami_exception_holder_cs.h, TAO_IDL/be_include/be_visitor_interface/ami_exception_holder_ch.h, TAO_IDL/be_include/be_visitor_interface/ami_exception_holder_ci.h: Removed these files, part of them got replaced by the following four files. * TAO_IDL/be/be_visitor_valuetype/ami_exception_holder_cs.cpp, TAO_IDL/be/be_visitor_valuetype/ami_exception_holder_ch.cpp, TAO_IDL/be_include/be_visitor_valuetype/ami_exception_holder_cs.h, TAO_IDL/be_include/be_visitor_valuetype/ami_exception_holder_ch.h: Crafted these files after the above mentioned removed files. * TAO_IDL/tao_idl.dsp: Added the file TAO_IDL/be_include/be_interface_strategy.h * TAO_IDL/be/be_interface.cpp TAO_IDL/be/be_interface_strategy.cpp TAO_IDL/be_include/be_interface.h TAO_IDL/be_include/be_interface_strategy.h: Introduced new capabilites to the interface strategy to allow additional code generation depending on the assigned strategy. * TAO_IDL/be/be_visitor_operation/ami_ch.cpp, TAO_IDL/be/be_visitor_operation/ami_cs.cpp: Changed the code generation of the sendc_ method to use the marshaling () and arguments () methods on the strategy to retrieve the operation specialized to generate code for "marshalling" and for the "arguments". * TAO_IDL/be/be_visitor_module/module.cpp, TAO_IDL/be/be_visitor_root/root.cpp: Provided hooks for addtional code generation in the method visit_valuetype (). * TAO_IDL/be/be_visitor_operation/ami_exception_holder_operation_cs.cpp, TAO_IDL/be/be_visitor_operation/ami_handler_skeleton_cs.cpp Refined the code generation for exception holders. * TAO_IDL/be/be_visitor_interface.cpp, TAO_IDL/be/be_visitor_argument.cpp, TAO_IDL/be/be_visitor_factory.cpp, TAO_IDL/be/be_visitor_interface/interface.cpp, TAO_IDL/be/be_visitor_interface/tie_sh.cpp, TAO_IDL/be/be_visitor_operation/argument.cpp, TAO_IDL/be/be_visitor_operation/operation_ih.cpp, TAO_IDL/be/be_visitor_typecode/typecode_defn.cpp, TAO_IDL/be_include/be_codegen.h, TAO_IDL/be_include/be_operation.h, TAO_IDL/be_include/be_operation_strategy.h, TAO_IDL/be_include/be_visitor_interface/tie_sh.h: Removed dependencies to AMI specificas. * TAO_IDL/be/be_visitor_valuetype.cpp, TAO_IDL/be/be_visitor_valuetype/arglist.cpp, TAO_IDL/be/be_visitor_valuetype/valuetype_ch.cpp, TAO_IDL/be/be_visitor_valuetype/valuetype_cs.cpp, TAO_IDL/be/be_visitor_valuetype/valuetype_obv_cs.cpp, TAO_IDL/be_include/be_visitor_valuetype.h: Did some minor corrections and enhancements to produce correct code. * TAO_IDL/be/be_visitor_ami_pre_proc.cpp, TAO_IDL/be_include/be_visitor_ami_pre_proc.h: Made further refinements to the implied IDL node insertion. * TAO_IDL/be/be_operation.cpp, TAO_IDL/be/be_operation_strategy.cpp: Enhanced the operation strategies. * tao/Asynch_Invocation.cpp, tao/Asynch_Invocation.h: Removed the "exception list" arguments to the two invoke () methods, this resulted in removing one of them because the difference was just in the representation of the exception list. We do not need to hand over exceptions because they get caught by the reply handler reply stub and not by invoke as in the SMI case. * tests/AMI/simple_client.cpp: Corrected the name of the return value to be conform with the Messaging spec, which says it is named "ami_return_val". Tue Sep 28 19:45:14 1999 Jeff Parsons * tao/DynStruct_i.cpp: Modified the constructors so the typecode check will work for exceptions as well as ordinary structs. Patch sent in by Philippe Merle . Tue Sep 28 14:50:52 1999 Irfan Pyarali * examples/POA/DSI/Database.idl (Database): Renamed to . The variable name only differed from the type in case which is no longer acceptable. Thanks to Jeff for pointing this out. Tue Sep 28 13:44:00 1999 Martin Botzler * examples/mfc/*: Added a TAO-MFC example. Tue Sep 28 13:26:51 1999 Jeff Parsons * TAO_IDL/be/be_visitor_sequence/cdr_op_cs.cpp: Added a const cast in the generated code for the output CDR operator of array sequences. MSVC++ 5.0 needs the cast to const, even though it's on an arg which is declared const in the signature. At least it doesn't bother any of the other compilers. Thanks to Carlos for pointing out this bug. Tue Sep 28 12:46:40 1999 Jeff Parsons * TAO_IDL/be/be_visitor_ami_pre_proc.cpp: * TAO_IDL/be/be_visitor_interface/ami_exception_holder_ch.cpp: * TAO_IDL/be/be_visitor_interface/ami_exception_holder_ci.cpp: * TAO_IDL/be/be_visitor_interface/ami_exception_holder_cs.cpp: Replaced several bare casts with ACE_reinterpret_cast because HP/UX complained. If possible, it would be better to do this with one of the narrow_from_decl macros. Mon Sep 27 19:29:14 1999 Carlos O'Ryan * tao/ORB.cpp: Fixed object_to_string() it was not working when the IOR was *really* big. Thanks to Dennis D Noll for reporting this problem. Mon Sep 27 15:48:52 1999 Carlos O'Ryan * TAO_IDL/be/be_interface_strategy.cpp: * TAO_IDL/be/be_visitor_operation.cpp: The HP/aCC compiler frowns at text after a #endif, it actually gives an error in that case. Mon Sep 27 15:43:57 1999 Jeff Parsons * ast/ast_enum.cpp: * ast/ast_exception.cpp: * ast/ast_interface.cpp: * ast/ast_module.cpp: * ast/ast_operation.cpp: * ast/ast_structure.cpp: * ast/ast_union.cpp: * be/be_operation.cpp: * include/utl_scope.h: * util/utl_scope.cpp: Changes to make the IDL compiler CORBA 2.3 compliant in name resolution. The rules are much stricter than before, and the add_to_referenced() function did not maintain enough information to detect every clash. So, in addition to the list of AST_Decls that add_to_referenced maintains, a new list of Identifiers was added, maintained by add_to_referenced() and add_to_scope(). Since the signature of the function changed, the calls to it in other code were modified as well. * orbsvcs/orbsvcs/LifeCycleService.idl: * examples/Load_Balancer.idl: * examples/Quoter/Quoter.idl: * examples/Simple/bank/Bank.idl: With the new stricter rules, these IDL files were found to contain name clashes. Mon Sep 27 15:19:18 1999 Jeff Parsons * tao/Any.cpp: In replace(), made creation of Any's message block member conditional on the void *value arg being non-zero. When a thing like this would happen (an OUT arg), a new message block gets created for the Any in the stub. Thanks to Philippe Merle for sending in this fix. * tao/DynAny_i.cpp: Used call to unalias() to check for type correctness in insert_string, insert_any and insert_typecode. Thanks to Philippe Merle for sending in this fix. * tao/Exception.h: * tao/Exception.cpp: Added copy constructor that creates a new Any exception_ member on the heap. This is to avoid creation by some compilers of a default copy constructor that does not do the right thing. Thanks again to Phillipe Merle for sending in thi fix. * Stub.cpp: In do_dynamic_call(), in the branch of INOUT/OUT arg processing where the Any's value is 0, there was a missing assignment of the write pointer in the new message block created for the Any. Thanks to Philippe Merle for the example that uncovered this bug. * Sequence_T.cpp: Added missing call to base class operator= in TAO_Bounded_Array_Sequence operator=, which was causing a param test to return incorrect results. Mon Sep 27 15:15:34 1999 Ossama Othman * tao/corbafwd.h: * tao/ORB.h: * tao/ORB_Core.cpp: Changed "DEBUG" macro to "TAO_DEBUG" to prevent namespace pollution. Thanks to Kristopher Johnson for reporting this. Mon Sep 27 01:20:00 1999 Michael Kircher * TAO_IDL/be/be_visitor_interface/interface.cpp: Fixed some switch statements which were incorrectly causing error messages. Sun Sep 26 22:44:50 1999 Marina Spivak * tao/GIOP.cpp (parse_reply): LocateReplys do not contain contexts. We were trying to extract a context from LocateReply, and, therefore, incorrectly reading the rest of the data. Now, check to make sure we are not dealing with LocateReply before attempting to extract context data. * tao/IIOP_Transport.cpp (start_locate) * tao/UIOP_Transport.cpp (start_locate): When sending LocateRequest, in the header we were incorrectly specifying the type of the message as Request (rather than LocateRequest), causing misunderstanding of the message on the server side. * tao/PolicyC.{i,h}: Changed the copy constuctor for CORBA_PolicyList_out to take its argument as a const. This eliminates warnings regarding modifying a temporary on some compilers. Thanks to Carlos for helping with these. * tao/Invocation.cpp * tao/Stub.cpp * tao/Object.cpp: Added implementation for CORBA::Object::_validate_connection (). * tests/Endpoint_Per_Priority/client.cpp: Changed the test to use newly implemented <_validate_connection>. Sun Sep 26 16:32:26 1999 Douglas C. Schmidt * examples/Simple/time/Time_Client.java. Added a new example that illustrates how to use Java to access the simple Time service. Thanks to Martin Krumpolec for contributing this. Sun Sep 26 16:37:33 1999 Yamuna Krishnamurthy * orbsvcs/tests/AVStreams/Pluggable/server.cpp: * orbsvcs/tests/AVStreams/Pluggable/ftp.cpp: * orbsvcs/tests/AVStreams/Multicast/server.cpp: * orbsvcs/tests/AVStreams/Multicast/ftp.cpp: * orbsvcs/tests/AVStreams/Full_Profile/server.cpp: * orbsvcs/tests/AVStreams/Full_Profile/ftp.cpp: * orbsvcs/tests/AVStreams/Multicast_Full_Profile/ftp.cpp: * orbsvcs/tests/AVStreams/Multicast_Full_Profile/server.cpp: Removed unused variables and added missing template instantiations Sun Sep 26 04:20:00 1999 Michael Kircher * TAO_IDL/Makefile TAO_IDL/tao_idl.dsp TAO_IDL/tao_idl_static.dsp: Added two files, see below. * TAO_IDL/be/be_interface.cpp, TAO_IDL/be/be_visitor_factory.cpp, TAO_IDL/be/be_visitor_operation.cpp, TAO_IDL/be/be_visitor_attribute/attribute.cpp, TAO_IDL/be/be_visitor_interface/ami_handler_stub_cs.cpp, TAO_IDL/be/be_visitor_interface/any_op_ch.cpp, TAO_IDL/be/be_visitor_interface/any_op_cs.cpp, TAO_IDL/be/be_visitor_interface/cdr_op_ch.cpp, TAO_IDL/be/be_visitor_interface/cdr_op_ci.cpp, TAO_IDL/be/be_visitor_interface/cdr_op_cs.cpp, TAO_IDL/be/be_visitor_interface/interface.cpp, TAO_IDL/be/be_visitor_interface/interface_ch.cpp, TAO_IDL/be/be_visitor_interface/interface_ci.cpp, TAO_IDL/be/be_visitor_interface/interface_cs.cpp, TAO_IDL/be/be_visitor_interface/interface_sh.cpp, TAO_IDL/be/be_visitor_interface/interface_ss.cpp, TAO_IDL/be/be_visitor_interface/tie_sh.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_operation_ss.cpp, TAO_IDL/be/be_visitor_operation/argument.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_interface.h, TAO_IDL/be_include/be_interface_strategy.h, TAO_IDL/be_include/be_visitor_operation.h, TAO_IDL/be/be_visitor_operation/ami_handler_skeleton_cs.cpp, TAO_IDL/be_include/be_visitor_operation/ami_handler_skeleton_cs.h: Deactivated 90 % of the old AMI code generation because it is not needed any more and replaced with the standard code generation. I left the code in for reference, but it will be removed finally within the next two weeks. * TAO_IDL/be/be_interface_strategy.cpp: Simplified the interface node strategy to make it less powerful, the functionality is now in the operation strategy. * TAO_IDL/be/be_visitor_ami_pre_proc.cpp, TAO_IDL/be/be_operation.cpp, TAO_IDL/be_include/be_operation.h: Fixed the AMI code generation and introduced strategies on operations. * TAO_IDL/be/be_operation_strategy.cpp, TAO_IDL/be_include/be_operation_strategy.h: Added these files to support strategized operations. * TAO_IDL/be/be_visitor_operation/ami_handler_reply_stub_operation_ch.cpp, TAO_IDL/be_include/be_visitor_operation/ami_handler_reply_stub_operation_ch.h: These two files replace the "ami_handler_operation_ch*" files, we also call it now "reply stub" and not smart stub or skelton any more. * TAO_IDL/utl/utl_scope.cpp, TAO_IDL/ast/ast_module.cpp, TAO_IDL/include/utl_scope.h, TAO_IDL/include/ast_module.h: Enhanced the functionality to allow interfaces be inserted at a certain position in the list of interfaces. Sat Sep 25 17:12:49 1999 Carlos O'Ryan * TAO version 1.0.5 released. Sat Sep 25 10:25:57 1999 Darrell Brunsch * orbsvcs/orbsvcs/orbsvcs.dsp: Made sure IDL files use custom build commands (otherwise MSVC6 will try to use MIDL). * orbsvcs/tests/ImplRepo/run_test.pl: Changed the startup commands to include "./" so the test will work when the current directory isn't in the path. Thanks to Sandro Doro for catching this. [bug 331] * orbsvcs/tests/ImplRepo/ImplRepo.dsw: Added tao_ir to this workspace also. Thanks to Gregory Yarmit for reminding me to do this. Fri Sep 24 21:18:40 1999 Carlos O'Ryan * performance-tests/Cubit/TAO/MT_Cubit/Task_Client.cpp: * performance-tests/Cubit/TAO/MT_Cubit/Cubit_Task.cpp: Call the ORB::destroy() method to avoid crashes on shutdown. Fri Sep 24 16:16:09 1999 Carlos O'Ryan * tao/UIOP_Transport.cpp: * tao/IIOP_Transport.cpp: The GIOP::write_locate_request_header() method returns 1 to indicate success, but the start_locate() method was expecting 0. Thanks to Marina for pointing this out. Fri Sep 24 12:28:26 1999 Pradeep Gore * orbsvcs/examples/CosEC/Factory/FactoryDriver.cpp Initialize the ORB before parsing the command line arguments. Thanks to Knut-Havard Aksnes for reporting this bug. Fri Sep 24 11:57:21 1999 Nanbor Wang * Benchmark/Marshal_Test/TAO/Makefile: * Benchmark/benchmark/Makefile: * examples/Makefile: * examples/AMI/Makefile: * examples/Advanced/Makefile: * examples/OBV/Makefile: * examples/POA/Makefile: * examples/POA/Adapter_Activator/Makefile: * examples/POA/Explicit_Activation/Makefile: * examples/POA/Loader/Makefile: * examples/POA/On_Demand_Activation/Makefile: * examples/POA/On_Demand_Loading/Makefile: * examples/POA/Reference_Counted_Servant/Makefile: * examples/POA/RootPOA/Makefile: * examples/Simple/Makefile: * examples/Simulator/Makefile: * orbsvcs/Makefile: * orbsvcs/Concurrency_Service/Makefile: * orbsvcs/CosEvent_Service/Makefile: * orbsvcs/Dump_Schedule/Makefile: * orbsvcs/Event_Service/Makefile: * orbsvcs/Naming_Service/Makefile: * orbsvcs/Scheduling_Service/Makefile: * orbsvcs/Trading_Service/Makefile: * orbsvcs/examples/Makefile: * orbsvcs/examples/CosEC/Makefile: * orbsvcs/examples/RtEC/Makefile: * orbsvcs/examples/RtEC/Schedule/Makefile: * orbsvcs/examples/RtEC/Simple/Makefile: * orbsvcs/tests/Makefile: * orbsvcs/tests/AVStreams/Makefile: * orbsvcs/tests/AVStreams/mpeg/Makefile: * orbsvcs/tests/AVStreams/mpeg/source/Makefile: * orbsvcs/tests/CosEC_Basic/Makefile: * orbsvcs/tests/EC_Basic/Makefile: * orbsvcs/tests/EC_Mcast/Makefile: * orbsvcs/tests/EC_Multiple/Makefile: * orbsvcs/tests/Event/Makefile: * orbsvcs/tests/Event/Basic/Makefile: * orbsvcs/tests/Event/Performance/Makefile: * orbsvcs/tests/Event_Latency/Makefile: * orbsvcs/tests/Property/Makefile: * orbsvcs/tests/Sched/Makefile: * orbsvcs/tests/Sched_Conf/Makefile: * performance-tests/Makefile: * performance-tests/Cubit/Makefile: * performance-tests/Cubit/TAO/Makefile: * performance-tests/POA/Makefile: * performance-tests/Thruput/Makefile: * tests/Makefile: * tests/NestedUpcall/Makefile: * tests/POA/Makefile: * utils/Makefile: * utils/IOR-parser/Makefile: Reordered make rules inclusion order. Fri Sep 24 11:09:20 1999 Carlos O'Ryan * tao/Stub.cpp: The set_policy_overrides method did not copy the servant orb, this is important for collocated objects. Thanks to Stefan Ullrich for pointing this out and providing a fix. Thu Sep 23 15:40:17 1999 Douglas C. Schmidt * tao/ORB.h (CORBA_ORB): Added "= TAO_default_environment ()" to the various create_dyn_*() methods so that they can be used more portably. Thanks to Philippe Merle for reporting this. Thu Sep 23 23:51:23 1999 Carlos O'Ryan * orbsvcs/orbsvcs/orbsvcs.dsp: * orbsvcs/orbsvcs/orbsvcs_static.dsp: Add RtecDefaultEventData.idl and its children to the project files. Thu Sep 23 21:53:23 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Makefile: * orbsvcs/orbsvcs/RtecEventComm.idl: * orbsvcs/orbsvcs/RtecDefaultEventData.idl: Separate the user EventData to another file, this will make it easier for users to send their own data through the Event Service. Thanks to Tom Ziomek for bringing up the problem again and providing possible solutions. * orbsvcs/tests/EC_Basic/EC_Basic.cpp: * orbsvcs/tests/EC_Custom_Marshal/ECM_Supplier.cpp: * orbsvcs/tests/EC_Mcast/EC_Mcast.cpp: * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: * orbsvcs/tests/EC_Throughput/ECT_Supplier.cpp: * orbsvcs/tests/Event/lib/Supplier.cpp: Removed the x and y fields from the default event data structure, they were not used anyway. * */Makefile: Updated dependencies. Removed all references to the obsolete ORB_TSS_FLAG macro. Removed duplicate includes of rules.tao.GNU Some makefiles used TAO_ROOT but did not define the macro, others defined the macro in terms of ACE_ROOT if it was not defined already; changed all to use the second approach. Thu Sep 23 19:26:02 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Makefile: * orbsvcs/orbsvcs/Makefile.av: * orbsvcs/tests/AVStreams/Full_Profile/Makefile: * orbsvcs/tests/AVStreams/Latency/Makefile: * orbsvcs/tests/AVStreams/Multicast/Makefile: * orbsvcs/tests/AVStreams/Multicast_Full_Profile/Makefile: * orbsvcs/tests/AVStreams/Pluggable/Makefile: * orbsvcs/tests/AVStreams/benchmark/Makefile: * orbsvcs/tests/AVStreams/mpeg/source/client/Makefile: * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/Makefile: * orbsvcs/tests/AVStreams/mpeg/source/mpeg_mib/Makefile: * orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Makefile: * orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/Makefile: * orbsvcs/tests/AVStreams/mpeg/source/server/Makefile: * orbsvcs/tests/AVStreams/server_discovery/Makefile: Separate the AV streaming service into a new library, use that library to build the examples, tests and applications that depend on the service. This isolates the rest of the system from any build problems (such as long compile-times) in the AV/Streaming service. Thu Sep 23 14:26:19 1999 Nanbor Wang * examples/POA/RootPOA/Makefile: Moved the TAO_ROOT definition check up before it is used. Thanks to David for pointing this out. * Benchmark/Marshal_Test/TAO/Makefile: * Benchmark/benchmark/Makefile: * TAO_IDL/Makefile: * examples/Makefile: * examples/AMI/Makefile: * examples/Advanced/Makefile: * examples/OBV/Makefile: * examples/POA/Makefile: * examples/POA/Adapter_Activator/Makefile: * examples/POA/Explicit_Activation/Makefile: * examples/POA/Loader/Makefile: * examples/POA/On_Demand_Activation/Makefile: * examples/POA/On_Demand_Loading/Makefile: * examples/POA/Reference_Counted_Servant/Makefile: * examples/POA/RootPOA/Makefile: * examples/Simple/Makefile: * examples/Simulator/Makefile: * orbsvcs/Makefile: * orbsvcs/Concurrency_Service/Makefile: * orbsvcs/CosEvent_Service/Makefile: * orbsvcs/Dump_Schedule/Makefile: * orbsvcs/Event_Service/Makefile: * orbsvcs/Naming_Service/Makefile: * orbsvcs/Scheduling_Service/Makefile: * orbsvcs/Trading_Service/Makefile: * orbsvcs/examples/Makefile: * orbsvcs/examples/CosEC/Makefile: * orbsvcs/examples/RtEC/Makefile: * orbsvcs/examples/RtEC/Schedule/Makefile: * orbsvcs/examples/RtEC/Simple/Makefile: * orbsvcs/tests/Makefile: * orbsvcs/tests/AVStreams/Makefile: * orbsvcs/tests/AVStreams/mpeg/Makefile: * orbsvcs/tests/AVStreams/mpeg/source/Makefile: * orbsvcs/tests/CosEC_Basic/Makefile: * orbsvcs/tests/EC_Basic/Makefile: * orbsvcs/tests/EC_Mcast/Makefile: * orbsvcs/tests/EC_Multiple/Makefile: * orbsvcs/tests/Event/Makefile: * orbsvcs/tests/Event/Basic/Makefile: * orbsvcs/tests/Event/Performance/Makefile: * orbsvcs/tests/Event_Latency/Makefile: * orbsvcs/tests/Property/Makefile: * orbsvcs/tests/Sched/Makefile: * orbsvcs/tests/Sched_Conf/Makefile: * performance-tests/Makefile: * performance-tests/Cubit/Makefile: * performance-tests/Cubit/TAO/Makefile: * performance-tests/POA/Makefile: * performance-tests/Thruput/Makefile: * tests/Makefile: * tests/NestedUpcall/Makefile: * tests/POA/Makefile: * utils/Makefile: * utils/IOR-parser/Makefile: Added missing rules.tao.GNU. [Bug 326]. Thu Sep 23 11:26:20 1999 David L. Levine * performance-tests/Cubit/TAO/MT_Cubit/Globals.h, Task_Client.h,Timer.{h,cpp},client.{h,cpp}: replaced CHORUS with CHORUS_MVME. I think that pccTimer is specific to MVME. Thanks to Wei Chiang for reporting this. Thu Sep 23 11:18:11 1999 Nanbor Wang * orbsvcs/orbsvcs/orbsvcs.dsp: Fixed the custom build setting in release configuration for RtecEventChannelAdmin.idl. Thanks to Alok Gupta and Chien Yueh for reporting this. Thu Sep 23 08:55:00 1999 Michael Kircher * TAO_IDL/be/be_interface_strategy.h, TAO_IDL/be/be_interface_strategy.cpp: Introduced these files, holding now the strategies, which were formerly in the be_interface.{h,cpp} files. * TAO_IDL/Makefile TAO_IDL/tao_idl.dsp TAO_IDL/tao_idl_static.dsp: Added two files. * TAO_IDL/ast/ast_interface.cpp TAO_IDL/include/ast_interface.h TAO_IDL/ast/ast_operation.cpp TAO_IDL/include/ast_operation.h: Renamed operations add_operation_x to be_add_operation and add_exceptions_x to be_add_exceptions. * TAO_IDL/ast/ast_module.cpp TAO_IDL/include/ast_module.h: Added a method to add interfaces in the back-end. * TAO_IDL/be/be_interface.cpp, TAO_IDL/be/be_visitor_ami_pre_proc.cpp, TAO_IDL/be/be_visitor_attribute/attribute.cpp, TAO_IDL/be/be_visitor_interface/ami_exception_holder_ch.cpp, TAO_IDL/be/be_visitor_interface/ami_exception_holder_ci.cpp, TAO_IDL/be/be_visitor_interface/ami_exception_holder_cs.cpp, TAO_IDL/be/be_visitor_interface/any_op_ch.cpp, TAO_IDL/be/be_visitor_interface/any_op_cs.cpp, TAO_IDL/be/be_visitor_interface/cdr_op_ch.cpp, TAO_IDL/be/be_visitor_interface/cdr_op_ci.cpp, TAO_IDL/be/be_visitor_interface/cdr_op_cs.cpp, TAO_IDL/be/be_visitor_interface/interface.cpp, TAO_IDL/be/be_visitor_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, TAO_IDL/be/be_visitor_valuetype/cdr_op_ci.cpp, TAO_IDL/be_include/be.h, TAO_IDL/be_include/be_interface.h, TAO_IDL/be_include/be_visitor_ami_pre_proc.h: Did a big refactoring by commenting out all origninal AMI code generation and activating the new AMI implied IDL preprocessor. Still, AMI code does not compile yet, we need to implement some of the visitors. Thu Sep 23 02:02:30 1999 Nanbor Wang * TAO-INSTALL.html: Updated the idl files compilation guidelines. We can use a utility project to handle the IDL compilation part to avoid setting up the custom rules twice. Thanks to Dmitri Katchalov for suggesting the change. Wed Sep 22 13:13:46 1999 Ossama Othman * tao/DynAnyC.h: Removed inclusion of ORB.h. It wasn't needed. * tao/ORB_Core.h: * tao/ORB_Core.cpp: Moved inclusion of ORB.h to ORB_Core.h to fix "incomplete type" errors when building with Minimum CORBA support. Thanks to David for reporting this. * tao/Makefile: Updated dependencies. Wed Sep 22 13:09:06 1999 Jim Rogers * tao/orbconf.h: don't #define TAO_USES_ROBUST_CONNECTION_MGMT on MVS. Wed Sep 22 10:30:27 1999 Jeff Parsons * tao/ORB.cpp: Replaced CORBA::TypeCode_ptr::_nil() with CORBA::TypeCode::_nil() in several places. Amazingly, gcc 2.95 compiled this, but MSVC output an internal compiler error. Tue Sep 22 01:15:00 1999 Michael Kircher * TAO_IDL/ast/ast_operation.cpp, TAO_IDL/include/ast_operation.h: Renamed the add_exceptions method to not clash with the UTL_Scope add_exceptions method. * TAO_IDL/be/be_visitor_ami_pre_proc.cpp, TAO_IDL/be/be_visitor_interface/ami_exception_holder_ch.cpp, TAO_IDL/be/be_visitor_interface/ami_exception_holder_ci.cpp, TAO_IDL/be/be_visitor_interface/ami_exception_holder_cs.cpp: Added the ACE_RCSID. Tue Sep 21 23:29:30 1999 Mike Moran * tests/Explicit_Event_Loop: Added ACE_TRY macros so the test will run without exceptions=1, and enhanced the documentation and ACE-style compliance. Tue Sep 21 22:06:10 1999 Ossama Othman * tao/ORB.cpp (create_interface_tc, create_enum_tc, create_exception_tc): Added missing ACE_CHECK_RETURN macros after calls to ACE_NEW_THROW_EX. Use CORBA::TypeCode_ptr::_nil() instead of zero. * tao/ORB.cpp (get_service_information): CORBA::ORB::get_service_information() is unimplemented. It should throw a NO_IMPLEMENT exception, not simply return 0. * tao/ORB.cpp (create_list): Use ACE_NEW_THROW_EX instead of raw C++ new(). * tao/ORB.cpp (create_named_value): Changed ACE_NEW to ACE_NEW_THROW_EX since a CORBA::Environment variable is passed to this method. Tue Sep 21 20:23:07 1999 Yamuna Krishnamurthy * orbsvcs/orbsvcs/AV/AVStreams_i.cpp: Added the template instantiation for ACE_Hash * TAO_IDL/Makefile: Added the dependencies Tue Sep 21 19:29:50 1999 Pradeep Gore * orbsvcs/tests/Trading/Makefile: Workaround for the "unresolved assignment operator" mystery - Added a check to not compile the trader tests under older versions of g++. Tue Sep 21 18:05:21 1999 Pradeep Gore * orbsvcs/tests/Trading/Simple_Dynamic.h: Fix for the Trader tests failing - Reverted the change made to the data member 'T' in the TAO_Simple_Dynamic_Property class.Now the Trader tests will work on all platforms but will not link on on sunos g++ 2.7.2.3. Tue Sep 21 16:56:43 1999 Douglas C. Schmidt * utils/nslist/Makefile: The Makefile should depend on the Naming service, not on the Time service. Thanks to Paul Calabrese for reporting this. * utils/nslist/nslist.cpp (show_chunk): Added a patch that fixed a problem where names containing a non-blank value for the kind field were raising exceptions. Thanks to Paul Calabrese for reporting this and providing a fix. Tue Sep 21 16:38:02 1999 Jeff Parsons * tao/Request.cpp: Duplicated the 'args' and 'result' parameters to the Request constructor before initializing. This allows the caller to put these values into _vars. Thanks to Philippe Merle for pointing out this memory management bug and sending in a fix. Tue Sep 21 16:25:00 1999 Michael Kircher * TAO/TAO_IDL/be/be_visitor_ami_pre_proc.cpp, TAO/TAO_IDL/be_include/be_visitor_ami_pre_proc.h: Enhanced the AST node generation with support for sendc_xx and xx_excep operation nodes. Tue Sep 21 14:25:00 1999 Michael Kircher * TAO_IDL/be/be_visitor_ami_pre_proc.cpp: Fixed problems with unused arguments. * examples/OBV/Typed_Events/Event_Types_impl.cpp, examples/OBV/Typed_Events/Event_Types_impl.h: Fixed problems with the CORBA::Environment. Tue Sep 21 13:51:08 1999 Jeff Parsons * tao/DynAny_i.cpp: Added call to unalias() before checking TCKind in insert operations for string, object, TypeCode and Any. * ORB.cpp: Replaced no-op in body of create_named_value with a simple call to ACE_NEW. Thanks to Phillipe Merle for sending in both these fixes. Tue Sep 21 12:10:29 1999 Jeff Parsons * tao/Typecode.cpp: Added a check in private_equal_union and private_equal_struct for a member that is recursive, but of a different type than the enclosing union or struct. Thanks to Lothar Werzinger for providing the example that pointed out this use case. Tue Sep 21 12:08:46 1999 Yamuna Krishnamurthy * orbsvcs/orbsvcs/AV/AVStreams_i.cpp: Added a missing template instantiation for ACE_Equal_To. Tue Sep 21 12:10:00 1999 Michael Kircher * TAO_IDL/Makefile, TAO_IDL/tao_idl.dsp, TAO_IDL/tao_idl_static.dsp: Added the files be_visitor_ami_pre_proc.{h,cpp}. * TAO_IDL/be/be_visitor_ami_pre_proc.cpp, TAO_IDL/be_include/be_visitor_ami_pre_proc.h Created these files to hold the pre processor for generating implied AMI IDL code. * TAO_IDL/be/be_produce.cpp: Put a hook in to the AMI preprocessor. * TAO_IDL/be_include/be.h: Added an include for the AMI preprocessor. Tue Sep 21 11:53:36 1999 Douglas C. Schmidt Added the following changes from Christopher Kohlhoff : * examples/Borland/Broadcaster.idl: Chat example IDL file must be changed to prevent the TAO_IDL compiler error about identifiers differing only in case. * orbsvcs/orbsvcs/Makefile.bor: AVStreams support has been removed from the orbsvcs library. * tests/Connection_Purging: Makefile.bor, tests/DynAny_Test: Makefile.bor, tests/IDL_Test: Makefile.bor: New Borland Makefiles for building TAO tests * tests/Param_Test/results.cpp: A division-by-zero floating point exception sometimes occurred when the tests ran too fast for the system time resolution. Mon Sep 21 09:20:00 1999 Michael Kircher * TAO_IDL/be/be_visitor_factory.cpp: Removed some AMI visitors for interpretive marshaling because we do not support interpretive marshaling for AMI anyway. * TAO_IDL/be/be_visitor_valuetype/valuetype_cs.cpp: Fixed some code generation problem with the ACE_NESTED_CLASS macro. * examples/OBV/Typed_Events/Event_Types_impl.cpp, examples/OBV/Typed_Events/Event_Types_impl.h: Added the missing CORBA::Environment to the methods inheriting from the Skeleton. Mon Sep 20 19:11:44 1999 Jeff Parsons * tao/decode.cpp: * tao/deep_free.cpp: * tao/encode.cpp: The fix in the calculation of align_offset, in TAO_Marshal_Struct, sent in for Borland C Builder, now that I have copied it right, seems to work for MSVC, SunOS/EGCS and SunOS/SunCC. This check-in will test if it works for all our other platforms. Thanks again to Thanks to Christopher Kohlhoff for sending in this fix. Mon Sep 20 15:30:00 1999 Michael Kircher * TAO_IDL/be/be_visitor_argument/ami_handler_arglist.cpp: Made some cosmetic changes. * TAO_IDL/be/be_visitor_valuetype/valuetype_cs.cpp: Using now the ACE_NESTED_CLASS macro to take care of the Microsoft VC++ nested class bug. * tests/AMI/client.cpp, tests/AMI/simple_client.cpp: Fixed naming conventions. Mon Sep 20 14:58:37 1999 Carlos O'Ryan * tao/params.h: * tao/params.cpp: Removed unused fields, thanks to Doug for noticing this problem. * tao/Invocation.h: Fixed warning under Sun/CC. Mon Sep 20 14:47:46 1999 Jeff Parsons * TAO_IDL/be/be_visitor_typedef/typedef_ch.cpp: For a typedef'd interface or forward-declared interface, we were generating the typedef for the _ptr, the _var and the _out, but not for the interface itself. Now we are. Thanks to Probal Bhattacharjya for sending in the example that pointed this out. Mon Sep 20 14:35:00 1999 Michael Kircher * TAO_IDL/Makefile: Updated the dependencies. Mon Sep 20 12:53:08 1999 Jeff Parsons * tao/Typecode.cpp: Added a check for recursiveness to private_equal_struct and private_equal_union. These were going into infinite recursion when extracting one of these types from an Any. Thanks to Lothar Werzinger for reporting this problem with recursive unions. Mon Sep 20 11:53:16 1999 Ossama Othman * tao/ORB.cpp: Minor code style updates. * tao/ORB_Core.h (TAO_ORB_Core): * tao/ORB_Core.i (orb): * tao/ORB_Core.cpp (TAO_ORB_Core, init, fini): Changed orb_ member from ORB_ptr to ORB_var to provide better memory management. * orbsvcs/tests/Property/run_test.pl: Updated to use -ORBInitRef instead of obsolete -ORBNameServiceIOR. * docs/compiler.html: Minor spelling corrections. Mon Sep 20 10:55:48 1999 Douglas C. Schmidt * TAO-INSTALL.html: * docs/minimumTAO.html: Clarified that you must build TAO with minimum_corba=1 in order to build the liborbsvcs with minimum_corba=1. Thanks to Klaus Banzer for reporting this. Mon Sep 20 11:00:00 1999 Michael Kircher * TAO_IDL/be/be_visitor_interface/ami_exception_holder_ch.cpp, TAO_IDL/be/be_visitor_interface/ami_exception_holder_ci.cpp, TAO_IDL/be/be_visitor_operation/ami_exception_holder_operation_ch.cpp, TAO_IDL/be_include/be_visitor_interface/ami_exception_holder_ch.h, TAO_IDL/be_include/be_visitor_interface/ami_exception_holder_ci.h, TAO_IDL/be_include/be_visitor_operation/ami_exception_holder_operation_ch.h: Added these files to support the code generation for exception holders. * TAO_IDL/include/ast_interface.h, TAO_IDL/ast/ast_interface.cpp: Added a method to add operations on the fly. * TAO_IDL/include/ast_operation.h, TAO_IDL/ast/ast_operation.cpp: Added a method to add exceptions on the fly. * TAO_IDL/be/be_interface.cpp, TAO_IDL/be_include/be_interface.h: Introduced a new strategy for exception holders and factored out the commonalities to ami handlers in a prefix-suffix strategy as a base class for both. * TAO_IDL/be/be_visitor_factory.cpp, TAO_IDL/be_include/be_visitor_interface.h, TAO_IDL/be_include/be_visitor_operation.h, TAO_IDL/be/be_visitor_interface.cpp, TAO_IDL/be/be_visitor_operation.cpp, TAO_IDL/be/be_visitor_argument/ami_handler_arglist.cpp TAO_IDL/be/be_visitor_attribute/attribute.cpp: Added support for the xx_excep method in the AMI Reply Handler class. * TAO_IDL/be/be_visitor_interface/any_op_ch.cpp, TAO_IDL/be/be_visitor_interface/any_op_cs.cpp, TAO_IDL/be/be_visitor_interface/cdr_op_ch.cpp, TAO_IDL/be/be_visitor_interface/cdr_op_ci.cpp, TAO_IDL/be/be_visitor_interface/cdr_op_cs.cpp: Added a strategy approach to generate code for the exception holders but I am not content with the current approach. This will change soon. * TAO_IDL/be/be_visitor_interface/interface.cpp, TAO_IDL/be/be_visitor_interface/interface_ch.cpp, TAO_IDL/be/be_visitor_interface/interface_ci.cpp, TAO_IDL/be/be_visitor_interface/interface_cs.cpp, TAO_IDL/be/be_visitor_operation/ami_arglist.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.cpp, TAO_IDL/be/be_visitor_operation/ami_handler_operation_ch.cpp, TAO_IDL/be/be_visitor_operation/ami_handler_operation_cs.cpp, TAO_IDL/be/be_visitor_operation/ami_handler_operation_ss.cpp, TAO_IDL/be/be_visitor_operation/ami_handler_skeleton_cs.cpp, TAO_IDL/be_include/be_codegen.h: Made extensions to support AMI exception handling. * TAO_IDL/be/be_visitor_operation/operation_cs.cpp, TAO_IDL/be/be_visitor_typecode/typecode_decl.cpp, TAO_IDL/be/be_visitor_typecode/typecode_defn.cpp: Needed to change the suffix "_Handler" to "Handler" in order to comply with the Messaging specification. * TAO_IDL/be/be_visitor_valuetype/arglist.cpp: Added support for the "CORBA::Environment". * TAO_IDL/be/be_visitor_valuetype/cdr_op_ch.cpp, TAO_IDL/be/be_visitor_valuetype/cdr_op_ci.cpp: Changed the usage of the "name" operation on the be_valuetype to use "full_name" which has basically the same effect but is strategizable. * TAO_IDL/be/be_visitor_valuetype/valuetype_ch.cpp, TAO_IDL/be/be_visitor_valuetype/valuetype_cs.cpp: Did some changes because of the problem of NT with nested classes. * TAO_IDL/include/utl_identifier.h, TAO_IDL/util/utl_identifier.cpp: Added support to be able to replace a string. * TAO_IDL/util/utl_idlist.cpp: Added support for deep-copy on the idlist. * tao/MessagingC.cpp tao/MessagingC.h tao/MessagingC.i: Fixed the generated code for the Exceptionholder valuetype, because it was originally generated with the Exceptionholder being a struct. There is still a lot to do. E.g. valuetype do not support _vars for some parts, therefore we have memory leaks! * tao/Invocation.h tao/Reply_Dispatcher.cpp: Added support for AMI exception handling. * tests/AMI/ami_test.idl, tests/AMI/ami_test_i.cpp, tests/AMI/ami_test_i.h, tests/AMI/simple_client.cpp: Took out the attributes, because we do not support AMI exception handling for attributes yet. Mon Sep 20 08:39:05 1999 Douglas C. Schmidt * docs/Options.html: Updated the documentation to describe the new -ORBNodelay option that toggles TCP_NODELAY. * tao/ORB_Core.cpp (init): Added support for the new -ORBNodelay option, which makes it possible to enable/disable TCP_NODELAY via the -ORB commandline options. Thanks to John Masiyowski for suggesting this. * tao/params: * tao/IIOP_Connect.cpp: Added support for nodelay() so that we can set TCP_NODELAY via the ORB options. Thanks to John Masiyowski for suggesting this. * tao/params.cpp (TAO_ORB_Parameters): Initialized some fields as follows: cdr_default_size_ (0), cdr_max_exp_size_ (0), cdr_linear_chunk_ (0), Sun Sep 19 17:50:05 1999 Ossama Othman * tao/ORB_Core.cpp (run): Removed unused code that was accidentally committed. Sun Sep 19 17:31:44 1999 Ossama Othman * tao/ORB.cpp (key_to_object): Changed CORBA::Object_ptr to CORBA::Object_var. Another potential memory leak fix. Sun Sep 19 17:22:19 1999 Ossama Othman * tao/ORB_Core.cpp (create_stub_object): Fixed non-default TAO minor code argument that wasn't using the CORBA::SystemException::_tao_minor_code() helper method. * tao/ORB.cpp: Somehow the entire contents of ORB.i were copied into ORB.cpp during the CORBA 2.3 updates I made back on Sep 14. None of the compilers complained about this either! In any case, no harm was done. I removed the duplicate code. Call TAO_ORB_Core::fini() instead of calling delete on the TAO_ORB_Core pointer after TAO_ORB_Core::init() returns with an error in CORBA::ORB_init(). This fixes another "potential" memory leak. * tests/ORB_init/ORB_init.cpp (main): Enhanced test to check for CORBA::OBJECT_NOT_EXIST() exception if an attempt is made to perform an ORB operation using a destroyed ORB. Improved error checking, and added some additional debugging messages. Sat Sep 18 19:22:49 1999 Jeff Parsons * TAO_IDL/be/be_visitor_union_branch/public_assign_cs.cpp: Added missing code for copy constructor of a union containing a typecode. _duplicate was called, but the assignment wasn't made. * TAO_IDL/be/be_visitor_array/array_ci.cpp: Moved an #if defined (ACE_HAS_BROKEN_IMPLICIT_CONST_CAST) from TAO_IDL code to generated code, so that IDL compiler built on one platform can generate code for another platform. Thanks to Christopher Kohlhoff for suggesting both these fixes. Sat Sep 18 18:24:40 1999 Ossama Othman * tao/Object.cpp (_get_interface): Added a missing return statement. * tao/ORB_Core.cpp (set_iiop_endpoint): Fixed potential segmentation fault that would have occurred if an ACE_ERROR message was printed because there was no matching argument for the ACE_Log_Msg "%p" format specifier in an ACE_ERROR_RETURN case. Moved default IIOP port code to this method since the code is appropriate only for IIOP. Things are cleaner this way, in my opinion. * tao/ORB_Core.cpp (create_stub_object): Added an error check during TAO_MProfile creation. Protected type ID with a String_var. * tao/ORB.i: Minor style updates. No code changes. Sat Sep 18 17:15:26 1999 Douglas C. Schmidt * tao/Makefile.bor: Updated this file to include new files. Thanks to Mogens Hansen for submitting this fix. Sat Sep 18 18:21:59 1999 Jeff Parsons * tao/Sequence_T.cpp: Changed the remaining ACE_reinterpret_cast instances in TAO_*_Array_Sequence to the bare C cast for SunCC version < 5.0. This worked for other occurrences as documented in a previous ChangeLog entry, so now these errors showed up and were fixed the same way. Sat Sep 18 17:57:24 1999 Jeff Parsons * tao/decode.cpp: * tao/deep_free.cpp: * tao/encode.cpp: There was a missing set of parentheses for TAO_Marshal_Struct that I left out of a fix sent in to the alignment code for Borland C Builder. Thanks to Christopher Kohlhoff for pointing this out. Sat Sep 18 16:25:17 1999 Ossama Othman * tests/IORManipulation/IORTest.cpp (main): Fixed all mismatches where the return value of a call to CORBA::ORB::object_to_string (a CORBA::String) was assigned to an ACE_CString. The correct thing to do is to assign the CORBA::String return value to a CORBA::String_var. This fixes several memory leaks. Changed the last of the "_ptr" variables to "_var" variables. This change fixes the last of the memory leaks in the IORTest. Sat Sep 18 15:11:30 1999 Ossama Othman * tao/IORManipulation.cpp: Changed instances of "CORBA_Object *" to "CORBA::Object_var." Previously I introduced an auto_ptr instantiation, which was incorrect. Removed unnecessary auto_ptr instantiations, further reducing TAO's footprint. Changed instances of CORBA::String to CORBA::String_var and adjusted code that expected a CORBA::String accordingly. This fixes some potential memory leaks. Sat Sep 18 14:15:24 1999 Ossama Othman * tao/IORManipulation.cpp (merge_iors, remove_profiles): Made TAO_Stub allocation exception safe using TAO_Stub_Auto_Ptr since it is now functioning properly. Updated to use ACE_AUTO_PTR_RESET macro to get around compilers that lack a reset() method. The previous code was functionally equivalent but using ACE_AUTO_PTR_RESET is the "ACE Way" of doing an auto_ptr<>::reset(). * tao/ORB.cpp (object_to_string): Added some debugging messages. * tao/Object.cpp: Updated some Interface Repository related code, and enabled it if TAO_HAS_INTERFACE_REPOSITORY is defined. Replaced instances of raw C++ new() with appropriate ACE macro, such as ACE_NEW_THROW_EX() and ACE_NEW_RETURN(). Removed extraneous zero pointer check. Made TAO_Stub allocation exception safe by using TAO_Stub_Auto_Ptr. * tests/IORManipulation/IORTest.cpp (main): CORBA::ORB::object_to_string() cannot be called on locality constrained objects such as IORManipulation. Disabled object_to_string() call on IORManipulation object. [Bug 329] Test now uses CORBA::Object_var variables instead of CORBA::Object_ptr. This fixes several memory leaks. Fri Sep 17 22:49:30 1999 Ossama Othman * tests/IORManipulation/IORTest.cpp (main): ACE_CATCH blocks now print exception information, not just a "caught exception" message. This is useful for debugging. Updated to use ACE_DEBUG macros instead of printf(). Fri Sep 17 16:51:06 1999 Ossama Othman * tao/ORB_Core.h: * tao/ORB_Core.cpp: * tao/params.h: * tao/params.i: * tao/params.cpp: Changed TAO_IOR_LookupTable pointer member to non-pointer member. The add_to_ior_table() method was also moved to the TAO_ORB_Params class since it made more sense to put it there. These changes fix memory leaks that occurred when TAO_ORB_Core::init() returned with an error or when an exception was thrown. * tao/ORB.cpp (ORB_init): Fixed memory leaks that happened when errors occurred or when exceptions were thrown during the initialization of a new ORB_Core. * tao/Makefile: Updated dependencies. Fri Sep 17 16:14:14 1999 Nanbor Wang * tao/InterceptorC.cpp: Added #include "tao/varout.h". Thanks to David and Marina for pointing this out. Fri Sep 17 12:05:09 1999 Jeff Parsons * tao/Sequence_T.i: * tao/Sequence_T.cpp: Added use of brute casts in operators [] and = for array sequences, contingent on SunCC version earlier than 5.0. * tests/Param_Test/complex_any.cpp: * tests/Param_Test/ubwstring.cpp: * tests/Param_Test/bdwstring.cpp: * tests/Param_Test/ub_wstr_seq.cpp: * tests/Param_Test/bd_wstr_seq.cpp: Added missing ACE_RCSID lines to these files. Thu Sep 16 18:31:45 1999 Jeff Parsons * TAO_IDL/include.idl_narrow.h: Added a temporary to the IMPL_NARROW_METHODS macros. This should get rid of IDL compiler runtime errors on KCC. Thanks to Paul Calabrese for sending in the fix. Thu Sep 16 15:50:24 1999 Jeff Parsons * tests/Param_Test/bd_string.cpp: * tests/Param_Test/bd_wstring.cpp: * tests/Param_Test/ub_wstring.cpp: Was looking for something that would cause Linux to fail on test_bounded_wstring only. Didn't find anything, but made these cosmetic changes to some files anyway. Thu Sep 16 13:56:05 1999 Jeff Parsons * TAO_IDL/be/be_codegen.cpp: Added inclusion of ace/streams.h to client header file, contingent on defintion of ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION. This is mainly for VxWorks to be happy when generating iostream operators for exceptions. Thanks to David for pointing out this problem. Thu Sep 16 12:51:35 1999 Jeff Parsons * tao/ORB.h: * tao/ORB.cpp: Iostream operators for String_var, String_out, WString_var and WString_out. Until we get some wstring compatibility with the Unix 4-byte wchar_t, the wstring versions here just input and output CORBA::WChars one at a time, but the string versions are functional, and all are required by CORBA 2.3. * Sequence_T.cpp: Eliminated some temporary variables in an attempt to make SunCC happy with array sequence template code. Thu Sep 16 11:02:21 1999 Ossama Othman * tao/Makefile: * tests/ORB_init/Makefile: Updated dependencies. Thu Sep 16 10:52:41 1999 Ossama Othman * tests/ORB_init/ORB_init.cpp (main): Do not print the exception since our automatic test scripts look for keywords such as "EXCEPTION" to determine if an error occured. Instead, the exception's repository ID is printed. The idea behind this part of the test is to simply verify that an exception exists after the last ORB is released, and that something can be done with it. * tests/ORB_init/run_test.pl: Fixed check for successful return status from TimedWait perl subroutine. A successful TimedWait call returns the PID, not zero. Wed Sep 15 21:40:21 1999 Marina Spivak * tao/Invocation.cpp: Added a missing return statement. * tao/TAOC.h: Included "varout.h" which wasn't getting included on vxworks (because it is included through other includes from a template cpp file). Wed Sep 15 17:26:01 1999 Pradeep Gore * orbsvcs/orbsvcs/DsLogAdmin.idl: * orbsvcs/orbsvcs/Log/BasicLogFactory_i.{h,cpp}: * orbsvcs/orbsvcs/Log/BasicLog_i.{h,cpp}: * orbsvcs/orbsvcs/Log/LogMgr_i.{h,cpp}: * orbsvcs/orbsvcs/Log/Log_i.{h,cpp}: * orbsvcs/orbsvcs/Log/Iterator_i.{h,cpp}: * orbsvcs/orbsvcs/Log/LogRecordStore_i.{h,cpp}: Created the files listed above for the Telecom Log Service. Wed Sep 15 15:04:48 1999 Ossama Othman * tests/ORB_init/run_test.pl: Added a simple perl script to run the ORB_init test. Thanks to Darrell for convincing me to add one. * tests/ORB_init/ORB_init.dsp: * tests/ORB_init/ORB_init.dsw: Added MSVC project files for the ORB_init test. Thanks to Nanbor for creating these files. Wed Sep 15 15:01:21 1999 Jeff Parsons * TAO_IDL/be_include/be_exception.h: * TAO_IDL/be/be_exception.cpp: * TAO_IDL/be/be_visitor_exception/cdr_op_ch.cpp: * TAO_IDL/be/be_visitor_exception/cdr_op_ci.cpp: Minimal implementation of C++ ostream operator for IDL exceptions. Only the repository ID is output at present. This is not part of the spec, so as it becomes clearer what folks want from this, some or all of the exception members may be output as well. The code is generated within the CDR operator context, since it didn't seem necessary to create two new types of visitor and two new files to generate 8 lines of code. Wed Sep 15 13:51:45 1999 Jeff Parsons * tao/Sequence_T.i: At David's suggestion, removed the temporary variables in the array sequence operator[] functions - maybe that will make SunCC4 happy. Wed Sep 15 11:17:54 1999 Carlos O'Ryan * tao/Policy_Manager.h: * tao/Policy_Manager.cpp: The class lacked a destructor and thus was a source of memory and resource leaks. It should be OK now, but needs more testing. Thanks to Marina for pointing this out. This partly fixes [BUGID:318] * tao/Stub.i: * tao/Stub.cpp: Moved the destructor to the .cpp file and added code to release the Policy_Manager if it is present. Thanks to Marina for pointing out this problem. This is another step to fix [BUGID:318] * tao/Pluggable.h: * tao/IIOP_Transport.h: * tao/IIOP_Transport.cpp: * tao/UIOP_Transport.h: * tao/UIOP_Transport.cpp: Removed unused methods. Wed Sep 15 10:30:38 1999 Ossama Othman * tao/ORB_Core.cpp (destroy): Fixed "statement is unreachable" warning. Wed Sep 15 10:07:55 1999 Ossama Othman * tests/ORB_init/ORB_init.cpp (main): Added missing parentheses to ACE_TRY_THROW parameter. Wed Sep 15 09:23:57 1999 Jeff Parsons * tao/TAO.dsp: Added Client_Priority.*, TAOC.* and TAOS.* file to project to get rid of linking errors. Tue Sep 14 18:18:39 1999 Jeff Parsons * TAO_IDL/be/be_visitor_array/cdr_op_ci.cpp: * tests/IDL_Test/typedef.idl: The method documented in my last ChangeLog entry for generating CDR operators for sequences of arrays also works for arrays of arrays. This means that a portion of the typedef.idl file that was commented out can now be uncommented. Tue Sep 14 15:15:59 1999 Marina Spivak * tests/Endpoint_Per_Priority/client.cpp: Modified client to use TAO::ClientPriorityPolicy to make sure profiles with correct priorities will be used for invocations to preserve priorities end-to-end. * tests/Endpoint_Per_Priority/server.cpp: Added comments. * tests/Endpoint_Per_Priority/run_test.pl: Fixed the script to use the right command-line arguments. * tao/Client_Priority_Policy.cpp: * tao/Client_Priority_Policy.h: * tao/Client_Priority_Policy.i: * tao/TAO.pidl: * tao/TAOC.cpp: * tao/TAOC.h: * tao/TAOC.i: * tao/TAOS.cpp: * tao/TAOS.h: * tao/TAOS.i: * tao/TAOS_T.cpp: * tao/TAOS_T.h: * tao/TAOS_T.i: * tao/Policy_Manager.cpp: * tao/Policy_Manager.h: * tao/Policy_Manager.i: * tao/Stub.cpp: * tao/Stub.h: * tao/ORB.cpp: * tao/ORB_Core.h; * tao/ORB_Core.i: * tao/Makefile: * tao/orbconf.h : Added/modified the files above (and the two below) to provide client-side support for connections with priorities (aka Multiple Endpoints). Added a client side TAO-specific policy for specifying the priority of profiles to be used for consequent CORBA calls. The policy interface is in TAO.pidl. New idl interface had to be defined for this policy since none of the policies from the RT spec provided the right semantics. For an example of how to use the policy and multiple endpoints, see example in tests/Endpoint_Per_Priority. * tao/Invocation.cpp: * tao/Invocation.h: Use the value of the TAO::ClientPriorityPolicy to select the profile with the right priority for this invocation. Right now this feature works correctly for cases where the following two assumptions are true: 1) no location forwarding, 2) no certain types of errors during the invocation. * tao/Profile.h: Minor comment fixes. * tao/TAO.cpp: Changed the use of CORBA::String to CORBA::String_var, which is offers better memory management and standard mapping. * tao/TAO.h: Removed TAO class which provided namespace which contained TAO_ORB_Manager and TAO_Object_Key. Those classes are not used through TAO::, but rather directly. Tue Sep 14 16:47:52 1999 Jeff Parsons * TAO_IDL/be/be_visitor_sequence/cdr_op_cs.cpp: Found a way to generate the CDR operators for array sequences without using casts. Gives correct results in Param Test, Purify shows no memory leaks, and it should be more portable to the compilers that don't handle casts very well. Tue Sep 14 14:42:04 1999 Ossama Othman * tao/ORB.h: * tao/ORB.cpp: * tao/ORB_Core.h: * tao/ORB_Core.cpp: * tao/ORB_Core.i: CORBA 2.3 Updates: No longer destroy the ORB_Core in the ORB's destructor. Let the ORB_Table handle ORB_Core deallocation. CORBA::ORB::destroy() will also destroy the ORB's underlying ORB_Core. It is the user's responsibility to release an ORB. All ORB methods that access the ORB_Core in some way now check that the ORB_Core hasn't been shutdown or destroyed before continuing. Moved exception and type code destruction to the ORB_Table since exceptions must be kept around during the lifetime of the application. Summary of Changes: These changes allow code such as the following: { ORB_var orb = CORBA::ORB_init (argc, argv, "my_orb"); } { ORB_var orb = CORBA::ORB_init (argc, argv, "my_orb"); } to work according to the spec, i.e. in both cases the ORBid "my_orb" refers to the same ORB. The ORB must be explicitly destroyed by using its destroy() method before the ORBid can be reused for another ORB. Here is an example: { CORBA::ORB_var orb1 = CORBA::ORB_init (argc, argv, "my_orb"); orb1->destroy(); // "my_orb" ORB identifier can now be used to identify // another ORB. CORBA::ORB_var orb2 = CORBA::ORB_init (argc, argv, "my_orb"); } These changes also allow code such as the following to work: try { CORBA::ORB_var orb = CORBA::ORB_init (); // yadda, yadda // orb goes out of scope } catch (CORBA::Exception &e) { // Do something with exception `e' } * tests/Makefile: * tests/ORB_init/Makefile: * tests/ORB_init/ORB_init.cpp: * tests/ORB_init/README: Added a simple test that verifies that ORB initialization works as expected under the circumstances described above. Tue Sep 14 11:57:46 1999 Irfan Pyarali * examples/POA/DSI/Database_i.cpp: Changed the use of the name MALLOC to DATABASE_MALLOC in order to avoid confusing the Green Hills 1.8.9 compiler (PPC target). Thanks to Bill Tovrea for reporting this. Bug 325 fixed. Tue Sep 14 11:32:02 1999 Jeff Parsons * examples/Event_Comm.idl: As the IDL compiler gets ever more strict about name resolution, more name clashes turn up. There were two in this file. Tue Sep 14 10:38:45 1999 Jeff Parsons * TAO_IDL/fe/idl.yy: * TAO_IDL/fe/y.tab.h: * TAO_IDL/fe/y.tab.cpp: Now outputs an error if param name is missing after param type - used to crash. This fix closes out [BUGID:239] Tue Sep 14 08:35:20 1999 Jeff Parsons * tao/Sequence_T.i: Fixed two calls to allocbuf() - I was using the wrong template class. Solaris/SunCC5 and Irix picked this up. Mon Sep 13 18:31:17 1999 Irfan Pyarali * orbsvcs/orbsvcs/TimeService.idl (CosTime): Renamed variable name so that it does not conflict with the type name. * tao/ORB_Core.cpp (init): Removed extra debugging statement. * tao/MessagingS.cpp (_dispatch): No need to replicate code. Forward call to base class. MessagingS.h and MessagingS.i got facials (cosmetic changes). * $ACE_ROOT/bin/run_all_list.pm: The following were removed from the run list because they do not compile with minimum CORBA: - TAO/examples/POA/FindPOA - TAO/examples/POA/NewPOA - TAO/performance-tests/Latency Mon Sep 13 15:31:40 1999 Luther J Baker * tao/ORB_Core.cpp (init): Update method to use the new ACE_Arg_Shifter.get_the_parameter (). This encapsulates much of the tedious work of the ORB_init method and allows the method to correctly parse the command line arguments. ie: -foobar Value == -FooBar value == -foobarValue In all of the above examples, 'value' is correctly found. Mon Sep 13 15:01:23 1999 Jeff Parsons * TAO_IDL/util/utl_scope.cpp: Another tweak to the lookup_by_name() function. It was failing in a certain case of looking up the parent(s) of an interface when they are declared after the colon. Thanks to Andreas Terstegge for sending in the example the showed the problem. * TAO_IDL/fe/fe_interface_header.cpp: Cosmetic changes. Mon Sep 13 13:55:22 1999 Ossama Othman * tao/Stub.i: Make sure underlying TAO_Stub pointer is not equal to zero before calling its _decr_refcnt() method. Previously it was possible to release() the underlying pointer and still have ~TAO_Stub_Auto_Ptr() call _decr_refcnt(). This fixes the TAO_Stub_Auto_Ptr segmentation fault problem. [Bug 307] Moved inclusion of tao/debug.h to tao.Stub.cpp. It wasn't needed in this file. * tao/ORB.cpp (url_ior_string_to_object): Re-enable TAO_Stub_Auto_Ptr code since the TAO_Stub_Auto_Ptr segmentation fault problem was fixed. * tao/ORB.cpp (ORB_init): Made string comparison for "-ORBid" case insensitive. * tao/ORB.i (is_nil, release): To be technically correct, check for nil ORB_ptr by using CORBA::is_nil() in CORBA::ORB::release() and by comparing the ORB_ptr to CORBA::ORB::_nil() in CORBA::is_nil(), not by comparing to zero. * tao/Makefile: Updated dependencies. Mon Sep 13 13:49:08 1999 Nanbor Wang * TAO_IDL/be/be_visitor_interface/interface_ch.cpp (visit_interface): * TAO_IDL/be/be_visitor_interface/interface_cs.cpp (visit_interface): The implementation of _duplicate method was mistakenly removed from the code for locality constaint interfaces. Thanks to Marina for reporting this. The _unchecked_narrow will be part of the future CORBA standard, so we should always support it even for locality constraint interfaces. Thanks to Irfan for pointing this out. Mon Sep 13 10:02:40 1999 Carlos O'Ryan * docs/ORB_Internals.html: Added new web page that will describe the ORB internals. Mon Sep 13 08:34:30 1999 Jeff Parsons * tao/Sequence_T.h: * tao/Sequence_T.i: * tao/Seuqence_T.cpp: Added two new classes - TAO_Unbounded_Array_Sequence and TAO_Bounded_Array_Sequence. These have parameters T and T_var. For an array foo, the class foo_var now has a copy() method generated that calls foo_copy. Passing in T_var allows us to call this method on each sequence element in the copy constructor, assignment operator, and (for the unbounded class) _allocate_buffer. The existing classes simply asssigned the rhs elements to the lhs elements, which doesn't work if they are arrays. This approach is similar to that used in TAO_*_Object_Sequence to pass in the _duplicate() method. * TAO_IDL/be/be_visitor_array/array_ch.cpp: * TAO_IDL/be/be_visitor_array/array_cs.cpp: Implementation of the copy() method in the _var class as mentioned above. * TAO_IDL/be/be_visitor_sequence/sequence_ch.cpp: * TAO_IDL/be/be_visitor_sequence/sequence_cs.cpp: * TAO_IDL/be/be_visitor_sequence/sequence_base.cpp: * TAO_IDL/be/be_visitor_sequence/gen_bounded_sequence_ci.cpp: * TAO_IDL/be/be_visitor_sequence/gen_unbounded_sequence_ci.cpp: * TAO_IDL/be/be_visitor_sequence/gen_unbounded_sequence_cs.cpp: * TAO_IDL/be/be_visitor_sequence/cdr_op_cs.cpp: Implementation of code generation for sequences of arrays. * TAO_IDL/be_include/be_codegen.h: Added a context substate to use when generating template parameters when listing the base class in the header file using ACE_NESTED_CLASS. I'm going to look at this some more - there may be a way to do this without adding the extra state. * tests/Param_Test/param_test.idl: * tests/Param_Test/Makefile: * tests/Param_Test/run_test.pl: * tests/Param_Test/client.dsp: * tests/Param_Test/tmplinst.cpp: * tests/Param_Test/options.h: * tests/Param_Test/options.cpp: * tests/Param_Test/tests.h: * tests/Param_Test/driver.cpp: * tests/Param_Test/bd_array_seq.h: * tests/Param_Test/param_test_i.h: * tests/Param_Test/param_test_i.cpp: Changes to Param_Test to add the new array sequences tests. * tests/Param_Test/bd_array_seq.h: * tests/Param_Test/bd_array_seq.cpp: * tests/Param_Test/ub_array_seq.h: * tests/Param_Test/ub_array_seq.cpp: New files for the new array sequences tests. * tests/Param_Test/bd_struct_seq.cpp: * tests/Param_Test/ub_struct_seq.cpp: Cosmetic changes and correction of comments pasted in unmodified from another file. Thanks to Lars Immisch for pointing out the failure on sequences of arrays. Sun Sep 12 19:25:58 1999 Nanbor Wang * TAO version 1.0.4 released. Sat Sep 11 17:11:54 1999 Balachandran Natarajan * orbsvcs/orbsvcs/AV/AVStreams_i.cpp: Fixed a compile error on aCC Sat Sep 11 14:28:55 1999 Yamuna Krishnamurthy * orbsvcs/orbsvcs/AV/AVStreams_i.cpp: Fixed warnings with Sun C++ * RTCP.cpp: * orbsvcs/orbsvcs/AV/RTCP.h: Fixed warnings with egcs Sat Sep 11 14:13:35 1999 Darrell Brunsch * tests/NestedUpcall/Simple/run_test.pl: The wrong argument (-t) was being passed to client. Changed to (-n) instead. Sat Sep 11 02:04:09 1999 Nanbor Wang * tao/MessagingS.h (POA_Messaging): Removed the redundant <_dispatch> declaration, the compiler did not like the multiple declaration stuff. ;) Fri Sep 10 19:20:11 1999 Carlos O'Ryan * tao/MessagingS.h: * tao/MessagingS.cpp: Added the missing _dispatch() methods to the Policies, the compiler did not like the multiple inheritance madness. Fri Sep 10 14:05:12 1999 Douglas C. Schmidt * orbsvcs/tests/Simple_Naming/client.cpp, * orbsvcs/tests/Sched_Conf/Sched_Conf.cpp, * orbsvcs/examples/CosEC/Factory/FactoryDriver.cpp, * orbsvcs/tests/Sched_Conf/Sched_Conf_Anomalies.cpp: Updated this code to store the result of the new get_context() implementation described below into a _var so that it'll be cleaned up properly. * orbsvcs/orbsvcs/Naming/Naming_Utils: Changed the implementation of get_context() so that it _duplicate()s the pointer to enable it to be stored into a *_var. Thanks to Timothy Canham for suggesting this. Fri Sep 10 16:11:40 1999 Irfan Pyarali * tao/POAC.h: Added LocalityConstrainedServantBase to the PortableServer namespace. * tao/MessagingS (Policies): Since messaging policies are always collocated, they now use multiple inheritance from the new TAO_Locality_Constrained_ServantBase class to get locality constraints and POA registration behavior. * tao/POA_CORBA.h (Policy): Changed POA_CORBA::Policy to inherit from TAO_Locality_Constrained_ServantBase instead of TAO_Local_ServantBase when TAO_HAS_LOCALITY_CONSTRAINT_POLICIES is turned on. This will give us the locality constrained policies, while still giving the semantics of registering with the POA. Note that the collocated stubs of most policies still use direct access to the servant. Therefore, if absolutely normal servant behavior is desired, these stubs need to be changed to use the through POA policy. * tao/Servant_Base.h (TAO_Locality_Constrained_ServantBase): Added a new class TAO_Locality_Constrained_ServantBase. TAO_Local_ServantBase does not register with the POA and does not produce a valid stub, i.e., object references of this servant cannot be exported. The (collocated) stubs of these servants will always be direct, i.e., call directly to the servant and don't call through the POA since this servant is not registered with the POA. TAO_Locality_Constrained_ServantBase does register with the POA. However, it does not produce a valid stub, i.e., object references of this servant cannot be exported. The (collocated) stubs of these servants can either call directly to the servant or go through the POA. Bug 313 was fixed by the above changes. Fri Sep 10 16:07:45 1999 Nanbor Wang * orbsvcs/orbsvcs/AV/RTCP.cpp (handle_input): Changed to use our own fmod method. Fri Sep 10 15:48:29 1999 Carlos O'Ryan * tao/ORB_Core.cpp: When compiling with RT_CORBA disabled there is no need to destroy the priority mapping object. In fact a syntax error occurs if we try to destroy it. Fri Sep 10 14:36:47 1999 Carlos O'Ryan * orbsvcs/orbsvcs/AV/AVStreams_i.h: * orbsvcs/orbsvcs/AV/AVStreams_i.cpp: Fixed so it will not trigger some bugs in egcs when exceptions are enabled. Fri Sep 10 12:50:12 1999 Balachandran Natarajan * tao/ORB.h: * tao/ORB.cpp: Added a method create_exception_tc within CORBA_ORB interface. Fri Sep 10 12:18:51 1999 Carlos O'Ryan * orbsvcs/examples/CosEC/Factory/FactoryServer.dsp: * orbsvcs/examples/CosEC/Factory/FactoryClient.dsp: Use the -Ge 1 option to generate the CORBA::Environment option. Thanks to Joerg Pommnitz for pointing out this problem. Thu Sep 9 21:30:45 1999 Ossama Othman * tao/ORB.cpp (string_to_object): If a NULL string is passed as an argument, throw an exception. [Bug 316] Thu Sep 9 20:49:17 1999 Yamuna Krishnamurthy * orbsvcs/orbsvcs/AV/source.cpp: * orbsvcs/orbsvcs/AV/source.h: Added the compare_func function to remove warnings Thu Sep 9 18:43:24 1999 Carlos O'Ryan * tao/ORB_Core.cpp: Fixed memory leak in the ORB, thanks to Nanbor for pointing this out. Thu Sep 09 14:55:05 1999 David L. Levine * TAO-INSTALL.html: we now support QNX Neutrino 2.0. Thu Sep 9 14:49:17 1999 Carlos O'Ryan * 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: Don't use -ORBNameServiceIOR anymore, replace with -ORBInitRef. Wed Sep 9 10:35:12 1999 Michael Kircher * tests/AMI/Makefile, tests/AMI/simple_client.cpp, tests/AMI/ami_test_i.cpp: Introduced ACE_UNUSED_ARG to make compilers happy about unused arguments. * tests/AMI/client.muxed.conf tests/AMI/simple_client_exclusive.conf tests/AMI/simple_client_muxed.conf: Removed these files because they got replaced by new ones. Wed Sep 08 16:40:55 1999 Nanbor Wang * tao/Exception.cpp (~CORBA_Exception): Rememberred to release the typecode pointer. Otherwise, it caused MLK when sending system exceptions. * tests/Param_Test/param_test_i.cpp (test_exception): There's no need to dupping the string when throwing the Ooops exception. The constructor is responsible for dupping the string. * tests/Interceptors/server.cpp: Be sure to destroy POA to avoid resource leaks. Wed Sep 8 14:58:12 1999 Ossama Othman * orbsvcs/orbsvcs/Naming/Persistent_Naming_Context.cpp (list): Changed format type to long instead of int. This change should fix a warning on Digital Unix. Wed Sep 8 14:30:00 1999 Vishal Kachroo * orbsvcs/tests/Time/run_test.pl: Changed -ORBImplRepoServiceIOR file://foo.bar to -ORBInitRef ImplRepoService=file://foo.bar. Wed Sep 8 14:08:49 1999 Yamuna Krishnamurthy * orbsvcs/orbsvcs/AV/AVStreams_i.h: Fixed warnings on HP_UX * orbsvcs/orbsvcs/AV/RTCP.h: Added the declaration for the fmod method. * orbsvcs/orbsvcs/AV/RTCP.cpp: Replaced all the implicit reinterpret casts with ACE_reinterpret_casts. Thanks to Bala to point this out. Wed Sep 8 14:03:58 1999 Carlos O'Ryan * performance-tests/Latency/TestImpl.java: The shutdown() method is not implemented in some Java ORBs, we are not using that until we can figure out a more portable way to stop the ORB. * performance-tests/Latency/scalability.pl: Fine tuned the number of clients and the execution time of them. Wed Sep 8 14:00:00 1999 Luther Baker * tao/ORB_Core.cpp: (init) changed to allow correct parsing. Problem: comparing and matching longer arguments with shorter flags. I moved the else if { } blocks for (-ORBDebug and -ORBCollocation) as both these flags were too early in the parsing loop and were eating their longer counterparts (ie: -ORBDebugLevel) was never reached. Thanks to Michael Kircher for reporting this problem. Wed Sep 8 13:54:15 1999 Jeff Parsons * TAO_IDL/be/be_union_branch.cpp: Fixed label value generation for the case where the the label is a declared constant value of a typedef'd integer. We must generate the underlying integer value, not the constant's name, and make sure that a default case is included in the CDR operator generation, since more of these typedef'd constants may be declared in another IDL file or in non-generated code. Also, if the typedef is not in global scope, this will enable us to keep the CDR operator code inlined (the TAO_NAMESPACE_* code generation takes place in the *C.cpp file). Thanks to Lars Immisch for pointing out this use case and sending in an example file. Wed Sep 8 13:49:41 1999 Ossama Othman * orbsvcs/tests/start_services: Updated the now deprecated -ORBNameServiceIOR usage to use -ORBInitRef instead. Wed Sep 08 13:15:01 1999 Michael Kircher * TAO_IDL/be/be_visitor_argument/ami_handler_upcall_cs.cpp: Put ACE_UNUSED_ARG in place to stop the complains of g++. Wed Sep 8 11:45:04 1999 Jeff Parsons * TAO_IDL/ast/ast_field.cpp (dump): Replaced an ACE_ASSERT with ACE_ERROR. Wed Sep 8 10:37:49 1999 Jeff Parsons * TAO_IDL/be/be_visitor_argument/ami_handler_upcall_cs.cpp: Removed some unused args reported by SunOS EGCS. Wed Sep 08 01:42:01 1999 Michael Kircher * TAO_IDL/be/be_visitor_factory.cpp, TAO_IDL/be/be_visitor_argument/ami_handler_upcall_cs.cpp, TAO_IDL/be/be_visitor_operation/ami_handler_thru_poa_collocated_ss.cpp, TAO_IDL/be/be_visitor_operation/argument.cpp, TAO_IDL/be_include/be_codegen.h: The upcall for strings as out parameter did not work properly due to an superfluous in (). I also fixed other data types having the same problems. Thanks to Martin Botzler for reporting this. Tue Sep 07 22:25:01 1999 David L. Levine * examples/Load_Balancing/Makefile: don't build with repo=1, because ld on Linux (RedHat 6.0) with egcs 2.91.66 seg faults when trying to link load_balancer. [Bug 248] Tue Sep 7 20:26:16 1999 Ossama Othman * tao/params.h: * tao/params.i: * tao/params.cpp: * tao/ORB.cpp: * tao/ORB_Core.cpp: Removed references to init_ref(). It only held the argument of the last -ORBInitRef option, which is pointless if there are multiple -ORBInitRef options on the command line. * tao/ORB.h: Added a default exception argument to each of the run() methods. * tao/ORB.cpp (ORB_init): Make sure an existing ORB hasn't been shutdown before returning it. [Bug 274] * tao/ORB.cpp (url_ior_string_to_object): Disabled use of TAO_Stub_Auto_Ptr. A seg fault occurs whenever its destructor tries to get a lock on Linux. This fixes some URL style IOR problems. It's on my TODO list (see bug 307). * tao/ORB_Core.h: * tao/ORB_Core.cpp: Initialize orb_ in the member initializer list with CORBA::ORB::_nil(). Corrected ACE_NEW_RETURN in init() that returned zero on error instead of the correct -1. Implemented a destroy() method which is also the implementation for the CORBA::ORB::destroy() method. Added some missing ACE_THROW_SPEC specifications. Added an exception argument to the run() method. Deprecated the -ORBNameServiceIOR, -ORBTradingServiceIOR and -ORBImplRepoServiceIOR ORB initialization options. They still exist for backward compatiblity. Their functionality is fully supported by the -ORBInitRef option. Using -ORBInitRef is also the standard way of setting such IORs. [Bugs 300, 301, 302] * tao/Exception.h: Updated missing descriptions of some CORBA system exceptions. * tao/Makefile: Updated dependencies. * orbsvcs/orbsvcs/Naming/Persistent_Naming_Context.cpp (list): Fixed format specifier mismatch warning. * orbsvcs/Naming_Service/README: * orbsvcs/tests/ImplRepo/run_test.pl: * orbsvcs/tests/Simple_Naming/run_test.pl: * orbsvcs/tests/Trading/run_test.pl: Updated with information about using -ORBInitRef instead of the now deprecated -ORB*ServiceIOR options. Tue Sep 7 19:15:24 1999 Yamuna Krishnamurthy * orbsvcs/orbsvcs/AV/RTCP.cpp (fmod): * orbsvcs/orbsvcs/AV/RTCP.h: Added the fmod(x,y) function to calculate the floating point remainder of x/y. Thanks to David Levine for suggesting this. Tue Sep 7 16:38:59 1999 Balachandran Natarajan * tao/Typecode.cpp: Fixed a bug that was a result of the duplication of the returned typecodes in the member_type () method in the TypeCode class. Thanks to Nanbor for reporting that there was a bug and helping me to identify the problem with the Purify output. Tue Sep 7 11:25:04 1999 Yamuna Krishnamurthy * orbsvcs/orbsvcs/AV/ntp-time.h: Removed warnings on the Single Threaded build * orbsvcs/orbsvcs/AV/UDP.cpp: Removed the IP_MULTICAST_LOOP undefined error on VXWorks Tue Sep 7 11:08:11 1999 Darrell Brunsch * orbsvcs/orbsvcs/orbsvcs.dsp: For some reason, RtecEventChannelAdmin.idl was removed from the project file. Now it has been readded. Tue Sep 7 09:16:31 1999 Balachandran Natarajan * tao/ORB.cpp: Fixed a warning with g++. Thanks to Dr.Schmidt & Dr.Levine's build for reporting this. Mon Sep 6 21:28:11 1999 Nanbor Wang * orbsvcs/orbsvcs/AV/AVStreams_i.cpp (disconnect_leaf,remove_fdev): Fixed throw-spec mismatch problems. Thanks to KCC 3.3e for reporting them. Mon Sep 6 21:07:34 1999 Pradeep Gore * orbsvcs/tests/Trading/Simple_Dynamic.h (class TAO_Simple_Dynamic_Property): Changed data member from "T dp_" to "const T& dp_" to fix Sun g++ linking error.Thanks to Bala for helping out. Mon Sep 6 20:59:26 1999 Douglas C. Schmidt * docs/Options.html: Updated the documentation to point out that the various -ORB*ServiceIOR options are deprecated and should be replaced by -ORBInitRef. Thanks to Marina and Ossama for pointing this out. Mon Sep 6 16:41:24 1999 Nanbor Wang * orbsvcs/orbsvcs/Naming/Transient_Naming_Context.cpp: Also removed a redundant template instantiation for TAO_Bindings_Iterator>. Mon Sep 6 15:06:52 1999 Yamuna Krishnamurthy * orbsvcs/orbsvcs/AV/AVStreams_i.cpp: Fixed warnings on HP-UX Mon Sep 6 13:32:30 1999 Darrell Brunsch * docs/compiler.html: Added information the macros that TAO_IDL uses to determine the default external preprocessor. Mon Sep 6 08:59:26 1999 Douglas C. Schmidt * orbsvcs/orbsvcs/AV/AVStreams_i.cpp: Fixed a stray ';' at the end of ACE_TRY_EX(). * tao/ORB_Core.cpp (init): Removed all the unnecessary uses of if ((offset = foo ()) != -1) because they all seemed unnecessary. Thanks to David Levine for reporting this. Mon Sep 06 03:40:22 1999 Nanbor Wang * orbsvcs/orbsvcs/Naming/Persistent_Naming_Context.cpp: Removed a redundant template instantiation for TAO_Bindings_Iterator,.<<......................................>>>. * tao/ORB_Core.cpp (init): KCC 3.3e was complaining about was set but not being used. Added ACE_UNUSED_ARG (offset) to quiet it down. Mon Sep 06 03:10:41 1999 Nanbor Wang * orbsvcs/orbsvcs/AV.dsp: * orbsvcs/orbsvcs/orbsvcs.dsp: * orbsvcs/orbsvcs/orbsvcs.dsw: * orbsvcs/orbsvcs/orbsvcs_static.dsp: AV service does not build on VC6. Separated AV service from orbsvcs projects into its own project file so people who are not working on AV stream service can move forward. We can move it back into orbsvcs if needs to. There's only DLL project settings available and the generated libraries are called orbsvcsAV[d].dll. * orbsvcs/orbsvcs/AV/AV_export.h: AV Stream now has its own export macro file. * orbsvcs/orbsvcs/AV/AVStreams_i.h: * orbsvcs/orbsvcs/AV/AV_Core.h: * orbsvcs/orbsvcs/AV/Endpoint_Strategy.h: * orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.h: * orbsvcs/orbsvcs/AV/FlowSpec_Entry.h: * orbsvcs/orbsvcs/AV/Flows_T.h: * orbsvcs/orbsvcs/AV/Nil.h: * orbsvcs/orbsvcs/AV/Policy.h: * orbsvcs/orbsvcs/AV/Protocol_Factory.h: * orbsvcs/orbsvcs/AV/RTCP.h: * orbsvcs/orbsvcs/AV/RTP.h: * orbsvcs/orbsvcs/AV/TCP.h: * orbsvcs/orbsvcs/AV/Transport.h: * orbsvcs/orbsvcs/AV/UDP.h: * orbsvcs/orbsvcs/AV/sfp.h: Changed to include AV_Export.h and/or to use TAO_AV_Export macro. Sat Sep 05 01:05:00 1999 Michael Kircher * TAO_IDL/be/be_visitor_operation/ami_handler_arglist.cpp: Fixed default cases in two switch statements. * TAO_IDL/be/be_visitor_root/root.cpp: Fixed default case in switch statements. Sun Sep 05 23:04:21 1999 David L. Levine * tao/IIOP_Connector.cpp,UIOP_Connector.cpp: use the explicit template instantiations even with ACE_HAS_GNU_REPO. g++ 2.91.66 misses them with -frepo, when building static libs. [Bug 248] Sun Sep 5 21:28:16 1999 Douglas C. Schmidt * TAO_IDL/ast/ast_field.cpp (dump): To shutup various compilers I added an ACE_ASSERT() macro if the vis_NA case shows up in the dump() method. However, this isn't a good long-term fix! Sun Sep 5 17:50:04 1999 Balachandran Natarajan * tao/ORB.h: * tao/ORB.cpp: Added two methods by name create_interface_tc () & create_enum_tc () under the CORBA_ORB namespace. This was added for Philippe Merle who is interested in running CORBA Script on TAO. Sun Sep 5 16:03:54 1999 Yamuna Krishnamurthy * orbsvcs/orbsvcs/AV/media-timer.cpp: * orbsvcs/orbsvcs/AV/FlowSpec_Entry.cpp: * orbsvcs/orbsvcs/AV/AVStreams_i.cpp: Fixed warnings on VxWorks Sun Sep 05 08:28:51 1999 David L. Levine * TAO_IDL/be/be_visitor_interface/any_op_cs.cpp (visit_interface): added " || defined (ACE_HAS_GNU_REPO)" to explicit instantiation preprocessor test. With ACE_HAS_GNU_REPO, g++ 2.91.66 fails to instantiate TAO_Object_Field_T on its own. [Bug 248] Sun Sep 05 08:22:32 1999 David L. Levine * orbsvcs/orbsvcs/Naming/Persistent_Naming_Context.cpp, Transient_Naming_Context.cpp use the explicit template instantiations for all instantiations, not just TAO_Bindings_Iterator, even with ACE_HAS_GNU_REPO. g++ 2.91.66 misses (some of) them with -frepo. [Bug 248] Sat Sep 05 02:00:00 1999 Luther J. Baker * ORB_Core.cpp: Part 1 of two part incremental change to allow ORB_init to correctly parse 'mangled' orb flags and arguments ie -ORBflag 123, -orbflag 123, -oRbfLAg123, "-orbflag123" Please note, my day is incorrect. It is Sun... but this is the associated ChangeLogTag for the file. Sat Sep 05 02:05:00 1999 Michael Kircher * TAO_IDL/driver/drv_preproc.cpp: The exit code argument of Process::wait changed from "int" to "ACE_exitcode". Sat Sep 04 19:10:00 1999 Michael Kircher * tests/AMI/simple_client_muxed.conf, tests/AMI/simple_client_exclusive.conf: Removed these files and replaced them with more general ones. * tests/AMI/muxed.conf, tests/AMI/exclusive.conf: Added as replacement for the above mentioned files. * tests/AMI/ami_test.idl, tests/AMI/run_test.pl: Made some fine tuning. Sat Sep 4 19:24:40 1999 Ossama Othman * TAO_IDL/be/be_visitor_argument/ami_arglist.cpp: * TAO_IDL/be/be_visitor_argument/ami_handler_arglist.cpp: Fixed "unhandled enumeration in switch statement" warnings by adding a no-op default case to each switch statement. * TAO_IDL/Makefile: Removed -Wno-switch warning surpression flag from g++ compile flags. It is no longer needed, and we shouldn't have been using it. Sat Sep 4 18:47:58 1999 Ossama Othman * TAO_IDL/driver/drv_preproc.cpp (DRV_pre_proc): Exit status of preprocessor process was incorrectly checked without using WIFEXITED and WEXITSTATUS macros. Added check for case where preprocessor child process may have been interrupted by a signal, instead of exiting properly. * TAO_IDL/Makefile: Corrected logic that checks when to define a default value for TAO_IDL_PREPROCESSOR. Sat Sep 03 18:30:00 1999 Michael Kircher * tao/Asynch_Invocation.i, tao/Reply_Dispatcher.cpp, tao/Reply_Dispatcher.h: Changed the Asynch Reply Dispatcher to own its own reply_service_info. This is different from the synchronous case, in which the Invocation object holds it and just gives the Reply Dispatcher a reference to it. * tao/TAO.dsp: Added Asynch_Invocation.i and Invocation.i to the inline files. Sat Sep 03 16:55:00 1999 Michael Kircher * tests/AMI/ami_test.idl, tests/AMI/ami_test_i.cpp, tests/AMI/ami_test_i.h, tests/AMI/client.cpp, tests/AMI/simple_client.cpp: Enhanced the test to have a string as an in parameter. Sat Sep 04 09:05:16 1999 David L. Levine * TAO_IDL/Makefile: ran make depend so that tao_idl will build again. Sat Sep 4 00:18:49 1999 Balachandran Natarajan * tao/DynUnion_i.cpp : * tao/DynAny_i.cpp: * tao/DynArray_i.cpp: * tao/DynSequence_i.cpp: * tao/DynStruct_i.cpp: * tao/DynUnion_i.cpp: * tao/Typecode.cpp: * tao/decode.cpp: * tao/deep_free.cpp: * tao/skip.cpp: Fixed warnings on SunCC 5.0 & Linux_EGCS Sat Sep 03 00:13:00 1999 Michael Kircher * tao/append.cpp, tao/decode.cpp, tao/encode.cpp, tao/deep_free.cpp, tao/skip.cpp: Fixed a compilation ambiguity by using "in ()" on the "vars" assigned to "ptrs". Fri Sep 3 23:31:11 1999 Balachandran Natarajan * tao/deep_free.cpp: * tao/DynStruct_i.cpp: * tao/DynUnion_i.cpp: * tao/DynArray_i.cpp: * tao/DynAny_i.cpp: * tao/append.cpp: * tao/decode.cpp: * tao/deep_free.cpp: * tao/encode.cpp: * tao/skip.cpp: * tao/TypeCode.cpp: * orbsvcs/orbsvcs/Trader/Constrain_Nodes.cpp: * orbsvcs/orbsvcs/Trader/Trader.cpp: CORBA::TypeCode::content_type(), CORBA::TypeCode::discriminator_type(), CORBA::TypeCode::member_type() were the methods in which the returned TypeCode's were not duplicated. Thanks to Phillippe Merle for reporting this. The actual fix involved only duplicating the returned typecodes in the implementation of the above three methods in Typecode.cpp. Other files where checked to find whether the above methods were used. If used then the Typcode variable need t release memory that was returned to avoid memory leak. So in the places where the calls were made, the return value from these methods were held in T_var to avoid leaks. At the point of checkin compilation on Sun_EGCS went without any problems. Fri Sep 3 22:52:25 1999 Ossama Othman * TAO_IDL/Makefile: Removed extraneous space between macro and macro definition in compiler flags make variable. Fri Sep 3 17:54:57 1999 Mike Moran * examples/Advanced/ch_21 Added H&V's chapter 21 example to the repo. * examples/Advanced/TO-DO Added a "to do" list for the Henning/Vinoski examples. Fri Sep 03 17:48:49 1999 Nanbor Wang * docs/releasenotes/index.html: * docs/interceptors.html: Added interceptor related information. Fri Sep 3 14:40:13 1999 Darrell Brunsch * rules.tao.GNU: * TAO_IDL/Makefile: * TAO_IDL/Makefile.bor: * TAO_IDL/idl_make_vars: * TAO_IDL/driver/Makefile.am: Changed CPP_LOCATION to TAO_IDL_PREPROCESSOR. If CPP_LOCATION is defined, still use it but display a warning message. * TAO_IDL/driver/drv_init.cpp: * TAO_IDL/driver/drv_preproc.cpp: Cleaned up the way TAO_IDL picks the external preprocessor. It now checks for TAO_IDL_PREPROCESSOR and TAO_IDL_PREPROCESSOR_ARGS environment variables at run time (it will still use CPP_LOCATION and TAO_IDL_DEFAULT_CPP_FLAGS, but displays a warning message). Otherwise, it will use its default, which is set to one of the following: 1. TAO_IDL_PREPROCESSOR/_ARGS macros, if defined 2. else ACE_CC_PREPROCESSOR/_ARGS macros, if defined 3. else "cc" and "-E" * docs/compiler.html: * TAO-INSTALL.html: Cleaned up documentation and added information about the TAO_IDL_PREPROCESSOR* environment variables. Thanks to Christopher Kohlhoff and Adrian Mercieca for first reporting this. Fri Sep 3 13:34:17 1999 Jeff Parsons * tao/DynArray_i.cpp: * tao/DynSequence_i.cpp: * tao/DynStruct_i.cpp: * tao/DynUnion_i.cpp: In each current_component() method, added a CORBA_DynAny::_duplicate before returning the member, so it can be used in a _var. Thanks to Phillippe Merle for pointing this out. Fri Sep 3 12:13:19 1999 Pradeep Gore * docs/releasenotes/index.html: Added status information for the upcomming CORBA Telecom Log Service. Fri Sep 3 09:36:17 1999 Kirthika Parameswaran * tests/Interceptors/interceptors.cpp (postinvoke): * tests/Interceptors/interceptors.cpp (preinvoke): Replaced static casts to reinterpret cast to ward off warnings. Thu Sep 03 05:00:00 1999 Michael Kircher * tao/Reply_Dispatcher.cpp: Changed the method TAO_Synch_Reply_Dispatcher::dispatch_reply to not release the old service context buffer. This needs to be verified by Carlos to see if it is the right thing to do. Releasing it caused an access violation. This passage of the source code needs to be documented. * tests/AMI/run_test.pl, tests/AMI/simple_client.cpp: Enhanced the example to fully support attributes. * TAO_IDL/be/be_visitor_factory.cpp, TAO_IDL/be/be_visitor_operation.cpp, TAO_IDL/be_include/be_visitor_operation.h, TAO_IDL/be_include/be_visitor_operation/ami_handler_operation_ss.h TAO_IDL/be_include/be_visitor_operation/ami_handler_operation_ss.cpp: Cleaned up the naming conventions to make AMI code generation more readable. The ami_handler_operation_ss files were introduced to support this. * TAO_IDL/be_include/be_visitor_operation/ami_handler_servant_operation_ss.h TAO_IDL/be_include/be_visitor_operation/ami_handler_servant_operation_ss.cpp: These files got replaced by ones with different names. See comment above. * TAO_IDL/be/be_visitor_operation/ami_handler_thru_poa_collocated_sh.cpp TAO_IDL/be/be_visitor_operation/ami_handler_thru_poa_collocated_ss.cpp: Fixed a the generation of the names for attributes. AMI works now fine with attributes! Thu Sep 03 01:30:00 1999 Michael Kircher * 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/NestedUpcall/Triangle_Test/Triangle_Test.idl: According to the changes in the IDL compiler, which made it conforming to the CORBA spec, some minor bugs were fixed. These were that identifier spellings only differed in case. Thu Sep 2 22:14:59 1999 Pradeep Gore * example/simple/chat/Broadcaster.idl: modified parameter names to avoid idl compiler errors. Thu Sep 02 20:23:44 1999 Nanbor Wang * orbsvcs/orbsvcs/AV/source.cpp: * orbsvcs/orbsvcs/AV/MCast.cpp: * orbsvcs/orbsvcs/AV/Policy.cpp: The inline files were not included in the cpp files when inlining was disable. * orbsvcs/orbsvcs/orbsvcs.dsp: * orbsvcs/orbsvcs/orbsvcs_static.dsp: Tons of AV related files were missing. Also added TAO_ORBSVCS_HAS_Trader to avoid defining TAO_String_Hash_Key twice. Thu Sep 2 17:56:29 1999 Jeff Parsons * TAO_IDL/util/utl_scope.cpp: * TAO_IDL/include/utl_error.h: * TAO_IDL/util/utl_error.cpp: Added a check for name clash between an identifier being declared and any others referenced in that scope. Also added a method to output a redefinition error messsage that takes string args. The existing one that takes AST_Decl args would print the entire scoped name of the referenced identifier, and that would be confusing (only the top level component is 'in' the scope and can cause a collision). Thanks to Kristopher Johnson for reporting the bug and to Jonathan Biggar for his clarification of the 2.3 spec changes. Thu Sep 2 17:30:48 1999 Jeff Parsons * tao/corbafwd.h: Added long-missing forward declarations of Dyn*_var and all typedefs of Dyn* in the CORBA namespace. Thanks to Phillippe Merle for pointing this out. Thu Sep 02 15:15:48 1999 Nanbor Wang * TAO_IDL/be/be_visitor_operation/ami_cs.cpp (gen_marshal_and_invoke): * TAO_IDL/be/be_visitor_operation/operation_ami_cs.cpp (gen_marshal_and_invoke): Added prepare_header calls after invocation.start(). Thanks to Michael for reporting this. Thu Sep 02 14:04:23 1999 David L. Levine * orbsvcs/orbsvcs/Naming/Persistent_Context_Index.cpp: use the explicit template instantiations even with ACE_HAS_GNU_REPO. g++ 2.91.66 misses them with -frepo. [Bug 248] Thu Sep 2 11:45:29 1999 Balachandran Natarajan * orbsvcs/orbsvcs/AV/ntp-time.h: * orbsvcs/orbsvcs/AV/AVStreams_i.cpp: * orbsvcs/orbsvcs/AV/AV_Core.h : * orbsvcs/orbsvcs/AV/MCast.cpp: * orbsvcs/orbsvcs/AV/Policy.cpp: * orbsvcs/orbsvcs/AV/source.cpp: * orbsvcs/orbsvcs/AV/RTCP.cpp: * orbsvcs/orbsvcs/AV/TCP.cpp: * orbsvcs/orbsvcs/AV/Transport.cpp: * orbsvcs/orbsvcs/AV/UDP.cpp : * orbsvcs/orbsvcs/AV/media-timer.cpp: * orbsvcs/orbsvcs/AV/ntp-time.h: * orbsvcs/orbsvcs/AV/sfp.cpp: Fixed warnings & errors on NT. Thanks to Michael Kircher & Andy for reporting these. Thu Sep 02 10:47:23 1999 Nanbor Wang * TAO_IDL/be/be_codegen.cpp (start_client_header): Changed to include intead of in client header when generating locality constraint objects. Thanks to Carlos for suggesting that. Thu Sep 2 07:54:17 1999 Jeff Parsons * tao/decode.cpp: * tao/deep_free.cpp: * tao/encode.cpp: Fix to pointer alignment adjustment calculation in TAO_Marshal_Struct::*. The old one was failing with Borland Builder. Thanks to Christopher Kohlhoff for sending in the Borland fix and his efforts to find a single portable one. Wed Sep 1 20:27:47 1999 Balachandran Natarajan * orbsvcs/orbsvcs/AV/ntp-time.h: * orbsvcs/orbsvcs/AV/AVStreams_i.cpp: * orbsvcs/orbsvcs/AV/AVStreams_i.h: * orbsvcs/orbsvcs/AV/FlowSpec_Entry.cpp: * orbsvcs/orbsvcs/AV/Policy.cpp: * orbsvcs/orbsvcs/AV/Protocol_Factory.cpp: * orbsvcs/orbsvcs/AV/RTCP.cpp : * orbsvcs/orbsvcs/AV/RTP.cpp: * orbsvcs/orbsvcs/AV/TCP.cpp: * orbsvcs/orbsvcs/AV/Transport.cpp: * orbsvcs/orbsvcs/AV/UDP.cpp: * orbsvcs/orbsvcs/AV/media-timer.cpp: * orbsvcs/orbsvcs/AV/media-timer.h: * orbsvcs/orbsvcs/AV/source.cpp: Fixed warnings/errors in SunOS5.0 with exceptions turned on. Also tested on Linux EGCS Wed Sep 1 21:17:17 1999 Nagarajan Surendran * tao/default_resource.{h,cpp}: Added support for ORBReactorType option for TkReactor. Thanks to Philipp Slusallek for reporting this. Wed Sep 1 20:27:47 1999 Balachandran Natarajan * orbsvcs/orbsvcs/AV/AVStreams_i.cpp: * orbsvcs/orbsvcs/AV/sfp.cpp : Fixed warnings on SunOS EGCS. This is with native exceptions disabled. Wed Sep 1 19:18:53 1999 Nagarajan Surendran * orbsvcs/orbsvcs/Makefile : Added the missing AV files to the AV sources. Wed Sep 1 17:08:12 1999 Carlos O'Ryan * TAO/tao/IIOP_Connect.i: * TAO/tao/IIOP_Connect.cpp: * TAO/tao/UIOP_Connect.i: * TAO/tao/UIOP_Connect.cpp: Moved virtual methods the the .cpp file, there is no sense in inlining them. * TAO/tao/corbafwd.h: Defined protocol TAG for the Boeing custom protocol. * TAO/tao/Profile.h: Minor cosmetic fixes Wed Sep 01 16:32:53 1999 Carlos O'Ryan * tao/IORS.h: The copy constructor is private and unimplemented to avoid any copying. * tao/TAO.dsp: * tao/TAO_Static.dsp: Added new files Profile.{h,i,cpp} Wed Sep 01 16:04:31 1999 David L. Levine * orbsvcs/orbsvcs/Naming/Persistent_Naming_Context.cpp, Transient_Naming_Context.cpp use the explicit TAO_Bindings_Iterator template instantiation even with ACE_HAS_GNU_REPO. g++ 2.91.66 misses it with -frepo. [Bug 248] Wed Sep 1 14:36:09 1999 Nanbor Wang * tao/IORS.h: Added TAO_Export to all classes. Thanks to Dmitry Goldshtain for reporting this. Wed Sep 1 13:14:09 1999 Jeff Parsons * TAO_IDL/be/be_visitor_argument/pre_docall_cs.cpp: * TAO_IDL/be/be_visitor_operation/operation_cs.cpp: * TAO_IDL/be/be_visitor_operation/rettype_pre_docall_cs.cpp: * TAO_IDL/be/be_visitor_operation/rettype_vardecl_cs.cpp: * TAO_IDL/be/be_visitor_operation/rettype_post_docall_cs.cpp: * TAO_IDL/be/be_visitor_operation/compiled_marshal.cpp: Changed generated operation code so that ACE_NEW_RETURN returns _tao_retval instead of 0, which does not work for enum return types. Had to change some other names around to avoid clashes. Thanks to Sharo Randall for pointing this out. Wed Sep 1 12:37:25 1999 Carlos O'Ryan * tao/Makefile: * tao/Pluggable.h: * tao/Pluggable.i: * tao/Pluggable.cpp: * tao/Profile.h: * tao/Profile.i: * tao/Profile.cpp: Move the TAO_Profile class to its own file. The base class now implements the methods to access and manipulate the tagged components of the profile. * tao/MProfile.h: * tao/Acceptor_Registry.cpp: Needs to include the new Profile file. * tao/Invocation.cpp: If the TAO_USE_PRIORITY_POLICY macro is defined the ORB will use the profile that matches the current thread priority. * tao/Tagged_Components.cpp: Fixed several bugs in the demarshaling code. * tao/UIOP_Profile.h: * tao/UIOP_Profile.i: * tao/UIOP_Profile.cpp: * tao/IIOP_Profile.h: * tao/IIOP_Profile.i: * tao/IIOP_Profile.cpp: The tagged component access and manipulation code is in the base class now. * tao/Pool_Per_Endpoint.cpp: * tao/Reactor_Per_Priority.cpp: Only print debugging messages if the debug level is high enough. * tests/Endpoint_Per_Priority/Makefile: * tests/Endpoint_Per_Priority/client.conf: * tests/Endpoint_Per_Priority/client.cpp: * tests/Endpoint_Per_Priority/server.conf: * tests/Endpoint_Per_Priority/test.idl: * tests/Endpoint_Per_Priority/test_i.h: * tests/Endpoint_Per_Priority/test_i.cpp: Modified the test to pass an application level id of the client thread to the server. This is used to verify that the request actually executes at the right level on the server-side. The client receives the number and priorities of the threads on the command line. Wed Sep 1 12:30:23 1999 Jeff Parsons * tao/MessagingS.cpp: Forgot to remove the 'return new...' line when replacing with 'ACE_NEW_RETURN...'. DU caught it. Wed Sep 1 10:56:57 1999 Douglas C. Schmidt * tao/IORManipulation.h: Added a TAO Export macro to TAO_IOR_Manipulation_impl. Thanks to Goldshtain Dmitry for reporting this. Wed Sep 1 10:48:28 1999 Jeff Parsons * tests/IDL_Test/sequence.idl: Added nested sequence examples to this file. Wed Sep 1 09:52:18 1999 Jeff Parsons * TAO_IDL/be/be_sequence.cpp: * TAO_IDL/be/be_visitor_sequence/cdr_op_ci.cpp: * TAO_IDL/be/be_visitor_sequence/cdr_op_cs.cpp: * TAO_IDL/be/be_visitor_sequence/gen_bounded_sequence_ch.cpp: * TAO_IDL/be/be_visitor_sequence/gen_bounded_sequence_ci.cpp: * TAO_IDL/be/be_visitor_sequence/gen_bounded_sequence_cs.cpp: * TAO_IDL/be/be_visitor_sequence/gen_unbounded_sequence_ch.cpp: * TAO_IDL/be/be_visitor_sequence/gen_unbounded_sequence_co.cpp: * TAO_IDL/be/be_visitor_sequence/gen_unbounded_sequence_cs.cpp: * TAO_IDL/be/be_visitor_sequence/sequence_ch.cpp: Changes to enable code generation for nested IDL sequences. Any number of levels of nesting will work. Thanks to Lars Immisch for sending in the example that got the ball rolling. Wed Sep 1 07:09:06 1999 Jeff Parsons * tests/AMI/simple_client.cpp: Removed an extra "*/". Wed Sep 01 04:53:39 1999 Nanbor Wang * tao/IIOP_Transport.cpp (start_request): * tao/UIOP_Transport.cpp (start_request): Fixed unused variable warnings. Wed Sep 01 04:04:49 1999 Nanbor Wang * tao/Invocation.h: * tao/Invocation.cpp (prepare_header): Extracted the code that builds the request header out from transport->start_request. The problem with putting the requst header builder in transport->start_request was that it built the request header pre-maturely. And when interceptors have a change to modify the service context list, the change wouldn't get to put into the header. We can build the request header directly from GIOP_Invocation directly because all the pieces of information required to build the header are carried by the Invocation class. The disadvantage of this change is that, we'll need to call the method explicitly in stubs which somehow increase the footprint a bit. We may need to improve this so for people don't need interceptors, TAO can still be mean and lean. * tao/Asynch_Invocation.cpp: * tao/Invocation.cpp (start): The signature of transport_->start_request has been changed. * tao/Pluggable.h: * tao/Pluggable.cpp: * tao/IIOP_Transport.h: * tao/IIOP_Transport.cpp: * tao/UIOP_Transport.h: * tao/UIOP_Transport.cpp: (start_request): Since the header builder has been moved to GIOP_Invocation, this method no longer needs that many arguments. * tao/Object.cpp: Fixed remote method invocation code (to call prepare_header explicitly.) * tao/Stub.cpp (do_static_call,do_dynamic_call): Fixed remote method invocation code. * tao/DomainC.cpp: * tao/InterfaceC.cpp * tao/POAC.cpp: * tao/PolicyC.cpp: * tao/PollableC.cpp: Fixed remote method invocation code. * TAO_IDL/be/be_visitor_operation/ami_handler_operation_cs.cpp: * TAO_IDL/be/be_visitor_operation/operation_cs.cpp: Generated stubs also need call explicitly. * tests/Interceptors/interceptors.cpp: Turned on the service context list testing code. Fixed incorrect message id check. Tue Aug 31 21:04:58 1999 Nanbor Wang * orbsvcs/orbsvcs/AV/AVStreams_i.cpp (get_control_callback,get_callback,set_protocol_object): Fixed "*/ found outside of comment" warnings. Tue Aug 31 20:35:56 1999 Nagarajan Surendran * orbsvcs/tests/AVStreams/sfp: Removed the files in this drectory as this test is superseded by the new set of tests under the Pluggable directory. * orbsvcs/tests/AVStreams/Makefile: Updated the Makefile to include the new AV tests. Tue Aug 31 18:07:35 1999 Nagarajan Surendran * orbsvcs/orbsvcs/AV/: The modififed implementation of the A/V Streaming Service now fully supports the Full Profile interfaces like FDev, FlowConnection, FlowEndPoint. It also support the Point-to-MultiPoint binding and MultiPoint-to-MultiPoint binding. The implementation provides a pluggable protocols framework for flow protocols like SFP, RTP and also for transport protocols like TCP, UDP and ATM. It provides an extensible Policy framework to add new policies for flow protocols. There's also an implementation of MultiPoint-to-MultiPoint binding. For more documentation, please check http://www.cs.wustl.edu/~naga/pluggable_av.ps.gz The following files have been newly added. * orbsvcs/orbsvcs/AV/Transport.{h,cpp}: Provides generic transport related interaces. * orbsvcs/orbsvcs/AV/TCP.{h,cpp}: These files contain the TCP Null flow protocol layer and the TCP transport interfaces. * orbsvcs/orbsvcs/AV/UDP.{h,cpp}: These files contain the UDP Null flow protocol layer and the UDP transport interfaces. * orbsvcs/orbsvcs/AV/MCast.{h,cpp}: These files contain the UDP Multicast related transport interfaces. * orbsvcs/orbsvcs/AV/RTP.{h,cpp}: * orbsvcs/orbsvcs/AV/RTCP.{h,cpp}: * orbsvcs/orbsvcs/AV/source.{h,cpp}: Provides a RTP/RTCP implementation based on Vic (a Videoconferencing tool developed at U Cal Berkeley). * orbsvcs/orbsvcs/AV/Policy.{h,cpp}: Provides the Policy related classes for the pluggable protocols framework. * orbsvcs/orbsvcs/AV/Protocol_Factory.{h,cpp}: Provides the generice interfaces for flow protocol factories and transport factories. * orbsvcs/orbsvcs/AV/Flows_T.{h,cpp}: FDev implementation classes. * orbsvcs/orbsvcs/AV/FlowSpec_Entry.{h,cpp,i}: Moved the Flow Spec Entry classes from AVStreams_i.* files to these. For additional modification that was done during the branch please check $TAO_ROOT/orbsvcs/orbsvcs/AV/pluggable_av_log. * orbsvcs/tests/AVStreams/Pluggable: This directory provides a simple file transfer test using the pluggable protocols framework and runs over TCP Null layer, UDP Null layer, SFP and RTP using the light profile interfaces. * orbsvcs/tests/AVStreams/Full_Profile: This directory provides the same file transfer test as in Pluggable directory using the Full Profile interfaces. * orbsvcs/tests/AVStreams/Multicast: This directory provides a file transfer test using the point-to-multipoint binding in AV using light profile interfaces. * orbsvcs/tests/AVStreams/Multicast_Full_Profile: Multicast file transfer test using the point-to-multipoint binding for full profile interfaces. Tue Aug 31 17:59:14 1999 Jeff Parsons * TAO_IDL/fe/idl.yy: * TAO_IDL/fe/y.tab.h: * TAO_IDL/fe/y.tab.cpp: Minor change to idl.yy to allow output of error message when error is of the form: struct foo { char bar; sequence boink; }; Previously, IDL compiler would generate no code for the sequence and output no error message. This would happen also in unions and with bounded member sequences. Tue Aug 31 14:23:55 1999 Douglas C. Schmidt * tao/UIOP_Connector.cpp: Also rearranged the code so that it'll compile properly. Tue Aug 31 14:17:44 1999 Douglas C. Schmidt * tao/IIOP_Connector.cpp: Rearranged the code so that it'll compile properly. Thanks to Bala for reporting this. Tue Aug 31 13:33:48 1999 Carlos O'Ryan * examples/Quoter/Makefile: The dependencies where broken so the test wouldn't compile. Tue Aug 31 00:16:34 1999 Douglas C. Schmidt * Added a series of fixes that allow TAO to build and run cleanly with SunC++ 5.0 and Solaris 7 even when debugging is NOT enabled. These changes require moving the explicit template instantiations from the BOTTOM of the *.cpp files to near the top. Thanks to Robert Shewan for reporting this. Tue Aug 31 9:25:00 1999 Michael Kircher * tao/TAO.dsp: Added the files Linear_Priority_Mapping.{h,i,cpp} and Direct_Priority_Mapping.{h,i,cpp} Tue Aug 31 8:15:00 1999 Michael Kircher * TAO_IDL/be/be_visitor_attribute/attribute.cpp TAO_IDL/be/be_visitor_interface/interface.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_operation_ch.cpp TAO_IDL/be/be_visitor_operation/ami_handler_operation_cs.cpp TAO_IDL/be/be_visitor_operation/ami_handler_servant_operation_ss.cpp TAO_IDL/be/be_visitor_operation/ami_handler_skeleton_cs.cpp TAO_IDL/be/be_visitor_operation/ami_handler_thru_poa_collocated_ss.cpp: Fixed bugs in the code generation for attributes when compiling in AMI mode. * tests/AMI/simple-client.cpp, tests/AMI/simple_client.dsp, tests/AMI/client.dsp, tests/AMI/server.dsp, tests/AMI/test.idl tests/AMI/test_i.cpp, tests/AMI/client.conf, tests/AMI/simple-client-exclusive.conf, tests/AMI/simple-client-muxed.conf, tests/AMI/client-global.conf, tests/AMI/test_i.i: Removed these files because they got replaced by new ones. * tests/AMI/ami_test.idl, tests/AMI/ami_test_i.cpp, tests/AMI/ami_test_i.h, tests/AMI/simple_client_exclusive.conf, tests/AMI/simple_client_muxed.conf, tests/AMI/AMI_Test_Client.dsp, tests/AMI/AMI_Test_Simple_Client.dsp, tests/AMI/AMI_Test_Server.dsp: Added these files for the new generation of AMI tests. * tests/AMI/Makefile, tests/AMI/run_test.pl, tests/AMI/ami_test.dsw, tests/AMI/simple_client.cpp, tests/AMI/client.cpp, tests/AMI/server.cpp: Modified these files to make the test more readable and less MT_Client cut&paste like. Mon Aug 30 23:24:35 1999 Carlos O'Ryan * tao/Makefile: * tao/Priority_Mapping.h: * tao/Priority_Mapping.cpp: * tao/Direct_Priority_Mapping.cpp: * tao/Direct_Priority_Mapping.h: * tao/Direct_Priority_Mapping.i: * tao/Linear_Priority_Mapping.cpp: * tao/Linear_Priority_Mapping.h: * tao/Linear_Priority_Mapping.i: * tao/default_resource.h: * tao/default_resource.cpp: The TAO_Priority_Mapping class is trivial now, two derived classes implement simple priority mapping strategies. Linear_Priority_Mapping uses a linear map between the full range of priorities in a scheduling class to the full range of CORBA priorities. Direct_Priority_Mapping uses a simpler mapping where a suitable offset is used to map the minimum CORBA priority to the minimum native priority. * tao/Messaging_Policy_i.h: * tao/Messaging_Policy_i.cpp: Use ServantBase_var for exception safety. * tao/RT_Current.h: Need "tao/Exception.h" for platforms that implement throw specs. * tao/ORB_Core.cpp: * tao/Single_Reactor.cpp: Minor cosmetic fixes. * tao/Pool_Per_Endpoint.h: * tao/Pool_Per_Endpoint.i: * tao/Pool_Per_Endpoint.cpp: Added option to control the thread creation flags. * tests/Endpoint_Per_Priority/Makefile: Updated dependencies. * tests/Endpoint_Per_Priority/server.cpp: Use the new option in the Pool_Per_Endpoint strategy. Mon Aug 30 17:10:30 1999 Kirthika Parameswaran * TAO-INSTALL.html: Added a note on Connection Caching feature which contains the "-fsquangle" option info too. Mon Aug 30 17:16:27 1999 Jeff Parsons * TAO_IDL/be/be_visitor_scope.cpp: Removed unused arg in function last_inout_or_out_node (). Mon Aug 30 17:10:24 1999 Nanbor Wang * tests/Interceptors/interceptors.cpp: Fixed erronous format specifiers. Mon Aug 30 10:43:21 1999 Ossama Othman * PROBLEM-REPORT-FORM: Updated to point to refer reports tao-bugs mailing list. * tao/Exception.h: * tao/orbconf.h: Comment updates. Mon Aug 30 15:58:44 1999 Carlos O'Ryan * tao/TAO.dsp: * tao/TAO_Static.dsp: Added the new files to the MSVC projects. Mon Aug 30 15:56:09 1999 Nanbor Wang * tests/Interceptors/Makefile: Updated dependencies. Mon Aug 30 15:15:39 1999 Carlos O'Ryan * tao/Makefile: * tao/orbconf.h: * rules.tao.GNU: Added a number of new classes to implement the endpoint-per-priority concurrency strategy. In this strategy each priority level is assigned a different reactor, threads use the reactor for their priority level; acceptors are also bound to the reactor of their priority level, as specificied in the command-line. Since the priority is embedded in the IOR using a tagged component the client can use that to select which endpoint it will use, preserving priority end-to-end (the client-side is not implemented yet). This achieves total isolation of threads running at different priorities. * tao/Pool_Per_Endpoint.h: * tao/Pool_Per_Endpoint.i: * tao/Pool_Per_Endpoint.cpp: Helper class that creates the threads to run the ORB based on the endpoints (and their priorities) as specified in the command-line. The user is not required to create the threads using this class, but it is much simpler to do so. * tao/Reactor_Registry.h: * tao/Reactor_Registry.i: * tao/Reactor_Registry.cpp: A new abstraction to control the number of reactors created by the ORB. This class also decides which reactor handles which endpoint and which reactor is used by each thread. * tao/Single_Reactor.h: * tao/Single_Reactor.i: * tao/Single_Reactor.cpp: * tao/Reactor_Per_Priority.h: * tao/Reactor_Per_Priority.i: * tao/Reactor_Per_Priority.cpp: Two simple implementations of the Reactor_Registry strategy. The first one creates a single reactor for the ORB. The second one creates a new reactor for each priority level. * tao/rtcorbafwd.h: * tao/rtcorbafwd.i: * tao/rtcorbafwd.cpp: Some of the new features use types and interfaces defined in the RTCORBA spec, we added a * tao/Priority_Mapping.h: * tao/Priority_Mapping.i: * tao/Priority_Mapping.cpp: Base class and default implementation for the RTCORBA::PriorityMapping native type. * tao/Resource_Factory.h: * tao/Resource_Factory.cpp: * tao/default_resource.h: * tao/default_resource.cpp: Added new methods to create the Reactor_Registry and the Priority_Mapping strategies. * tao/ORB_Core.h: * tao/ORB_Core.i: * tao/ORB_Core.cpp: Modified to deal with the new Reactor_Registry class and the Priority_Mapping functions. Also changed shutdown() to shutdown all the reactors in the ORB. * tao/RTCORBA.pidl: File used to generate some of the RTCORBA types. * tao/RT_Current.h: * tao/RT_Current.i: * tao/RT_Current.cpp: Implement the RTCORBA::Current interface, at this point the interface is not used (i.e. resolve_initial_references() does not work), but should be fully functional soon. * tao/Leader_Follower.h: * tao/Leader_Follower.i: * tao/Leader_Follower.cpp: Separate the Leader_Follower information to its own file (it used to be in ORB_Core), this class is used by the Reactor_Per_Endpoint registry to keep a separate LF group for each priority level. * tao/Wait_Strategy.cpp: * tao/Reply_Dispatcher.cpp: They must include "tao/Leader_Follower.h" now. * tao/IIOP_Acceptor.cpp: * tao/UIOP_Acceptor.cpp: Get the right reactor from the ORB_Core. * tests/MT_Client/Makefile: Updated dependencies * tests/Endpoint_Per_Priority/Makefile: * tests/Endpoint_Per_Priority/README: * tests/Endpoint_Per_Priority/client.conf: * tests/Endpoint_Per_Priority/client.cpp: * tests/Endpoint_Per_Priority/run_test.pl: * tests/Endpoint_Per_Priority/server.conf: * tests/Endpoint_Per_Priority/server.cpp: * tests/Endpoint_Per_Priority/test.idl: * tests/Endpoint_Per_Priority/test_i.cpp: * tests/Endpoint_Per_Priority/test_i.h: * tests/Endpoint_Per_Priority/test_i.i: A new test for the endpoint-per-priority concurrency strategy, still work in progress. * */Makefile: Updated dependencies Mon Aug 30 14:19:11 1999 Nanbor Wang * tao/Reply_Dispatcher.h: * tao/Reply_Dispatcher.cpp: * tao/Asynch_Invocation.i: * tao/Asynch_Invocation.cpp: I changed the service context handling interfaces but did not update these file to reflect the change. Thanks to Jeff and Michael for noticing this. Mon Aug 30 13:01:04 1999 Jeff Parsons * tao/BoundsC.cpp: * tao/CONV_FRAMEC.i: * tao/CurrentC.cpp: * tao/CurrentS.cpp: * tao/DomainC.cppi: * tao/DomainC.i: * tao/DomainS.cpp: * tao/DynAnyC.cpp: * tao/DynAnyC.i: * tao/DynAnyS.cpp: * tao/InconsistentTypeCodeC.cpp: * tao/InterceptorC.cpp: * tao/InterceptorC.i: * tao/InterceptorS.cpp: * tao/InterfaceC.cpp: * tao/InterfaceC.i: * tao/IORC.cpp: * tao/IORC.i: * tao/IOPC.i: * tao/IORS.cppi: * tao/MessagingC.cpp: * tao/MessagingC.i: * tao/MessagingS.cpp: * tao/Object_KeyC.i: * tao/POAC.cpp: * tao/POAC.i: * tao/POAS.cpp: * tao/PolicyC.cpp: * tao/PolicyC.i: * tao/PolicyS.cpp: * tao/PollableC.cpp: * tao/PollablS.cpp: * tao/WrongTransactionC.cpp: Replaced all occurrences of 'new' with 'ACE_NEW*'. Mon Aug 30 12:25:48 1999 Douglas C. Schmidt * examples/Advanced: Converted several of the examples to use ACE+TAO programming style. Mon Aug 30 12:05:48 1999 Nanbor Wang * tao/ORB.i: Fixed old g++ errors/warings. Thanks to David for reporting this. Mon Aug 30 11:20:00 1999 Michael Kircher * TAO_IDL/be/be_operation.cpp TAO_IDL/be/be_visitor_factory.cpp TAO_IDL/be/be_visitor_scope.cpp TAO_IDL/be/be_visitor_attribute/attribute.cpp TAO_IDL/be/be_visitor_interface/interface.cpp TAO_IDL/be/be_visitor_interface/interface_ch.cpp TAO_IDL/be/be_visitor_interface/interface_ci.cpp TAO_IDL/be/be_visitor_interface/interface_cs.cpp TAO_IDL/be/be_visitor_interface/interface_sh.cpp TAO_IDL/be/be_visitor_interface/interface_ss.cpp TAO_IDL/be/be_visitor_interface/tie_sh.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_arglist_ch.cpp TAO_IDL/be/be_visitor_operation/ami_handler_operation.cpp TAO_IDL/be/be_visitor_operation/ami_handler_operation_ch.cpp TAO_IDL/be/be_visitor_operation/ami_handler_operation_cs.cpp TAO_IDL/be/be_visitor_operation/ami_handler_servant_operation_ss.cpp TAO_IDL/be/be_visitor_operation/ami_handler_skeleton_cs.cpp TAO_IDL/be/be_visitor_operation/ami_handler_thru_poa_collocated_ss.cpp TAO_IDL/be/be_visitor_operation/argument.cpp TAO_IDL/be/be_visitor_operation/compiled_marshal.cpp TAO_IDL/be/be_visitor_operation/thru_poa_collocated_ss.cpp TAO_IDL/be_include/be_codegen.h TAO_IDL/be_include/be_operation.h TAO_IDL/be_include/be_visitor_scope.h TAO_IDL/be_include/be_visitor_interface/tie_sh.h TAO_IDL/be_include/be_visitor_operation/ami_handler_thru_poa_collocated_ss.h: Renamed the Code Generation enums to make it more clear what is actually meant. I also added support for attributes, though still work needs to be done in that area. Besides that I fixed bugs in the code generation. * tao/Transport_Mux_Strategy.cpp: Fixed a bug concerning an uninitialized message state. Mon Aug 30 10:21:16 1999 Ossama Othman * PROBLEM-REPORT-FORM: Fixed typo. Mon Aug 30 02:39:14 1999 Nanbor Wang * TAO_IDL/be/be_visitor_interface/interface_ss.cpp (visit_interface): Added a missing "}" and fixed indentation problem in generated code. This was causing compilation errors in tests/Collocation project. Mon Aug 30 02:11:17 1999 Nanbor Wang Merging the PI-current (Interceptors) branch to the main trunk. * tests/Interceptors/Interceptors.dsw: * tests/Interceptors/Makefile: * tests/Interceptors/README: * tests/Interceptors/client.cpp: * tests/Interceptors/client.dsp: * tests/Interceptors/interceptors.cpp: * tests/Interceptors/interceptors.h: * tests/Interceptors/run_test.pl: * tests/Interceptors/server.cpp: * tests/Interceptors/server.dsp: * tests/Interceptors/test.idl: * tests/Interceptors/test_i.cpp: * tests/Interceptors/test_i.h: A "Silly" interceptor testing program. * tao/Makefile: * tao/TAO.dsp: * tao/TAO_Static.dsp: Added new interceptor files. * tao/Interceptor.pidl: TAO's tentative "portable" interceptor definitions. Run this file thru TAO_IDL as: tao_idl -Gl -Ge 1 -Wb,export_macro=TAO_Export Interceptor.pidl gets us the following stub/skeleton files. the InterceptorS_T.* and InterceptorS.i are removed (because they are useless empty files.) The following describes what else needs to be changed for each file. * tao/InterceptorC.cpp: Prefixed all include files with tao/. * tao/InterceptorC.i: No change necessary. * tao/InterceptorC.h: Removed incliding corba.h, CORBAC.h. Added include files Any.h and Interceptor.h. Prefixed all include files with tao/. * tao/InterceptorS.cpp: Removed including inline file InterceptorS.i and prefixing tao/ to all include files. * tao/InterceptorS.h: Removed include file CORBAC.h and IOPC.h. Prefixed all include files with tao/. Added an include file Servant_Base.h. Removed including the template file and the inline file. * tao/Interceptor.h: * tao/Interceptor.i: The interceptor wholesale file. Including the (.h) file and you get everything you need to use the interceptor feature. These two files probide inlined interceptor adapters that simplify tao_idl complexity. * tao/Interceptor.cpp: This file provides the default no-op interceptor method. The interceptors classes remain abstract but users are not required to overwrite the interception methods that are not of their interests. * tao/ORB.h: * tao/ORB.i: * tao/ORB.cpp: Added naive interceptor registration methods. They are naive because they only allow one interceptor for client/server side interceptors. We definitely need a more rebust interceptor registration mechanism. However, it is not clear how the semantics of the future portable interceptor spec will be. * tao/orbconf.h: If we are not building MinimumCORBA, we have interceptors. * tao/corba.h: This file must include Interceptor.h for others to use the interceptors. * tao/Reply_Dispatcher.h: * tao/Reply_Dispatcher.i: * tao/Reply_Dispatcher.cpp: There's no need for reply dispatcher to own it's own ServiceContextList object. Instead, it holds a reference to the owning Invocation object and initialize the reference in its constructor. * tao/POA.h: Removed a duplicated include file. * tao/Invocation.h: * tao/Invocation.i: * tao/Invocation.cpp: * tao/Server_Request.h: * tao/GIOP_Server_Request.h: * tao/GIOP_Server_Request.i: * tao/GIOP_Server_Request.cpp: There's really no need to differentiate the request service_info from the reply service_info. Their lifetimes are not overlapped. (request_id): Added the new method to fish out request_id information of a request. * tao/CORBA.pidl: Added several definitions to make the file syntatically correct. Also added stuff needed by the interceptors. * TAO_IDL/be_include/be_visitor_operation/operation_ss.cpp: * TAO_IDL/be_include/be_visitor_operation/operation_ss.cpp: Added a new method to compute and cache the operation name. Interceptors need to refer to the name frequently. * TAO_IDL/be/be_visitor_operation/operation_ss.cpp: Added server side interception points. * TAO_IDL/be/be_visitor_operation/operation_cs.cpp: Added client side interception points. Sun Aug 29 23:16:08 1999 Nanbor Wang The following are changes for supporting locality constraint objects * 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: Disallowed generating of CDR inserting/extrating operations for sequences when generating LC objects. * TAO_IDL/be/be_visitor_operation/operation.cpp (gen_throw_spec): Do not generate throw spec for locality constraint objects for now. This may be overkilled, but as far as interceptors care, adding throw spec to interceptor methods doesn't make sense at all. Who knows what kind of exceptions are going to be thrown from an interceptor? * TAO_IDL/be/be_visitor_interface/interface_cs.cpp (visit_interface): Servant names should always have "POA_" prefix. * TAO_IDL/be/be_helper.cpp: Insert the $_I_d_$ field in all generate files so we can add them into cvs repository easily. * TAO_IDL/be/be_codegen.cpp (start_client_stubs): When generating code for locality constraint objects, always include generated *S.h in the stub definition because these objects are always directly collocated and we don't depends on factory methods to create collocated stubs (i.e., we need to generate collocated stubs directly in _narrow.) Sun Aug 29 23:30:00 1999 Kirthika Parameswaran * tao/orbconf.h: Added TAO_USES_ROBUST_CONNECTION_MGMT macro which sets the connection purging and recycling feature "on" by default. Just commenting it out from orbconf.h and building libTAO.so again will shut"off" the feature. * tao/IIOP_Connector.{h,cpp}: * tao/UIOP_Connector.{h,cpp}: Using the TAO_USES_ROBUST_CONNECTION_MGMT macro made both the pre-connect-strategy tagged changes and the connection purging feature co-exist. * tao/Acceptor_Impl.{h,cpp}: The and methods behave differently when the connection purging is "on" and "off". The method is not used when the feature is not set. * tao/Connector_Registry.{h,cpp}: The method is eliminated when the feature is not used. * tao/Pluggable.h: The pure virtual method was appropriately not included in the class when the connection purging feature was not requested. Sun Aug 29 21:53:57 1999 David L. Levine * tao/Operation_Table.cpp: with ACE_HAS_GNU_REPO, added an odd ACE_Hash_Map_Entry explicit instantiation. I don't know why g++ 2.91.66 (on Linux) needs it, but it does. [Bug 248] Sat Aug 28 21:53:30 1999 Ossama Othman * orbsvcs/orbsvcs/Trader/Constraint_Interpreter.h (TAO_Interpreter): * orbsvcs/orbsvcs/Trader/Constraint_Interpreter.cpp (TAO_Interpreter): Fixed single-threaded build problem. Code was using ACE_Thread_Mutex instead of ACE_SYNCH_MUTEX, and ACE_Guard instead of ACE_GUARD_RETURN. Sat Aug 28 16:40:29 1999 Pradeep Gore * orbsvcs/orbsvcs/Trader/Constraint_Interpreter.h (TAO_Interpreter): * orbsvcs/orbsvcs/Trader/Constraint_Interpreter.cpp (TAO_Interpreter): Fix for Bug#:236 - Added a Guard in the method to protect it from reentrance. Thanks to for reporting this bug and providing a fix. Sat Aug 28 16:26:00 1999 Jeff Parsons * tests/AMI/ami_test.dsw: MSVC workspace file to contain the already existing project files. Sat Aug 28 16:04:10 1999 Ossama Othman * tao/Acceptor_Registry.cpp (open): Added exceptions for all errors conditions. * tao/ORB.cpp (url_ior_string_to_object): Made memory allocation of stub object exception safe by using TAO_Stub_Auto_Ptr class. * tao/ORB.cpp (ORB_init): Changed error checks that return zero to return CORBA::ORB::_nil() instead. Both are equivalent in TAO but it appears to be more technically correct to use the _nil() method. * tao/ORB_Core.h (TAO_ORB_Core): Added missing ACE_THROW_SPEC to declaration of open() method. * tao/ORB_Core.cpp (TAO_ORB_Core): Change initialization of has_shutdown_ variable from 0 to 1, indicating that the ORB is instantiated in a shutdown state. The only way to (re)start the ORB is to call CORBA::ORB_init(), which calls TAO_ORB_Core::init(). For that reason, only TAO_ORB_Core::init() should change the ORB shutdown state to has_shutdown_ = 0, i.e. not shutdown. * tao/ORB_Core.cpp (init): Memory allocation failure of ORB pseudo-object was returning zero, which indicated a successful return. The memory allocation now returns -1 upon failure. Sat Aug 28 15:15:12 1999 Jeff Parsons * TAO_IDL/be/be_structure.cpp: * TAO_IDL/be/be_union.cpp: * TAO_IDL/be/be_visitor_array/array_cs.cpp: * TAO_IDL/be/be_visitor_exception/any_op_cs.cpp: * TAO_IDL/be/be_visitor_exception/exception_cs.cpp: * TAO_IDL/be/be_visitor_interface/ami_handler_stub_cs.cpp: * TAO_IDL/be/be_visitor_interface/interface_cs.cpp: * TAO_IDL/be/be_visitor_interface/interface_ss.cpp: * TAO_IDL/be/be_visitor_sequence/gen_bounded_sequence_ci.cpp: * TAO_IDL/be/be_visitor_sequence/gen_unbounded_sequence_ci.cpp: * TAO_IDL/be/be_visitor_sequence/sequence_ci.cpp: * TAO_IDL/be/be_visitor_union_branch/public_access_cs.cpp: * TAO_IDL/be/be_visitor_union_branch/public_assign_cs.cpp: * TAO_IDL/be/be_visitor_union_branch/public_ci.cpp: * TAO_IDL/be/be_visitor_valuetype/field_cs.cpp: Replaced all code generation using 'new' with 'ACE_NEW' or 'ACE_NEW_RETURN'. * TAO_IDL/be_include/be_codegen.h: * TAO_IDL/be/be_visitor_union/union_cs.cpp: Code generation for union copy constructor and assignment operator was using the same code block. Since, upon my replacement, one needs 'ACE_NEW' and the other needs 'ACE_NEW_RETURN', a new context sub-state enum value was created so we can branch at this point. * TAO_IDL/be_include/ami_handler_ch.h: * TAO_IDL/be_include/ami_handler_cs.h: * TAO_IDL/be/be_visitor_interface/ami_handler_ch.cpp: * TAO_IDL/be/be_visitor_interface/ami_handler_cs.cpp: Files no longer used that have been removed from CVS. Sat Aug 28 12:32:40 1999 Jeff Parsons * tao/ORB_Core.cpp: Added a missing 2nd set of parens to the ACE_THROW_SPEC in the open() method. Fri Aug 27 17:24:43 1999 Ossama Othman * tao/Tagged_Components.cpp (set_tao_priority): Removed inadvertent stream insertion of orb_type variable. Thanks to Carlos for pointing this out. * tao/IIOP_Acceptor.cpp (parse_options): * tao/UIOP_Acceptor.cpp (parse_options): Fixed valid endpoint priority range. * tao/UIOP_Acceptor.h: * tao/UIOP_Acceptor.cpp: Forgot to remove inclusion of non-existent UIOP_Acceptor.i file. UIOP_Acceptor.i was created temporarily but wasn't needed. Fri Aug 27 17:06:54 1999 Ossama Othman * tao/Protocol_Factory.h: * tao/Protocol_Factory.cpp: * tao/IIOP_Factory.h: * tao/IIOP_Factory.cpp: * tao/UIOP_Factory.h: * tao/UIOP_Factory.cpp: Added an options_delimiter() method. It returns the character used to mark where an endpoint begins and where its options begin. * tao/Acceptor_Registy.h: * tao/Acceptor_Registry.cpp (open): Added support for passing endpoint options to corresponding Acceptor. Added CORBA::Environment argument to allow CORBA exceptions to be propagated up through the ORB when creating Acceptors. * tao/Pluggable.h: * tao/IIOP_Acceptor.h: * tao/IIOP_Acceptor.cpp: * tao/UIOP_Acceptor.h: * tao/UIOP_Acceptor.cpp: Added support for protocol specific option parsing. This was originally designed to only accept an integer argument to set endpoint priorities, but it was simple enough to extend the functionality to the general case. * tao/ORB_Core.h: * tao/ORB_Core.cpp: ORB::destroy() method has been added but it currently throws a CORBA::NO_IMPLEMENT exception. This method will be used by the ORB::destroy() wrapper once it is implemented. init() method now resets flag that denotes that the ORB has shutdown to zero, indicating that the newly created ORB has not shutdown. Previously, if an ORB was shutdown and then reinitialized with CORBA::ORB_init() then the shutdown flag would still indicate that it is shutdown. Added CORBA::Environment argument to open() method to allow CORBA exceptions to be propagated up through the ORB when opening Acceptors. * tao/ORB.h: * tao/ORB.cpp: CORBA 2.3 updates: work_pending() and perform_work() now throw a CORBA::BAD_INV_ORDER exception if the ORB has been shutdown. ORB::destroy() method has been added but it currently throws a CORBA::NO_IMPLEMENT exception. More to come! * tao/ORB.cpp (object_to_string): Fixed a segmentation fault that occurred when a bogus endpoint was specified on the command line in conjunction with the "-ORBObJRefStyle URL" option. * orbsvcs/orbsvcs/Runtime_Scheduler.cpp (set): Removed a cast that I inadvertently added. Fri Aug 27 15:05:09 1999 Jeff Parsons * TAO_IDL/be/be_visitor_sequence/elemtype.cpp: Had to unconcatenate some code generating stream output statements to get the buffer to flush. Thanks to Michael Kircher and Darrell Brunsch for pointing out the problem. Fri Aug 27 09:04:55 1999 David L. Levine * orbsvcs/orbsvcs/Sched/Config_Scheduler.cpp (compute_scheduling): replaced RtecScheduler::ANOMALY_NONE case in switch with default, so that it will catch generated enum values as well. Fri Aug 27 08:40:14 1999 Jeff Parsons * TAO_IDL/be/be_type.cpp: Patch to nested_type_name(). * TAO_IDL/be/be_visitor_exception/exception_ctor.cpp: * TAO_IDL/be/be_visitor_field/field_ch.cpp: * TAO_IDL/be/be_visitor_sequence/elemtype.cpp: * TAO_IDL/be/be_visitor_union_branch/public_ci.cpp: * TAO_IDL/be/be_visitor_valuetype/field_ch.cpp: Mods to generated code in order to utilize the changes made to nested_type_name() above. Most of this was sent in by dbinder@globalmt.com (real name not included in the bugzilla entry) as bugzilla #268, intended to fix a crash by Dec Unix on an included IDL example. I've tested with MSVC 6.0 and SunCC 5.0 - we'll wait for the next Dec Unix build and see what happens. Fri Aug 27 10:55:15 1999 David L. Levine * TAO version 1.0.3 released. Thu Aug 26 21:12:54 1999 Jeff Parsons * TAO_IDL/util/utl_string.cpp: Made sure all paths initialize the return value in compare_quiet(). Pointed out by a Linux warning. Thu Aug 26 20:34:54 1999 Carlos O'Ryan * tao/Pluggable.h: * tao/Pluggable.i: * tao/Pluggable.cpp: Added new field to the Acceptors, this is used to setup a TAO-specific tagged component that informs the client about the priority of the threads handling events on that endpoint. Also moved lightweight methods to the .i file, they were not virtual and used in a couple of places in the critical path. * tao/corbafwd.h: * tao/Tagged_Components.h: * tao/Tagged_Components.i: * tao/Tagged_Components.cpp: Changed the TAO_TAG_PRIORITY component to have simply a priority, not a range. * tao/IIOP_Acceptor.h: * tao/IIOP_Acceptor.cpp: * tao/UIOP_Acceptor.h: * tao/UIOP_Acceptor.cpp: Implemented the priority stuff for the concrete protocols. Thu Aug 26 17:37:01 1999 Jeff Parsons * TAO_IDL/include/ast_interface.h: * TAO_IDL/ast/ast_interface.cpp: New method inherited_name_clash() checks for redefinitions (and case-only differences in spelling) between members of the interface and its parent(s), and between members of its parents, if there are more than one. * TAO_IDL/fe/idl.yy: * TAO_IDL/fe/y.tab.h: * TAO_IDL/fe/y.tab.cpp: Added call to the above function when the parser sees closing parenthesis of an interface, a concrete valuetype or an abstract valuetype. * TAO_IDL/include/utl_identifier.h: * TAO_IDL/include/utl_string.h: * TAO_IDL/util/utl_identifier.cpp: * TAO_IDL/util/utl_string.cpp: Added case-compare methods that do not output any error or warning, so that a more informative messsage (more suited to this particular case) can be output. * TAO_IDL/include/utl_error.h: * TAO_IDL/util/utl_error.cpp: Added warning0, warning1, warning2, and warning3 utility functions, similar to error0, etc. I only needed two of them, but the others may come in handy later. Thu Aug 26 14:30:38 1999 Kirthika Parameswaran * tao/IIOP_Connector.{h,cpp}: * tao/UIOP_Connector.{h,cpp}: Added TAO_ to all the typedefed symbols to avoid conflicts. Thanks to JM Strauss for reporting such a conflict for ADDR. Thu Aug 26 12:18:38 1999 Carlos O'Ryan * orbsvcs/tests/Property/client.cpp: Removed call to ORB::open() this was a private interface and no application should be calling it! Thu Aug 26 11:10:30 1999 Jeff Parsons * TAO_IDL/be/be_visitor_union_branch/cdr_op_ci.cpp: Input CDR operator for union case was using return value of union's accessor for rhs of stream operator, leading to marshaling failure. Thanks one more time to Lothar Werzinger for digging up another one. Thu Aug 26 10:29:42 1999 Nanbor Wang * docs/Options.html: * tao/default_server.cpp (TAO_Default_Server_Strategy_Factory): Added THR_DETACHED into the default thread creation flag for ORB spawned threads so the resources used by ORB spawned threads will be released automatically after the threads have exited to prevent handle leaks. Thanks to Sreedharani Dharani and Carlos for pointing out the problem. Thu Aug 26 09:49:40 1999 Jeff Parsons * TAO_IDL/be/be_visitor_valuetype/field_cs.cpp: Fixed typo. Thanks to Robert Todd Pack for pointing it out. Thu Aug 26 08:43:11 1999 David L. Levine * tao/Acceptor_Impl.cpp: added #include "ace/Object_Manager.h", because the file now uses the ACE_Static_Object_Lock. Thanks to Andy for reporting this. Wed Aug 25 23:13:02 1999 Carlos O'Ryan * tao/POA.cpp: Use the correct (CORBA 2.3 compliant) minor code for the BAD_INV_ORDER exception. Thanks to Ossama for pointing this out. * tao/ORB_Core.h: * tao/ORB_Core.cpp: Remove unused method to set the orb of an ORB core, really evil stuff. Wed Aug 25 22:31:34 1999 Carlos O'Ryan * tao/ORB.h: * tao/ORB.i: * tao/ORB.cpp: Eliminated cached references to the Naming, Trading and ImplRepo because otherwise doing resolve_initial_references() after the server restarts does not return the new IOR. Also removed the place holders for the scheduling and event services that were not used at all and now can be replaced by the -ORBInitRef option. * tao/ORB_Core.h: * tao/ORB_Core.cpp: Moved the open() and create_stub_object() methods from the ORB class to the ORB_Core class, this is their natural location and eliminate cross calls between them. Wed Aug 25 18:18:04 1999 Carlos O'Ryan * orbsvcs/orbsvcs/AV/Endpoint_Strategy.cpp: Added missing parenthesis. Wed Aug 25 16:47:22 1999 Jeff Parsons * TAO_IDL/be/be_visitor_interface/interface_ih.cpp: Removed an unused arg and some commented-out code. * TAO_IDL/be/be_visitor_operation/operation_is.cpp: Fixed a const char*/char* compile error on MSVC. Wed Aug 25 16:20:26 1999 Jeff Parsons * tao/Sequence.cpp: * tao/Sequence_T.cpp: * TAO_IDL/be/be_visitor_sequence/gen_unbounded_sequence_ci.cpp: * TAO_IDL/be/be_visitor_sequence/gen_unbounded_obj_sequence_ci.cpp: * TAO_IDL/be/be_visitor_sequence/gen_bounded_sequence_ci.cpp: * 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_wstr_sequence_ci.cpp: Sequence copy constructors now check for a null rhs buffer. If a sequence was instantiated, and (perhaps implicitly) passed to a copy constructor without its length being set (deprecated but possible) or its length set to 0 (definitely possible), setting the length of the new sequence would result in a crash. Thanks to Lothar Werzinger for sending in the example that led to this discovery. Wed Aug 25 16:17:24 1999 Ossama Othman * examples/POA/Default_Servant/File_i.cpp (open): * orbsvcs/orbsvcs/AV/Endpoint_Strategy.cpp (activate): * performance-tests/Thruput/TAO/utils.cpp (PrintStats): * tests/NestedUpcall/MT_Client_Test/client.cpp (init): Fixed format specifier mismatch warnings from gcc 2.95.1. * performance-tests/Makefile: Do not build Latency test if Minimum CORBA support is enabled since _non_existent() is not defined in that case. * orbsvcs/orbsvcs/Runtime_Scheduler.cpp (set): Fixed "comparison between signed and unsigned" warnings. * tao/Stub.i (make_profiles): * tao/IIOP_Profile.i (_key): * tao/UIOP_Profile.i (_key): * tao/default_resource.cpp: Changed use of 'return new()' to ACE_NEW_RETURN() macro. ACE_NEW macros should be used instead of the plain C++ new in TAO code. Wed Aug 25 15:58:44 1999 Yamuna Krishnamurthy * TAO_IDL/be_include/be_visitor_interface/interface_ih.h: * TAO_IDL/be/be_visitor_interface/interface_ih.cpp: * TAO_IDL/be_include/be_visitor_interface/interface_is.h: * TAO_IDL/be/be_visitor_interface/interface_is.cpp: * TAO_IDL/be/be_visitor_operation/operation_is.cpp: Made changes in order to remove the generation of the constructors for the base classes, generate code for the operations of all the base interfaces correctly. Thanks to Timothy Canham , Byron Harris and Jeff Parsons for pointing out the bugs Wed Aug 25 12:15:57 1999 Carlos O'Ryan * tao/ORB.pidl: Helper file used to generate the proper signature for several methods in the CORBA::ORB class * tao/Object.pidl: Helper file used to generate the proper signature for several methods in the CORBA::Object class Wed Aug 25 12:09:42 1999 Carlos O'Ryan * tao_targets.GNU: Added new targets used in the top-level ACE makefile to compile just what TAO needs. Wed Aug 25 11:11:29 1999 Jeff Parsons * TAO_IDL/be/be_visitor_enum/enum_ch.cpp: Removed an unused arg from post_process(). Wed Aug 25 10:16:11 1999 David L. Levine * orbsvcs/orbsvcs/EC_Gateway_UDP.cpp (handle_input): changed local variable "index" to "map_index". egcs 1.1.2 for Neutrino tripped over index. Thanks to Carlos for quickly spotting the cause. Tue Aug 24 22:40:39 1999 Carlos O'Ryan * performance-tests/Latency/Makefile: Fixed the rules to compile the java version * performance-tests/Latency/scalability.pl: Added a new driver program to run a scalability test * performance-tests/Latency/client.cpp: * performance-tests/Latency/st_client.cpp: Added options to disable the shutdown message when the client dies. * performance-tests/Latency/java_server.java: Visibroker3.4 does not have the ORB.run() method (added in CORBA 2.3) * performance-tests/Latency/run_test.pl: Minor cosmetic fixes. Tue Aug 24 21:08:45 1999 Jeff Parsons * TAO_IDL/be/be_visitor_enum/enum_ch.cpp: Had to change the 32-bit enforcing value below to 0x7FFFFFF. Evidently there is at least one version of HPUX that doesn't like the 0xFFFFFFFF value. Thanks to Carlos for pointing this out. Tue Aug 24 19:09:20 1999 Carlos O'Ryan * performance-tests/Latency/client.cpp: The user can specify a period for all the threads, in milliseconds, the option is now consistent with the st_client test * performance-tests/Latency/Makefile: * performance-tests/Latency/TestImpl.java: * performance-tests/Latency/java_client.java: * performance-tests/Latency/java_server.java: Added a Java version of the latency test, we should move it to some other place (like a separate VisiJava directory), but not right now. Tue Aug 24 18:14:01 1999 Jeff Parsons * TAO_IDL/be/be_visitor_enum/enum_ch.cpp: Code generation for enums in .h file now appends an enum value called _TAO_ENUM_32BIT_ENFORCER and sets its value to 0xFFFFFFFF. All enums in CORBA must be 32 bits in size, and some compilers will try to use a smaller space if the enum values are small enough. Note that this extra member is not part of the IDL compiler's internal representation of the enum, so unions that use the enum as a discriminator won't have incorrect _default() code generated. Tue Aug 24 16:38:16 1999 Mike Moran * examples/Advanced/ * examples/Advanced/ch_3 * examples/Advanced/ch_8_and_10 * examples/Advanced/ch_12 * examples/Advanced/ch_18 Added code from first four examples from Henning & Vinoski's book plus Makefiles, test scripts and readmes. * examples/README (examples): Added description of examples in directory Advanced/. Tue Aug 24 15:32:43 1999 Jeff Parsons * tests/Load_Balancing/Load_Balancer_i.cpp: Added some template instantiations that the Irix linker had trouble finding. Tue Aug 24 14:44:12 1999 Carlos O'Ryan * tao/MessagingC.i: Fixed typo Tue Aug 24 12:06:31 1999 Jeff Parsons * tests/IDL_Test/included.idl: * tests/IDL_Test/including.idl: Added example similar to that sent in by Nick Sawadsky to the above two file. Tue Aug 24 12:00:03 1999 Balachandran Natarajan * rules.tao.GNU: Disabled the option that was compiling the Interface repository files by default. With this change the user is expected to issue the command gmake interface_repo=1 to compile the files for the interface repository. Tue Aug 24 11:47:47 1999 Jeff Parsons * TAO_IDL/be/be_enum.cpp: Modified compute_member_count() to work if the enum is included from another .idl file. This problem was causing a union with an enum discriminator, where the enum is declared in an included file, to have a _default() function that won't compile. Thanks to Nick Sawadsky for pointing out the problem and sending in an example pair if .idl files. Tue Aug 24 13:20:00 1999 Michael Kircher * tao/MessagingC.cpp, tao/MessagingC.i: Put the #if defined TAO_HAS_AMI_CALLBACK .. statements in the right places. * docs/releasenotes/index.html: Added a statement saying that one has to use TAO_HAS_CORBA_MESSAGING and TAO_HAS_AMI_CALLBACK to compile TAO and the IDL compiler AMI enabled. Tue Aug 24 11:03:56 1999 Carlos O'Ryan * TAO_IDL/Makefile: The IDL compiler did not compile due to outdated dependencies. Tue Aug 24 09:49:06 1999 Jeff Parsons * TAO/examples/Load_Balancing/client.dsp: * TAO/examples/Load_Balancing/server.dsp: * TAO/examples/Load_Balancing/service.dsp: Corrected the project paths. Tue Aug 24 5:30:00 1999 Michael Kircher * TAO_IDL/be/be_visitor_operation/ami_handler_thru_poa_collocated_sh.cpp, TAO_IDL/be_include/be_visitor_operation/ami_handler_thru_poa_collocated_sh.h TAO_IDL/be/be_visitor_operation/ami_handler_thru_poa_collocated_ss.cpp, TAO_IDL/be_include/be_visitor_operation/ami_handler_thru_poa_collocated_ss.h, TAO_IDL/be/be_visitor_operation/ami_handler_servant_operation_ss.cpp, TAO_IDL/be_include/be_visitor_operation/ami_handler_servant_operation_ss.h: Introduced these files and removed the corresponding *_{cs,ch}.{h,cpp} files because the code is generated in the server header and server implementation files. * 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_operation.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_interface/interface_sh.cpp, TAO_IDL/be/be_visitor_interface/interface_ss.cpp, TAO_IDL/be/be_visitor_operation/ami_handler_skeleton_cs.cpp TAO_IDL/be_include/be_codegen.h, TAO_IDL/be_include/be_interface.h, TAO_IDL/be_include/be_visitor_interface.h, TAO_IDL/be_include/be_visitor_operation.h: Made minor adjustments to have AMI callbacks properly working. * tao/Asynch_Invocation.cpp tao/Asynch_Invocation.h tao/Asynch_Invocation.i tao/MessagingC.cpp tao/MessagingC.h tao/MessagingS.cpp tao/MessagingS.h tao/MessagingS_T.cpp tao/POA_CORBA.h tao/PollableC.cpp tao/PollableC.h tao/PollableS.cpp tao/PollableS.h tao/Reply_Dispatcher.cpp tao/Reply_Dispatcher.h tao/Typecode_Constants.cpp: Introduced the TAO_HAS_AMI_CALLBACK and TAO_HAS_AMI_POLLER define. Removed the TAO_POLLER define. * tests/AMI/client.cpp, tests/AMI/client.dsp, tests/AMI/run_test.pl, tests/AMI/server.cpp, tests/AMI/server.dsp, tests/AMI/test.idl, tests/AMI/test_i.cpp, tests/AMI/test_i.h: Revived this test again. Tue Aug 24 00:47:47 1999 Marina Spivak * examples/Load_Balancing/Makefile: Removed foreign characters that were introduced during previous commit by mistake. * examples/Load_Balancing/Identity_Client.cpp * examples/Load_Balancing/Identity_Server.cpp * examples/Load_Balancing/Load_Balancing_Service.cpp: Fixed some compilation warnings. * examples/Load_Balancing/Identity_i.cpp: Fixed warning regarding unused arg. * examples/Load_Balancing/Load_Balancer_i.cpp: Took out duplicate explicit template instantiation. Mon Aug 23 21:33:04 1999 Carlos O'Ryan * UIOP_Connector.cpp: * IIOP_Connector.cpp: Use ACE_Auto_Basic_Array_Ptr<> for the arrays and fixed template instantiations too. Mon Aug 23 18:57:41 1999 Jeff Parsons * tests/IDL_Test/reopened_modules.idl: Took long .idl file sent in by Duane Binder , cut it down to one of 10 lines or so that reproduced the problem, and added it to our IDL_Test Rogues Gallery. Mon Aug 23 18:25:30 1999 Jeff Parsons * examples/Load_Balancing/Load_Balancing.dsw: * examples/Load_Balancing/client.dsp: * examples/Load_Balancing/server.dsp: * examples/Load_Balancing/service.dsp: New files for MSVC++. * examples/Load_Balancing/Identity_Client.cpp: * examples/Load_Balancing/Identity_Server.cpp: Some _var instantiations needed to be scoped with their module name to avoid compile errors. * examples/Load_Balancing/Load_Balancer_i.cpp: In places where an exception is raised, the exception arg needed '()' added to make it a function call. This was causing compile errors on some platforms and warnings on others. * examples/Load_Balancing/Makefile: Cosmetic changes. Mon Aug 23 16:43:37 1999 Carlos O'Ryan * tao/Asynch_Invocation.i: * tao/Asynch_Invocation.cpp: Fixed compilation problems for AMI code. * TAO_IDL/be/be_visitor_interface/interface_ss.cpp: Fixed problem in generated code for AMI. Mon Aug 23 15:30:28 1999 Nanbor Wang * tao/IIOP_Connector.cpp (preconnect): Chagned to use ACE_Auto_Array_Ptr to hold the INET_Addr array and ACE_Auto_Basic_Array_Ptr to hold the array of connection handler pointers. Mon Aug 23 14:12:32 1999 Jeff Parsons * TAO_IDL/include.utl_scope.h: * TAO_IDL/util/utl_scope.cpp: Changes to lookup_by_name() and iter_lookup_by_name_local() which cause the lookup process to exit immediately once the scoped name argument is completely matched. This removes the problem of an infinite loop in certain cases where the argument is a fully scoped name, and has the side effect of making the lookup process more efficient. Thanks to Duane Binder for reporting the problem and for sending in an .idl file that was eventally cut down to debuggable size. Mon Aug 23 11:59:33 1999 Marina Spivak * examples/Load_Balancing/Load_Balancer_i.cpp * examples/Load_Balancing/Identity_Server.cpp * examples/Load_Balancing/Identity_Client.cpp: Added explicit template instantiations and fixed a few other compilation warnings. Mon Aug 23 08:43:01 1999 David L. Levine * tao/Makefile: for QNX Neutrino only, always compile CDR_Interpreter.cpp without -g. With -g, the compiler chokes: ../../egcs-1.1.2/gcc/dwarfout.c:5253: Internal compiler error \ in function dwarfout_file_scope_decl Sun Aug 22 09:48:40 1999 Ossama Othman * tao/IIOP_Acceptor.cpp (create_mprofile): * tao/UIOP_Acceptor.cpp (create_mprofile): Fixed memory leak that would occur if transfer of profile ownership failed. * tao/IIOP_Connector.cpp: * tao/UIOP_Connector.cpp: Removed auto_ptr for "this->cached_connect_strategy_" since it isn't necessary to have one due to the fact that it gets deallocated when the Connector is destroyed. Made memory allocations in preconnect() method exception safe. * tao/IIOP_Connector.cpp: * tao/Resource_Factory.cpp: Moved template instantiation of TAO_Cached_Connector_Lock to Resource_Factory.cpp since that it where the template is located. * tao/Pluggable.cpp: TAO_Unknown_Profile::addr_to_string() should return -1, not 0. * tao/Stub.h: * tao/Stub.i: * tao/Stub.cpp: Changed names of {get,set}_base_profiles() and get_profiles() methods to be consistent with ACE/TAO coding styles. They are now called base_profiles() (with appropriate args) and make_profiles() (since it is a factory method), respectively. * tao/Invocation.cpp: * tao/IORManipulation.cpp: * tao/Object.cpp: * tao/ORB.cpp: Updated to use renamed Stub object methods. * tao/IORManipulation.cpp: Made a memory allocation exception safe. * tao/Makefile: Updated dependencies. Sat Aug 21 18:46:14 1999 Douglas C. Schmidt * TAO_IDL/driver/drv_fork.cpp (DRV_fork): Removed the use of ACE_Process_Manager and replaced it with ACE_Process. This prevents the IDL compiler from hanging when it's given multiple files. Thanks to Dave Binder for motivating this fix. This fix closes out [BUGID:240]. * TAO_IDL/be/be_interface.cpp (gen_gperf_lookup_methods, TAO_IDL/driver/drv_args.cpp (DRV_check_gperf), TAO_IDL/driver/drv_preproc.cpp (DRV_pre_proc): Changed the name of the ACE_Process *manager* object to *process* so that it wouldn't be confused with the ACE_Process_Manager, which we use elsewhere in the IDL compiler. Sat Aug 21 17:18:07 1999 Marina Spivak * tao/ORB.{h,i}: Added a CORBA_String_out constructor which takes const char* (we were missing this one from the spec). * examples/Load_Balancing/Load_Balancer.idl * examples/Load_Balancing/Load_Balancer_i.cpp * examples/Load_Balancing/Load_Balancer_i.h * examples/Load_Balancing/Makefile * examples/Load_Balancing/README * examples/Load_Balancing/Identity_i.h * examples/Load_Balancing/Identity_i.cpp * examples/Load_Balancing/Load_Balancing_Service.h * examples/Load_Balancing/Identity.idl * examples/Load_Balancing/Identity_Server.cpp * examples/Load_Balancing/Identity_Server.h * examples/Load_Balancing/Identity_Client.h * examples/Load_Balancing/Identity_Client.cpp * examples/Load_Balancing/Load_Balancing_Service.cpp * examples/Makefile: Added a new example to TAO: Load Balancing Service. * examples/Makefile: Generated the dependencies. Sat Aug 21 14:16:11 1999 Carlos O'Ryan * TAO version 1.0.2 released. Sat Aug 21 03:32:52 1999 Nanbor Wang * examples/Simple/time-date/Time_Date.dsp: * examples/Simple/time-date/client.dsp: * examples/Simple/time-date/server.dsp: Added definition of Alt_Resource_Factory_HAS_DLL=1 to all projects. * examples/Simple/time-date/Time_Date.cpp (Alt_Resource_Factory_BUILD_DLL): Define this macro. * tao/default_resource.h (TAO_Default_Resource_Factory): Added TAO_Export specifier to the class. * tao/ORB.cpp (open): Moved the setting of *after* the ORB has actually opened. Otherwise, the double-checked locking here would be useless and race condition might occurred (it did, in time-date example.) Fri Aug 20 15:51:29 1999 Nanbor Wang * tao/ORB.cpp (resolve_initial_references): Changed to search for the ORB's lookup table if the search in initial reference table kept in ORB param fails. This change allows us to find the collocated service available in the local ORB. Thanks to Sharo Randall for suggesting the change. Fri Aug 20 13:48:45 1999 Jeff Parsons * TAO_IDL/be/be_visitor_operation/rettype_vardecl_cs.cpp: Modified my earlier change to the way a return valuetype is declared in the stub. This clears up compile errors in esamples/OBV/Typed_Events. Thu Aug 19 20:05:06 1999 Jeff Parsons * TAO_IDL/be/be_visitor_argument/pre_docall_cs.cpp: * TAO_IDL/be/be_visitor_operation/rettype_vardecl_cs.cpp: * TAO_IDL/be/be_visitor_operation/operation_cs.cpp: * TAO_IDL/be/be_visitor_operation/rettype_pre_docall_cs.cpp: * TAO_IDL/be/be_visitor_operation/compiled_marshal_cs.cpp: * TAO_IDL/be/be_visitor_operation/rettype_post_docall_cs.cpp: * TAO_IDL/be/be_visitor_operation/ami_cs.cpp: * TAO_IDL/be/be_visitor_operation/operation_ami_cs.cpp: * TAO_IDL/be/be_visitor_operation/ami_handler_operation_cs.cpp: * TAO_IDL/be/be_visitor_operation/thru_poa_collocated_ss.cpp: Return types which are allocated on the heap in the stub (all variable-size data types plus arrays) would leak memory if there were an exception during invocation or demarshaling. Now all these types are eclosed in a _var between 'ACE_NEW_RETURN (...);' and 'return ...;'. Thanks to Eugene Surovegin , whose example showed the tip of the iceberg. Thu Aug 19 18:45:00 1999 Chris Gill * orbsvcs/orbsvcs/Sched/Reconfig_Scheduler_T.cpp: modified uses of ACE_AUTO_PTR_RESET macro to pass type with which auto_ptr is instantiated. Thu Aug 19 18:34:19 1999 Carlos O'Ryan * tao/Reply_Dispatcher.cpp: Fixed problems with forwarded requests and requests re-issued due to problems in profile. The message state was not beign reset after receiving the first reply (i.e. a LOCATION_FORWARD) yielding invalid results when reading the next reply. Thu Aug 19 17:25:00 1999 Chris Gill * orbsvcs/orbsvcs/Sched/Reconfig_Scheduler_T.cpp: changed default value to which RT_Info period is initialized to 1 instead of 0, to avoid divide-by-zero errors when creates are used to lay out all operations and utilization is assessed by an adaptive algorithm before all operations are valued via the set method. Thu Aug 19 16:34:04 1999 Balachandran Natarajan * tao/BoundsC.i: * tao/BoundsC.cpp: * tao/BoundsC.h: * tao/Makefile: * tao/corbafwd.h: * tao/corba.h: * tao/Typecode_Constants.cpp: Added support for CORBA::Bounds which is a part of CORBA2.3 spec. Thu Aug 19 12:57:12 1999 Carlos O'Ryan * tao/Sequence_T.i: * tao/Sequence_T.cpp: Moved some methods of TAO_Object_Manager<> to the .cpp file, they were causing problems with forward declared interfaces. Thanks to David for pointing this out. Thu Aug 19 11:24:35 1999 David L. Levine * rules.tao.GNU,tao/Makefile: don't include the Interface repository by default on pre-2.8 g++ platforms, and on cross-compile platforms. g++ 2.7.2.3 on Solaris can't compile tao/InterfaceC.cpp. By removing it, by default, on cross-compile platforms, we reduce the size of libTAO.a by 420 Kb. Thu Aug 19 08:30:49 1999 Michael Kircher * docs/releasenotes/index.html: Added information about Asynchronous Method Invocation. Thu Aug 19 01:47:49 1999 Nanbor Wang * docs/compiler.html: Added documentation for the new -Gl flag which generate locality constraint stubs/skeletons. * TAO_IDL/be/be_visitor_interface/any_op_ch.cpp: * TAO_IDL/be/be_visitor_interface/any_op_cs.cpp: * TAO_IDL/be/be_visitor_interface/cdr_op_ch.cpp: * TAO_IDL/be/be_visitor_interface/cdr_op_ci.cpp: * TAO_IDL/be/be_visitor_interface/cdr_op_cs.cpp: * TAO_IDL/be/be_visitor_interface/interface_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_si.cpp: * TAO_IDL/be/be_visitor_interface/interface_ss.cpp: * TAO_IDL/be/be_visitor_operation/arglist.cpp: * TAO_IDL/be/be_visitor_operation/operation_cs.cpp: * TAO_IDL/be/be_visitor_operation/operation_sh.cpp: * TAO_IDL/be/be_visitor_operation/operation_ss.cpp: * TAO_IDL/driver/drv_args.cpp: Trimmed down a lot of code generation if we are generating the locality constraint implementation templates. Wed Aug 18 21:32:25 1999 Ossama Othman * PROBLEM-REPORT-FORM: * TAO-INSTALL.html: Updated with information about the bugzilla usage documentation. Wed Aug 18 18:00:29 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp: Use the new ACE_HAS_BROKEN_DGRAM_SENDV macro to workaround IRIX (and possibly other platform) problems. Wed Aug 18 17:04:41 1999 Jeff Parsons * TAO_IDL/be/be_visitor_union/cdr_op_ci.cpp: There is a generated boolean variable called 'result' that holds the status of the CDR op for the union's case, whichever it may be. This variable was initialized to 0. But if the discriminator is set to an implicit default value, the operator will just exit with a value of 0 and the (de)marshal will fail. Thanks to Anthony Shipman for pointing this out and suggesting a fix (initialize the result variable to 1). Wed Aug 18 16:22:25 1999 Jeff Parsons * TAO_IDL/be/be_union.cpp: Code generation for implementation of union_var's ptr() method was not happening in some cases. Thanks to Lothar Werzinger for pointing this out. * TAO_IDL/be/be_visitor_union_branch/public_ch.cpp: * TAO_IDL/be/be_visitor_field/field_ch.cpp: CORBA 2.3 requires C++ mapping to have a typedef of '_foo_seq' for anonymous sequence members of unions or structs. This provides a consistent type name for the user so that the implementation-specific name of the anonymous sequence need not be known. Since this typedef occurs inside the union class or struct, the usual guard against compilers with broken typedef scoping is included in the generated code. Thanks again to Lothar Werzinger for bringing this to our attention. Wed Aug 18 12:53:46 1999 Carlos O'Ryan * tests/Param_Test/run_test.pl: Fixed typo. Wed Aug 18 10:49:58 1999 Jeff Parsons * default_resource.cpp: Removed an extra 'break' statement. Wed Aug 18 03:12:23 1999 Nanbor Wang * TAO_IDL/include/idl_global.h: * TAO_IDL/driver/drv_args.cpp: * TAO_IDL/util/utl_global.cpp: Added a new flag to direct TAO_IDL to generate locality constraint stubs/skeletons to simplify generating TAO internal pidl implementations. Tue Aug 17 22:18:20 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Event/EC_Dispatching_Task.cpp: Added instantiation of ACE_Locked_Data_Block<> it used to be instantiated in TAO, but it isn't used there anymore. Tue Aug 17 20:51:13 1999 Carlos O'Ryan * tao/default_resource.cpp: Also use the new signal masking features with the TP reactor. * performance-tests/Latency/client.conf: * performance-tests/Latency/server.conf: * performance-tests/Latency/st_server.conf: Use the -ORBReactorMaskSignals 0 option to disable signal masking. Tue Aug 17 19:17:20 1999 Jeff Parsons * tests/Param_Test/driver.cpp: * tests/Param_Test/helper.h: * tests/Param_Test/helper.cpp: * tests/Param_Test/options.h: * tests/Param_Test/options.cpp: * tests/Param_Test/tests.h: * tests/Param_Test/param_test_i.h: * tests/Param_Test/param_test_i.cpp * tests/Param_Test/client.dsp: * tests/Param_Test/param_test.idl: * tests/Param_Test/Makefile: * tests/Param_Test/README: * tests/Param_Test/run_test.pl: Updated to accomodate the new files listed below. * tests/Param_Test/bd_wstring.h: * tests/Param_Test/bd_wstring.cpp: * tests/Param_Test/ub_wstring.h: * tests/Param_Test/ub_wstring.cpp: * tests/Param_Test/ub_wstrseq.h: * tests/Param_Test/ub_wstrseq.cpp: * tests/Param_Test/bd_wstrseq.h: * tests/Param_Test/bd_wstrseq.cpp: New files testing the (de)marshaling of wide strings. CORBA::WStrings have their counterparts to the regular string manipulation functions defined in ACE_OS. They are (so far) wslen, wscpy, wscmp, and wsncmp. ACE_OS also has overloaded versions of strlen, strcmp, etc. that work with wstrings on NT, but they are not portable. * tests/Param_Test/bd_string.h: * tests/Param_Test/bd_string.cpp: Fixed some comments pasted in unmodified from other tests, and the SII test call, which was to test_unbounded_string(). Tue Aug 17 15:28:43 1999 Douglas C. Schmidt * TAO-INSTALL.html: Added a reference to the http://www.tenermerx.com/tao_bcb/index.html link provided by Christopher Kohlhoff to explain how to build TAO using Borland C++ Builder. Tue Aug 17 16:45:35 1999 Darrell Brunsch * TAO-INSTALL.html: Changed Windows NT directions to adhere to the new strategy for TAO_IDL's preprocessor default. Tue Aug 17 15:40:22 1999 Darrell Brunsch * TAO_IDL/tao_idl.dsp: * TAO_IDL/tao_idl_static.dsp: Removed the definition of CPP_LOCATION from the projects. * TAO_IDL/driver/drv_init.cpp: For Win32, use the ACE_CC_COMPILER macro instead of CPP_LOCATION for the name of the compiler. Tue Aug 17 15:20:37 1999 Nanbor Wang * tao/POAS.cpp: Fixed unused argument warnings. Tue Aug 17 13:05:40 1999 Jeff Parsons * TAO_IDL/fe/idl.yy: * TAO_IDL/fe/y.tab.h: * TAO_IDL/fe/y.tab.cpp: Added wstring_type_spec to the production rule for param_type_spec. Tue Aug 17 12:10:29 1999 Carlos O'Ryan * docs/Options.html: * tao/default_resource.h: * tao/default_resource.cpp: Added option to control the new signal masking features in the ACE_Select_Reactor * performance-tests/Latency/st_server.conf: Eliminate the signal masking overhead in the Reactor. * tao/ORB_Core.cpp: Removed template instantiations that were not needed anymore. * performance-tests/Latency/client.cpp: * performance-tests/Latency/st_client.cpp: Use _non_existent() to force a connection before running the test, in the future we should use validate_connection() and in the real world we should use -ORBpreconnect but this keeps the test simple. Tue Aug 17 11:28:28 1999 Carlos O'Ryan * tao/Servant_Base.i: Removed pesky warning * tao/ORB_Core.h: Re-arrange some declarations to avoid crashes on shutdown. The lock used for the Data_Block was getting destroyed before the Data_Blocks were. Tue Aug 17 10:53:22 1999 Jeff Parsons * tao/Sequence_T.cpp: Fixed a couple of my typos that compiled under TAO but got caught when called from generated code. * tao/Managed_Types.cpp: Added some comments. * tao/Managed_Types.h: * tao/Managed_Types.i: The copy constructor of TAO_SeqElem_(W)String_Manager is called implicitly in the generated code for the [] operator for sequences of (w)string. This copy constructor is public for strings, and was private and unimplemented for wstrings. The TAO_SeqElem_WString_Manager copy constructor now matches its string counterpart. Tue Aug 17 01:20:37 1999 Nanbor Wang * tao/CurrentC.cpp: * tao/DomainC.cpp: * tao/DomainC.h: * tao/DynAnyC.cpp: * tao/IORC.cpp: * tao/IORC.h: * tao/POAC.cpp: * tao/POAS.cpp: * tao/POA_CORBA.h: * tao/PolicyC.cpp: * tao/PolicyC.h: * tao/PolicyS.cpp: Made sure we enfore the locality constraint rules by removing remote method invocation code, unnecessary skeletons, and the use of null stubs for locality constraint object reference. Otherwise, proper exceptions will be thrown. * tao/ORB.cpp (object_to_string): We should throw an CORBA::MARSHAL exception if a user tries to externalize a locality constraint object. Notice that I don't know how to pass an exception out of the overloaded << operator. * tao/Object.cpp (_is_a,_non_existent): Made sure the function doesn't try to access stub data if the object is locality constraint. (_get_policy_overrides,_set_policy_overrides,_validate_connection): (_get_client_policy,_get_policy): We don't support per-object policies for locality contraint objects. (_create_request,_request): Locality constraint objects don't support DII. (_is_equivalent): Compare the servant pointer directly to determine equivalency for locality constraint object reference. (_hash): Throw an NO_IMPLEMENT exception if the objref is locality constraint. Quite frankly, I don't really know how to implement this function for locality constraint objects. * tao/Servant_Base.{i,cpp} (_create_stub): The implementation for Local_ServantBase should always returns 0 because a null stub is now used to identify locality constraint object reference. This method can potentially be removed and we can always create locality constraint object with a null stub. However, I decided to keep this method around so we can simplify Policy objects which can be either be locality constraint or regular in TAO. Mon Aug 16 21:50:23 1999 Jeff Parsons * TAO_IDL/be_include/be_sequence.h: * TAO_IDL/util/utl_scope.cpp: * TAO_IDL/ast/ast_redef.cpp: * TAO_IDL/be/be_sequence.cpp: * TAO_IDL/be/be_visitor_rettype.cpp: * TAO_IDL/be/be_visitor_argument/ami_arglist.cpp: * TAO_IDL/be/be_visitor_argument/ami_handle_arglist.cpp: * TAO_IDL/be/be_visitor_argument/ami_handler_compiled_marshal_cs.cpp: * TAO_IDL/be/be_visitor_argument/ami_handler_result_arg.cpp: * TAO_IDL/be/be_visitor_argument/ami_handler_upcall_cs.cpp: * TAO_IDL/be/be_visitor_argument/arglist.cpp: * TAO_IDL/be/be_visitor_argument/ami_handler_vardecl.cpp: * TAO_IDL/be/be_visitor_argument/compiled_marshal_cs.cpp: * TAO_IDL/be/be_visitor_argument/compiled_marshal_ss.cpp: * TAO_IDL/be/be_visitor_argument/docall_cs.cpp: * TAO_IDL/be/be_visitor_argument/marshal_ss.cpp: * TAO_IDL/be/be_visitor_argument/post_docall_compiled_cs.cpp: * TAO_IDL/be/be_visitor_argument/post_docall_cs.cpp: * TAO_IDL/be/be_visitor_argument/vardecl_ss.cpp: * TAO_IDL/be/be_visitor_array/array.cpp: * TAO_IDL/be/be_visitor_array/cdr_op_ci.cpp: * TAO_IDL/be/be_visitor_exception/ctor_assign.cpp: * TAO_IDL/be/be_visitor_exception/exception_ctor.cpp: * TAO_IDL/be/be_visitor_field/cdr_op_cicpp: * TAO_IDL/be/be_visitor_exception/field_ch.cpp: * TAO_IDL/be/be_visitor_operation/ami_handler_result_arg.cpp: * TAO_IDL/be/be_visitor_operation/compiled_marshal.cpp: * TAO_IDL/be/be_visitor_operation/rettype.cpp: * TAO_IDL/be/be_visitor_operation/rettype_assign_ss.cpp: * TAO_IDL/be/be_visitor_operation/rettype_is.cpp: * TAO_IDL/be/be_visitor_operation/rettype_marshal_ss.cpp: * TAO_IDL/be/be_visitor_operation/rettype_post_upcall_ss.cpp: * TAO_IDL/be/be_visitor_operation/rettype_return_cs.cpp: * TAO_IDL/be/be_visitor_operation/rettype_vardecl_cs.cpp: * TAO_IDL/be/be_visitor_operation/rettype_vardecl_ss.cpp: * TAO_IDL/be/be_visitor_sequence/sequence_ch.cpp: * TAO_IDL/be/be_visitor_sequence/sequence_ci.cpp: * TAO_IDL/be/be_visitor_sequence/sequence_cs.cpp: * TAO_IDL/be/be_visitor_sequence/cdr_op_cs.cpp: * TAO_IDL/be/be_visitor_sequence/buffer_type.cpp: * TAO_IDL/be/be_visitor_sequence/elemtype.cpp: * TAO_IDL/be/be_visitor_typecode/typecode_defn.cpp: * TAO_IDL/be/be_visitor_typedef/typedef_ch.cpp: * TAO_IDL/be/be_visitor_union_branch/cdr_op_ci.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_ch.cpp: * TAO_IDL/be/be_visitor_union_branch/public_ci.cpp: * TAO_IDL/be/be_visitor_union_branch/public_reset_cs.cpp: * TAO_IDL/be/be_visitor_valuetype/field_ch.cpp: * TAO_IDL/be/be_visitor_valuetype/field_cs.cpp: The new node type NT_wstring is used in code generation for wstring sequences, where it has some switch cases all its own. Otherwise, now that the be_string and AST_String constructors set the pd_width member to sizeof (ACE_CDR::WChar) for wstrings, all that's necessary in most cases is to check the node's width() function and branch accordingly. Several of these files also have had #if 0 blocks and commented-out code removed for this checkin. Mon Aug 16 20:16:35 1999 Carlos O'Ryan * tao/ORB_Core.h: * tao/ORB_Core.cpp: Use a pre-allocated mutex to synchronize access into the input data block reference count. This reduces the number of memory allocations in the critical path (by one), and consequently the number of locks. * tao/Reply_Dispatcher.h: * tao/Reply_Dispatcher.cpp: * tao/Invocation.i: * tao/Transport_Mux_Strategy.cpp: For the Exclusive transport strategy we can use the pre-allocated CDR stream in the reply dispatcher end-to-end, without requiring any transfers to the message state object for the transport. This reduces the locking overhead. * tao/CDR.h: * tao/CDR.i: As in the ACE_InputCDR class we implement a new method to transfer the contents of one CDR stream into another. * tao/IIOP_Connect.cpp: * tao/UIOP_Connect.cpp: Use the new method to transfer the contents of one CDR stream into another, two locks were eliminated thanks to that. Mon Aug 16 17:08:45 1999 Jeff Parsons * TAO_IDL/be/be_visitor_sequence/gen_bounded_str_sequence_ci.cpp: * TAO_IDL/be/be_visitor_sequence/gen_bounded_str_sequence_cs.cpp: Removed code commented out with #if 0. * TAO_IDL/be_include/be_visitor_sequence/sequence_ch.h: * TAO_IDL/be_include/be_visitor_sequence/sequence_ci.h: * TAO_IDL/be_include/be_visitor_sequence/sequence_cs.h: Added declarations for methods in new files listed below. * TAO_IDL/be/be_visitor_sequence.cpp: Added #includes for new files listed below. * TAO_IDL/be/be_visitor_sequence/gen_bounded_wstr_sequence_ch.cpp: * TAO_IDL/be/be_visitor_sequence/gen_bounded_wstr_sequence_ci.cpp: * TAO_IDL/be/be_visitor_sequence/gen_bounded_wstr_sequence_cs.cpp: New files containing methods corresponding to those in gen_bounded_str_sequence_c*.cpp. Mon Aug 16 16:20:30 1999 Jeff Parsons * TAO_IDL/ast/ast_string.cpp: * TAO_IDL/be/be_string.cpp: Mods to constructors to use new enum val NT_wstring where appropriate. * TAO_IDL/be/be_generator.cpp: Changed use of ACE_OS::WChar to ACE_CDR::WChar. Mon Aug 16 14:53:11 1999 Jeff Parsons * tao/sequence.h: * tao/sequence.i: * tao/sequence.cpp: * tao/Sequence_T.h: * tao/Sequence_T.i: * tao/Sequence_T.cpp: Added classes TAO_Bounded_WString_Sequence and TAO_Unbounded_WString_Sequence. Mon Aug 16 13:04:16 1999 Jeff Parsons * TAO_IDL/fe.idl.yy: * TAO_IDL/fe/y.tab.h: * TAO_IDL/fe/y.tab.cpp: * TAO_IDL/include/ast_decl.h One last bit of wstring business in idl.yy, and a new node type NT_wstring. Sat Aug 14 17:39:04 1999 Carlos O'Ryan * tao/Pluggable.h: * tao/Pluggable.i: * tao/Pluggable.cpp: * tao/Asynch_Invocation.cpp: * tao/Invocation.cpp: Small optimization on the critical path: reduce number of virtual calls and use inline methods in a couple of places. * TAO_IDL/Makefile: Removed repeated -lACE option on the link line. Fri Aug 13 16:39:42 1999 Jeff Parsons * tao/corbafwd.h: Added typedef for CORBA::WString. * TAO_IDL/fe/idl.ll: * TAO_IDL/fe/idl.yy: * TAO_IDL/fe/y.tab.h: * TAO_IDL/fe/y.tab.cpp: * TAO_IDL/fe/lex.yy.cpp: * TAO_IDL/fe/lex.yy.cpp.diff: Production rule and lex rule for wstring literals. Functions that checks validity of wstring literal (including containment of 0 value Unicode escape sequence) is still a stub at this point, pending clarification of the spec. * TAO_IDL/include/ast_expression.h: * TAO_IDL/include/ast_generator.h: * TAO_IDL/be_include/be_expression.h: * TAO_IDL/be_include/be_generator.h: * TAO_IDL/ast/ast_expression.cpp: * TAO_IDL/ast/ast_generator.cpp: * TAO_IDL/be/be_expression.cpp: * TAO_IDL/be/be_generator.cpp: Expression constructors and generators for wstring values. * TAO_IDL/be/be_sunsoft.cpp: Filled in case for wstring literal print. Doesn't handle Unicode escape sequences yet. Fri Aug 13 12:53:51 1999 Carlos O'Ryan * tao/varout.i: * tao/varout.cpp: Outline several functions because they were causing problems with forward declared interfaces. In particular $TAO_ROOT/tao/InterfaceC.cpp would not compile under certain platforms. * tao/Makefile: Updated dependencies Fri Aug 13 12:44:08 1999 David L. Levine * Makefile: added support for creating kits with or without a new tag. Fri Aug 13 12:13:44 1999 Carlos O'Ryan * orbsvcs/tests/Simple_Naming/run_test.pl: Reduce the number of threads, it was starting 25 threads and that creates problems with the backlog queue in the acceptors. We know we could do better things about that (like using asynchronous connections), track [BUGID:132] and [BUGID:189] for more details. Fri Aug 13 12:09:17 1999 Jeff Parsons * TAO_IDL/be_include/be_expression.h: * TAO_IDL/be_include/be_generator.h: * TAO_IDL/be/be_expression.cpp: * TAO_IDL/be/be_generator.cpp: Had to put back the removed function and contructor below (with the correct from_wchar signature). A good lesson that all overloaded virtual functions must be overridden, else they are hidden and the compiler warns. Thu Aug 12 22:07:25 1999 Jeff Parsons * TAO_IDL/be_include/be_expression.h: * TAO_IDL/be_include/be_generator.h: * TAO_IDL/be/be_expression.cpp: * TAO_IDL/be/be_generator.cpp: Removed create_expression() and be_expression constructor for wchars. Not needed. Thanks to a SunCC warning reported by David for making me take a second look at the code. Thu Aug 12 20:55:44 1999 David L. Levine * tao/orbconf.h: added TAO_NAMESPACE_CLOSE. It must now be used with TAO_NAMESPACE. Removed trailing ; from TAO_NAMESPACE_END with ACE_HAS_USING_KEYWORD. [Bug 218] * TAO_IDL/be/be_visitor_module/module_ch.cpp, TAO_IDL/be/be_visitor_module/module_sh.cpp, TAO_IDL/be/be_visitor_valuetype/obv_module.cpp, tao/CONV_FRAME[CS].h,tao/IO[PR][CS].h, tao/Messaging[CS].h,tao/POA[CS].h,tao/PollableS.h, tao/TimeBaseC.h,tao/corbafwd.h: added TAO_NAMESPACE_CLOSE corresponding to each TAO_NAMESPACE. Thu Aug 12 20:50:37 1999 Carlos O'Ryan * Makefile: Added missing '\' Thu Aug 12 19:54:19 1999 David L. Levine * Makefile: set CONTROLLED_FILES to be the entire TAO directory. There were some files and directories that weren't be labelled for releases/betas because they weren't specifically listed. I don't think that any of them need to be excluded from kits. Thu Aug 12 17:12:43 1999 Jeff Parsons * TAO_IDL/be/be_visitor_rettype.cpp: * TAO_IDL/be/be_visitor_typecode/typecode_defn.cpp: * TAO_IDL/include/ast_predefined_type.h: Fixed some incorrect comments found as a by-product of making the changes below. * TAO_IDL/fe/idl.ll: * TAO_IDL/fe/idl.yy: * TAO_IDL/fe/y.tab.h: * TAO_IDL/fe/y.tab.cpp: * TAO_IDL/fe/lex.yy.cpp: * TAO_IDL/fe/lex.yy.cpp.diff: * TAO_IDL/include/ast_expression.h: * TAO_IDL/include/ast_generator.h: * TAO_IDL/be_include/be_expression.h: * TAO_IDL/be_include/be_generator.h: * TAO_IDL/ast/ast_constant.cpp: * TAO_IDL/ast/ast_expression.cpp: * TAO_IDL/ast/ast_generator.cpp: * TAO_IDL/be/be_constant.cpp: * TAO_IDL/be/be_expression.cpp: * TAO_IDL/be/be_generator.cpp: * TAO_IDL/be/be_sunsoft.cpp: * TAO_IDL/util/utl_error.cpp: Implementation of wide characters in IDL. Includes two new lex rules, one to recognize the L' ' form and one to recognize the L'\uxxxx' form. Also two new yacc tokens for wchar literal and wstring literal, a new production rule for wchar constants, a function to parse the escape form of wchar literals, AST_Expression and be_expression constructor overloads for wchars, changes in coercion of constant values (ACE_OS::WChar has been resized to 2 bytes to optimize for the Unicode common case), and several fill-ins of empty wchar case statements. Modified I/O format for wchars, but there's more to be done on that score yet. Thu Aug 12 16:22:08 1999 Carlos O'Ryan * orbsvcs/tests/EC_Custom_Marshal/ECM_Consumer.cpp: * orbsvcs/tests/EC_Custom_Marshal/ECM_Supplier.cpp: * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: * orbsvcs/tests/EC_Throughput/ECT_Consumer_Driver.cpp: * orbsvcs/tests/EC_Throughput/ECT_Supplier_Driver.cpp: * orbsvcs/tests/EC_Throughput/ECT_Throughput.cpp: * orbsvcs/tests/Event/Basic/Schedule.cpp: * orbsvcs/tests/Event/lib/Driver.cpp: * utils/nslist/nslist.cpp: Removed more gcc-2.95 warnings. Thu Aug 12 16:06:16 1999 David L. Levine * TAO version 1.0.1 released. Thu Aug 12 15:49:00 1999 David L. Levine * Makefile,bin/make_release: build kits in /tmp staging area, and copy to ace's ftp pub/ACE directory. Thu Aug 12 11:45:21 1999 Carlos O'Ryan * tests/IDL_Test/Makefile: Sometimes the canonical rule for reopened_modules.idl was invoked, and not our special one, this resulted in some annoying warnings that we want to silence. Wed Aug 11 13:35:11 1999 Nanbor Wang * tao/Typecode_Constants.cpp (init): I didn't remove all ServiceContextList related code completely. Thanks to Carlos for pointing this out. * tao/UIOP_Transport.cpp (handle_client_input): Changed TAO_GIOP_ServiceContextList to IOP::ServiceContextList. Thanks to David for reporting this. Wed Aug 11 13:06:22 1999 Carlos O'Ryan * rules.tao.GNU: Put some sanity back into the definition of the interface_repo macro. If set to 1 then we enable the interface repository features in TAO, otherwise it is disabled. The default is to have them enabled. Wed Aug 11 12:13:35 1999 Carlos O'Ryan * orbsvcs/orbsvcs/AV/AVStreams_i.cpp: Fixed memory managment problems in the connected_fep() implemenation. Fixed connection when using multiple flows. * orbsvcs/tests/AVStreams/Makefile: * orbsvcs/tests/AVStreams/Latency/Makefile: * orbsvcs/tests/AVStreams/Latency/README: * orbsvcs/tests/AVStreams/Latency/control.cpp: * orbsvcs/tests/AVStreams/Latency/ping.cpp: * orbsvcs/tests/AVStreams/Latency/ping.h: * orbsvcs/tests/AVStreams/Latency/pong.cpp: * orbsvcs/tests/AVStreams/Latency/pong.h: * orbsvcs/tests/AVStreams/Latency/svc.conf: A simple latency test for the AV streams pluggable protocol framework. Wed Aug 11 11:18:01 1999 David L. Levine * orbsvcs/orbsvcs/Event/EC_Sched_Filter_Builder.cpp (recursive_build, recursive_name): Removed trailing "l" from timeout name. Wed Aug 11 11:00:37 1999 Carlos O'Ryan * tests/Faults/pong.cpp: Left hooks to print the exceptions when received. This is useful when debugging the program. * tests/Faults/Faults.dsw: * tests/Faults/pong.dsp: * tests/Faults/ping.dsp: Added new project files Wed Aug 11 11:03:29 1999 David L. Levine * orbsvcs/orbsvcs/Event/EC_Sched_Filter_Builder.cpp (recursive_build, recursive_name): changed ACE_CU64_TO_CU32 to a static cast, because the division converts to 32 bits with ACE_LACKS_LONGLONG_T. Wed Aug 11 10:40:54 1999 Jeff Parsons * tao/Any.cpp: Added an ACE_DEBUG message to an ACE_CATCHANY block that I missed yesterday. Wed Aug 11 10:21:05 1999 Carlos O'Ryan * tests/NestedUpcall/Simple/client.cpp: Removed unused variable * tao/Tagged_Components.cpp: Use CORBA::Boolean with to_boolean() helper classes, not CORBA::Octet. Unfortunately only a few platform catches those, thanks to David for pointing it out. Wed Aug 11 10:04:57 1999 Carlos O'Ryan * examples/Event_Comm/Consumer_Handler.cpp: * examples/OBV/Typed_Events/Event_Types_impl.cpp: * examples/POA/Default_Servant/File_i.cpp: * examples/Quoter/server.cpp: * examples/Simple/bank/AccountManager_i.cpp: * examples/Simple/bank/Account_i.cpp: * orbsvcs/orbsvcs/Event/EC_Sched_Filter_Builder.cpp: * orbsvcs/orbsvcs/Event/RT_Task.cpp: * orbsvcs/orbsvcs/Naming/Persistent_Naming_Context.cpp: * orbsvcs/orbsvcs/Naming/Transient_Naming_Context.cpp: * orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp: * orbsvcs/orbsvcs/Trader/Offer_Database.cpp: * orbsvcs/orbsvcs/Trader/Service_Type_Repository.cpp: * orbsvcs/orbsvcs/Trader/Trader_Utils.cpp: * orbsvcs/tests/Event/Basic/BCast.cpp: * orbsvcs/tests/Event/Basic/BCast.h: * performance-tests/Thruput/TAO/utils.cpp: * utils/nslist/nslist.cpp: Fixed several warnings under gcc-2.95 Wed Aug 11 09:18:53 1999 Nanbor Wang The following changes are used to surface the ServiceContextList so interceptors can access them at inteception points. * tao/ORB_Core.h: * tao/ORB_Core.i: The ORB_Core no longer owns the ServiceContextList object. ServiceContextList objects are now associated with Invocation or ServerRequest objects. * tao/GIOP.cpp: * tao/GIOP.h: Disabled the definition/implementation of TAO_GIOP_ServiceContextList and changed to use IOP::ServiceContextList. The TAO_GIOP_ServiceContextList was apparently redundant. (write_request_header): The request ServiceContextList is now passed down thru this method and its friends instead of getting the default one from the ORB_Core. * tao/Server_Request.h: * tao/GIOP_Server_Request.cpp: * tao/GIOP_Server_Request.h: * tao/GIOP_Server_Request.i: ServerRequest and friends now owns the request ServiceContextList object passed from the client. It also maintains a separate ServiceContextList object for two way calls. * tao/Pluggable.cpp: * tao/Pluggable.h: * tao/IIOP_Transport.cpp: * tao/IIOP_Transport.h: * tao/UIOP_Transport.cpp: * tao/UIOP_Transport.h: The method now takes an extra ServiceContextList argument to build a request headers. * tao/Asynch_Invocation.cpp: * tao/Asynch_Invocation.h: * tao/Asynch_Invocation.i: * tao/Invocation.cpp: * tao/Invocation.h: * tao/Invocation.i: The invocation class now owns the request ServiceContextList. Accessors for both request and reply ServiceContextList are added. * tao/Transport_Mux_Strategy.cpp: * tao/Transport_Mux_Strategy.h: Changed the use of TAO_GIOP_ServiceContextList to IOP::ServiceContextList. * tao/Reply_Dispatcher.cpp: * tao/Reply_Dispatcher.h: * tao/Reply_Dispatcher.i: Added accesor to the reply ServiceContextList object so we can get a hold on the object from the invocation object. * tao/Typecode_Constants.cpp: Removed the typecode constant for TAO_GIOP_ServiceContext and TAO_GIOP_ServiceContextList. We now use the ones defined in IOPC.cpp. Wed Aug 11 09:45:23 1999 Jeff Parsons * tests/IDL_Test/main.cpp: Removed an unneeded '#pragma once' and fixed some ACE_CHECK_RETURNs used inside a try block. Thanks to David for pointing out the boo-boos. Tue Aug 10 21:55:52 1999 Jeff Parsons * TAO_IDL/fe/lex.yy.cpp: * fe/lex.yy.cpp.diff: Substituted a hard 'break;' for TAO_YY_BREAK in two places. TAO_YY_BREAK is defined as ACE_NOTREACHED (break;), which, for some compilers, is defined in OS.h as a null statement. TAO_YY_BREAK is used in many places after a 'return xxx' statement, but in the aforementioned two places, there was no 'return', so for those compilers, control was falling through to the next case. Thanks to Christopher Kohlhoff for tracking this down on Borland C++ Builder. Tue Aug 10 20:40:32 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Event/EC_Priority_Dispatching.cpp: It was ACE_CU64_TO_CU32 instead of ACE_U64_TO_U32 Tue Aug 10 19:59:10 1999 Jeff Parsons * tao/Any.h: * tao/Any.i: * tao/Any.cpp: * tao/CDR.h: * tao/CDR.i: Added the wstring versions of the <<=, >>=, << and >> operators. Also moved the <<= operators in Any.i to Any.cpp (they are much too long to inline), and added an ACE_DEBUG message to the previously empty ACE_CATCHANY block in the Any operators. Tue Aug 10 12:11:44 1999 Jeff Parsons * tests/TAO_Test.dsw: * tests/README: Added IDL_Test project to workspace and added a paragraph about IDL_Test to README. Tue Aug 10 11:52:50 1999 Carlos O'Ryan * tao/ORB_Core.cpp: The timeout values were not normalized, leading to strange errors in the calls to select() Tue Aug 10 11:48:46 1999 Jeff Parsons * tests/IDL_Test/pragma.idl: * tests/IDL_Test/run_test.pl: * tests/IDL_Test/main.cpp: * tests/IDL_Test/Makefile: * tests/IDL_Test/README: Added new .idl file to generate pragma prefixes, including various declarations that have caused the prefixes to be dropped in the past. Added code to main.cpp to check the correctness of the prefixes, and a perl script to run the test. Finally, changes to Makefile and README reflecting the above additions. Tue Aug 10 08:51:12 1999 David L. Levine * orbsvcs/orbsvcs/Event/EC_Priority_Dispatching.cpp (activate): fixed typo, ACE_U64_TO_U32 instead of ACE_CU64_TO_U32. Mon Aug 9 22:26:34 1999 Jeff Parsons * TAO_IDL/driver/drv_args.cpp: Found a mistake is DRV_usage. When we were toggling the default behavior for case-only spelling differences between identifiers in the same scope back and forth between warning and error, this one got left on the wrong toggle. Mon Aug 9 20:13:04 1999 Carlos O'Ryan * tests/IDL_Test/Makefile: Now it doesn't re-compile every time, the phony rule to force the generation of the reopened_modules.idl was adjusted to create a stamp file. * orbsvcs/orbsvcs/Event/EC_Priority_Dispatching.cpp: Fixed warning under NT. Mon Aug 09 19:11:12 1999 Nanbor Wang * tests/InterOp-Naming/{server,client}.dsp: Changed the executable names from server/client to INS_test_server/INS_test_client respectively. Thanks to Mitsuhiko Hara for reporting this. Mon Aug 09 17:52:42 1999 Nanbor Wang * TAO_IDL/be/be_visitor_root/root_ih.cpp (init): * TAO_IDL/be/be_visitor_root/root_sh.cpp (init): * TAO_IDL/be/be_interface.cpp (gen_perfect_hash_instance): (gen_gperf_lookup_methods): Fixed incorrect usages of %p flag. Mon Aug 9 17:25:14 1999 Jeff Parsons * tao/DynArray_i.cpp: Change to get_arr_length(), which was broken. Maybe some code got cut out by mistake with some previous change. Thanks to Mitsuhiko Hara for pointing out the problem. Mon Aug 9 12:00:12 1999 Carlos O'Ryan * tao/IOR_LookupTable.cpp: Added missing #include required for platforms without native exceptions. Mon Aug 09 09:38:00 1999 David L. Levine * tao/Exception.cpp (_tao_errno): only provide the ENOTSUP case if ENOTSUP != ENOSYS. Thanks to Andy for reporting this, on NT. Sun Aug 08 21:09:30 1999 David L. Levine * tao/corbafwd.h,Exception.cpp: added minor code support for ECOMM, ECONNRESET, and ENOTSUP errnos. [Bug 216] Sun Aug 8 15:44:15 1999 Carlos O'Ryan * tao/Transport_Mux_Strategy.cpp: Removed unreachable statement. * tao/IORC.cpp: * tao/IORManipulation.cpp: * tao/IOR_LookupTable.cpp: * tao/ObjectIDList.h: * tao/ObjectIDList.cpp: Removed cyclic dependencies on corba.h, this may fix the problems with g++ 2.7.2.X * TAO_IDL/Makefile: * examples/POA/Loader/Makefile: * examples/POA/On_Demand_Activation/Makefile: * examples/POA/On_Demand_Loading/Makefile: * orbsvcs/tests/ImplRepo/Makefile: * performance-tests/Cubit/COOL/IDL_Cubit/Makefile: * performance-tests/Cubit/COOL/MT_Cubit/Makefile: * performance-tests/Cubit/Orbix/base_server/Makefile: * performance-tests/Cubit/Orbix/client/Makefile: * performance-tests/Cubit/Orbix/factory_client/Makefile: * performance-tests/Cubit/Orbix/tpool/Makefile: * performance-tests/Cubit/Orbix/tpr/Makefile: * performance-tests/Cubit/Orbix/tps/Makefile: * performance-tests/Thruput/COOL/Makefile: * performance-tests/Thruput/CORBAplus/Makefile: * performance-tests/Thruput/TAO/Makefile: * tests/Makefile: * utils/catior/Makefile: * utils/nslist/Makefile: Removed rules.lib.GNU because it wasn't used. Fri Aug 06 21:45:14 1999 David L. Levine * performance-tests/Cubit/TAO/IDL_Cubit/README: fixed simplest collocation test example (it doesn't use -c). Fri Aug 6 21:29:14 1999 Carlos O'Ryan * tests/Makefile: The Faults test does not compile under minimum corba * orbsvcs/orbsvcs/Event/Event_Channel.cpp: Fixed warnings on single threaded environments. Fri Aug 6 20:51:07 1999 Carlos O'Ryan * orbsvcs/examples/RtEC/Schedule/Schedule.h: * orbsvcs/examples/RtEC/Schedule/Service.cpp: * orbsvcs/examples/RtEC/Schedule/svc.conf: * orbsvcs/orbsvcs/Event/EC_Event_Channel.cpp: * orbsvcs/orbsvcs/Event/EC_Priority_Dispatching.cpp: * orbsvcs/orbsvcs/Event/EC_Priority_Scheduling.cpp: * orbsvcs/orbsvcs/Event/EC_ProxySupplier.cpp: * orbsvcs/orbsvcs/Event/EC_Sched_Filter.h: * orbsvcs/orbsvcs/Event/EC_Sched_Filter.cpp: * orbsvcs/orbsvcs/Event/EC_Sched_Filter_Builder.h: * orbsvcs/orbsvcs/Event/EC_Sched_Filter_Builder.cpp: Fixed numerous problems with the propagation of scheduling information, this was the first breakthrough in the solution of [BUGID:30] * tao/GIOP.cpp: For some reason now read() was returning with 0 and errno == EWOULDBLOCK when the connection was closed, this fixes the recent time outs on the server shutdown for both the Latency and the MT_Server test. Fri Aug 6 19:30:00 1999 Kirthika Parameswaran * docs/releasenotes/trader.html: changed code snippets in documentation to have ACE exception macros instead of TAO exception macros. Fri Aug 6 18:31:31 1999 Mike Moran * tests/Explicit_Event_Loop/ * tests/Explicit_Event_Loop/Makefile: * tests/Explicit_Event_Loop/CHANGES: * tests/Explicit_Event_Loop/README: * tests/Explicit_Event_Loop/client.cpp: * tests/Explicit_Event_Loop/run_test.pl: * tests/Explicit_Event_Loop/server.cpp: * tests/Explicit_Event_Loop/server.h: * tests/Explicit_Event_Loop/time.idl: Added a simple test to use work_pending() and perform_work() at the request of [BUGID:202]. Fri Aug 6 17:10:33 1999 Pradeep Gore * examples/Event_Comm/Consumer_Handler.cpp: * examples/Event_Comm/Notifier_Handler.cpp: * examples/Event_Comm/Notifier_Server.cpp: Added missing code to activate the POA Manager. Thanks to Hoang Duong for reporting this. Fri Aug 6 16:30:30 1999 Douglas C. Schmidt * examples/Borland/ChatClientWnd.cpp: Improved the printouts that are called to display which exceptions are thrown. Thanks to Christopher Kohlhoff for contributing this. Fri Aug 06 14:24:49 1999 Nanbor Wang * tao/orbconf.h (TAO_DEFAULT_RESOURCE_FACTORY_ARGS): Replaced the obsolete option -ORBReactorLock with -ORBReactorType. Thu Aug 05 15:48:44 1999 Nanbor Wang * orbsvcs/Naming_Service/Naming_Service.dsp: * orbsvcs/orbsvcs/orbsvcs.dsp: * tao/TAO.dsp: Changed the default configuration to Win32 Debug so if anyone doesn't know what he is doing, he'll most likely to success. Fri Aug 06 13:20:23 1999 Carlos O'Ryan * tao/ORB_Core.cpp: * tao/default_server.cpp: The thread per connection timeouts where not properly initialized by default. Thanks to Alexander Villatora for reporting this problem. * tao/IIOP_Connect.cpp: Added some debugging messages. * performance-tests/Latency/Latency.dsw: * performance-tests/Latency/st_client.dsp: * performance-tests/Latency/st_server.dsp: Added missing project files. * performance-tests/Latency/st_client.cpp: Added option to pace the requests. * tao/orbconf.h: Fixed a comment Fri Aug 06 11:03:53 1999 David L. Levine * orbsvcs/Concurrency_Service/Makefile, orbsvcs/Naming_Service/Makefile, orbsvcs/Trading_Service/Makefile: removed unnecessary include of include/makeinclude/rules.lib.GNU. It bothered builds on NT for VxWorks target. Thanks to Erik Johannes and Stephane Chatre for reporting this. [Bug 210] Fri Aug 06 10:39:36 1999 David L. Levine * performance-tests/Cubit/TAO/MT_Cubit/Globals.cpp (get_low_priority): added some ACE_UNUSED_ARGS when ACE_HAS_THREADS isn't #defined. Thanks to Carlos for reporting this, automatically. Thu Aug 5 19:13:36 1999 Carlos O'Ryan * orbsvcs/tests/EC_Basic/EC_Basic.cpp: Fixed the test, it was crashing because the disconnect() call was effectively disabling any chance of reconnecting the suppliers. This fixes [BUGID:209] Thu Aug 5 17:19:43 1999 Balachandran Natarajan * tests/Xt_Stopwatch/README: Updated the file to add some info about the svc.conf file and the resources that needs to be set. Thanks to Arno Pernozzoli for suggesting this. Thu Aug 5 16:36:18 1999 Carlos O'Ryan * Benchmark/benchmark/Makefile: * examples/POA/Generic_Servant/Makefile: * examples/Simple/time-date/Makefile: * orbsvcs/orbsvcs/Makefile: * orbsvcs/tests/Event/lib/Makefile: * orbsvcs/tests/Trading/Makefile: * tao/Makefile: Changed to use the new ACE_SHLIBS macro, this should let TAO compile under AIX, fixing [BUGID:171] Thu Aug 5 16:04:04 1999 Douglas C. Schmidt * tests/XtStopwatch: Updated this test to make the code conform to the TAO programming style. Thu Aug 5 15:46:38 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Event/EC_Type_Filter.cpp: Fixed the wildcard matching routines, wildcards on the producers where not matched properly. This fixes [BUGID:96] * orbsvcs/tests/Event/Basic/Makefile: * orbsvcs/tests/Event/Basic/run_test.pl: * orbsvcs/tests/Event/Basic/Wildcard.h: * orbsvcs/tests/Event/Basic/Wildcard.cpp: Added a new test to verify that the wildcard features in the event channel do work. Thanks to Paul Calabrese for pointing out these problems. Thu Aug 05 15:29:16 1999 Nanbor Wang * performance-tests/Cubit/TAO/IDL_Cubit/collocation_test.cpp (main): Unlink the ior file when we are done. Thu Aug 05 14:57:00 1999 Nanbor Wang * tests/Collocation/Coll_Test_Skels.dsp: * tests/Collocation/skel_export.h: Replaced these two files with Diamond.dsp and diamond_export.h. * tests/Collocation/Diamond.dsp: * tests/Collocation/diamond_export.h: The new Diamond library contains not only the skeletons but also the implementations for Diamond objects. * tests/Collocation/Diamond_i.h: Added Diamond_Export to all classes. * tests/Collocation/Coll_Test_Stubs.dsp: Updated the IDL custom build settings. * tests/Collocation/Collocation.dsp: Removed Diamond.idl from the project. It no longer depends on it. Change the use of skel library to Diamond library. * tests/Collocation/Collocation.dsw: * tests/Collocation/README: Adapt the above changes. Thanks to Francois Bernier for motivating the change. Thu Aug 05 14:38:48 1999 Nanbor Wang * TAO_IDL/be_include/be_interface.cpp (be_interface_type_strategy): * TAO_IDL/be/be_interface.cpp (be_interface_type_strategy, compute_coll_names,full_coll_name,local_coll_name): Some fixes to the collocation name computations got erased during recent AMI merge. Thu Aug 5 12:46:15 1999 Douglas C. Schmidt * TAO_IDL/driver/drv_args.cpp (DRV_usage): Improved the IDL compiler documentation for the -Ge option. Thanks to Paul Calabrese for suggesting this. Thu Aug 5 12:47:00 1999 Chris Gill * orbsvcs/orbsvcs/Sched/DynSched.cpp orbsvcs/orbsvcs/Sched/Scheduler_Generic.cpp: fixed ACE guard usage for multi-threaded case. Thu Aug 5 11:46:01 1999 Balachandran Natarajan * rules.tao.GNU: Moved the definition of interface_repo from $ACE_ROOT/include/makeinclude/wrapper_macros.GNU here as per Dr.Levine's suggestions * tao/InterfaceC.h: Added #incude "tao/varout.h" to fix an error with SunCC4.2. This #include should bring in the definition of TAO_Object_Field_T . Thu Aug 5 09:13:53 1999 Douglas C. Schmidt * tao/ORB.cpp (work_pending): Reverted the implementation so that it always returns 1 and doesn't forward to the Reactor's work_pending() method. Irfan needs to fix this when he returns. Thanks to Trey Grubbs for reporting this. * TAO_IDL/driver/drv_args.cpp (DRV_usage): Changed the output so that it correctly indicates that C++ exception support is enabled by default. Thanks to Alex Hornby for reporting this. Thu Aug 05 12:05:42 1999 David L. Levine * rules.tao.GNU: moved minimum_corba make flag support from ../wrapper_macros.GNU to rules.tao.GNU. Thanks to Bala for noticing this. [Bug 204] Wed Aug 4 22:28:07 1999 Balachandran Natarajan * tao/InterfaceC.cpp: Fixed warnings on Linux Wed Aug 04 21:16:08 1999 Carlos O'Ryan * version_tests.dsw: * orbsvcs/tests/Event/Event.dsw: * orbsvcs/tests/Event/Basic/Basic.dsw: * orbsvcs/tests/Event/Basic/Timeout.dsp: Added the new test to the NT project files. Wed Aug 4 20:35:06 1999 Carlos O'Ryan * orbsvcs/orbsvcs/Event/EC_ProxySupplier.h: * orbsvcs/orbsvcs/Event/EC_ProxySupplier.cpp: * orbsvcs/orbsvcs/Event/EC_QOS_Info.h: * orbsvcs/orbsvcs/Event/EC_QOS_Info.i: * orbsvcs/orbsvcs/Event/EC_Timeout_Filter.h: * orbsvcs/orbsvcs/Event/EC_Timeout_Filter.cpp: Fixed deadline timeouts and timeouts in conjunction groups, this fixes both [BUGID:94] and [BUGID:95] * orbsvcs/orbsvcs/Event/EC_Sched_Filter_Builder.cpp: * orbsvcs/orbsvcs/Event/EC_Basic_Filter_Builder.cpp: Fixed problem when building conjunction groups that contain timeout events too. * orbsvcs/tests/Event/Basic/Makefile: * orbsvcs/tests/Event/Basic/run_test.pl: * orbsvcs/tests/Event/Basic/Timeout.h: * orbsvcs/tests/Event/Basic/Timeout.cpp: Added a new test to verify that the EC timeout events work correctly. Thanks to Paul Calabrese for providing the use and reporting the bugs. Wed Aug 4 17:40:00 1999 Chris Gill * orbsvcs/orbsvcs/Sched/DynSched.cpp orbsvcs/orbsvcs/Sched/Scheduler_Generic.cpp: fixed ACE guard usage for single threaded case. Wed Aug 4 16:57:45 1999 Balachandran Natarajan * tao/InterfaceC.cpp: * tao/InterfaceC.i:Made changes to theses files to compile on NT. * tao/TAO.dsp: * tao/TAO_Static.dsp:Added files of Interface Repo to these project files. * tao/orbconf.h: Added a definition for the interface repository. The files can be compiled by uncommenting the #define for the interface repository. Wed Aug 4 15:57:38 1999 Carlos O'Ryan * TAO_IDL/be_include/be_interface.h: Fixed warnings under IRIX/MIPSPro Wed Aug 4 15:40:40 1999 Carlos O'Ryan * examples/Makefile: Do not compile the AMI example, asynchronous messaging is still disabled by default. Wed Aug 4 15:20:03 1999 Douglas C. Schmidt * examples/Simple/time-date/Time_Date: Updated this example to illustrate the use of special-purpose Reactors, e.g., if the platform doesn't support threads. Thanks to Shaun Ohagan for motivating this. Wed Aug 04 14:14:22 1999 Nanbor Wang * performance-tests/Cubit/TAO/IDL_Cubit/collocation_test.cpp (main): Removed an unused variable. Thanks to Carlos for reporting this. Wed Aug 4 12:02:45 1999 Carlos O'Ryan * Integrated the changes in the ami_phase4 branch, this includes the support in the IDL compiler, request muxing over the same connection, generation of ReplyHandlers, the AMI demo, support for multiple threads waiting for a reply on the same connection, etc. The changes are summarized below, most of them were done by Alex and Michael, I contributed the demo. * tao/Reply_Dispatcher.cpp: Optimized reply dispatching, there is no need to create a new CORBA_Environment (which is an expensive operation) when there is a TSS environment object available. * performance-tests/Latency/Makefile: * performance-tests/Latency/ami-latency-client.cpp: * performance-tests/Latency/ami-throughput-client.cpp: * performance-tests/Latency/client-st-muxed.conf: * performance-tests/Latency/client.cpp: * performance-tests/Latency/st-client.cpp: * performance-tests/Latency/test.idl: * performance-tests/Latency/test_i.cpp: * performance-tests/Latency/test_i.h: To measure round-trip latencies in two-way asynchronous requests we simply send the time-stamp as an argument for the request, which is returned and used in the ReplyHandler to measure the delay. * examples/Makefile: * examples/AMI/Makefile: * examples/AMI/FL_Callback/Makefile: * examples/AMI/FL_Callback/README: * examples/AMI/FL_Callback/test.idl: * examples/AMI/FL_Callback/Peer_i.cpp: * examples/AMI/FL_Callback/Peer_i.h: * examples/AMI/FL_Callback/Peer_i.i: * examples/AMI/FL_Callback/Progress_i.cpp: * examples/AMI/FL_Callback/Progress_i.h: * examples/AMI/FL_Callback/Progress_i.i: * examples/AMI/FL_Callback/peer.conf: * examples/AMI/FL_Callback/peer.cpp: * examples/AMI/FL_Callback/progress.cpp: * examples/AMI/FL_Callback/svc.conf: New demo for asynchronous messaging, it uses a simple GUI to display the progress in the clients as requests and replys are sent asynchronously. * TAO_IDL/be/be_visitor_interface/ami_handler_stub_ch.cpp: The _nil() methods where not generated properly. * TAO_IDL/be/be_visitor_operation/ami_handler_skeleton_cs.cpp: The "smart stubs" where not working for void functions without out or inout arguments, thanks to Michael for helping me out with this fix. * performance-test/Latency/Makefile * performance-test/Latency/README * performance-test/Latency/client-st-exclusive.conf * performance-test/Latency/client-st-muxed.conf * performance-test/Latency/client.cpp * performance-test/Latency/server.conf * performance-test/Latency/server.cpp * performance-test/Latency/st-client.cpp : Test suite for AMI. * performance-test/Latency/ami-throughput-client.cpp : Added this test. * performance-test/Latency/client.exclusive.conf : Removed this file. I have conf files for st and mt case separately now. * performance-test/Latency/Makefile : Added the st-client test and AMI test. To compile AMI make AMI=1. But you cannot use the testC.cpp generated by TAO IDL. You should use test-handC.cpp. You should just copy this file onto testC.cpp. * performance-test/Latency/ami-latency-client.cpp : AMI test. * performance-test/Latency/st-client.cpp : Single threaded SMI test. * performance-test/Latency/client-st-exclusive.conf : SMI test. Wait on Reactor. * performance-test/Latency/client-mt-exclusive.conf : SMI wait on leader follower. * tao/Invocation.cpp * tao/Pluggable.cpp * tao/Pluggable.h * tao/Transport_Mux_Strategy.cpp * tao/Transport_Mux_Strategy.h Removed the unnessary accessors for the reply_received flag. Added comments about addressing the problem of "idling the Transport after an asynchronous reply is received over an exclusive connection. * tao/GIOP.h * tao/Object_Adapter.cpp * tao/Object_Adapter.h * tao/Object_Adapter.i * tao/Reply_Dispatcher.cpp * tao/Stub.cpp : Merged the changes Carlos and Irfan did in the main brach fixing the memory leaks and optimizing a few locks here and there. * performance-tests/Latency/Makefile * performance-tests/Latency/client.cpp * performance-tests/Latency/test.idl * performance-tests/Latency/test_i.cpp * performance-tests/Latency/test_i.h * performance-tests/Latency/client.exclusive.conf * performance-tests/Latency/ami-latency-client.cpp * performance-tests/Latency/client-st-muxed.conf : Latency test is in place now. This should do for Throughput meaurement also. * tests/AMI/client.cpp: Cosmetic changes. * tao/Reply_Dispatcher.cpp: Removed the unneccessary ACE_DEBUG's. * tests/AMI/README * tests/AMI/client.conf * tests/AMI/client.cpp * tests/AMI/client.muxed.conf * tests/AMI/run_test.pl * tests/AMI/server.cpp * tests/AMI/simple-client.cpp * tests/AMI/test-handC.cpp * tests/AMI/test.idl * tests/AMI/test_i.cpp * tests/AMI/test_i.h : Latest and the greates AMI test. Got it to work with MT as well as ST configuration. MUXED as well as EXCLUSIVE configuation. run_test.pl is not set up yet. There are some minor fixes needed for the TAO IDL compiler to generate correct AMI code. Right now, once the TAO IDL compiler generates the files, rewrite testC.cpp by test-handC.cpp which has the hand crafted correct code for AMI. * tao/Client_Strategy_Factory.cpp * tao/Client_Strategy_Factory.h * tao/ORB_Core.cpp * tao/Pluggable.cpp * tao/Reply_Dispatcher.cpp * tao/Reply_Dispatcher.h * tao/Transport_Mux_Strategy.cpp * tao/Transport_Mux_Strategy.h * tao/Wait_Strategy.cpp * tao/default_client.cpp * tao/default_client.h : Changes are in for the Muxed Leader Follower implementation. * tests/NestedUpcall/Simple/simple-client.cpp * tests/MT_Client/simple-client.conf * tests/MT_Client/client_muxed.conf : Added these files. * tests/NestedUpcall/Simple/client.cpp * tests/NestedUpcall/Simple/server.cpp : cosmetic changes. * tao/ORB_Core.cpp * tao/Reply_Dispatcher.cpp * tao/Reply_Dispatcher.h * tao/Wait_Strategy.cpp : Integrated Carlos's changes to the leader follower model done in the main branch. * tao/Wait_Strategy.cpp: Added debug statements. * tao/GIOP.cpp : Modifications to the dump message routine. * tao/IIOP_Connect.cpp * tao/IIOP_Connect.h * tao/ORB_Core.cpp * tao/ORB_Core.h * tao/Pluggable.cpp * tao/Pluggable.h * tao/Reply_Dispatcher.cpp * tao/Reply_Dispatcher.h * tao/UIOP_Connect.cpp * tao/UIOP_Connect.h * tao/Wait_Strategy.cpp * tao/Wait_Strategy.h Changes for the Muxed Leader Follower Wait Strategy. This is leader follower will be created when MT connection handler and MUXED transport is selected. * tao/GIOP.cpp * tao/GIOP.h * tao/IIOP_Connect.cpp * tao/IIOP_Connect.h * tao/UIOP_Connect.cpp * tao/UIOP_Connect.h Successfully finished implementing the Muxed Transport implementation, but still single threaded. The cool thing is that the NestedUpcall also works on the Muxed Transport case. Needed to make some changes on the Server Connection Handler also, so that it resets the message state before making the upcall. We steal the CDR from there on the stack. * tao/Wait_Strategy.cpp * tao/Wait_Strategy.h * tao/default_client.cpp Moved the Leader Follower implementation to Exclusive Leader Follower class, leaving way for implementing the new Muxed Leader Follower implementation. * tao/Invocation.cpp * tao/Invocation.h * tao/Pluggable.cpp * tao/Pluggable.h * tao/Reply_Dispatcher.cpp * tao/Reply_Dispatcher.h * tao/Wait_Strategy.cpp * tao/Wait_Strategy.h Terminating reactor event loop based on the reply_received flag in the reply dispatcher. Reference to this is passed to the wait strategy from the Invocation class. * tao/Invocation.h: * tao/Invocation.cpp: Added destructors for the Synchronous Invocations classes. * TAO_IDL/be/be_visitor_operation/ami_handler_thru_poa_collocated_ch.cpp * TAO_IDL/be_include/be_visitor_operation/ami_handler_thru_poa_collocated_ch.h: Added these files to generate AMI Reply Handler code. * TAO_IDL/be/be_decl.cpp * TAO_IDL/be/be_helper.cpp * TAO_IDL/be/be_interface.cpp * TAO_IDL/be/be_interface_fwd.cpp * TAO_IDL/be/be_predefined_type.cpp * TAO_IDL/be/be_sequence.cpp * TAO_IDL/be/be_structure.cpp * TAO_IDL/be/be_type.cpp * TAO_IDL/be/be_union.cpp * TAO_IDL/be/be_union_branch.cpp * TAO_IDL/be/be_valuetype.cpp * TAO_IDL/be/be_valuetype_fwd.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_rettype.cpp * TAO_IDL/be/be_visitor_scope.cpp * TAO_IDL/be/be_visitor_argument/argument.cpp * 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_exception/ctor_assign.cpp * TAO_IDL/be/be_visitor_exception/exception_ch.cpp * TAO_IDL/be/be_visitor_exception/exception_ctor.cpp * TAO_IDL/be/be_visitor_field/cdr_op_ci.cpp * TAO_IDL/be/be_visitor_interface/ami_handler_cs.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/ami_handler_servant_ch.cpp * TAO_IDL/be/be_visitor_interface/ami_handler_servant_cs.cpp * TAO_IDL/be/be_visitor_interface/ami_handler_stub_ch.cpp * TAO_IDL/be/be_visitor_interface/ami_handler_stub_cs.cpp * TAO_IDL/be/be_visitor_interface/any_op_ch.cpp * TAO_IDL/be/be_visitor_interface/any_op_cs.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/direct_collocated_ss.cpp * TAO_IDL/be/be_visitor_interface/interface.cpp * TAO_IDL/be/be_visitor_interface/interface_ch.cpp * TAO_IDL/be/be_visitor_interface/interface_ci.cpp * TAO_IDL/be/be_visitor_interface/interface_cs.cpp * TAO_IDL/be/be_visitor_interface/interface_ih.cpp * TAO_IDL/be/be_visitor_interface/interface_is.cpp * TAO_IDL/be/be_visitor_interface/interface_sh.cpp * TAO_IDL/be/be_visitor_interface/interface_ss.cpp * TAO_IDL/be/be_visitor_interface/thru_poa_collocated_sh.cpp * TAO_IDL/be/be_visitor_interface/thru_poa_collocated_ss.cpp * TAO_IDL/be/be_visitor_interface/tie_sh.cpp * TAO_IDL/be/be_visitor_interface/tie_si.cpp * TAO_IDL/be/be_visitor_interface_fwd/interface_fwd_ch.cpp * TAO_IDL/be/be_visitor_operation/ami_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_operation_cs.cpp * TAO_IDL/be/be_visitor_operation/argument.cpp * TAO_IDL/be/be_visitor_operation/argument_marshal.cpp * TAO_IDL/be/be_visitor_operation/exceptlist_cs.cpp * TAO_IDL/be/be_visitor_operation/operation_ami_cs.cpp * TAO_IDL/be/be_visitor_operation/operation_cs.cpp * TAO_IDL/be/be_visitor_operation/operation_is.cpp * TAO_IDL/be/be_visitor_operation/operation_ss.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_bounded_sequence_ci.cpp * TAO_IDL/be/be_visitor_sequence/gen_bounded_sequence_cs.cpp * TAO_IDL/be/be_visitor_sequence/gen_bounded_str_sequence_ci.cpp * TAO_IDL/be/be_visitor_sequence/gen_bounded_str_sequence_cs.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/gen_unbounded_sequence_ci.cpp * TAO_IDL/be/be_visitor_sequence/gen_unbounded_sequence_cs.cpp * TAO_IDL/be/be_visitor_sequence/sequence_ch.cpp * TAO_IDL/be/be_visitor_sequence/sequence_ci.cpp * TAO_IDL/be/be_visitor_sequence/sequence_cs.cpp * TAO_IDL/be/be_visitor_typecode/typecode_defn.cpp * TAO_IDL/be/be_visitor_union/cdr_op_ci.cpp * TAO_IDL/be/be_visitor_union/union_ch.cpp * TAO_IDL/be/be_visitor_union/union_ci.cpp * TAO_IDL/be/be_visitor_union_branch/cdr_op_ci.cpp * TAO_IDL/be/be_visitor_union_branch/public_access_cs.cpp * TAO_IDL/be/be_visitor_union_branch/public_assign_cs.cpp * TAO_IDL/be/be_visitor_union_branch/public_ci.cpp * TAO_IDL/be/be_visitor_union_branch/public_reset_cs.cpp * TAO_IDL/be/be_visitor_valuetype/field_cdr_ci.cpp * TAO_IDL/be/be_visitor_valuetype/field_cs.cpp * TAO_IDL/be/be_visitor_valuetype/marshal_cs.cpp * TAO_IDL/be/be_visitor_valuetype/valuetype.cpp * TAO_IDL/be/be_visitor_valuetype/valuetype_ch.cpp * TAO_IDL/be/be_visitor_valuetype/valuetype_ci.cpp * TAO_IDL/be/be_visitor_valuetype/valuetype_cs.cpp * TAO_IDL/be/be_visitor_valuetype/valuetype_obv_ch.cpp * TAO_IDL/be/be_visitor_valuetype/valuetype_obv_cs.cpp * TAO_IDL/be/be_visitor_valuetype_fwd/interface_fwd_ch.cpp * TAO_IDL/be/be_visitor_valuetype_fwd/interface_fwd_ci.cpp * TAO_IDL/be_include/be_codegen.h * TAO_IDL/be_include/be_decl.h * TAO_IDL/be_include/be_helper.h * TAO_IDL/be_include/be_interface.h * TAO_IDL/be_include/be_visitor_interface.h * TAO_IDL/be_include/be_visitor_operation.h: Edited all the files to generate AMI Handler code, I also changed "fullname ()" methods to "full_name ()" to be more consistent. The code generation for AMI Handlers uses a strategy on the be_interface node. This strategy hides all the differences betwenn the name generations. * tao/PollableC.cpp: Fixed the the usage of env instead of ACE_TRY_ENV. Wed Aug 04 02:10:59 1999 Nanbor Wang * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Client.{h,cpp}: There is no need to obtain a remote object reference for shutdown anymore. Re-organized and simplified the client code so that it no longer contains TAO specific code. * performance-tests/Cubit/TAO/IDL_Cubit/collocation_test.cpp: Modified the code to adapt to the change made to Cubit_Client. Changed to fake both the client side and the server side command lines all the way thru. This allows much more flexibility in invoking the collocation tests. Thanks to David for suggesting this. * performance-tests/Cubit/TAO/IDL_Cubit/README: Added documentation on how to use the new collocation test. * performance-tests/Cubit/TAO/IDL_Cubit/{client,server}.dsp: * performance-tests/Cubit/TAO/IDL_Cubit/collocation_test.dsp: Changed the tao_idl custom build settings to always generate both THRU_POA and DIRECT collocated stubs. Wed Aug 4 00:30:34 1999 Kirthika Parameswaran * tao/orbconf.h: Changed the default: TAO_CONNECTION_CACHING_STRATEGY to LRU. * docs/Options.html: Added ORBConnectionCachingStrategy and ORBPurgePercentage options. Wed Aug 4 00:23:34 1999 Balachandran Natarajan * tao/InterfaceC.cpp: * tao/InterfaceC.h : Made some changes according to TAO conventions Tue Aug 3 22:25:13 1999 Balachandran Natarajan * tao/Makefile: * tao/corbafwd.h : * tao/InterfaceC.h : * tao/InterfaceC.cpp : * tao/InterfaceC.i : If the user wants to use the interface repository he has to compile with the flag interface_repo=1. Also made these files compilable by the Makefile. The files would be compiled by default but the actual code would go in to the library only if the above compile flag is set. Tue Aug 03 18:40:47 1999 Kirthika Parameswaran * tao/IIOP_Connect.{h,cpp} (TAO_IIOP_Client_Connection_Handler): * tao/UIOP_Connect.{h, cpp} (TAO_UIOP_Client_Connection_Handler): Added method which abstracts the deregistration of the handler from the reactor. Added which is a non-locking version of . * tao/IIOP_Connector.{h,cpp}: (open): * tao/UIOP_Connector.{h,cpp}: (open): Added auto_ptr as a safety measurement for the dynamically allocated variables. Also, the now uses ACE_Refcounted_Recyclable_Caching_Utility. * tao/Acceptor_Impl.cpp (out_of_sockets_handler): Added the iteration over the different ORBs in the system for purging 'old' connections. * tests/Connection_Purging/Connection_Purging.cpp: * tests/Connection_Purging/Makefile: * tests/Connection_Purging/run_test.pl: * tests/Connection_Purging/README: * tests/Connection_Purging/svc.conf: * tests/Connection_Purging/test.idl: This is a test which stress tests the connection management and the caching and purging of connections when the process runs out of handles. Tue Aug 03 16:17:00 1999 Nanbor Wang * tests/Collocation/Coll_Test_Skels.dsp: * tests/Collocation/Coll_Test_Stubs.dsp: * tests/Collocation/Coll_Tester.cpp: * tests/Collocation/Collocation.dsp: * tests/Collocation/Collocation.dsw: * tests/Collocation/skel_export.h: * tests/Collocation/stub_export.h: Rewrote the example to create a stub DLL, a skel DLL which links against the stub DLL, and made the test to use both DLLs as an example on how to do this. Thanks to Francois Bernier for motivating the change. * TAO_IDL/be/be_codegen.cpp (start_server_header): We need to overwrite the macro TAO_EXPORT_MACRO so that the macro TAO_NAMESPACE_STORAGE_CLASS can be defined properly. This is not causing any problem for the time being because there's currently no static object in skeleton files. However, I think I should still make the change so we won't have to debug a mystery in the future. Tue Aug 03 16:15:00 1999 Chris Gill * orbsvcs/orbsvcs/Sched/Reconfig_Scheduler_T.cpp: replaced auto_ptr reset workaround for TAO 1.0, using ACE_AUTO_PTR_RESET macro. Mon Aug 2 18:43:15 1999 Carlos O'Ryan * performance-tests/Cubit/TAO/IDL_Cubit/run_test.pl: Print the precise error code returned from the server or client if they die. * tests/Cubit/TAO/IDL_Cubit/server.cpp: Sleep before exit to avoid crashes. * ORB_Core.cpp: The ORB was not waiting for the threads it creates if the -ORBThreadPerConnectionTimeout option was used. Mon Aug 2 17:13:27 1999 Carlos O'Ryan * docs/releasenotes/index.html: Updated the notes about the IDL compiler and some other details. Mon Aug 2 12:23:18 1999 Carlos O'Ryan * TAO_IDL/ast/ast_module.cpp: Use the -w flag (to disable warnings) when complaining about reopened modules in platforms without namespaces. * tests/IDL_Test/Makefile: Added -w for the compilation of reopened_modules.idl, the generated code is not compiled in platforms without namespaces, so there is no real problem. * orbsvcs/examples/RtEC/Schedule/Makefile: Added -I$TAO_ROOT/orbsvcs/orbsvcs/Sched to CPPFLAGS so the DU/CXX compiler can find all the files to instantiate templates. Mon Aug 2 11:44:03 1999 Ossama Othman * tao/IIOP_Connector.cpp (open): * tao/UIOP_Connector.cpp (open): Additional minor code reorganization to aid in prevention of potential memory leak. Mon Aug 2 10:28:25 1999 Ossama Othman * tao/IIOP_Connector.cpp (open): * tao/UIOP_Connector.cpp (open): Use ACE_NEW_RETURN macros instead of basic C++ `new' to allocate memory. Moved allocation of connector lock after call to make_caching_strategy() to prevent a potential memory leak from occurring. Sun Aug 01 10:30:54 1999 Nanbor Wang * examples/OBV/Typed_Events/Client_i.h: This file needs check-in too.