Thu Feb 20 09:07:56 2003 Ossama Othman * TAO_IDL/be/be_interface.cpp (gen_stub_ctor): Generate code that correctly uses "CORBA::Object" instead of "CORBA_Object". (gen_var_defn): Made generated "_var" classes inherit privately from TAO_Base_var instead of publically. Specifically, private inheritance from TAO_Base_var is done to emphasize that a given "_var" does not satisfy the IS-A relationship with TAO_Base_var. "_var" classes are merely IMPLEMENTED-IN-TERMS-OF TAO_Base_var. This also correctly invalidates assignments like: Foo_var v; TAO_Base_var * t = &v; * TAO_IDL/be/be_visitor_exception/exception_cs.cpp (visit_exception): Generate code that correctly uses "CORBA::UserException" instead of "CORBA_UserException". * TAO_IDL/be/be_visitor_interface/amh_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_ss.cpp: * TAO_IDL/be/be_visitor_operation/arglist.cpp: Generate code that correctly uses "CORBA::Object" instead of "CORBA_Object". * TAO_IDL/be/be_visitor_operation/ami_cs.cpp: Improved "const correctness" of generated interceptor related code. One of the return values is really a constant. * TAO_IDL/be/be_visitor_operation/operation.cpp: Fixed generated transport retry code/loop. The exception macros prevent statements like "continue" and "break" from being used as expected. Worked around that deficiency by using if/else blocks instead. Improved "const correctness" of generated interceptor related code. One of the return values is really a constant. * TAO_IDL/be/be_visitor_valuetype/cdr_op_cs.cpp: * TAO_IDL/be/be_visitor_valuetype/valuetype_init_cs.cpp: Generate code that correctly uses "CORBA::ValueBase" instead of "CORBA_ValueBase". * TAO_IDL/be/be_visitor_valuetype/valuetype.cpp: * TAO_IDL/be/be_visitor_valuetype/valuetype_init_ch.cpp: Generate code that correctly uses "CORBA::ValueFactoryBase" instead of "CORBA_ValueFactoryBase". * TAO_IDL/be/be_visitor_valuetype/valuetype_ch.cpp: * TAO_IDL/be/be_visitor_valuetype/valuetype_obv_ch.cpp: * TAO_IDL/be/be_visitor_valuetype/valuetype_obv_cs.cpp: Generate code that correctly uses "CORBA::DefaultValueRefCountBase" instead of "CORBA_DefaultValueRefCountBase". * orbsvcs/orbsvcs/PortableGroup.idl: Use the "typeprefix" keyword instead of "#pragma prefix". The former is more modern. * orbsvcs/orbsvcs/LoadBalancing/LB_CPU_Monitor.cpp: Corrected comment. * orbsvcs/orbsvcs/LoadBalancing/LB_LoadAlert.cpp: * orbsvcs/orbsvcs/LoadBalancing/LB_LoadAlert.h: * orbsvcs/orbsvcs/LoadBalancing/LB_LoadAlert.inl: Fixed race conditions in the TAO_LB_LoadAlert class. * orbsvcs/orbsvcs/Notify/Service.h: Include "ace/Service_Object.h" to pull in ACE_Service_Object class declaration. Necessitated by inter-header dependency reductions. * orbsvcs/orbsvcs/PortableGroup/PG_GenericFactory.cpp: * orbsvcs/orbsvcs/PortableGroup/PG_GenericFactory.h (populate_object_group): No need to pass an integral type "const" by value. Remove the "const" qualifier. * orbsvcs/orbsvcs/PortableGroup/PortableGroup_Loader.h: No need to include "tao/corbafwd.h". * orbsvcs/orbsvcs/FaultTolerance/FT_Invocation_Endpoint_Selectors.cpp: * orbsvcs/orbsvcs/FaultTolerance/FT_Service_Callbacks.cpp: * orbsvcs/orbsvcs/PortableGroup/PortableGroup_Acceptor_Registry.cpp: * orbsvcs/orbsvcs/PortableGroup/PortableGroup_Loader.cpp: * orbsvcs/orbsvcs/PortableGroup/UIPMC_Profile.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_ORBInitializer.cpp: * orbsvcs/orbsvcs/Security/Security_ORBInitializer.cpp: * tao/CDR_Encaps_Codec.cpp: * tao/CORBALOC_Parser.cpp: * tao/CodecFactory.cpp: * tao/Connector_Registry.cpp: * tao/DLL_Parser.cpp: * tao/IIOP_Profile.cpp: * tao/Interceptor_List.cpp: * tao/Invocation.cpp: * tao/Invocation_Endpoint_Selectors.cpp: * tao/ORBInitInfo.cpp: * tao/PICurrent.cpp: * tao/PolicyFactory_Registry.cpp: * tao/Profile.cpp: * tao/Service_Callbacks.cpp: * tao/Transport_Connector.cpp: * tao/BiDir_GIOP/BiDirGIOP.cpp: * tao/BiDir_GIOP/BiDir_PolicyFactory.cpp: * tao/Messaging/Asynch_Reply_Dispatcher.cpp: * tao/Messaging/Messaging.cpp: * tao/Messaging/Messaging_Policy_i.cpp: * tao/PortableServer/ObjectReferenceTemplate.cpp: * tao/PortableServer/Object_Adapter.cpp: * tao/PortableServer/ServerRequestInfo.cpp: * tao/RTCORBA/RT_Invocation_Endpoint_Selectors.cpp: * tao/RTCORBA/RT_PolicyFactory.cpp: * tao/RTCORBA/Thread_Pool.cpp: * tao/Strategies/DIOP_Profile.cpp: * tao/Strategies/SHMIOP_Profile.cpp: * tao/Strategies/UIOP_Profile.cpp: * tests/ORT/ORT_test_IORInterceptor.cpp: Use CORBA::SystemException instead of CORBA_SystemException. The latter was an implementation detail, and part of a workaround for C++ compilers that didn't support namespaces. * orbsvcs/orbsvcs/PortableGroup/Portable_Group_Map.h: * tao/GIOP_Message_Generator_Parser.h: * tao/GIOP_Message_Lite.h: * tao/PICurrent.h: * tao/Request_Dispatcher.h: Forward declare TAO_ServerRequest. Necessitated by inter-header dependency reductions. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Profile.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp: Removed obsolete comment. * tao/AbstractBase.cpp: * tao/AbstractBase.h: * tao/AbstractBase.inl: * tao/CORBA_String.cpp: * tao/CORBA_String.h: * tao/CORBA_String.inl: * tao/CurrentC.cpp: * tao/CurrentC.h: * tao/DomainC.cpp: * tao/DomainC.h: * tao/DomainC.i: * tao/Environment.cpp: * tao/Environment.h: * tao/Environment.i: * tao/Exception.cpp: * tao/Exception.h: * tao/Exception.i: * tao/LocalObject.cpp: * tao/LocalObject.h: * tao/LocalObject.i: * tao/NVList.cpp: * tao/NVList.h: * tao/NVList.i: * tao/ORB.cpp: * tao/ORB.h: * tao/ORB.i: * tao/OctetSeqC.cpp: * tao/OctetSeqC.h: * tao/OctetSeqC.i: * tao/PolicyC.cpp: * tao/PolicyC.h: * tao/PolicyC.i: * tao/Principal.cpp: * tao/Principal.h: * tao/Principal.i: * tao/Services.cpp: * tao/Services.h: * tao/Services.i: * tao/StringSeqC.cpp: * tao/StringSeqC.h: * tao/StringSeqC.i: * tao/Typecode.cpp: * tao/Typecode.h: * tao/Typecode.i: * tao/Typecode_Constants.cpp: * tao/ValueBase.cpp: * tao/ValueBase.h: * tao/ValueBase.i: * tao/ValueFactory.cpp: * tao/ValueFactory.h: * tao/ValueFactory.i: Moved all "CORBA_" classes into a true CORBA namespace, and dropped the "CORBA_" workaround for compilers that lacked C++ namespace support. * tao/Abstract_Servant_Base.h: Moved "TAO_Skeleton" function typedef to this file. This change is part of set of inter-header dependency reductions. * tao/Acceptor_Filter.h: * tao/Adapter.h: Forward declare TAO_ObjectKey. Necessitated by inter-header dependency reductions. * tao/Acceptor_Impl.cpp: Include "tao/Transport.h". Necessitated by inter-header dependency reductions. * tao/Acceptor_Impl.h: * tao/CDR.h: Fixed doxygen documentation. * tao/Asynch_Invocation.h: No need to include "tao/Asynch_Reply_Dispatcher_Base.h". Forward declaring "TAO_Asynch_Reply_Dispatcher_Base" is enough. * tao/Asynch_Queued_Message.cpp: Include "ace/Message_Block.h". Necessitated by inter-header dependency reductions. * tao/Asynch_Reply_Dispatcher_Base.h: No need to include "tao/orbconf.h" Including "tao/TAO_Export.h" is enough. * tao/BoundsC.cpp: * tao/IOPC.cpp: * tao/PollableC.cpp: * tao/PortableInterceptorC.cpp: * tao/WrongTransactionC.cpp: * tao/DynamicAny/DynamicAnyC.cpp * tao/IORTable/IORTableC.cpp: * tao/PortableServer/PortableServerC.cpp: * tao/RTCORBA/RTCORBAC.cpp: Use CORBA::UserException instead of CORBA_UserException. The latter was an implementation detail, and part of a workaround for C++ compilers that didn't support namespaces. * orbsvcs/orbsvcs/ETCL/ETCL_Constraint.cpp: * orbsvcs/orbsvcs/Trader/Constraint_Nodes.cpp: * orbsvcs/orbsvcs/Trader/Interpreter_Utils.cpp: * orbsvcs/orbsvcs/Trader/Interpreter_Utils.h: * tao/CDR.cpp: * tao/Current.pidl: * tao/Policy_ForwardC.cpp: * tao/Policy_ForwardC.h: * tao/ORB_Core.cpp: * tao/ObjectReferenceTemplateC.cpp: * tao/ObjectReferenceTemplateC.h: * tao/PollableC.h: * tao/PortableInterceptorC.h: * tao/Sequence.cpp: * tao/Sequence_T.cpp: * tao/Sequence_T.h: * tao/TAO_Server_Request.h: * tao/TAO_Server_Request.i: * tao/TypeCodeFactory_Adapter.h: * tao/objectid.h: * tao/DynamicAny/DynAnyFactory.cpp: * tao/DynamicAny/DynAnyFactory.h: * tao/DynamicAny/DynAny_i.cpp: * tao/DynamicAny/DynAny_i.h: * tao/DynamicAny/DynArray_i.cpp: * tao/DynamicAny/DynArray_i.h: * tao/DynamicAny/DynCommon.cpp: * tao/DynamicAny/DynCommon.h: * tao/DynamicAny/DynEnum_i.cpp: * tao/DynamicAny/DynEnum_i.h: * tao/DynamicAny/DynSequence_i.cpp: * tao/DynamicAny/DynSequence_i.h: * tao/DynamicAny/DynStruct_i.cpp: * tao/DynamicAny/DynStruct_i.h: * tao/DynamicAny/DynUnion_i.cpp: * tao/DynamicAny/DynUnion_i.h: * tao/DynamicAny/DynamicAnyC.h: * tao/IORManipulation/IORC.cpp: * tao/IORManipulation/IORC.h: * tao/IORTable/IORTableC.h: * tao/IORTable/Table_Adapter.cpp: * tao/Messaging/MessagingC.cpp: * tao/Messaging/MessagingC.h: * tao/Messaging/MessagingC.i: * tao/Messaging/MessagingS.cpp: * tao/PortableServer/Collocated_Object.cpp: * tao/PortableServer/Collocated_Object.i: * tao/PortableServer/Default_ORTC.cpp: * tao/PortableServer/Default_ORTC.h: * tao/PortableServer/ImR_LocatorC.cpp: * tao/PortableServer/ImR_LocatorC.h: * tao/PortableServer/ImR_LocatorC.i: * tao/PortableServer/ImR_LocatorS.cpp: * tao/PortableServer/ImR_LocatorS.h: * tao/PortableServer/ImplRepoC.cpp: * tao/PortableServer/ImplRepoC.h: * tao/PortableServer/ImplRepoC.i: * tao/PortableServer/ImplRepoS.cpp: * tao/PortableServer/ImplRepoS.h: * tao/PortableServer/ORB_Manager.cpp: * tao/PortableServer/POA.cpp: * tao/PortableServer/PolicyS.cpp: * tao/PortableServer/PolicyS.h: * tao/PortableServer/PortableServerC.h: * tao/PortableServer/Servant_Base.cpp: * tao/PortableServer/Servant_Base.h: * tao/PortableServer/ThruPOA_Object_Proxy_Impl.cpp: * tao/PortableServer/ThruPOA_Object_Proxy_Impl.h: * tao/RTCORBA/RTCORBAC.h: "CORBA_" -> "CORBA::". * tao/ClientInterceptorAdapter.cpp (receive_reply): (receive_exception, receive_other): * tao/ClientRequestInfo_i.cpp: Improved "const-correctness" of code. * tao/ClientRequestInfo_i.h: No need to include "Service_Context.h". Forward declaring "TAO_Service_Context" is enough. * tao/Collocation_Resolver.h: * tao/Connector_Registry.h: * tao/Endpoint_Selector_Factory.h: * tao/Invocation_Endpoint_Selectors.h: * tao/Object_Ref_Table.h: * tao/Transport_Connector.h: Include "ace/CORBA_macros.h" to pull in emulated exception preprocessor macros. Necessitated by inter-header dependency reductions. * tao/Connection_Handler.h (~TAO_Connection_Handler): * tao/IIOP_Transport.h (~TAO_IIOP_Transport): Made this destructor to enforce proper memory management through the reference counting mechanism. * tao/Default_Thread_Lane_Resources_Manager.h: * tao/Dynamic_Adapter.h: * tao/Policy_Set.h: * tao/DynamicInterface/Dynamic_Adapter_Impl.h: * tao/RTCORBA/RT_Thread_Lane_Resources_Manager.h: Do not supply default environment parameter. It isn't needed in these cases. * tao/Endpoint.h: Improved doxygen documentation. (addr_lookup_lock_) Improved "const-correctness" by making this member mutable. This allows concrete implementations of the TAO_Endpoint::object_addr() method to avoid using a hack where the constness is casted away. * tao/GIOP_Message_Base.cpp: * tao/GIOP_Message_Lite.cpp: "CORBA_Exception" -> "CORBA::Exception". * tao/GIOP_Message_Generator_Parser_10.cpp: "CORBA_OctetSeq" -> "CORBA::OctetSeq". * tao/IFR_Client_Adapter.h: "CORBA_Interface" -> "CORBA::Interface". * tao/IIOP_Connection_Handler.cpp: Include "tao/Wait_Strategy.h". Necessitated by inter-header dependency reductions. * tao/IIOP_Connection_Handler.h: No need to include "ace/Acceptor.h", "tao/Wait_Strategy.h", "tao/IIOP_Transport.h". Include "ace/SOCK_Stream.h" and "ace/Svc_Handler.h" to allow IIOP-specific Svc_Handler typedef to be made in this header. * tao/IIOP_Connector.cpp: Include "Transport.h" and "Wait_Strategy.h". Necessitated by inter-header dependency reductions. * tao/IIOP_Endpoint.h (object_addr_, object_addr_set_): Improved "const-correctness" by making these members mutable. This allows the TAO_IIOP_Endpoint::object_addr() method to avoid using a hack where the constness is casted away. * tao/IIOP_Endpoint.i (object_addr): No longer any need to use the hack where the constness is casted away since the appropriate class members are now mutable. * tao/IIOP_Transport.cpp: Cosmetic changes. * tao/IOPC.h (Codec, CodecFactory): Inherit from "CORBA::Object" instead of "CORBA_Object". * tao/LF_Event_Loop_Thread_Helper.h: No need to include "tao/orbconf.h" * tao/LF_Event_Loop_Thread_Helper.inl: Added Emacs C++ mode comment. * tao/Leader_Follower.h: No need to forward declare "TAO_New_Leader_Generator". * tao/MCAST_Parser.cpp: No need to include "ORB.h". * tao/MCAST_Parser.h: No need to include "ORB_Core.h". Instead include "CORBA_String.h". Necessitated by inter-header dependency reductions. * tao/Marshal.h: No need to include "tao/Principal.h", "tao/Any.h", "tao/ORB.h". * tao/ORBInitInfo.h: "CORBA_Environment" -> "CORBA::Environment". * tao/ORBInitializer_Registry.h: Changed underlying template array parameter from "ORBInitializer_ptr" to "ORBInitializer_var" to improve memory management of registered ORBInitializers. (~TAO_ORBInitializer_Registry): * tao/ORBInitializer_Registry.cpp (~TAO_ORBInitializer_Registry): Removed declaration for this destructor. It is no longer necessary with the above change in place. (register_orb_initializer, pre_init, post_init): Improved const-correctness. * tao/ORB_Core.h: * tao/ORB_Core.i: * tao/ORB_Core_Auto_Ptr.h: * tao/ORB_Core_Auto_Ptr.inl: * tao/ORB_Core_Auto_Ptr.cpp: Moved TAO_ORB_Core_Auto_Ptr class from ORB_Core.* to the new ORB_Core_Auto_Ptr.* files. * tao/Object.h: Forward declare TAO_ObjectKey. Necessitated by inter-header dependency reductions. "CORBA_Object" -> "CORBA::Object". Made CORBA::Object_var inherit privately from TAO_Base_var, and added appropriate private copy constructor and assignment operator to prevent invalid widening. * tao/Object.i: * tao/Object.cpp: "CORBA_Object" -> "CORBA::Object". * tao/Object_KeyC.h: Forward declare TAO_Object_Key_var. Necessitated by the "tao/corbafwd.h" cleanup. * tao/Object_Proxy_Broker.h (TAO_Object_Proxy_Broker): * tao/Object_Proxy_Broker.cpp (TAO_Object_Proxy_Broker): * tao/Object_Proxy_Impl.cpp (TAO_Object_Proxy_Impl): Removed useless constructor. * tao/Object_Proxy_Impl.h: Removed useless constructor. Added missing "#pragma once". "const CORBA::Char *" -> "const char *". "CORBA_" -> "CORBA::". * tao/Profile.i: Corrected some comments. * tao/Protocols_Hooks.h: Forward declare TAO_Stub. Necessitated by inter-header dependency reductions. * tao/Remote_Object_Proxy_Broker.cpp: * tao/Remote_Object_Proxy_Broker.h: Removed useless constructor and destructor. * tao/Remote_Object_Proxy_Impl.cpp: Removed useless constructor and destructor. Avoided inclusion of "tao/Any.h" by directly using the TAO_InputCDR::to_boolean() method instead of CORBA::Any::to_boolean(). "CORBA_" -> "CORBA::". Fixed some emulated exception macro usage. (_get_component): Updated to better match current TAO_IDL generated stub code. * tao/Remote_Object_Proxy_Impl.h: "CORBA::Char *" -> "char *". "CORBA_" -> "CORBA::". * tao/Sequence.h: Include "ace/CORBA_macros.h" and "ace/Message_Block.h". Necessitated by inter-header dependency reduction. Removed now obsolete "CORBA_Object" and "CORBA_Environment" forward declarations. "CORBA_" -> "CORBA::". * tao/Service_Callbacks.h: Corrected TAO_ServerRequest forward declaration, i.e. "TAO_Server_Request" to "TAO_ServerRequest". * tao/Stub.h: Include new "ORB_Core_Auto_Ptr.h" header to pull in TAO_ORB_Core_Auto_Ptr declaration. * tao/Stub_Factory.h: Forward declare TAO_Stub and include "ace/CORBA_macros.h". Necessitated by inter-header dependency reductions. * tao/Synch_Queued_Message.cpp: Included "ace/Message_Block.h". Necessitated by inter-header dependency reductions. * tao/TAO.dsp: Added new ORB_Core_Auto_Ptr.* files to this project. * tao/TAO_Internal.cpp: Include "tao/Adapter.h", "tao/ORB_Core.h" and "Dynamic_Service.h". Necessitated by inter-header dependency reductions. * tao/Tagged_Components.cpp: Cosmetic changes. * tao/Thread_Lane_Resources.h: * tao/Thread_Lane_Resources_Manager.h: No need to include "tao/corbafwd.h". Include "tao/TAO_Export.h" and "ace/CORBA_macros.h". Necessitated by inter-header dependency reductions. * tao/Transport.cpp: Cosmetic changes. * tao/Transport.h: No need to include "Transport_Descriptor_Interface.h". A forward declaration is enough. (~TAO_Transport): Made destructor protected in order to enforce proper memory management through the reference counting mechanism. * tao/ValueFactory_Map.cpp: Initialize the underlying map with the new "TAO_DEFAULT_VALUE_FACTORY_TABLE_SIZE" constant. "CORBA_" -> "CORBA::". * tao/ValueFactory_Map.h: Include "Hash_Map_Manager_T.h" instead of "Hash_Map_Manager.h". The latter includes the former, and the former is the only one that is needed. "CORBA_" -> "CORBA::". * tao/corba.h: Include "tao/varbase.h". The TAO_IDL compiler no longer generates an include directive for that header in the stub headers. * tao/corbafwd.cpp: Converted global constants in the CORBA namespace to be declared using straight C++ instead of the namespace macro workarounds. * tao/corbafwd.h: No need to include "ace/CORBA_macros.h" and "tao/varbase.h". Removed workaround used for compilers that didn't support C++ namespaces. All classes and types that are in the CORBA IDL namespace are now in a true CORBA C++ namespace. Removed all "CORBA_" based typedefs. They are no longer needed. Moved all non-CORBA namespace related typedefs and constants out this of file. They don't belong there. The above changes greatly reduce the size of this file, which has been a bottleneck for compiles. * tao/corbafwd.i (default_environment): Updated to conform to ACE/TAO coding conventions. * tao/iiop_endpoints.h: No need to include "tao/Any.h". Include "tao/CDR.h" instead. * tao/orbconf.h: Added "TAO_DEFAULT_VALUE_FACTORY_TABLE_SIZE" global constant to be used as the default size of the ValueFactory map. Previously, the default table size was used which is too large (i.e. 1024). * tao/varbase.h (TAO_Base_var): Added private copy constructor and assignment operator to improve prevention of invalid widening. * tao/PortableServer/Collocated_Object.h: No need to include "tao/Servant_Base.h". "CORBA_" -> "CORBA::". * tao/PortableServer/Direct_Object_Proxy_Impl.cpp (TAO_Direct_Object_Proxy_Impl): Removed useless constructor. (_get_interface, _getcomponent): Fixed emulated exception support. * tao/PortableServer/Direct_Object_Proxy_Impl.h: (TAO_Direct_Object_Proxy_Impl): Removed useless constructor. * tao/PortableServer/Object_Adapter.h: No need to include "Key_Adapters.h" and "Servant_Base.h". * tao/PortableServer/Operation_Table.h: Include "tao/Abstract_Servant_Base.h". Necessitated by inter-header dependency reductions. * tao/PortableServer/POA.h: Include "tao/PortableInterceptorC.h". Necessitated by inter-header dependency reductions. Changed map of POA children from ACE_Hash_Map_Manager to ACE_Hash_Map_Manager_Ex. That save us three template instantiations. * tao/PortableServer/ServerInterceptorAdapter.cpp (send_reply): (send_exception, send_other): Improved const-correctness. * tao/RTCORBA/RT_ORB_Loader.cpp: No need to include "tao/ORB_Core.h" and "tao/ORBInitializer_Registry.h". "CORBA_" -> "CORBA::". Wed Feb 19 12:52:06 2003 Heather Drury * TAO version 1.3.1 released. Mon Feb 17 15:37:47 2003 Balachandran Natarajan * tests/RTCORBA/Persistent_IOR/client.bor: Linked the client with RTCORBA library to get the static constructors in so that they can do its job. Mon Feb 17 15:26:32 2003 Balachandran Natarajan * tests/RTCORBA/MT_Client_Protocol_Priority/client.conf: This file missed the previous checkin somehow. Adding this file to the repo. Mon Feb 17 09:09:54 2003 Heather Drury * orbsvcs/orbsvcs/LoadBalancing/LB_IORInterceptor.h: * orbsvcs/orbsvcs/LoadBalancing/LB_IORInterceptor.cpp: Fixed compile error that was happening because the base class signature for establish_components() did not match the derived class method signature. Sat Feb 15 10:14:08 2003 Balachandran Natarajan * examples/RTCORBA/Activity/Activity.h: Fixed compile errors in builds where exceptions have been turned off. Fri Feb 14 21:12:22 2003 Jeff Parsons * TAO_IDL/ast/ast_module.cpp: Changed a misapplied static_cast to const_cast. Fri Feb 14 18:27:09 2003 Jeff Parsons * TAO_IDL/ast/ast_decl.cpp: * TAO_IDL/ast/ast_module.cpp: * TAO_IDL/include/ast_module.h: Fixes for an error in IDL_Test, where recent changes to the IDL compiler induced an error in typeprefix handling, and a bug reported by Will Christhof in #pragma prefix handling. * TAO_IDL/util/utl_scope.cpp: Cosmetic fix. * tests/IDL_Test/main.cpp: Changed error reporting and handling to allow multiple errors to be reported in one run, and to allow the ORB and POA to clean up at exit whether there have been errors or not. Fri Feb 14 14:37:55 2003 Jeff Parsons * TAO_IDL/be/be_predefined_type.cpp (compute_repoID): Fixed function to catch a reference to CORBA::Object in an IDL file. The repository ID must be handled as a special case, since this node type is not looked up in the AST. * TAO_IDL/be/be_visitor_typecode/typecode_defn.cpp: Fixed incorrect typecode generation for members of type CORBA::Object. Thanks to Ferran Boladeres Salvadó for sending in the example code that uncovered the bug. Fri Feb 14 18:39:01 UTC 2003 Craig Rodrigues * tao/RTCORBA/RT_ORBInitializer.cpp: If you do: ACE_DEBUG((LM_DEBUG, "%p" )); to print errno, then that is wrong and will crash. You need to do: ACE_DEBUG((LM_DEBUG, "%p", "somestring")); I've changed things to be consistent: ACE_DEBUG((LM_DEBUG, "errno: %d %m", errno)); Fri Feb 14 09:12:12 2003 Balachandran Natarajan * tests/RTCORBA/MT_Client_Protocol_Priority/client.conf: New file with the scheduling policy information for the client. * tests/RTCORBA/MT_Client_Protocol_Priority/server.conf: Added the scheduling policy information for the server. * tests/RTCORBA/MT_Client_Protocol_Priority/run_test.pl: Sript now use the above configuration files when running the test. * tests/RTCORBA/MT_Client_Protocol_Priority/svc.conf: Removed from the repository. Fri Feb 14 08:35:14 2003 Balachandran Natarajan * examples/RTCORBA/Activity/Activity.cpp: Fixed compile errors in builds where exceptions have turned off. Thanks to Pradeep Gore for sending the patches. Fri Feb 14 12:02:12 UTC 2003 Johnny Willemsen * utils/catior/Makefile.bor: Fixed this BCB makefile Thu Feb 13 19:30:55 2003 Balachandran Natarajan * tests/RTCORBA/Persistent_IOR/Makefile: Linked the client with RTCORBA library. Thu Feb 13 15:15:29 2003 Priyanka Gontla * tao/MCAST_Parser.cpp (multicast_query): Modified the diagnostic message that Craig added with the changelog entry Wed Feb 12 00:45:04 UTC 2003 Craig Rodrigues to reflect the actual service name instead of being NameService always. Added a service_name check to print out the NameService related debugging message if it is indeed NameService. * orbsvcs/ImplRepo_Service/tao_imr_i.cpp: * orbsvcs/ImplRepo_Service/ImR_Activator_i.cpp: A change which I did a while ago seemed to be missing. Nanbor applied the relevant fixes for Windows. Removing the ifdefs around the same code so that even for non-windows, the whole hostname including the domain is used. Thu Feb 13 17:45:35 2003 Balachandran Natarajan * utils/catior/Makefile: Do not build if RTCORBA is turned off. Thu Feb 13 17:41:37 2003 Balachandran Natarajan * tests/RTCORBA/Profile_And_Endpoint_Selection/svc.conf: Added the scheduling policy to the configuration file. Thu Feb 13 16:35:24 2003 Balachandran Natarajan * tests/Exposed_Policies/svc.conf: Configuration file for scheduling policy. Thu Feb 13 13:32:50 2003 Balachandran Natarajan * utils/catior/catior.dsp: Fixed the debug and release configurations. Thu Feb 13 14:21:43 2003 Balachandran Natarajan * utils/catior/catior.cpp: Fixed warnings and errors on various platforms. Thu Feb 13 12:43:27 2003 Pradeep Gore * examples/RTCORBA/Activity/Periodic_Task.h: * examples/RTCORBA/Activity/Thread_Task.cpp: * examples/RTCORBA/Activity/Thread_Task.h: Added missing code to convert CORBA priority to native priority when activating the thread task. Made the following changes to get the example running in the autobuilds: * examples/RTCORBA/Activity/run_test.pl: This runs a simple test of the activity example. This test is meant to be run in non-root mode. * examples/RTCORBA/Activity/Activity.cpp: * examples/RTCORBA/Activity/Activity.h: - Added code to obtain the Priority Mapping Manager. - Added a "-Started_Flag " option. When an activity instance completes its setup, it generates a file to signal the perl script that it has finished initialization. * examples/RTCORBA/Activity/README: Added a new section on the new command-line option. * examples/RTCORBA/Activity/server.conf: * examples/RTCORBA/Activity/client.conf: These conf files are read by run_test.pl to make a sanity check on the activity program. Thu Feb 13 10:30:56 2003 Jeff Parsons * TAO_IDL/ast/ast_module.cpp: Fixed an error in comparing the prefixes of a module and a previous opening of that module. The error appears only when the previous module opening is in an included IDL file, and the IDL compiler is executed from a subdirectory of the one where the IDL files are located. Thanks to Will Christof for reporting the bug and for providing the example IDL files and build conditions. This closes [BUGID:1442]. Wed Feb 12 14:58:46 2003 Balachandran Natarajan * tao/IIOP_Transport.cpp: Methods tear_listen_point_list () and get_listen_point () accessed the connection_handler without any protection and violated the protocol that was set in pre-1.2 timeframe. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp: Same changes as above. This code needs refactoring. * tao/Transport.h: Cosmetic fix. Wed Feb 12 12:32:57 2003 Balachandran Natarajan * tests/RTCORBA/Client_Protocol/svc.conf: * tests/RTCORBA/Server_Protocol/server_iiop.conf: * tests/RTCORBA/Server_Protocol/server_reverse.conf: * tests/RTCORBA/Server_Protocol/server_reverse_nt.conf: * tests/RTCORBA/Server_Protocol/server_shmiop.conf: * tests/RTCORBA/Server_Protocol/server_uiop.conf: Added scheduling policy information to the above configuration files. This should fix the problems that shows up in our daily builds. Wed Feb 12 12:14:13 2003 Balachandran Natarajan * utils/catior/catior.cpp: Fixed a warning in g++ builds. Wed Feb 12 00:45:04 UTC 2003 Craig Rodrigues * tao/MCAST_Paser.cpp: Add improved diagnostic message when locating NameService via multicast fails. Wed Feb 12 00:19:58 UTC 2003 Craig Rodrigues * tao/RTCORBA/Linear_Priority_Mapping.cpp (to_CORBA): Unconditionally display error message upon priority mapping failure. * tao/RTCORBA/RT_Protocol_Hooks.cpp: Display errno value and message if setting the native thread priority fails. * tao/RTCORBA/RT_ORBInitiializer.h: Create a new class member variable sched_policy_flags_. The value of sched_policy_flags_ is a bitmask value that can be one of THR_SCHED_RR, THR_SCHED_FIFO, THR_SCHED_DEFAULT, etc. sched_policy_flags_ value is stored in the TAO_ORB_Core TAO_ORB_Parameters structure. In TAO_Thread_Lane::create_dynamic_threads(), the sched_policy_flags_ is passed to the ACE_Task_Base::activate() call for creating new threads for a RTCORBA thread pool. sched_policy_ is an integer value that can be one of ACE_SCHED_RR, ACE_SCHED_FIFO, ACE_SCHED_OTHER, etc. This value can be passed directly to the newly modified ACE_OS::thr_setpriority() call. For POSIX pthreads, this value maps directly to the policy parameter of the pthread_setschedparam() call. ACE_SCHED_* values can also be passed directly to ACE_Sched_Params for determining the minimum and maximum priority value for a particular policy. * tao/RTCORBA/RT_ORBInitiializer.cpp: Change all assignments of sched_policy_ variable to use ACE_SCHED_* values and not THR_SCHED_* values. In the TAO_RT_ORBInitializer constructor, set sched_policy_flags_ to the appropriate THR_SCHED_* values depending on what ACE_SCHED_* value is specified. In TAO_RT_ORBInitializer::pre_init(), pass sched_policy_flags_ to orb_core()->orb_params()->sched_policy(), since this value will be later used in the activate() call in TAO_Thread_Lane::create_dynamic_threads(). At the end of TAO_RT_ORBInitializer::pre_init(), set the policy of the ACE_Thread::self() to the policy specified by -ORBSchedPolicy, and set the priority of ACE_Thread::self() to the lowest priority of the specified policy. If this is not done, then errors will occur on Linux, because the default policy in ACE_OS::thr_setprio() is 0 (which maps to SCHED_OTHER), which will cause strange errors when the scheduling policy is set to something else, like SCHED_RR. Since the return value of ACE_OS::thr_getprio() can be invalid for a given policy, ie. 0 is valid for SCHED_OTHER, but invalid for SCHED_RR, I then decided to set the priority to the minimum priority of the policy/scheduling class. In addition, in RTPortableServer's TAO_RT_Servant_Dispatcher::post_invoke() function, the priority of the thread will be reset to what it was before the invocation. This means that on platforms which use pthread_setschedparam(), the initial priority and policy of the thread need to be set to acceptable initial values, otherwise CORBA::DATA_CONVERSION errors will be thrown in this TAO_RT_Servant_Dispatcher::post_invoke(). Tue Feb 11 13:58:23 2003 Nanbor Wang * orbsvcs/vc7_orbsvcs.mwc: Added this temporary file that specifies nightly VC7 build targets under orbsvcs. * tao/tao.mpc: Added LF_Invocation_Event.cpp and LF_CH_Event.cpp. Tue Feb 11 12:48:12 UTC 2003 Gautam Thaker * utils/catior/catior.cpp: * utils/catior/Makefile: Modified catior to better print Priority Model Policy. Required changes to Makefile to now link wiht RTCORBA which should be ok since RT CORBA is built by default. Did not wish to have two versions of catior pgm, or some conditional compiles. Tue Feb 11 07:11:12 UTC 2003 Johnny Willemsen * tests/DLL_ORB/client.bor: * tests/DLL_ORB/server.bor: Fixed errors in these BCB makefiles. Mon Feb 10 17:12:30 2003 Otis Nyandoro * tests/RTCORBA/check_supported_priorities.cpp: Changed the function to take in a ORB pointer. The function now queries the ORB to get the scheduling policy in place before checking the priority levels. Using SCHED_OTHER as it was done before doesnt work well on Linux and it was broken. * tests/RTCORBA/Banded_Connections/client.cpp: * tests/RTCORBA/Banded_Connections/server.cpp: * tests/RTCORBA/Client_Propagated/client.cpp: * tests/RTCORBA/Client_Propagated/server.cpp: * tests/RTCORBA/Collocation/Collocation.cpp: * tests/RTCORBA/Destroy_Thread_Pool/Destroy_Thread_Pool.cpp: * tests/RTCORBA/Explicit_Binding/client.cpp: * tests/RTCORBA/Explicit_Binding/server.cpp: * tests/RTCORBA/Linear_Priority/client.cpp: * tests/RTCORBA/Linear_Priority/server.cpp: * tests/RTCORBA/MT_Client_Protocol_Priority/client.cpp: * tests/RTCORBA/MT_Client_Protocol_Priority/server.cpp: * tests/RTCORBA/ORB_init/ORB_init.cpp: * tests/RTCORBA/Persistent_IOR/client.cpp: * tests/RTCORBA/Persistent_IOR/server.cpp: * tests/RTCORBA/Policy_Combinations/client.cpp: * tests/RTCORBA/Policy_Combinations/server.cpp: * tests/RTCORBA/Private_Connection/client.cpp: * tests/RTCORBA/Private_Connection/server.cpp: * tests/RTCORBA/Profile_And_Endpoint_Selection/client.cpp: * tests/RTCORBA/Profile_And_Endpoint_Selection/server.cpp: * tests/RTCORBA/RTMutex/server.cpp: * tests/RTCORBA/Server_Declared/client.cpp: * tests/RTCORBA/Server_Declared/server.cpp: * tests/RTCORBA/Server_Protocol/client.cpp: * tests/RTCORBA/Server_Protocol/server.cpp: * tests/RTCORBA/Thread_Pool/client.cpp: * tests/RTCORBA/Thread_Pool/server.cpp: We now do a check on supported priorities after the ORB is initialized. * tests/RTCORBA/Banded_Connections/svc.conf: * tests/RTCORBA/Explicit_Binding/svc.conf: * tests/RTCORBA/Linear_Priority/svc.conf: * tests/RTCORBA/Policy_Combinations/svc.conf: Added scheduling policy to all the configurations. * tests/RTCORBA/Client_Propagated/svc.conf: * tests/RTCORBA/Collocation/svc.conf: * tests/RTCORBA/Destroy_Thread_Pool/svc.conf: * tests/RTCORBA/MT_Client_Protocol_Priority/svc.conf: * tests/RTCORBA/ORB_init/svc.conf: * tests/RTCORBA/Persistent_IOR/svc.conf: * tests/RTCORBA/Policies/svc.conf: * tests/RTCORBA/Private_Connection/svc.conf: * tests/RTCORBA/RTMutex/svc.conf: * tests/RTCORBA/Server_Declared/svc.conf: * tests/RTCORBA/Server_Protocol/svc.conf: * tests/RTCORBA/Thread_Pool/svc.conf: New files added with scheduling information. This is not perfect for all cases, but a good starting point for the bug reports that showed up about RTCORBA on Linux. We need to relook into stressing these tests after 1.3.1 using multiple scheduling policies. We have very less time to within the short timeframe available. Mon Feb 10 19:28:43 2003 Johnny Willemsen * tests/Makefile.bor: Added AMH_Oneway directory Fri Feb 7 14:04:59 2003 Jeff Parsons * orbsvcs/orbsvcs/IFRService/InterfaceDef_i.cpp: Added a check, when iterating through inherited operations and attributes, for the existence of an attribute or operation subsection in each parent, before trying to read the number of operations or attributes the parent has. If an interface has no operations, the operations ACE_Configuration subsection will not have been created, likewise for attributes. Thanks to Matej Sekoranja for pointing out the potential bug. Thu Feb 6 16:47:02 2003 Mayur Deshpande * tests/AMH_Oneway * tests/AMH_Oneway/AMH_Oneway.dsw * tests/AMH_Oneway/Makefile * tests/AMH_Oneway/Makefile.bor * tests/AMH_Oneway/Test.idl * tests/AMH_Oneway/client.bor * tests/AMH_Oneway/client.cpp * tests/AMH_Oneway/client.dsp * tests/AMH_Oneway/run_test.pl * tests/AMH_Oneway/server.bor * tests/AMH_Oneway/server.cpp * tests/AMH_Oneway/server.dsp * tao/PortableServer/AMH_Response_Handler.cpp: Test to test Oneways and AMH. Client make 10 calls. Servers counts the calls. Before thr fix, the server hung and this generated an error mesg when the perl script (run_test.pl) ran. Thu Feb 06 18:35:05 2003 Pradeep Gore * orbsvcs/orbsvcs/Notify/Proxy_T.h: * orbsvcs/orbsvcs/Notify/Any/CosEC_ProxyPushSupplier.h: * orbsvcs/orbsvcs/Notify/Any/ProxyPushSupplier.h: * orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushSupplier.h: * orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushSupplier.h: Added the patch from Bruce MacDonald to get Notification compiling on VC7/.NET Wed Feb 5 12:10:08 2003 Mayur Deshpande * tao/PortableServer/AMH_Response_Handler.cpp: Added fix so that oneways work with AMH. Because of semantics of oneways, the client doesn't expect any reply. The RH doesn't know this and thinking that a RH is being destroyed before being sent, it tries to send a exception to the client. This hangs the server. The current fix handles oneways separately and doesn't try and be 'intelligent' in the RH destruction process (and doesn't try and send an exception to the cleint). Thanks to Andrey Nechypurenko@mchp for reporting a problem that led to uncovering of this problem. Thanks to Balachandran Natarajan for the suggestion to retrieve the state from Server_Request to differentiate oneways. Wed Feb 5 13:34:44 2003 Jeff Parsons * orbsvcs/orbsvcs/IFRService/InterfaceDef_i.cpp (create_attribute): Changed the behavior to eliminate the creation of a corresponding repository entry for the operations asssociated with an attribute in the C++ mapping. On the backend, this mainly affects describe_interface(). Since the latter operation's return type, CORBA::FullInterfaceDescription, contains fields for both attributes and operations, it doesn't seem necessary to include the _get_* and _set_* operations in the operation list. It also seems that this behavior will make the TAO IFR more iteroperable with IFRs from other ORB vendors. Thanks to Matej Sekoranja for pointing this out. Wed Feb 5 10:02:10 2003 Ossama Othman * orbsvcs/orbsvcs/LoadBalancing/LB_CPU_Monitor.cpp (loads): Removed "ACE_OS::" scope modifier from fscanf() call. fscanf() doesn't exist in that scope. Fixes compile-time problems revealed by some compilers. Thanks to Matthias Blankenhaus for reporting the problem. Wed Feb 5 10:59:16 2003 Jeff Parsons * TAO_IDL/be/be_visitor_enum/enum_cs.cpp: Added a missing check for typecode support before generating the typecode for an enum. Thanks to Mario Hofmann for reporting the bug. Wed Feb 5 09:44:33 UTC 2003 Johnny Willemsen * orbsvcs/examples/ORT/Gateway_i.cpp: Renamed local variable interface to target_interface to resolve clash with MingW interface macro. Wed Feb 5 08:51:12 UTC 2003 Johnny Willemsen * orbsvcs/PSS/PSDL_Node_Visitor.cpp: * orbsvcs/PSS/PSDL_Scope_Visitor.cpp: Renamed the argument of the visit_interface() method from interface to interf. The MingW compiler has a macro defined interface and this causes problems, so renamed the argument name to fix compile errors with MingW. Tue Feb 4 13:23:51 2003 Krishnakumar B * tao/Makefile: Fix the Makefile to use the SUBDIR_MAKEFILE variable when recursing into directories. Sun Feb 02 21:01:12 2003 Frank Hunleth * orbsvcs/tests/Miop/McastHello/run_test.pl: Fixed a race condition in the test script that could sometime cause the client to send its requests before the second server starts. This occurs under WinXP when using the Microsoft Loopback Adapter. Thanks to Wolfgang Schroeder for the configuration. Sun Feb 2 13:05:12 2003 Johnny Willemsen * tests/Collocation/Makefile.impl: * tests/Collocation/Makefile.stub: Set the correct x_BUILD_DLL define. This is needed for the Cygwin/MingW and Kylix compiler. Sat Feb 1 09:03:55 2003 Ossama Othman * orbsvcs/orbsvcs/LoadBalancing/LB_CPU_Monitor.cpp (loads): Added missing completion status argument to CORBA:NO_IMPLEMENT constructor call. Fixes compile-time problems for some compilers (e.g. egcs 1.1.2). Thanks to Matthias Blankenhaus for reporting the problem. Fri Jan 31 17:07:20 2003 Pradeep Gore Fix for crash in Notify due to race condition in the Worker Task shutdown. This crash showed up on the SunOS_Forte build. * orbsvcs/orbsvcs/Notify/Worker_Task.h: The is a Refcountable object now. * orbsvcs/orbsvcs/Notify/Reactive_Task.cpp: * orbsvcs/orbsvcs/Notify/Reactive_Task.h: Modifications for Refcounting support. * orbsvcs/orbsvcs/Notify/ThreadPool_Task.cpp: * orbsvcs/orbsvcs/Notify/ThreadPool_Task.h: Instead of relying on the thread count, the method decrements the count on the Task Object. * orbsvcs/orbsvcs/Notify/Object.cpp: Apply refcounting to Task objects. Fri Jan 31 14:25:07 2003 Balachandran Natarajan * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connection_Handler.cpp: Fixed a unused warning in the daily builds. Thanks to Heather Drury for letting me know. Fri Jan 31 07:47:32 UTC 2003 Johnny Willemsen * orbsvcs/IFR_Service/IFR_Service.mpc: Add missing dllflags * orbsvcs/IFR_Service/Makefile.BE: Set the correct x_BUILD_DLL define. This is needed for the Cygwin/MingW and Kylix compiler. * TAO_IDL/Makefile.BE: * TAO_IDL/Makefile.FE: Adding missing ACE_AS_STATIC_LIBS when building statically Thu Jan 30 17:30:04 2003 Balachandran Natarajan * tao/IIOP_Connection_Handler.cpp: * tao/IIOP_Connection_Handler.h: Added a new protected constructor that can be used by the derived classes. This constructor just initializes itself and its base classes without initializing the transport. This is needed since the derived classes may want to initialize its own version of the transport. * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connection_Handler.cpp: Use the new constructor to initialize the base class. This fixes [BUG 1421]. Thanks to Jon Reis and Wayne Erchak for reporting the problem. Thu Jan 30 10:40:16 2003 Jeff Parsons * TAO_IDL/be_include/be_visitor_context.h: If there is a system macro defined called 'interface', which there is on some versions of MingW, redefine it around the declaration of class be_visitor_context, which contains a method by that name. Thanks to Johnny Willemsem for sending in the patch. Thu Jan 30 07:03:12 UTC 2003 Johnny Willemsen * orbsvcs/orbsvcs/Makefile.RTOLDEvent Set the correct x_BUILD_DLL define. This is needed for the Cygwin/MingW and Kylix compiler. * orbsvcs/Makefile.DsNotifyLogAdmin: Fixed incorrect x_BUILD_DLL dllflag Wed Jan 29 12:43:06 2003 Frank Hunleth * tao/ORB_Core.{cpp,h}: Encapsulated all static members of TAO_ORB_Core into a TAO_ORB_Core_Static_Resources singleton. By accessing all of these variables through the singleton, this alleviates the constructor call ordering problem inwhich constructors in other compliation units (a.k.a some TAO shared libraries) are called before those in TAO_ORB_Core and modify the TAO_ORB_Core static variables before they are constructed. This caused segfaults when it happened, and seemed to affect OpenBSD the most. Note that this change is selfcontained and does not affect any other classes. Wed Jan 29 12:15:31 2003 Balachandran Natarajan * tests/Bug_1361_Regression/run_test.pl: Reduced the number of iterations that this test runs. Removed -ORBdebuglevel from teh scripts. This was used for debugging purposes long back. * tests/Bug_1361_Regression/Server_Thread_Pool.cpp: Removed a debug statement where we print exceptions. This is expected in this test. Tue Jan 28 15:59:45 2003 Priyanka Gontla * docs/Options.html: Added documentation on support to ORBListenEndpoints, ORBId and ORBServerId ORB options. Tue Jan 28 16:07:21 2003 Jeff Parsons * TAO_IDL/be/be_interface.cpp: * TAO_IDL/be/be_visitor_interface/interface_ch.cpp: * TAO_IDL/be_include/be_interface.h: Delayed the check for abstract interfaces in the ancestry of a non-abstract interface until just before the knowledge is needed for the first time in code generation. This corrects a problem with forward declared interfaces whose full definition member has not yet been replaced by its final value. Thanks to Michael Soden for reporting the problem. Tue Jan 28 14:27:01 2003 Pradeep Gore * orbsvcs/orbsvcs/Notify/Properties.cpp: In case no conf. file is specified, the EC will default to reactive concurrency. This fixes the problem of the Notify crashing without any conf. file. Thanks to Dennis Sporcic and Frederic Langlet for reporting this problem. Mon Jan 27 23:01:43 2003 Frank Hunleth * orbsvcs/orbsvcs/PortableGroup/UIPMC_Transport.cpp: Fixed code that was supposed to fake out a good error return when the call to send() fails. This fixes an exception break on WinXP when the network cable is unplugged and a program makes a MIOP request. The justification behide ignoring the error is explained further in the code, but basically, it takes advantage of the fact that MIOP is unreliable by specification, and hopes that the source of the error will be corrected. Thanks to Antonio Leonforte for pointing out the exception break. Mon Jan 27 19:16:33 2003 Pradeep Gore Made the following changes to fix the race related crashes of Notify seen in orbsvcs/tests/Notify/performance-tests/RedGreen - * orbsvcsy/orbsvcs/Notify/Builder.cpp: Added a refcount on each parent object per child object. This way the parent is always alive when the child is destroyed. When the child is destroyed, the parent count is decremented. The ensures a bottom-up destruction of the Notify object tree. * orbsvcs/orbsvcs/Notify/Object.cpp: * orbsvcs/orbsvcs/Notify/Object.h: Made the TAO_NS_Object class a TAO_NS_Refcountable. Moved the method to this class from TAO_NS_Object_T. The method sets the flag atomically. It returns 1 if this object has been shutdown already. All derived classes should consult the TAO_NS_Object::shutdown method's return value to determine if the shutdown should proceed in case of multiple calls to shutdown. * orbsvcs/orbsvcs/Notify/Object_T.cpp: * orbsvcs/orbsvcs/Notify/Object_T.h: Decrement the count on this Objects parent in the destructor. Changed the signature of destroy similar to to avoid multiple destoy's. * orbsvcs/orbsvcs/Notify/Container_T.cpp: * orbsvcs/orbsvcs/Notify/Container_T.h: The owned by the Container is destroyed in the method now. The releases the reference count on child objects. * orbsvcs/orbsvcs/Notify/EventChannel.cpp: * orbsvcs/orbsvcs/Notify/EventChannelFactory.cpp: The method checks the return value of base destroy method before proceeding. * orbsvcs/orbsvcs/Notify/Event_Map_Entry_T.cpp: * orbsvcs/orbsvcs/Notify/Event_Map_Entry_T.h: * orbsvcs/orbsvcs/Notify/Event_Map_Entry_T.inl: Made the Event_Map_Entry a refcounted object. The member is incremented when the method returns a suitable entry. The caller is responsible for decrementing the count when it no longer needs the entry. * orbsvcs/orbsvcs/Notify/Event_Map_T.cpp: * orbsvcs/orbsvcs/Notify/Event_Map_T.h: * orbsvcs/orbsvcs/Notify/Event_Map_T.inl: method now returns the entry (from which the collection can be obtained). The method decrements the count on the entry instead of deleteting it. * orbsvcs/orbsvcs/Notify/Method_Request_Lookup.cpp: Obtains the correct map entry and uses the collection in that entry. The map is released when it is done using it. Note that the map pointer is guaranteed to be valid because the Lookup object holds a reference count to the proxy that holds a count on its parent and so on up to the EventChannel. The EventChannel only destroys the Event_manager in its destructor. * orbsvcs/orbsvcs/Notify/Notify_Service.cpp: * orbsvcs/orbsvcs/Notify/Notify_Service.h: Added a fake <_decr_refcnt> to satisfy the template requirements from TAO_NS_Object_T. This will be rectified in future revisions. * orbsvcs/orbsvcs/Notify/ProxyConsumer.cpp: * orbsvcs/orbsvcs/Notify/ProxyConsumer.h: * orbsvcs/orbsvcs/Notify/ProxySupplier.cpp: * orbsvcs/orbsvcs/Notify/ProxySupplier.h: Modified the implementation to follow the checks as described above. * orbsvcs/orbsvcs/Notify/Timer.h: * orbsvcs/orbsvcs/Notify/Timer_Reactor.cpp: * orbsvcs/orbsvcs/Notify/Timer_Reactor.h: Made the Timer a refcounted object. * orbsvcs/orbsvcs/Notify/Timer_Queue.cpp: * orbsvcs/orbsvcs/Notify/Timer_Queue.h: Added an method to obtain the timer implementation. * orbsvcs/orbsvcs/Notify/Worker_Task.h: Removed the method which is not required here. * orbsvcs/orbsvcs/Notify/Reactive_Task.cpp: * orbsvcs/orbsvcs/Notify/Reactive_Task.h: Added an method in which the Reactor based timer is allocated. * orbsvcs/orbsvcs/Notify/ThreadPool_Task.cpp: * orbsvcs/orbsvcs/Notify/ThreadPool_Task.h: The Timer Queue is allocated in the method. * orbsvcs/orbsvcs/Notify/Sequence/SequencePushConsumer.cpp: Because the timer is now refcounted, we must release it on shutdown. Mon Jan 27 17:36:51 2003 Jeff Parsons * orbsvcs/IFR_Service/ifr_adding_visitor.cpp: Added missing switch case that prevented tao_ifr from recognizing the element type of sequence in an IDL file. Thanks to Andrey Nechypurenko@mchp for sending in the example IDL file that uncovered the problem. Mon Jan 27 16:47:31 2003 Frank Hunleth * orbsvcs/tests/Miop/McastHello/run_test.pl: Fixed incorrect reference to $SV in error handling code. Thanks to Craig Rodrigues for pointing this out. Mon Jan 27 09:48:12 UTC 2003 Johnny Willemsen * performance-tests/RTCorba/Multiple_Endpoints/Common/Common.mpc: Add missing dllflags * performance-tests/RTCorba/Multiple_Endpoints/Common/Makefile: Set the correct x_BUILD_DLL defines. These are needed for the Cygwin/MingW and Kylix compiler. Sun Jan 26 17:29:34 2003 Balachandran Natarajan * tao/Leader_Follower.cpp (wait_for_event): Set LFS_TIMEOUT on the LF_Event only if the follower timesout. The follower could return with a -1 from wait () even if errors other than timeout occurs, like connection closure and such. * tao/LF_CH_Event.cpp: Added a comment Sun Jan 26 17:23:22 2003 Balachandran Natarajan * tao/Notify_Handler.cpp (TAO_Notify_Handler): * tao/Notify_Handler.h: - Added a new constructor and a create_handler () method which takes in a transport and the ACE_HANDLE that this handler would be used for. - Deprecating the old create_handler () and the constructor. They have been left there for backward compatibility. The above changes were made to get around a problem that Yakov Becker and Johnny Willemsen observed in one of their applications. We havent been able to reproduce the problem here at all. The gist of the problem is - A server thread after buffering lots of incoming messages starts processing one of the messages. Keeping the handle suspended it wakes up another thread in the Reactor. - The first thread after processing the request tries to write a reply only to find the socket closed. It starts the cleanup and disassociates the transport and the handler. So far so good. - The second thread that is woken up now tries to get to the handler and then to the transport to process the queued messages. But the transport is already disassociated from the handler and the assert fails. We address this problem by using the transport as the mechanism to process messages instead of the handler. The above changes were made to accomodate the change in philosophy. * tao/Transport.cpp: Used the new method to create the Notify_Handler. Sat Jan 25 18:10:10 2003 Balachandran Natarajan * orbsvcs/tests/Security/MT_IIOP_SSL/Makefile: Fixed dependencies. * orbsvcs/tests/Security/MT_IIOP_SSL/test_i.cpp: Cosmetic fixes. * orbsvcs/tests/Security/Makefile: Added the new file to the DIRS section. Sat Jan 25 17:55:10 2003 Balachandran Natarajan * orbsvcs/tests/Security/MT_IIOP_SSL/client.dsp: * orbsvcs/tests/Security/MT_IIOP_SSL/server.dsp: Added necessary libraries for linking. Sat Jan 25 18:55:47 2003 Balachandran Natarajan * orbsvcs/tests/Security/MT_IIOP_SSL/test_i.h: Fixed a compilation error. Sat Jan 25 18:50:32 2003 Balachandran Natarajan * tao/Transport_Cache_Manager.cpp (close_i): Avoid totally unaesthetic temporaries in the for loop. Sat Jan 25 18:30:27 2003 Balachandran Natarajan * orbsvcs/tests/Security/MT_IIOP_SSL: A multi-threaded stress test for IIOP_SSL which basically provides a insecure path for communication incase an SSL connection cannot be setup. This will also serve as a stress test for BUG 1421. Sat Jan 25 18:06:51 2003 Balachandran Natarajan * tao/Transport_Cache_Manager.h: * tao/Transport_Cache_Manager.inl: Added an accessor for the hash map used inside the Cache_Manager. Useful for writing regression tests as we will demonstrate shortly in a test. Fri Jan 24 11:42:57 2003 Boris S Kolpackov * orbsvcs/tests/Security/Crash_Test/run_test.pl: fixed yet another possible race conditions. Fri Jan 24 10:59:49 2003 Jeff Parsons * TAO_IDL/be/be_interface_strategy.cpp: * TAO_IDL/util/utl_identifier.cpp: * TAO_IDL/util/utl_stack.cpp: Changed some deletes of strings to use either delete [] or ACE::strdelete(), to eliminate some complaints from Linux valgrind. Thanks to Craig Rodrigues for reporting the problem and for sending in patches. Fri Jan 24 09:04:28 2003 Jeff Parsons * TAO_IDL/fe/fe_interface_header.cpp: Fixed a bug in error-checking the inheritance of abstract interfaces. Thanks to Michael Soden for reporting the IDL compiler's incorrect error message. Fri Jan 24 08:23:12 UTC 2003 Johnny Willemsen * orbsvcs/orbsvcs/Event/ECG_UDP_Sender.cpp: * orbsvcs/orbsvcs/AV/MCast.cpp: * orbsvcs/orbsvcs/AV/RTP.cpp: * orbsvcs/orbsvcs/AV/TCP.cpp: * orbsvcs/orbsvcs/AV/UDP.cpp: Use ACE_IOV_MAX instead of IOV_MAX. IOV_MAX is defined as MAX_INT-1 with Cygwn and this gives compiles errors because an array as struct member of this size is too large. * orbsvcs/orbsvcs/ESF/ESF_Worker.h: Fixed type in comment * orbsvcs/PSS/Makefile.datastore: * orbsvcs/PSS/Makefile: * orbsvcs/orbsvcs/Makefile.RTEventLogAdmin: * orbsvcs/orbsvcs/Makefile.DsNotifyLogAdmin: * orbsvcs/orbsvcs/Makefile.DsLogAdmin: * orbsvcs/orbsvcs/Makefile.DsEventLogAdmin: Set the correct x_BUILD_DLL defines. These are needed for the Cygwin/MingW and Kylix compiler. Thu Jan 23 18:29:03 2003 Heather Drury * tests/MT_Timeout/client.cpp: Modified ACE_DEBUG to print a warning instead of an error when "Too many calls have too big differences..." Thu Jan 23 16:31:28 2003 Jeff Parsons * TAO_IDL/util/utl_global.cpp: * TAO_IDL/include/idl_global.h: Fixed a bug in the clearing of a #pragma prefix directive at the end of an indirectly included IDL file, based on an example set of five IDL files sent in by John Fletcher Thu Jan 23 11:30:04 2003 Jeff Parsons * orbsvcs/orsbvcs/IFRService/Container_i.cpp (store_label): Changed a static cast from ulonglong to u_int to use ACE_U64_TO_U32. Thanks to Rob Andzik for reporting the problem on VxWorks and Carlos O'Ryan for pointing out the fix. Thu Jan 23 10:54:23 2003 Jeff Parsons * tao/DynamicAny/DynCommon.cpp (get_reference): Fixed memory leak. Thanks to Grigory for reporting the bug. Wed Jan 22 14:56:22 2003 Balachandran Natarajan * tao/Invocation.cpp (invoke_i): Unbind the dispatcher instead of setting the state in the Bind_Dispatcher_Guard. Improves code readability. Wed Jan 22 11:08:57 2003 Chris Cleeland * tao/Messaging/Messaging_Policy_i.cpp (hook): Fixed debug message so that it actually printed out milliseconds rather than the microsecond component expressed as milliseconds. Wed Jan 22 17:03:12 UTC 2003 Johnny Willemsen * orbsvcs/orbsvcs/PortableGroup/UIPMC_Transport.cpp: Use ACE_IOV_MAX instead of IOV_MAX. IOV_MAX is defined as MAX_INT-1 with Cygwn and this gives compiles errors because an array as struct member of this size is too large. Wed Jan 22 16:34:32 UTC 2003 Johnny Willemsen * orbsvcs/orbsvcs/Makefile.RTCORBAEvent: * orbsvcs/orbsvcs/Makefile.RTSchedEvent: Set the correct x_BUILD_DLL defines. These are needed for the Cygwin/MingW and Kylix compiler. Tue Jan 21 15:31:46 2003 Jeff Parsons * TAO_IDL/fe/lex.yy.cpp: Modified code handling #pragma version directive to handle the case where one or more of the spaces between the words in the directive contains a tab. Thanks to Dima Scub for reporting the bug. This closes [BUGID:1425]. * TAO_IDL/fe/idl.ll: Changed the file that generates lex.yy.cpp to reflect the change above. Tue Jan 21 19:28:12 UTC 2003 Johnny Willemsen * Makefile.av: * Makefile.CosLoadBalancing: Set the correct x_BUILD_DLL defines. These are needed for the Cygwin/MingW and Kylix compiler. Tue Jan 21 10:38:48 2003 Boris S Kolpackov * orbsvcs/tests/Security/Crash_Test/run_test.pl: fixed few race conditions. Mon Jan 20 18:46:17 2003 Nanbor Wang * orbsvcs/ImplRepo_Service/README.txt (ImplRepoService): Fixed incorrect usages of InitRef ID ImplRepo_Service which should really be ImplRepoService. * orbsvcs/ImplRepo_Service/tao_imr_i.cpp (run): * orbsvcs/ImplRepo_Service/ImR_Activator_i.cpp (init): On Win32, changed to use ACE_OS::hostname to get the "machine name" and then use the name to acquire the full DNS name of the machine. Without this extra step, ImpoRepo uses the all-caps, short form name of the machine, which causes a mismatch with the incoming corbaloc endpoint name. Perhaps ACE_OS::hostname needs to be fixed on Win32 to return. These changes allow ImplRepo to startup correctly on Win32. * orbsvcs/ImplRepo_Service/ImR_Locator_i.cpp (server_is_running): The following change seemed to be missing for some reason. Figured out what to do and fixed it. Mon Nov 11 09:28:43 2002 Priyanka Gontla * orbsvcs/ImplRepo_Service/ImR_Locator_i.cpp: Get the whole hostname name including the domain instead of just the hostname. Thanks to Kobi Cohen-Arazi for pointing out a exception thats raised. Mon Jan 20 18:05:26 2003 Balachandran Natarajan * tao/LF_Connect_Strategy.cpp: Removed debugging statements that needed access to the transport object. The transport object could dissappear even before the thread gets to this point and it is only chaos after that. * tao/IIOP_Connector.cpp: * tao/Strategies/UIOP_Connector.cpp: * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connector.cpp (make_connection): * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp: Added debugging statements to make up for the loss from the above change. * tao/Leader_Follower.cpp: Added comments and also made sure that we access the transport object only when debugging is turned on. Thanks to Duane Binder for sharing his purify logs from his runs that he ran for a long time (which wouldnt have been possible at all for us) Mon Jan 20 16:42:34 2003 Balachandran Natarajan * tao/Muxed_TMS.cpp (bind_dispatcher): Added a lock to synchronize acces to the map. It *was* initially thought that synchronization will not be required since we always believed that only one thread could be active in the map. This is *not* true since a thread could be accessing the transport from the invocation side whereas another thread could be accessing the transport and the map underneath from the LF. This is really really bad. Mon Jan 20 13:32:30 2003 Nanbor Wang * orbsvcs/ImplRepo_Service/README.txt: Fixed a broken HTML tag. Mon Jan 20 19:20:32 UTC 2003 Johnny Willemsen * orbsvcs/orbsvcs/Makefile.ETCL: * orbsvcs/orbsvcs/Makefile.FaultTolerance: * orbsvcs/orbsvcs/Makefile.FTORB: * orbsvcs/orbsvcs/Makefile.IFRService: * orbsvcs/orbsvcs/Makefile.PortableGroup: * orbsvcs/orbsvcs/Makefile.RTEvent: * orbsvcs/orbsvcs/Makefile.RTSched: * orbsvcs/orbsvcs/Makefile.Security: * orbsvcs/orbsvcs/Makefile.Svc_Utils: Set the correct x_BUILD_DLL defines. These are needed for the Cygwin/MingW and Kylix compiler. Mon Jan 20 12:03:03 2003 Jeff Parsons * tao/DynamicInterface/Request.cpp: Fixed a bug in poll_response(). Thanks to Jaroslaw Nozderko for reporting it. Mon Jan 20 08:00:44 2003 Balachandran Natarajan * tao/Connection_Handler.cpp: Removed multiple inclusions of an header. Mon Jan 20 10:00:22 UTC 2003 Johnny Willemsen * orbsvcs/orbsvcs/Makefile.CosTrading: * orbsvcs/orbsvcs/Makefile.CosTime: * orbsvcs/orbsvcs/Makefile.CosProperty: Set the correct x_BUILD_DLL defines. These are needed for the Cygwin/MingW and Kylix compiler. Sun Jan 19 16:56:12 UTC 2003 Johnny Willemsen * orbsvcs/orbsvcs/Makefile.CosConcurrency: * orbsvcs/orbsvcs/Makefile.CosEvent: * orbsvcs/orbsvcs/Makefile.CosLifeCycle: * orbsvcs/orbsvcs/Makefile.CosNaming: * orbsvcs/orbsvcs/Makefile.CosNotification: Set the correct x_BUILD_DLL defines. These are needed for the Cygwin/MingW and Kylix compiler. Sat Jan 18 12:07:14 2003 Chris Cleeland * orbsvcs/orbsvcs/Notify/Properties.cpp: Fixed my fix by removing a #define I used to test the fix. Sat Jan 18 10:40:58 2003 Balachandran Natarajan * tao/orbconf.h: Added TAO_RD_TABLE_SIZE and set the value to be 16. * tao/Muxed_TMS.cpp: * tao/Muxed_TMS.h: Used the TAO_RD_TABLE_SIZE to configure the internal hash map. This is now hard coded. We should have a way for the user to configure the size of these hash maps and it will be integrated after 1.3.2. Sat Jan 18 09:08:12 UTC 2003 Johnny Willemsen * TAO_IDL/Makefile.BE: * TAO_IDL/Makefile.FE: * tao/Domain/Makefile: * tao/RTCORBA/Makefile: * tao/RTPortableServer/Makefile: * tao/TypeCodeFactory/Makefile: Set the correct x_BUILD_DLL defines. These are needed for the Cygwin/MingW and Kylix compiler. Fri Jan 17 14:22:48 2003 Chris Cleeland * orbsvcs/orbsvcs/Notify/Properties.cpp: Fixed explicit instantiation to instantiate TAO_Singleton rather than ACE_Singleton. This fixes the RH71_Explicit_Templates build. Fri Jan 17 08:34:57 2003 Balachandran Natarajan * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.h: Removed an extra ';'. This may nor may not help the Borland builds. Thu Jan 16 17:24:30 2003 Pradeep Gore * orbsvcs/orbsvcs/Notify/ETCL_FilterFactory.cpp: * orbsvcs/orbsvcs/Notify/ETCL_FilterFactory.h: Make the FilterFactory a RefCounted servant. This allows us to cleanup this object when the ChannelFactory dies. * orbsvcs/orbsvcs/NotifyExt.idl: * orbsvcs/orbsvcs/Notify/EventChannelFactory.cpp: * orbsvcs/orbsvcs/Notify/EventChannelFactory.h: Extend the ChannelFactory interface to include a destroy method. This allows us to check for memory leaks using a tool like purify when the channel factory is destroyed. * orbsvcs/orbsvcs/Notify/EventType.cpp: * orbsvcs/orbsvcs/Notify/EventType.h: * orbsvcs/orbsvcs/Notify/EventTypeSeq.cpp: * orbsvcs/orbsvcs/Notify/EventTypeSeq.h: Made the methods const. * orbsvcs/orbsvcs/Notify/Object.cpp: * orbsvcs/orbsvcs/Notify/Object_T.cpp: * orbsvcs/orbsvcs/Notify/Object_T.h: The flag is now set in the Object_T::destroy method. Note that if multiple threads that encounter dispatch failure try to destroy the proxy object, only the first one will run the destroy method, others will check for the shutdown flag and return. This fixes the random crashes in some of the Linux builds on the scoreboard (orbsvcs/tests/Notify/MT_Dispatching). * orbsvcs/orbsvcs/Notify/Proxy.cpp: * orbsvcs/orbsvcs/Notify/Proxy.h: Changed the method to return a copy of the curent subscriptions. This method has been corrected to be thread safe. * orbsvcs/orbsvcs/Notify/Peer.cpp: Changed to new usage of Proxy::subscribed_types. * orbsvcs/orbsvcs/Notify/Properties.h: Use TAO_Singleton instead of ACE_Singleton. Thu Jan 16 16:27:59 2003 Balachandran Natarajan * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.{h,cpp}: Added patches from this checkin "Mon Oct 28 18:21:18 CET 2002 Oliver Kellogg ". The patches mysteriously dissappeared. Thanks to Oliver Kellogg for alerting me. Thu Jan 16 13:25:10 2003 Nanbor Wang * docs/rtcorba/features.html: Fixed obsolete references to the location of various priority mapping source files. Thu Jan 16 12:29:00 2003 Balachandran Natarajan * COPYING: Extended the validity of the copyright notice from 2002 to 2003. Should have been done yesterday.., anyway, better late than never. Thu Jan 16 10:52:07 2003 Jeff Parsons * TAO_IDL/be/be_visitor_interface/smart_proxy_ch.cpp: * TAO_IDL/be/be_visitor_interface/smart_proxy_cs.cpp: In the generated TAO_*_Proxy_Factory_Adapter class, changed signatures of register_proxy_factory() and unregister_proxy_factory() to return void. Error reporting through return type is not necessary, since native exceptions or an environment variable are already used, and there is no code in either of these methods that sets the return value to anything other than 0. Although the methods are public, the class itself has a protected constructor, and the methods are intended for TAO internal use only. This closes [BUGID:844]. Wed Jan 15 18:02:49 2003 Bala * TAO version 1.3 released. Tue Jan 14 22:11:14 2003 Balachandran Natarajan * tests/Crashed_Callback/client.dsp: * tests/Crashed_Callback/server.dsp: * tests/MProfile_Connection_Timeout/client.dsp: * tests/MT_Timeout/MT_Timeout_Client.dsp: * tests/MT_Timeout/MT_Timeout_Server.dsp: Fixed the release configurations. Tue Jan 14 20:46:40 2003 Balachandran Natarajan * tests/Crashed_Callback/client.dsp: * tests/Crashed_Callback/server.dsp: Fixed the release build configuration. Thanks to Nanbor for pointing this out. Tue Jan 14 16:37:15 2003 Balachandran Natarajan * tests/Stack_Recursion/server.dsp: Adding this file to the repo. Tue Jan 14 16:37:44 2003 Balachandran Natarajan * orbsvcs/tests/Security/Crash_Test/run_test.pl: The timeout was adjusted. Tue Jan 14 15:10:53 2003 Jeff Parsons * TAO_IDL/driver/drv_args.cpp: Added a check and graceful exit for the case where the -H command line option is not followed by a selection (i.e., is followed by another dash-prefixed command line option or by nothing). The case where the selection exists but is invalid was already handled. Thanks to Chip Jones for reporting the bug. This fix closes [BUGID:1422]. Tue Jan 14 16:13:09 2003 Balachandran Natarajan * orbsvcs/IFR_Service/Makefile.IFR_Service: Added a check for TAO_IFRService library before going head to actually compile stuff. Tue Jan 14 07:05:21 UTC 2003 Johnny Willemsen * tao/DynamicAny/Makefile: * tao/DynamicInterface/Makefile: * tao/IORManipulation/Makefile: * tao/IORTable/Makefile: * tao/Messaging/Makefile: Set the correct BUILD_DLL define when building a shared lib, this is needed for the Cygwin, MingW and Kylix compiler Mon Jan 13 20:52:43 UTC 2003 Johnny Willemsen * tao/BiDir_GIOP/Makefile: * tao/IFR_Client/Makefile: * tao/PortableServer/Makefile: * tao/Strategies/Makefile: Set the correct BUILD_DLL define when building a shared lib, this is needed for the Cygwin, MingW and Kylix compiler Mon Jan 13 10:12:20 2003 Jeff Parsons * TAO_IDL/be/be_visitor_interface/interface_ch.cpp: Removed generation of 'friend class ' for local interfaces. Mon Jan 13 12:47:12 UTC 2003 Johnny Willemsen * tao/Transport.cpp: Use ACE_IOV_MAX instead of IOV_MAX. IOV_MAX is defined as MAX_INT-1 with Cygwn and this gives compiles array because an array of this size is allocated on the stack. * tao/Makefile.tao: When building shared lib then set the define TAO_BUILD_DLL, when building statically set the define TAO_AS_STATIC_LIBS Fri Jan 10 19:36:56 2003 Balachandran Natarajan * tao/Transport_Cache_Manager.h: * tao/Transport_Cache_Manager.cpp: Added a debug statement. Removed the method close_entries () which was under #if 0 guard. The method is_entry_idle () was trying to make the transport as busy, which is horribly horribly bad. The method is_entry_idle () should only do one thing, ie. check whether the entry is idle or not! Fri Jan 10 08:28:34 2003 Frank Hunleth * orbsvcs/orbsvcs/PortableGroup/UIPMC_Connection_Handler.cpp: Removed call to unsubscribe from multicast socket as this happens automatically. Thanks to Don Hinton for pointing this out. * orbsvcs/orbsvcs/PortableGroup/UIPMC_Transport.cpp: * orbsvcs/orbsvcs/PortableGroup/UIPMC_Transport.h: Added code to check length of MIOP UniqueID so that it can be properly parsed. Thanks to Chau Vincent for finding the problem when performing MIOP interoperability testing. Also, added code to set the UniqueID and packet length fields properly per update to the MIOP spec and tightened bounds checks on MIOP packets to prevent buffer overruns. * orbsvcs/tests/Miop/McastHello/client.cpp: Fixed spelling error. Thu Jan 9 11:01:24 2003 Balachandran Natarajan * tao/try_macros.h: Removed the file from the repo. This is no longer used and seems like a good time to remove it. Thanks to Oliver Kellog for reminding us. Tue Jan 7 09:02:52 2003 Balachandran Natarajan * performance-tests/Memory/IORsize/Foo_i.h: Fixed fuzz errors. Mon Jan 6 17:31:03 2003 Balachandran Natarajan * tao/Reactive_Connect_Strategy.cpp: * tao/LF_Connect_Strategy.cpp: Used the cached pointer to access the ORB_Core, instead of accessing the ORB_Core in the transport. The reason why this should be done this way is too involved to explain here, but suffice to say that in highly multi-threaded environments the transports could dis-sappear before the connection handlers. Accessing the ORB_Core from the transport could then lead to vague crashes. Mon Jan 6 17:12:40 2003 Balachandran Natarajan * performance-tests/Memory/IORsize/client.cpp: * performance-tests/Memory/IORsize/server.cpp: * performance-tests/Memory/IORsize/Memory_Growth.h: * performance-tests/Memory/IORsize/Memory_Growth.cpp: * performance-tests/Memory/IORsize/Foo_i.h: * performance-tests/Memory/IORsize/Foo_i.cpp: * performance-tests/Memory/IORsize/Makefile: * performance-tests/Memory/IORsize/Test.idl: A simple, again a very simple test, to measure the memory consumed by the server for unmarshalling an IOR. This test will not be compiled in all the builds, but only in the builds where the scripts are run. * performance-tests/Memory/Makefile: Added the new test to the list of directories. Sat Jan 04 12:15:39 2003 Pradeep Gore * orbsvcs/Notify_Service/Notify_Server.cpp: Removed extra ACE_CHECK_RETURN causing build errors. Fri Jan 3 14:43:56 2003 Jeff Parsons * TAO_IDL/util/utl_global.cpp: * TAO_IDL/include/idl_global.h: Changes to the management of the IDL compiler's stack of prefixes, to address a problem that appeared when there is a chain of included IDL files. Thanks to Adee Ran for reporting the problem and supplying example IDL files to reproduce it. Fri Jan 03 14:22:14 2003 Pradeep Gore * orbsvcs/Notify_Service/Notify_Server.cpp: Moved the call to to catch any resulting exceptions and exit gracefully. The following changes are made to fix the crashes observed on the scoreboard in the $TAO_ROOT/orbsvcs/tests/Notify/Sequence_Multi_Test. Thanks to Irfan and Bala for helping to fix this problem. * orbsvcs/orbsvcs/Notify/Container_T.cpp: Changed the order of destruction of the Notify objects. The tree is destroyed bottom up. This ensures that proxy objects that refer to a valid parent during shutdown. * orbsvcs/orbsvcs/Notify/Method_Request.h: * orbsvcs/orbsvcs/Notify/Method_Request.inl: * orbsvcs/orbsvcs/Notify/Refcountable.h: * orbsvcs/orbsvcs/Notify/Refcountable.inl: Moved the TAO_NS_Refcountable_Guard class from Method_Request.* files into Refcountable.* files. * orbsvcs/orbsvcs/Notify/Object.cpp: Moved the and data member shutdown from the destructor to the method. * orbsvcs/orbsvcs/Notify/Object_T.cpp: Replaced the TAO_NS_Object_RefCount_Guard with TAO_NS_Refcountable_Guard. * orbsvcs/orbsvcs/Notify/Peer.cpp: Protect the Peer from being destroyed while it is dispatching updates by using a TAO_NS_Refcountable_Guard. * orbsvcs/orbsvcs/Notify/Types.h: Removed the TAO_NS_Object_RefCount_Guard class. We use TAO_NS_Refcountable_Guard instead. * orbsvcs/orbsvcs/Notify/Sequence/Batch_Buffering_Strategy.cpp: * orbsvcs/orbsvcs/Notify/Sequence/Batch_Buffering_Strategy.h: Modified the method to return the number of pending events. * orbsvcs/orbsvcs/Notify/Sequence/SequencePushConsumer.cpp: * orbsvcs/orbsvcs/Notify/Sequence/SequencePushConsumer.h: + Protect the call to the event batch method with TAO_NS_Refcountable_Guard so that the proxy (and hence this peer) is not destroyed while the push is in progress. + Reset the pacing error on dispatch error so that we don't schedule a timer on an object that is about to be destroyed. + Schedule a timer in the method only if there are pending events. Fri Jan 3 07:48:01 2003 Chad Elliott * tao/DynamicAny/DynamicAnyC.h: * tao/RTCORBA/RTCORBAC.h: Changed the name of the AIX template instantiation macro. Thu Jan 2 17:51:49 2003 Jeff Parsons * 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_codegen.cpp: * TAO_IDL/be_include/be_codegen.h: * TAO_IDL/be_include/be_visitor_valuetype/valuetype_cs.h: Moved generation of AMH exception holder raise_* method body from the stub header file to the stub source file. Also added explicit include of ace/Auto_Ptr when generating AMH classes (needed to correct AIX build errors). Thu Jan 2 13:33:01 2003 Chad Elliott * orbsvcs/orbsvcs/AV/AV_Core.h: * orbsvcs/orbsvcs/CosEvent/CEC_Reactive_ConsumerControl.h: * orbsvcs/orbsvcs/CosEvent/CEC_Reactive_Pulling_Strategy.h: * orbsvcs/orbsvcs/CosEvent/CEC_Reactive_SupplierControl.h: * orbsvcs/orbsvcs/LoadBalancing/LB_LoadManager.cpp: * orbsvcs/orbsvcs/Log/EventLogFactory_i.cpp: * orbsvcs/orbsvcs/Log/RTEventLogFactory_i.cpp: * orbsvcs/orbsvcs/Notify/ConsumerAdmin.cpp: * orbsvcs/orbsvcs/Notify/EventTypeSeq.h: * orbsvcs/orbsvcs/Notify/Refcountable.cpp: * orbsvcs/orbsvcs/Notify/Structured/StructuredEvent.cpp: * orbsvcs/orbsvcs/Notify/SupplierAdmin.cpp: * tao/Condition.h: Added #include to correct AIX build errors. * tao/DynamicAny/DynamicAnyC.h: * tao/RTCORBA/RTCORBAC.h: Added a second macro TAO_INSTANTIATING_TEMPLATES to the safety check for these files to determine if the AIX compiler is instantiating templates. If it is instantiating, then we must allow the compiler to #include these files. Thu Jan 2 10:33:29 2003 Boris S Kolpackov * tao/PortableServer/ImplRepoC.h: * tao/PortableServer/ImplRepoS.cpp: * tao/PortableServer/ImplRepoS.i: * tao/PortableServer/ImplRepoS_T.h: * tao/PortableServer/ImplRepoC.cpp: * tao/PortableServer/ImplRepoC.i: * tao/PortableServer/ImplRepoS.h: * tao/PortableServer/ImplRepoS_T.cpp: * tao/PortableServer/ImplRepoS_T.i: * tao/PortableServer/diffs/ImplRepo.diff: Regenerated ImplRepo.pidl which apparently fixed bug 1413. ImplRepo.diff was regenerate as well. Thu Jan 2 00:15:57 2003 Balachandran Natarajan * tests/Bug_1020_Regression/ORB_Task.cpp: * tests/Bug_1020_Regression/client.cpp: * tests/Bug_1270_Regression/ORB_Task.cpp: * tests/Bug_1270_Regression/client.cpp: * tests/Bug_1361_Regression/ORB_Task.cpp: * tests/Bug_1361_Regression/client.cpp: * tests/Nested_Upcall_Crash/Client_Peer.cpp: * tests/Nested_Upcall_Crash/client.cpp: * tests/Nested_Upcall_Crash/server.cpp: * tests/Server_Connection_Purging/client.cpp: Added missing includes to keep the compilation on AIX happy. Missing header files were tao/Environment.h and ace/Reactor.h. * tao/Utils/Servant_Var.inl: * tao/Utils/Servant_Var.h: #included ace/CORBA_Macros.h and tao/Environment.h to keep the AIX compilers happy. Thanks to Jon Wackley for donating these patches. Tue Dec 31 23:53:17 2002 Balachandran Natarajan * TAO_IDL/include/idl_global.h: Added missing include to get it compiling on AIX. * tests/Bug_1269_Regression/ORB_Task.cpp: #included tao/Environment.h to get it compiling on AIX. Thanks to Jon Wackley for the patches. Tue Dec 31 21:03:37 2002 Balachandran Natarajan * performance-tests/Makefile: Added the new directory to the list of DIRS * performance-tests/Memory/Makefile: Added a new Makefile to compile the sub-directories. Tue Dec 31 20:55:48 2002 Balachandran Natarajan * performance-tests/Memory/Single_Threaded: A simple test for tracking memory usage. This is going to be compiled only on Linux * performance-tests/Memory/Single_Threaded/Memory_Growth.mpc: * performance-tests/Memory/Single_Threaded/Makefile: * performance-tests/Memory/Single_Threaded/Memory_Growth.cpp: * performance-tests/Memory/Single_Threaded/Memory_Growth.h: * performance-tests/Memory/Single_Threaded/README: * performance-tests/Memory/Single_Threaded/Test.idl: * performance-tests/Memory/Single_Threaded/client.cpp: * performance-tests/Memory/Single_Threaded/server.cpp: Files for the new test. Tue Dec 31 19:33:09 2002 Balachandran Natarajan * tao/Condition.h: * tao/Condition.cpp: Added missing includes for the AIX compiler. Thanks to Jon Wackley for providing this patch. * tao/Leader_Follower.cpp (wait_for_event): Cached the transport id before waiting as a follower or drive the event loop as leader, and use the cached id for all the debug statements. The transport object could dissappear during the process of waiting for connection establishment or connection completion and calls on the transport object could crash. Thanks to Duane Binder for reporting this problem. Tue Dec 31 14:03:53 2002 Nanbor Wang * tests/RTCORBA/Profile_And_Endpoint_Selection/lanes_r: * tests/RTCORBA/Profile_And_Endpoint_Selection/bands_r: * tests/RTCORBA/Profile_And_Endpoint_Selection/invocation_priorities_r: * tests/RTCORBA/Profile_And_Endpoint_Selection/run_test.pl: Changed to run the tests with reduced numbered priority lanes on Solaris to avoid exhausting the limited SysV semaphores and causing unnecessary warnings. Thanks to Irfan for the new set of configuration files. Mon Dec 30 12:10:49 2002 Balachandran Natarajan * examples/AMH/Sink_Server/st_server.dsp: * examples/AMH/Sink_Server/client.dsp: * examples/AMH/Sink_Server/mt_server.dsp: Changed the include path information in the release builds. Mon Dec 30 08:49:31 2002 Jeff Parsons * TAO_IDL/util/utl_global.cpp: Fixed bug in #pragma prefix when the prefix directive is followed by an #include directive. Thanks to Adee Ran for reporting the bug. Mon Dec 30 06:12:53 2002 Balachandran Natarajan * examples/AMH/Sink_Server/st_server.dsp (USERDEP__TEST_): * examples/AMH/Sink_Server/client.dsp: * examples/AMH/Sink_Server/mt_server.dsp: Changed the path to the tao_idl in the external_dependencies section. This should fix the warnings in the daily builds. Sun Dec 29 11:29:20 2002 Balachandran Natarajan * examples/AMH/Sink_Server/AMH_Sink_Server.dsw: * examples/AMH/Sink_Server/client.dsp: * examples/AMH/Sink_Server/st_server.dsp: * examples/AMH/Sink_Server/mt_server.dsp: * tests/AMH_Exceptions/AMH_Exceptions.dsw: * tests/AMH_Exceptions/server.dsp: * tests/AMH_Exceptions/client.dsp: Added the above files. No need to explain why they need to be added ;) Sun Dec 29 08:44:06 2002 Balachandran Natarajan * TAO_IDL/ast/ast_array.cpp: * TAO_IDL/ast/ast_sequence.cpp: * TAO_IDL/be/be_array.cpp: * TAO_IDL/be/be_decl.cpp: * TAO_IDL/be/be_sequence.cpp: * TAO_IDL/be/be_union_branch.cpp: * TAO_IDL/be/be_valuetype.cpp: * TAO_IDL/be/be_visitor_amh_pre_proc.cpp: * TAO_IDL/be/be_visitor_ami_pre_proc.cpp: * TAO_IDL/be/be_visitor_argument.cpp: * TAO_IDL/be/be_visitor_array.cpp: * TAO_IDL/be/be_visitor_attribute.cpp: * TAO_IDL/be/be_visitor_component.cpp: * TAO_IDL/be/be_visitor_decl.cpp: * TAO_IDL/be/be_visitor_exception.cpp: * TAO_IDL/be/be_visitor_field.cpp: * TAO_IDL/be/be_visitor_interface_fwd.cpp: * TAO_IDL/be/be_visitor_operation.cpp: * TAO_IDL/be/be_visitor_scope.cpp: * TAO_IDL/be/be_visitor_sequence.cpp: * TAO_IDL/be/be_visitor_structure.cpp: * TAO_IDL/be/be_visitor_typedef.cpp: * TAO_IDL/be/be_visitor_union.cpp: * TAO_IDL/be/be_visitor_union_branch.cpp: * TAO_IDL/be/be_visitor_valuetype_fwd.cpp: #include'd ace/Log_Msg.h to all the above files. This helps compilation to go smooth on AIX. * TAO_IDL/include/ast_module.h: #include'd ace/Unbounded_Set.h. * tao/Condition.h: #include'd tao/orbconf.h and forward declared ACE_Time_Value * tao/FILE_Parser.cpp: * tao/Typecode.cpp: #include'd ace/Malloc_Base.h. All the above changes help compilation on AIX. Thanks to Jon Wackley for providing these patches. * tao/Muxed_TMS.cpp: * tao/Muxed_TMS.h: Use recursive mutex instead of a simple mutex. This prevents deadlock that might occur, when a thread tries to send a request during reply dispatching. Sat Dec 28 13:09:53 2002 Nanbor Wang * tao/Strategies/SHMIOP_Transport.cpp (recv_i): Changed the recv_i method to handle closed socket correctly. The original implementation caused SHMIOP falling into an infinite loop when the other end closed the connection. Sat Dec 28 10:33:20 2002 Balachandran Natarajan * tests/Bug_1361_Regression/Server_Thread_Pool.cpp: Fixed warnings in Full builds. Sat Dec 28 09:35:36 2002 Balachandran Natarajan * tests/Makefile.bor: Removed ior_corbaloc test. Fri Dec 27 20:00:41 2002 Balachandran Natarajan * tests/Bug_1361_Regression/run_test.pl: Added more threads in the client to stress the ORB. Fri Dec 27 14:01:28 2002 Priyanka Gontla * orbsvcs/ImplRepo_Service/ImR_Locator_i.cpp: Decrementing the reference count for object references when unbinding it from the map. Thanks to Carlos for pointing it out. Fixed bug 1403. * orbsvcs/tests/ImplRepo/run_test.pl: Fixed the typo in passing the name of the file to the ORBInitRef option. Did some minor indentation modifications. Fri Dec 27 15:03:36 2002 Balachandran Natarajan * tests/ior_corbaloc: Removed. Fri Dec 27 11:49:22 2002 Priyanka Gontla * tao/CORBALOC_Parser.h: * tao/CORBALOC_Parser.cpp: Modified the signature of parse_string_assign_helper. We dont have to send the length of original string as an argument. When invoking assign_ke_string, the length of the token needs to be sent as opposed to the length of the whole address. Thanks to Bertin Colpron for pointing out. Fri Dec 27 14:57:50 2002 Balachandran Natarajan * examples/Makefile: * examples/Makefile.bor: Added ior_corbaloc to the list of directories. Fri Dec 27 14:41:44 2002 Balachandran Natarajan * examples/ior_corbaloc: Moved the test from tests/ior_corbaloc to examples. Moving the test to examples directory would help us to run the test in our daily builds. Fri Dec 27 07:56:31 2002 Jeff Parsons * TAO_IDL/be/be_generator.cpp (create_module): Added a line to propagate the prefix of a module to a reopening of that module in another IDL file, overlooked in the changes of Wed Dec 11 18:26:09 2002 Jeff Parsons which was causing a reference (in a third IDL file) to a member of the reopened module to lack the correct prefix, if it had been set. Thanks to Nanbor Wang for reporting the problem. Fri Dec 27 07:15:34 2002 Balachandran Natarajan * examples/Simple/Simple_Util.h: Somehow missed this in my checkin. Thu Dec 26 09:07:21 2002 Balachandran Natarajan * examples/Simple/Simple_Util.h: Added a method to return the client side ORB. * examples/Simple/grid/Grid_Client_i.cpp: Hold the Grid_Factory's object reference in a var instead of a pointer. This prevents memory leaks in the application. Wed Dec 25 17:47:47 2002 Bala * TAO version 1.2.8 released. Wed Dec 25 06:24:01 2002 Douglas C. Schmidt * docs/performance.html: Added some tips about how to reduce the size of the compile-time and run-time memory footprint. Tue Dec 24 12:36:11 2002 Balachandran Natarajan * orbsvcs/tests/Security/Crash_Test/server.cpp: Fixed a compile error in g++ builds. Mon Dec 23 22:48:58 2002 Balachandran Natarajan * orbsvcs/tests/Notify/Basic/AdminProperties.h: * orbsvcs/tests/Notify/Basic/AdminProperties.cpp: Fixed compile errors in g++ builds that were caused by improper signatures. Mon Dec 23 22:33:56 2002 Balachandran Natarajan A slight redesign of the changes applied to fix BUG 1276. The redesign was motivated due to a drop in our performance. * tao/Reply_Dispatcher.cpp: * tao/Reply_Dispatcher.h: * tao/Reply_Dispatcher.i: Did a slight redesign of how timeouts are handled. This was necessitated since the previous design made things slow. Though none of the synchronization primitives were used for normal cases ie. invocations without timeouts, we still created them for every invocation. Creation of synchronizaton primitives actually made things slow, and they have now been removed. * tao/Muxed_TMS.cpp: Removed calls to start_dispatch () and end_dispatch () on the Reply_Dispatcher. * tao/Invocation.cpp: We now do a synchronization on the internal lock used by Muxed_TMS strategy so that no two threads are active on the Reply_Handler at the same time. This, though not very elegant, provides the same effect as the changes in "Sun Dec 22 11:26:30 2002 Balachandran Natarajan ". The gist of the changes mentioned above have still been retained. * tao/Exclusive_TMS.cpp: Removed calls to start_dispatch and end_dispatch () on the Reply_Dispatcher. These changes should get our performance back on track. Mon Dec 23 18:21:51 2002 Pradeep Gore * orbsvcs/tests/Notify/Blocking/Notify_Structured_Push_Consumer.cpp: * orbsvcs/tests/Notify/Discarding/Notify_Sequence_Push_Consumer.cpp: * orbsvcs/tests/Notify/Discarding/Notify_Structured_Push_Consumer.cpp: * orbsvcs/tests/Notify/Ordering/Notify_Sequence_Push_Consumer.cpp: * orbsvcs/tests/Notify/Ordering/Notify_Structured_Push_Consumer.cpp: * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/Notify_Sequence_Push_Consumer.cpp: * orbsvcs/tests/Notify/Sequence_Multi_Filter/Notify_Sequence_Push_Consumer.cpp: * orbsvcs/tests/Notify/Structured_Filter/Notify_Push_Consumer.cpp: * orbsvcs/tests/Notify/Structured_Filter/Structured_Consumer.cpp: * orbsvcs/tests/Notify/Structured_Filter/Structured_Supplier.cpp: * orbsvcs/tests/Notify/Structured_Multi_Filter/Notify_Push_Consumer.cpp: * orbsvcs/tests/Notify/Structured_Multi_Filter/Structured_Consumer.cpp: * orbsvcs/tests/Notify/Structured_Multi_Filter/Structured_Supplier.cpp: * orbsvcs/tests/Notify/performance-tests/Filter/Sequence_Consumer.cpp: * orbsvcs/tests/Notify/performance-tests/Filter/Structured_Consumer.cpp: * orbsvcs/tests/Notify/performance-tests/RedGreen/RedGreen_Test.cpp: Debug messages are printed only if the debug level is set. Mon Dec 23 16:25:08 2002 Boris S Kolpackov * orbsvcs/tests/Security/Makefile: Added orbsvcs/tests/Security/Crash_Test/Crash_Test directory. Mon Dec 23 15:50:54 2002 Boris S Kolpackov * orbsvcs/tests/Security/Crash_Test/Crash_Test.dsw: * orbsvcs/tests/Security/Crash_Test/Crash_Test_Client.dsp: * orbsvcs/tests/Security/Crash_Test/Crash_Test_Server.dsp: * orbsvcs/tests/Security/Crash_Test/Makefile: * orbsvcs/tests/Security/Crash_Test/README: * orbsvcs/tests/Security/Crash_Test/cacert.pem: * orbsvcs/tests/Security/Crash_Test/client.conf: * orbsvcs/tests/Security/Crash_Test/client.cpp: * orbsvcs/tests/Security/Crash_Test/client_cert.pem: * orbsvcs/tests/Security/Crash_Test/client_key.pem: * orbsvcs/tests/Security/Crash_Test/run_test.pl: * orbsvcs/tests/Security/Crash_Test/server.conf: * orbsvcs/tests/Security/Crash_Test/server.cpp: * orbsvcs/tests/Security/Crash_Test/server.ior: * orbsvcs/tests/Security/Crash_Test/server_cert.pem: * orbsvcs/tests/Security/Crash_Test/server_key.pem: * orbsvcs/tests/Security/Crash_Test/test.idl: * orbsvcs/tests/Security/Crash_Test/test_i.cpp: * orbsvcs/tests/Security/Crash_Test/test_i.h: * orbsvcs/tests/Security/Crash_Test/test_i.i: Added a new test to verifies that the ORB's connection management mechanism is functioning properly in conjunction with SSLIOP. For more information please refer to README. Mon Dec 23 15:08:22 2002 Balachandran Natarajan * orbsvcs/tests/Notify/Basic/AdminProperties.cpp: * orbsvcs/tests/Notify/Basic/AdminProperties.h: Fixed a warning with SunCC builds. Mon Dec 23 15:16:21 2002 Balachandran Natarajan * tao/RTPortableServer/RT_Object_Adapter_Factory.cpp: Moved the setting of the from the constructor to create (), since it is not required immediately on loading the RT_PortableServer. This should fix a problem with GCC 2.95 builds on Solaris where the static initializations are all messed up! Surprising that other tests even work. Mon Dec 23 10:44:19 2002 Jeff Parsons * TAO_IDL/be/be_visitor_valuetype/valuetype_ch.cpp: * TAO_IDL/be/be_visitor_ccm_pre_proc.cpp: Fixed code generation errors for components and eventtypes. Thanks to Nanbor Wang for his example IDL files that uncovered the problem. Mon Dec 23 06:57:41 2002 Balachandran Natarajan * orbsvcs/orbsvcs/Notify/ThreadPool_Task.h: * orbsvcs/orbsvcs/Notify/ThreadPool_Task.cpp: Fixed warnings in SunCC builds. Yet another problem with SunCC compiler. This should also hopefully fix a similar problem with Borland 6. Sun Dec 22 22:46:50 2002 Balachandran Natarajan * tao/Connection_Handler.cpp: Replaced the word "error" from one of the debug statements. The test tests/RTCORBA/MT_Client_Protocol_Priority uses a script that parses the output from the test run to determine if the test was right. The script searches for the word "error" in the output and on seeing it barf's. Hence the change. Sun Dec 22 23:18:58 2002 Balachandran Natarajan * tao/Reply_Dispatcher.h: * tao/Reply_Dispatcher.i: Added an accessor for * tao/Muxed_TMS.cpp: Call start_dispatch () and end_dispatch () only if the Reply_Dispatcher has timout associated with it. This should fix most of the problems that showed up in the latest builds. Sun Dec 22 20:22:50 2002 Balachandran Natarajan * performance-tests/Latency/Thread_Per_Connection/svc.conf: Used the blocked connect strategy instead of the default strategy. This is needed to work around the problem outlined in BUG 1408. Sun Dec 22 11:26:30 2002 Balachandran Natarajan Fix for Bug 1276. Please see http://deuce.doc.wustl.edu/bugzilla/show_bug.cgi?id=1276 for more details on this bug. The gist of the fix is this - If a follower thread timesout, it first tries to unbind the dispatcher from the table - If unbinding is succesfull it throws a TIMEOUT exception to the client. - If unbinding is unsuccesful, it waits on a condition variable in the reply dispatcher - Once the reply is available it dispatches the reply. - This helps avoid the race conditions that are documented in 1276. None of the above code should be executed when timeouts are not enabled in the ORB ie. for the default path. * tao/Bind_Dispatcher_Guard.cpp: * tao/Bind_Dispatcher_Guard.h: * tao/Bind_Dispatcher_Guard.i: Added method unbind_dispatcher () which unbinds the dispatcher from the Transport_Mux_Strategy and status (), which allows to set the status of the dispatcher guard. * tao/Transport_Mux_Strategy.h * tao/Exclusive_TMS.cpp: * tao/Exclusive_TMS.h: * tao/Muxed_TMS.cpp: * tao/Muxed_TMS.h: Changed the signature of the method unbind_dispatcher (). It now returns an int. Further, we mark the Reply_Dispatcher as busy when the dispatching thread is ready to call Reply_Dispatcher::dispatch_reply (). * tao/Reply_Dispatcher.cpp: * tao/Reply_Dispatcher.h: * tao/Reply_Dispatcher.i: Added a mutex and a condition variable for the follower to wait on when a leader thread is within the Reply_Dispatcher. Methods to wait on the CV and to mark the reply_dispatcher as being used and free have been added. These methods are essentially no-ops if timeouts are not set. * tao/Invocation.cpp: * tao/Invocation.h: If the invocation thread gets a timeout, it first unbinds its reply dispatcher from the Mux_Strategy. If the unbind fails (this means that another thread has aleardy collected the reply from the transport) , it waits on the reply_dispatcher to collect the reply instead of just throwing a TIMEOUT exception. Fri Dec 20 13:47:33 2002 Balachandran Natarajan * orbsvcs/tests/Security/Big_Request/Makefile: * orbsvcs/tests/Security/Callback/Makefile: * orbsvcs/tests/Security/MT_SSLIOP/Makefile: * orbsvcs/tests/Security/Secure_Invocation/Makefile: * orbsvcs/tests/Security/SecurityLevel1/Makefile: Too much of cut and paste. Fixed places where BIN was assigned something arbitrary. Thu Dec 19 13:45:50 2002 Jeff Parsons * TAO_IDL/util/utl_global.cpp: Added a patch sent in by Greg Mulyar to make sure that the ACE version of gperf is used when both the ACE and GNU versions of gperf are present. This fixes BUG 1406. Thu Dec 19 08:48:04 2002 Balachandran Natarajan * orbsvcs/tests/Security/Big_Request/Makefile: * orbsvcs/tests/Security/Callback/Makefile: * orbsvcs/tests/Security/MT_SSLIOP/Makefile: * orbsvcs/tests/Security/Secure_Invocation/Makefile: * orbsvcs/tests/Security/SecurityLevel1/Makefile: Added our usual checks to make sure that these dont get built if Security service or SSLIOP libraries arent built. This shold fix compile errors in NO_AMI_MESSAGING and NO_INTERCEPTORS builds. Thu Dec 19 08:25:04 2002 Balachandran Natarajan * tao/Transport_Cache_Manager.cpp: Call TAO_Transport::close_connection_no_purge () in TAO_Transport_Cache_Manager::purge () instead of close_connection_i (). Surprising that Chris Cleeland missed this after we agreed that this was the right things to do. Looks like Chris C has been caught up in a different world altogether :-). This should fix the errors in the daily builds. Wed Dec 18 19:45:45 2002 Jeff Parsons * TAO_IDL/fe/fe_declarator.cpp: Added a check for 0 return from a narrow to AST_Type. This check catches attempts to use constants, enum values, attributes, and operations as IDL sequence elements, and outputs an error instead of crashing. Thanks to Petr Ferschmann for pointing out the problem with enum values. Wed Dec 18 14:48:32 2002 Jeff Parsons * tao/Any.h: * tao/Any.i: Added cast operator to Any& for class Any_var. Thanks to Torsten Kuepper for pointing out the lack of this spec-required operator. This fixes BUG 1404. Wed Dec 18 14:46:53 2002 Balachandran Natarajan * orbsvcs/orbsvcs/Makefile (TAO_ORBSVCS): Build SSL only when corba_messaging and interceptors are infact turned on. Wed Dec 18 08:22:39 2002 Ossama Othman * orbsvcs/orbsvcs/LoadBalancing/LB_Random.cpp (tao_lb_random_init_routine): Fixed compile-time problem on platforms that do not support for the Pthread standard. This function should always be visible. Tue Dec 17 09:53:02 2002 Chris Cleeland * tao/Transport_Cache_Manager.*: Fixed deadlock that can occur when trying to gain reactor token and transport cache manager lock while purging cache entries. Unfortunately , the classic solution to the classic deadlock-- which is typically caused by an ordering problem, and is solved by re-ordering--doesn't apply. We simply don't have control of the order due to the fact that we have two frameworks interacting, and the offending bodies of code don't have visibility to both locks. The key is not trying to remove the handler while the transport cache lock is held. So, we break this into two loops. The first loop does everything cache-releated with only the cache lock held, then releases it. The second loop then does only the reactor-related things. Key changes are: - Move purge() from .inl to .cpp. - Fold close_entries() into purge() (purge was the only thing that called close_entries anyway). - Use a stack to accumulate the transports that have been purged in the first loop, then, in the second loop, pop the stack and call the remove_handler on each transport. - Note that the transports whose pointers are stuck in the stack are properly reference counted using TAO_Transport::_duplicate/release. Thanks to Raytheon in San Diego for providing the environment to find this! Tue Dec 17 08:14:35 2002 Chad Elliott * utils/nslist/nslist.mpc: Adding an mpc file for nslist and company. Tue Dec 17 06:36:17 2002 Chad Elliott * orbsvcs/orbsvcs/Event/ECG_Mcast_EH.cpp: * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.h: * orbsvcs/orbsvcs/Event/EC_Reactive_ConsumerControl.h: * orbsvcs/orbsvcs/Event/EC_Reactive_SupplierControl.h: * orbsvcs/orbsvcs/Event/Memory_Pools.h: * orbsvcs/orbsvcs/Naming/Persistent_Context_Index.h: * orbsvcs/orbsvcs/PortableGroup/PG_MemberInfo.h: * orbsvcs/orbsvcs/Sched/Scheduler_Generic.h: * tao/Default_Endpoint_Selector_Factory.cpp: * tao/Exception.cpp: * tao/Object.h: * tao/PortableServer/POAManager.h: * tao/Strategies/advanced_resource.cpp: * tao/Synch_Refcountable.cpp: * tao/Transport_Cache_Manager.h: * tao/Utils/PolicyList_Destroyer.cpp: * tao/default_resource.cpp: Added #include's and forward declarations for the Green Hills compiler for VxWorks. * orbsvcs/orbsvcs/IOR_Multicast.cpp: Added .inout() to a CORBA::String_var. * orbsvcs/orbsvcs/PortableGroup/Portable_Group_Map.cpp: Divide the object_group_id by 1 to force ACE_U_LongLong (on platforms that don't support unsigned long long) to cast down to unsigned long. * tao/Fault_Tolerance_Service.i: * tao/Fault_Tolerance_Service.cpp: * tao/MProfile.i: * tao/MProfile.cpp: Moved a couple of inline methods to the .cpp to avoid inclusion of header files in the .h. * tao/TAO_Singleton_Manager.cpp: Added check for ghs when determining which version of set_unexpected() to call. Mon Dec 16 23:26:50 2002 Balachandran Natarajan * tao/Policy_Validator.cpp: Reset the last_ to zero during destruction. If not reset, it starts creating problem during reloading of libraries since they see that last_ is not zero but pointing to a stale location. Thanks to Guan Joe for reporting this. Having a static member is not the way to go. But let me hold on till 1.3 goes out of the way. Mon Dec 16 17:09:55 2002 Jeff Parsons * tao/CORBALOC_Parser.cpp: * tao/ORB.cpp: * tao/ORB_Core.cpp: Silly errors in the fix below. Thanks to Chris Cleeland for catching it. Mon Dec 16 14:27:15 2002 Jeff Parsons * tao/Any.cpp: * tao/CORBALOC_Parser.cpp: * tao/CORBA_String.h: * tao/CORBA_String.inl: * tao/ORB.cpp: * tao/ORB_Core.cpp: Removed the String_var non-const cast operator to char*, as per http://cgi.omg.org/issues/issue3797.txt, and made necessary changes to TAO where CORBA::String_var is passed to strcpy, strcat, etc., without using .out() or .inout(). Mon Dec 16 09:29:32 2002 Jeff Parsons * tao/CORBA_String.h: * tao/CORBA_String.inl: Added the spec-required cast operator to char*& for the string_var class. Thanks to Torsten Kuepper for reporting the oversight. This closes [BUGID:1402]. Sun Dec 15 22:26:29 2002 Priyanka Gontla * tao/CORBALOC_Parser.cpp: Fixed a problem with the ior_corbaloc test. A wrong string was being used for strcmp. Thanks to Bala for finding and reporting the problem. Sun Dec 15 20:18:53 2002 Priyanka Gontla * tests/ior_corbaloc/status_i.h: * tests/ior_corbaloc/status_i.cpp: * tests/ior_corbaloc/ior_corbaloc_client_i.cpp: Fixed exception macros usage. Sun Dec 15 01:37:14 2002 Jeff Parsons * TAO_IDL/fe/idl.ll: * TAO_IDL/fe/lex.yy.cpp: * TAO_IDL/util/utl_global.cpp: Further changes to the #pragma prefix handling. Special checks had to be added to deal with the unique behavior of the preprocessor on the Linux platforms. Sat Dec 14 17:08:17 2002 Balachandran Natarajan * orbsvcs/orbsvcs/Notify/Timer_Queue.cpp: Reverted "Sat Dec 14 09:19:30 2002 Balachandran Natarajan " since the offending ACE change has been reverted. Thanks to Dr. Schmidt for reverting the ACE change. Sat Dec 14 09:19:30 2002 Balachandran Natarajan * orbsvcs/orbsvcs/Notify/Timer_Queue.cpp: #included Reactor.h. No reason to do this, but this change in ACE makes us do this "Fri Dec 13 16:05:05 2002 Douglas C. Schmidt " The above change just couples the Reactor and the timerqueue code. Fri Dec 13 17:37:25 2002 Pradeep Gore * orbsvcs/tests/Notify/Basic/AdminProperties.cpp: Added the "Error" word in the debug message so that it shows up red in the scoreboard on run error. * orbsvcs/tests/Notify/Basic/run_test.pl: AdminProperties test is run conditionally - skipped when the Notification is in Reactive mode, because the Reactive mode does not support any queues to test the MaxQueueLength Admin Property. In the MT mode, it uses the adminproperties.conf * orbsvcs/tests/Notify/MT_Dispatching/run_test.pl: The Notify output is no longer parsed, as the debug messages have changed. Fri Dec 13 12:52:31 2002 Ossama Othman * orbsvcs/orbsvcs/CosLoadBalancing.idl: Added missing "RequestsPerSecond" LoadId constant. Reordered register_load_monitor() parameters so that they are consistent with the other methods in the PortableGroup and CosLoadBalancing modules (i.e. object to be registered is last argument). Uncommented Strategy::analyze_loads() method. It is required for adaptive load balancing support. * orbsvcs/orbsvcs/LoadBalancing/LB_LoadManager.h: * orbsvcs/orbsvcs/LoadBalancing/LB_LoadManager.cpp (register_load_monitor): Updated parameter list to match the updated IDL. Unbind the load monitor just registered if scheduling of the timer handler fails. Fixes a resource leak. Fixed problem where it wasn't possible to register more than one load monitor. (push_loads): Invoke the Strategy::analyze_loads() method on load balancing strategies associated with object groups that have members residing at the given location. This is an adaptive load balancing fix. (check_strategy_prop, preprocess_properties): Replaced check_strategy_prop() method with the new preprocess_properties() method. In addition to performing the property checks found in the check_strateg_prop() method, preprocess_properties() also converts the "StrategyInfo" property to a "Strategy" property. This allows applications to retrieve references to the built-in strategies, in addition to fixing a problem where different LeastLoaded strategy configurations could not be created. (next_member): Since built-in load balancing strategy references are now stored in the object group's property list, the same code that was used for the custom strategies may be used for the built-in ones. The code is now much cleaner. (init_least_loaded): Removed this method. The introduction of the preprocess_properties() method obviates the need for this method. (extract_float_property): Move this method to the TAO_LB_LeastLoaded servant implementation. It was only used by that servant. * orbsvcs/orbsvcs/LoadBalancing/LB_LeastLoaded.h: * orbsvcs/orbsvcs/LoadBalancing/LB_Random.h: * orbsvcs/orbsvcs/LoadBalancing/LB_RoundRobin.h: All built-in load balancing strategies are now unconstrained. Applications should be able to make invocations on those strategies. * orbsvcs/orbsvcs/LoadBalancing/LB_Random.h: * orbsvcs/orbsvcs/LoadBalancing/LB_Random.cpp: Refactored out random number generator initialization code so that other balancing strategies (e.g. LeastLoaded) may initialize it if necessary. If a standard PThreads implementation is configured, use the pthread_once() function to force only a single initialization of the random number generator to occur. (get_loads, analyze_loads): Implemented these methods. * orbsvcs/orbsvcs/LoadBalancing/LB_LeastLoaded.cpp (TAO_LB_LeastLoaded): Initialize the random number generator prior to selecting group members randomly. (get_location): Fixed default load rebalancing and request rejection behavior. By default, neither of these should happen, as required by the forthcoming CORBA Load Balancing and Monitoring specification. Fixed problem where the same location was always selected. Cleaned up the code quite a bit. (get_properties, get_loads, analyze_loads): Implemented these methods. (init): New method used to initialize the LeastLoaded servant. All LeastLoaded property extraction and checking is performed in this method. This method is invoked by the LoadManager when an application configures LeastLoaded as its balancing strategy. (extract_float_property): Method that extracts CORBA::Float values from a given LeastLoaded property. * orbsvcs/orbsvcs/LoadBalancing/LB_MemberLocator.cpp (pre_invoke): Cosmetic change. * orbsvcs/orbsvcs/LoadBalancing/LB_RoundRobin.cpp (get_loads): (analyze_loads): Implemented these methods. * orbsvcs/LoadBalancer/LoadManager.cpp (ACE_TMAIN): Updated * orbsvcs/LoadBalancer/LoadMonitor.cpp (register_load_monitor): Updated LoadManager::register_load_monitor() call arguments to match the updated IDL. * orbsvcs/orbsvcs/PortableGroup.idl (groups_at_location): Added new method to the ObjectGroupManager interface that returns a sequence of references to the ObjectGroups residing at a given location. This method should be pushed into the forthcoming standard. * orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroupManager.h: * orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroupManager.cpp: Implemented ObjectGroupManager::groups_at_location() method. * orbsvcs/orbsvcs/Naming/Hash_Naming_Context.cpp (resolve): Improved exception-safety, and a potential memory leak in the emulated exception case. Fri Dec 13 10:58:40 2002 Pradeep Gore * orbsvcs/tests/Notify/Discarding/Notify_Structured_Push_Consumer.cpp: * orbsvcs/tests/Notify/Discarding/Notify_Structured_Push_Consumer.h: * orbsvcs/tests/Notify/Discarding/Structured_Consumer.cpp: Made amends for "signed unsigned comparison" compile warning. * orbsvcs/orbsvcs/Notify/CosNotify_Initializer.cpp: Removed reference to defunct .inl file. Fri Dec 13 10:04:59 2002 Jeff Parsons * TAO_IDL/fe/fe_tmplinst.cpp: Added missing semicolon. Fri Dec 13 00:10:23 2002 Pradeep Gore * orbsvcs/orbsvcs/Notify/AdminProperties.cpp: Added missing template instantiation for TAO_NS_AdminProperties_var * orbsvcs/orbsvcs/Notify/Builder.cpp: Added a 2 step initialization of TAO_NS_AdminProperties object to appease Borland compiler. * orbsvcs/orbsvcs/Notify/CosNotify_Initializer.cpp: * orbsvcs/orbsvcs/Notify/CosNotify_Initializer.h: Moved Initializer from Notify_Service.cpp to a seperate file. This should fix the bug related to multiple instances of the Initalizer. Thanks to Shelton Tang for reporting this. * orbsvcs/orbsvcs/Notify/Notify_Service.cpp: * orbsvcs/orbsvcs/Notify/Notify_Service.h: Removed Initializer class and implementation. * orbsvcs/orbsvcs/Makefile.CosNotification: * orbsvcs/Orbsvcs/CosNotification.dsp: * orbsvcs/Orbsvcs/CosNotification_Static.dsp: * orbsvcs/Orbsvcs/CosNotification.bor: Updated. * orbsvcs/Notify_Service/Makefile: * orbsvcs/Notify_Service/Notify_Service.h: Replaced include for Initializer to "CosNotify_Initializer.h" * orbsvcs/tests/Notify/Basic/AdminProperties.h: * orbsvcs/tests/Notify/Basic/AdminProperties.cpp: Modified the test to check MaxQueueLength and MaxSuppliers and MaxConsumers seperately. Events are dispatched in a seperate thread. The main thread receives events, an initial delay and a consumer delay can be configured to provide a lag in event delivery to force the Notification to buffer events. * orbsvcs/tests/Notify/Basic/Sequence.h: * orbsvcs/tests/Notify/Basic/Sequence.cpp: Added a test for sequences. In the default run, this test sends 15 events in batches of 5 events via a sequence supplier. It sets the consumer's batch size to 3 and sets a pacing interval of 2 seconds. it checks to see if 15 events are indeed received. * orbsvcs/tests/Notify/Basic/adminproperties.conf: Svc Conf file for the AdminProperties test - This prevents the supplier's event sending thread from reading incomming requests. * orbsvcs/tests/Notify/Basic/Makefile: * orbsvcs/tests/Notify/Basic/Makefile.bor: * orbsvcs/tests/Notify/Basic/Sequence.dsp: * orbsvcs/tests/Notify/Notify_Tests.dsw: * orbsvcs/tests/Notify/Basic/run_test.pl: Added Sequence Test. * orbsvcs/tests/Notify/Discarding/notify.conf: To apply the MaxEventsPerConsumer QoS we need configure a queue per proxysupplier. * orbsvcs/tests/Notify/Discarding/Notify_Structured_Push_Consumer.cpp: * orbsvcs/tests/Notify/Discarding/Notify_Structured_Push_Consumer.h: * orbsvcs/tests/Notify/Discarding/Structured_Consumer.cpp: * orbsvcs/tests/Notify/Discarding/Structured_Supplier.cpp: This test was expecting to receive the same number of events as the MaxEventsPerConsumer. We know that atleast 1 *extra* event will be delivered because the 1st event delivery causes the channel queue to fill up and discard events. Thus, we send 40 events, set the MaxEventsPerConsumer at 10 and really expect to see 11 events, but we give some leeway and set the expected count at 13. far less compared to 40. Thu Dec 12 10:10:53 2002 Douglas C. Schmidt * orbsvcs/orbsvcs/Naming/Persistent_Context_Index.cpp: Fixed an inappropriate use of ACE_NEW_RETURN where a placement new operator will suffice. Thanks to Torsten Kuepper for reporting this. Fixes [bugid 1396]. * docs/performance.html: Added suggestions on how to speedup compilation times for ACE+TAO and applications. Thanks to Alex Hornby for contributing these suggestions. Thu Dec 12 10:29:11 2002 Jeff Parsons * TAO_IDL/fe/fe_tmplinst.cpp: Added an explicit instantiation to the list. Thu Dec 12 09:20:07 2002 Pradeep Gore * orbsvcs/orbsvcs/CosNotification.bor: Added missing .obj extensions to new files added. Wed Dec 11 23:23:26 2002 Balachandran Natarajan * TAO_IDL/util/utl_global.cpp: Fixed a warning in the builds. Wed Dec 11 18:26:09 2002 Jeff Parsons * TAO_IDL/fe/idl.ll: * TAO_IDL/fe/lex.yy.cpp: * TAO_IDL/include/idl_global.h: * TAO_IDL/util/utl_global.cpp: Fixes to the #pragma prefix handling in the IDL compiler. Thanks to Duane Binder for reporting that one of the "omg.org" prefixes in the chain of (p)idl files included from orb.idl was not getting cleared at file's end. Wed Dec 11 19:18:33 2002 Pradeep Gore * orbsvcs/orbsvcs/Notify/Notify_Signal_Property_T.cpp: * orbsvcs/orbsvcs/Notify/Notify_Signal_Property_T.h: * orbsvcs/orbsvcs/Notify/Sequence/EventBatch.cpp: * orbsvcs/orbsvcs/Notify/Sequence/EventBatch.h: * orbsvcs/orbsvcs/Notify/Sequence/EventBatch.inl: * orbsvcs/orbsvcs/Notify/Sequence/Method_Request_Dispatch_EventBatch.cpp: * orbsvcs/orbsvcs/Notify/Sequence/Method_Request_Dispatch_EventBatch.h: * orbsvcs/orbsvcs/Notify/Sequence/Method_Request_Dispatch_EventBatch.inl: Removed the following files obsoleted by the changes to Buffering and Sequences described below. * orbsvcs/orbsvcs/Notify/Timer.h: Abstract Timer object that is obtained via the Proxy. * orbsvcs/orbsvcs/Notify/Timer_Queue.cpp: * orbsvcs/orbsvcs/Notify/Timer_Queue.h: * orbsvcs/orbsvcs/Notify/Timer_Queue.inl: Timer implementation that uses the ACE_Timer_Queue. * orbsvcs/orbsvcs/Notify/Timer_Reactor.cpp: * orbsvcs/orbsvcs/Notify/Timer_Reactor.h: * orbsvcs/orbsvcs/Notify/Timer_Reactor.inl: Timer implementation that uses the ACE_Reactor::instance. This timer assumes that the Reactor is run by the main thread. * orbsvcs/orbsvcs/Notify/Sequence/Batch_Buffering_Strategy.cpp: * orbsvcs/orbsvcs/Notify/Sequence/Batch_Buffering_Strategy.h: * orbsvcs/orbsvcs/Notify/Sequence/Batch_Buffering_Strategy.inl: The Batch Buffering strategy that extends the base Buffering_Strategy by adding methods to extract batch size events. * orbsvcs/orbsvcs/Notify/AdminProperties.cpp: * orbsvcs/orbsvcs/Notify/AdminProperties.h: * orbsvcs/orbsvcs/Notify/AdminProperties.inl: Added a global queue lock and condition for global queue not empty. Added a TAO_NS_AdminProperties_var to manage AdminProperty lifetime. * orbsvcs/orbsvcs/Notify/Buffering_Strategy.cpp: * orbsvcs/orbsvcs/Notify/Buffering_Strategy.h: * orbsvcs/orbsvcs/Notify/Buffering_Strategy.inl: The Buffering Strategy(BS) has been re-implemented: The BS now checks for a local and global maxima when enqueing events. If either maxima is reached and discarding is enabled, queued messages are discarded according to the discard policy. The global lock in the AdminProperties class (created per Event Channel)is used to serialize access to the global message count and condition variables. Note that the local maxima is infact due to the MaxEventsPerConsumer QoS property. Hence to use this property there must be a queue configured per proxy supplier. (using -AllocateTaskPerProxy directive in the svc.conf. see $TAO_ROOT/orbsvcs/tests/Notify/Discarding/notify.conf for an example) * orbsvcs/orbsvcs/Notify/Builder.cpp: * orbsvcs/orbsvcs/Notify/Builder.h: Removed and methods. The TAO_NS_Object now provides protected virtual methods to override concurrency related QoS application. * orbsvcs/orbsvcs/Notify/EventChannel.cpp: Removed deletion of AdminProperties Object. As this object is now refcounted, it automatically gets destroyed when the EventChannel is destroyed. However, the EC might be destroyed before its child objects. * orbsvcs/orbsvcs/Notify/FilterAdmin.cpp: * orbsvcs/orbsvcs/Notify/FilterAdmin.h: * orbsvcs/orbsvcs/Notify/Method_Request_Dispatch.cpp: * orbsvcs/orbsvcs/Notify/Method_Request_Dispatch.h: * orbsvcs/orbsvcs/Notify/Method_Request_Dispatch_No_Filtering.cpp: * orbsvcs/orbsvcs/Notify/Method_Request_Dispatch_No_Filtering.h: * orbsvcs/orbsvcs/Notify/Method_Request_Lookup.cpp: * orbsvcs/orbsvcs/Notify/Method_Request_Lookup.h: * orbsvcs/orbsvcs/Notify/Proxy.cpp: * orbsvcs/orbsvcs/Notify/Proxy.h: "Constified" TAO_NS_Event_var parameter. * orbsvcs/orbsvcs/Notify/Method_Request.cpp: * orbsvcs/orbsvcs/Notify/Method_Request.h: - Provided concrete implementations for the and methods. - Added method to obtain the event wrapped by this Message. * orbsvcs/orbsvcs/Notify/Notify_Service.cpp: * orbsvcs/orbsvcs/Notify/Notify_Service.h: - Added method. - Removed check for "threads > 0" in set_XXX_qos_properties method. If 0 threads are specified, the QoS property for concurrency defaults to a Reactive model. * orbsvcs/orbsvcs/Notify/Object.cpp: * orbsvcs/orbsvcs/Notify/Object.h: * orbsvcs/orbsvcs/Notify/Object.inl: - Added , and methods. These methods can be overridden for NS_Object specific concurrency QoS. * orbsvcs/orbsvcs/Notify/Property.h: - Removed reference to Notify_Signal_Property_T. * orbsvcs/orbsvcs/Notify/ProxySupplier.cpp: * orbsvcs/orbsvcs/Notify/ProxySupplier.h: Overide TAO_NS_Object::qos_changed method. This method checks for the MaxEventsPerConsumer QoS property and applies it to the Buffering Strategy of the Worker Task. * orbsvcs/orbsvcs/Notify/Reactive_Task.cpp: * orbsvcs/orbsvcs/Notify/Reactive_Task.h: * orbsvcs/orbsvcs/Notify/Reactive_Task.inl: Added acessors for timer and buffering strategy. The reactor base timer is used and there is no buffering strategy. * orbsvcs/orbsvcs/Notify/ThreadPool_Task.cpp: * orbsvcs/orbsvcs/Notify/ThreadPool_Task.h: * orbsvcs/orbsvcs/Notify/ThreadPool_Task.inl: This task delegates message enqueues and dequeues to the buffering strategy. The Timer_Queue is used to schedule timers. The method thus dispatches timers and executes command objects. * orbsvcs/orbsvcs/Notify/Worker_Task.cpp: * orbsvcs/orbsvcs/Notify/Worker_Task.h: Added abstract accessors for timer and buffering strategy. * orbsvcs/orbsvcs/Notify/Any/ProxyPushConsumer.cpp: * orbsvcs/orbsvcs/Notify/Any/ProxyPushSupplier.cpp: * orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushConsumer.cpp: * orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushSupplier.cpp: * orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushConsumer.cpp: * orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushSupplier.cpp: * orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushSupplier.h: Added NULL check before ing the peer object. * orbsvcs/orbsvcs/Notify/Sequence/SequencePushConsumer.cpp: * orbsvcs/orbsvcs/Notify/Sequence/SequencePushConsumer.h: Changed timer handling and related code. Timers are set via the TAO_NS_Timer object obtained via this objects Proxy. If a dispatching thread is configured, events are now dispatched in the context of the dispatching thread and not in the main thread. * orbsvcs/orbsvcs/Makefile.CosNotification: * orbsvcs/Orbsvcs/CosNotification.dsp: * orbsvcs/Orbsvcs/CosNotification_Static.dsp: * orbsvcs/Orbsvcs/CosNotification.bor: Updated. Wed Dec 11 16:26:48 2002 Balachandran Natarajan * orbsvcs/orbsvcs/Event/ECG_Mcast_EH.cpp: Removed redundant template instantiations that have already been instantiated through specialization. This should clear up one of the builds on the scoreboard. Tue Dec 10 19:30:56 2002 Jeff Parsons * TAO_IDL/be/be_visitor_array/array_ci.cpp: Removed all memory management from the *_forany classes. A close reading of the spec, and discussion with Bala, made it clear that this class is meant to be nothing more than a helper for the overloaded Any and CDR stream operators, and should not make any memory management decisions of its own. Thanks to Petr Tuma for reporting the oversight. Tue Dec 10 18:17:12 2002 Balachandran Natarajan * tao/IIOP_Transport.cpp (send_message): Formatted the debug statement to print out %m instead of %p. The TAO_Transport object under some circumstances return -1 with errno set to ENOENT. %m would then be a bit more softer than %p which leads to crashes. Tue Dec 10 16:15:09 2002 Balachandran Natarajan * Makefile: Added a target 'reverseclean' to be used in our daily builds. Mon Dec 9 22:25:06 2002 Jeff Parsons * TAO_IDL/be/be_visitor_argument/vardecl_ss.cpp: Added initialization for INOUT and OUT argument declarations in the skeleton body when they are of any integer or floating point type. This is a workaround for VC7, which has an internal compiler error when the corresponding IDL operation has certain non-void return types, i.e., when this return type is declared in the skeleton body just before the argument in question. The C++ compiler is evidently unable to tell that the argument variable is intialized by demarshaling later in the generated skeleton body. Thanks to Tim Pullen for reporting the problem. Mon Dec 09 18:11:02 2002 Balachandran Natarajan * tests/OBV/TC_Alignment/server.dsp: * tests/OBV/TC_Alignment/client.dsp: Fixed the release build configuration. Mon Dec 9 15:43:38 2002 Balachandran Natarajan * tao/Connection_Handler.cpp (handle_input_eh): Use a cached transport id instead of calling id () when printing out ACE_DEBUG statements. Thanks to Duane Binder for reporting the problem. Mon Dec 9 14:51:01 2002 Balachandran Natarajan * tao/LF_Connect_Strategy.cpp (wait): Cosmetic fixes to the debug statements. Should fix a FMR problem with Purify. Mon Dec 9 16:33:07 UTC 2002 Don Hinton * orbsvcs/orbsvcs/Event/ECG_Mcast_EH.i: Added missing ACE_INLINE's. Mon Dec 9 10:26:07 2002 Balachandran Natarajan * tao/IIOP_Transport.cpp (recv_i): Fixed a small error in the debug statement. Thanks to Duane Binder for pointing this out. * tao/IIOP_Connection_Handler.cpp: Initialized dscp_codepoint_ in the second constructor. This was observed by Ossama, Duane Binder and me. I decided to check this in. Thu Dec 5 20:45:49 2002 Douglas C. Schmidt * orbsvcs/orbsvcs/Event_Utilities.cpp (event_debug): Print out the debugging info in hex as well as decimal. Thanks to Oliver Kellog for reporting this. Sat Dec 7 09:44:33 2002 Jeff Parsons * orbsvcs/orbsvcs/CosTime.dsp: * orbsvcs/orbsvcs/CosTrading.dsp: * orbsvcs/orbsvcs/DsLogAdmin.dsp: * orbsvcs/orbsvcs/Fault_Tolerance.dsp: Changes to MFC project settings for IDL compilation. Thanks to John Morey for reporting the bugs. Sat Dec 7 11:59:06 UTC 2002 Don Hinton * orbsvcs/orbsvcs/Event/ECG_Mcast_EH.cpp: Removed close from dtor since it can raise an exception. This is consistent with previous behavior since the user must explicitely call close. Fri Dec 6 21:02:48 UTC 2002 Don Hinton * orbsvcs/orbsvcs/Event/ECG_Mcast_EH.{h,cpp}: Removed use of TAO:Utils:Implicit_Deactivator since it has problems on windows. Made dtor exception safe. Thanks to Bala for pointing this out. * orbsvcs/tests/EC_Custom_Marshal/Makefile: * orbsvcs/tests/EC_MT_Mcast/Makefile: * orbsvcs/tests/EC_Mcast/Makefile: * orbsvcs/tests/EC_Multiple/Makefile: * orbsvcs/tests/EC_Throughput/Makefile: * orbsvcs/tests/Event/Basic/Makefile: * orbsvcs/tests/Event/Performance/Makefile: Removed link to libTAO_Utils to pick up Implicit_Deactivator due to windows problem cited above. Fri Dec 6 05:20:28 UTC 2002 Don Hinton * orbsvcs/orbsvcs/Event/ECG_Mcast_EH.{h,i,cpp}: Refactored code to properly remove event handlers from the reactor. This included refcounting the event handlers. Added ifdef for ACE_LACKS_PERFECT_MULTICAST_FILTERING so that platforms that bind the multicast address by default don't even try to join multiple groups on a single socket before adding a new socket. Also added a deactivator for the Observer class to help simplify deactivation on shutdown and in case of exceptions. Thanks to Russ Noseworthy for reporting this. * orbsvcs/tests/EC_Custom_Marshal/Makefile: * orbsvcs/tests/EC_MT_Mcast/Makefile: * orbsvcs/tests/EC_Mcast/Makefile: * orbsvcs/tests/EC_Multiple/Makefile: * orbsvcs/tests/EC_Throughput/Makefile: * orbsvcs/tests/Event/Basic/Makefile: * orbsvcs/tests/Event/Performance/Makefile: Added link to libTAO_Utils to pick up Implicit_Deactivator. Thu Dec 5 14:42:21 2002 Balachandran Natarajan * tests/Server_Connection_Purging/client.cpp: Fixed a warning in gcc 32 builds. Thu Dec 5 11:16:40 2002 Balachandran Natarajan * tests/Server_Connection_Purging/run_test.pl: Missed this in my last checkin. Thu Dec 5 08:24:23 2002 Balachandran Natarajan * tests/Bug_1020_Regression/Bug_1020_Regression.dsw (Project): * tests/Bug_1020_Regression/client.dsp: * tests/Bug_1020_Regression/server.dsp: Removed them since they dont compile if service pack 5 isnt loaded. Thu Dec 5 09:58:45 UTC 2002 Don Hinton * docs/tutorials/Quoter/index.html: * docs/tutorials/Quoter/On_Demand_Activation/index.html: * docs/tutorials/Quoter/Simple/Persistent/index.html: Fixed a few minor typos and ommissions in the code sections, along with an html formatting problem that showed up with certain browsers. Wed Dec 4 23:40:31 2002 Balachandran Natarajan * tao/Transport.cpp: Old habits die-hard. Made a mistake while constructing objects, which basically leads to unspecified behaviours on g++, Sunc++ etc. Fixed object construction by adding a temporary variable. This should fix most of the problems that showed up in our builds. Wed Dec 4 18:34:21 2002 Balachandran Natarajan * tests/Makefile: Added the new test to the list of DIRS. Wed Dec 4 18:30:55 2002 Balachandran Natarajan * tests/Server_Connection_Purging/Test_i.h: * tests/Server_Connection_Purging/Test_i.cpp: * tests/Server_Connection_Purging/Test.idl: * tests/Server_Connection_Purging/client.cpp: * tests/Server_Connection_Purging/server.cpp: * tests/Server_Connection_Purging/Makefile: * tests/Server_Connection_Purging/run_test.pl: * tests/Server_Connection_Purging/svc.conf: Simple test for checking whether the handles on the server side are being purged. Borland and Win32 files would follow. Wed Dec 4 17:25:06 2002 Balachandran Natarajan * tao/Transport_Cache_Manager.cpp (update_item) : Return -1 in case the map entry is zero after holding the lock. Thanks to Scott Harris for pointing this out. Wed Dec 4 17:15:29 2002 Balachandran Natarajan * tao/TAO_Server_Request.cpp: Fixed a typo in this "Tue Dec 3 18:13:42 2002 Balachandran Natarajan " checkin. Wed Dec 4 13:00:53 2002 Balachandran Natarajan * tao/Connect_Strategy.h: * tao/Connect_Strategy.cpp (post_failed_connect): Improved documentation for this abstract class since it was outdated. Wed Dec 4 12:50:39 2002 Balachandran Natarajan * tao/Connection_Handler.h: * tao/Connection_Handler.cpp: Added a new method is_finalized () which returns whether the connection handler has reached its final state or not. Wed Dec 4 12:24:52 2002 Balachandran Natarajan * tao/LF_CH_Event.h (TAO_LF_CH_Event): Made the call is_state_final () protected. Wed Dec 4 12:14:09 2002 Balachandran Natarajan * tao/Reactive_Connect_Strategy.cpp: Use the LF_Event's standard calls, like keep_waiting (), successful () and error_detected () to wait and collect results, instead of using special calls on the connection handler. Wed Dec 04 07:05:06 2002 Balachandran Natarajan * tests/OBV/TC_Alignment/client.dsp: * tests/OBV/TC_Alignment/server.dsp: Fixed release configurations. Wed Dec 04 06:59:27 2002 Balachandran Natarajan * tests/Bug_1020_Regression/Bug_1020_Regression.dsw (Project): * tests/Bug_1020_Regression/client.dsp: * tests/Bug_1020_Regression/server.dsp: Added MSVC files for the test. Tue Dec 3 21:38:02 2002 Balachandran Natarajan * tao/IIOP_Connector.cpp: * tao/Strategies/SHMIOP_Connector.cpp: * tao/Strategies/UIOP_Connector.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp: * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connector.cpp: Obtain the status of the state transformations on the connection handler before decrementing the refcount and pass that to the post_failed_connect () call. Tue Dec 3 21:27:52 2002 Balachandran Natarajan * tao/Blocked_Connect_Strategy.cpp: * tao/Blocked_Connect_Strategy.h: * tao/Connect_Strategy.cpp: * tao/Connect_Strategy.h: * tao/LF_Connect_Strategy.cpp: * tao/LF_Connect_Strategy.h: * tao/Reactive_Connect_Strategy.cpp: * tao/Reactive_Connect_Strategy.h: Did some refactoring of code, especially the call to post_failed_connect (). Since all connect strategies may require some cleaning up, moved the implementation to the base class. Added an argument to the call post_failed_connect () to indicate the status of the state transformations that occurred on the Connection_Handler. Tue Dec 3 18:16:38 2002 Balachandran Natarajan * tao/LF_Connect_Strategy.h: * tao/LF_Connect_Strategy.cpp: * tao/Reactive_Connect_Strategy.h * tao/Reactive_Connect_Strategy.cpp: Implemented the post_failed_connect () method to shutdown the connection handler properly for cases that are not taken care by the asynch connect process in ACE_Svc_Handler. This fixes a memory leak reported by Duane Binder of Veritas. Thanks a lot to Duane reporting the problem and teaching me how to reproduce this on solaris. I couldnt reproduce this on Win32 and Linux since the the TCP stack behaved a bit differently on those platforms. Tue Dec 3 18:13:42 2002 Balachandran Natarajan Fix for BUG 1382. Please see http://deuce.doc.wustl.edu/bugzilla/show_bug.cgi?id=1382 for details. The problem is basically that we didnt know when and how to do reference counting. The following fix addresses that. * tao/Transport.h: * tao/Transport.inl (TAO_Transport_Refcount_Guard): A new helper guard class which increments the refcount when constructed and decrements the refcount on destruction. * tao/Transport.cpp (process_parsed_messages): Just before resuming the handle, increment the refcount of TAO_Transport and decrement it when exiting the scope once request and reply processing is done. * tao/TAO_Server_Request.cpp: Removed incrementing and decrementing the TAO_Transport. It has now been moved to TAO_Transport::process_parsed_messages () which is a safer and the right place to do refcounting. Manipulating refcounts here is too late between which world of bad things could strike. Mon Dec 2 18:42:12 UTC 2002 Johnny Willemsen * examples/Borland/ChatClient.cpp: * examples/Borland/ChatClientWnd.cpp: * examples/Borland/ORBThread.cpp: Made these files compiling with latest version of TAO * examples/Borland/README: Added more info about what to do if someone wants to compile this example. Thanks to Tim Smith for reporting that this example doesn't compile anymore. Mon Dec 2 13:25:20 2002 Craig Rodrigues * orbsvcs/orbsvcs/Makefile.av (ACE_SHLIBS): Add -lTAO_IORTable to appease MacOS X linker. Mon Dec 2 13:21:26 2002 Balachandran Natarajan * tao/Utils/Auto_Functor.cpp: Changed the names of #ifndef. They had the same symbols as the header file. Thanks to Don Hinton for pointing this out. Sun Dec 01 10:17:32 2002 Balachandran * TAO version 1.2.7 released. Sat Nov 30 13:38:34 2002 Jeff Parsons * orbsvcs/orbsvcs/CosNotification_Static.dsp: Changes to project settings. Sat Nov 30 09:38:33 2002 Balachandran Natarajan * tao/Transport_Cache_Manager.cpp: Added a second check after holding the lock for the hash map entry in update_item (). Fri Nov 29 19:42:12 2002 Balachandran Natarajan * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.cpp: * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connection_Handler.cpp: * tao/Strategies/SHMIOP_Connection_Handler.cpp: * tao/Strategies/UIOP_Connection_Handler.cpp: Replicated the changes in IIOP to the above protocols. Need to refactor this code. Fri Nov 29 19:30:20 2002 Balachandran Natarajan * tao/Connect_Strategy.h: * tao/Connect_Strategy.cpp: Added a new method post_failed_connect () which could be used to do cleanup if the connect () call fails. * tao/Blocked_Connect_Strategy.h: * tao/Blocked_Connect_Strategy.cpp: Implemented the post_failed_connect () method to do cleanup of the svc_handler created. Since the blocked connect strategy doesnt use the reactor, and hence no handle_close () call if connection establishment fails, we need to employ a seperate mechanism to take care of cleanup. This fixes a memory leak. * tao/IIOP_Connector.cpp: Call post_failed_connect () if the connect () call fails. Fri Nov 29 19:25:59 2002 Balachandran Natarajan * tao/Transport.cpp: Prevented the thread doing the server side purging from waiting on the LF and waiting for connection closure, since its of no use. Fri Nov 29 18:13:03 2002 Nanbor Wang * orbsvcs/orbsvcs/Notify/ThreadPool_Task.cpp: Changed to use Thread_Manager::task () directly to acquire the task pointer of the current thread instead of acquiring it indirectly from the Thread_Descriptor since accessing Thread_Descriptor directly is no longer allowed. Fri Nov 29 12:58:00 2002 Jeff Parsons * tests/OBV/TC_Alignment/TC_Alignment.dsw: * tests/OBV/TC_Alignment/client.dsp: * tests/OBV/TC_Alignment/server.dsp: Renamed the project files, since the default filename (the same as the project name) contained whitespace. Fri Nov 29 12:31:20 2002 Jeff Parsons * orbsvcs/orbsvcs/CosNotification.dsp: Changes to IDL compiler settings for this project. Fri Nov 29 11:42:45 2002 Balachandran Natarajan * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.cpp: * tao/Strategies/SHMIOP_Connection_Handler.cpp: * tao/Strategies/UIOP_Connection_Handler.cpp: Cache and idle the transport in add_transport_to_cache () instead of just caching and leaving the transport in busy state. Fri Nov 29 11:16:28 2002 Balachandran Natarajan This set of fixes are for fixing BUG 1247. Please see http://deuce.doc.wustl.edu/bugzilla/show_bug.cgi?id=1247 for more details. The problem is that the server side connections never got purged. The cache manager was designed to purge connections in the client and server end. * tao/Transport_Cache_Manager.h: * tao/Transport_Cache_Manager.cpp: * tao/transport_cache_manager.inl: Added two new methods, cache_idle_transport () and update_entry (). The former caches the transport and puts it in the idle and purgable state. The latter is useful to update the purge policy information. * tao/Transport.h: * tao/Transport.cpp: Added a new method update_transport () which in turn calls the TAO_Transport_Cache_Manager::update_entry () to update the purging policy information. In close_connection_shared (), the connection handler is set in a temporary state before waiting on the LF for connection closure. * tao/Connection_Handler.cpp (TAO_Connection_Handler): * tao/Connection_Handler.h: Added a new method connection_close_wait () to set the connection handler in a a state which is an intermediate state between SUCESS and CONNECTION_CLOSED. Added a call to update transport information in handle_output_eh () and handle_input_eh (). This is needed for the following reasons . A connection could be cached by a server thread and the connection would be continously used to receive requests. In such cases the cache and purging policies should be updated to ensure that actively used connections are not purged. . In BiDirectional cases, a client thread could cache the connection, but the connection could be actively used by a server thread. An update is needed to avoid purging the connections abruptly. * tao/IIOP_Connection_Handler.cpp: Cache and idle the transport in add_transport_to_cache () instead of just caching and leaving the transport in busy state. * tao/LF_Event.h: * tao/LF_CH_Event.h: * tao/LF_CH_Event.cpp: Added a new temporary state in the path from LFS_SUCCESS to LFS_CONNECTION_CLOSED. Fri Nov 29 09:56:46 2002 Balachandran Natarajan * tests/OBV/Any/client.cpp: * tests/OBV/Any/AnyS_impl.cpp: Fixed compile errors in BCB6 builds. Fri Nov 29 08:01:56 2002 Balachandran Natarajan * orbsvcs/orbsvcs/Makefile: PortableGroup will not be compiled if AMI is disabled. Fri Nov 29 11:55:41 2002 D A Hanvey * orbsvcs/Logging_Service/Notify_Logging_Service/Notify_Logging_Service.cpp: * orbsvcs/Logging_Service/Notify_Logging_Service/Notify_Logging_Service.h: Fixed Segmentation fault. Thu Nov 28 22:39:38 2002 Balachandran Natarajan * orbsvcs/Logging_Service/Event_Logging_Service/Event_Logging_Service.cpp: Fixed warnings in builds where excetions are turned off. Thu Nov 28 22:30:37 2002 Balachandran Natarajan * tests/OBV/TC_Alignment/client.cpp: Fixed errors and warnings in builds where exceptions are turned off. Thu Nov 28 14:45:43 2002 Balachandran Natarajan * tests/Bug_1361_Regression/Server_Thread_Pool.cpp (svc): * tests/Bug_1361_Regression/Server_Thread_Pool.h: * tests/Bug_1361_Regression/shutdown.cpp: Fixed warnings and compile errors. Thu Nov 28 07:57:12 2002 Balachandran Natarajan * orbsvcs/orbsvcs/Notify/Admin.h: * orbsvcs/orbsvcs/Notify/EventChannel.h: * orbsvcs/orbsvcs/Notify/EventChannelFactory.h: * orbsvcs/orbsvcs/Notify/Proxy.h: Added missing includes to compile a bit better on VC 7.0. Thanks to Tommy Andreasen for providing patches. Thu Nov 28 07:40:16 2002 Balachandran Natarajan * tests/OBV/TC_Alignment/server.cpp: Fixed fuzz errors. Thu Nov 28 07:03:12 UTC 2002 Johnny Willemsen * tests/OBV/Any/client.bor: * tests/OBV/Any/server.bor: Fix errors in these bcb makefiles. Wed Nov 27 22:31:34 2002 Balachandran Natarajan * tests/Bug_1361_Regression/Server_Thread_Pool.h: * tests/Bug_1361_Regression/Server_Thread_Pool.cpp: Converted the usage of ACE_SYNCH_MUTEX to ACE_SYNCH. Missed that Message_Queue needs a condition variable in addition to the mutex. Wed Nov 27 18:58:25 2002 Jeff Parsons * orbsvcs/orbsvcs/CosNotification_Static.dsp: Fixed project settings. Wed Nov 27 18:32:31 2002 Balachandran Natarajan * tests/OBV/TC_Alignment/Makefile: * tests/OBV/TC_Alignment/client.cpp: Fixed problems in g++ builds. Wed Nov 27 15:22:13 2002 Balachandran Natarajan * tests/Bug_1361_Regression/Server_Thread_Pool.cpp: Fixed a warning from our daily builds. Wed Nov 27 14:02:16 2002 Jeff Parsons * tests/OBV/TC_Alignment/Makefile: Applied patch sent by Criag Rodrigues . Wed Nov 27 13:45:32 2002 Balachandran Natarajan * orbsvcs/orbsvcs/Log/NotifyLog_i.h: Fixed conflicts the files. Wed Nov 27 13:03:19 2002 Jeff Parsons * tao/Typecode.cpp: Changed handling of valuetypes to skip a long when skipping the valuetype typecode members ValueModifier and Visibility. Even though these quanitities are defined as constant short types by the spec, the IDL compiler creates typecodes with a hard-coded array of longs. Skipping a short can cause an alignment problem depending on what comes previously in the CDR stream. Thanks to Pablo d'Angelo for reporting the problem and for sending in example code. * tests/OBV/TC_Alignment/Makefile: * tests/OBV/TC_Alignment/Makefile.bor: * tests/OBV/TC_Alignment/OBV TC Alignment Client.dsp: * tests/OBV/TC_Alignment/OBV TC Alignment Server.dsp: * tests/OBV/TC_Alignment/OBV_TC_Alignment.mpc: * tests/OBV/TC_Alignment/README: * tests/OBV/TC_Alignment/TC_Alignment.dsw: * tests/OBV/TC_Alignment/client.bor: * tests/OBV/TC_Alignment/client.cpp: * tests/OBV/TC_Alignment/run_test.pl: * tests/OBV/TC_Alignment/server.bor: * tests/OBV/TC_Alignment/server.cpp: * tests/OBV/TC_Alignment/test.idl: * tests/OBV/TC_Alignment/test_i.cpp: * tests/OBV/TC_Alignment/test_i.h: New test added to check for recurrence of the above problem. * tests/OBV/Makefile: * tests/OBV/Makefile.bor: Added new test to parent directory makefiles. Wed Nov 27 12:30:41 2002 Balachandran Natarajan * orbsvcs/orbsvcs/Makefile.DsEventLogAdmin: * orbsvcs/orbsvcs/Makefile.DsLogAdmin: * orbsvcs/orbsvcs/Makefile.DsNotifyLogAdmin: Updated dependencies. Wed Nov 27 16:35:03 2002 D A Hanvey * orbsvcs/orbsvcs/Log/NotifyLogConsumer.h: * orbsvcs/orbsvcs/Log/NotifyLogFactory_i.h: * orbsvcs/orbsvcs/Log/NotifyLogNotification.h: Removed includes to deprecated files. Wed Nov 27 13:54:55 2002 D A Hanvey * orbsvcs/tests/Log/Basic_Log_Test/client.cpp: * orbsvcs/tests/Log/Basic_Log_Test/Basic_Log_Test.cpp: * orbsvcs/tests/Log/Basic_Log_Test/Basic_Log_Test.h: * orbsvcs/tests/Log/Basic_Log_Test/Makefile: Documentation changes to files. Wed Nov 27 13:48:19 2002 D A Hanvey * orbsvcs/Logging_Service/Basic_Logging_Service/Basic_Logging_Service.cpp: * orbsvcs/Logging_Service/Basic_Logging_Service/Basic_Logging_Service.h: * orbsvcs/Logging_Service/Event_Logging_Service/Event_Logging_Service.cpp: * orbsvcs/Logging_Service/Event_Logging_Service/Event_Logging_Service.h: * orbsvcs/Logging_Service/Notify_Logging_Service/Notify_Logging_Service.cpp: * orbsvcs/Logging_Service/Notify_Logging_Service/Notify_Logging_Service.h: * orbsvcs/Logging_Service/Notify_Logging_Service/Notify_Logging_Server.cpp: * orbsvcs/Logging_Service/RTEvent_Logging_Service/RTEvent_Logging_Service.cpp: * orbsvcs/Logging_Service/RTEvent_Logging_Service/RTEvent_Logging_Service.cpp: Documentation changes to files. Wed Nov 27 13:36:11 2002 D A Hanvey * orbsvcs/examples/Log/Basic/main.cpp: * orbsvcs/examples/Log/Basic/TLS_Client.cpp: * orbsvcs/examples/Log/Basic/TLS_Client.h: * orbsvcs/examples/Log/Event/Event_Consumer.cpp: * orbsvcs/examples/Log/Event/Event_Consumer.h: * orbsvcs/examples/Log/Event/Event_Supplier.cpp: * orbsvcs/examples/Log/Event/Event_Supplier.h: * orbsvcs/examples/Log/Notify/Notify_Consumer.cpp: * orbsvcs/examples/Log/Notify/Notify_Consumer.h: * orbsvcs/examples/Log/Notify/Notify_Supplier.cpp: * orbsvcs/examples/Log/Notify/Notify_Supplier.h: * orbsvcs/examples/Log/RTEvent/RTEvent_Consumer.cpp: * orbsvcs/examples/Log/RTEvent/RTEvent_Consumer.h: * orbsvcs/examples/Log/RTEvent/RTEvent_Supplier.cpp: * orbsvcs/examples/Log/RTEvent/RTEvent_Supplier.h: Documenation changes to files. Wed Nov 27 07:18:54 2002 Balachandran Natarajan * tests/Bug_1361_Regression/Server_Thread_Pool.h: * tests/Bug_1361_Regression/Server_Thread_Pool.cpp: Fixed compile errors in single threaded builds. Wed Nov 27 13:19:19 2002 D A Hanvey * orbsvcs/orbsvcs/Makefile.DsEventLogAdmin: * orbsvcs/orbsvcs/Makefile.DsNotifyLogAdmin: * orbsvcs/orbsvcs/Makefile.RTEventLogAdmin: Files amended for new *LogConsumer files. Wed Nov 27 13:12:54 2002 D A Hanvey * orbsvcs/orbsvcs/Log/BasicLogFactory_i.cpp: * orbsvcs/orbsvcs/Log/BasicLogFactory_i.h: * orbsvcs/orbsvcs/Log/BasicLog_i.cpp: * orbsvcs/orbsvcs/Log/BasicLog_i.h: * orbsvcs/orbsvcs/Log/EventLogConsumer.cpp: * orbsvcs/orbsvcs/Log/EventLogConsumer.h: * orbsvcs/orbsvcs/Log/EventLogFactory_i.cpp: * orbsvcs/orbsvcs/Log/EventLogFactory_i.h: * orbsvcs/orbsvcs/Log/EventLogNotification.cpp: * orbsvcs/orbsvcs/Log/EventLogNotification.h: * orbsvcs/orbsvcs/Log/EventLog_i.cpp: * orbsvcs/orbsvcs/Log/EventLog_i.h: * orbsvcs/orbsvcs/Log/Iterator_i.cpp: * orbsvcs/orbsvcs/Log/Iterator_i.h: * orbsvcs/orbsvcs/Log/LogMgr_i.cpp: * orbsvcs/orbsvcs/Log/LogMgr_i.h: * orbsvcs/orbsvcs/Log/LogNotification.cpp: * orbsvcs/orbsvcs/Log/LogNotification.h: * orbsvcs/orbsvcs/Log/LogRecordStore.cpp: * orbsvcs/orbsvcs/Log/LogRecordStore.h: * orbsvcs/orbsvcs/Log/LogRecordStore_persist.cpp: * orbsvcs/orbsvcs/Log/LogRecordStore_persist.h: * orbsvcs/orbsvcs/Log/Log_Constraint_Interpreter.cpp: * orbsvcs/orbsvcs/Log/Log_Constraint_Interpreter.h: * orbsvcs/orbsvcs/Log/Log_Constraint_Visitors.cpp: * orbsvcs/orbsvcs/Log/Log_Constraint_Visitors.h: * orbsvcs/orbsvcs/Log/Log_i.cpp: * orbsvcs/orbsvcs/Log/Log_i.h: * orbsvcs/orbsvcs/Log/NotifyLogConsumer.cpp: * orbsvcs/orbsvcs/Log/NotifyLogConsumer.h: * orbsvcs/orbsvcs/Log/NotifyLogFactory_i.cpp: * orbsvcs/orbsvcs/Log/NotifyLogFactory_i.h: * orbsvcs/orbsvcs/Log/NotifyLogNotification.cpp: * orbsvcs/orbsvcs/Log/NotifyLogNotification.h: * orbsvcs/orbsvcs/Log/NotifyLog_i.cpp: * orbsvcs/orbsvcs/Log/NotifyLog_i.h: * orbsvcs/orbsvcs/Log/PersistStore.cpp: * orbsvcs/orbsvcs/Log/PersistStore.h: * orbsvcs/orbsvcs/Log/RTEventLogConsumer.cpp: * orbsvcs/orbsvcs/Log/RTEventLogConsumer.h: * orbsvcs/orbsvcs/Log/RTEventLogFactory_i.cpp: * orbsvcs/orbsvcs/Log/RTEventLogFactory_i.h: * orbsvcs/orbsvcs/Log/RTEventLogNotification.cpp: * orbsvcs/orbsvcs/Log/RTEventLogNotification.h: * orbsvcs/orbsvcs/Log/RTEventLog_i.cpp: * orbsvcs/orbsvcs/Log/RTEventLog_i.h: Documentation changes to files. Wed Nov 27 10:14:26 2002 D A Hanvey * orbsvcs/orbsvcs/RTEventLog.dsp: * orbsvcs/orbsvcs/DsEventLogAdmin.dsp: * orbsvcs/orbsvcs/DsNotifyLogAdmin.dsp: Updated to reflect additional files... orbsvcs/orbsvcs/Log/EventLogConsumer.h orbsvcs/orbsvcs/Log/EventLogConsumer.cpp orbsvcs/orbsvcs/Log/NotifyLogConsumer.h orbsvcs/orbsvcs/Log/NotifyLogConsumer.cpp orbsvcs/orbsvcs/Log/RTEventLogConsumer.h orbsvcs/orbsvcs/Log/RTEventLogConsumer.h Wed Nov 27 09:23:12 UTC 2002 Johnny Willemsen * tests/Bug_1361_Regression/Test.idl: Fixed fuzz error * tests/Bug_1361_Regression/server.bor: Removed not existing file and corrected TAO_IDL flags * tests/Bug_1361_Regression/client.bor: Corrected TAO_IDL flags * tests/Bug_1361_Regression/Makefile.bor: Added shutdown.bor Tue Nov 26 23:09:41 2002 Balachandran Natarajan * tests/Makefile: * tests/Makefile.bor: Added the new test to the daily builds. * tests/Bug_1361_Regression/server.bor: * tests/Bug_1361_Regression/client.bor: * tests/Bug_1361_Regression/shutdown.bor: * tests/Bug_1361_Regression/Makefile.bor: The Borland Makefiles. Tue Nov 26 22:32:06 2002 Balachandran Natarajan * tests/Bug_1361_Regression/*: A new regression for BUG 1361. * tests/Bug_1361_Regression/client.cpp: * tests/Bug_1361_Regression/Echo_Caller.cpp: * tests/Bug_1361_Regression/Echo_Caller.h: * tests/Bug_1361_Regression/Echo.cpp: * tests/Bug_1361_Regression/Echo.h * tests/Bug_1361_Regression/Makefile * tests/Bug_1361_Regression/ORB_Task.cpp: * tests/Bug_1361_Regression/ORB_Task.h: * tests/Bug_1361_Regression/run_test.pl* * tests/Bug_1361_Regression/server.cpp * tests/Bug_1361_Regression/Server_Thread_Pool.cpp * tests/Bug_1361_Regression/Server_Thread_Pool.h * tests/Bug_1361_Regression/Server_Timer.cpp * tests/Bug_1361_Regression/Server_Timer.h * tests/Bug_1361_Regression/shutdown.cpp * tests/Bug_1361_Regression/Test.idl: Thanks to Duane Binder for donating this test case. Tue Nov 26 16:03:52 2002 Balachandran Natarajan * tests/Bug_1020_Basic_Regression/run_test.pl: * tests/Bug_1020_Regression/run_test.pl: Fixed these scripts to work for 5 minutes instead of 7. They tend to get timedout creating noise in the builds. Tue Nov 26 15:01:40 2002 Jeff Parsons * tao/AbstractBase.cpp: * tao/AbstractBase.h: * tao/ORB.cpp: * tao/ORB.h: * tao/ValueBase.cpp: * tao/ValueBase.h: * tao/ValueFactory.cpp: * tao/ValueFactory.h: * tao/ValueFactory_Map.cpp: * tao/ValueFactory_Map.h: * tao/corbafwd.h: * tao/orbconf.h: * tao/DynamicAny/DynCommon.cpp: * tao/DynamicAny/DynCommon.h: Removed TAO_HAS_VALUETYPE flag. None of the tests or examples that use valuetypes have ever used this flag. Tue Nov 26 14:21:20 2002 Balachandran Natarajan * docs/tutorials/Quoter/On_Demand_Activation/Handler_i.h: * docs/tutorials/Quoter/On_Demand_Activation/Handler_i.cpp: Fixed compile errors by adding dummy implementations for the base interface methods in interface Stock{}; This should fix compile errors on many platforms. Tue Nov 26 13:41:21 2002 Pradeep Gore * orbsvcs/orbsvcs/Notify/Notify_Constraint_Interpreter.h: * orbsvcs/orbsvcs/Notify/Notify_Constraint_Interpreter.cpp: * orbsvcs/orbsvcs/Notify/Notify_Constraint_Visitors.h: * orbsvcs/orbsvcs/Notify/Notify_Constraint_Visitors.cpp: Prefixed "Notify_" to original filesnames to disambiguate from simile in Trader. Thanks to Jaroslaw Nozderko for reporting this problem and Bala for providing the fix. * orbsvcs/orbsvcs/Notify/ETCL_Filter.h: * orbsvcs/orbsvcs/Notify/ETCL_Filter.cpp: * orbsvcs/orbsvcs/Makefile.CosNotification: * orbsvcs/orbsvcs/CosNotification.dsp: * orbsvcs/orbsvcs/CosNotification.bor: Modified to point to renamed files. Tue Nov 26 09:09:48 2002 Jeff Parsons * orbsvcs/orbsvcs/PortableGroup.bor: Matched changes to corresponding makefile and project files. Thanks to Johnny Willemsen for pointing this out. Tue Nov 26 00:01:07 2002 Balachandran Natarajan * tao/ORB.cpp: Fix for BUG [1373]. The marshalling and demarshalling operators for TAO_opaque objects were wrong. Thanks to Carlos O'Ryan for reporting this problem and providing a patch. Mon Nov 25 14:39:00 2002 Jeff Parsons * TAO_IDL/be/be_visitor_ami_pre_proc.cpp: Added implied IDL generation for imported (included from another IDL file) interfaces. No C++ code is generated for these or any other imported nodes in the AST. * orbsvcs/orbsvcs/PortableGroup.dsp: * orbsvcs/orbsvcs/PortableGroup_Static.dsp: * orbsvcs/orbsvcs/Makefile.PortableGroup: Added IDL compiler command line option to generated AMI code. Also added link to TAO Messaging library. These were necessary because some of the interfaces in CosLoadBalancing.idl, which already uses AMI, inherit from interfaces in PortableGroup.idl, so there must be associated reply handlers to inherit as well. * TAOACE_Static.dsw: Removed some project dependencies that were causing 'already defined' link errors. Mon Nov 25 15:09:50 2002 Balachandran Natarajan * docs/tutorials/Quoter/AMI/Handler_i.cpp: * docs/tutorials/Quoter/AMI/Handler_i.h: Fixed compile errors by adding dummy implementations for the base interface methods in interface Stock{}; This should fix compile errors on many platforms. Mon Nov 25 12:25:47 2002 Pradeep Gore * orbsvcs/orbsvcs/Event_Forwarder.idl: Moved up from subdirectory Notify. Dependencies could not be updated correctly due to the idl file in a subdirectory. Thanks to Jaroslaw Nozderko for prompting this correction. * orbsvcs/orbsvcs/Makefile: * orbsvcs/orbsvcs/CosNotification.dsp: * orbsvcs/orbsvcs/CosNotification.bor: Modified to point currectly to Event_Forwarder.idl. * Modified the following changelog entries to thank bug reporters: Sun Oct 27 01:04:09 2002 Pradeep Gore and Thu Nov 21 18:45:23 2002 Pradeep Gore Mon Nov 25 11:38:37 2002 Balachandran Natarajan * orbsvcs/examples/CosEC/RtEC_Based/lib/Makefile: The Makefile was by default generating a static library even in dynamic builds. Fixed the Makefile to work fine. Sun Nov 24 12:27:27 2002 Jeff Parsons * TAO_IDL/be/be_visitor_ami_pre_proc.cpp: Added check for null result of scoped name lookups in creation of inheritance list for reply handlers. Also added a check for each possible reply handler parent to determine if it is from an included IDL file or not, since the AMI preprocessing visitor does not creeate implied IDL for imported nodes. This check may make the first one redundant, but it is there anyway for added safety. Thanks to Johnny Willemsen and Craig Rodrigues for reporting the bug. Sun Nov 24 00:21:43 2002 Balachandran Natarajan * orbsvcs/orbsvcs/Makefile*: Made another try in updating dependencies again. Thanks to Russ Carter and Dirk Moermans for pointing out the problem. Sat Nov 23 10:52:28 2002 Balachandran Natarajan * tao/IIOP_Transport.cpp: Cosmetic fixes to the debugging statements. Fri Nov 22 15:30:28 2002 Jeff Parsons * TAO_IDL/be/be_visitor_ami_pre_proc.cpp: * TAO_IDL/be_include/be_visitor_ami_pre_proc.h: Fixed the creation of the inheritance list for the implied AMI reply handler interface. It now inherits from the reply handler of each of the original interface's parents. Thanks to Carlos O'Ryan for pointing out the bug. This closes [BUGID:1371]. Fri Nov 22 12:27:27 2002 Craig Rodrigues * orbsvcs/examples/CosEC/RtEC_Based/lib/Makefile: Fix extraneous spaces in GNU make findstring commands. Fri Nov 22 04:53:12 2002 Bala * TAO version 1.2.6 released. Thu Nov 21 18:45:23 2002 Pradeep Gore * docs/releasenotes/index.html: Updates the section on Notification Service. * docs/releasenotes/notify.html: Added a detailed feature matrix of the Cos Notification Service. Thanks to Sharon Caspi for suggesting this. Thu Nov 21 13:26:27 2002 Balachandran Natarajan * tao/Connection_Handler.cpp: Avoid checks for reactor consistency if the handler is not registered with the reactor. This should fix most of the runtime problems that we are seeing. This place needs to be reexamined after the beta. The intersection of RTCORBA and nonRT cases simply makes this place too complicated. Wed Nov 20 18:04:00 2002 Balachandran Natarajan * tests/Muxing/run_test.pl: Checked in a version of the script that I use locally by mistake. Reverted the change to the original form. Wed Nov 20 18:01:38 2002 Balachandran Natarajan * tao/Connection_Handler.cpp (close_connection_eh): Did cosmetic changes to the assertive checks. Wed Nov 20 15:23:40 2002 Ossama Othman * TAO_IDL/be/be_visitor_operation/ami_cs.cpp (gen_marshal_and_invoke): Initialize the invocation status variable in the generated stub code. Previously, that variable was uninitialized, which caused some invalid code execution paths to occur. Fixes some problems exhibited by TAO's basic AMI regression test. Wed Nov 20 15:15:02 2002 Ossama Othman * tao/ClientRequestInfo_i.h (setup_picurrent): New method that sets up the thread scope and request scope PICurrent objects on the client side. * tao/ClientRequestInfo_i.cpp (TAO_ClientRequestInfo_i): (setup_current): Refactored duplicate code in both TAO_ClientRequestInfo_i constructors to the new setup_picurrent() method. Only set the TSC's peer if a copy was actually performed. Fixes a seg fault after calling PortableInterceptor::Current::set_slot() after a client invocation was performed. Thanks to Philipp Leibfried for providing a test case that reproduced this problem. Wed Nov 20 15:54:10 2002 Jeff Parsons * TAO_IDL/be/be_visitor_exception/exception_cs.cpp: Changed an internal variable name in generated code for the _downcast() method that was short and ran a high risk of name clash with the exception typename. Wed Nov 20 15:23:13 2002 Balachandran Natarajan * tao/Connection_Handler.cpp (close_connection_eh): Do not do comparisions checks for reactor pointers in TAO_Transport, TAO_ORB_Core and ACE_Event_handler when the ORB has already shutdown. The comparisons could be wrong since the thread that is closing it may not have the right access to all the resources opened up by other threads (read RTCORBA threads). Wed Nov 20 16:14:31 2002 Irfan Pyarali * orbsvcs/Notify_Service/Notify_Service.cpp: Added ../orbsvcs/Notify/Notify_Service.h so that the static initializer can run and add the service objects to the service repository. Thanks to Bala for helping with this. Wed Nov 20 12:48:35 2002 Irfan Pyarali * orbsvcs/tests/Notify/performance-tests/RedGreen/Makefile.bor: Fixed test name from RedGreen to RedGreen_Test. * orbsvcs/tests/Notify/Structured_Filter/Structured_Filter_Consumer.dsp * orbsvcs/tests/Notify/Structured_Filter/Structured_Filter_Supplier.dsp * orbsvcs/tests/Notify/Structured_Multi_Filter/Structured_Multi_Filter_Consumer.dsp * orbsvcs/tests/Notify/Structured_Multi_Filter/Structured_Multi_Filter_Supplier.dsp Fixed release executable name. Wed Nov 20 10:26:58 2002 Balachandran Natarajan * orbsvcs/orbsvcs/CosNotification_Static.dsp: Fixed path to some idl files in the project. Tue Nov 19 22:32:30 2002 Ossama Othman * tao/Acceptor_Registry.cpp (is_collocated): Fixed problem where only the first endpoint in an endpoint chain was used when determining if an acceptor is collocated despite the fact the endpoint chain was "walked" when making this determination. Tue Nov 19 15:16:56 2002 Pradeep Gore * orbsvcs/tests/Notify/Structured_Multi_Filter/Structured_Filter_Consumer.bor: * orbsvcs/tests/Notify/Structured_Multi_Filter/Structured_Filter_Supplier.bor: * orbsvcs/tests/Notify/Structured_Filter/Structured_Filter_Consumer.bor: * orbsvcs/tests/Notify/Structured_Filter/Structured_Filter_Supplier.bor: Updated executable file names. * orbsvcs/tests/Notify/Basic/run_test.pl: Modified to accept conf files are parameters. * orbsvcs/tests/Notify/performance-tests/RedGreen/RedGreen_Test.cpp: * orbsvcs/tests/Notify/performance-tests/RedGreen/RedGreen_Test.h: Fixed problems with the test not exiting gracefully. * orbsvcs/orbsvcs/Notify/Notify_EventChannelFactory_i.cpp: Modified the method to add missing initialization of TAO_NS_Notify_Service. Thanks to Steve Totten for providing the OCI test example and Irfan for showing how to use <_tao_poa_downcast>. * orbsvcs/Notify_Service/Notify_Service.dsp: Release executable should go in the Release directory. Tue Nov 19 15:16:56 2002 Pradeep Gore * orbsvcs/tests/Notify/Structured_Multi_Filter/Structured_Filter_Consumer.bor: * orbsvcs/tests/Notify/Structured_Multi_Filter/Structured_Filter_Supplier.bor: * orbsvcs/tests/Notify/Structured_Filter/Structured_Filter_Consumer.bor: * orbsvcs/tests/Notify/Structured_Filter/Structured_Filter_Supplier.bor: Updated executable file names. * orbsvcs/tests/Notify/Basic/run_test.pl: Modified to accept conf files are parameters. * orbsvcs/tests/Notify/performance-tests/RedGreen/RedGreen_Test.cpp: * orbsvcs/tests/Notify/performance-tests/RedGreen/RedGreen_Test.h: Fixed problems with the test not exiting gracefully. * orbsvcs/orbsvcs/Notify/Notify_EventChannelFactory_i.cpp: Modified the method to add missing initialization of TAO_NS_Notify_Service. Thanks to Steve Totten for providing the OCI test example and Irfan for showing how to use <_tao_poa_downcast>. * orbsvcs/Notify_Service/Notify_Service.dsp: Release executable should go in the Release directory. Tue Nov 19 11:02:00 2002 Pradeep Gore * Added explaination for each class in ChangeLogTag: Sun Oct 27 01:04:09 2002 Pradeep Gore Mon Nov 18 20:45:12 2002 Pradeep Gore * orbsvcs/tests/Notify/Blocking/notify.conf: As per Bala's suggestion, applied "-ORBClientConnectionHandler RW" hoping to make the blocking work. Alas, the buffering design needs a facelift. * orbsvcs/tests/Notify/Ordering/run_test.pl - Increased allowable period for consumers to run so that test doesn't timeout before hand. - Commented out priority policy temporarily till the sequences implementation of priority ordering is completed. * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/Notify_Sequence_Push_Consumer.cpp: Removed the MaxEventsPerConsumer policy applied to the proxy. That isn't what the test was supposed to excercise. * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/Sequence_Consumer.cpp Changed OR_OP to AND_OP otherwise the Consumer Admin filter will always be true and no events would be rejected. Mon Nov 18 17:54:41 2002 Balachandran Natarajan * tao/Transport.cpp: Cosmetic changes. Mon Nov 18 14:50:31 2002 Jeff Parsons * TAO_IDL/be_include/be_global.h: * TAO_IDL/be/be_global.cpp: Added storage and accessors for the AST node Components::CCMObject, which is looked up and stored if there is at least one component in the IDL file. * TAO_IDL/be/be_interface.cpp: * TAO_IDL/be/be_visitor_ccm_pre_proc.cpp: * TAO_IDL/be_include/be_visitor_ccm_pre_proc.h: Added the operations of Components::CCMObject to the operation table and *_skel method generation for component equivalent interfaces. Thanks to Nanbor for uncovering this bug. * TAO_IDL/be/be_visitor_component/component_sh.cpp: * TAO_IDL/be_include/be_visitor_component/component_sh.h: Added conditional generation of AMH classes for component equivalent interfaces. * TAO_IDL/be/be_visitor_interface/thru_poa_proxy_impl_sh.cpp: Added base component equivalent interface (if any) to the generated inheritance list for component equivalent interfaces. Mon Nov 18 12:11:53 2002 Jeff Parsons * orbsvcs/orbsvcs/CosNotification_Static.dsp: Fixed settings for the IDL files in this project. Mon Nov 18 13:01:42 2002 Pradeep Gore * orbsvcs/orbsvcs/Notify/ThreadPool_Task.cpp: Commented decrement of in the svc method. This needs to be corrected but at this point all the tests crash because of this, so its being taken out temporarily. Mon Nov 18 11:04:35 2002 Pradeep Gore * orbsvcs/tests/Notify/performance-tests/RedGreen/run_test.pl: * orbsvcs/tests/Notify/Structured_Multi_Filter/run_test.pl: Appended Structured_ suffix to executable name. * orbsvcs/orbsvcs/Notify/ThreadPool_Task.cpp: Reverted thread creation flags. Mon Nov 18 07:32:10 2002 Balachandran Natarajan * orbsvcs/orbsvcs/Notify/Event.h: Work around for a weird BCB6 compiler bug. Thanks to Chris Kohlhoff for helping me with this. Mon Nov 18 07:28:16 2002 Balachandran Natarajan * tests/Portable_Interceptors/AMI/Makefile: Prevent the contents from being compiled when AMI is disabled. Sun Nov 17 17:32:47 2002 Balachandran Natarajan * orbsvcs/orbsvcs/CosNotification_Static.dsp: Updated dsp file. Sun Nov 17 12:57:10 2002 Pradeep Gore * orbsvcs/orbsvcs/CosNotification_Static.dsp: Updated. * orbsvcs/orbsvcs/Notify/Structured/RTCORBA_*: Removed extraneous files. Sun Nov 17 12:05:20 2002 Balachandran Natarajan * tests/Portable_Interceptors/Makefile.bor: Added AMI test to the list of tests that needs compilation. Thanks to Johnny for pointing this out. Sun Nov 17 09:37:08 2002 Balachandran Natarajan * orbsvcs/orbsvcs/Makefile*: Updated dependencies again. Sat Nov 16 21:09:32 2002 Balachandran Natarajan * tests/Portable_Interceptors/Makefile: Added AMI test to the list of tests that needs compilation. Sat Nov 16 20:43:21 2002 Balachandran Natarajan * */Makefile: Updated dependency. Sat Nov 16 20:11:13 2002 Pradeep Gore * orbsvcs/orbsvcs/Notify/ThreadPool_Task.cpp: - Modified threadpool creation flags to ACE_Task::activate. - Corrected decrement of . Fri Nov 15 15:29:24 2002 Pradeep Gore * orbsvcs/tests/Notify/Basic/run_test.pl: Modified to run the basic tests with a reactive and multithreaded Notification. * orbsvcs/tests/Notify/Basic/notify.mt.conf: Added MT conf for the Basic test. * orbsvcs/tests/Notify/Basic/notify.reactive.conf: Added reactive conf for the Basic test. * orbsvcs/tests/Notify/Blocking/notify.conf: * orbsvcs/tests/Notify/Discarding/notify.conf: * orbsvcs/tests/Notify/MT_Dispatching/notify_mtdispatching.conf: * orbsvcs/tests/Notify/Ordering/notify.conf: * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/notify.conf: * orbsvcs/tests/Notify/Sequence_Multi_Filter/notify.conf * orbsvcs/tests/Notify/performance-tests/Filter/notify.conf * orbsvcs/tests/Notify/performance-tests/RedGreen/listener.conf * orbsvcs/tests/Notify/performance-tests/RedGreen/lookup.conf * orbsvcs/tests/Notify/performance-tests/RedGreen/reactive.conf * orbsvcs/logging_service/notify_logging_service/svc.conf: * orbsvcs/Notify_Service/svc.conf: Reverted factory back to Notify_Default_Event_Manager_Objects_Factory. I have decided not to introduce any changes for Notify Options in TAO 1.3. Better replacements will be introduced gradually in subsequent releases. * orbsvcs/Notify_Service/Notify_Server.cpp: Not handling signals. The shutdown code and event handler is maintained in case we want to address this in the future. * orbsvcs/tests/Notify/performance-tests/RedGreen/run_test.pl: - Modified to run all 3 test cases described in the README. * orbsvcs/tests/Notify/Discarding/Notify_Structured_Push_Consumer.cpp: Changed hardcoded "10" to the expected number of events that can be specified on the command line. * orbsvcs/tests/Notify/Discarding/Sequence_Consumer.cpp: - Changed low=2 and high=20. Here is the explanation: The Supplier sends 96 events as 6 batches of 16 events. The Notification is run with 1 dispatching thread. The Discarding Policy is set and the MaxEventsPerConsumer is set to 2 (Event Batches).The Batch size is 5 so the maximum batches that can be received is 20 (19 batches with 5 events each and 1 batch with 1 event).if we receive 20 batches then the channel hasn't discarded anything. so high = 20. In the worst case the consumer starts *after* the supplier has send all the events to the Notification. This means that only 2 batches are queued and all others are discarded. Hence low = 2. - Changed the sleep time that the consumer was polling fior excess events, from 3 to 1 sec. otherwise the perl script was timing out. * orbsvcs/tests/Notify/Ordering/Notify_Sequence_Push_Consumer.h: * orbsvcs/tests/Notify/Ordering/Notify_Sequence_Push_Consumer.cpp: * orbsvcs/tests/Notify/Ordering/Sequence_Consumer.cpp: Removed high-low logic. There is *no* discarding policy set so the Sequence Consumer should received the expected number of 96 events. * orbsvcs/tests/Notify/Sequence_Multi_Filter/Sequence_Consumer.cpp: - Changed ConsumerAdmin interfilter operator to AND_OP. With an OR_OP, all the filters would return true! this is because the filters of the Admin and Proxy, both are combined to determine event eligibility. Note that this test success/failure has to be determined visually. * orbsvcs/tests/Notify/listener.conf: * orbsvcs/tests/Notify/lookup.conf: * orbsvcs/tests/Notify/reactive.conf: Reverted to Notify_Default_Event_Manager_Objects_Factory for backward compatibility. * orbsvcs/tests/Notify/Structured_Filter/Structured_Filter_Consumer.dsp: * orbsvcs/tests/Notify/Structured_Filter/Structured_Filter_Supplier.dsp: * orbsvcs/tests/Notify/Structured_Filter/Structured_Multi_Filter_Consumer.dsp: * orbsvcs/tests/Notify/Structured_Filter/Structured_Multi_Filter_Supplier.dsp: * orbsvcs/tests/Notify/Structured_Filter/run_test.pl: Reverted executable name to Structured_* prefix. * orbsvcs/orbsvcs/Notify/Buffering_Strategy.cpp: Discarding condition should be executed when buffering limit has reached. Current logic was enqueing 1 extra event. * orbsvcs/orbsvcs/Notify/Builder.cpp: Added call to set default startup QoS options on the Proxys and Admins. * orbsvcs/orbsvcs/Notify/Notify_Service.cpp: * orbsvcs/orbsvcs/Notify/Notify_Service.h: - Added support for configuring startup threads at the proxy and Admin level while maintaining backward compatibility. - Modified updates logic - Updates are send synchronously by default. If the -AsynchUpdates option is set, updates are queued along with the regular events in the Proxy objects worker task. * orbsvcs/orbsvcs/Notify/Properties.h: * orbsvcs/orbsvcs/Notify/Properties.inl: Added get/set methods for Proxy and Admin level default QoS. Changed to flag. * orbsvcs/orbsvcs/Notify/Property_T.h: * orbsvcs/orbsvcs/Notify/Property_T.inl: - Added assignment operator to TAO_NS_Property_T. - Added an method to TAO_NS_PropertyBase_T * orbsvcs/orbsvcs/Notify/Proxy.cpp: - Send updates synchronously unless default properties mandate asynchrony. In that case the event is executed in the current thread context. * orbsvcs/orbsvcs/Notify/Any/CosEC_ProxyPushConsumer.h: * orbsvcs/orbsvcs/Notify/Any/ProxyPushConsumer.h: Added dummy methods and ACE_ASSERT in them if called. * orbsvcs/orbsvcs/Notify/Sequence/EventBatch.h: * orbsvcs/orbsvcs/Notify/Sequence/EventBatch.inl: Added an accessor for the current size of the EventBatch. Note that this size can be greater than the batchsize. * orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushSupplier.cpp: * orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushSupplier.h: Overloaded ProxyPushSupplier::push method. The overloaded implementation executes the filtering and dispatch in the current thread context. Now, this dispatch doesn't immediately go remote but is stored in an event batch waiting for the pacing interval to expire after which the batchsize events are queued in the SequenceProxy's worker thread to be finally dispatched to the remote consumer. * orbsvcs/orbsvcs/Notify/Sequence/SequencePushConsumer.h: Removed and methods. There was no need for these seperate methods. * orbsvcs/orbsvcs/Notify/Sequence/SequencePushConsumer.cpp: Modified the implementation so that the Pacing Timer is deployed only if there is atleast 1 event queued to send, otherwise the existing timer is removed. This will avoid needless timeouts. Sat Nov 16 08:22:38 2002 Balachandran Natarajan * orbsvcs/orbsvcs/Notify/Any/CosEC_ProxyPushConsumer.h: * orbsvcs/orbsvcs/Notify/Any/ProxyPushConsumer.h: Fixed typos that lead to link errors. * tao/Asynch_Queued_Message.cpp: Fixed a warning in the daily builds. Sat Nov 16 12:43:12 UTC 2002 Johnny Willemsen * orbsvcs/tests/LoadBalancing/GenericFactory/Application_Controlled/server.bor: Fixes error in this BCB makefile. Fri Nov 15 18:29:28 2002 Ossama Othman * orbsvcs/orbsvcs/LoadBalancing/LB_Random.h: * orbsvcs/orbsvcs/LoadBalancing/LB_Random.cpp (next_member): (_tao_next_member): Refactored random member selection code into a TAO-specific static method. This is possible since this random load balancing strategy implementation is stateless. This allows other strategies to reuse the random member selection code without instantiating the TAO_LB_Random class. * orbsvcs/orbsvcs/LoadBalancing/LB_LeastLoaded.cpp (next_member): No loads have been reported for any of the locations the object group members reside at. If no loads have been reported to the LoadManager, adaptive load balancing decisions cannot be made. Fall back on a non-adaptive strategy, such as the Random load balancing strategy, instead. The Random load balancing strategy is used since it is very lightweight and stateless. Fri Nov 15 15:26:29 2002 Ossama Othman * orbsvcs/tests/LoadBalancing/GenericFactory/Application_Controlled/Basic.cpp: * orbsvcs/tests/LoadBalancing/GenericFactory/Application_Controlled/LB_server.cpp: * orbsvcs/tests/LoadBalancing/GenericFactory/Application_Controlled/client.cpp: * orbsvcs/tests/LoadBalancing/GenericFactory/Application_Controlled/server.cpp: Corrected ACE_RCSID macros. They listed the wrong directory. Fri Nov 15 15:13:20 2002 Ossama Othman * orbsvcs/LoadBalancer/Signal_Handler.cpp (activate): sigwait() is not supported on MS Windows, meaning that signals cannot be handled synchronously with the current implementation of this signal handler. Handle signals asynchronously through the ORB's reactor instead. * orbsvcs/orbsvcs/LoadBalancing/LB_LoadManager.cpp (init): Fixed buffer overrun problem that was causing an unhandled exception to be thrown on MS Windows. The hexidecimal representation of the time in milliseconds was supposed to be embedded in a string buffer of 8 characters. The decimal representation, which is greater than 8 characters long, was being embedded into the string instead. * orbsvcs/orbsvcs/LoadBalancing/LB_Component.h: * orbsvcs/orbsvcs/LoadBalancing/LB_Component.cpp: Cosmetic and spelling fixes/updates. * orbsvcs/orbsvcs/LoadBalancing/LB_IORInterceptor.h: CORBA::SystemException, not CORBA_SystemException. Fri Nov 15 16:59:49 2002 Balachandran Natarajan * orbsvcs/orbsvcs/Notify/Any/CosEC_ProxyPushConsumer.h: * orbsvcs/orbsvcs/Notify/Any/ProxyPushConsumer.h: Fixed warnings in Borland build. Fri Nov 15 15:22:54 2002 Jeff Parsons * TAO_IDL/be/be_visitor_ccm_pre_proc.cpp: Added check to skip implied IDL generation for imported nodes. Thanks once again to Nanbor for his testing of the new CCM-related IDL features. Fri Nov 15 14:51:31 2002 Balachandran Natarajan * tao/Asynch_Queued_Message.cpp: * tao/Asynch_Queued_Message.h: * tao/Synch_Queued_Message.cpp: * tao/Synch_Queued_Message.h: * tao/Queued_Message.cpp: * tao/Queued_Message.h: Added an extra default argument to the constructor that indicates whether the class is heap allocated or not. * tao/Transport.cpp: Changed the places where the Asynch_Queued_Message was allocated on the heap to pass the right value for the flag that indicates the status of creation of the class. Thanks to Chad Elliott for pinting out that if the Asynch_Queued_Message was allocated on the heap, it may not get destroyed if TAO_Asynch_Queued_Message::destroy () was called. Fri Nov 15 20:52:12 UTC 2002 Johnny Willemsen * orbsvcs/orbsvcs/Notify/Event_Map_T.h: Added missing include to fix BCB compile error. * tests/Bug_1020_Basic_Regression/*.bor: * tests/Bug_1020_Regression/*.bor: * tests/Bug_1269_Regression/*.bor: * tests/Bug_1270_Regression/*.bor: Added new BCB makefiles to build these tests * tests/Makefile.bor: Added new tests for which there are now BCB makefiles. Fri Nov 15 11:06:07 2002 Ossama Othman * orbsvcs/orbsvcs/CosLoadBalancing.dsp: * orbsvcs/orbsvcs/CosLoadBalancing_Static.dsp: Added LB_Client_{Component,ORBInitalizer}.{h,cpp} files to these project files. Fri Nov 15 10:51:04 2002 Jeff Parsons * TAO_IDL/be/be_visitor_component/component_cs.cpp: Changed the signature of the global _upcast() method for components, used by sequences containing forward declared components. Thanks again to Nanbor for confirming my suspicion. Fri Nov 15 09:29:31 2002 Jeff Parsons * TAO_IDL/be/be_visitor_component/component_cs.cpp: * TAO_IDL/be/be_visitor_component/component_ch.cpp: Fixed up some omissions and signatures in generated code. Thanks to Nanbor for uncovering them. Thu Nov 14 19:45:18 2002 Balachandran Natarajan * orbsvcs/orbsvcs/DsLogAdmin.dsp: Added required paths to the libraries. Thu Nov 14 16:40:06 2002 Ossama Othman * orbsvcs/LoadBalancer/LoadMonitor.cpp (usage): * orbsvcs/LoadBalancer/LoadManager.cpp (usage): Clarified usage message. (parse_args): If the "-h" command line option was supplied, print the usage message and exit immediately. Previously, the usage message was printed but the executable never exited. * orbsvcs/orbsvcs/LoadBalancing/LB_ClientComponent.h: * orbsvcs/orbsvcs/LoadBalancing/LB_ClientComponent.cpp: * orbsvcs/orbsvcs/LoadBalancing/LB_ClientORBInitializer.h: * orbsvcs/orbsvcs/LoadBalancing/LB_ClientORBInitializer.cpp: New sources that transparently add adaptive load balancing support to a client. They are used to transparently register the existing LB_ClientRequestInterceptor. This part of a set of changes that enable the adaptive load balancing support in Cygnus, i.e. TAO's new load balancer. * orbsvcs/orbsvcs/LoadBalancing/LB_LeastLoaded.cpp (get_location): Fixed problem where CosLoadBalancing::LocationNotFound exception was propagated to the client, and interpreted as a CORBA::UNKNOWN exception. If loads at the supplied location are not available continue the loop and attempt to retrieve loads from the next location. * orbsvcs/orbsvcs/LoadBalancing/LB_LoadManager.cpp (built_in_strategy): Corrected debugging statement. Thu Nov 14 16:35:45 2002 Balachandran Natarajan * tests/Makefile: Added new tests to the daily builds. Thu Nov 14 16:28:13 2002 Balachandran Natarajan * tests/Bug_1269_Regression/run_test.pl: * tests/Bug_1270_Regression/run_test.pl: Reduced the runtime further to 4 minutes. 7 minutes is too high to blow away the stack on machines like charanga! Thu Nov 14 16:21:58 2002 Balachandran Natarajan * tests/Bug_1270_Regression/run_test.pl: Reduced the runtime from 70 minutes to 7 minutes. This will make them usable in the daily builds. Thu Nov 14 13:47:10 2002 Ossama Othman * TAO_IDL/be/be_visitor_operation/ami_cs.cpp (gen_marshal_and_invoke): Fixed "empty controlled statment" warning that occurred due to an ACE_ASSERT disappearing when NDEBUG is defined. That ACE_ASSERT is to be executed when a oneway operation check evaluates to true. When NDEBUG is defined, there is nothing to execute if that condition is true. Moved the condition check inside the ACE_ASSERT. This is safe since no other code is meant to be run if the oneway operation check/condition is true, i.e. there are no side-effects. Thu Nov 14 14:33:21 2002 Balachandran Natarajan * tao/Transport.h: * tao/Transport.cpp: Changed the semantics of one of the arguments in the call close_connection_shared (). The argument was called "disable_purge" and was used in exactly the opposite manner. The condition that was used to purge the entry from the cache was also topsy-turvy. This was fixed the following way - the argument is now called "purge". - a value of 1 will purge the entry from the cache manager and a value of 0 otherwise. This should fix the failure of the Crash_On_Write test in our daily builds. The same problem seems to have been reported by Christophe Vedel in different context, BUG 1299. Thu Nov 14 14:04:27 2002 Jeff Parsons * orbsvcs/orbsvcs/AV.dsp: Added missing dependency to project. * orbsvcs/orbsvcs/DsLogAdmin.dsp: Added missing link paths to release version. Thu Nov 14 10:55:01 2002 Ossama Othman * tests/Portable_Interceptors/AMI/Server_Interceptor.cpp (send_reply, send_exception): Fixed unused argument warning in emulated exceptions case. Thu Nov 14 10:04:52 2002 Ossama Othman * tests/Portable_Interceptors/AMI/client.cpp (test_ami): (test_ami_errors): Use a PortableServer::ServantBase_var instead of a TAO::Utils::Servant_var. MSVC++ 6 can't handle the member templates in the latter. Thu Nov 14 11:48:31 2002 Balachandran Natarajan * orbsvcs/orbsvcs/CosNotification.bor: Added a wild card character to the list of files to be compiled. Thu Nov 14 09:43:40 2002 Ossama Othman * tests/Portable_Interceptors/AMI/server.dsp: Corrected library path for the TAO_Messaging library. Wed Nov 13 17:18:35 2002 Balachandran Natarajan * tao/Connection_Handler.cpp: Release the OS resources only when the reference count reaches zero. There may be lot of furore over this decision. But doing this would help to circumvent BUG 1294 and BUG 1361. The solution in BUG 1294, is not scalable to situations explained in BUG 1361 which leads to crashes. The only way to circumvent that is to release the OS resources at the end of the lifetime of the handler. Not exactly sure how I missed this yesterday. Wed Nov 13 14:15:33 2002 Ossama Othman * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Accept_Strategy.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Accept_Strategy.cpp: New TAO_SSLIOP-specific TAO_Accept_Strategy implementation. This accept strategy builds on on the TAO_Accept_Strategy implementation. It sub-classes that class, and overrides the accept_svc_handler() method so that a timeout value may be passed to the underlying peer acceptor. This is necessary to defend against a simple Denial-of-Service attack. See the comments in the header for details. [Bug 1348] * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Factory.cpp (init): Added new "-SSLAcceptTimeout" option. This option allows applications to override the default 10 second TAO_SSLIOP accept() timeout. (make_acceptor): Pass the timeout value to the SSLIOP_Acceptor's constructor. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.h: Updated use the new TAO_SSLIOP_Accept_Strategy implementation instead of the generic one supplied by TAO. [Bug 1348] Cache the accept timeout value in a member variable. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.cpp (TAO_SSLIOP_Acceptor): Initialize the accept timeout member from the value passed to this constructor from the SSLIOP_Factory. (ssliop_open_i): Pass the accept timeout value to the TAO_SSLIOP_Accept_Strategy's constructor. [Bug 1348] * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp (ssliop_connect): Only register the connection handler with the reactor when creating a new connection. Previously, the connection handler was registered each time an invocation was made even if a connection was previously established. * orbsvcs/tests/Security/Secure_Invocation/client.bor (TAO_IDL): * orbsvcs/tests/Security/Secure_Invocation/server.bor (TAO_IDL): Removed "-GC" option from the TAO_IDL flags. This test does not require AMI callbacks. Wed Nov 13 14:30:44 2002 Pradeep Gore * Repeated ChangeLogTag: Tue Nov 12 12:37:18 2002 Pradeep Gore * orbsvcs/orbsvcs/CosNotification.dsp: Updated. * Repeated only the removal of files as per ChangeLogTag: Mon Nov 11 20:11:56 2002 Pradeep Gore * orbsvcs/orbsvcs/Notify/Object.h: * orbsvcs/orbsvcs/Notify/Object.cpp: Added missing call to update_qos_properties * orbsvcs/orbsvcs/Notify/Proxy.h: * orbsvcs/orbsvcs/Notify/Proxy.cpp: * orbsvcs/orbsvcs/Notify/Sequence/SequencePushConsumer.cpp * orbsvcs/orbsvcs/Notify/Sequence/SequencePushConsumer.h Changed signature of method to accept QoSProperties. * orbsvcs/orbsvcs/Notify/ProxyConsumer.cpp: * orbsvcs/orbsvcs/Notify/ProxySupplier.cpp: Rearranged code to avoid deadlock in methods. Wed Nov 13 10:41:50 2002 Jeff Parsons * orbsvcs/orbsvcs/Log/NotifyLogNotification.h: * orbsvcs/orbsvcs/Log/NotifyLog_i.h: Checked in these files again after yesterday's update loss. Wed Nov 13 06:27:48 2002 Balachandran Natarajan * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connector.cpp: Fixed a compile error. Tue Nov 12 14:34:37 2002 Balachandran Natarajan * tao/IIOP_Connector.cpp: * tao/Strategies/UIOP_Connector.cpp: * tao/Strategies/SHMIOP_Connector.cpp: * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connector.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp: Fixed unused variable warnings in builds compiled with ACE_NDEBUG option turned on. This makes the ACE_ASSERT dissappear. Tue Nov 12 13:25:00 2002 Balachandran Natarajan * tao/LF_CH_Event.cpp: Fixed compile error in no inline builds. Tue Nov 12 13:13:05 2002 Balachandran Natarajan * tao/TAO.dsp: * tao/TAO_Static.dsp: Added the new files. Tue Nov 12 12:54:39 2002 Balachandran Natarajan * tao/LF_Invocation_Event.inl: Fixed a typo. Tue Nov 12 12:47:31 2002 Balachandran Natarajan Fix for [BUG 1020]. Please see details of the bug at http://deuce.doc.wustl.edu/bugzilla/show_bug.cgi?id=1020 Please see the discussions in the above URL for details on the motivations for these changes. A very brief summary of the changes alone are mentioned. * tao/Transport.cpp(close_connection_shared): Wait on the leader follower if the handle is registered with the reactor. * tao/LF_Event.h: * tao/LF_Event.cpp: * tao/LF_Event.inl: Made the class TAO_LF_Event as an abstract base class. This helps us to strategize the type of behaviour required in different concrete classes which can in turn be used by other portions of the ORB to wait on LF. * tao/LF_Invocation_Event.h: * tao/LF_Invocation_Event.cpp: * tao/LF_Invocation_Event.inl: Concrete implementation of a LF_Event class, where the state transitions along the invocation path are consolidated. * tao/LF_CH_Event.h: * tao/LF_CH_Event.cpp: Concrete implementation of a LF_Event class, where the state transitions of the connection handler are consolidated. * tao/Queued_Message.h: * tao/Synch_Reply_Dispatcher.h: They now inherit from TAO_LF_Invocation_Event class. * tao/Connection_Handler.h: This class inherits now from the TAO_LF_CH_Event class. * tao/Makefile.bor: * tao/Makefile.tao: Added the new files to the list of compilable files. Tue Nov 12 12:37:18 2002 Pradeep Gore * orbsvcs/Logging_Service/Notify_Logging_Service/Makefile: * orbsvcs/examples/Log/Notify/Makefile: Updated dependencies. * orbsvcs/examples/Log/Notify/Notify_Consumer.h: Removed the include of orbsvcs/orbsvcs/Notify/Notify_EventChannel_i.h, which no longer exists. Tue Nov 12 11:15:50 2002 Balachandran Natarajan * tao/IIOP_Connector.cpp: * tao/Strategies/UIOP_Connector.cpp: * tao/Strategies/SHMIOP_Connector.cpp: * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connector.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp: Added an assert statement after decrementing the reference count. Point taken from "Pragmatic Programmer". Tue Nov 12 11:08:32 2002 Balachandran Natarajan * tao/Connection_Handler.h: Commented out the following calls incr_pending_upcalls (), decr_pending_upcalls () and pending_upcalls (), since there was no implementation and they were not at all used. * tao/Connection_Handler.cpp: Cosmetic changes. Tue Nov 12 10:17:05 2002 Jeff Parsons * orbsvcs/orbsvcs/Log/NotifyLogNotification.h: * orbsvcs/orbsvcs/Log/NotifyLog_i.h: Removed the include of orbsvcs/orbsvcs/Notify/Notify_EventChannel_i.h, which no longer exists. Tue Nov 12 13:31:12 UTC 2002 Johnny Willemsen * orbsvcs/orbsvcs/PortableGroup/UIPMC_Profile.cpp: Made the argument of addressing_mode() same as in header file so that doxygen documentation is generated for this method. Mon Nov 11 23:04:34 2002 Ossama Othman * orbsvcs/tests/LoadBalancing/GenericFactory/Application_Controlled/Application_Controlled.dsw: * orbsvcs/tests/LoadBalancing/GenericFactory/Application_Controlled/client.dsp: * orbsvcs/tests/LoadBalancing/GenericFactory/Application_Controlled/server.dsp: New MSVC++ 6 project files for this test. Mon Nov 11 22:33:37 2002 Ossama Othman * orbsvcs/tests/LoadBalancing/GenericFactory/Application_Controlled/Makefile (TAO_LB_LIBS): Corrected order of libraries linked to the server binary. (client): Do not link server-side libraries. They are completely unnecessary for this client binary. * orbsvcs/tests/Makefile.bor (DIRS): Added "LoadBalancing" directory to the list of directories to recurse into. * orbsvcs/tests/LoadBalancing/Makefile.bor: * orbsvcs/tests/LoadBalancing/GenericFactory/Makefile.bor: * orbsvcs/tests/LoadBalancing/GenericFactory/Application_Controlled/Makefile.bor: * orbsvcs/tests/LoadBalancing/GenericFactory/Application_Controlled/client.bor: * orbsvcs/tests/LoadBalancing/GenericFactory/Application_Controlled/server.bor: New Borland C++ Makefiles for this test. Mon Nov 11 20:31:18 2002 Ossama Othman * orbsvcs/LoadBalancer/LoadManager.cpp (TAO_LB_run_load_manager): * orbsvcs/LoadBalancer/LoadMonitor.cpp (TAO_LB_run_load_monitor): New global function that is run when the Load{Manager,Monitor}'s ORB thread is run. It is only used on Linux when multi-thread support is enabled. This is part of a work-around for the problem where signals can only be handled in the main() thread on Linux. (ACE_TMAIN): Spawn a new thread to run the LoadManager's ORB, and handle signals in this (main()) thread. This is the second part of a work-around for the problem where signals can only be handled in the main() thread on Linux. Moved signal handler activation to just before the point where the ORB is run. There is no need to activate the signal handler earlier than there. Mon Nov 11 19:22:05 2002 Ossama Othman * orbsvcs/orbsvcs/LoadBalancing/LB_ObjectReferenceFactory.h: Explicitly include "ace/Hash_Map_Manager_T.h" to pull in ACE_Hash_Map_Manager_Ex template. Mon Nov 11 19:15:42 2002 Ossama Othman * tests/Portable_Interceptors/AMI/AMI.dsw: * tests/Portable_Interceptors/AMI/client.dsp: * tests/Portable_Interceptors/AMI/server.dsp: New MSVC++ project files for this test. Mon Nov 11 18:03:37 2002 Ossama Othman * docs/interceptors.html: Updated release notes about AMI interceptor support. Updated CORBA spec URL to the 3.0.1 spec's URL. * tao/Messaging/Makefile.bor: * tao/Messaging/TAO_Messaging.dsp: * tao/Messaging/TAO_Messaging_Static.dsp: Added AMI_ClientRequestInfo_i.{h,cpp} to these Make/project files. Mon Nov 11 17:27:22 2002 Carlos O'Ryan * tao/Messaging/AMI_ClientRequestInfo_i.h: * tao/Messaging/AMI_ClientRequestInfo_i.cpp: * tao/Messaging/Makefile: Add implementation class for AMI ClientRequestInfos. [Bug 286] * TAO_IDL/be/be_codegen.cpp: Move some #includes to the .cpp file, include AMI_ClientRequestInfo_i.h when compiling with interceptors and AMI. [Bug 286] * TAO_IDL/be/be_visitor_operation/ami_cs.cpp: Generate interceptor code for sendc_*** operations. [Bug 286] * tests/Portable_Interceptors/Makefile: * tests/Portable_Interceptors/AMI/Makefile: * tests/Portable_Interceptors/AMI/run_test.pl: * tests/Portable_Interceptors/AMI/.cvsignore: * tests/Portable_Interceptors/AMI/Client_Interceptor.h: * tests/Portable_Interceptors/AMI/Client_Interceptor.cpp: * tests/Portable_Interceptors/AMI/Client_ORBInitializer.h: * tests/Portable_Interceptors/AMI/Client_ORBInitializer.cpp: * tests/Portable_Interceptors/AMI/Echo.h: * tests/Portable_Interceptors/AMI/Echo.cpp: * tests/Portable_Interceptors/AMI/Echo_Handler.h: * tests/Portable_Interceptors/AMI/Echo_Handler.cpp: * tests/Portable_Interceptors/AMI/Server_Interceptor.h: * tests/Portable_Interceptors/AMI/Server_Interceptor.cpp: * tests/Portable_Interceptors/AMI/Server_ORBInitializer.h: * tests/Portable_Interceptors/AMI/Server_ORBInitializer.cpp: * tests/Portable_Interceptors/AMI/Shared_Interceptor.h: * tests/Portable_Interceptors/AMI/Test.idl: * tests/Portable_Interceptors/AMI/client.cpp: * tests/Portable_Interceptors/AMI/server.cpp: New regression test for the AMI interceptors. Mon Nov 11 20:11:56 2002 Pradeep Gore Removed these files as they are no longer needed. All features and bug fixes have been absorbed in the new implementation as per ChangeLogTag: Sun Oct 27 01:04:09 2002 Pradeep Gore * orbsvcs/orbsvcs/Notify/Notify_AdminProperties.cpp: * orbsvcs/orbsvcs/Notify/Notify_AdminProperties.h: * orbsvcs/orbsvcs/Notify/Notify_AdminProperties.i: * orbsvcs/orbsvcs/Notify/Notify_Buffering_Strategy.cpp: * orbsvcs/orbsvcs/Notify/Notify_Buffering_Strategy.h: * orbsvcs/orbsvcs/Notify/Notify_Channel_Objects_Factory.h: * orbsvcs/orbsvcs/Notify/Notify_Collection.cpp: * orbsvcs/orbsvcs/Notify/Notify_Collection.h: * orbsvcs/orbsvcs/Notify/Notify_Collection_Factory.h: * orbsvcs/orbsvcs/Notify/Notify_Command.cpp: * orbsvcs/orbsvcs/Notify/Notify_Command.h: * orbsvcs/orbsvcs/Notify/Notify_Command.i: * orbsvcs/orbsvcs/Notify/Notify_Constraint_Interpreter.cpp: * orbsvcs/orbsvcs/Notify/Notify_Constraint_Interpreter.h: * orbsvcs/orbsvcs/Notify/Notify_Constraint_Visitors.cpp: * orbsvcs/orbsvcs/Notify/Notify_Constraint_Visitors.h: * orbsvcs/orbsvcs/Notify/Notify_ConsumerAdmin_i.cpp: * orbsvcs/orbsvcs/Notify/Notify_ConsumerAdmin_i.h: * orbsvcs/orbsvcs/Notify/Notify_Event.cpp: * orbsvcs/orbsvcs/Notify/Notify_Event.h: * orbsvcs/orbsvcs/Notify/Notify_Event.i: * orbsvcs/orbsvcs/Notify/Notify_EventChannel_i.cpp: * orbsvcs/orbsvcs/Notify/Notify_EventChannel_i.h: * orbsvcs/orbsvcs/Notify/Notify_Event_Dispatch_Command.cpp: * orbsvcs/orbsvcs/Notify/Notify_Event_Dispatch_Command.h: * orbsvcs/orbsvcs/Notify/Notify_Event_Manager.cpp: * orbsvcs/orbsvcs/Notify/Notify_Event_Manager.h: * orbsvcs/orbsvcs/Notify/Notify_Event_Manager.i: * orbsvcs/orbsvcs/Notify/Notify_Event_Manager_Objects_Factory.h: * orbsvcs/orbsvcs/Notify/Notify_Event_Map.cpp: * orbsvcs/orbsvcs/Notify/Notify_Event_Map.h: * orbsvcs/orbsvcs/Notify/Notify_Event_Map.i: * orbsvcs/orbsvcs/Notify/Notify_Event_Processor.cpp: * orbsvcs/orbsvcs/Notify/Notify_Event_Processor.h: * orbsvcs/orbsvcs/Notify/Notify_Factory.cpp: * orbsvcs/orbsvcs/Notify/Notify_Factory.h: * orbsvcs/orbsvcs/Notify/Notify_FilterAdmin_i.cpp: * orbsvcs/orbsvcs/Notify/Notify_FilterAdmin_i.h: * orbsvcs/orbsvcs/Notify/Notify_FilterFactory_i.cpp: * orbsvcs/orbsvcs/Notify/Notify_FilterFactory_i.h: * orbsvcs/orbsvcs/Notify/Notify_Filter_i.cpp: * orbsvcs/orbsvcs/Notify/Notify_Filter_i.h: * orbsvcs/orbsvcs/Notify/Notify_ID_Pool_T.cpp: * orbsvcs/orbsvcs/Notify/Notify_ID_Pool_T.h: * orbsvcs/orbsvcs/Notify/Notify_ID_Pool_T.i: * orbsvcs/orbsvcs/Notify/Notify_Listener_Filter_Eval_Command.cpp: * orbsvcs/orbsvcs/Notify/Notify_Listener_Filter_Eval_Command.h: * orbsvcs/orbsvcs/Notify/Notify_Listeners.h: * orbsvcs/orbsvcs/Notify/Notify_Lookup_Command.cpp: * orbsvcs/orbsvcs/Notify/Notify_Lookup_Command.h: * orbsvcs/orbsvcs/Notify/Notify_MT_Worker_Task.cpp: * orbsvcs/orbsvcs/Notify/Notify_MT_Worker_Task.h: * orbsvcs/orbsvcs/Notify/Notify_POA_Factory.h: * orbsvcs/orbsvcs/Notify/Notify_ProxyConsumer_T.cpp: * orbsvcs/orbsvcs/Notify/Notify_ProxyConsumer_T.h: * orbsvcs/orbsvcs/Notify/Notify_ProxyPushConsumer_i.cpp: * orbsvcs/orbsvcs/Notify/Notify_ProxyPushConsumer_i.h: * orbsvcs/orbsvcs/Notify/Notify_ProxyPushSupplier_i.cpp: * orbsvcs/orbsvcs/Notify/Notify_ProxyPushSupplier_i.h: * orbsvcs/orbsvcs/Notify/Notify_ProxySupplier_T.cpp: * orbsvcs/orbsvcs/Notify/Notify_ProxySupplier_T.h: * orbsvcs/orbsvcs/Notify/Notify_Proxy_T.cpp: * orbsvcs/orbsvcs/Notify/Notify_Proxy_T.h: * orbsvcs/orbsvcs/Notify/Notify_QoSAdmin_i.cpp: * orbsvcs/orbsvcs/Notify/Notify_QoSAdmin_i.h: * orbsvcs/orbsvcs/Notify/Notify_QoSAdmin_i.inl: * orbsvcs/orbsvcs/Notify/Notify_SequenceProxyPushConsumer_i.cpp: * orbsvcs/orbsvcs/Notify/Notify_SequenceProxyPushConsumer_i.h: * orbsvcs/orbsvcs/Notify/Notify_SequenceProxyPushSupplier_i.cpp: * orbsvcs/orbsvcs/Notify/Notify_SequenceProxyPushSupplier_i.h: * orbsvcs/orbsvcs/Notify/Notify_Source_Filter_Eval_Command.cpp: * orbsvcs/orbsvcs/Notify/Notify_Source_Filter_Eval_Command.h: * orbsvcs/orbsvcs/Notify/Notify_StructuredEvents.cpp: * orbsvcs/orbsvcs/Notify/Notify_StructuredEvents.h: * orbsvcs/orbsvcs/Notify/Notify_StructuredProxyPushConsumer_i.cpp: Removed. * orbsvcs/orbsvcs/Notify/Dispatch_Observer_T.cpp: * orbsvcs/orbsvcs/Notify/Dispatch_Observer_T.h: * orbsvcs/orbsvcs/Notify/Dispatch_Observer_T.inl: Removed Dispatch Observer as error handling has moved to TAO_NS_Peer. * orbsvcs/orbsvcs/Notify/Event_Map_Observer.h: * orbsvcs/orbsvcs/Notify/Event_Map_Observer_T.cpp: * orbsvcs/orbsvcs/Notify/Event_Map_Observer_T.h: * orbsvcs/orbsvcs/Notify/Event_Map_Observer_T.inl: Removed Event_Map_Observer as Map changes are conveyed via return values in Event_Map_T and methods. * orbsvcs/orbsvcs/Notify/Pending_Worker_T.cpp: * orbsvcs/orbsvcs/Notify/Pending_Worker_T.h: * orbsvcs/orbsvcs/Notify/Pending_Worker_T.inl: Removed Pending_Worker as we have decided not to implement retries for now. * orbsvcs/orbsvcs/Notify/Builder.cpp: Removed code depending on Dispatch_Observer. * orbsvcs/orbsvcs/Notify/Consumer.h: * orbsvcs/orbsvcs/Notify/Consumer.cpp: * orbsvcs/orbsvcs/Notify/Consumer.inl: Added method that invokes offer_change. Modified implementation to catch exceptions and inform the base Peer class to handle exceptions while dispatching. Removed code that depended the Dispatch_Observer. * orbsvcs/orbsvcs/Notify/EventType.h: * orbsvcs/orbsvcs/Notify/EventType.cpp: Added a debugging helper method that prints the contents of the event type. * orbsvcs/orbsvcs/Notify/EventTypeSeq.h: * orbsvcs/orbsvcs/Notify/EventTypeSeq.cpp: - Added a debugging helper method that prints the contents of the event sequence. - Added a method that populates a CosNotification::EventTypeSeq but excludes the special event type. - Added an method that calculates the common elements of two sequences. - Modified the method to correctly handle cases with duplicates in the added and/or removed list. * orbsvcs/orbsvcs/Notify/Event_Manager.h: * orbsvcs/orbsvcs/Notify/Event_Manager.cpp: * orbsvcs/orbsvcs/Notify/Event_Manager.inl: - Removed code related to : Event_Map_Observer, Dispatch_Observer, Pending_Worker, Update_Removed_Worker and Update_Added_Worker. - Modified the , methods to return the list of eventypes that are being seen for the first or last time. - Added and methods to handle update changes. - Added and that return the current available types from the Consumer and Supplier Maps. - Added worker classes TAO_NS_ProxyConsumer_Update_Worker and TAO_NS_ProxySupplier_Update_Worker classes that inform proxys regarding update changes. - Added and methods that we delegate to the appropriate Event_Map and inform the newly connected Proxy of types that are avialable in the channel. * orbsvcs/orbsvcs/Notify/Event_Map_T.cpp: * orbsvcs/orbsvcs/Notify/Event_Map_T.h: * orbsvcs/orbsvcs/Notify/Event_Map_T.inl: - Added and methods that add the proxy to an updates list. This list is used to disseminate the subscription/offer update changes. - Added accessor method for the updates list and count of proxys connected to this map. - Removed code relating to Event_Map_Observer. - The and methods now return 1 if the type being inserted or removed is the first time/ last time. * orbsvcs/orbsvcs/Notify/Method_Request_Dispatch.cpp: - Added checks for nil pointers and modified exception handling code to be simpler. * orbsvcs/orbsvcs/Notify/Peer.cpp: * orbsvcs/orbsvcs/Notify/Peer.h: * orbsvcs/orbsvcs/Notify/Peer.inl: - Added a method that formats the event types for final dispatch. - Added a method that simply destroys the offending Peer. - Modified to accept CosNotification::EventTypeSeq's. - Removed data member and code related to it. - Removed data member and retry related code. * orbsvcs/orbsvcs/Notify/Proxy.cpp: * orbsvcs/orbsvcs/Notify/Proxy.h: - Removed added_, removed_ data members, and code because subscription/offer_change handling logic has been simplified. - Added method that enqueues a TAO_NS_Method_Request_Updates object in the Proxys worker task queue. - Renamed the to . This seems more appropriate. * orbsvcs/orbsvcs/Notify/ProxyConsumer.cpp: * orbsvcs/orbsvcs/Notify/ProxyConsumer.h: - Added calls to , and instead of calling and * orbsvcs/orbsvcs/Notify/ProxyConsumer.ProxyConsumer_T.cpp: * orbsvcs/orbsvcs/Notify/ProxyConsumer.ProxyConsumer_T.h: - Renaming to - Call instead of calling and * orbsvcs/orbsvcs/Notify/ProxySupplier.cpp: - Calling instead of and . - Added calls to and * orbsvcs/orbsvcs/Notify/ProxySupplier_T.cpp: * orbsvcs/orbsvcs/Notify/ProxySupplier_T.h: - Calling instead of and . - Renamed to * orbsvcs/orbsvcs/Notify/Refcountable.cpp: - Print messages at debug level 1. * orbsvcs/orbsvcs/Notify/Subscription_Change_Worker.inl: - Renamed to * orbsvcs/orbsvcs/Notify/Supplier.cpp: * orbsvcs/orbsvcs/Notify/Supplier.h: - Modified signature. * orbsvcs/orbsvcs/Notify/ThreadPool_Task.cpp: Moved shutdown code fix from Notify_MT_Worker.cpp. * orbsvcs/orbsvcs/Notify/Types.h: - Removed forward declaration for Event_Map_Observer, Dispatch_Observer, Pending_Worker types that are no longer used. * orbsvcs/orbsvcs/Notify/Any/CosEC_ProxyPushConsumer.h: * orbsvcs/orbsvcs/Notify/Any/ProxyPushConsumer.h: - Added missing virtual keyword to * orbsvcs/orbsvcs/Notify/Sequence/SequencePushConsumer.cpp - Changed the exception handling code to delegate to the Peer's method. * orbsvcs/orbsvcs/Notify/Method_Request_Updates.cpp: * orbsvcs/orbsvcs/Notify/Method_Request_Updates.h: * orbsvcs/orbsvcs/Notify/Method_Request_Updates.inl: Added a Method Request type that sends dispatch_updates to Peer objects. Updates are also treated as events and enqueued/dequeued in a queue(if any) of the Worker Task. This replaces the earlier logic of using Pending_Worker. * orbsvcs/tests/Notify/Events.cpp: * orbsvcs/tests/Notify/Events.h: - Added a -use_default_admin option that results in the test obtaining a Consumer/SupplierAdmin interface via the default_consumer/supplier_admin method. * orbsvcs/tests/Notify/Filter.cpp: * orbsvcs/tests/Notify/Filter.h: - Added this test for Filter operations. This test excercises the FilterAdmin code for a Consumer Admin. * orbsvcs/tests/Notify/MultiTypes.cpp: * orbsvcs/tests/Notify/MultiTypes.h: - Added this test to check the following - + Consumers of different types should receive events that are send by any kind of supplier. + A nested upcall to the Notification Service via a disconnect_XXX from within a push should succeed. * orbsvcs/tests/Notify/Updates.cpp: * orbsvcs/tests/Notify/Updates.h: Completely revamped this test. This test tests subscription and offer change calls and makes sure that the expected updates are indeed received. * orbsvcs/tests/Notify/Basic/run_test.pl: Added the new Filter and MultiTypes tests. * orbsvcs/tests/Notify/Basic/Makefile * orbsvcs/tests/Notify/Basic/Makefile.bor * orbsvcs/tests/Notify/Notify_Tests.dsw * orbsvcs/tests/Notify/Basic/Basic.dsw Modified to include the new Filter and MultiTypes tests and updated dependencies. * orbsvcs/orbsvcs/Makefile.CosNotification: * orbsvcs/orbsvcs/CosNotification.dsp: * orbsvcs/orbsvcs/CosNotification.bor: Removed old Notify files, added Method_Request_Updates file and updated dependencies. * orbsvcs/Notify_Service/Makefile: Updated dependencies. Mon Nov 11 14:28:39 2002 Balachandran Natarajan * tao/GIOP_Message_Base.cpp (consolidate_fragments): When growing the message block to increase the allocated memory, we now use the length () of the available message block as the basis for growing instead of the size (). Simon McQueen of PrismTech ran several experiments while investigating problems related to [BUGID 1356] and is convinced this is the right way to go, since this uses less memory. Since I dont foresee problems, his patch is being accepted for the release. Thanks to Simon for putting in lot of effort to narrow down the problem to this area. Mon Nov 11 10:43:59 2002 Nanbor Wang * orbsvcs/Logging_Service/Notify_Logging_Service/Notify_Logging_Service.dsp: Added TAO_CosEvent.lib to the list of libraries for Release build only to fix a link problem on MSVC. * orbsvcs/tests/Log/Basic_Log_Test/Basic_Log_Test.cpp (write_records): Initialize the local variable to 0 to fix a build warning. Mon Nov 11 09:28:43 2002 Priyanka Gontla * orbsvcs/ImplRepo_Service/ImR_Locator_i.cpp: Get the whole hostname name including the domain instead of just the hostname. Thanks to Kobi Cohen-Arazi for pointing out a exception thats raised. * orbsvcs/tests/ImplRepo/run_test.pl: cosmetic changes. Sun Nov 10 20:24:59 2002 Jeff Parsons * orbsvcs/IFR_Service/ifr_adding_visitor.cpp: * orbsvcs/IFR_Service/ifr_adding_visitor.h: * orbsvcs/IFR_Service/ifr_adding_visitor_exception.cpp: * orbsvcs/IFR_Service/ifr_adding_visitor_exception.h: Changed handling of reopened modules. In the case where a module and its member have both been seen before, tao_ifr now assumes that it is re-processing the IDL file in which the module and member were first seen, and ignores the member. It is possible that there is actually an illegal name clash, but it is not possible to tell the difference in every case, so we choose the behavior assuming that the common case will be the re-processing of an already-loaded IDL file. Thanks to Nick Cross for reporting the problem when loading CosNaming.idl twice and then trying to look at the IFR contents. * orbsvcs/IFR_Service/ifr_adding_visitor_structure.cpp: Cosmetic changes. Sun Nov 10 18:02:51 UTC 2002 Don Hinton * TAO_IDL/be/be_visitor_valuetype/valuetype_cs.cpp: Fixed a problem with previous patch, Wed Oct 16 17:16:38 2002 Jeff Parsons , where the logic was reversed. Thanks to Jon Franklin for noticing the problem and providing the patch. Sun Nov 10 08:19:21 2002 Balachandran Natarajan * tao/IIOP_Connector.cpp: * tao/Connection_Handler.cpp: * tao/IIOP_Connection_Handler.cpp: Some debugging statements were either out of format or totally useless for any debugging purposes. Fixed some of them that I saw in the path that actually hinders my debugging. Sat Nov 09 09:47:37 2002 Nanbor Wang * orbsvcs/orbsvcs/RTEventLog.dsp: The release build was not generating a different name from the debug build without following our naming convention. Fri Nov 08 19:18:58 2002 Irfan Pyarali * orbsvcs/tests/Notify/Basic: - Renamed the following file to make consistent: - AdminProperties_Test.* to AdminProperties.* - Events_Test.* to Events.* - LifeCycleTest.* to LifeCycle.* - Updated the following files to reflect the above described name changes: - Basic/Basic.dsw - Basic/Basic.mpc - Makefile - Makefile.bor - README - Added run_test.pl so that these tests can be run in the nightly built. * orbsvcs/tests/Notify/performance-tests/RedGreen: Added run_test.pl so that these tests can be run in the nightly built. * orbsvcs/tests/Notify: Updated the following project files so that they can be included in the mega Notify test workspace: orbsvcs/tests/Notify/Notify_Tests.dsw - Basic/ConnectDisconnect.dsp - Basic/IdAssignment.dsp - Basic/Simple.dsp - Basic/Updates.dsp - Blocking/Structured_Consumer.dsp - Blocking/Structured_Supplier.dsp - Discarding/Sequence_Consumer.dsp - Discarding/Sequence_Supplier.dsp - Discarding/Structured_Consumer.dsp - Discarding/Structured_Supplier.dsp - MT_Dispatching/Structured_Consumer.dsp - MT_Dispatching/Structured_Supplier.dsp - Ordering/Sequence_Consumer.dsp - Ordering/Sequence_Supplier.dsp - Ordering/Structured_Consumer.dsp - Ordering/Structured_Supplier.dsp - Sequence_Multi_ETCL_Filter/Sequence_Consumer.dsp - Sequence_Multi_ETCL_Filter/Sequence_Supplier.dsp - Sequence_Multi_Filter/Sequence_Consumer.dsp - Sequence_Multi_Filter/Sequence_Supplier.dsp - Structured_Filter/Structured_Filter_Consumer.dsp - Structured_Filter/Structured_Filter_Supplier.dsp - Structured_Multi_Filter/Structured_Multi_Filter_Consumer.dsp - Structured_Multi_Filter/Structured_Multi_Filter_Supplier.dsp - performance-tests/Filter/Sequence_Consumer.dsp - performance-tests/Filter/Sequence_Supplier.dsp - performance-tests/Filter/Structured_Consumer.dsp - performance-tests/Filter/Structured_Supplier.dsp - performance-tests/RedGreen/RedGreen.dsp - performance-tests/Throughput/Throughput.dsp * orbsvcs/tests/Notify/Notify_Tests.dsw: Add projects, updated names, and updated dependencies. * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter: Renamed file to fix missing "e": Added Sequence_Multi_ETCL_Filter.mpc Removed Sequenc_Multi_ETCL_Filter.mpc * orbsvcs/tests/Notify/Basic/IdAssignment.h: Fixed filename in comments. * orbsvcs/tests/Notify/Basic/Simple.cpp: * orbsvcs/tests/Notify/Basic/IdAssignment.cpp: * orbsvcs/tests/Notify/Basic/ConnectDisconnect.cpp: Reduce debugging statements. * $ACE_ROOT/bin/auto_run_tests.lst: Updated to run Notify test nightly. Fri Nov 8 13:19:46 2002 Balachandran Natarajan * tao/Connection_Handler.cpp (svc_i): Cosmetic fixes. Fri Nov 08 10:47:41 2002 Nanbor Wang * tests/Abstract_Interface/Abstract_Interface_Server.dsp: Fixed the broken release configuration. Fri Nov 08 10:03:22 2002 Nanbor Wang * orbsvcs/orbsvcs/RTEventLog.dsp: Fixed the broken release build configuration. Thu Nov 07 12:21:21 2002 Nanbor Wang * TAOACE.dsw: * orbsvcs/Logging_Service/Basic_Logging_Service/Basic_Logging_Service.dsw: * orbsvcs/Logging_Service/Basic_Logging_Service/Logging_Service.dsp: * orbsvcs/Logging_Service/Event_Logging_Service/Event_Logging_Service.dsp: * orbsvcs/Logging_Service/Notify_Logging_Service/Notify_Logging_Service.dsp: * orbsvcs/Logging_Service/RTEvent_Logging_Service/RTEvent_Logging_Service.dsp: * orbsvcs/examples/Log/Basic/Client.dsp: * orbsvcs/examples/Log/Event/Log_CEC_Simple_Consumer.dsp: * orbsvcs/examples/Log/Event/Log_CEC_Simple_Supplier.dsp: * orbsvcs/examples/Log/Notify/Log_Notify_Simple_Consumer.dsp: * orbsvcs/examples/Log/Notify/Log_Notify_Simple_Supplier.dsp: * orbsvcs/examples/Log/RTEvent/Log_RTEvent_Simple_Consumer.dsp: * orbsvcs/examples/Log/RTEvent/Log_RTEvent_Simple_Supplier.dsp: * orbsvcs/orbsvcs/RTEventLog.dsp: * orbsvcs/tests/Log/Basic_Log_Test/Basic_Log_Test.dsp: * tests/IDL_Test/idl_test.dsp: Fixed broken workspaces and projects. Thu Nov 7 12:03:18 2002 Balachandran Natarajan * tao/Incoming_Mesage_Queue.cpp (duplicate): In duplicate () the copy constructor should be called instead of the plain constructor. Thanks to Simon McQueen for pointing this out. Thu Nov 7 09:17:04 2002 Balachandran Natarajan * utils/nslist/nsadd.cpp: Fixed a compile error caused undeclared variables. Wed Nov 6 20:09:14 2002 Douglas C. Schmidt * utils/nslist/nsadd.cpp: Enhanced the utilty so that it can add arbitrary paths to Naming Service entries. Thanks to Paul Caffrey for this fix. Thu Nov 7 06:44:12 UTC 2002 Johnny Willemsen * orbsvcs/tests/Makefile.bor: Added Security directory * orbsvcs/tests/Security/Makefile.bor: Added new BCB makefle to build subdirectories * orbsvcs/tests/Security/Secure_Invocation/Makefile.bor: * orbsvcs/tests/Security/Secure_Invocation/client.bor: * orbsvcs/tests/Security/Secure_Invocation/server.bor: Added these new BCB makefiles. Thanks to Oleg Kraynov for creating these. Wed Nov 6 11:43:01 2002 Balachandran Natarajan * orbsvcs/examples/CosEC/RtEC_Based/lib/Makefile: Fixed an error which occurs when the right libraries havent been built. Thanks to Gautam Thaker for pointing this out. Wed Nov 6 11:35:01 2002 Balachandran Natarajan * tests/Bug_1020_Basic_Regression/Server_Task.h: Fixed fuzz errors. Wed Nov 6 11:32:58 2002 Balachandran Natarajan * tests/Bug_1020_Regression/Echo.cpp: * tests/Bug_1020_Regression/Echo.h: * tests/Bug_1020_Regression/Echo_Callback.cpp: * tests/Bug_1020_Regression/Echo_Callback.h: * tests/Bug_1020_Regression/ORB_Task.cpp: * tests/Bug_1020_Regression/ORB_Task.h: * tests/Bug_1020_Regression/Server_Task.cpp: * tests/Bug_1020_Regression/Test.idl: Fixed fuzz errors. Tue Nov 05 17:32:22 2002 Pradeep Gore * orbsvcs/orbsvcs/Notify/ConsumerAdmin.cpp: * orbsvcs/orbsvcs/Notify/EventChannel.cpp: * orbsvcs/orbsvcs/Notify/FilterAdmin.cpp: * orbsvcs/orbsvcs/Notify/Proxy_T.cpp: * orbsvcs/orbsvcs/Notify/SupplierAdmin.cpp: Corrected the way IDSequences are populated. Thanks to Yamuna for helping to debug this. Tue Nov 05 12:01:25 2002 Pradeep Gore * orbsvcs/orbsvcs/Notify/Any/PushSupplier.cpp: ENV variable was being used in , changed it back to ACE_ENV_ARG_DECL. Tue Nov 5 08:28:23 2002 Douglas C. Schmidt * TAO_IDL/be/be_visitor_valuetype/field_cs.cpp (visit_enum): Changed "val)/" to "val)" to avoid a bug. Thanks to Jian Chen for reporting the fix and to Marc Alter for the original bug report. Mon Nov 4 19:03:12 CST 2002 Pradeep Gore * (Removed previous bogus ChangeLog entry). * orbsvcs/orbsvcs/CosNotification.bor: Thanks to Christopher Kohlhoff , Johnny Willemsen , Irfan, Nanbor and Bala for help in correcting the .bor file. * tao/Messaging/Makefile.bor: Applied change in INCLUDE provided by Christopher Kohlhoff . * orbsvcs/orbsvcs/Notify/Builder.cpp: In method create a filter factory if we could not obtain one as a dynamic service. * orbsvcs/orbsvcs/Notify/Event_Map_Observer_T.cpp: TAO_NS_Update_Added_Worker::work, moved call to type_added inside the "if" statement. Following files were modified for backward compatibility as some application might be calling their method. * orbsvcs/orbsvcs/Notify/Notify_Default_CO_Factory.cpp: * orbsvcs/orbsvcs/Notify/Notify_Default_CO_Factory.h: * orbsvcs/orbsvcs/Notify/Notify_Default_Collection_Factory.cpp: * orbsvcs/orbsvcs/Notify/Notify_Default_Collection_Factory.h: * orbsvcs/orbsvcs/Notify/Notify_Default_EMO_Factory.cpp: * orbsvcs/orbsvcs/Notify/Notify_Default_EMO_Factory.h: * orbsvcs/orbsvcs/Notify/Notify_Default_POA_Factory.cpp: * orbsvcs/orbsvcs/Notify/Notify_Default_POA_Factory.h: * orbsvcs/orbsvcs/Notify/Notify_EventChannelFactory_i.cpp: * orbsvcs/orbsvcs/Notify/Notify_EventChannelFactory_i.h: static method maintained for backward compatibility. * orbsvcs/orbsvcs/Notify/Notify_Service.cpp: * orbsvcs/orbsvcs/Notify/Notify_Service.h: In method TAO_NS_Notify_Service::init - added old options for backward compatibility. Revived Service Object Notify_Default_Event_Manager_Objects_Factory. * orbsvcs/orbsvcs/Notify/Properties.cpp: * orbsvcs/orbsvcs/Notify/Properties.h: Defined TAO_NS_DEFAULT_UPDATES_PERIOD instead of using a magic number for the subscription/publication change update notification interval. * orbsvcs/orbsvcs/Notify/Proxy.cpp: Added missing initialization of updates_off_ data member. * orbsvcs/orbsvcs/Notify/Service.h: Defined the string name for the Notify_Default_Event_Manager_Objects_Factory. * orbsvcs/orbsvcs/Notify/Any/PushConsumer.cpp: * orbsvcs/orbsvcs/Notify/Any/PushSupplier.cpp: Check if narrow fails because CosEventComm client was connecting and does not support NotifySubscribe. * orbsvcs/orbsvcs/Notify/Sequence/SequencePushConsumer.cpp: * orbsvcs/orbsvcs/Notify/Sequence/SequencePushSupplier.cpp: * orbsvcs/orbsvcs/Notify/Structured/StructuredPushConsumer.cpp: * orbsvcs/orbsvcs/Notify/Structured/StructuredPushSupplier.cpp: Replaced unnecessary calls to _narrow with _duplicate. Thanks to Irfan for pointing this out. * orbsvcs/Notify_Service/Notify_Service.cpp: * orbsvcs/Logging_Service/Notify_Logging_Service/Notify_Logging_Service.cpp: Remove explicit instantiation of Dynamic_Service as its now defined in Notify_EventChannelFactory_i.cpp. Mon Nov 4 14:21:18 2002 Balachandran Natarajan * tests/Bug_1020_Regression: Another test that has the capability of stressing things a bit more for this bug to show up. This test is structured in such a manner that multipel Multi-threaded clients can connect to a server. The clients crash at periodic intervals. This is a slightly improvised form of the basic test. Thanks to Carlos O'Ryan for donating this test. * tests/Bug_1020_Regression/client.cpp: * tests/Bug_1020_Regression/Echo_Callback.cpp: * tests/Bug_1020_Regression/Echo_Callback.h: * tests/Bug_1020_Regression/Echo.cpp: * tests/Bug_1020_Regression/Echo.h: * tests/Bug_1020_Regression/Makefile: * tests/Bug_1020_Regression/ORB_Task.cpp: * tests/Bug_1020_Regression/ORB_Task.h: * tests/Bug_1020_Regression/run_test.pl: * tests/Bug_1020_Regression/server.cpp: * tests/Bug_1020_Regression/Server.cpp: * tests/Bug_1020_Regression/Server.h: * tests/Bug_1020_Regression/Server_Task.cpp: * tests/Bug_1020_Regression/Server_Task.h: * tests/Bug_1020_Regression/Test.idl: Files for this test. Mon Nov 4 14:18:15 2002 Balachandran Natarajan * tests/Bug_1020_Basic_Regression/README: Added information about the motivation and purpose of this test. Mon Nov 4 13:44:48 2002 Balachandran Natarajan * tests/Bug_1020_Basic_Regression: A new regression test for BUG 1020. This is a simple test which was failing with 1.2.1. The test has Multi-threaded client communicating with a Multi-threaded server. The client is crashed to see whether the server crashes. * tests/Bug_1020_Basic_Regression/client.cpp: * tests/Bug_1020_Basic_Regression/Client_Task.cpp: * tests/Bug_1020_Basic_Regression/Client_Task.h: * tests/Bug_1020_Basic_Regression/Echo_Caller.cpp: * tests/Bug_1020_Basic_Regression/Echo_Caller.h: * tests/Bug_1020_Basic_Regression/Echo.cpp: * tests/Bug_1020_Basic_Regression/Echo.h: * tests/Bug_1020_Basic_Regression/Makefile: * tests/Bug_1020_Basic_Regression/server.cpp: * tests/Bug_1020_Basic_Regression/Server_Task.cpp: * tests/Bug_1020_Basic_Regression/Server_Task.h: * tests/Bug_1020_Basic_Regression/Test.idl: New files added for this test. Mon Nov 4 12:24:51 2002 Balachandran Natarajan * orbsvcs/orbsvcs/PortableGroup/PG_GenericFactory.h: Added a missing exception specification from the definition to the declaration of create_member (). This should fix compile errors on Linux builds. Mon Nov 04 11:10:14 2002 Pradeep Gore * orbsvcs/orbsvcs/Notify/Notify_Service.cpp: in method change argument to ACE_ENV_ARG_DECL_NOT_USED. * orbsvcs/Logging_Service/Notify_Logging_Service/Notify_Logging_Service.cpp: Added code for explicit template instantiation. Mon Nov 04 10:47:41 2002 Pradeep Gore * orbsvcs/orbsvcs/Notify/ETCL_FilterFactory.cpp: In method : Added check to include EXTENDED_TCL string as a valid constraint grammar. Sun Nov 3 19:13:49 2002 Ossama Othman * orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroupManager.h (member_count): Corrected exception specification so that it matches the method definition's exception specification. * orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroupManager.cpp (member_count): Removed extra line (cosmetic change). Sun Nov 3 16:02:55 2002 Ossama Othman * orbsvcs/orbsvcs/Makefile.PortableGroup: * orbsvcs/orbsvcs/PortableGroup.bor: * orbsvcs/orbsvcs/PortableGroup.dsp: * orbsvcs/orbsvcs/PortableGroup_Static.dsp: Removed PG_Group_Guard.{h,cpp} from these Makefiles and project files. Those files no longer exist. Sun Nov 3 15:59:59 2002 Ossama Othman * orbsvcs/orbsvcs/LB_ORT.idl: Updated to CORBA 3.0 conventions. Use the CORBA 3.0 "typeprefix" keyword instead of "#pragma prefix". Sun Nov 3 15:59:57 2002 Ossama Othman The following fix some problems with the infrastructure-controlled membership support in TAO's PortableGroup library: * orbsvcs/orbsvcs/PortableGroup/PG_Factory_Set.h (TAO_PG_Factory_Node): Replaced GenericFactory object reference attribute with a FactoryInfo attribute. The latter is necessary to correctly implement infrastructure-controlled membership * orbsvcs/orbsvcs/PortableGroup/PG_GenericFactory.h (delete_member): New method used to implement the ObjectGroupManager::remove_member() method when the object group in question is under infrastructure control. The ObjectGroupManager will call back on the GenericFactory. (check_minimum_number_members): New method that creates new members if the object group in question is under infrastructure control. Enough new members will be created to satisfy the MinimumNumberMembers property of the object group (assuming there are enough unused application-supplied GenericFactorys). (create_member): New method used to create a single member via the infrastructure. This method is only used internally by the infrastructure. It should not be confused with the ObjectGroupManager::create_member() method. (populate_object_group): Removed FactoryCreationId and ObjectId parameters. They are no longer used by this method. * orbsvcs/orbsvcs/PortableGroup/PG_GenericFactory.cpp: No need to include `PG_Group_Guard.h'. That file has been removed. (TAO_PG_GenericFactory): Pass the "this" pointer to the ObjectGroupManager implementation. The ObjectGroupManager will potentially call back on the GenericFactory in the infrastructure-controlled membership case. (create_object): Reorganized this method so that the TAO_PG_Group_Guard class is no longer needed. In particular, the FactoryCreationId is The object group's factory set is now bound to the factory map in this method instead of the populate_object_group() method. This allowed the latter method to be cleaned up. (delete_object_i): Updated to access FactoryInfo field in the TAO_PG_Factory_Node structure that replaced the old GenericFactory object reference field. (populate_object_group): Fixed problem where only the number of factories equal to the initial number of members were bound to the factory map. All factories should be bound to the map, but only InitialNumberMembers factories should be invoked. Refactored member creation code to the new create_member() method since the same code is also used by the new check_minimum_number_members() method. * orbsvcs/orbsvcs/PortableGroup/PG_Group_Guard.h: * orbsvcs/orbsvcs/PortableGroup/PG_Group_Guard.cpp: Remove these files. The "guard" implementation contained in these files is no longer necessary due to improvements in the TAO_PG_GenericFactory::create_object() method. * orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroupManager.h: * orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroupManager.cpp (_tao_add_member): TAO-specific object group member addition method intended for use by TAO's GenericFactory implementation. It merely calls the new protected add_member_i() method in a way that prevents that method from performing remote member type checking via the CORBA::Object::_is_a() call. TAO's GenericFactory implementation already performs member type checking in the infrastructure-controlled case. This is an optimization to prevent redundant remote type checks. (add_member): Refactored object group member addition code to the new protected add_member_i() method. It calls the add_member_i() method in a way that allows member type checking to occur. (add_member_i): New protected underlying and non-locking implementation of the add_member() and _tao_add_member() methods. (member_count): New accessor method that returns the number of members currently in a given object group. Used by the new TAO_PG_GenericFactory::check_minimum_number_members() method. (generic_factory): Mutator method used to set the cached pointer to the TAO_PG_GenericFactory object which the TAO_PG_ObjectGroupManager will call back on. Sun Nov 3 11:04:27 2002 Balachandran Natarajan * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.h: Fixed a compile errors in single threaded builds. Sun Nov 3 10:18:15 2002 Balachandran Natarajan * orbsvcs/orbsvcs/Notify/Notify_Service.cpp: Fixed a compile error with minimum builds. Rearranged includes to have local includes first. Sun Nov 03 11:00:27 2002 Pradeep Gore * orbsvcs/orbsvcs/CosNotification.bor: Added missing .obj extension to targets. Thanks to Johnny Willemsen for pointing this out. * orbsvcs/Logging_Service/Notify_Logging_Service/Notify_Logging_Server.cpp: Removed calls to initalize old Notification factories. This is not needed now. Sat Nov 2 19:58:51 2002 Balachandran Natarajan * tests/Bug_1269_Regression/ORB_Task.cpp: * tests/Bug_1269_Regression/Server_Timer.cpp: * tests/Bug_1269_Regression/client.cpp: * tests/Bug_1269_Regression/shutdown.cpp: * tests/Bug_1270_Regression/ORB_Task.cpp: * tests/Bug_1270_Regression/Server_Timer.cpp: * tests/Bug_1270_Regression/client.cpp: * tests/Bug_1270_Regression/shutdown.cpp: Fixed compile errors on platforms where exceptions have been disabled. * tests/Bug_1270_Regression/run_test.pl: * tests/Bug_1269_Regression/run_test.pl: Changed the cutoff times so that the tests would run without displaying errors on my box. I would love these tests to run in our daily builds. But we cannot run these, since they run for more than 75 mins on my two processor box! Sat Nov 02 20:46:08 2002 Pradeep Gore * orbsvcs/orbsvcs/CosNotification.bor: Modified to add new Notification files. Sat Nov 2 19:56:31 2002 Balachandran Natarajan * tao/Synch_Refcountable.cpp: Cosmetic fix. Sat Nov 02 18:10:44 2002 Pradeep Gore * orbsvcs/tests/Notify/Basic/AdminProperties_Test.dsp: Inserted missing , in constructor. * orbscvs/orbsvcs/Notify/Notify_Service.cpp: Removed ACE_DEFAULT_THREAD_PRIORITY to threadpool task. Thanks to Bala for suggesting a fix. * orbscvs/orbsvcs/Notify/Thread_Pool_Task.cpp: Modified call to to use ACE_DEFAULT_THREAD_PRIORITY. * orbsvcs/Logging_Service/Notify_Logging_Service/Notify_Logging_Service.cpp: Changed code to obtain the notify service. * orbsvcs/Logging_Service/Notify_Logging_Service/svc.conf: Modified the .conf file to use the revised Notify Service directive. Sat Nov 2 10:48:46 2002 Balachandran Natarajan * tao/Utils/Servant_Var.h: * tao/Utils/Servant_Var.inl: Fixed errors in non-native exceptions build. Fri Nov 1 20:12:09 2002 Balachandran Natarajan * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp (connect): * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.h: Added the overloaded connect () method without the timeout. The implementation just calls the method with timeout value. It shouldnt be necessary, but one build in the borland compiler warns about one of the connect () methods hiding the other one. Hopefully, this should resolve the warning. Fri Nov 01 20:09:44 2002 Pradeep Gore * orbsvcs/tests/Notify/Basic/AdminProperties_Test.dsp: * orbsvcs/tests/Notify/Basic/ConnectDisconnect.dsp * orbsvcs/tests/Notify/Basic/Events_Test.dsp: * orbsvcs/tests/Notify/Basic/IdAssignment.dsp: * orbsvcs/tests/Notify/Basic/LifeCycleTest.dsp: * orbsvcs/tests/Notify/Basic/Simple.dsp: Modified project files to correct .pdb target. * orbsvcs/tests/Notify/Basic/ConnectDisconnect.cpp: In method removed duplicate call to Sequence Consumer. * orbsvcs/tests/Notify/performance-tests/Throughput/Throughput.cpp: Changed code to obtain the notify service for colocation. * orbsvcs/tests/Notify/Basic/AdminProperties_Test.dsp: Changed the default values used when the test is run without any parameters. * orbsvcs/tests/Notify/Blocking/notify.conf: * orbsvcs/tests/Notify/Discarding/notify.conf: * orbsvcs/tests/Notify/MT_Dispatching/notify_mtdispatching.conf: * orbsvcs/tests/Notify/Ordering/notify.conf: * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/notify.conf: * orbsvcs/tests/Notify/Sequence_Multi_Filter/notify.conf: * orbsvcs/tests/Notify/performance-tests/Filter/notify.conf: * orbsvcs/tests/Notify/performance-tests/RedGreen/listener.conf: * orbsvcs/tests/Notify/performance-tests/RedGreen/lookup.conf: * orbsvcs/tests/Notify/performance-tests/RedGreen/reactive.conf: Modified the .conf files to use the revised Notify Service directive. * orbsvcs/tests/Notify/Structured_Filter/run_test.pl: * orbsvcs/tests/Notify/Structured_Multi_Filter/run_test.pl: Added missing definition for $notify_conf * orbsvcs/tests/Notify/Structured_Filter/notify.conf: * orbsvcs/tests/Notify/Structured_Multi_Filter/notify.conf: Added missing notify.conf file. Fri Nov 1 19:12:49 2002 Balachandran Natarajan * tao/Makefile.dirs: Added tao/Utils directory to the list of directories. Need to add this directory for Win32 and Borland. Need to make sure that they are fine on one before propagating things to others. Fri Nov 1 19:06:45 2002 Balachandran Natarajan * tao/Utils/Auto_Functor.cpp: * tao/Utils/Auto_Functor.h: * tao/Utils/Auto_Functor.inl: * tao/Utils/Implicit_Deactivator.cpp: * tao/Utils/Implicit_Deactivator.h: * tao/Utils/ORB_Destroyer.cpp: * tao/Utils/ORB_Destroyer.h: * tao/Utils/PolicyList_Destroyer.cpp: * tao/Utils/PolicyList_Destroyer.h: * tao/Utils/PolicyList_Destroyer.inl: * tao/Utils/RIR_Narrow.cpp: * tao/Utils/RIR_Narrow.h: * tao/Utils/Servant_Var.cpp: * tao/Utils/Servant_Var.h: ACE'ified code. Made them exception safe even if native exceptions have been turned off. Fri Nov 01 14:38:15 2002 Nanbor Wang * orbsvcs/Logging_Service/Logging_Service.dsw: * orbsvcs/Logging_Service/Basic_Logging_Service/Basic_Logging_Service.dsw: * orbsvcs/Logging_Service/Basic_Logging_Service/Basic_Logging_Service.dsp: * orbsvcs/Logging_Service/Basic_Logging_Service/Logging_Service.dsp: Renamed Basic_Logging_Service.dsp to Logging_Service.dsp. This may fix the unknown project error in the nightly build. Fri Nov 01 11:09:29 2002 Pradeep Gore * orbsvcs/orbsvcs/Notify/Method_Request_Shutdown.cpp: Changed method parameter to ACE_ENV_SINGLE_ARG_DECL_NOT_USED * orbsvcs/orbsvcs/Notify/Service.h: Corrected the comment above the method. * orbsvcs/orbsvcs/Notify/Service.h: Added a #define to define the string used to load the Cos Notification Service. * orbsvcs/orbsvcs/Notify/Notify_Service.h: * orbsvcs/orbsvcs/Notify/Notify_Service.cpp: Added class TAO_NS_CosNotification_Service_Initializer. This is a helper to load the Cos Notification service into the service conf. for static links. * orbsvcs/Notify_Service/svc.conf: Changed the conf file to load the Cos Notification wih the static command. * orbsvcs/Notify_Service/Notify_Service.cpp: Changed the string to obtain the Cos Notification Service via the Service Configurator. Fri Nov 1 09:44:43 2002 Jeff Parsons * orbsvcs/orbsvcs/DsNotifyLogAdmin.dsp: Fixed a project setting I overlooked in Thu Oct 31 16:46:11 2002 Jeff Parsons Fri Nov 1 07:25:36 2002 Balachandran Natarajan * tests/MProfile_Connection_Timeout/README: * tests/MProfile_Connection_Timeout/run_test.pl: Added these files to the test. * tests/MProfile_Connection_Timeout/client.cpp: * tests/MProfile_Connection_Timeout/server.cpp: * tests/MProfile_Connection_Timeout/test.idl: * tests/MProfile_Connection_Timeout/test_i.cpp: * tests/MProfile_Connection_Timeout/test_i.h: Improved error checking so that any problems will be signalled as errors in our daily builds. Fri Nov 1 00:44:22 2002 Yamuna Krishnamurthy * orbsvcs/orbsvcs/Notify/Event_Map_T.h: Fixed compile errors in debian build. Thu Oct 31 22:33:04 2002 Balachandran Natarajan * TAOACE.dsw: Added ProtableServer library as a dependency for Messaging library. * tests/MProfile_Connection_Timeout/client.bor: * tests/MProfile_Connection_Timeout/server.bor: * tests/MProfile_Connection_Timeout/Makefile.bor: Added the borland Makefiles. * tests/MProfile_Connection_Timeout/client.dsp: * tests/MProfile_Connection_Timeout/server.dsp: * tests/MProfile_Connection_Timeout/MProfile_Connection_Timeout.dsw: Workspace and project files for Win32 builds * tests/MProfile_Connection_Timeout/MProfile_Connection_Timeout.mpc: MakefileProject creator. Thu Oct 31 17:56:55 2002 Balachandran Natarajan * tests/MProfile_Connection_Timeout/client.cpp (run_test): Cosmetic fixes. * tests/MProfile_Connection_Timeout/Makefile: Added the Makefile for the test. Thu Oct 31 17:33:55 2002 Yamuna Krishnamurthy * orbsvcs/orbsvcs/Notify/Dispatch_Observer_T.inl: * orbsvcs/orbsvcs/Notify/Event_Map_Entry_T.inl: * orbsvcs/orbsvcs/Notify/Event_Map_T.h: * orbsvcs/orbsvcs/Notify/Event_Map_T.inl: * orbsvcs/orbsvcs/Notify/Container_T.inl: Added ACE_TYPENAME for type names qualified by template parameters. Thu Oct 31 17:09:50 2002 Balachandran Natarajan * tests/MProfile_Connection_Timeout: * tests/MProfile_Connection_Timeout/client.cpp: * tests/MProfile_Connection_Timeout/server.cpp: * tests/MProfile_Connection_Timeout/test.idl: * tests/MProfile_Connection_Timeout/test_i.cpp: * tests/MProfile_Connection_Timeout/test_i.h: New test for BUG ID 1284. This is just a preliminary checkin. Other parts of the test are coming in shortly. Thu Oct 31 16:46:11 2002 Jeff Parsons * orbsvcs/orbsvcs/CosNotification.dsp: Added link path to ETCL library. * orbsvcs/orbsvcs/DsEventLogAdmin.dsp: * orbsvcs/orbsvcs/DsNotifyLogAdmin.dsp: Added setting for release version, and fixed export settings for debug and release versions. * orbsvcs/orbsvcs/Notify/Notify_Service.cpp: Cosmetic changes. * orbsvcs/orbsvcs/Notify/Service.h: Added missing 'virtual' to a pure virtual function declaration. Thu Oct 31 15:42:04 2002 Balachandran Natarajan * orbsvcs/orbsvcs/PortableGroup/UIPMC_Connector.cpp: * orbsvcs/orbsvcs/PortableGroup/UIPMC_Connector.h: * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connector.cpp: * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connector.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.h: Replicated the changes from "Thu Oct 31 14:48:39 2002 Balachandran Natarajan " for the remaining protocols. Thu Oct 31 15:40:31 2002 Balachandran Natarajan * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp (handle_timeout): Fixed a stupid typo :( Thu Oct 31 14:48:39 2002 Balachandran Natarajan This is a fix for BUGID 1284. Please see http://deuce.doc.wustl.edu/bugzilla/show_bug.cgi?id=1284 for more details. This fix does the following - The invocation class selects a timeout from the two options that it has access to, viz. a user defined timeouts for connection establishment or the roundtrip timeout defined by the user. - If the user defined connection timeout policy is used and if the call to TAO_Transport::connect () returns an errno of ETIME, the invocation class tries the next endpoint in the profile. - If the roundtrip timeout is used, we raise a CORBA::TIMEOUT exception. The connection timeout policy if set, overrides the roundtrip timeout policy value. To get the semantics right, the following changes were performed: * tao/Transport_Connector.cpp: * tao/Transport_Connector.h: Added another connect () method with a timeout value. Made the connect () methods non-pure-virtual, such that we could share some code and maintain backward compatibility. Further, the pure-virtual method make_connection () passes a timeout value. This shouldnt break backward compatibility either. * tao/IIOP_Connector.cpp: * tao/IIOP_Connector.h: Added a timeout argument to the make_connection () method. This method gets called from TAO_Connector::connect () method which has a timeout. The implementation of the make_connection () method is now changed to just use the timeout value that is passed instead of selecting a timeout value. * tao/Invocation.cpp: Selects a timeout from the two possible alternatives and passes one of the values to the connect () call. Based on the timeout value used and the return value handles errors as explained above. * tao/Strategies/DIOP_Connector.cpp: * tao/Strategies/DIOP_Connector.h: * tao/Strategies/SHMIOP_Connector.cpp: * tao/Strategies/SHMIOP_Connector.h: * tao/Strategies/UIOP_Connector.cpp: * tao/Strategies/UIOP_Connector.h: Changes to the protocols within TAO. Changes to other protocols will follow. Thu Oct 31 13:59:50 2002 Balachandran Natarajan * tao/GIOP_Message_Base.cpp: Fixed a typo in the comments. Thu Oct 31 13:08:23 2002 Balachandran Natarajan * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp (handle_timeout): Fixed compile errors in single threaded builds. Thu Oct 31 12:07:51 2002 Yamuna Krishnamurthy * orbsvcs/orbsvcs/Notify/Notify_Service.cpp: * orbsvcs/orbsvcs/Notify/Sequence/EventBatch.cpp: Fixed debian build compile warnings. Thu Oct 31 11:58:24 2002 Balachandran Natarajan * orbsvcs/tests/EC_MT_Mcast/MCast.cpp: Fixed compile error in builds where exceptions have been turned off. Thu Oct 31 10:51:12 2002 Balachandran Natarajan * docs/Smart_Proxies.html: Fixed a few typos. Thu Oct 31 10:52:50 2002 Jeff Parsons * orbsvcs/orbsvcs/IFRService/Container_i.cpp: * orbsvcs/orbsvcs/IFRService/InterfaceDef_i.cpp: Added checks for successful opening of an ACE_Configuration section so that subsequent iteration of values or subsections (which will fail) can be skipped. Thanks to Nick Cross for reporting the bug. Thu Oct 31 10:50:16 2002 Jeff Parsons * tao/ValueBase.h: * tao/ValueBase.i: Restored const version of ValueBase_var operator that casts to ValueBase*. Thu Oct 31 00:46:22 2002 Yamuna Krishnamurthy * orbsvcs/tests/Notify/Makefile: Removed the old Throughput test. Wed Oct 30 19:06:59 2002 Yamuna Krishnamurthy * orbsvcs/orbsvcs/Notify/Event_Manager.cpp: * orbsvcs/orbsvcs/Notify/Event.cpp: * orbsvcs/orbsvcs/Notify/Types.cpp: * orbsvcs/orbsvcs/Notify/Factory.cpp: Added template instantiations to fix link errors. Wed Oct 30 19:38:20 UTC 2002 Craig Rodrigues * orbsvcs/orbsvcs/AV/UDP.cpp (TAO_AV_UDP_Object::handle_input): Improve debugging message. Wed Oct 30 12:49:32 2002 Irfan Pyarali * tao/PortableServer/PortableServer_ORBInitializer.cpp (register_poa_current): Moved registration of POA Current from post_init() to pre_init(). Thanks to Ossama for pointing this out. Wed Oct 30 09:01:12 2002 Ossama Othman * tao/PortableServer/PortableServer_ORBInitializer.cpp (register_poa_current): Removed obsolete/incorrect comment regarding the lack of reference counting in the TAO_ORBInitInfo object. TAO_ORBInitInfo is now properly reference counted. Wed Oct 30 11:38:36 2002 Irfan Pyarali * Following are fixes for bug 1344. Thanks to Ossama for pointing this out. * tao/PortableServer/Object_Adapter.cpp (create): Moved the registration of the POA Current to the PortableServer_ORBInitializer. If POA Current is resolved before RootPOA, this code executes does not execute in time. * tao/PortableServer/PortableServer_ORBInitializer.cpp (register_poa_current): POA Current is now registered in TAO_PortableServer_ORBInitializer::post_init(). * tao/ORB_Core.i (poa_current): Simply return . It should have been correctly initialized. * tests/POA/Current: Added new test to ensure that accessing the POA current before the RootPOA does not cause any problems. The following files were added: - tests/POA/Current/Current.cpp - tests/POA/Current/Current.dsp - tests/POA/Current/Current.dsw - tests/POA/Current/Current.mpc - tests/POA/Current/Makefile - tests/POA/Current/makefile.bor - tests/POA/Current/run_test.pl The following files were modified: - $ACE_ROOT/bin/auto_run_tests.lst - tests/TAO_Tests.dsw - tests/POA/Makefile - tests/POA/Makefile.bor - tests/POA/README Wed Oct 30 13:15:01 CET 2002 Oliver Kellogg * orbsvcs/tests/EC_MT_Mcast/MCast.cpp (run_orb_within_thread): Added missing ACE_DECLARE_NEW_CORBA_ENV. Tue Oct 29 17:50:59 2002 Ossama Othman * tao/TAO_Singleton_Manager.cpp (fini, _set_unexpected): Call set_unexpected() in the global namespace when using MSVC++. MSVC++ doesn't place set_unexpected() in the "std" namespace. Thanks to Irfan for pointing the build problem. Tue Oct 29 19:20:29 2002 Yamuna Krishnamurthy * orbsvcs/orbsvcs/Notify/Service.h: Make the init (int,char**) method abstract. Tue Oct 29 11:37:37 2002 Yamuna Krishnamurthy * orbsvcs/orbsvcs/Makefile.CosNotification: Generated dependencies. Added the cleanup of the tao_idl generated files for Notify/Event_Forwarder.idl. Tue Oct 29 09:34:59 CET 2002 Oliver Kellogg * orbsvcs/tests/EC_MT_Mcast/MCast.cpp: Use ACE_OS::sleep() instead of sleep(). Thanks to Johnny. Tue Oct 29 00:33:27 2002 Ossama Othman * orbsvcs/orbsvcs/Makefile.CosNotification (realclean): Fixed typo where the command to be executed for this target was placed in the target's dependency list. Addresses several build errors. Tue Oct 29 07:38:44 UTC 2002 Johnny Willemsen * orbsvcs/tests/EC_MT_Mcast/Makefile.bor: Added new BCB makefile for this test. Mon Oct 28 22:11:12 2002 Ossama Othman * tao/TAO_Singleton_Manager.cpp: Do not pull the std::unexpected() function into the global namespace through a "using" clause to avoid a conflict with some STL implementations (e.g. STLPort) that already do that. (init, _set_unexpected): If the compiler's C++ library defines the "std" namespace, explicitly call std::set_unexpected. This fix was motivated by Kobi Cohen Arazi . Mon Oct 28 19:18:25 2002 Yamuna Krishnamurthy * orbsvcs/orbsvcs/Makefile.CosNotification: * orbsvcs/orbsvcs/Notify/Service.h: * orbsvcs/orbsvcs/Notify/Pending_Worker_T.h: * orbsvcs/orbsvcs/Notify/Pending_Worker_T.cpp: * orbsvcs/orbsvcs/Notify/ThreadPool_Task.h: * orbsvcs/orbsvcs/Notify/ThreadPool_Task.cpp: Added init methods with base class signatures to avoid compile warnings * orbsvcs/orbsvcs/Notify/EventChannelFactory.h: * orbsvcs/orbsvcs/Notify/Admin.h: * orbsvcs/orbsvcs/Notify/ConsumerAdmin.cpp: Made the TAO_NS_Object_Id_Seq definition public so it can be accessed from other classes. * orbsvcs/orbsvcs/Notify/Sequence/SequencePushConsumer.cpp: Put the pacing_interval_.value () into an ACE_Time_Value before checking with ACE_Time_Value::zero. * orbsvcs/orbsvcs/Notify/Factory.cpp: Removed duplicate template instantitaion of TAO_NS_EventType. Mon Oct 28 17:19:58 2002 Irfan Pyarali * tests/POA/MT_Servant_Locator/MT_Servant_Locator.cpp: Fixed ACE_ENV warnings. Mon Oct 28 16:55:11 2002 Irfan Pyarali * tests/POA/MT_Servant_Locator/Makefile: Fixed and updated dependencies. Mon Oct 28 16:48:23 2002 Irfan Pyarali * tests/POA/MT_Servant_Locator/MT_Servant_Locator.cpp: was being used in both preinvoke() and postinvoke(). This led to a deadlock if the second signal() was missed since the event was already signaled. Solution was to give both preinvoke() and postinvoke() their own event variables. Mon Oct 28 14:20:32 2002 Irfan Pyarali * tao/PortableServer/POA.cpp (locate_servant_i): We no longer need to use the non-servant upcall idiom for calling ServantLocator::preinvoke() since we are now let of the lock altogether before calling the servant locator. ServantLocator::postinvoke() is also handled in a similar manner. Note that it is possible for some other thread to reset the servant locator once the lock is released. However, this possiblility also exists for postinvoke() which is also called outside the lock. Thanks to Ashok Sadasivan for pointing this out. * tao/PortableServer/Object_Adapter.cpp (prepare_for_upcall): Check the state before releasing the lock since it may already have been released for Servant Locators. * tao/PortableServer/Object_Adapter: Moved State enumeration from protected to public section. Also added accessor and set method of the state. * tests/POA/MT_Servant_Locator: Added new test to ensure that the POA allows multiple simultaneous calls to Servant Locators. The following files were added: - tests/POA/MT_Servant_Locator/MT_Servant_Locator.cpp - tests/POA/MT_Servant_Locator/MT_Servant_Locator.dsp - tests/POA/MT_Servant_Locator/MT_Servant_Locator.dsw - tests/POA/MT_Servant_Locator/MT_Servant_Locator.mpc - tests/POA/MT_Servant_Locator/Makefile - tests/POA/MT_Servant_Locator/makefile.bor - tests/POA/MT_Servant_Locator/run_test.pl - tests/POA/MT_Servant_Locator/test.idl The following files were modified: - $ACE_ROOT/bin/auto_run_tests.lst - tests/TAO_Tests.dsw - tests/POA/Makefile - tests/POA/Makefile.bor - tests/POA/README Mon Oct 28 14:20:32 2002 Irfan Pyarali * Following are fixes for bug 1317. Thanks to Ossama for pointing this out. * tao/TAO_Internal.cpp (open_services_i): If available, allow the Adapter Factory to setup by calling init(). This is similar to what we do for RT-CORBA. * tao/ORB_Core.cpp (poa_factory_name): Added accessor. * tao/RTPortableServer/RT_Object_Adapter_Factory.h: Changed inheritance from TAO_Adapter_Factory to TAO_Object_Adapter_Factory to get the base class' init() functionality. Mon Oct 28 18:38:35 CET 2002 Oliver Kellogg * orbsvcs/tests/Makefile: * orbsvcs/tests/Makefile.am: * orbsvcs/tests/Makefile.bor: * orbsvcs/tests/EC_MT_Mcast/AddrServer.cpp: * orbsvcs/tests/EC_MT_Mcast/AddrServer.h: * orbsvcs/tests/EC_MT_Mcast/Consumer.cpp: * orbsvcs/tests/EC_MT_Mcast/Consumer.h: * orbsvcs/tests/EC_MT_Mcast/MCast.cpp: * orbsvcs/tests/EC_MT_Mcast/MCast.dsp: * orbsvcs/tests/EC_MT_Mcast/MCast.dsw: * orbsvcs/tests/EC_MT_Mcast/Makefile: * orbsvcs/tests/EC_MT_Mcast/README: * orbsvcs/tests/EC_MT_Mcast/Supplier.cpp: * orbsvcs/tests/EC_MT_Mcast/Supplier.h: * orbsvcs/tests/EC_MT_Mcast/svc.conf: * orbsvcs/tests/EC_MT_Mcast/run_test.pl: Added a regression test for the multithreading problem in class TAO_ECG_UDP_Receiver. Mon Oct 28 18:21:18 CET 2002 Oliver Kellogg * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.{h,cpp}: TAO_ECG_UDP_Receiver member request_map_ may be accessed concurrently. Added a mutex, request_map_protector_. Thanks to Andreas Koehler for tracking down the bug and providing the fix. Sun Oct 27 09:04:33 UTC 2002 Johnny Willemsen * orbsvcs/orbsvcs/Notify/Event_Forwarder.idl: Fixed fuzz build errors. Sun Oct 27 09:04:33 UTC 2002 Johnny Willemsen * orbsvcs/orbsvcs/Notify/Any/CosEC_ProxyPushSupplier.h: * orbsvcs/orbsvcs/Notify/Property.h: * orbsvcs/orbsvcs/Notify/POA_Helper.h: * orbsvcs/orbsvcs/Notify/Constraint_Visitors.h: * orbsvcs/orbsvcs/Notify/Constraint_Interpreter.h: Fixed fuzz build errors. Sun Oct 27 01:04:09 2002 Pradeep Gore Updated framework for TAO's Notification Service: - Fixes bugs related to Notification Object Lifecycle, Thanks to David R Robison , Thomas Natterer , Wilbur Lang and Jian Chen for reporting various bugs resulting due to this. - Fixes bugs related to incorrect ID assignments, Thanks to Rick Marlborough , David-A O-Brien and Shelton Tang for reporting various bugs resulting due to this. - Fixes implementation of SequenceProxys and Event Batch. Thanks to Frederic Langlet for reporting this problem. - Contains base framework for adding RT-CORBA extensions. Added Files: * orbsvcs/orbsvcs/NotifyExt.idl: Defines extensions to The Notification Service to support threadpools. The threadpool parameters are passed to the set_qos method as QoS name-value pair. For the Cos Notify, a threadpool is created as an ACE_Task object. * orbsvcs/orbsvcs/Notify_Forwarder.idl: An internal interface to context switch the event propagation from the proxyconsumer to proxysupplier. This is achieved by the caller thread invoking the method of this interface. Colocation ensures that this call is invoked in the context of the thread associated with the target object. The Event_Forwarder extends the CosNotifyChannelAdmin::StructuredProxyPushSupplier interface. * orbsvcs/orbsvcs/Notify/Admin.cpp : * orbsvcs/orbsvcs/Notify/Admin.h : * orbsvcs/orbsvcs/Notify/Admin.inl: Base class implementation for the Notify Admin Interfaces. * orbsvcs/orbsvcs/Notify/AdminProperties.cpp: * orbsvcs/orbsvcs/Notify/AdminProperties.h : * orbsvcs/orbsvcs/Notify/AdminProperties.inl: Maintains the AdminProperties that can be applied per eventchannel. * orbsvcs/orbsvcs/Notify/Buffering_Strategy.cpp: * orbsvcs/orbsvcs/Notify/Buffering_Strategy.h: * orbsvcs/orbsvcs/Notify/Buffering_Strategy.inl : Buffering Strategy for queue and discrading policies. * orbsvcs/orbsvcs/Notify/Builder.cpp: * orbsvcs/orbsvcs/Notify/Builder.h: * orbsvcs/orbsvcs/Notify/Builder.inl : Builder for the EventChannelFactory, EventChannel, Admin and proxy objects. * orbsvcs/orbsvcs/Notify/Constraint_Interpreter.cpp : * orbsvcs/orbsvcs/Notify/Constraint_Interpreter.h: * orbsvcs/orbsvcs/Notify/Constraint_Visitors.cpp : * orbsvcs/orbsvcs/Notify/Constraint_Visitors.h: Implementation of interfaces to the ETCL Filtering code. * orbsvcs/orbsvcs/Notify/Consumer.cpp : * orbsvcs/orbsvcs/Notify/Consumer.h: * orbsvcs/orbsvcs/Notify/Consumer.inl: Wrapper for the Consumer that connects to a proxy object. * orbsvcs/orbsvcs/Notify/ConsumerAdmin.cpp : * orbsvcs/orbsvcs/Notify/ConsumerAdmin.h: * orbsvcs/orbsvcs/Notify/ConsumerAdmin.inl : Consumer Admin Implementation. * orbsvcs/orbsvcs/Notify/Container.cpp: * orbsvcs/orbsvcs/Notify/Container.h: * orbsvcs/orbsvcs/Notify/Container.inl : * orbsvcs/orbsvcs/Notify/Container_T.cpp: * orbsvcs/orbsvcs/Notify/Container_T.h : * orbsvcs/orbsvcs/Notify/Container_T.inl: Base class for the Factory-Container objects in Notify viz. Factory, Channel and Admin objects. This class manages the lifetimes of the POA's for activating the EC objects as well as the POA for activating the Proxys. * orbsvcs/orbsvcs/Notify/Destroy_Callback.h : Callback for each Notify Object that supports the method which is invoked when the objects reference count falls to 0. * orbsvcs/orbsvcs/Notify/ETCL_Filter.cpp : * orbsvcs/orbsvcs/Notify/ETCL_Filter.h: * orbsvcs/orbsvcs/Notify/ETCL_Filter.inl : Implements to CosNotifyFilter interface. * orbsvcs/orbsvcs/Notify/ETCL_FilterFactory.cpp: * orbsvcs/orbsvcs/Notify/ETCL_FilterFactory.h : * orbsvcs/orbsvcs/Notify/ETCL_FilterFactory.inl: Implements to CosNotifyFilterFactory interface. * orbsvcs/orbsvcs/Notify/Event.cpp: * orbsvcs/orbsvcs/Notify/Event.h : * orbsvcs/orbsvcs/Notify/Event.inl: Abstract base class for all types of Notify Events. * orbsvcs/orbsvcs/Notify/EventChannel.cpp: * orbsvcs/orbsvcs/Notify/EventChannel.h : * orbsvcs/orbsvcs/Notify/EventChannel.inl: EventChannel interface implementation. * orbsvcs/orbsvcs/Notify/EventChannelFactory.cpp : * orbsvcs/orbsvcs/Notify/EventChannelFactory.h: * orbsvcs/orbsvcs/Notify/EventChannelFactory.inl : EventChannel Factory Interface implementation. * orbsvcs/orbsvcs/Notify/EventType.cpp: * orbsvcs/orbsvcs/Notify/EventType.h: * orbsvcs/orbsvcs/Notify/EventType.inl: Abstraction for the Notify EventType. * orbsvcs/orbsvcs/Notify/EventTypeSeq.cpp: * orbsvcs/orbsvcs/Notify/EventTypeSeq.h : * orbsvcs/orbsvcs/Notify/EventTypeSeq.inl: Helper class to manage a sequence of EventTypes. * orbsvcs/orbsvcs/Notify/Event_Manager.cpp : * orbsvcs/orbsvcs/Notify/Event_Manager.h: * orbsvcs/orbsvcs/Notify/Event_Manager.inl: An event manager that contains the supplier and consumer event maps.Consumers and Supppliers connect to the EventManager and inform it of any subscription/offer changes. * orbsvcs/orbsvcs/Notify/Event_Map_Entry_T.cpp: * orbsvcs/orbsvcs/Notify/Event_Map_Entry_T.h : * orbsvcs/orbsvcs/Notify/Event_Map_Entry_T.inl: An event map entry is maintained per eventtype. The entry contains a collection of proxys that are assigned to the same eventtype. * orbsvcs/orbsvcs/Notify/Event_Map_T.cpp : * orbsvcs/orbsvcs/Notify/Event_Map_T.h: * orbsvcs/orbsvcs/Notify/Event_Map_T.inl: Template definition of the lookup data structure that maps EventTypes to recipient lists. * orbsvcs/orbsvcs/Notify/Factory.cpp : * orbsvcs/orbsvcs/Notify/Factory.h: * orbsvcs/orbsvcs/Notify/Factory.inl: An default factory that creates Notify objects. * orbsvcs/orbsvcs/Notify/FilterAdmin.cpp : * orbsvcs/orbsvcs/Notify/FilterAdmin.h: Implementation of the filter admin interface. * orbsvcs/orbsvcs/Notify/FilterFactory.h : Interface for FilterFactories. This allows us to plug different filterfactories if required. * orbsvcs/orbsvcs/Notify/ID_Factory.cpp: * orbsvcs/orbsvcs/Notify/ID_Factory.h : * orbsvcs/orbsvcs/Notify/ID_Factory.inl: A Factory class for generating the ID's associated with the Notify Objects.Note that each TAO_NS_POA used one of these. Note that the previous implementation of Notification created unique id's for *each* category of Objects. so e.g. ConsumerAdmins went from 0,1,2... and ProxySuppliers went from 0,1,2... Now ConsumerAdmins and ProxySuppliers would share Id's 0,1,2... 3,4,5. The spec. requires Ids to be unique, It does not require each category to be unique. moreover CORBA::ULongs are wide enough so that we don't get into any recycling of Ids. This simplification fixes many nagging bugs in Notification. * orbsvcs/orbsvcs/Notify/Method_Request.cpp : * orbsvcs/orbsvcs/Notify/Method_Request.h: * orbsvcs/orbsvcs/Notify/Method_Request.inl : Base class for command objects in the activation queue. * orbsvcs/orbsvcs/Notify/Method_Request_Dispatch.cpp : * orbsvcs/orbsvcs/Notify/Method_Request_Dispatch.h : * orbsvcs/orbsvcs/Notify/Method_Request_Dispatch.inl : Method request for Event dispatching. Contains the event to be dispatched and also evaluates the proxy supplier and consumer admin filters. * orbsvcs/orbsvcs/Notify/Method_Request_Dispatch_No_Filtering.cpp : * orbsvcs/orbsvcs/Notify/Method_Request_Dispatch_No_Filtering.h : * orbsvcs/orbsvcs/Notify/Method_Request_Dispatch_No_Filtering.inl : Dispatch method request to push the event to the target consumer without any filtering. This is used when sending queued events (e.g. via suspend) that don't have to pass a filter because they have already been through it. * orbsvcs/orbsvcs/Notify/Method_Request_Lookup.cpp: * orbsvcs/orbsvcs/Notify/Method_Request_Lookup.h : * orbsvcs/orbsvcs/Notify/Method_Request_Lookup.inl : Command object to lookup the consumer list in the Event_Map. Also evaluates the ProxyConsumer and ConsumerAdmin filters. * orbsvcs/orbsvcs/Notify/Method_Request_Shutdown.cpp : * orbsvcs/orbsvcs/Notify/Method_Request_Shutdown.h : * orbsvcs/orbsvcs/Notify/Method_Request_Shutdown.inl: Command Object to signal shutdown of the activation queue. * orbsvcs/orbsvcs/Notify/Notify_Service.cpp : * orbsvcs/orbsvcs/Notify/Notify_Service.h: * orbsvcs/orbsvcs/Notify/Notify_Service.inl : Service Object that allows clients to create and manage Cos Notify Factory. * orbsvcs/orbsvcs/Notify/Object.cpp: * orbsvcs/orbsvcs/Notify/Object.h: * orbsvcs/orbsvcs/Notify/Object.inl : * orbsvcs/orbsvcs/Notify/Object_T.cpp: * orbsvcs/orbsvcs/Notify/Object_T.h: * orbsvcs/orbsvcs/Notify/Object_T.inl : Defines the base Notifiy Object that is used to implement the basic behavior of Notify Classes. * orbsvcs/orbsvcs/Notify/POA_Helper.cpp: * orbsvcs/orbsvcs/Notify/POA_Helper.h : * orbsvcs/orbsvcs/Notify/POA_Helper.inl: A helper class that manages the lifetime of POA objects. * orbsvcs/orbsvcs/Notify/Peer.cpp: * orbsvcs/orbsvcs/Notify/Peer.h : * orbsvcs/orbsvcs/Notify/Peer.inl: Base class for Consuemrs and Suppliers that connect to the proxys. * orbsvcs/orbsvcs/Notify/Properties.cpp: * orbsvcs/orbsvcs/Notify/Properties.h : * orbsvcs/orbsvcs/Notify/Properties.inl: Holds the properties accessible globally. * orbsvcs/orbsvcs/Notify/Property.h: Forward declaration of the QoS/Admin properties supported by Notify. * orbsvcs/orbsvcs/Notify/PropertySeq.cpp: * orbsvcs/orbsvcs/Notify/PropertySeq.h: * orbsvcs/orbsvcs/Notify/PropertySeq.inl: A helper class to manage Property Sequences. * orbsvcs/orbsvcs/Notify/Property_Boolean.cpp: * orbsvcs/orbsvcs/Notify/Property_Boolean.h : * orbsvcs/orbsvcs/Notify/Property_Boolean.inl: Implementation of a oolean property type. * orbsvcs/orbsvcs/Notify/Property_T.cpp : * orbsvcs/orbsvcs/Notify/Property_T.h: * orbsvcs/orbsvcs/Notify/Property_T.inl: Template type for encapsulating Notify Property types. * orbsvcs/orbsvcs/Notify/Proxy.cpp : * orbsvcs/orbsvcs/Notify/Proxy.h: * orbsvcs/orbsvcs/Notify/Proxy.inl: Base Proxy type. * orbsvcs/orbsvcs/Notify/ProxyConsumer.cpp: * orbsvcs/orbsvcs/Notify/ProxyConsumer.h: * orbsvcs/orbsvcs/Notify/ProxyConsumer.inl: Base class for all ProxyConsumers. * orbsvcs/orbsvcs/Notify/ProxyConsumer_T.cpp: * orbsvcs/orbsvcs/Notify/ProxyConsumer_T.h : * orbsvcs/orbsvcs/Notify/ProxyConsumer_T.inl: Template class that implements ProxyConsumer interface methods. * orbsvcs/orbsvcs/Notify/ProxySupplier.cpp: * orbsvcs/orbsvcs/Notify/ProxySupplier.h: * orbsvcs/orbsvcs/Notify/ProxySupplier.inl: Base class for all ProxySuppliers. * orbsvcs/orbsvcs/Notify/ProxySupplier_T.cpp: * orbsvcs/orbsvcs/Notify/ProxySupplier_T.h : * orbsvcs/orbsvcs/Notify/ProxySupplier_T.inl: Template class that implements ProxySupplier interface methods. * orbsvcs/orbsvcs/Notify/Proxy_T.cpp * orbsvcs/orbsvcs/Notify/Proxy_T.h : * orbsvcs/orbsvcs/Notify/Proxy_T.inl: Template class that implements Proxy interface methods. * orbsvcs/orbsvcs/Notify/QoSProperties.cpp: * orbsvcs/orbsvcs/Notify/QoSProperties.h: * orbsvcs/orbsvcs/Notify/QoSProperties.inl: Container of the common QoS properties supported by the Notification. * orbsvcs/orbsvcs/Notify/Reactive_Task.cpp: * orbsvcs/orbsvcs/Notify/Reactive_Task.h: * orbsvcs/orbsvcs/Notify/Reactive_Task.inl: A worker task that executes the command object in the context of the caller thread. * orbsvcs/orbsvcs/Notify/Refcountable.cpp: * orbsvcs/orbsvcs/Notify/Refcountable.h: * orbsvcs/orbsvcs/Notify/Refcountable.inl: A base class for Notify Objects that wish to be refcounted. If a destroy_callback is supplied, it is invoked when the ref. count falls to 0. * orbsvcs/orbsvcs/Notify/Service.h : Interface that defines a ACE_Service_Object for clients to create Notify Factories. Using this clients can obtain various types of the Notify Factory implementations. (CosNotify and Real-Time Notify). * orbsvcs/orbsvcs/Notify/Subscription_Change_Worker.cpp: * orbsvcs/orbsvcs/Notify/Subscription_Change_Worker.h: * orbsvcs/orbsvcs/Notify/Subscription_Change_Worker.inl: Helper class for propagating Admin level subscription changes to proxys. * orbsvcs/orbsvcs/Notify/Supplier.cpp: * orbsvcs/orbsvcs/Notify/Supplier.h: * orbsvcs/orbsvcs/Notify/Supplier.inl: A base wrapper class for encapsulation the remote supplier that has connect to a proxy. * orbsvcs/orbsvcs/Notify/SupplierAdmin.cpp: * orbsvcs/orbsvcs/Notify/SupplierAdmin.h: * orbsvcs/orbsvcs/Notify/SupplierAdmin.inl: Supplier Admin implementation. * orbsvcs/orbsvcs/Notify/ThreadPool_Task.cpp: * orbsvcs/orbsvcs/Notify/ThreadPool_Task.h: * orbsvcs/orbsvcs/Notify/ThreadPool_Task.inl: A worker task that creates a thread pool and executes the enqueued Method_Request command objects in the worker thread context. * orbsvcs/orbsvcs/Notify/Types.cpp * orbsvcs/orbsvcs/Notify/Types.h: * orbsvcs/orbsvcs/Notify/Types.inl: Class that defines the commonly used Types in Notification. * orbsvcs/orbsvcs/Notify/Worker_Task.cpp: * orbsvcs/orbsvcs/Notify/Worker_Task.h: * orbsvcs/orbsvcs/Notify/Worker_Task.inl: Base abstract worker task that is used by Notification objects to execute a command object. * orbsvcs/orbsvcs/Notify/Any/AnyEvent.cpp: * orbsvcs/orbsvcs/Notify/Any/AnyEvent.h: * orbsvcs/orbsvcs/Notify/Any/AnyEvent.inl: Abstraction of the Any event received by a CosEvent Channel style proxy consumer. * orbsvcs/orbsvcs/Notify/Any/CosEC_ProxyPushConsumer.cpp: * orbsvcs/orbsvcs/Notify/Any/CosEC_ProxyPushConsumer.h: * orbsvcs/orbsvcs/Notify/Any/CosEC_ProxyPushConsumer.inl: Implementation of the CosEC ProxyPushConsumer * orbsvcs/orbsvcs/Notify/Any/CosEC_ProxyPushSupplier.cpp : * orbsvcs/orbsvcs/Notify/Any/CosEC_ProxyPushSupplier.h : * orbsvcs/orbsvcs/Notify/Any/CosEC_ProxyPushSupplier.inl : Implementation of the CosEC ProxyPushSupplier. * orbsvcs/orbsvcs/Notify/Any/ProxyPushConsumer.cpp: * orbsvcs/orbsvcs/Notify/Any/ProxyPushConsumer.h: * orbsvcs/orbsvcs/Notify/Any/ProxyPushConsumer.inl: Implementation of the Notification ProxyPushConsumer. * orbsvcs/orbsvcs/Notify/Any/ProxyPushSupplier.cpp: * orbsvcs/orbsvcs/Notify/Any/ProxyPushSupplier.h: * orbsvcs/orbsvcs/Notify/Any/ProxyPushSupplier.inl: Implementation of the Notification ProxyPushSupplier. * orbsvcs/orbsvcs/Notify/Any/PushConsumer.cpp : * orbsvcs/orbsvcs/Notify/Any/PushConsumer.h: * orbsvcs/orbsvcs/Notify/Any/PushConsumer.inl : Impkementation of the PushConsumer that connects to the Any style Proxy Supplier. * orbsvcs/orbsvcs/Notify/Any/PushSupplier.cpp: * orbsvcs/orbsvcs/Notify/Any/PushSupplier.h : * orbsvcs/orbsvcs/Notify/Any/PushSupplier.inl: Implementation of the PushSupplier that connects to the Any style Proxy Consumer. * orbsvcs/orbsvcs/Notify/Sequence/EventBatch.cpp: * orbsvcs/orbsvcs/Notify/Sequence/EventBatch.h: * orbsvcs/orbsvcs/Notify/Sequence/EventBatch.inl: Helper class that manages the Sequence proxy's EventBatch. * orbsvcs/orbsvcs/Notify/Sequence/Method_Request_Dispatch_EventBatch.cpp: * orbsvcs/orbsvcs/Notify/Sequence/Method_Request_Dispatch_EventBatch.h: * orbsvcs/orbsvcs/Notify/Sequence/Method_Request_Dispatch_EventBatch.inl: A command object that stores an event batch destined for dispatch to a sequence consumer. * orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushConsumer.cpp: * orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushConsumer.h: * orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushConsumer.inl: Implementation of the Notify SequenceProxyPushConsumer interface. * orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushSupplier.cpp: * orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushSupplier.h: * orbsvcs/orbsvcs/Notify/Sequence/SequenceProxyPushSupplier.inl: Implementation of the Notify SequenceProxyPushSupplier interface. * orbsvcs/orbsvcs/Notify/Sequence/SequencePushConsumer.cpp: * orbsvcs/orbsvcs/Notify/Sequence/SequencePushConsumer.h: * orbsvcs/orbsvcs/Notify/Sequence/SequencePushConsumer.inl: Wrapper to manage the SequenceConsumer that connects to the Sequence Proxy. * orbsvcs/orbsvcs/Notify/Sequence/SequencePushSupplier.cpp: * orbsvcs/orbsvcs/Notify/Sequence/SequencePushSupplier.h: * orbsvcs/orbsvcs/Notify/Sequence/SequencePushSupplier.inl: Wrapper to manage the SequenceSupplier that connects to the Sequence Proxy. * orbsvcs/orbsvcs/Notify/Structured/StructuredEvent.cpp: * orbsvcs/orbsvcs/Notify/Structured/StructuredEvent.h: * orbsvcs/orbsvcs/Notify/Structured/StructuredEvent.inl: Notify's StructuredEvent's internal representation in the Notification. * orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushConsumer.cpp: * orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushConsumer.h: * orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushConsumer.inl: Implementation of the Notification StructuredProxyPushConsumer. * orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushSupplier.cpp: * orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushSupplier.h: * orbsvcs/orbsvcs/Notify/Structured/StructuredProxyPushSupplier.inl: Implementation of the Notification StructuredProxyPushSupplier. * orbsvcs/orbsvcs/Notify/Structured/StructuredPushConsumer.cpp: * orbsvcs/orbsvcs/Notify/Structured/StructuredPushConsumer.h: * orbsvcs/orbsvcs/Notify/Structured/StructuredPushConsumer.inl: Wrapper to manage the StructuredConsumer that connects to the Structured Supplier Proxy. * orbsvcs/orbsvcs/Notify/Structured/StructuredPushSupplier.cpp: * orbsvcs/orbsvcs/Notify/Structured/StructuredPushSupplier.h: * orbsvcs/orbsvcs/Notify/Structured/StructuredPushSupplier.inl: Wrapper to manage the StructuredSupplier that connects to the Structured Consumer Proxy. * orbsvcs/Notify_Service/Notify_Server.cpp: * orbsvcs/Notify_Service/Notify_Service.cpp: * orbsvcs/Notify_Service/Notify_Service.h: * orbsvcs/Notify_Service/svc.conf: Changes to obtain the Notification Factory via Service Object. * orbsvcs/orbsvcs/CosNotification.dsp: * orbsvcs/orbsvcs/Makefile.CosNotification: New source and idl files added. Sat Oct 26 14:44:33 UTC 2002 Johnny Willemsen * tests/ORT/server.bor: Fixed this BCB makefile. Sat Oct 26 14:03:59 UTC 2002 Johnny Willemsen * orbsvcs/orbsvcs/AV/pluggable_av_log: Removed this file from the repo. Sat Oct 26 13:59:33 UTC 2002 Johnny Willemsen * orbsvcs/orbsvcs/AV/media_timer.cpp: Fixed incorrect include because of file rename. Sat Oct 26 12:28:12 UTC 2002 Johnny Willemsen * orbsvcs/orbsvcs/AV/media-timer.{h,cpp}: * orbsvcs/orbsvcs/AV/media_timer.{h,cpp}: Renamed media-timer to media_timer because the BCB5 Static linker has problems with the - in the filename. * orbsvcs/orbsvcs/AV/RTCP.cpp: * orbsvcs/orbsvcs/AV.bor: * orbsvcs/orbsvcs/AV.dsp: * orbsvcs/orbsvcs/AV_Static.dsp: * orbsvcs/orbsvcs/Makefile.av: Updated these files because of the file rename * tests/ORT/ServerRequestInterceptor.h: Fixed fuzz error Fri Oct 25 21:48:30 2002 Ossama Othman * tao/PortableServer/POA.cpp (adapter_name_i): Fixed problem where the RootPOA's adapter name was not included in the returned adapter name sequence. CORBA 3.0 requires it to be included. Fixed incorrect nil POA reference check. Use "CORBA::is_nil(poa)" instead of "poa == PortableServer::POA::_nil()". Slightly optimized and cleaned up this method. * tests/ORT/ObjectReferenceFactory.idl: * tests/ORT/ObjectReferenceFactory.h: * tests/ORT/ObjectReferenceFactory.cpp: New PortableInterceptor::ObjectReferenceFactory implementation designed to excerise the PortableInterceptor::IORInfo::current_factory() attributed, the POA's ObjectReferenceFactory support. * tests/ORT/ServerORBInitializer.h: * tests/ORT/ServerORBInitializer.cpp: New server side ORBInitializer that registers the new server request interceptor and the existing IOR interceptor. * tests/ORT/ServerRequestInterceptor.h: * tests/ORT/ServerRequestInterceptor.cpp: New server request interceptor thats tests some of the ORT-specific methods in the ServerRequestInfo object passed to the server request interception points. * tests/ORT/ORT_test_IORInterceptor.cpp (components_established): Swap out the current ObjectReferenceFactory with the customized ObjectReferenceFactory implemented by this test. The goal is test the PortableInterceptor::IORInfo::current_factory attribute internals, in addition to the POA's PortableInterceptor::ObjectReferenceFactory support. * tests/ORT/server.cpp (main): Use a child POA when activating the servant and obtaining an object reference for it. This forces a POA hierarchy to be reflected in the AdapterName sequence returned from PortableInterceptor::ServerRequestInfo::adapter_name() instead of a single (root) POA. Removed TAO-specific calls on the TAO_ORB_Core. The equivalent portable calls in the PortableInterceptor::ServerRequestInfo object will be invoked via the new ServerRequestInterceptor instead. * tests/ORT/ORT_test_IORInterceptor_ORBInitializer.h: * tests/ORT/ORT_test_IORInterceptor_ORBInitializer.cpp: Removed this ORBInitializer in favor of the new one described above. * tests/ORT/ORT_test_IORInterceptor.h: * tests/ORT/ORT_test.idl: * tests/ORT/ORT_test_i.h: * tests/ORT/ORT_test_i.cpp: Cosmetic updates. * tests/ORT/Makefile: * tests/ORT/server.bor: * tests/ORT/server.dsp: Added new files and removed deprecated ones. Fri Oct 25 09:56:51 2002 Jeff Parsons * tao/ValueBase.h: * tao/ValueBase.i: * TAO_IDL/be/be_valuetype.cpp: Restored the const cast to pointer operator for valuetype _var classes. Fri Oct 25 09:49:31 2002 Jeff Parsons * examples/OBV/Typed_Events/Event_Types_impl.cpp: Added missing .in() in an assignment of _var class contents to a pointer, and 'this->' in several places where a member variable is referenced. Thu Oct 24 19:48:21 2002 Balachandran Natarajan * Re-did this after the great reversion "Wed Oct 23 16:32:36 2002 Balachandran Natarajan " Thu Oct 24 19:44:38 2002 Balachandran Natarajan * orbsvcs/orbsvcs/DsEventLogAdmin.dsp: * orbsvcs/orbsvcs/DsNotifyLogAdmin.dsp: Fixed Release configurations. Include paths, library paths, and library lists have been added. Thu Oct 24 19:32:08 2002 Balachandran Natarajan * Reverted the changes made in the following entries: Thu Oct 24 10:59:20 2002 Jeff Parsons Thu Oct 24 10:39:10 2002 Jeff Parsons Thu Oct 24 09:29:59 2002 Jeff Parsons Thu Oct 24 000:33:17 2002 Jeff Parsons Wed Oct 23 23:51:51 2002 Jeff Parsons Wed Oct 23 23:37:32 2002 Jeff Parsons Wed Oct 23 22:48:09 2002 Jeff Parsons Wed Oct 23 16:32:36 2002 Balachandran Natarajan Wed Oct 23 13:38:59 2002 Nanbor Wang Wed Oct 23 10:26:59 2002 Jeff Parsons . Basically the changes made were not right. Hence the need for reversion to yesterday mornings status. Thu Oct 24 10:59:20 2002 Jeff Parsons * examples/Load_Balancing/Identity_Server.cpp: * examples/Load_Balancing_persistent/Identity_Server.cpp: * examples/POA/DSI/client.cpp: More replacement of char* with typedef name. Thu Oct 24 10:39:10 2002 Jeff Parsons * orbsvcs/LifeCycle_Service/Factory_Trader.cpp: * orbsvcs/examples/Log/Basic/TLS_Client.cpp: * orbsvcs/examples/Log/Event/Event_Supplier.cpp: * orbsvcs/examples/Log/Notify/Notify_Supplier.cpp: * orbsvcs/examples/Log/RTEvent/RTEvent_Supplier.cpp: * orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.cpp: * orbsvcs/orbsvcs/AV/Flows_T.cpp: * orbsvcs/tests/AVStreams/Asynch_Three_Stage/Connection_Manager.cpp: * orbsvcs/tests/AVStreams/Component_Switching/Connection_Manager.cpp: * orbsvcs/tests/AVStreams/Simple_Three_Stage/sender.cpp: * orbsvcs/tests/LoadBalancing/GenericFactory/Application_Controlled/LB_server.cpp: * orbsvcs/tests/Log/Basic_Log_Test/Basic_Log_Test.cpp: * orbsvcs/tests/Property/client.cpp: * orbsvcs/tests/Property/server.cpp: More replacement of char* with typedef name. Thu Oct 24 09:29:59 2002 Jeff Parsons * orbsvcs/orbsvcs/AV/AVStreams_i.cpp: String literal conversions to typedef name that were overlooked in Wed Oct 23 23:37:32 2002 Jeff Parsons . Thu Oct 24 000:33:17 2002 Jeff Parsons * examples/POA/DSI/Database_i.cpp: * examples/POA/DSI/Database_i.h: * examples/RTCORBA/Activity/Activity.cpp: * orbsvcs/Logging_Service/Notify_Logging_Service/Notify_Logging_Service.cpp: * orbsvcs/Notify_Service/Notify_Service.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Vault.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Vault.h: * orbsvcs/tests/LoadBalancing/GenericFactory/Application_Controlled/LB_server.cpp: Replaced char * arguments with corresponding typedefs in cases where the IDL compiler now generates the typedef name. Wed Oct 23 23:51:51 2002 Jeff Parsons * tests/Makefile: * tests/Makefile.bor: * tests/TAO_Tests.dsw: Added the new abstract interface test to the suite. Wed Oct 23 23:37:32 2002 Jeff Parsons * orbsvcs/orbsvcs/AV/AVStreams_i.cpp: Converted many occurrences of a string literal arg to the typedef name 'const cosPropertyService::PropertyName' since this is now what the IDL compiler generates in the method signature. * orbsvcs/orbsvcs/Trader/Trading_Loader.cpp: Same as above for two overlooked occurrences of a string literal where 'const CosTrading::LinkName' is generated. Wed Oct 23 22:48:09 2002 Jeff Parsons * orbsvcs/examples/Log/Basic/Client.dsp: * orbsvcs/examples/Log/Event/Log_CEC_Simple_Consumer.dsp: * orbsvcs/examples/Log/Event/Log_CEC_Simple_Supplier.dsp: * orbsvcs/examples/Log/Notify/Log_Notify_Simple_Consumer.dsp: * orbsvcs/examples/Log/Notify/Log_Notify_Simple_Supplier.dsp: * orbsvcs/examples/Log/RTEvent/Log_RTEvent_Simple_Consumer.dsp: * orbsvcs/examples/Log/RTEvent/Log_RTEvent_Simple_Supplier.dsp: Added all include and link paths - they somehow got wiped out. Wed Oct 23 16:32:36 2002 Balachandran Natarajan * orbsvcs/examples/CosEC/RtEC_Based/lib/Makefile: Added a check to ensure that the contents are not compiled if the dependant libraries are not available. Thanks to Sandeep Neema for reporting this. Wed Oct 23 13:38:59 2002 Nanbor Wang * orbsvcs/orbsvcs/DsEventLogAdmin.dsp: * orbsvcs/orbsvcs/DsNotifyLogAdmin.dsp: Fixed Release configurations. Include paths, library paths, and library lists were missing somwhow. Wed Oct 23 11:21:50 2002 Nanbor Wang * tests/Abstract_Interface/Abstract_Interface_Client.dsp: * tests/Abstract_Interface/Abstract_Interface_Server.dsp: Renamed projects. * tests/Abstract_Interface/Abstract_Interface.dsw: Fixed project paths. Wed Oct 23 10:26:59 2002 Jeff Parsons * TAO_IDL/be/be_visitor_argument/arglist.cpp * TAO_IDL/be/be_visitor_argument/argument.cpp * TAO_IDL/be/be_visitor_argument/request_info_arglist.cpp * TAO_IDL/be/be_visitor_argument/request_info_ch.cpp * TAO_IDL/be/be_visitor_argument/request_info_sh.cpp * TAO_IDL/be/be_visitor_argument/upcall_ss.cpp * TAO_IDL/be/be_visitor_argument/vardecl_ss.cpp * TAO_IDL/be/be_visitor_exception/exception_ctor.cpp * TAO_IDL/be/be_visitor_operation/interceptors_cs.cpp * TAO_IDL/be/be_visitor_operation/interceptors_info_rettype.cpp * TAO_IDL/be/be_visitor_operation/rettype.cpp * TAO_IDL/be/be_visitor_sequence/buffer_type.cpp * TAO_IDL/be/be_visitor_typecode/typecode_defn.cpp * TAO_IDL/be/be_visitor_typedef/any_op_ch.cpp Modified code generation to generate the typedef name for typedef'd strings, along with the typedef name for the corresponding _var and _out classes, when used in operation parameters and inside generated function bodies. Generated constructors for exceptions with typedef'd string members were not changed - there seems to be no way to make happy all the compilers we support. Thanks to Goran Stojsic for pointing out that generating char* for typedef'd strings in operations parameters will prevent the application from using the typedef name, since the compiler will report that a pure virtual skeleton method was not overridden in such a case. This fix will probably cause numerous headaches, but it is the Right Thing (TM) to do, so the problems will be dealt with as they appear. * orbsvcs/orbsvcs/LoadBalancing/LB_LoadManager.cpp * orbsvcs/orbsvcs/LoadBalancing/LB_LoadManager.h * orbsvcs/orbsvcs/LoadBalancing/LB_ObjectReferenceFactory.cpp * orbsvcs/orbsvcs/LoadBalancing/LB_ObjectReferenceFactory.h * orbsvcs/orbsvcs/Log/Log_i.cpp * orbsvcs/orbsvcs/Log/Log_i.h * orbsvcs/orbsvcs/Naming/Naming_Context_Interface.cpp * orbsvcs/orbsvcs/Naming/Naming_Context_Interface.h * orbsvcs/orbsvcs/PortableGroup/PG_GenericFactory.cpp * orbsvcs/orbsvcs/PortableGroup/PG_GenericFactory.h * orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroupManager.cpp * orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroupManager.h * orbsvcs/orbsvcs/PortableGroup/PG_PropertyManager.cpp * orbsvcs/orbsvcs/PortableGroup/PG_PropertyManager.h * orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp * orbsvcs/orbsvcs/Property/CosPropertyService_i.h * orbsvcs/orbsvcs/Security/PrincipalAuthenticator.cpp * orbsvcs/orbsvcs/Security/PrincipalAuthenticator.h * orbsvcs/orbsvcs/Trader/Constraint_Interpreter.cpp * orbsvcs/orbsvcs/Trader/Constraint_Interpreter.h * orbsvcs/orbsvcs/Trader/Service_Type_Repository.cpp * orbsvcs/orbsvcs/Trader/Service_Type_Repository.h * orbsvcs/orbsvcs/Trader/Trader.cpp * orbsvcs/orbsvcs/Trader/Trader.h * orbsvcs/orbsvcs/Trader/Trader_Interfaces.cpp * orbsvcs/orbsvcs/Trader/Trader_Interfaces.h * orbsvcs/orbsvcs/Trader/Trader_Utils.cpp * orbsvcs/orbsvcs/Trader/Trader_Utils.h * orbsvcs/orbsvcs/Trader/Trading_Loader.cpp * Examples/Load_Balancing/Identity_Client.cpp * Examples/Load_Balancing/Load_Balancer_i.cpp * Examples/Load_Balancing/Load_Balancer_i.h * Examples/Load_Balancing_persistent/Identity_Client.cpp * Examples/Load_Balancing_persistent/Load_Balancer_i.cpp * Examples/Load_Balancing_persistent/Load_Balancer_i.h * Examples/OBV/Typed_Events/Event_Types_impl.cpp * tests/Param_Test/param_test_i.cpp * tests/Param_Test/param_test_i.h * orbsvcs/tests/Interoperable_Naming/ncontextext_client_i.cpp * orbsvcs/tests/Property/client.cpp * orbsvcs/tests/Trading/Offer_Exporter.cpp * orbsvcs/tests/Trading/Offer_Importer.cpp * orbsvcs/tests/Trading/Service_Type_Exporter.cpp * orbsvcs/tests/Trading/Simple_Dynamic.cpp * orbsvcs/tests/Trading/Simple_Dynamic.h Application files modified to use string typedef names instead of char*. Tue Oct 22 23:31:45 2002 Balachandran Natarajan * orbsvcs/orbsvcs/DsLogAdmin.dsp: Added proper include paths for the release builds. Tue Oct 22 18:22:24 2002 Balachandran Natarajan * orbsvcs/Logging_Service/*/*.dsp: Fixed the project files. There are still some problems that needs ironing out. Tue Oct 22 18:17:59 2002 Jeff Parsons * orbsvcs/orbsvcs/Notify/Notify_FilterFactory_i.cpp: * tests/Notify/MT_Dispatching/Structured_Consumer.cpp: * tests/Notify/MT_Dispatching/Structured_Supplier.cpp: * tests/Notify/Sequence_Multi_ETCL_Filter/Sequence_Consumer.cpp: * tests/Notify/Structured_Filter/Structured_Consumer.cpp: * tests/Notify/performance-tests/Filter/Sequence_Consumer.cpp: Changed the string selecting the Extended Trader Constraint Language grammar from "ETCL" to EXTENDED_TCL" as required by the spec. Thanks to Dmitry Khrapov for reporting the oversight. Tue Oct 22 17:53:58 2002 Jeff Parsons * TAO_IDL/be/be_codegen.cpp: Added a generated newline after the (optional) precompiled header include. Thanks to Victor Kirk for reporting the bug and submitting a patch. Tue Oct 22 17:18:34 2002 Jeff Parsons * TAO_IDL/util/utl_identifier.cpp: * TAO_IDL/util/utl_scope.cpp: Fixed a bug in handling the 'Object' keyword when it is escaped. Thanks to Ole Husgaard for reporting the bug. This closes [BUGID:1324]. Tue Oct 22 15:11:09 2002 Nanbor Wang * orbsvcs/orbsvcs/AV.dsp: * orbsvcs/orbsvcs/CosConcurrency.dsp: * orbsvcs/orbsvcs/CosEvent.dsp: * orbsvcs/orbsvcs/CosLifeCycle.dsp: * orbsvcs/orbsvcs/CosLoadBalancing.dsp: * orbsvcs/orbsvcs/CosNaming.dsp: * orbsvcs/orbsvcs/CosNotification.dsp: * orbsvcs/orbsvcs/CosTime.dsp: * orbsvcs/orbsvcs/CosTrading.dsp: * orbsvcs/orbsvcs/DsLogAdmin.dsp: * orbsvcs/orbsvcs/FT_ORB.dsp: * orbsvcs/orbsvcs/Fault_Tolerance.dsp: * orbsvcs/orbsvcs/PortableGroup.dsp: * orbsvcs/orbsvcs/Svc_Utils.dsp: Went over all project files in TAOACE.dsw and fixed the Custom Build settings for all IDL files. Some of the settings were missing for some reason. Thanks to John Morey for reporting the problem. Tue Oct 22 10:15:36 2002 Balachandran Natarajan * tao/Connection_Handler.cpp: Fixed a unused variable warning. Mon Oct 21 23:17:32 2002 Balachandran Natarajan * orbsvcs/tests/Log/Basic_Log_Test/Basic_Log_Test.dsp (RSC): Fixed the project file to prevent compile errors on Win32. Mon Oct 21 22:45:02 2002 Balachandran Natarajan Bug fix for [BUGID 1269,1270]. Thanks to Carlos O'Ryan for donating this patch. * tao/Connection_Handler.cpp: * tao/Connection_Handler.h: * tao/Connection_Handler.inl: * tao/Connector_Impl.cpp: * tao/IIOP_Connection_Handler.cpp: * tao/IIOP_Connection_Handler.h: * tao/Invocation.cpp: * tao/LF_Connect_Strategy.cpp: * tao/Muxed_TMS.cpp: * tao/Notify_Handler.cpp: * tao/Synch_Refcountable.cpp: * tao/TAO_Server_Request.cpp: * tao/IIOP_Connector.cpp: * tao/IIOP_Transport.cpp: * tao/IIOP_Transport.h: * tao/Transport.cpp: * tao/Transport.h: Changes to the ORB Core. The details are as follows - It eliminates the two refcounts in the connection handler and combines as one refcount. - The transport_ field in the Connection_Handler class is atomically modified. - Closing connections are also atomic. - When the connection is closed all the activations in the reactor are removed. For all the other gory details like the motivation for these changes, it is advised you refer to BUGID's 1202, 1269 and 1270. * tao/Strategies/DIOP_Connection_Handler.cpp: * tao/Strategies/DIOP_Connection_Handler.h: * tao/Strategies/DIOP_Transport.cpp: * tao/Strategies/DIOP_Transport.h: * tao/Strategies/SHMIOP_Connection_Handler.cpp: * tao/Strategies/SHMIOP_Connection_Handler.h: * tao/Strategies/SHMIOP_Transport.cpp: * tao/Strategies/SHMIOP_Transport.h: * tao/Strategies/UIOP_Connection_Handler.cpp: * tao/Strategies/UIOP_Connection_Handler.h: * tao/Strategies/UIOP_Transport.cpp: * tao/Strategies/UIOP_Transport.h: * orbsvcs/orbsvcs/PortableGroup/UIPMC_Connection_Handler.cpp: * orbsvcs/orbsvcs/PortableGroup/UIPMC_Connection_Handler.h: * orbsvcs/orbsvcs/PortableGroup/UIPMC_Transport.cpp: * orbsvcs/orbsvcs/PortableGroup/UIPMC_Transport.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.h: Changes to the pluggable protocols to reflect the changes in the ORB Core. Mon Oct 21 21:51:07 2002 Balachandran Natarajan * tests/DLL_ORB/Makefile.Tests_Client_Module: Added TAO_ROOT definition to fix the compileation problems. Mon Oct 21 18:17:06 2002 Balachandran Natarajan * rules.tao.GNU: Used awk for library versioning instead of perl. Thanks to Craig Rodrigues for providing this patch. Mon Oct 21 14:29:54 2002 Nanbor Wang * examples/AMH/Sink_Server/run_test.pl: * examples/Simple/time-date/run_test.pl: * orbsvcs/examples/RtEC/Simple/run_test.pl: * orbsvcs/examples/Security/Send_File/run_test.pl: * orbsvcs/tests/AVStreams/Component_Switching/run_test.pl: * orbsvcs/tests/AVStreams/Multicast/run_test.pl: * orbsvcs/tests/CosEvent/Basic/run_test.pl: * orbsvcs/tests/EC_Mcast/run_test.pl: * orbsvcs/tests/EC_Throughput/run_test.pl: * orbsvcs/tests/Event/Basic/exhaustive_test.pl: * orbsvcs/tests/Event/Basic/run_test.pl: * orbsvcs/tests/Event/Performance/run_test.pl: * orbsvcs/tests/Miop/McastHello/run_test.pl: * orbsvcs/tests/Notify/Blocking/run_test.pl: * orbsvcs/tests/Notify/Discarding/run_test.pl: * orbsvcs/tests/Notify/MT_Dispatching/run_test.pl: * orbsvcs/tests/Notify/Ordering/run_test.pl: * orbsvcs/tests/Notify/Sequence_Multi_ETCL_Filter/run_test.pl: * orbsvcs/tests/Notify/Sequence_Multi_Filter/run_test.pl: * orbsvcs/tests/Notify/performance-tests/Filter/run_test.pl: * orbsvcs/tests/Security/Big_Request/run_test.pl: * orbsvcs/tests/Security/Callback/run_test.pl: * orbsvcs/tests/Security/MT_SSLIOP/run_test.pl: * orbsvcs/tests/Security/Secure_Invocation/run_test.pl: * orbsvcs/tests/Security/SecurityLevel1/run_test.pl: * performance-tests/Cubit/TAO/IDL_Cubit/run_test.pl: * performance-tests/Cubit/TAO/IDL_Cubit/run_test_lite.pl: * performance-tests/Latency/Single_Threaded/default_configuration.pl: * performance-tests/RTCorba/Multiple_Endpoints/Orb_Per_Priority/run-test.pl: * performance-tests/RTCorba/Multiple_Endpoints/Single_Endpoint/run-test.pl: * performance-tests/RTCorba/Thread_Pool/native-svc.conf: * performance-tests/RTCorba/Thread_Pool/native-svc.conf.xml: * performance-tests/RTCorba/Thread_Pool/run_test.pl: * performance-tests/RTCorba/Thread_Pool/svc.conf-native: * performance-tests/Throughput/run_test.pl: * tests/AMI/run_test.pl: * tests/Connect_Strategy_Test/run_test.pl: * tests/Connection_Purging/run_test.pl: * tests/LongUpcalls/run_test.pl: * tests/MT_BiDir/run_test.pl: * tests/MT_Client/run_test.pl: * tests/MT_Server/run_test.pl: * tests/No_Server_MT_Connect_Test/run_test.pl: * tests/OctetSeq/run_test1.pl: * tests/OctetSeq/run_test2.pl: * tests/RTCORBA/MT_Client_Protocol_Priority/run_test.pl: * tests/RTCORBA/Server_Protocol/run_test.pl: * tests/Strategies/run_test.pl: Changed to use the svcconf file extension ($PerlACE::svcconf_ext) defined in PerlACE::Run_Test to switch between conventional svc.conf files and XML-based svc.conf files. The default file extension is ".conf". To use XML-based format, you need to define an environment variable ACE_RUNTEST_SVCCONF_EXT as ".conf.xml". Mon Oct 21 14:27:44 2002 Balachandran Natarajan * tests/DLL_ORB/Makefile.Test_Client_Module: * tests/DLL_ORB/Makefile.Test_Server_Module: Fix for the makefile problem that lead to a link being created for a library that didnt exist. Thaks to Craig Rodrigues for providing the patch. Mon Oct 21 06:38:41 2002 Balachandran Natarajan * orbsvcs/orbsvcs/DsLogAdmin.dsp: Fixed link errors in Win32 builds. Mon Oct 21 11:03:06 UTC 2002 Don Hinton * docs/compiler.html: Updated tao_idl compiler option documentation for the "-t", temporary directory, options. Sun Oct 20 08:18:28 2002 Balachandran Natarajan * orbsvcs/ImplRepo_Service/Makefile: Fixed a typo that broke the minimum builds. Sun Oct 20 00:23:03 2002 Balachandran Natarajan * orbsvcs/tests/LoadBalancing/GenericFactory/Application_Controlled/server.cpp: Renamed the variables loc1 and loc2 as location1 and location2. The variables loc1 and loc2 is a legacy left over in UNIX, which denotes pointers to characters matched by regular expressions. This should fix compile errors in SunCC builds. Sun Oct 20 00:10:14 2002 Balachandran Natarajan * orbsvcs/ImplRepo_Service/Makefile: Fixed the problems with this change "Fri Oct 18 15:52:11 2002 Priyanka Gontla ". Sat Oct 19 09:47:43 2002 Balachandran Natarajan * orbsvcs/orbsvcs/Makefile: Prevent ImplRepo from being compiled in minimum_corba setting. The fix "Fri Oct 18 15:52:11 2002 Priyanka Gontla " seems goofy. Need to get Craig and Priyanka to take a look. Sat Oct 19 08:40:46 2002 Balachandran Natarajan * orbsvcs/orbsvcs/Log/EventLog_i.cpp: * orbsvcs/orbsvcs/Log/EventLog_i.h: * orbsvcs/orbsvcs/Log/NotifyLog_i.cpp: * orbsvcs/orbsvcs/Log/NotifyLog_i.h: * orbsvcs/orbsvcs/Log/RTEventLog_i.cpp: * orbsvcs/orbsvcs/Log/RTEventLog_i.h: Renamed the class LogConsumer declared by the same name in all the translation units as TAO_Rtec_LogConsumer, TAO_Notify_LogConsumer and TAO_Event_LogConsumer. This should fix link time warnings in SUNCC builds. Fri Oct 18 23:32:11 2002 Mayur Deshpande * examples/AMH/Sink_Server/Timer_Handler.cpp (handle_timeout): Changed the ResponseHandler to a _var instead of a _ptr. This not only takes care of deleting the pointer in exceptional circumstances but the code is also much cleaner. Thanks to Ossama Othman for the tip and code-review. Fri Oct 18 22:23:53 2002 Jeff Parsons * TAO_IDL/fe/idl.ll: * TAO_IDL/fe/lex.yy.cpp: Fixed a problem with the SunCC preprocessor. When processing a non-quoted scoped name, as may occur in #pragma version, typeid, or typeprefix, this preprocessor regards the double colons as separate tokens and bookends them with spaces. Had to add code to check for this and strip out the spaces. Fri Oct 18 16:49:04 2002 Jaiganesh Balasubramanian * orbsvcs/tests/LoadBalancing/GenericFactory/Application_Controlled/run_test.pl: Added the file to the new directory created for the test. Fri Oct 18 16:11:23 2002 Balachandran Natarajan * orbsvcs/orbsvcs/Log/Log_i.cpp (Log_i): Patch to prevent compile errors on OpenBSD. Thanks to Frank Hunleth for the patch. The problem is because of a type conversion from unsigned long to time_t. Looks like time_t is an int on OpenBSD. * orbsvcs/orbsvcs/Log/Log_i.h: Some cosmetic fixes. Fri Oct 18 16:09:37 2002 Priyanka Gontla * orbsvcs/ImplRepo_Service/README.txt: * orbsvcs/ImplRepo_Service/README: Removed README and added README.txt instead as doxygen is looking for only txt files besides the normal implementation, header and inline files. Thanks to Bala for pointing the reason why the index.html is not getting generated via doxygen. Fri Oct 18 15:52:11 2002 Priyanka Gontla * orbsvcs/tests/ImplRepo/Makefile: * orbsvcs/tests/ImplRepo/NameService/Makefile: * orbsvcs/ImplRepo_Service/Makefile: * orbsvcs/orbsvcs/Makefile: Applied the patches provided by Craig Rodrigues so that Implementation Repostory and related tests will be compiled only when ImplRepo is added to the list of TAO_ORBSVCS in platform_macros. Thanks to Craig Rodrigues for pointing this out and for the patches. Fri Oct 18 15:59:58 2002 Balachandran Natarajan * examples/AMH/Sink_Server/mt_server.cpp: * examples/AMH/Sink_Server/st_server.cpp: Removed strange inl file inclusions in the above files. Fri Oct 18 15:56:04 2002 Balachandran Natarajan * examples/AMH/Sink_Server/Base_Server.h: Included the inline file in the header file. Fri Oct 18 15:46:29 2002 Balachandran Natarajan * orbsvcs/orbsvcs/Makefile.CosLoadBalancing: Removed the check for 'ami' and 'interceptors' from this file. Most of the Makefiles in the orbsvcs adds the check in the top level Makefile, with a reason. * orbsvcs/orbsvcs/Makefile: Moved the check here. The main reason for having the check here is that, once the list of Makefiles that needs to be run is built, it writes out the ORBSVCS_COMPONENTS.list file, even if the actual Makefile for the said service is not executed. This creates problems for the tests and examples that depends on the contents within the ORBSVCS_COMPONENTS.list file. Fri Oct 18 15:40:11 2002 Priyanka Gontla * orbsvcs/ImplRepo_Service/ImR_Activator.bor: Corrected the NAME of the executable. Thanks to Christian Barheine for finding the problem and also for the patch. Fri Oct 18 10:30:20 2002 Balachandran Natarajan * examples/AMH/Sink_Server/Base_Server.cpp: Fixed a warning in g++ builds. Thu Oct 17 18:35:29 2002 Mayur Deshpande * examples/AMH/Sink_Server/Base_Server.inl: * examples/AMH/Sink_Server/Client_Task.cpp: * examples/AMH/Sink_Server/Client_Task.h: * examples/AMH/Sink_Server/MT_AMH_Server.cpp: * examples/AMH/Sink_Server/MT_AMH_Server.h: * examples/AMH/Sink_Server/Timer_Handler.h: * examples/AMH/Sink_Server/AMH_Servant.cpp: * examples/AMH/Sink_Server/AMH_Servant.h: * examples/AMH/Sink_Server/Base_Server.cpp: * examples/AMH/Sink_Server/Base_Server.h: * examples/AMH/Sink_Server/Makefile: * examples/AMH/Sink_Server/README: * examples/AMH/Sink_Server/Sink_Server.mpc: * examples/AMH/Sink_Server/Timer_Handler.cpp: * examples/AMH/Sink_Server/client.bor: * examples/AMH/Sink_Server/client.cpp: * examples/AMH/Sink_Server/mt_server.bor: * examples/AMH/Sink_Server/mt_server.cpp: Addressed number of @@ comments left by Ossama on previous code-review. Fleshed out classes into .h and .cpp and .inl files, added more error-handling, compliance to ACE/TAO coding-rules, passing by references instead of pointers/value, and tons of other fixes. Thanks Ossama! Thu Oct 17 14:45:08 2002 Mayur Deshpande * tao/PortableServer/AMH_Response_Handler.cpp: Changed all the 'transport->send_message ()' from the default parameter for 'message_semantics' (TAO_Transport::Two_Way) to TAO_Transport::TAO_Reply. Doing this blocks the sender until the reply is sent. This change suggested by Balachandran Natarajan fixes a bug reported by Martin Johnson where an AMH server crashed when it was sending back huge payload (>16K) to a multithreaded (>50) client. Thu Oct 17 14:47:50 2002 Ossama Othman * orbsvcs/orbsvcs/PortableGroup/PG_GenericFactory.cpp (populate_object_group, process_criteria): Explicitly cast an unsigned short value to unsigned long. Borland C++ apparently gets confused and assumes that the unsigned short value is signed. Silences a warning. Thu Oct 17 21:04:49 UTC 2002 Craig Rodrigues * orbsvcs/orbsvcs/Log/Log_i.cpp: Add missing template instantiation TAO_Unbounded_Sequence. Thu Oct 17 12:19:32 2002 Balachandran Natarajan * orbsvcs/tests/LoadBalancing/GenericFactory/Application_Controlled/Makefile: Added the Messaging and Naming library to the link line. Thu Oct 17 11:58:49 2002 Jeff Parsons * TAO_IDL/be/be_valuetype.cpp: Fixed a bug in code generation of the inheritance list for valuetypes that support abstract interfaces. * TAO_IDL/be/be_visitor_interface/interface_ch.cpp: * TAO_IDL/be/be_visitor_interface/interface_cs.cpp: * TAO_IDL/be/be_visitor_valuetype/valuetype_ch.cpp: * TAO_IDL/be/be_visitor_valuetype/valuetype_cs.cpp: Fixed a mistake in the changes made in Wed Oct 16 17:16:38 2002 Jeff Parsons and made the same changes to code generation for abstract interfaces. * tao/ObjectReferenceTemplateC.cpp: * tao/ObjectReferenceTemplateC.h: * tao/Messaging/MessagingC.cpp: * tao/Messaging/MessagingC.h: * tao/PortableServer/Default_ORTC.cpp: * tao/PortableServer/Default_ORTC.h: Modified hand-crafted code to correspond to the changes above. Thu Oct 17 10:47:32 2002 Balachandran Natarajan * orbsvcs/tests/LoadBalancing/GenericFactory/Application_Controlled/Makefile: Check whether the CosLoadBalancing library was built. This check was there already but at the wrong place. Wed Oct 16 17:16:38 2002 Jeff Parsons * TAO_IDL/be/be_visitor_valuetype/valuetype_ch.cpp: * TAO_IDL/be/be_visitor_valuetype/valuetype_cs.cpp: Fixed a problem with MSVC not being able to invoke fully qualified member methods (except in the initializer), which appeared when the _tao_obv_narrow() method calls the corresponding method of a base class. If the base class has the same local name, the ACE_NESTED_CLASS macro breaks and the call goes into an endless loop. For MSVC, identical methods using the flat name are generated for each class, and called by derived classes. Thanks to Don Hinton for reporting the bug and Jon Franklin for providing a patch. Wed Oct 16 12:37:07 2002 Jaiganesh Balasubramanian * orbsvcs/tests/LoadBalancing/GenericFactory/Makefile: Added the new Makefile to compile "directories" under this directory. Wed Oct 16 12:23:29 2002 Jaiganesh Balasubramanian * TAO_IDL/fe/idl.ll: * TAO_IDL/fe/lex.yy.cpp: * TAO_IDL/ast/ast_decl.cpp: * TAO_IDL/util/utl_scope.cpp: * TAO_IDL/include/ast_decl.h: * TAO_IDL/include/utl_scope.h: Fixed a bug in typeprefix propagation by moving a class member and accessors from UTL_Scope to AST_Decl, and changing code where the accessors are called. Tue Oct 15 20:05:48 2002 Ossama Othman * orbsvcs/tests/LoadBalancing/GenericFactory/run_test.pl: Use TerminateWaitKill() instead of WaitKill() when terminating the LoadManager binary. The LoadManager handles the SIGTERM and SIGINT signals to allow for graceful shutdown in order to clean up remote resources. TerminateWaitKill() sends a SIGTERM signal (as opposed to SIGKILL) to the process in question, thus giving the LoadManager the chance to shutdown gracefully. This addresses a bogus exit status from the LoadManager binary. Tue Oct 15 19:49:53 2002 Ossama Othman * orbsvcs/orbsvcs/PortableGroup/PG_Group_Guard.h: * orbsvcs/orbsvcs/PortableGroup/PG_Group_Guard.cpp: New guard implementation designed to improve exception safety when creating object groups. It is used internally by the TAO_PG_GenericFactory class. * orbsvcs/orbsvcs/PortableGroup/PG_GenericFactory.h (delete_object_i): Made this method public so that the new TAO_PG_Group_Guard class may invoke it. (populate_object_group): Made factory creation ID argument "const" to prevent subtle bugs from being potentially introduced in the future. This method now accepts a reference to the factory set associated with a given factory creation ID. * orbsvcs/orbsvcs/PortableGroup/PG_GenericFactory.cpp (create_object): The factory set is now instantiated in this method and passed to the populate_object_group() method. This change was necessary to improve exception safety when cleaning up resources created during a failed attempt at creating an object group. Use a TAO_PG_Group_Guard to improve exception safety in the presence of a failed object group creation attempt. (delete_object): Upon successful destruction of remote object group members through their corresponding factories, unbind the factory set that contained those factories from the internal factory map. Closes a resource leak. (process_criteria): If the desired minimum number of members is less than the number of supplied GenericFactorys, add a new element containing the name and value of the MinimumNumberMembers property to the unmet criteria sequence that is the attribute of the PortableGroup::CannotMeetCriteria exception to be thrown. Tue Oct 15 17:34:07 2002 Jaiganesh Balasubramanian * orbsvcs/orbsvcs/PortableGroup/PG_GenericFactory.cpp: Made a change in the delete_object () function. There is a check to see if the factory set is bound to the factory map or not. If we do not find an entry in the map, a exception was thrown. In the case of application-controlled membership, we do not have a factory set bound to the factory map at all. So the else case can be removed. Thanks to Ossama Othman for helping me track down this problem. Tue Oct 15 17:25:04 2002 Krishnakumar B * orbsvcs/ImplRepo_Service/Makefile: Updated dependencies. Tue Oct 15 17:03:01 2002 Balachandran Natarajan * tests/Abstract_Interface/server.cpp: * tests/Abstract_Interface/client.cpp: TAO_ENV* macros were used. Changed those to use ACE_ENV* macros. This shodl also fix a fuzz error with this test. Tue Oct 15 12:55:00 2002 Ossama Othman * orbsvcs/orbsvcs/Makefile.SSLIOP (CPPFLAGS, LDFLAGS, LIBS): Append PLATFORM_SSL_{CPPFLAGS,LDFLAGS,LIBS} to each of these variables, respectively. Addresses build issues on platforms where OpenSSL is not installed in a location known to the compiler and linker. Thanks to Werner Buchert for pointing out the problem. Tue Oct 15 14:31:49 2002 Jeff Parsons * orbsvcs/orbsvcs/IFRService/ConstantDef_i.cpp: Changed the type of a local variable to match the signature of the method call it is passed to. Thanks to Werner Buchert for reporting the bug. Tue Oct 15 14:10:29 2002 Jeff Parsons * tests/IDL_Test/Makefile: Updated dependencies. Tue Oct 15 13:34:15 2002 Jeff Parsons * TAO_IDL/ast/ast_decl.cpp: * TAO_IDL/fe/lex.yy.cpp: * TAO_IDL/fe/idl.ll: * TAO_IDL/include/ast_decl.h: * TAO_IDL/include/utl_scope.h: * TAO_IDL/util/utl_idlist.cpp: * TAO_IDL/util/utl_scope.cpp: Changes to make a typeprefix directive in an inner scope override one in an outer scope, even if the outer scope directive comes later in the IDL file. These changes were documented in, but mistakenly left out of Mon Oct 14 15:44:05 2002 Jeff Parsons Tue Oct 15 11:43:40 2002 Jeff Parsons * tests/Abstract_Interface/test_i.cpp: Fixed an incorrect environment macro. * tests/Abstract_Interface/Makefile: Updated dependencies. Tue Oct 15 11:16:37 2002 Jeff Parsons * TAO_IDL/be/be_visitor_operation/interceptors_cs.cpp: Refinement of earlier fix to avoid incorrect generated code in the interceptor class of an operation that returns a string. * TAO_IDL/be/be_visitor_interface/interface_cs.cpp: Fixec a bug in code generation for abstract interfaces. Tue Oct 15 10:48:46 2002 Balachandran Natarajan * tao/CDR_Encaps_Codec.cpp: Cosmetic fix. Tue Oct 15 10:05:01 2002 Jeff Parsons * tao/Messaging/MessagingC.cpp: * tao/Messaging/MessagingC.h: * tao/PortableServer/Default_ORTC.cpp: * tao/PortableServer/Default_ORTC.h: Fixed some things I overlooked before get these files to match up with generated code. Mon Oct 14 18:52:06 2002 Ossama Othman * orbsvcs/orbsvcs/PortableGroup/PG_Default_Property_Validator.cpp (validate_criteria): Reduce the length of the invalid criteria sequence in an effort to optimize the copying that will occur when the PortableGroup::InvalidCriteria exception is thrown. Reducing the length is fast since no deallocations should occur. * orbsvcs/orbsvcs/PortableGroup/PG_GenericFactory.h (populate_object_group): Accept an "initial number of members" value. It will be used when creating the initial object group members via the infrastructure. * orbsvcs/orbsvcs/PortableGroup/PG_GenericFactory.cpp (create_object, process_criteria): Moved criteria validation code to the process_criteria() method. Verify that the InitialNumberMembers property is larger than the MinimumNumberMembers property. It doesn't make sense to create members numbering less than the minimum. Throw a PortableGroup::CannotMeetCriteria exception in that case. Populate the "unmet_criteria" attribute of the PortableGroup::CannotMeetCriteria exception before throwing that exception. Previously, a default constructed exception was thrown. (populate_object_group): In the infrastructure controlled membership case, initially create the number of members specified in the InitialNumberMember property. Previously, the number of initial members was the same as the number of FactoryInfos, which is undesirable since members were always automatically created. * orbsvcs/orbsvcs/PortableGroup/PG_conf.h (TAO_PG_MINIMUM_NUMBER_MEMBERS): The default minimum number of members value should always be equal to (or greater) the default initial number of members value (TAO_PG_INITIAL_NUMBER_MEMBERS). This is a precautionary measure to meant avoid errors introduced by only changing one of the default values. Mon Oct 14 19:21:19 2002 Balachandran Natarajan * orbsvcs/examples/Log/RTEvent/Makefile: Added a missing library. Mon Oct 14 17:50:12 2002 Jeff Parsons * tests/Abstract_Interface/Abstract Interface Client.dsp: * tests/Abstract_Interface/Abstract Interface Server.dsp: * tests/Abstract_Interface/Abstract_Interface.dsw: * tests/Abstract_Interface/Makefile: * tests/Abstract_Interface/Makefile.bor: * tests/Abstract_Interface/README: * tests/Abstract_Interface/client.bor: * tests/Abstract_Interface/client.cpp: * tests/Abstract_Interface/run_test.pl: * tests/Abstract_Interface/server.bor: * tests/Abstract_Interface/server.cpp: * tests/Abstract_Interface/test.idl: * tests/Abstract_Interface/test_i.cpp: * tests/Abstract_Interface/test_i.h: New test for abstract interfaces. Mon Oct 14 17:35:56 2002 Jeff Parsons * tao/PortableServer/Default_ORTC.cpp: * tao/PortableServer/Default_ORTC.h: Modified these files to correspond with changes to generated code in Mon Oct 14 15:44:05 2002 Jeff Parsons Mon Oct 14 17:15:23 2002 Jeff Parsons * tests/IDL_Test/repo_id_mod.idl: New file added to test 'typeprefix', 'typeid' and #pragma version. * tests/IDL_Test/Makefile: * tests/IDL_Test/Makefile.bor: * tests/IDL_Test/idl_test.dsp: * tests/IDL_Test/main.cpp: Files modified with addition of new test to the suite. Mon Oct 14 15:44:05 2002 Jeff Parsons * 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_unbounded_obj_sequence_ci.cpp: * TAO_IDL/be/be_visitor_sequence/gen_unbounded_obj_sequence_cs.cpp: Fixed mistakes in code generation for sequences of valuetypes. Thanks to Sean M. Paus for pointing out the problem. * TAO_IDL/be/be_visitor_root/root.cpp: Fixed cut and paste error in visitor instantiation for generation of Any operators for forward declared interfaces. Thanks to Antonio Saraiva for reporting the bug. * TAO_IDL/ast/ast_decl.cpp: * TAO_IDL/ast/ast_module.cpp: * TAO_IDL/util/utl_idlist.cpp: Changed behavior of typeprefix so that an inner scope directive overrides an outer one. This behavior is not explicitly required by the CORBA specification, but it is assumed that this is the intention. This point will be submitted as an OMG issue shortly. Thanks to Jonathan Biggar for his advice on this matter * TAO_IDL/be/be_visitor_operation/interceptors_cs.cpp: Fixed a problem with interceptors where there is a name clash if an operation has a return type called 'result'. Thanks to Ossama for suggesting the fix. * 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: * TAO_IDL/be/be_visitor_valuetype/any_op_cs.cpp: Fixed another name clash with the 'result' identifier, this time in the body of the Any extraction operator. * tao/ValueBase.h: * tao/ValueBase.i: * tao/ValueFactory.h: * tao/ValueFactory.i: * TAO_IDL/be/be_valuetype.cpp: * TAO_IDL/be/be_visitor_valuetype/valuetype_cs.cpp: Removed both cast operators from class ValueFactoryBase_var, since they do not appear in the C++ mapping, and removed the const cast operator from ValueBase_var, since it was causing a problem with the HP-UX 11.11 compiler, and valuetypes do not support const operations anyway. Thanks to Torsten Kuepper for the bug report and the valuetype expertise. * tao/corbafwd.h: Added dk_Event to enum DefinitionKind. Mon Oct 14 11:32:16 2002 D A Hanvey * docs/releasenotes/index.html: Amended entry to show new status of Telecom Log Service. Changed point of contact to D A Hanvey. Sun Oct 13 22:14:23 2002 Balachandran Natarajan * orbsvcs/Logging_Service/RTEvent_Logging_Service/Makefile: Added a missing library to the Makefile. Sun Oct 13 13:47:21 2002 Jaiganesh Balasubramanian * orbsvcs/tests/LoadBalancing/GenericFactory/LB_server.cpp: * orbsvcs/tests/LoadBalancing/GenericFactory/LB_server.h: * orbsvcs/tests/LoadBalancing/GenericFactory/server.cpp: Changed the name of the Class LB_Basic_Test to LB_server to be in sync with the name of the file. Also changed the semantics of the destroy () method to resolve the compiler errors. Sat Oct 12 22:59:15 2002 Krishnakumar B * orbsvcs/ImplRepo_Service/XML_ContentHandler.h: * orbsvcs/ImplRepo_Service/XML_ContentHandler.cpp: * orbsvcs/ImplRepo_Service/Server_Repository.cpp: Changed to support the native exception in ACEXML. Fri Oct 11 12:18:11 2002 Ossama Othman * orbsvcs/tests/Makefile: Added `LoadBalancing' test directory to the directory list. * orbsvcs/tests/LoadBalancing/Makefile: New top-level Load Balancing test Makefile. * orbsvcs/tests/LoadBalancing/GenericFactory/LB_server.cpp: * orbsvcs/tests/LoadBalancing/GenericFactory/LB_server.h: * orbsvcs/tests/LoadBalancing/GenericFactory/server.cpp: More code review comments. * orbsvcs/tests/LoadBalancing/GenericFactory/Makefile: Only build this test if the "CosLoadBalancing" ORBSVCS component was built. Fri Oct 11 10:38:26 2002 Ossama Othman * orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroupManager.cpp (locations_of_members): Made reference to TAO_PG_MemberInfoSet non-const once again since const iterators for the ACE_Unbounded_Set container are currently unimplemented. Fixes a compile-time problem. Fri Oct 11 09:59:59 2002 Ossama Othman * orbsvcs/orbsvcs/PortableGroup/PG_ObjectGroupManager.cpp (remove_member): Added implementations for this method. Fri Oct 11 09:41:43 2002 Ossama Othman * orbsvcs/orbsvcs/Makefile: Re-enabled the Telecom Logging Service by default. Fixed some Telecom Logging Service dependencies.