Sat Mar 17 17:52:27 2001 Carlos O'Ryan * tao/Transport.h: * tao/Transport.cpp: Removed the current_message_ field, using the head of the queue works just as well, at least as long as we always push events to the end of the queue. * tao/IIOP_Transport.h: * tao/IIOP_Transport.cpp: * tao/Reactive_Flushing_Strategy.cpp: Use the Flushing Strategy to schedule output and cancel output with the reactor. Sat Mar 17 15:34:14 2001 Carlos O'Ryan * tests/Big_Oneways/Session.h: * tests/Big_Oneways/Session.cpp: Fixed signed/unsigned warnings * tests/Big_Oneways/Coordinator.cpp: Print error messages in all exception cases * tests/Big_Oneways/run_test.pl: Run 3 peers to cause failures. Fri Mar 16 15:49:26 2001 Carlos O'Ryan * tao/IIOP_Transport.cpp: Fixed debugging message for cancel_output. * tests/Big_Oneways/Big_Oneways.dsw: * tests/Big_Oneways/client.dsp: * tests/Big_Oneways/server.dsp: Fixed project files, the first version commited missed some changes. Thu Mar 15 10:46:52 2001 Carlos O'Ryan * tests/Big_Oneways/Makefile: * tests/Big_Oneways/Test.idl: * tests/Big_Oneways/run_test.pl: * tests/Big_Oneways/Coordinator.h: * tests/Big_Oneways/Coordinator.cpp: * tests/Big_Oneways/Peer.h: * tests/Big_Oneways/Peer.cpp: * tests/Big_Oneways/Session.h: * tests/Big_Oneways/Session.cpp: * tests/Big_Oneways/client.cpp: * tests/Big_Oneways/server.cpp: Changed the test to work more predictably on multi-CPU boxes. The sessions are configured at creation time, and they don't start sending events until start() is called. Instead of automatically destroy them on shutdown we wait until they all stop and then explicitly use a destroy() method to take them down. Tue Mar 13 15:08:06 2001 Carlos O'Ryan * tests/README: * tests/Makefile: * tests/Big_Oneways/README: * tests/Big_Oneways/Test.idl: * tests/Big_Oneways/Makefile: * tests/Big_Oneways/Big_Oneways.dsw: * tests/Big_Oneways/server.dsp: * tests/Big_Oneways/client.dsp: * tests/Big_Oneways/run_test.pl: * tests/Big_Oneways/Coordinator.h: * tests/Big_Oneways/Coordinator.cpp: * tests/Big_Oneways/Peer.h: * tests/Big_Oneways/Peer.cpp: * tests/Big_Oneways/Session.h: * tests/Big_Oneways/Session.cpp: * tests/Big_Oneways/Session_Control.h: * tests/Big_Oneways/Session_Control.cpp: * tests/Big_Oneways/Session_Task.h: * tests/Big_Oneways/Session_Task.cpp: * tests/Big_Oneways/client.cpp: * tests/Big_Oneways/server.cpp: Add new stress test for the non-blocking I/O features in the ORB. This test is more focussed than LongWrites, and its shutdown sequence is better designed (LongWrites tends to crash after running successfully.) * tao/GIOP_Message_Handler.cpp: Fixed unsigned/signed warning Thu Mar 8 19:12:48 2001 Carlos O'Ryan * tao/GIOP_Message_Base.cpp: * tao/GIOP_Message_Handler.h: * tao/GIOP_Message_Handler.cpp: Had to manually merge Bala's changes from Sat Feb 17 23:08:44 2001. * tao/IIOP_Connection_Handler.cpp: Cosmetic fixes. * tao/IIOP_Transport.cpp: Print debugging messages when output is scheduled, and alse when it is canceled. Do not register the handler more than once on the reactor. * tao/Queued_Message.inl: The done() condition was reversed. * tao/Transport.cpp: Add a ton of debugging mesages, including detailed messages of outgoing and incoming data, information about each queued message, etc. * tao/Transport.cpp (send_message_block_chain): Always add the number of bytes transferred on each send() call, even when it returns an error. * tao/Transport.cpp (send_message_i): Use easier to read code when deciding what messages are queued. Before calling schedule_output() and returning we must queue the message, forgot to do that in the previous version. * tests/LongWrites/Receiver.cpp: * tests/LongWrites/Sender.cpp: * tests/LongWrites/Sender.h: * tests/LongWrites/Sender_Task.cpp: * tests/LongWrites/Sender_Task.h: * tests/LongWrites/client.cpp: I'm tweaking the test trying to make the termination condition more reliable. Unfortunately after one of the clients finishes the rest does not receive all the required messages. I will probably have to change the protocol, which is probably a good idea anyway, so we can control the number of threads too. * tests/LongWrites/run_test.pl: In the haste to merge the fix_bug132 bug I forgot to incorporate the support for the multiple test types. * tao/Makefile: * tao/Domain/Makefile: * tao/DynamicAny/Makefile: * tao/DynamicInterface/Makefile: * tao/IFR_Client/Makefile: * tao/IORManipulation/Makefile: * tao/IORTable/Makefile: * tao/PortableServer/Makefile: * tao/SmartProxies/Makefile: * tao/Strategies/Makefile: * tests/LongWrites/Makefile: Update dependencies. Wed Mar 07 08:48:11 2001 Carlos O'Ryan * tao/Queued_Message.inl: Both done() and mb() were using contents_, but the flow has changed to use current_message_. * tao/Transport.cpp: Simplify code flow in send_current_message() Simplify code in dequeue_head() * tao/TAO.dsp: * tao/TAO_Static.dsp: Update project files so they work on the branch. Tue Mar 6 19:44:44 2001 Carlos O'Ryan * tao/GIOP_Message_Handler.cpp: When printing an invalid GIOP magic number use hex values, not the character representation, because the latter can print out garbage. * tao/ORB_Core.cpp: Print the return value of each handle_events() call, on an attempt to figure out why it is spinning. * tao/Transport.cpp: Print handle, return value and errno after each call to send_current_message() * tao/Wait_On_Leader_Follower.cpp: Don't enter the event loop if the reply has been received already. Tue Mar 6 11:02:43 2001 Carlos O'Ryan * Merged in changes from the fix_bug132 branch. I need several bug fixes from the main trunk. In my experience the easiest way to do this is to create a new branch higher up in the main trunk, close the old branch and propagate its changes to the new one. In this case we created fix_bug132_iter02 (today) merge the changes from fix_bug132 into that branch, and close fix_bug132. Mon Mar 5 11:32:14 2001 Carlos O'Ryan * tao/Transport.cpp: * tao/IIOP_Transport.cpp: Add debugging messages * tests/LongWrites/Makefile: Updates dependencies and object files for the client. Fri Mar 02 15:29:17 2001 Carlos O'Ryan * tao/Transport.h: * tao/Transport.cpp: Continue implementation of reactive output. On this pass I fixed the code to deal with several error conditions, invoke schedule_output() if the connection returns an EWOULDBLOCK, also cancel the output if there is no data to send. Fix syncronization on send_queued_message() Fix memory allocation for message blocks contained in Queued_Message, they cannot be cloned() because that would allocate from TSS. * tao/IIOP_Transport.h: * tao/IIOP_Transport.cpp: Implement schedule_output() and cancel_output() methods. * tao/Wait_On_Leader_Follower.cpp: Do not re-insert the transport into the reactor on each wait, once is enough. * tao/IIOP_Connection_Handler.h: * tao/IIOP_Connection_Handler.cpp: Implement a handle_output() callback, delegate on the TAO_Transport * tao/IIOP_Endpoint.cpp: Remove unused #include * tests/LongWrites/Coordinator.h: * tests/LongWrites/Coordinator.cpp: * tests/LongWrites/Receiver.h: * tests/LongWrites/Receiver.cpp: * tests/LongWrites/Sender.h: * tests/LongWrites/Sender.cpp: * tests/LongWrites/client.cpp: * tests/LongWrites/client.dsp: * tests/LongWrites/run_test.pl: * tests/LongWrites/server.cpp: * tests/LongWrites/svc.conf: * tests/LongWrites/Sender_Task.h: * tests/LongWrites/Sender_Task.cpp: Add support for multi-threaded clients. Try to count the number of incoming messages and only exit when all have been received. * tests/Queued_Message_Test/Queued_Message_Test.dsp: Removed a number of unused files from this unit test. Sun Feb 25 10:22:59 2001 Carlos O'Ryan * tao/Queued_Message.h: * tao/Queued_Message.cpp: * tao/Transport.cpp: Instead of releasing the message blocks as soon as possible we delay until the queued message is deallocated. This will make it possible to release all the data in the same thread that allocated it, preserving the support for TSS allocators. * tests/LongWrites/Test.idl: * tests/LongWrites/Receiver.h: * tests/LongWrites/Receiver.cpp: * tests/LongWrites/Sender.h: * tests/LongWrites/Sender.cpp: * tests/LongWrites/client.cpp: * tests/LongWrites/run_test.pl: The test can now send big oneways, big twoways and big twoways with big responses. Wed Feb 14 18:38:11 2001 Carlos O'Ryan * tao/Queued_Message.cpp: Fixed queue manipulation logic * tests/Queued_Message_Test/Queued_Message_Test.cpp: The test was miscounting remove operations from the queue. * tests/Queued_Message_Test/Queued_Message_Test.dsw: * tests/Queued_Message_Test/Queued_Message_Test.dsp: Add MSVC project files. Wed Feb 14 10:02:44 2001 Carlos O'Ryan * tao/Queued_Message.h: * tao/Queued_Message.cpp: Add flag to control message block ownership, used to minimize memory allocations. * tao/Transport.cpp: Use the ownership flags for the Queued_Message. * tests/Makefile: * tests/Queued_Message_Test/Makefile: * tests/Queued_Message_Test/Queued_Message_Test.cpp: Add new unit test for the TAO_Queued_Message class. * tao/Makefile: * tao/Domain/Makefile: * tao/DynamicAny/Makefile: * tao/DynamicInterface/Makefile: * tao/IFR_Client/Makefile: Update dependencies * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp: The ACE_SSL_SOCK_Stream does not support sendv() Mon Feb 12 15:44:54 2001 Carlos O'Ryan * tao/Makefile: Update makefile to include new files * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp: * tao/Strategies/SHMIOP_Transport.h: * tao/Strategies/SHMIOP_Transport.cpp: * tao/Strategies/UIOP_Transport.h: * tao/Strategies/UIOP_Transport.cpp: Fixed all protocols to use the new send() method with iovec parameters. * tao/GIOP_Message_Lite.cpp: Use the send() method with iovec arguments. * tao/Sync_Strategies.h: * tao/Sync_Strategies.cpp: * tao/Transport.cpp: More cleanup for the Sync_Strategies, the must_queue() method does not require a Stub argument. Mon Feb 12 10:15:47 2001 Carlos O'Ryan * tao/Transport.h: * tao/Transport.cpp: Add new method to send a message block chain. The template method to send data takes an iovec argument. * tao/IIOP_Transport.h: * tao/IIOP_Transport.cpp: Implement the iovec-based send() template method. * tao/Queued_Message.cpp: The cleanup code was broken. * tao/GIOP_Message_Base.cpp: Use the message block chain method to send short critical messages. Fri Feb 09 10:50:47 2001 Carlos O'Ryan * tao/Queued_Message.h: * tao/Queued_Message.inl: * tao/Queued_Message.cpp: Add new class to represent a queued message in the outgoing path. This class has to keep more than just the message block, it also takes care of timeouts and signaling any waiting thread when the message is sent. * tao/Message_Sent_Callback.h: * tao/Message_Sent_Callback.inl: * tao/Message_Sent_Callback.cpp: Define interface to signal threads waiting for a message to be sent out, e.g. twoway requests blocked waiting for a queued message. * tao/Flushing_Strategy.h: * tao/Flushing_Strategy.cpp: * tao/Block_Flushing_Strategy.h: * tao/Block_Flushing_Strategy.cpp: * tao/Reactive_Flushing_Strategy.h * tao/Reactive_Flushing_Strategy.cpp: New classes to control how the outgoing data is flushed, either by blocking on write() or by using the reactor. * tao/Resource_Factory.h: * tao/default_resource.h: * tao/default_resource.cpp: Add new methods to create the flushing strategy. * tao/ORB_Core.h: * tao/ORB_Core.i: * tao/ORB_Core.cpp: Add accessor for the flushing strategy. Notice that the strategy is stateless so a single instance (per-ORB) is needed. * tao/Sync_Strategies.h: * tao/Sync_Strategies.cpp: The Sync_Strategies have been simplified. They are now stateless, and they only need to answer a couple of questions (1) should a message be buffered, (2) should the ORB flush a queue. * performance-tests/Latency/st_client.cpp: Destroy the ORB on shutdown. * tao/TAO.dsp: * tao/TAO_Static.dsp: Add the new files to the TAO project files. * tao/Transport.h: * tao/Transport.inl: * tao/Transport.cpp: Move much of the functionality of sending and outgoing message queue up to the base transport class. Remove a lot of code deailing with the previous (blocking) queues. * tao/IIOP_Transport.cpp: * tao/IIOP_Connection_Handler.cpp: * tao/Strategies/SHMIOP_Transport.cpp: * tao/Strategies/SHMIOP_Connection_Handler.cpp: * tao/Strategies/UIOP_Transport.cpp: * tao/Strategies/UIOP_Connection_Handler.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.cpp: Change the transport and connection handlers to use the new outgoing message queue, the flushing strategy and the changes to the SyncStrategy. * tao/GIOP_Message_Base.cpp: Propagate a few interface changes. * tests/LongWrites/LongWrites.dsw: * tests/LongWrites/client.dsp: * tests/LongWrites/server.dsp: * tests/LongWrites/run_test.pl: Got the test to compile (and run) under NT. Tue Mar 6 11:49:37 2001 Balachandran Natarajan * tao/GIOP_Message_Handler.cpp (is_message_ready): * tao/GIOP_Message_Base.cpp: Made a pass through the code and fixed a few ACE_DEBUG statements and HEXDUMP statements. Thanks to Johnny.Willemsen for pointing these out. Tue Mar 06 10:58:15 2001 Frank Hunleth * examples/PluggableUDP/tests/client.dsp: * examples/PluggableUDP/tests/server.dsp: Removed unnecessary libraries in Windows release builds. Tue Mar 06 08:29:28 2001 Carlos O'Ryan * tests/Collocation/Makefile.stub: * tests/Collocation/Makefile.impl: Define ACE_SHLIBS, this is the macro used to link shared libraries. Without the proper list of libraries the Tru64/CXX compiler gives warnings, and other compilers could give out errors. * tests/AMI_Timeouts/timeout_i.cpp: * tests/AMI_Timeouts/timeout_client.cpp: Removed extra ';' at the end of function definitions. Tue Mar 6 07:15:06 2001 Balachandran Natarajan * tests/MT_Client/simple-client.cpp: Fixed a typo that was giving annoying warnings in Debian boxes. Tue Mar 6 06:17:46 2001 Douglas C. Schmidt * tests/Param_Test/client.cpp (run_sii_test): Make sure to call this->test_object_->print_values () before running each test. Thanks to Johnny Willemsen for reporting this. Mon Mar 5 20:11:49 2001 Ossama Othman * orbsvcs/examples/Security/Send_File/server.cpp (main): * orbsvcs/examples/Security/SecurityLevel1/server.cpp (main): More missing ACE_TRY_ENV parameter fixes. Mon Mar 5 19:32:56 2001 Ossama Othman * TAO_IDL/be/be_visitor_array/any_op_cs.cpp (visit_array): * TAO_IDL/be/be_visitor_enum/any_op_cs.cpp (visit_enum): * TAO_IDL/be/be_visitor_exception/any_op_cs.cpp (visit_exception): * TAO_IDL/be/be_visitor_interface/any_op_cs.cpp (visit_interface): * TAO_IDL/be/be_visitor_sequence/any_op_cs.cpp (visit_sequence): * TAO_IDL/be/be_visitor_structure/any_op_cs.cpp (visit_structure): * TAO_IDL/be/be_visitor_union/any_op_cs.cpp (visit_union): Fixed generated code that it does an ACE_TRY_CHECK before checking the return value of the CORBA::TypeCode::equivalent() call. This fixes a subtle problem where the return code could be potentially meaningless due to the fact that an emulated exception was thrown. This change also makes the code match the semantics of native exceptions more closely. Mon Mar 5 19:14:03 2001 Carlos O'Ryan * performance-tests/Callback/client.cpp: * performance-tests/Callback/server.cpp: * performance-tests/Latency/ami-latency-client.cpp: * performance-tests/Latency/ami-throughput-client.cpp: * performance-tests/Latency/server.cpp: * performance-tests/Latency/st_server.cpp: * performance-tests/RTCorba/Multiple_Endpoints/Endpoint_Per_Priority/client.cpp: * performance-tests/RTCorba/Multiple_Endpoints/Endpoint_Per_Priority/server.cpp: * performance-tests/RTCorba/Multiple_Endpoints/Orb_Per_Priority/server.cpp: * performance-tests/RTCorba/Multiple_Endpoints/Single_Endpoint/server.cpp: * tests/OctetSeq/server.cpp: * tests/Param_Test/server.cpp: * tests/Timeout/server.cpp: * utils/nslist/nslist.cpp: More ACE_TRY_ENV / resolve_initial_references() fixes. Mon Mar 5 19:01:15 2001 Ossama Othman * tao/Dynamic.pidl: * tao/Messaging.pidl: * tao/Pollable.pidl: Removed backslashes from the comments in these files. Some preprocessors complain about "multi-line" comments. Mon Mar 5 18:46:42 2001 Fuzz Master D * examples/Simple/time-date/run_test.pl: Server hard codes ior file so my localfile thing will not work. * orbsvcs/tests/Property/run_test.pl: Forgot some \n's in prints. Mon Mar 5 18:40:58 2001 Carlos O'Ryan * orbsvcs/tests/Event/lib/Driver.cpp: Replaced ACE_TRY_CHECK with ACE_CHECK * tests/AMI/client.cpp: * tests/AMI/server.cpp: Fixed misuse of ACE_CHECK_RETURN Mon Mar 05 20:29:00 2001 Nanbor Wang * tests/Collocation/Coll_Tester.cpp (init): Adding missing ACE_TRY_ENV to resolve_initial_reference(). Thanks to Ossama for pointing this out. Mon Mar 5 19:54:25 2001 Yamuna Krishnamurthy * orbsvcs/tests/AVStreams/Simple/ftp.h: * orbsvcs/tests/AVStreams/Simple/ftp.cpp: Removed unused client callbacks. Replaced char* with ACE_CString. Mon Mar 5 14:21:15 2001 Priyanka Gontla * tests/Strategies/server.cpp : Added ACE_TRY_ENV parameter to resolve_initial_references call. Mon Mar 5 14:21:05 2001 Jeff Parsons * orbsvcs/IFR_Service/Container_i.cpp: * orbsvcs/IFR_Service/ExceptionDef_i.cpp: * orbsvcs/IFR_Service/InterfaceDef_i.cpp: * orbsvcs/IFR_Service/OperationDef_i.cpp: * orbsvcs/IFR_Service/StructDef_i.cpp: * orbsvcs/IFR_Service/UnionDef_i.cpp: Added .in () to instances where the 'type_def' member of the struct StructMember, UnionMember, or ParameterDescription is passed as an argument. The type of that member in each case is IDLType_var. Mon Mar 5 11:37:18 2001 Fuzz Master D * tests/Leader_Followers/run_test_mt.pl: (added) * tests/Param_Test/run_test_dii.pl: Fixed to work on both Windows and Linux (and Solaris should follow Linux). Mon Mar 5 11:24:05 2001 Carlos O'Ryan * orbsvcs/Event_Service/Event_Service.cpp: * orbsvcs/tests/EC_Basic/EC_Basic.cpp: * orbsvcs/tests/EC_Custom_Marshal/ECM_Consumer.cpp: * orbsvcs/tests/EC_Custom_Marshal/ECM_Supplier.cpp: * orbsvcs/tests/EC_Mcast/EC_Mcast.cpp: * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: * orbsvcs/tests/EC_Throughput/ECT_Consumer_Driver.cpp: * orbsvcs/tests/EC_Throughput/ECT_Supplier_Driver.cpp: * orbsvcs/tests/EC_Throughput/ECT_Throughput.cpp: * orbsvcs/tests/Event/Basic/Observer.cpp: * orbsvcs/tests/Event/Performance/Latency.cpp: * orbsvcs/tests/Event/Performance/Latency_Server.cpp: * orbsvcs/tests/Event/lib/Driver.cpp: * orbsvcs/tests/Event_Latency/Event_Latency.cpp: Fixed more missing ACE_TRY_ENV in resolve_initial_references() Mon Mar 5 12:55:06 2001 Frank Hunleth * examples/PluggableUDP/DIOP/TAO_DIOP_Static.dsp: Removed bogus files from project file list. * examples/PluggableUDP/DIOP/DIOP_Connector.cpp: * examples/PluggableUDP/DIOP/DIOP_Transport.cpp: Fixed some comments that were causing warnings with the Windows builds. Mon Mar 5 12:24:05 2001 Jeff Parsons * tests/IDL_Test/main.cpp: Added ACE_TRY_ENV and check to the call to resolve_initial_references ("RootPOA"). Mon Mar 5 07:35:35 2001 Carlos O'Ryan * orbsvcs/tests/FaultTolerance/IOGRManipulation/Makefile: Fixed library name. Mon Mar 5 08:03:03 2001 Johnny Willemsen * tests/Makefile.bor * tests/Native_Exceptions/*.bor Added BCB specific makefiles for this test Mon Mar 5 07:59:00 2001 Michael Kircher * tests/AMI/client.cpp: * tests/AMI/simple_client.cpp: * tests/AMI/server.cpp: * examples/mfc/client.cpp: * examples/mfc/server.cpp: Fixed exception handling, especially missing ACE_TRY_ENVs for CORBA::ORB::resolve_initial_references (). Thanks to Ossama for pointing this out. * examples/PluggableUDP/Diop/README: Added a small paragraph about the limitations of the current DIOP implemenation. Also, added a disclaimer. Mon Mar 5 04:42:52 2001 Yamuna Krishnamurthy * orbsvcs/tests/AVStreams/Simple/ftp.h: * orbsvcs/tests/AVStreams/Simple/ftp.cpp: * orbsvcs/tests/AVStreams/Simple/server.h: * orbsvcs/tests/AVStreams/Simple/server.cpp: * orbsvcs/tests/AVStreams/Simple/README: * orbsvcs/tests/AVStreams/Simple/run_test.pl: Added a new test to the AVStreams tests in order to demonstrate the use of AVStreams Service to pace data at a specified frame rate. Mon Mar 5 01:26:42 2001 Fuzz Master D * orbsvcs/examples/CosEC/RtEC_Based/tests/Multiple/run_test.pl: * orbsvcs/examples/CosEC/RtEC_Based/tests/Multiple/run_test2.pl: * orbsvcs/examples/CosEC/Simple/run_test.pl: * orbsvcs/examples/RtEC/Simple/run_test.pl: The last of the PerlACE::Run_Test changes. Everything else that still uses ACEutils does so because they need more help than I can provide right now (mostly using redirection in the scripts, which does not work on Windows in either the new or old Process module). But anyway, I'll still use it to signify the close to my career as the the group Perl junkie. Somewhat fitting that what started off with what I believe was a run_test script for IDL_Cubit and its associated Process module ended with changing most every run_test for a new PerlACE::Process module. Let's have a moment of silence for remembrance. I think that's long enough. Seriously, the main reason I wanted a moment of silence is so I can clearly hear the anguished cries from all those who find out that they get to maintain my perl scripts once I leave. ;-) Mon Mar 05 09:10:27 2001 Johnny Willemsen * examples/Makefile.bor: * examples/PluggableUDP/Makefile.bor: * examples/PluggableUDP/tests/Makefile.bor: * examples/PluggableUDP/Diop/Makefile.bor: Included Diop in the BCB build and make tests makefile empty because for tests there is no correct client and server makefile yet Sun Mar 04 23:00:59 2001 Ossama Othman * tao/ORB.h (run): Updated comments for the ORB::run() method. This method, as implemented by TAO, no longer returns an "int" error status (see Carlos' ChangeLog entry from Feb 13). The CORBA spec calls for a "void" return type. Sun Mar 04 21:43:51 2001 Carlos O'Ryan * orbsvcs/CosEvent_Service/Makefile: * orbsvcs/Dump_Schedule/Makefile: * orbsvcs/Event_Service/Makefile: * orbsvcs/LifeCycle_Service/Makefile: * orbsvcs/Logging_Service/Makefile: * orbsvcs/Notify_Service/Makefile: * orbsvcs/Scheduling_Service/Makefile: * orbsvcs/tests/AVStreams/benchmark/Makefile: * orbsvcs/tests/CosEvent/Basic/Makefile: * orbsvcs/tests/EC_Basic/Makefile: * orbsvcs/tests/EC_Custom_Marshal/Makefile: * orbsvcs/tests/EC_Multiple/Makefile: * orbsvcs/tests/EC_Throughput/Makefile: * orbsvcs/tests/Event/Basic/Makefile: * orbsvcs/tests/Event/Performance/Makefile: * orbsvcs/tests/Event_Latency/Makefile: * orbsvcs/tests/FaultTolerance/IOGR/Makefile: * orbsvcs/tests/FaultTolerance/IOGRManipulation/Makefile: * orbsvcs/tests/Sched/Makefile: * orbsvcs/tests/Trading/Makefile: * orbsvcs/tests/ior_corbaname/Makefile: The libraries added to support QNX were not in the right order, it should be fixed now. * orbsvcs/orbsvcs/Notify/Notify_Event_Manager.h: * orbsvcs/orbsvcs/Notify/Notify_Event_Manager.i: * orbsvcs/orbsvcs/Notify/Notify_Event_Processor.h: * orbsvcs/orbsvcs/Notify/Notify_Event_Processor.cpp: * orbsvcs/orbsvcs/Notify/Notify_EventChannelFactory_i.h: Several minor cosmetic fixes. Sun Mar 04 20:15:33 2001 Ossama Othman * examples/Content_Server/SMI_Iterator/client.cpp (retrieve_data): * examples/Content_Server/AMI_Iterator/Iterator_Handler.cpp (initialize_content_iterator): * examples/Content_Server/AMI_Observer/Callback_i.cpp (Callback_i): Windows doesn't like the POSIX.1 mode constants I was using in these files. Use the ACE_DEFAULT_FILE_PERMS macro instead to work-around Windows-specific stuff like this. Fixed error messages so that they properly display filename with which the error was associated. Sun Mar 4 21:39:03 2001 Frank Hunleth * tao/corbafwd.h: Commented in TAO_TAG_UDP_PROFILE now that DIOP is being built regularly. * examples/PluggableUDP/DIOP/DIOP_Connector.cpp: * examples/PluggableUDP/DIOP/DIOP_Transport.cpp: Fixed compile warnings under Linux. Sun Mar 4 19:12:59 2001 Darrell Brunsch * examples/Callback_Quoter/Consumer.dsp: * examples/Callback_Quoter/Notifier.dsp: * examples/Callback_Quoter/Supplier.dsp: * examples/Load_Balancing/client.dsp: * examples/Load_Balancing/server.dsp: * examples/Load_Balancing/service.dsp: * examples/Persistent_Grid/Persistent_Grid_Client_Files.dsp: * examples/Persistent_Grid/Persistent_Grid_Second_Client_Files.dsp: * examples/Persistent_Grid/Persistent_Grid_Server_Files.dsp: * orbsvcs/tests/EC_Basic/EC_Basic.dsp: * orbsvcs/tests/EC_Custom_Marshal/ECCM_Consumer.dsp: * orbsvcs/tests/EC_Custom_Marshal/ECCM_Supplier.dsp: * orbsvcs/tests/Interoperable_Naming/client.dsp: * orbsvcs/tests/LoadBalancing/client.dsp: * orbsvcs/tests/LoadBalancing/server.dsp: * orbsvcs/tests/Simple_Naming/client.dsp: * orbsvcs/tests/Trading/Colocated_Test.dsp: * orbsvcs/tests/Trading/Export_Test.dsp: * orbsvcs/tests/Trading/Import_Test.dsp: * orbsvcs/tests/Trading/TradingLib.dsp: * tests/AMI/AMI_Test_Client.dsp: * tests/AMI/AMI_Test_Server.dsp: * tests/AMI/AMI_Test_Simple_Client.dsp: * tests/AMI_Timeouts/client.dsp: * tests/AMI_Timeouts/server.dsp: * tests/DynAny_Test/basic_test.dsp: * tests/Multiple/Client.dsp: * tests/Multiple/Server.dsp: * tests/Native_Exceptions/client.dsp: * tests/ORB_destroy/ORB_destroy.dsp: * tests/Native_Exceptions/server.dsp: * tests/Object_Loader/Test_DLL.dsp: * tests/Object_Loader/driver.dsp: * tests/Portable_Interceptors/Benchmark/client.dsp: * tests/Portable_Interceptors/Benchmark/server.dsp: * tests/Smart_Proxies/client.dsp: * tests/Smart_Proxies/server.dsp: * tests/Timeout/client.dsp: * tests/Timeout/server.dsp: Fixed problems with outputting the release executables into the wrong directory. * tests/CDR/alignment.dsp: (added) * tests/CDR/allocator.dsp: (added) * tests/CDR/CDR.dsw: Added a couple of missing projects. * tests/Leader_Followers/run_test.pl: * tests/Leader_Followers/run_test_mt.pl: Split the actions of this test into 2 run_tests, so it doesn't hit the sandbox timeout in the nightly builds. * examples/Buffered_AMI/run_test.pl: * examples/Buffered_Oneways/run_test.pl: * examples/Callback_Quoter/run_test.pl: * examples/Load_Balancing/run_test.pl: * examples/Logging/run_test.pl: * examples/OBV/Typed_Events/run_test.pl: * examples/PluggableUDP/tests/run_test.pl: * examples/POA/Forwarding/run_test.pl: * examples/Persistent_Grid/run_test.pl: * examples/Simple/bank/run_test.pl: * examples/Simple/echo/run_test.pl: * examples/Simple/grid/run_test.pl: * examples/Simple/time/run_test.pl: * examples/Simple/time-date/run_test.pl: * orbsvcs/tests/AVStreams/Full_Profile/run_test.pl: * orbsvcs/tests/AVStreams/Latency/run_test.pl: * orbsvcs/tests/AVStreams/Multicast/run_test.pl: * orbsvcs/tests/AVStreams/Multicast_Full_Profile/run_test.pl: * orbsvcs/tests/AVStreams/Pluggable/run_test.pl: * orbsvcs/tests/AVStreams/benchmark/run_test.pl: * orbsvcs/tests/CosEvent/Basic/run_test.pl: * orbsvcs/tests/EC_Basic/run_test.pl: * orbsvcs/tests/EC_Custom_Marshal/run_test.pl: * orbsvcs/tests/EC_Mcast/run_test.pl: * orbsvcs/tests/EC_Multiple/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/Event_Latency/run_test.pl: * orbsvcs/tests/ImplRepo/run_test.pl: * orbsvcs/tests/ImplRepo/NameService/run_test.pl: * orbsvcs/tests/InterfaceRepo/Application_Test/run_test.pl: * orbsvcs/tests/InterfaceRepo/IFR_Test/run_test.pl: * orbsvcs/tests/InterfaceRepo/Persistence_Test/run_test.pl: * orbsvcs/tests/Interoperable_Naming/run_test.pl: * orbsvcs/tests/Property/run_test.pl: * orbsvcs/tests/Simple_Naming/process-m-output.pl: * orbsvcs/tests/Simple_Naming/run_test.pl: * orbsvcs/tests/Time/run_test.pl: * orbsvcs/tests/Trading/run_test.pl: * tests/AMI/run_test.pl: * tests/AMI_Timeouts/run_test.pl: * tests/BiDirectional/run_test.pl: * tests/BiDirectional_NestedUpcall/run_test.pl: * tests/CDR/run_test.pl: * tests/Codec/run_test.pl: * tests/Connection_Purging/run_test.pl: * tests/DSI_Gateway/run_test.pl: * tests/DynAny_Test/run_test.pl: * tests/Endpoint_Per_Priority/run_test.pl: * tests/Exposed_Policies/run_test.pl: * tests/Faults/run_test.pl: * tests/Forwarding/run_test.pl: * tests/IDL_Test/run_test.pl: * tests/IORManipulation/run_test.pl: * tests/InterOp-Naming/run_test.pl: * tests/Leader_Followers/run_test.pl: * tests/LongUpcalls/run_test.pl: * tests/LongWrites/run_test.pl: * tests/MT_Client/run_test.pl: * tests/MT_Server/run_test.pl: * tests/Multiple/run_test.pl: * tests/Multiple_Inheritance/run_test.pl: * tests/Native_Exceptions/run_test.pl: * tests/NestedUpcall/MT_Client_Test/run_test.pl: * tests/NestedUpcall/Simple/run_test.pl: * tests/NestedUpcall/Triangle_Test/run_test.pl: * tests/Nested_Event_Loop/run_test.pl: * tests/ORB_destroy/run_test.pl: * tests/ORB_init/run_test.pl: * tests/Object_Loader/run_test.pl: * tests/OctetSeq/run_test.pl: * tests/POA/Deactivation/run_test.pl: * tests/POA/Destruction/run_test.pl: * tests/POA/Identity/run_test.pl: * tests/POA/Non_Servant_Upcalls/run_test.pl: * tests/POA/wait_for_completion/run_test.pl: * tests/Param_Test/run_test.pl: * tests/Param_Test/run_test_dii.pl: * tests/Policies/run_test.pl: * tests/Portable_Interceptors/Benchmark/run_test.pl: * tests/Portable_Interceptors/Dynamic/run_test.pl: * tests/Portable_Interceptors/ForwardRequest/run_test.pl: * tests/Portable_Interceptors/IORInterceptor/run_test.pl: * tests/Portable_Interceptors/Service_Context_Manipulation/run_test.pl: * tests/RTCORBA/Banded_Connections/run_test.pl: * tests/RTCORBA/Client_Propagated/run_test.pl: * tests/RTCORBA/Client_Protocol/run_test.pl: * tests/RTCORBA/Explicit_Binding/run_test.pl: * tests/RTCORBA/MT_Client_Protocol_Priority/process-output.pl: * tests/RTCORBA/MT_Client_Protocol_Priority/run_test.pl: * tests/RTCORBA/Private_Connection/run_test.pl: * tests/RTCORBA/RTMutex/run_test.pl: * tests/RTCORBA/Server_Declared/run_test.pl: * tests/RTCORBA/Server_Protocol/run_test.pl: * tests/Smart_Proxies/run_test.pl: * tests/Smart_Proxies/Benchmark/run_test.pl: * tests/Smart_Proxies/On_Demand/run_test.pl: * tests/Smart_Proxies/Policy/run_test.pl: * tests/Timed_Buffered_Oneways/run_test.pl: * tests/Timeout/run_test.pl: * tests/Xt_Stopwatch/run_test.pl: * tests/ior_corbaloc/run_test.pl: Updated to use PerlACE::Run_Test; Sun Mar 04 16:01:50 2001 Ossama Othman * tao/RT_Current.h: * tao/RT_Mutex.h: * tao/RT_ORB.h: * tao/RT_Policy_i.h: Removed inclusion of `tao/RTCORBAS.h'. The RTCORBA module only defines local interfaces, so there is no need to include this header. Included `tao/RTCORBAC.h' instead. This reduces header dependencies. * tao/RTCORBAC.cpp: * tao/TAOC.cpp: * tao/TimeBaseC.cpp: We should never include a skeleton header for the same IDL in the corresponding stub sources. Removed those includes (e.g. removed '#include "tao/TAOS.h"' from TAOC.cpp). * tao/Makefile: * tao/Makefile.bor: * tao/TAO.dsp: * tao/TAO_Static.dsp: Do not compile the following empty skeleton files: CONV_FRAMES GIOPS IOPS PollableS RTCORBAS TAOS Sun Mar 04 13:55:28 2001 Carlos O'Ryan * examples/AMI/FL_Callback/peer.cpp: * examples/AMI/FL_Callback/progress.cpp: * tests/DSI_Gateway/gateway.cpp: * tests/DSI_Gateway/server.cpp: * tests/Endpoint_Per_Priority/client.cpp: * tests/Endpoint_Per_Priority/server.cpp: * tests/FL_Cube/server.cpp: * tests/Faults/client.cpp: * tests/Faults/middle.cpp: * tests/Faults/server.cpp: * tests/LongUpcalls/ami_client.cpp: * tests/LongUpcalls/ami_server.cpp: * tests/LongUpcalls/blocking_client.cpp: * tests/LongUpcalls/blocking_server.cpp: * tests/LongWrites/client.cpp: * tests/LongWrites/server.cpp: * tests/MT_Client/server.cpp: * tests/MT_Server/server.cpp: More calls to resolve_initial_references() with a missing ACE_TRY_ENV Sun Mar 04 13:14:39 2001 Carlos O'Ryan * tao/PP_Memory_Management.txt: The memory management rules for TAO's pluggable protocol framework were poorly documented. This file should capture that, currently it describes a proposal more than the current behavior. Sun Mar 4 13:29:09 2001 Frank Hunleth * tao/RTCORBA.pidl: * tao/IOP.pidl: * tao/RTPOA.pidl: Updated to CORBA v2.4.2 (February 2001) versions. Only comments were changed in IOP.pidl and RTPOA.pidl. In RTCORBA.pidl, all of the PolicyTypes were changed from TAO specific numbers to OMG assigned numbers. Also, the create_tcp_protocol_properties factor method was added to RTORB, so that users can now instantiate instances of TCPProtocolProperties. * tao/RT_ORB.{h,cpp} (create_tcp_protocol_properties): Added implementation to return a new TCPProtocolProperties instance. * tao/RTCORBAC.{cpp,h,i}: * tao/RTCORBAS.{cpp,h,i}: * tao/RTCORBAS_T.{cpp,h,i}: * tao/diffs/RTCORBAC.cpp.diff: * tao/diffs/RTCORBAC.h.diff: * tao/diffs/RTCORBAS.cpp.diff: * tao/diffs/RTCORBAS.h.diff: Updated all the files generated from RTCORBA.pidl. Sun Mar 04 08:10:04 2001 Irfan Pyarali * Changed the following files to correctly use the CORBA::Environment parameter when calling . Thanks to Ossama for pointing this out. Under examples/POA: - Adapter_Activator/server.cpp - DSI/Database_i.cpp - DSI/server.cpp - Default_Servant/File_i.cpp - Default_Servant/server.cpp - Explicit_Activation/server.cpp - FindPOA/FindPOA.cpp - Forwarding/server.cpp - Loader/Server_Manager.cpp - NewPOA/NewPOA.cpp - On_Demand_Activation/server.cpp - On_Demand_Loading/Server_Manager.cpp - Reference_Counted_Servant/server.cpp - RootPOA/RootPOA.cpp - TIE/server.cpp Under tests/POA: - Deactivation/Deactivation.cpp - Destruction/Destruction.cpp - Identity/Identity.cpp - Non_Servant_Upcalls/Non_Servant_Upcalls.cpp - wait_for_completion/wait_for_completion.cpp Sun Mar 04 10:11:07 2001 Ossama Othman * tests/Smart_Proxies/Policy/server.cpp (shutdown): Added missing ACE_TRY_ENV parameter to the ORB::shutdown() call. (main): Fixed ORB::run() call so that it uses the standard calling convention (void return). Sun Mar 04 10:02:18 2001 Ossama Othman * tests/Smart_Proxies/Benchmark/server.cpp (box_prices, tickets): Fixed "unused argument" warnings. (shutdown): Added missing ACE_TRY_ENV parameter to the ORB::shutdown() call. (main): Fixed ORB::run() call so that it uses the standard calling convention (void return). Sun Mar 04 09:44:18 2001 Ossama Othman * tests/BiDirectional/client.cpp (main): * tests/BiDirectional/server.cpp (main): * tests/BiDirectional_NestedUpcall/client.cpp (main): * tests/BiDirectional_NestedUpcall/server.cpp (main): * tests/MProfile/server.cpp (main): * tests/MProfile_Forwarding/Manager.cpp (init): * tests/MProfile_Forwarding/server.cpp (main): * tests/QtTests/server.cpp (main): * tests/Smart_Proxies/Collocation/Coll_Tester.cpp (init): * tests/Xt_Stopwatch/server.cpp (main): Added missing ACE_TRY_ENV parameter to resolve_initial_references() call, and the corresponding ACE_CHECK/ACE_CHECK_RETURN/ACE_TRY_CHECK macro. * tests/Smart_Proxies/Benchmark/server.cpp (main): * tests/Smart_Proxies/Policy/server.cpp (main): Added missing ACE_TRY_CHECK after resolve_initial_references() call. Sun Mar 04 09:12:40 2001 Ossama Othman * tao/IFR_Client/InterfaceC.cpp: Moved inclusion of the `tao/PortableInterceptor.h' header outside of the "TAO_HAS_INTERCEPTORS" protected block. This header must remain visible since it contains the "TAO_INTERCEPTOR" macros. Note that this won't cause problems when portable interceptor support is disabled since those macros are always visible, too. Sun Mar 4 11:06:25 2001 Frank Hunleth * examples/PluggableUDP/README: * examples/PluggableUDP/DIOP/README: Added infomation about DIOP and PluggableUDP directories. * examples/PluggableUDP/tests/README: Moved some information about the implementation of DIOP into the ../DIOP/README file. Sun Mar 4 10:03:59 2001 Frank Hunleth * examples/PluggableUDP/tests/server.cpp: * examples/PluggableUDP/tests/client.cpp: Added missing ACE_TRY_ENV parameter to resolve_initial_references() per Ossama's request. * examples/PluggableUDP/tests/UDP_i.cpp: Fixed some compiler warnings under Linux. Sat Mar 03 23:32:29 2001 Ossama Othman * tests/AMI_Timeouts/timeout_client.cpp (init): * tests/AMI_Timeouts/timeout_client.cpp (init, svc): Renamed "init()" method to "initialize()." It conflicted with its base class "ACE_Task_Base::init()" method. Sat Mar 03 22:56:20 2001 Ossama Othman * tests/AMI_Timeouts/client.cpp (main): * tests/AMI_Timeouts/timeout_client.cpp (svc, init): * tests/AMI_Timeouts/server.cpp (main): Fixed compile-time problems related to emulated exceptions. ACE_TRY_NEW_ENV declares a CORBA::Environment within a do-while loop scope, so that Environment is not available outside of the loop. However, an ACE_CHECK_RETURN is done outside of the ACE_TRY_NEW_ENV block. Use ACE_DECLARE_NEW_CORBA_ENV instead. Added missing ACE_TRY_ENV parameter to the resolve_initial_references() and shutdown() calls. Corrected spelling. "Caught," not "Catched!" * tests/AMI_Timeouts/Makefile: Added missing dependencies. Sat Mar 3 16:31:31 2001 Darrell Brunsch * docs/TAO-metrics.html: * docs/TAO-tutorials.html: * docs/components.html: * docs/events_tutorial.html: * docs/poa_migration.html: * docs/reactivator.html: * docs/releasenotes.html: * docs/releasenotes/OBV.html: * docs/tutorials/Quoter/index.html: * docs/tutorials/Quoter/On_Demand_Activation/index.html: * docs/tutorials/Quoter/Simple/Impl-Repo/index.html: * docs/tutorials/Quoter/Simple/ImprovedServer/index.html: * docs/tutorials/Quoter/Simple/Persistent/index.html: Changed references to http://www.cs.wustl.edu/~schmidt/ACE_wrappers/* to relative paths instead (Fixes fuzz errors). * tao/ORB_Core.i: * tao/Stub.i: * tao/default_resource.cpp: * tao/Strategies/advanced_resource.cpp: Fixed bad ACE_TRACE's. (Fixes more fuzz errors) Sat Mar 3 16:31:07 2001 Frank Hunleth * examples/PluggableUDP/DIOP/DIOP_Acceptor.{cpp,i,h}: * examples/PluggableUDP/DIOP/DIOP_Connection_Handler.{cpp,i,h}: * examples/PluggableUDP/DIOP/DIOP_Connector.{cpp,h}: * examples/PluggableUDP/DIOP/DIOP_Endpoint.{cpp,i,h}: * examples/PluggableUDP/DIOP/DIOP_Factory.{cpp,h}: * examples/PluggableUDP/DIOP/DIOP_Profile.{cpp,i,h}: * examples/PluggableUDP/DIOP/DIOP_Transport.{cpp,i,h}: * examples/PluggableUDP/DIOP/diop_export.h: * examples/PluggableUDP/DIOP/Makefile: * examples/PluggableUDP/DIOP/Makefile.bor: * examples/PluggableUDP/DIOP/TAO_DIOP.dsp: * examples/PluggableUDP/DIOP/TAO_DIOP.dsw: * examples/PluggableUDP/DIOP/TAO_DIOP_Static.dsp: * examples/PluggableUDP/tests/Makefile: * examples/PluggableUDP/tests/Makefile.bor: * examples/PluggableUDP/tests/README: * examples/PluggableUDP/tests/UDP.dsw: * examples/PluggableUDP/tests/UDP.idl: * examples/PluggableUDP/tests/UDP_Client_i.{cpp,h}: * examples/PluggableUDP/tests/UDP_i.{cpp,h}: * examples/PluggableUDP/tests/client.cpp: * examples/PluggableUDP/tests/client.dsp: * examples/PluggableUDP/tests/run_test.pl: * examples/PluggableUDP/tests/server.cpp: * examples/PluggableUDP/tests/server.dsp: * examples/PluggableUDP/tests/svc.conf: Added UDP pluggable protocol and unit tests as a TAO example. This code was contributed by Michael Kircher and John Mackenzie as a TAO 1.1a pluggable protocol. The main changes from the original code include upgrading the pluggable protocol interfaces with the latest changes and moving the code from TAO/tao to a separate library. Sat Mar 03 15:28:34 2001 Ossama Othman * tao/PortableServer/Object_Adapter.cpp (open): Fixed broken memory management that I inadvertently introduced. This brings the code back to what it used to do before my change, but it uses a POA_Manager_var instead of an auto_ptr. Using the _var allows us to remove the auto_ptr template instantiation(s) for the POA_Manager. We technically shouldn't be using auto_ptrs on reference counted objects anyway, even though in this case there was no harm in doing so. * tao/PortableServer/POA.cpp: Removed auto_ptr and auto_ptr template instantiations. They are no longer needed, thus reducing the POA footprint slightly. (create_POA_i): Use a POA_var instead of an auto_ptr. The same reasoning from above applies here as well, i.e. auto_ptrs should not be used on reference counted objects. Sat Mar 3 13:12:00 2001 Carlos O'Ryan * tao/PortableServer/Object_Adapter.cpp: Fixed minor typo in the creation of the RootPOA Sat Mar 03 12:18:12 2001 Ossama Othman * tests/Codec/client.cpp (verify_data): Cleaned up test output so that it is HTML friendly (i.e. no tab characters). The output in our HTML build logs was slightly confusing. * tests/Codec/README: Updated expected test output. Sat Mar 03 11:46:36 2001 Ossama Othman * tests/Portable_Interceptors/ForwardRequest/server.bor: Fixed typo in the rule that builds the ServerRequestInterceptor stub. The test should once again build with Borland C++. Sat Mar 03 11:14:57 2001 Ossama Othman * tao/corbafwd.h: Added the CORBA::_tc_{OctetSeq,StringSeq,WStringSeq} TypeCode declarations. They were previously renamed to get around problems with compilers that lack support for namespaces. The proper workaround is to actually put them in the CORBA namespace by using the forward declaration / typedef trick used in this file. This also fixes a problem with these TypeCodes not being available due to the renaming. * tao/OctetSeqC.h: * tao/StringSeqC.h: Removed the _tc_CORBA_{OctetSeq,StringSeq,WStringSeq} declarations. They were hacks to get around compilers that do not support namespaces. The proper TypeCodes are now declared in the CORBA namespace in `corbafwd.h'. * tao/OctetSeqC.cpp: * tao/StringSeqC.cpp: Use the proper CORBA::_tc_{OctetSeq,StringSeq,WStringSeq} TypeCodes rather than broken renamed ones described above. This addresses CORBA compliance and interoperability problems. * tao/diffs/OctetSeq.diff: * tao/diffs/StringSeq.diff: Regenerated these diffs to include the above changes. Sat Mar 3 10:42:01 2001 Balachandran Natarajan * tests/Portable_Interceptors/ForwardRequest/Server_Request_Interceptor.cpp (forward_references): Fixed an exception specification. Sat Mar 03 02:10:00 2001 Ossama Othman * tao/PortableServer/ServerRequestInfo.cpp: Include "tao/PolicyC.h" to pull in declaration of CORBA::Policy::_nil(). This is particularly necessary for builds that disable compile-time support for CORBA Messaging since the Policy header doesn't get pulled in otherwise. Sat Mar 3 00:16:46 2001 Ossama Othman * tests/Portable_Interceptors/ForwardRequest/Makefile: Updated dependencies. Fixed one part of the build problems. (TAO_IDLFLAGS): Added missing IDL include path. `ServerRequestInterceptor.idl' includes "tao/PortableInterceptor.pidl". This is the other part of the build fix. (realclean): Added missing clean rules for the `ServerRequestInterceptor*' stubs and skeletons. Fri Mar 02 23:54:41 2001 Ossama Othman * tao/OctetSeqC.cpp: * tao/StringSeqC.cpp: Use the TAO_NAMESPACE_{TYPE,DEFINE} preprocessor to macros correct compile-time errors on platforms that do not define the ACE_HAS_USING_KEYWORD. Fixes a "multiple definition" compile-time error on those platforms. * tao/diffs/OctetSeq.diff: * tao/diffs/StringSeq.diff: Regenerated these diffs so that they include the above changes. Fri Mar 2 20:28:27 Angelo Corsaro * rules.tao.GNU: * orbsvcs/CosEvent_Service/Makefile: * orbsvcs/Dump_Schedule/Makefile: * orbsvcs/Event_Service/Makefile: * orbsvcs/LifeCycle_Service/Makefile: * orbsvcs/Logging_Service/Makefile: * orbsvcs/Notify_Service/Makefile: * orbsvcs/Scheduling_Service/Makefile: * orbsvcs/tests/AVStreams/benchmark/Makefile: * orbsvcs/tests/CosEvent/Basic/Makefile: * orbsvcs/tests/EC_Basic/Makefile: * orbsvcs/tests/EC_Custom_Marshal/Makefile: * orbsvcs/tests/EC_Multiple/Makefile: * orbsvcs/tests/EC_Throughput/Makefile: * orbsvcs/tests/Event/Basic/Makefile: * orbsvcs/tests/Event/Performance/Makefile: * orbsvcs/tests/Event_Latency/Makefile: * orbsvcs/tests/FaultTolerance/IOGR/Makefile: * orbsvcs/tests/FaultTolerance/IOGRManipulation/Makefile: * orbsvcs/tests/Sched/Makefile: * orbsvcs/tests/Trading/Makefile: * orbsvcs/tests/ior_corbaname/Makefile: Added the new macros: - TAO_DYNAMIC_LIBS - TAO_COS_NOTIFICATION_LIBS - TAO_RT_SCHED_LIBS - TAO_FAULT_TOLERANCE_LIBS - TAO_COS_TRADING_LIBS this macros expand to multiple libraries on QNX RTP, and this enable to work around a problem that is present currently in the QNX linker. For all othe platform these macro expand to the only library associated to the CORBA service. With this work aroun all the orbsvcs and almost all the orbsvcs test build. Fri Mar 2 16:16:45 2001 Ossama Othman * tao/Object.cpp (operator>>): Added "ERROR" to the error output so that our automated test suite will pick up the error message. Previously it was not detected. Clarified the error message a bit, as well. Fri Mar 02 15:39:28 2001 Nanbor Wang * tao/orbconf.h: Since MEM_Stream is not supported if position independent pointers are not, we need to disable SHMIOP in that case. Fri Mar 02 15:20:32 2001 Michael Kircher * tests/AMI_Timeouts/timout_client.cpp: Fixed a missing ".in ()" on a var type. Fri Mar 2 11:46:40 2001 Ossama Othman * tao/CodecFactory.cpp (create_codec): Fixed a "statement is unreachable" warning. * tao/PortableInterceptorC.h (sync_scope): Hide the ClientRequestInfo::sync_scope() method declaration if CORBA Messaging support isn't enabled. Fri Mar 2 11:37:43 2001 Ossama Othman * tao/PortableInterceptor.cpp: Moved code within the "TAO_HAS_INTERCEPTORS" block. Fixes a compile-time error on platforms with request interceptors disabled. Fri Mar 02 11:57:03 2001 Angelo Corsaro * tao/Connection_Handler.cpp (set_socket_option): Fixed mispelling in ACE_UNUSED_ARG, that was breaking QNX build. Fri Mar 02 09:32:33 2001 Ossama Othman * tests/Portable_Interceptors/ForwardRequest/Server_Request_Interceptor.cpp (~Server_Request_Interceptor, destroy): Moved release of the forward object references from the destructor to the destroy() method. There was a strange problem with interdependent object life cycles. The forward object references wouldn't be released unless the server request interceptor was destroyed (destructor called), and the interceptor wouldn't be destroyed unless the object references were released! I'll need to examine this issue further. In the meantime, the ServerRequestInterceptor::destroy() change gets around the problem nicely, and fixes the memory leaks. * tests/Portable_Interceptors/ForwardRequest/Server_ORBInitializer.cpp (post_init): Use ACE_TRY_ENV instead of TAO_ENV_ARG_PARAMETER. There is no reason to use the latter when calling ORB supplied methods. * tests/Portable_Interceptors/ForwardRequest/test_i.cpp: Removed debugging message from the destructor. Fri Mar 02 08:29:53 2001 Ossama Othman * docs/index.html: * docs/minimumTAO.html: * docs/pluggable_protocols/index.html: * docs/releasenotes/index.html: Fixed references to Doug's web site. Just link to the local files. There is no need to go remote. Thanks to Darrell's "Fuzz" script for picking these up. Fri Mar 02 08:13:34 2001 Ossama Othman * tests/Portable_Interceptors/ForwardRequest/Makefile (TAO_IDLFLAGS): Define the "CORBA3" preprocessor macro to make sure that the "local" keyword is enabled in the `tao/PortableInterceptor.pidl' file included by `ServerRequestInterceptor.idl'. Fri Mar 02 07:40:28 2001 Ossama Othman * tests/Portable_Interceptors/ForwardRequest/ServerRequestInterceptor.idl: Added this missing file. I neglected to commit it with my previous set of changes for this test. * tests/Portable_Interceptors/ForwardRequest/Makefile: * tests/Portable_Interceptors/ForwardRequest/server.bor: Added missing `ServerRequestInterceptor.idl' related rules to these Makefiles. * tests/Portable_Interceptors/ForwardRequest/server.dsp: Added missing header files to the header file list. Fri Mar 02 07:25:50 2001 Ossama Othman * tao/ORB_Core.cpp (destroy_interceptors): Fixed a compile-time warning that occured on native exception builds. Fri Mar 02 02:18:32 2001 Michael Kircher * tests/AMI_Timeouts/timeout_i.cpp: * tests/AMI_Timeouts/server.cpp: * tests/AMI_Timeouts/client.cpp: Fixed exception handling code. Fri Mar 2 02:15:32 2001 Michael Kircher * tao/Connection_Handler.cpp: Fixed a wrong "#elsif". Fri Mar 2 01:32:32 2001 Angelo Corsaro * tao/Connection_Handler.cpp (set_socket_option): Added ACE_UNUSED_ARG to avoid warning on those platform that lack SOCK_BUF_SIZE. Fri Mar 2 07:51:04 2001 Johnny Willemsen * tests/makefile.bor: * tests/Forwarding/*.bor: Added BCB specific makefiles for this TAO test Thu Mar 1 18:24:32 2001 Darrell Brunsch * examples/POA/Adapter_Activator/server.dsp: * examples/POA/DSI/client.dsp: * examples/POA/DSI/server.dsp: * examples/POA/Default_Servant/client.dsp: * examples/POA/Default_Servant/server.dsp: * examples/POA/FindPOA/FindPOA.dsp: * examples/POA/Forwarding/client.dsp: * examples/POA/Forwarding/server.dsp: * examples/POA/Generic_Servant/client.dsp: * examples/POA/NewPOA/NewPOA.dsp: * examples/POA/On_Demand_Activation/server.dsp: * examples/POA/Reference_Counted_Servant/server.dsp: * examples/POA/RootPOA/RootPOA.dsp: * examples/POA/TIE/client.dsp: * examples/POA/TIE/server.dsp: Release executables go into Release subdirectory. * examples/POA/Adapter_Activator/run_test.pl: * examples/POA/DSI/run_test.pl: * examples/POA/Default_Servant/run_test.pl: * examples/POA/Explicit_Activation/run_test.pl: * examples/POA/FindPOA/run_test.pl: * examples/POA/Forwarding/run_test.pl: * examples/POA/Loader/run_test.pl: * examples/POA/NewPOA/run_test.pl: * examples/POA/On_Demand_Activation/run_test.pl: * examples/POA/On_Demand_Loading/run_test.pl: * examples/POA/Reference_Counted_Servant/run_test.pl: * examples/POA/RootPOA/run_test.pl: * examples/POA/TIE/run_test.pl: More scripts using PerlACE::Run_Test. Yay! Thu Mar 1 18:51:45 2001 Jeff Parsons * TAO_IDL/be/be_visitor_array/array_ch.cpp: * TAO_IDL/be/be_visitor_array/array_ci.cpp: * TAO_IDL/be/be_visitor_sequence/sequence_ch.cpp: * TAO_IDL/be/be_visitor_sequence/sequence_ci.cpp: Disabled generation of _var and _out classes for anonymous sequences and arrays (those not declared in an IDL file via a typedef), as required by the spec. This closes [BUGID:677]. Thu Mar 1 15:54:54 2001 Ossama Othman * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Invocation_Interceptor.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Invocation_Interceptor.cpp (destroy): Added missing PortableInterceptor::Interceptor::destroy() implementation. Thu Mar 1 17:49:51 2001 Yamuna Krishnamurthy * orbsvcs/orbsvcs/AV/Protocol_Factory.cpp: * orbsvcs/orbsvcs/AV/FlowSpec_Entry.cpp: * orbsvcs/orbsvcs/AV/AV_Core.cpp: * orbsvcs/orbsvcs/AV/AVStreams_i.cpp: Removed unncessary ACE_DEBUGS and ensconced the others with TAO_debug_level checks. This should fix the tests from failing. Thu Mar 1 14:14:38 2001 Darrell Brunsch And today's quote is..... "What we call progress is the exchange of one Nuisance for another Nuisance." - Havelock Ellis This is the first in a set of updates to the run_test.pl scripts. The goal is to start running the tests for the Release configuration and for Borland. These setups output the executables into sub- directories, which wasn't handled too well by the old ACEutils.pm perl module. PerlACE::Run_Test contains an updated Process class which does a much better job of handling this (among other things). * performance-tests/Latency/deferred_synch_client.dsp: Changed the output executable name to match the other platforms. * performance-tests/RTCorba/Multiple_Endpoints/Endpoint_Per_Priority/Client.dsp: * performance-tests/RTCorba/Multiple_Endpoints/Endpoint_Per_Priority/Server.dsp: * performance-tests/RTCorba/Multiple_Endpoints/Orb_Per_Priority/Client.dsp: * performance-tests/RTCorba/Multiple_Endpoints/Orb_Per_Priority/Server.dsp: * performance-tests/RTCorba/Multiple_Endpoints/Single_Endpoint/Client.dsp: * performance-tests/RTCorba/Multiple_Endpoints/Single_Endpoint/Server.dsp: Output directory of Win32 Release executables should be "Release". * performance-tests/Cubit/TAO/IDL_Cubit/run_test.pl: Made sure to clean up shmiop files when finished. * performance-tests/Cubit/TAO/MT_Cubit/run_test.pl: Made some minor updates to make it more consistent with the rest of the run_test.pl scripts. * performance-tests/Callback/run_test.pl: * performance-tests/Cubit/TAO/DII_Cubit/run_test.pl: * performance-tests/Cubit/TAO/IDL_Cubit/run_test.pl: * performance-tests/Latency/multi_threaded.pl: * performance-tests/Latency/run_test.pl: * performance-tests/Latency/scalability.pl: * performance-tests/Latency/single_threaded.pl: * performance-tests/POA/Object_Creation_And_Registration/run_test.pl: * performance-tests/RTCorba/Multiple_Endpoints/Single_Endpoint/run-test.pl: * performance-tests/RTCorba/Multiple_Endpoints/Endpoint_Per_Priority/run-test.pl: * performance-tests/RTCorba/Multiple_Endpoints/Orb_Per_Priority/run-test.pl: * performance-tests/RTCorba/Oneways/Reliable/client_test.pl: * performance-tests/RTCorba/Oneways/Reliable/run_test.pl: Updated to use PerlACE::Run_Test. Thu Mar 1 15:21:53 2001 Jeff Parsons * tao/TypeCode.cpp: Modified private_member_label() to insert octet 0 into the Any label for the default index, as the spec requires. This closes out [BUGID:123]. Thu Mar 1 14:09:21 2001 Jeff Parsons * TAO_IDL/be/be_visitor_operation/interceptors_ss.cpp: * TAO_IDL/be/be_visitor_operation/operation_ss.cpp: Removed some extra generated carriage returns in interceptor skeleton code. Thu Mar 1 12:07:57 2001 Ossama Othman * tao/ClientRequestInfo.cpp (get_request_policy): Fixed "unused argument" warning in the case where compile-time support for CORBA Messaging is disabled. * tests/Makefile.bor (DIRS): Added the `Codec' test directory to list of directories to recurse into. Thu Mar 1 11:10:58 2001 Ossama Othman * tests/Makefile (DIRS): Added the `Codec' test directory to list of directories to recurse into. Thu Mar 1 10:51:14 2001 Ossama Othman * tests/Codec/client.cpp: Fixed compiler warnings. * tests/Codec/Makefile: Fixed typo, and updated dependencies. Thu Mar 1 10:39:49 2001 Ossama Othman * tao/ClientRequestInfo.inl (forward_reference): Fixed "unused argument" warning. * tao/ClientRequestInfo.cpp (get_request_policy): Only call CORBA::Object::_get_policy() if CORBA Messaging is enabled at compile-time. Fixes a compile-time error reported by Erik Johannes . * tao/PortableServer/Object_Adapter.cpp (dispatch): Cleaned up the interceptor related code slightly. Thu Mar 01 12:18:00 2001 Michael Kircher * tests/AMI_Timeouts/client.cpp: Added a ".in ()" when passing a _var as _ptr. * tests/AMI_Timeouts/Makefile: Added a missing space. * tests/AMI_Timeouts/timeout_i.cpp: Removed the name of some parameters which were not used. This should fix several compile warnings and errors. Thanks to Bala for hooking up the AMI_Timeouts test and reporting this. Thu Mar 01 09:38:28 2001 Ossama Othman * tao/CodecFactory.h: * tao/CodecFactory.cpp: New files containing the implementation of the IOP::CodecFactory interface as defined by the adopted Portable Interceptor specification (ptc/00-08-05). * tao/Codec_ORBInitializer.h: * tao/Codec_ORBInitializer.cpp: ORBInitializer that registers the CodecFactory reference with the ORB. * tao/CDR_Encaps_Codec.h: * tao/CDR_Encaps_Codec.cpp: New files containing the implementation of the IOP::Codec interface specifically for CDR encapsulations. * tao/ORB.cpp (init_orb_globals): Register the CodecFactory ORBInitializer with the ORB. * tao/ORBInitInfo.h: * tao/ORBInitInfo.cpp (codec_factory): Implemented this method, as required by the Portable Interceptor specification. Each ORBInitInfo method now retains its own copy of a CodecFactory. This was to done for ease of implementation. * tao/OctetSeq.pidl: * tao/StringSeq.pidl: Place the typedef in each of these PIDL files in the CORBA module. Previously they were incorrectly placed in the global namespace. [Bug 793] * tao/OctetSeqC.h: * tao/OctetSeqC.i: * tao/OctetSeqC.cpp: * tao/diffs/OctetSeq.diff * tao/StringSeqC.h: * tao/StringSeqC.i: * tao/StringSeqC.cpp: * tao/diffs/StringSeq.diff: Regenerated these files against the updated PIDL files. [Bug 793] * tao/PortableInterceptor.pidl: * tao/IOP.pidl: Updated with changes made in ptc/00-08-05. These changes include (1) moving Codec related interfaces to the IOP module, (2) addition of the Interceptor::destroy() method, and (3) addition of the IOP::TaggedComponentSeq type to the IOP module. * tao/PortableInterceptorC.h: * tao/PortableInterceptorC.i: * tao/PortableInterceptorC.cpp: * tao/diffs/PortableInterceptor.diff: * tao/IOPC.h: * tao/IOPC.i: * tao/IOPC.cpp: * tao/diffs/IOP.diff: Regenerated these files against the updated PIDL files. * tao/ClientRequestInfo.inl: * tao/ClientRequestInfo.cpp: * tao/PortableServer/ServerRequestInfo.inl: * tao/PortableServer/ServerRequestInfo.cpp: Removed all reference to LOCATION_FORWARD_PERMANENT. It is currently not supported by the CORBA and Portable Interceptor specifications. This may change in the future as FT CORBA issues are resolved. Added all missing exception minor codes. The final adopted Portable Interceptor specification specifies what they are (the joint submission did not). * tao/ClientRequestInfo.h: Made target_ member a "_ptr." The TAO_ClientRequestInfo no longer needs to release the reference. * tao/ClientRequestInfo.cpp (TAO_ClientRequestInfo): Do not duplicate the target object reference. There is no need to do so since it is guaranteed to be valid for the lifetime of the request. This removes a pair of locks from the critical path, thus improving performance. [Bug 795] * tao/ORB_Core.h: * tao/ORB_Core.cpp (destroy_interceptors): New helper method that invokes Interceptor::destroy() on all registered interceptors when ORB::destroy() is called. (destroy): Invoke the TAO_ORB_Core::destroy_interceptors() help method when ORB::destroy() is called. * tao/PortableInterceptor.i: * tao/PortableInterceptor.cpp: Un-inlined the destructors. They're already no-ops, and inlining them only serves to increase the footprint since inlined destructor code is placed at all exit points. * tao/TAO.dsp: * tao/TAO_Static.dsp: * tao/Makefile: * tao/Makefile.bor: Added Codec related filenames to these files. * tests/Codec/Codec.dsw: * tests/Codec/Makefile: * tests/Codec/Makefile.bor: * tests/Codec/README: * tests/Codec/client.bor: * tests/Codec/client.cpp: * tests/Codec/client.dsp: * tests/Codec/run_test.pl: * tests/Codec/test.idl: New test that verifies the CodecFactory and CDR encapsulation Codec objects are functioning properly. * tests/README: Added a description of the Codec test. * tests/Portable_Interceptors/Benchmark/interceptors.cpp: * tests/Portable_Interceptors/Benchmark/interceptors.h: * tests/Portable_Interceptors/Dynamic/interceptors.cpp: * tests/Portable_Interceptors/Dynamic/interceptors.h: * tests/Portable_Interceptors/ForwardRequest/Client_Request_Interceptor.cpp: * tests/Portable_Interceptors/ForwardRequest/Client_Request_Interceptor.h: * tests/Portable_Interceptors/ForwardRequest/Server_ORBInitializer.cpp: * tests/Portable_Interceptors/ForwardRequest/Server_ORBInitializer.h: * tests/Portable_Interceptors/ForwardRequest/Server_Request_Interceptor.cpp: * tests/Portable_Interceptors/ForwardRequest/Server_Request_Interceptor.h: * tests/Portable_Interceptors/ForwardRequest/server.cpp: * tests/Portable_Interceptors/ForwardRequest/server.dsp: * tests/Portable_Interceptors/ForwardRequest/test_i.cpp: * tests/Portable_Interceptors/ForwardRequest/test_i.h: * tests/Portable_Interceptors/IORInterceptor/FOO_ClientRequestInterceptor.cpp: * tests/Portable_Interceptors/IORInterceptor/FOO_ClientRequestInterceptor.h: * tests/Portable_Interceptors/IORInterceptor/FOO_IORInterceptor.cpp: * tests/Portable_Interceptors/IORInterceptor/FOO_IORInterceptor.h: * tests/Portable_Interceptors/Service_Context_Manipulation/interceptors.cpp: * tests/Portable_Interceptors/Service_Context_Manipulation/interceptors.h: Updated to conform to the Portable Interceptor support updates. * docs/interceptors.html: Updated current status of TAO's interceptor support (e.g. addition of the CodecFactory and CDR encapsulation Codec), and the reference list (URL for the adopted Portable Interceptor specification). Thu Mar 1 09:30:14 2001 Jeff Parsons * tao/IFR_Client/InterfaceC.i: * tao/IFR_Client/InterfaceC.h: * tao/IFR_Client/InterfaceC.cpp: * orbsvcs/IFR_Service/InterfaceS.h: * orbsvcs/IFR_Service/InterfaceS.cpp: Replaced the interceptor code I ill-advisedly removed some time ago. More changes are soon to come for these files, so the .diff files have not yet been regenerated. Wed Feb 28 20:44:37 2001 Yamuna Krishnamurthy * orbsvcs/tests/AVStreams/Pluggable/ftp.cpp: * orbsvcs/tests/AVStreams/Latency/pong.h: * orbsvcs/tests/AVStreams/Latency/ping.h: * orbsvcs/tests/AVStreams/Latency/ping.cpp: Fixed compile errors and warnings. Wed Feb 28 15:43:54 2001 Balachandran Natarajan * tao/orbconf.h: Fixed a small mistake for the default case. Wed Feb 28 15:23:46 2001 Balachandran Natarajan * docs/Options.html: Added documentation for the option "-ORBConnectionCacheLock". Wed Feb 28 15:20:07 2001 Balachandran Natarajan * tao/orbconf.h: Added a check to notify the users that compiling RT CORBA without CORBA Messaging support is an error. Wed Feb 28 14:23:41 2001 Balachandran Natarajan * tao/Tagged_Profile.h: * tao/Tagged_Profile.i: * tao/TAgged_Profile.cpp: This class held an instance of GIOP::IORAddressingInfo which in turn held an instance of TAO_String_Manager. This was a source of allocation and deallocation for every call along the critical path. We now rip open the GIOP::IORAddressingInfo structure and store the information that is just required like the and the . * tao/GIOP_Message_Generator_Parser.cpp: Added code to do a lazy evaluation of GIOP::IORAddressingInfo structure that we may receive. These changes should fix the bugzilla bug #798. Wed Feb 28 14:17:46 2001 Balachandran Natarajan * tests/Makefile: Added AMI_Timeouts to the list of directories. Wed Feb 28 14:16:00 2001 Balachandran Natarajan * tao/Stub.h: * tao/Stub.cpp (TAO_Stub): Changed the signature of the method create_ior_info (). Wed Feb 28 13:55:25 2001 Jeff Parsons * TAO_IDL/be/be_visitor_operation/operation_ss.cpp: Fixed indentation for generation of '_tao_server_request.argument_flag (0);' Wed Feb 28 09:43:35 2001 Jeff Parsons * tao/Any: Change the value() method to return the void* value_ member if the any owns its data. In this case, it must return something meaningful because we call it in the >>= operator for all but the simple types. Web Feb 28 09:36:03 2001 Johnny Willemsen * orbsvcs/tests/Makefile.bor * orbsvcs/tests/FaultTolerance/Makefile.bor The FaultTolerance test is now build with BCB Web Feb 28 09:02:51 2001 Johnny Willemsen * Makefile.bor * orbsvcs/tests/Makefile.bor * orbsvcs/tests/Simple_Naming/Makefile.bor The orbsvcs tests for which there is a correct BCB makefile are now build in the all build Tue Feb 27 17:45:55 2001 Yamuna Krishnamurthy * orbsvcs/tests/AVStreams/Latency/control.cpp: * orbsvcs/tests/AVStreams/Latency/pong.cpp: * orbsvcs/tests/AVStreams/Latency/ping.cpp: * orbsvcs/tests/AVStreams/Latency/run_test.pl: Added script to run test. Tue Feb 27 16:36:06 2001 Christopher Kohlhoff * orbsvcs/IFR_Service/tao_ifr.bor: Added library required for debug build. * tests/AMI_Timeouts/client.bor: * tests/AMI_Timeouts/server.bor: Added missing source file timeout_client.cpp. Tue Feb 27 15:23:37 2001 Yamuna Krishnamurthy * orbsvcs/tests/AVStreams/Pluggable/server.cpp: Fixed unused args compile warnings. Tue Feb 27 12:21:03 2001 Balachandran Natarajan * tao/IIOP_Connector.cpp: Moved the template instantiations to the top of the file as this was creating problem with SunCC 5.0. Thanks to Christian Mueffling for reporting this. * tao/UIOP_Connector.cpp: * tao/SHMIOP_Connector.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp: * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connector.cpp: Added the same fix for these protocols too. Tue Feb 27 12:17:18 2001 Jeff Parsons * tao/Any.cpp: Modified value() method to return 'this' if the Any contains some value, 0 otherwise. It is possible that the Any's void* value_ member could be 0 but the Any contains some value in its message block member. The 'this' pointer is returned to enforce the OMG warnings that the method will soon disappear from the spec and that its return value cannot be guaranteed to yield any useful value by casting. * tao/Sequence_T.cpp: * tao/Sequence.cpp: In the operator= methods in each sequence class, modified the case where the release_ member is 0 to set the buffer to 0 if rhs.maximum_ is 0. Otherwise allocbuf (0) is called, which may lead to problems. Thanks to Virgilijus Globis for reporting this bug. * tao/MessagingC.h: Removed two instances of a typedef of _tao_seq_Octet to _marshaled_exception_seq, in Messaging::ExceptionHolder and in OBV_Messaging::ExceptionHolder. These typedefs are no longer used or needed anywhere. * tao/Stub.cpp: Removed some extra parentheses in parse_policies. Tue Feb 27 11:34:00 2001 Balachandran Natarajan * tao/Invocation.cpp: * tao/Invocation.h: Removed the instance of IOP::IOR that was created on the stack in every call. This structure had a TAO_String_Manager which allocates memory in the constructor and destroys memory in the destructor. This allocation and deallocation comes into play for every call even when it is not used. * tao/Stub.cpp: * tao/Stub.h: * tao/Stub.i: Added a pointer to the IOP::IOR in this class. When the client receives an exception LOC_NEEDS_ADDRESSING_MODE, the actual information is prepared only once and passed on to the invocation classes for every subsequent call. Tue Feb 27 06:35:36 2001 Balachandran Natarajan * orbsvcs/orbsvcs/Trader/Constraint_Nodes.h (operands.): Fixed a typo that was generating quite a bit of errors. Tue Feb 27 04:32:00 2001 Yamuna Krishnamurthy * orbsvcs/tests/AVStreams/Multicast_Full_Profile/run_test.pl: * orbsvcs/tests/AVStreams/Multicast/run_test.pl: * orbsvcs/tests/AVStreams/Full_Profile/run_test.pl: * orbsvcs/tests/AVStreams/Pluggable/run_test.pl: Added scripts to run the AVStreams tests. Mon Feb 26 20:01:06 2001 Yamuna Krishnamurthy * orbsvcs/tests/AVStreams/Multicast_Full_Profile/ftp.cpp: * orbsvcs/tests/AVStreams/Multicast_Full_Profile/server.cpp: * orbsvcs/tests/AVStreams/Multicast/ftp.cpp: * orbsvcs/tests/AVStreams/Multicast/server.cpp: * orbsvcs/tests/AVStreams/Latency/control.cpp: * orbsvcs/tests/AVStreams/Full_Profile/ftp.cpp: * orbsvcs/tests/AVStreams/Full_Profile/server.cpp: * orbsvcs/tests/AVStreams/Pluggable/ftp.cpp: * orbsvcs/tests/AVStreams/Pluggable/server.cpp: Ensured clean termination of the processes. * orbsvcs/orbsvcs/AV/AVStreams_i.cpp: * orbsvcs/orbsvcs/AV/AVStreams_i.h: Corrected multicasting address formating to fix the Multicast and Multicast_Full_Profile tests. Also fixed the iteration through the reverse flow spec set in TAO_StreamEndPoint::start. Thanks to Craig Rodrigues for reporting these bugs. Mon Feb 26 19:05:57 2001 Douglas C. Schmidt * orbsvcs/orbsvcs/Trader/Constraint_Interpreter.h: * orbsvcs/orbsvcs/Trader/Constraint_Nodes.h: * orbsvcs/orbsvcs/Trader/Constraint_Visitors.h: * orbsvcs/orbsvcs/Trader/Trader_Constraint_Visitors.h: Added some TAO_Trading_Export macros to export some classes from the Trading Service library. Thanks to Lothar Werzinger for reporting this and submitting the patches. Mon Feb 26 16:34:55 2001 Christopher Kohlhoff * orbsvcs/IFR_Service/IFR_Service.bor: * orbsvcs/IFR_Service/TAO_IFR_BE_DLL.bor: * orbsvcs/IFR_Service/TypeCodeFactory_DLL.bor: Fixed build of IFR_Service with Borland. * orbsvcs/TAO_Service/Makefile.bor: Added Borland makefile for the TAO_Service. * orbsvcs/Makefile.bor: Include IFR_Service and TAO_Service in default build. Mon Feb 26 15:35:10 2001 Phil Mesnier Port to Unixware 7 (7.1.1) Using UDK CC (7.1.1.b) * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp: * orbsvcs/orbsvcs/AV/AVStreams_i.cpp: * orbsvcs/orbsvcs/Log/LogMgr_i.cpp: * orbsvcs/orbsvcs/Notify/Notify_Constraint_Visitors.cpp: * orbsvcs/orbsvcs/Notify/Notify_EventChannelFactory_i.cpp: * orbsvcs/orbsvcs/Notify/Notify_EventChannel_i.cpp: * orbsvcs/orbsvcs/Notify/Notify_FilterAdmin_i.cpp: * orbsvcs/orbsvcs/Notify/Notify_ProxyPushSupplier_i.cpp: * orbsvcs/orbsvcs/Notify/Notify_SupplierAdmin_i.cpp: * orbsvcs/orbsvcs/Trader/Interpreter_Utils.cpp: * orbsvcs/tests/AVStreams/Latency/ping.cpp: * orbsvcs/tests/AVStreams/Latency/pong.cpp: * orbsvcs/tests/AVStreams/Multicast_Full_Profile/ftp.cpp: * orbsvcs/tests/AVStreams/Multicast_Full_Profile/server.cpp: * tao/CORBALOC_Parser.cpp: * tao/RT_ORB.cpp: * tao/default_resource.cpp: * tao/Strategies/SHMIOP_Acceptor.cpp: * tao/Strategies/SHMIOP_Connector.cpp: * tao/Strategies/UIOP_Acceptor.cpp: Fixed errors in #pragma instiate lines including removal of ';', mispellings Mon Feb 26 14:09:29 2001 Balachandran Natarajan * tests/Collocation/Diamond_i.cpp (color): Fixed a warning in Tru64_CXX builds. Mon Feb 26 12:52:48 2001 Jeff Parsons * tao/Asynch_Invocation.h: * tao/Asynch_Invocation.i: * tao/Invocation.cpp: * tao/Invocation.h: * tao/Invocation.i: * tao/DynamicInterface/DII_Invocation.h: * tao/DynamicInterface/DII_Invocation.inl: Added default argument to constructors that will determine the byte order of the contained CDR stream. The default is native byte order, but can be modified by a gateway if it is handling a request in non-native byte order. * tao/GIOP_Message_Base.cpp: In write_protocol_header(), added code to toggle the byte order field based on the byte order of the CDR stream that is passed in. * tao/DynamicInterface/Request.cpp: * tao/DynamicInterface/Request.h: * tao/DynamicInterface/Request.inl: * tao/DynamicInterface/Server_Request.h: * tao/DynamicInterface/Server_Request.inl: Added accessors to the byte order of the underlying invocation. These will be used by a gateway to preserve the byte order of a request it is handling, even if it is a byte order different than that of the gateway's platform. CORBA::Request also stores the byte order as state, so the reply can be checked for a change in byte order. * tests/DSI_Gateway/test_dsi.cpp: Added lines to the gateway's invoke() method to use the above accessors, to get and set the appropriate byte orders immediately before and after the call to CORBA::Request::invoke(). Mon Feb 26 10:28:45 2001 Darrell Brunsch * tests/Param_Test/anyop.dsp: Fixed CR->CR/LF problem. Mon Feb 26 11:40:00 2001 Michael Kircher * tests/AMI_Timeouts/timeout_i.cpp: Added some missing throw specs on method implementations. Thanks to Johnny Willemsen for pointing this out. Mon Feb 26 09:32:24 2001 Carlos O'Ryan * performance-tests/RTCorba/Oneways/Reliable/client.cpp: * tests/Single_Read/client.cpp: * tests/Timed_Buffered_Oneways/client.cpp: Fixed gcc-272 compilation problems, all related to constructs like Foo::data data (...); I used Foo::data the_data (...); and things are happy now. * examples/OBV/Typed_Events/Client_i.cpp: * examples/OBV/Typed_Events/Event_Types_impl.cpp: * examples/OBV/Typed_Events/Server_i.cpp: Fixed more gcc-272 compilation problems about ambiguous initialization of T_var, changed from T_var x(new T_impl); to T_var x(ACE_static_cast(T*,new T_impl)); * tests/Smart_Proxies/Makefile: * tests/Smart_Proxies/On_Demand/Makefile: * tests/Smart_Proxies/Policy/Makefile: Removed -I options from LDFLAGS. Mon Feb 26 09:30:00 2001 Michael Kircher * tests/Makefile.bor: Added the AMI_Timouts directory to that makefile. Thanks to Johnny Willemsen for pointing this out. * tests/AMI_Timeouts/timeout_i.cpp: Added some missing throw specs on method implementations. Thanks to Johnny Willemsen for pointing this out. Mon Feb 26 06:45:00 2001 Michael Kircher * tao/Asynch_Reply_Dispatcher.cpp: Compilers were complaining about a unused argument. I fixed it by removing the name of the argument; this should take care of it. Thanks to Bala for pointing that out. Mon Feb 26 03:45:00 2001 Michael Kircher * tao/Asynch_Timeout_Handler.cpp: * tao/Asynch_Timeout_Handler.h: Added these two files. This class implements an event handler for timeouts on AMI invocations. The timeout handler is registered for timeouts with the ORB by the asynch invocation object. When the reply does not arrive right in time, the timer expires and the timeout handler is invoked. The timeout handler knows the correct transport mux strategy and the asynch reply dispatcher for the reply, which timed out. On timeout the timeout handler unbinds the reply dispatcher from the transport mux strategy and informs the reply dispatcher that the reply timed out. The asynch reply dispatcher informs the associated reply handler in the application about this by raising the timeout exception. The reply dispatcher will commit suicide after that. The timeout handler itself unregisters itself from the reactor and commits suicide in handle_close. Note: The timeout handler should be allocated statically in the reply dispatcher, instead - as it is now - of being allocated dynamically in the asynch invocation object. Thanks Carlos. But how can we know in the constructor of the reply dispatcher (which is the right place to allocate it statically) whether timeouts are actually enabled. If they are not enabled, we might waste memory for something not needed? * tao/Asynch_Reply_Dispatcher.cpp: * tao/Asynch_Reply_Dispatcher.h: Added a new method which is invoked by the timeout handler on timeout. This method informs the application reply handler about the timeout by raising the timeout exception. At the end of that method the reply dispatcher commits suicide as it is no longer needed - it was dynamically allocated, as the original asynch invocation object has gone away before (asynchrony!). If the reply arrives right in time the reply dispatcher unregisters the timeout handler from the reactor and deletes it. * tao/Asynch_Invocation.cpp: Added code to the actual invocation path. The timeout handler is dynamically allocated and registered with the reactor for timeouts. It is then handed over to the asynch reply dispatcher for later usage. * tao/TAO.dsp: * tao/TAO_Static.dsp: * tao/Makefile: * tao/Makefile.am: * tao/Makefile.bor: Added the Asynch_Timeout_Handler.{h,cpp} files to these files. Dependencies in need to be updated. * tests/AMI_Timeouts/client.bor: Added this file as Borland specific Makefile for the client. * tests/AMI_Timeouts/Makefile * tests/AMI_Timeouts/Makefile.bor * tests/AMI_Timeouts/README * tests/AMI_Timeouts/client.cpp * tests/AMI_Timeouts/client.dsp * tests/AMI_Timeouts/run_test.pl * tests/AMI_Timeouts/server.bor * tests/AMI_Timeouts/server.cpp * tests/AMI_Timeouts/server.dsp * tests/AMI_Timeouts/svc.conf * tests/AMI_Timeouts/timeout_client.cpp * tests/AMI_Timeouts/timeout_client.h * tests/AMI_Timeouts/timeout_i.cpp * tests/AMI_Timeouts/timeout_i.h: Updated these files to reflect latest modifications on the AMI Timeout test. Mon Feb 26 09:46:04 2001 Johnny Willemsen * tests/makefile.bor: * tests/Bidirectional_NestedUpcall/*.bor Added Borland C++ Builder specific makefiles for this test Mon Feb 26 00:19:28 2001 Darrell Brunsch Time to do some spring cleaning... * TAO/examples/Simple/time/client.dsp: * TAO/examples/Simple/time/server.dsp: * TAO/orbsvcs/Naming_Service/NT_Naming_Service.dsp: * TAO/orbsvcs/Naming_Service/Naming_Service.dsp: * TAO/tao/TAO.dsp: Removed Win32 Alpha configurations. See ACE changelog for more info. Mon Feb 26 01:47:04 2001 Pradeep Gore * orbsvcs/Notify_Service/Notify_Service.cpp: * orbsvcs/Notify_Service/svc.conf: Corrected the "-Notify_TPReactor" option. * orbsvcs/orbsvcs/Notify/Notify_Default_EMO_Factory.cpp: * orbsvcs/orbsvcs/Notify/Notify_Default_EMO_Factory.h: * orbsvcs/Notify_Service/README: - Added the "-AllocateTaskperProxy" option to pre-allocate the worker task(s) used in event processing. - Added "-AsynchUpdates" option to send subscription/publication updates asynchromously. - Event Manager Object Factory is allocated per channel now. * orbsvcs/orbsvcs/Notify/Notify_Buffering_Strategy.cpp: * orbsvcs/orbsvcs/Notify/Notify_ConsumerAdmin_i.cpp: * orbsvcs/orbsvcs/Notify/Notify_Default_Collection_Factory.cpp: * orbsvcs/orbsvcs/Notify/Notify_Default_POA_Factory.cpp: * orbsvcs/orbsvcs/Notify/Notify_EventChannel_i.cpp: * 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_Processor.cpp: * orbsvcs/orbsvcs/Notify/Notify_Factory.cpp: * orbsvcs/orbsvcs/Notify/Notify_Factory.h: * orbsvcs/orbsvcs/Notify/Notify_Filter_i.cpp: * orbsvcs/orbsvcs/Notify/Notify_MT_Worker_Task.cpp: * orbsvcs/orbsvcs/Notify/Notify_ProxyConsumer_T.cpp: * orbsvcs/orbsvcs/Notify/Notify_ProxySupplier_T.cpp: * orbsvcs/orbsvcs/Notify/Notify_Proxy_T.cpp: * orbsvcs/orbsvcs/Notify/Notify_SupplierAdmin_i.cpp: Trivial debug messages will print conditionally. use ORBDebugLevel option to see debug messages. * orbsvcs/tests/Notify/performance-tests/RedGreen/README: * orbsvcs/tests/Notify/performance-tests/RedGreen/listener.conf: * orbsvcs/tests/Notify/performance-tests/RedGreen/lookup.conf: Updates files to correct configurations. Mon Feb 26 01:24:00 2001 Michael Kircher * TAO/ValueBase.cpp: The code of value types needs a urgent repair in many places. With this change I fixed how the ORB was obtained - from fetching it via TAO_ORB_Core_instance to fetching it via the CDR stream, which owns a correct reference to it. With TAO_ORB_Core_instance we could have actually fetched the wrong ORB. Sun Feb 25 19:37:24 2001 Carlos O'Ryan * examples/POA/Adapter_Activator/run_test.pl: * examples/POA/DSI/run_test.pl: * examples/POA/Explicit_Activation/run_test.pl: * examples/POA/FindPOA/run_test.pl: * examples/POA/Forwarding/run_test.pl: * examples/POA/Loader/run_test.pl: * examples/POA/NewPOA/run_test.pl: * examples/POA/On_Demand_Activation/run_test.pl: * examples/POA/On_Demand_Loading/run_test.pl: * examples/POA/Reference_Counted_Servant/run_test.pl: * examples/POA/RootPOA/run_test.pl: * examples/POA/TIE/run_test.pl: Instead of pushing a new directory to @INC we use 'use lib ;' much cleaner and it works with 'use Foo;'. Sun Feb 25 11:31:47 2001 Carlos O'Ryan * examples/POA/Adapter_Activator/run_test.pl: * examples/POA/Explicit_Activation/run_test.pl: * examples/POA/Loader/run_test.pl: * examples/POA/On_Demand_Activation/run_test.pl: * examples/POA/Reference_Counted_Servant/run_test.pl: * examples/POA/RootPOA/run_test.pl: Replace 'require ACEutil' with 'use ACEutil', the latter should eat the -Config options passed by the auto_compile script. Sun Feb 25 10:38:57 2001 Carlos O'Ryan * tao/default_resource.h: Remove unused enum Sun Feb 25 12:19:59 2001 Frank Hunleth * tao/RT_ORB.cpp: * tao/RT_ORB.h: * tao/RT_Mutex.cpp: * tao/RT_Mutex.h: * tao/orbconf.h: * tests/RTCORBA/RTMutex/server.cpp: Added TAO_HAS_NAMED_RT_MUTEXES option to enable support for named RT Mutexes. They are now disabled by default to help reduce TAO's memory footprint. Sun Feb 25 10:13:58 2001 Balachandran Natarajan * tao/default_resource.cpp: Changed the option "-ORBConnectionLock" to "-ORBConnectionCacheLock". This change should fix bug #799 in bugzilla which talks about two locks on the connection cache for every call. * orbsvcs/tests/AVStreams/Latency/svc.conf: * performance-tests/Cubit/TAO/IDL_Cubit/svc.conf: * performance-tests/Cubit/TAO/IDL_Cubit/svc.st_client.conf: * performance-tests/Cubit/TAO/IDL_Cubit/svc.zero_lock.conf: * performance-tests/Cubit/TAO/IDL_Cubit/collocation/svc.conf: * performance-tests/Cubit/TAO/MT_Cubit/svc.conf: * performance-tests/Latency/st_client.conf: * tests/Collocation/svc.conf: * tests/Smart_Proxies/Collocation/svc.conf: Changed the option -ORBConnectorLock to the new option -ORBConnectionCacheLock. Sun Feb 25 10:01:06 2001 Balachandran Natarajan * tests/Collocation/Coll_Tester.cpp (parse_args): * tests/Collocation/Coll_Tester.h: * tests/Collocation/Diamond_i.h: Fixed warnings with g++ on Linux. Sat Feb 24 11:01:21 2001 Carlos O'Ryan * performance-tests/Latency/st_client.conf: The option to disable locks in the connection cache was changed, but this configuration file was still using the old one. Sat Feb 24 10:16:42 2001 Carlos O'Ryan * tests/RTCORBA/Client_Protocol/svc.conf: * tests/RTCORBA/Explicit_Binding/svc.conf: * tests/RTCORBA/Server_Protocol/server_reverse.conf: * tests/RTCORBA/Server_Protocol/server_reverse_nt.conf: * tests/RTCORBA/Server_Protocol/server_shmiop.conf: * performance-tests/Cubit/TAO/IDL_Cubit/server_shmiop.conf: The SHMIOP protocol was configured using dynamic loading, but that does not work on static builds. Furthermore, there is no need to dynamically load the protocol because it is statically linked into the application. Sat Feb 24 11:13:02 2001 Nanbor Wang * tests/Makefile: * tests/Collocation/README: * tests/Collocation/Makefile: * tests/Collocation/Makefile.impl: * tests/Collocation/Makefile.test: * tests/Collocation/Makefile.stub: Added the missing UNIX Makefiles for collocation test. Thanks to Steve Hespelt for reporting this. Fri Feb 23 19:48:08 2001 Krishnakumar B * TAO version 1.1.13 released. Thu Feb 22 03:07:46 2001 Krishnakumar B * VERSION: * PROBLEM-REPORT-FORM: * tao/Version.h: Revert of the changes done by the release script. Wed Feb 21 20:32:42 2001 Darrell Brunsch * performance-tests/Cubit/TAO/MT_Cubit/run_test.pl: Updated to use PerlACE::Run_Test. Also fixed the timeout problem we've been seeing on Win2000_DLL_Debug nightly build. Wed Feb 21 20:17:22 2001 Carlos O'Ryan * tests/Multiple/Multiple_Impl.cpp: Don't return a string when an exception is raised. This is not only non-compliant, it is a bad idea: the receiver is supposed to ignore all return values, because they are invalid. Wed Feb 21 21:04:03 2001 Nanbor Wang * tests/RTCORBA/MT_Client_Protocol_Priority/run_test.pl: Fixed incorrect usage of SHMIOP endpoint specifier. Wed Feb 21 08:38:05 2001 Carlos O'Ryan * tao/RT_ORBInitializer.cpp: Add RT_ORB_Loader to the service repository, otherwise resolve_initial_references("RT_ORB") fails for static builds. Don't add a static service twice, otherwise the old copy is destroyed and sometimes the ORB caches it. Wed Feb 21 10:50:46 2001 Balachandran Natarajan * docs/Options.html: Changed the documentation for -ORBConnectionCachingStrategy and -ORBPurgePercentage options. Wed Feb 21 07:27:58 2001 Carlos O'Ryan * orbsvcs/tests/EC_Custom_Marshal/ECCM_Consumer.dsp: * orbsvcs/tests/EC_Custom_Marshal/ECCM_Supplier.dsp: The binary name was broken in this fails, this should fix the problems in the Win32 builds. Tue Feb 20 21:01:53 2001 Balachandran Natarajan * tao/Connection_Handler.h: * tao/Connection_Handler.cpp: Added a new method mark_invalid (). * tao/IIOP_Connection_Handler.cpp: Checked for any buffered messages in the socket before closing the socket during handle_close (). This fix should fix the errors in Timed_Buffered_Oneways test. * tao/IIOP_Transport.cpp: Purged the handle during close_connection (). * tao/Strategies/UIOP_Connection_Handler.cpp: * tao/Strategies/UIOP_Transport.cpp: * tao/Strategies/SHMIOP_Connection_Handler.cpp: * tao/Strategies/SHMIOP_Transport.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp: Replicated the changes done for IIOP. Tue Feb 20 20:34:06 2001 Jeff Parsons * tao/Sequence_T.i: * tao/Sequence_T.cpp: Reverted the change in Mon Feb 19 11:26:05 2001 Jeff Parsons * tao/Makefile: Added ACE_HAS_GNUG_PRE_2_8 guard for the compilation of the directories IFR_Client and Domain, so these directories will be skipped by any build using old g++. Tue Feb 20 15:02:01 2001 Carlos O'Ryan * docs/Options.html: Add documentation about the secret -ORBIORParser option in the resource factory. * docs/ior_parsing.html: Document the pluggable IOR parser feature in TAO, and how you can go about adding a new version. Tue Feb 20 16:35:27 2001 Carlos O'Ryan * tao/RT_ORBInitializer.cpp: We must add the RT_Protocols_Hooks service, after the Service_Configurator is opened. This is a bit more complicated than the usual ACE_Service_Config::static_svcs()->insert(). After the beta we need to revisit this code and factor out some commonalities with ACE_Service_Config::load_static_svcs(), and probably rethink this portion of the RT-CORBA initialization. This fix should solve the crashes under Sun/CC 4.2 that have plagued TAO-1.1.12 and our nightly builds too. This problem was identified by many members of the community, including Scott Gunn , J. Russell Noseworthy and Keith Nicewarner . Tue Feb 20 16:13:22 2001 Balachandran Natarajan * tao/IIOP_Connection_Handler.cpp (handle_close): Fixed a problem with lingering handles in the cache when the server is shutdown. We need to pro-actively purge the handles from cache. Thanks to Christian von Mueffling for reporting this problem. * tao/IIOP_Transport.cpp: We were explicitly purging connections after a handle_close () in close_connection (). That is not required as we purge the connections from cache during handle_close () itself. * tao/Strategies/UIOP_Connection_Handler.cpp: * tao/Strategies/UIOP_Transport.cpp: * tao/Strategies/SHMIOP_Connection_Handler.cpp: * tao/Strategies/SHMIOP_Transport.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp: Replicated the changes done for IIOP. Tue Feb 20 12:02:30 2001 Balachandran Natarajan * tao/IIOP_Connection_Handler.cpp (handle_close): * tao/Strategies/UIOP_Connection_Handler.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.cpp: Fixed a leak from open handles on the server side when the clients exit. Thanks to Andy Olson and Ossama for helping with this. Tue Feb 20 10:25:37 2001 Jeff Parsons * TAO_IDL/be/be_visitor_operation.operation_ss.cpp: Added missing carriage return in skeleton code generation. Thanks to Alexandr Gavrilov for reporting this bug. Tue Feb 20 06:27:17 2001 Douglas C. Schmidt * tao/Makefile.bor (OBJFILES): Remove $(OBJDIR)\GIOP_Message_Headers.obj since this file no longer exists. Thanks to Johnny Willemsen for reporting this. Mon Feb 19 20:19:07 2001 Balachandran Natarajan * tao/GIOP_Message_Lite.cpp: * tao/GIOP_Message_Locate_Header.cpp: * tao/GIOP_Message_Generator_Parser_10.cpp: Corrected the wrong inclusions. * tao/Makefile: * tao/Domain/Makefile: * tao/DynamicAny/Makefile: * tao/DynamicInterface/Makefile: * tao/IFR_Client/Makefile: * tao/IORManipulation/Makefile: * tao/IORTable/Makefile: * tao/PortableServer/Makefile: * tao/SmartProxies/Makefile: * tao/Strategies/Makefile: Updated dependencies. Mon Feb 19 19:59:44 2001 Balachandran Natarajan * tao/GIOP_Message_Locate_Header.h: Changed the wrong inclusion of .i file. Mon Feb 19 19:15:11 2001 Jeff Parsons * orbsvcs/Makefile: * orbsvcs/tests/Makefile: Skipped the IFR_Service and tests/InterfaceRepo directories for Lynx OS builds. Mon Feb 19 14:27:18 2001 Carlos O'Ryan * examples/Simple/time-date/client.conf: * examples/Simple/time-date/run_test.pl: Use an empty configuration file for the client, this should resolve the problems with the automatic builds. Mon Feb 19 16:04:21 2001 Jeff Parsons * TAO_IDL/be/be_visitor_operation/operation_ss.cpp: Added ACE_UNUSED_ARG (ACE_TRY_ENV) at the end of the generated *_skel functions. There is a combination of circumstances - TAO_HAS_INTERCEPTORS not defined, IDL operation has no in, inout, out or return args (as in a oneway shutdown operation) and native exception use is enforced by passing -Ge 0 to the IDL compiler - where this argument is not used. If it is used, adding the final line above does no harm. The situation described was arising in the Native_Exception test in the Debian Linux builds. Mon Feb 19 15:58:03 2001 Krishnakumar B * orbsvcs/examples/RtEC/Schedule/Service.cpp: Added a #ifdef to make sure that we are enabling the typedef TAO_Reconfig_Scheduler only if we are compiling with g++-2.8 or above. Mon Feb 19 12:18:06 2001 Carlos O'Ryan * orbsvcs/IFR_Service/Makefile.BE: * orbsvcs/IFR_Service/Makefile.TypeCodeFactory: Fixed the warnings under True64/CXX, they were actually important and could have manifested themselves as errors in other platforms. Mon Feb 19 12:11:23 2001 Balachandran Natarajan * tao/GIOP_Message_Handler.cpp (is_message_ready): * tao/GIOP_Message_Handler.h : A hack to get SHMIOP working. In the method is_message_ready (), before the control is returned to the reactor, a check is made to see whether the protocol in use, uses the reactor for signalling. If that is the case, we read the rest of the data immediately. This is based on an assumption that SHMIOP (for which this hack is implemented), ensures that data gets sent in one big chunk unlike TCP. * tao/GIOP_Message_Base.cpp: Made a change to confirm to the signature of the is_message_ready () method in GIOP_Message_Handler. * tao/Transport.h: * tao/Transport.cpp: Added a virtual method reactor_signalling (). This method returns a value of 1 if the protocol happens to use the reactor for signalling and 0 otherwise. The default implementation returns a value of 0. * tao/Strategies/SHMIOP_Transport.h: * tao/Strategies/SHMIOP_Transport.cpp: Implemenetd reactor_signalling () to return 1. * tao/orbconf.h: Enabled SHMIOP. Mon Feb 19 11:26:05 2001 Jeff Parsons * tao/Sequence_T.i: * tao/Seuqence_T.cpp: Uninlined the operator const T_var () const for TAO_Object_Manager. The T::_duplicate method call is not yet defined if the inline operator is used on an interface from IFR_Client. This was causing a problem on the VxWorks and old g++ builds. Thanks to Carlos for the suggestion. Mon Feb 19 09:59:01 2001 Carlos O'Ryan * examples/Quoter/Makefile: TAO_IDLFLAGS was redefined, losing all the global settings. * tao/Object_Loader.h: Must include "tao/Exception.h" to satisfy more strict ANSI-C++ compilers: the new throw spec uses CORBA::SystemException, so a forward declaration is not enough. Sun Feb 18 15:01:09 2001 Carlos O'Ryan * tao/Object_Loader.h: Add CORBA::SystemException to create_object()'s throw spec. * tao/RT_ORB_Loader.h: * tao/RT_ORB_Loader.cpp: Use the more lenient throw spec in the RT_ORB_Loader class. Only the Borland C++ compiler caught this problem. I believe the current solution is the "Right Thing"[tm], it is always possible for a load operation to fail. Sun Feb 18 16:56:33 2001 Krishnakumar B * orbsvcs/IFR_Service/Makefile.BE: * orbsvcs/IFR_Service/Makefile.TypeCodeFactory: Added -I(TAO_ROOT)/tao to LDFLAGS to remove warnings under cxx on Tru64. Sun Feb 18 16:28:45 2001 Chris Gill * examples/Simulator/DOVEBrowser/NS_Resolve.java: removed dependency on com.infoglide package. Sun Feb 18 14:28:44 2001 Carlos O'Ryan * orbsvcs/orbsvcs/Naming/Naming_Context_Interface.h: * orbsvcs/orbsvcs/Naming/Naming_Context_Interface.cpp: Workaround problems in the RedHat-7.0 version of the g++ compiler. I refactored code to make it simpler, it helps humans and it seems to help this compiler too. Sun Feb 18 10:33:47 2001 Carlos O'Ryan * orbsvcs/tests/EC_Throughput/ECT_Supplier_Driver.cpp: * orbsvcs/tests/EC_Throughput/ECT_Consumer_Driver.cpp: Fixed memory leaks in the test. Sun Feb 18 03:37:33 2001 Krishnakumar B * orbsvcs/IFR_Service/Makefile.IFR_Service (IFR_SVR_OBJS): Added -I(TAO_ROOT)/tao to LDFLAGS to appease cxx on Tru64. Sun Feb 18 03:33:52 2001 Krishnakumar B * tests/Smart_Proxies/On_Demand/Makefile: Added -I$(TAO_ROOT)/tao to LDFLAGS to appease cxx on Tru64. Sun Feb 18 03:22:01 2001 Krishnakumar B * tests/Smart_Proxies/Makefile (LDFLAGS): Added -I$(TAO_ROOT)/tao to LDFLAGS to appease cxx on Tru64. Sat Feb 17 23:08:44 2001 Balachandran Natarajan * tao/GIOP_Message_Handler.cpp: Fixed a problem that showed up only in EC_throughput. When multiple messages were read out of the socket and processed, sometime we could be left with messages that are not even the size of GIOP header length. Added a conditional check for this case. This fixes the problem in EC_Throughput. Sat Feb 17 20:38:10 2001 Darrell Brunsch * TAO_INSTALL.html: Added GPERF building to unix instructions. Sat Feb 17 19:21:54 2001 Darrell Brunsch * orbsvcs/tests/Notify/Basic/Basic.dsw: * orbsvcs/tests/Notify/lib/TAO_NotifyTests.dsw: * orbsvcs/tests/Notify/performance-tests/RedGreen/RedGreen.dsw: * orbsvcs/tests/Notify/performance-tests/Throughput/Throughput.dsw: Added workspaces for these directories to make it easier to compile each of these directories separately. * 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: * orbsvcs/tests/Notify/Basic/Updates.dsp: * orbsvcs/tests/Notify/lib/TAO_NotifyTests.dsp: * orbsvcs/tests/Notify/performance-tests/RedGreen/RedGreen.dsp: * orbsvcs/tests/Notify/performance-tests/Throughput/Throughput.dsp: Fixed the multiple problems in these project files. Sat Feb 17 13:39:30 2001 Balachandran Natarajan * tests/Single_Read/test_i.cpp: Added a sleep between incoming requests. Sat Feb 17 12:44:30 2001 Balachandran Natarajan * tao/orbconf.h: Disabled SHMIOP for the upcoming beta. SHMIOP does not work with the single read optimizations that have been integrated in to TAO. This will be enabled after the beta when we have a fix. Fri Sat 17 11:49:29 2001 Pradeep Gore * orbsvcs/tests/Notify/lib/TAO_NotifyTests.dsp: * orbsvcs/tests/Notify/performance-tests/RedGreen/RedGreen.dsp: * orbsvcs/tests/Notify/performance-tests/Throughput/Throughput.dsp: * orbsvcs/examples/Notify/Filter/Filter.dsp: * orbsvcs/examples/Notify/Subscribe/Subscribe.dsp: Modified include settings in these projects. * orbsvcs/tests/Notify/performance-tests/RedGreen/RedGreen_Test.h: * orbsvcs/tests/Notify/performance-tests/RedGreen/RedGreen_Test.cpp: Modified event loop to use work-pending/perform-work. Fri Feb 16 20:12:52 2001 Krishnakumar B * tests/Smart_Proxies/Makefile: Added -I$(TAO_ROOT)/tao to CPPFLAGS to comfort cxx on Tru64 so that it could get the template instantiations. Fri Feb 16 18:42:29 2001 Pradeep Gore * orbsvcs/examples/Notify/Filter/Filter.dsp * orbsvcs/examples/Notify/Subscribe/Subscribe.dsp * 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 * orbsvcs/tests/Notify/Basic/Updates.dsp * orbsvcs/tests/Notify/lib/Notify_Test_Client.h * orbsvcs/tests/Notify/performance-tests/RedGreen/RedGreen.dsp * orbsvcs/tests/Notify/performance-tests/Throughput/Throughput.dsp Updated include paths, exported class Notify_Test_Client Fri Feb 16 15:26:29 2001 Douglas C. Schmidt * examples/Simulator/DOVEBrowser/NS_Resolve.java: Cleaned up the code a bit. Thanks to Kevin Regan for contributing this. Fri Feb 16 15:06:17 2001 Balachandran Natarajan * tao/GIOP_Message_Handler.cpp: Fixed a problem in the case when multiple one way messages were read from the socket. All the complete calls got processed correctly. One of the incomplete calls at the boundary was not processed properly. This should fix the reliable one way test failures. Fri Feb 16 11:09:41 2001 Jeff Parsons * tao/Makefile: Moved IFR_Client_Adapter from INTERFACE_REPO_FILES to ORB_CORE_FILES, since Object and LocalObject use the adapter, and the IFR is forcefully disabled on some platforms. Thanks to Carlos for the suggestion. Fri Feb 16 10:53:45 2001 Jeff Parsons * tests/IDL_Test/nested_scope.idl: Renamed an interface definition in this file to avoid a name clash with a module in another IFL file in this test. Fri Feb 16 09:41:54 2001 Douglas C. Schmidt * tests/IDL_Test: Added a new Makefile.bor. Thanks to Johnny Willemsen for this. Fri Feb 16 02:28:19 2001 Angelo Corsaro * tests/Exposed_Policies/Policy_Verifier.h: * tests/Exposed_Policies/Policy_Verifier.cpp: Fixed false warning message that used to detect that the number of bands was not correct. Thu Feb 15 19:23:42 2001 Darrell Brunsch * examples/POA/Default_Servant/File_i.cpp: Changed the use of 0644 for open permissions to ACE_DEFAULT_FILE_PERMS. On Win32, 0644 causes ACE_OS::open to fail. * examples/Load_Balancing/service.dsp: Changed the output file from service.exe to load_balancer.exe to match what the Makefile does. * tests/Exposed_Policies/run_test.pl: Test wasn't waiting between starting server and client, thus it usually would fail. * examples/POA/Default_Servant/run_test.pl: * examples/Load_Balancing/run_test.pl: * tests/Exposed_Policies/run_test.pl: Updated to use PerlACE::Run_Test. Thu Feb 15 13:19:47 2001 Ossama Othman * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Client.cpp (cube_any, cube_any_struct): Fixed a problem where the result check would always fail since the Any that owned the result was delete()d too early. delete() the Any after the result check. * tests/Portable_Interceptors/Service_Context_Manipulation/interceptors.cpp (send_request, receive_request_service_contexts): Sequence buffers to be released by the sequence should be allocated with the allocbuf() member, not the new() operator. Corrected the buffer allocations in these methods accordingly. Thu Feb 15 14:20:07 2001 Jeff Parsons * tests/IDL_Test/Makefile: * tests/IDL_Test/namespace_check.cpp: Added code generated from two additional IDL files (params.idl and nested_scope.idl) to the list of file skipped by compilers that either don't support namespaces (SunCC4.2 and old g++) or have broken typedefs (old g++). The two IDL files added to the conditional list have nested modules, and old g++'s broken typedef cannot compile the generated code. Thu Feb 15 13:43:50 2001 Jeff Parsons * TAO_IDL/util/utl_scope.cpp: Fixed lookup function to handle the case where the scoped name we are looking up begins with an interface, and the actual item is in a base class of that interface. Previously, only base classes of the scope where the lookup was initiated (if it is an interface) were checked. Thanks to Doug Warner for sending in the example IDL file that pointed this out. * tests/IDL_Test/interface.idl: Added a modified version of the example IDL file to the test suite. Thu Feb 15 11:47:53 2001 Angelo Corsaro * tao/Stub.cpp (parse_policies): Removed extra parenthesis and changed index type to CORBA::ULong in the policy list. This should definitively fix the error/warning on any platform. Thanks to Jeff for the hint. Thu Feb 15 11:09:50 2001 Angelo Corsaro * tao/PortableServer/POA.cpp (key_to_stub_i): Added missing clause for handling the case when the priority of the object being created differ from the priority of the POA in the SERVER_DECLARED priority model, and there are priority bands. * tao/Stub.cpp: Fixed compilation error on some platform caused by a wrong de-referencing of a var type. Thu Feb 15 10:47:18 2001 Jeff Parsons * TAO_IDL/be/be_visitor_operation/ami_handler_reply_stub_operation_cs.cpp: Minor change to code that creates an octet sequence _var to avoid warnings in the Debian builds when compiling generated code for the AMI test. Thu Feb 15 06:02:55 2001 Douglas C. Schmidt * orbsvcs/orbsvcs/Naming/Bindings_Iterator_T.cpp (next_one): Initialize the hash_entry pointer to 0 to avoid a warning from Compaq C++. Thu Feb 15 00:22:42 2001 Ossama Othman * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp (process_message): Merged Michael's reply dispatcher related changes from: "Wed Feb 14 16:30:23 2001 Michael Kircher <...>" below into the SSLIOP pluggable protocol. Wed Feb 14 20:59:00 2001 Pradeep Gore * orbsvcs/examples/notify/Notify_Examples.dsw: * orbsvcs/examples/notify/Filter/Filter.dsp: * orbsvcs/examples/notify/Subscribe/Subscribe.dsp: * orbsvcs/tests/notify/Notify_Tests.dsw: * 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: * orbsvcs/tests/notify/basic/Updates.dsp: * orbsvcs/tests/notify/lib/TAO_NotifyTests.dsp: * orbsvcs/tests/notify/performance-tests/Throughput/Throughput.dsp: * orbsvcs/tests/notify/performance-tests/RedGreen/RedGreen.dsp: Added Notification tests and example project files for Windows. Wed Feb 14 16:30:23 2001 Michael Kircher * tao/Muxed_TMS.cpp: Changed the return value in the case of a not found reply dispatcher from -1 to 0. The semantics of the return values is 1, for success, 0, for a not found reply dispatcher (which is not critical, as this can easily happen with timeouts), and -1 on a critical error. Added in-source documentation for this. * tao/Exclusive_TMS.cpp: Documented the return value, see description for Muxed_TMS.cpp. * tao/IIOP_Transport.cpp: * tao/Strategies/SHMIOP_Transport.cpp: * tao/Strategies/UIOP_Transport.cpp: Changed return path of the method . In the case that we could not find the right reply dispatcher because of a (meanwhile) invalid reply ID, we continue processing messages instead of giving up processing. This should fix the problem with the tao/tests/Timeout test. * tao/Wait_On_Leader_Follower.cpp: Added code to remove the leader follower condition variable in the case of a timeout. This should fix a bug, where the condition variable of the follower thread kept being registered with the leader follower model while it went already away. Wed Feb 14 15:36:23 2001 Pradeep Gore * docs/orbsvcs.html: Added the Notification Service and it's tests into this page.Thanks to Samuel Qi Luo for pointing out the missing documentation. * docs/releasenotes/index.html: Updated Notify Status. Wed Feb 14 14:58:28 2001 Jeff Parsons * TAO_IDL/be/be_visitor_operation/ami_handler_reply_stub_operation_cs.cpp: Removed use of a typedef for _tao_seq_Octet that is guarded from g++ versions earlier than 2.8. Also replace use of 'new' with 'ACE_NEW'. Wed Feb 14 11:49:17 2001 Ossama Othman * tao/CORBALOC_Parser.cpp (make_stub_from_mprofile): Fixed "better conversion sequence" warning issued by g++ by using the ".in()" accessor method. Wed Feb 14 11:34:55 2001 Ossama Othman * tao/Pluggable.cpp (make_mprofile): Decrease the reference count on the profile before returning with an exception on error. Fixes a memory leak. * tao/CORBALOC_Parser.h (parse_string_mprofile_helper): * tao/CORBALOC_Parser.cpp (parse_string_mprofile_helper): Changed CORBA::String_var parameter that was passed in by copy to a const char *. There was no point in passing in a CORBA::String_var. Added missing ACE_CHECK macro. (make_stub_from_mprofile, parse_string_rir_helper ): Fixed potential memory leak and improved exception safety. (parse_string): Removed unnecessary use of a CORBA::ORB_var, in addition to the useless duplication of the ORB reference. * tao/orbconf.h: Removed "PriorityMappingManager" from the list of initial services. There is no need to list it in the static initial services since it is registered when the RTCORBA support is loaded into the ORB. * tests/InterOp-Naming/run_test.pl: Updated test script to excercise additional INS features to make it possible to catch more problems in TAO's INS support, should they exist. Wed Feb 14 13:00:28 2001 Balachandran Natarajan * tao/IIOP_Profile.h: * tao/IIOP_Endpoint.h: * tao/IIOP_Endpoint.i: * tao/Strategies/UIOP_Profile.h: * tao/Strategies/UIOP_Endpoint.h: * tao/Strategies/UIOP_Endpoint.i: * tao/Strategies/SHMIOP_Profile.h: * tao/Strategies/SHMIOP_Endpoint.h: * tao/Strategies/SHMIOP_Endpoint.i: Removed the references to the obsolete Client_Connection_Handlers. Wed Feb 14 09:50:18 2001 Frank Hunleth * tao/IIOP_Acceptor.cpp: * tao/IIOP_Acceptor.h: Updated TAO_IIOP_Acceptor::open and TAO_IIOP_Acceptor::hostname to use the specified endpoint hostname instead of always resolving the hostname and then looking it back up for what to put in the IOR. This fixed a problem on Windows 2000 when the user specified an endpoint having the hostname "localhost". This would end up causing the actual hostname of the computer to be put into the IOR, but the server would bind to 127.0.0.1. As a result, clients wouldn't be able to connect to the server. This fix partially addresses bugzilla bug 506. Wed Feb 14 07:13:12 2001 Carlos O'Ryan * examples/Quoter/Quoter_i.cpp: Fixed use of ACE_THROW. Tue Feb 13 18:44:19 2001 Carlos O'Ryan * orbsvcs/orbsvcs/Event/EC_Reactive_Timeout_Generator.cpp: Reset the reactor after deactivating the timeout adapter, otherwise it tries to use it during shutdown, but at that point the reactor is already destroyed. Tue Feb 13 17:42:16 2001 Carlos O'Ryan * orbsvcs/tests/Event/Performance/Latency.dsp: * orbsvcs/tests/Event/Performance/Latency_Server.dsp: Add missing library Tue Feb 13 17:37:54 2001 Carlos O'Ryan * examples/Quoter/Makefile: Nothing was building under Unix. * examples/Quoter/Factory_Finder.cpp: * examples/Quoter/Generic_Factory.cpp: * examples/Quoter/server.cpp: More fixes for ORB::run() Tue Feb 13 17:24:43 2001 Carlos O'Ryan * orbsvcs/tests/EC_Custom_Marshal/ECM_Consumer.h: * orbsvcs/tests/EC_Custom_Marshal/ECM_Consumer.cpp: Fixed problems with the ORB::run() method * orbsvcs/tests/EC_Custom_Marshal/Makefile: Fixed dependencies, my builds failed to recompile some files in this directory even after the ORB::run() changes, thus the previous problem went undetected. Tue Feb 13 12:54:33 2001 Frank Hunleth * tao/RT_ORB.h: Changed TAO_RT_ORB to inherit from TAO_Local_RefCounted_Object to fix memory leak found with Purify. Tue Feb 13 09:48:53 2001 Ossama Othman * performance-tests/Cubit/TAO/IDL_Cubit/Cubit_Client.cpp (cube_any, cube_any_struct): Call delete() on the returned Any once it is no longer needed. This fixes a memory leak. The caller is responsible for storage. Tue Feb 13 11:25:19 2001 Jeff Parsons * orbsvcs/tests/Makefile: Added guard to prevent the Interface Repository tests from being compiled under SunCC4.2, which does not support namespaces. Tue Feb 13 11:37:03 2001 Frank Hunleth * tao/ORB.cpp: Changed ACE_CHECK_RETURN macros to be ACE_CHECK in ORB::run() and ORB::perform_work(). Tue Feb 13 09:17:30 2001 Carlos O'Ryan * tao/ORB.h: * tao/ORB.cpp: The spec says that ORB::run() and ORB::perform_work() return void. If there are errors an exception is raised. Having both exceptions and error codes only results in confusing and broken code. This fixes bug #785 * tao/PortableServer/ORB_Manager.cpp: * examples/Borland/ORBThread.cpp: * examples/Buffered_AMI/client.cpp: * examples/Buffered_AMI/server.cpp: * examples/Buffered_Oneways/client.cpp: * examples/Buffered_Oneways/server.cpp: * examples/Callback_Quoter/Consumer_Handler.cpp: * examples/Callback_Quoter/Notifier_Input_Handler.cpp: * examples/Callback_Quoter/Supplier_i.cpp: * examples/Event_Comm/Consumer_Handler.cpp: * examples/POA/Adapter_Activator/server.cpp: * examples/POA/DSI/server.cpp: * examples/POA/Default_Servant/server.cpp: * examples/POA/Explicit_Activation/server.cpp: * examples/POA/Forwarding/server.cpp: * examples/POA/Loader/Server_Manager.cpp: * examples/POA/On_Demand_Activation/server.cpp: * examples/POA/On_Demand_Loading/Server_Manager.cpp: * examples/POA/Reference_Counted_Servant/server.cpp: * examples/POA/TIE/server.cpp: * examples/Simulator/Event_Supplier/Event_Con.cpp: * orbsvcs/CosEvent_Service/CosEvent_Service.cpp: * orbsvcs/Event_Service/Event_Service.cpp: * orbsvcs/IFR_Service/IFR_Service.cpp: * orbsvcs/ImplRepo_Service/ImplRepo.cpp: * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp: * orbsvcs/ImplRepo_Service/NT_Service.cpp: * orbsvcs/ImplRepo_Service/tao_imr_i.cpp: * orbsvcs/LifeCycle_Service/LifeCycle_Service.cpp: * orbsvcs/Logging_Service/Logging_Service.cpp: * orbsvcs/Naming_Service/NT_Naming_Server.cpp: * orbsvcs/Naming_Service/Naming_Service.cpp: * orbsvcs/Notify_Service/Notify_Service.cpp: * orbsvcs/Time_Service/Server_i.cpp: * orbsvcs/examples/CosEC/RtEC_Based/bin/RtEC_Based_CosEC.cpp: * orbsvcs/examples/CosEC/RtEC_Based/tests/Multiple/Multiple.cpp: * orbsvcs/examples/Security/Send_File/server.cpp: * orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.cpp: * orbsvcs/tests/AVStreams/Full_Profile/ftp.cpp: * orbsvcs/tests/AVStreams/Latency/control.cpp: * orbsvcs/tests/AVStreams/Latency/ping.cpp: * orbsvcs/tests/AVStreams/Latency/pong.cpp: * orbsvcs/tests/AVStreams/Multicast/ftp.cpp: * orbsvcs/tests/AVStreams/Multicast_Full_Profile/ftp.cpp: * orbsvcs/tests/AVStreams/benchmark/server.cpp: * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: * orbsvcs/tests/Event/Performance/Latency.cpp: * orbsvcs/tests/Event/Performance/Latency_Server.cpp: * orbsvcs/tests/Event/Performance/Makefile: * orbsvcs/tests/FaultTolerance/IOGR/Manager.cpp: * orbsvcs/tests/ImplRepo/airplane_client.cpp: * orbsvcs/tests/ImplRepo/airplane_server.cpp: * orbsvcs/tests/ImplRepo/nestea_server_i.cpp: * orbsvcs/tests/InterfaceRepo/Application_Test/server.cpp: * orbsvcs/tests/ior_corbaname/server.cpp: * performance-tests/Callback/Callback_i.cpp: * performance-tests/Callback/Callback_i.h: * performance-tests/Callback/Server_i.cpp: * performance-tests/Callback/Server_i.h: * performance-tests/Callback/callback.idl: * performance-tests/Callback/client.cpp: * performance-tests/Latency/client.conf: * performance-tests/Latency/st_client.conf: * performance-tests/POA/Demux/demux_test_server.cpp: * performance-tests/RTCorba/Oneways/Reliable/server.cpp: * performance-tests/Thruput/TAO/server.cpp: * tests/AMI/server.cpp: * tests/AMI_Timeouts/client.cpp: * tests/AMI_Timeouts/server.cpp: * tests/AMI_Timeouts/timeout_client.cpp: * tests/BiDirectional/client.cpp: * tests/BiDirectional_NestedUpcall/server.cpp: * tests/DSI_Gateway/gateway.cpp: * tests/DSI_Gateway/server.cpp: * tests/Faults/middle.cpp: * tests/Faults/ping.cpp: * tests/Faults/pong.cpp: * tests/Faults/server.cpp: * tests/Forwarding/server.cpp: * tests/InterOp-Naming/Server_i.cpp: * tests/Leader_Followers/client.cpp: * tests/Leader_Followers/server.cpp: * tests/LongUpcalls/AMI_Manager.cpp: * tests/LongUpcalls/ami_client.cpp: * tests/LongUpcalls/ami_server.cpp: * tests/LongUpcalls/blocking_server.cpp: * tests/MProfile/server.cpp: * tests/MProfile_Forwarding/Manager.cpp: * tests/MProfile_Forwarding/server.cpp: * tests/MT_Client/server.cpp: * tests/MT_Server/server.cpp: * tests/Native_Exceptions/server.cpp: * tests/NestedUpcall/Simple/server.cpp: * tests/Nested_Event_Loop/server.cpp: * tests/OctetSeq/server.cpp: * tests/Param_Test/server.cpp: * tests/Single_Read/server.cpp: * tests/Smart_Proxies/server.cpp: * tests/Smart_Proxies/On_Demand/server.cpp: * tests/Strategies/server.cpp: * tests/Timed_Buffered_Oneways/server.cpp: * tests/Timeout/client.cpp: * tests/Timeout/server.cpp: * tests/ior_corbaloc/server.cpp: Don't check for return code from ORB::run() * tests/ior_corbaloc/Makefile: Reorder libraries, -lTAO_CosNaming should appear *before* -lTAO. Tue Feb 13 09:16:42 2001 Darrell Brunsch * orbsvcs/ImplRepo_Service/Forwarder.cpp: Initialized forward_obj to remove warnings. Tue Feb 13 09:09:01 2001 Carlos O'Ryan * TAO-INSTALL.html: Document and IMHO slightly better way to configure TAO for cross-compilation environments. Tue Feb 13 10:17:35 2001 Frank Hunleth * tao/RT_ORB.cpp: Fixed broken template instantiation. Tue Feb 13 01:14:26 2001 Ossama Othman * tao/RT_ORB.cpp (create_named_mutex): Fixed misuse of ACE_THROW macro. ACE_THROW_RETURN is the correct macro. Fixes a compile-time problem. * tao/ORB_Core.i (poa_current): If the cached POACurrent reference is nil then initialize the RootPOA. Doing so causes the POACurrent object to be initialized and cached in the ORB Core. Fixes problems where it wasn't possible to obtain the POACurrent reference before the RootPOA reference. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_ORBInitializer.cpp (pre_init): Moved registration of "SSLIOPCurrent" object reference to the ORBInitializer::pre_init() method so that it is available to the resolve_initial_references() mechanism in ORBInitializer::post_init(). Mon Feb 12 22:52:34 2001 Frank Hunleth * tao/RT_Mutex.h: * tao/RT_Mutex.cpp: * tao/RT_ORB.cpp: * tao/RT_ORB.h: * tests/RTCORBA/RTMutex/server.cpp: Changed named mutexes to conform more closely to Win32 named mutex semantics. Also simplified and cleaned up most of the RT Mutex code. Thanks to Irfan for much help. Mon Feb 12 18:53:05 2001 Carlos O'Ryan * orbsvcs/tests/ior_corbaname/Makefile: Add missing file to the list of sources for make depend. This should fix some intermittent failures in our nightly builds. Mon Feb 12 13:14:24 2001 Jeff Parsons * orbsvcs/Makefile: Added guard to prevent SunCC4.2, which does not support namespaces, from compiling the Interface Repository, which requires them. Sun Feb 11 23:45:41 2001 Ossama Othman * tao/RT_ORBInitializer.cpp (register_policy_factories): Fixed "unused parameter" warning that occured when native exceptions were enabled. 2001-02-12 Yamuna Krishnamurthy * orbsvcs/tests/AVStreams/Multicast_Full_Profile/ftp.cpp: * orbsvcs/tests/AVStreams/Multicast_Full_Profile/server.cpp: * orbsvcs/tests/AVStreams/Multicast/ftp.cpp: * orbsvcs/tests/AVStreams/Multicast/serevr.cpp: * orbsvcs/tests/AVStreams/Full_Profile/server.cpp: * orbsvcs/tests/AVStreams/Full_Profile/ftp.cpp: * orbsvcs/tests/AVStreams/Latency/pong.cpp: * orbsvcs/tests/AVStreams/Latency/ping.cpp: * orbsvcs/tests/AVStreams/Pluggable/server.cpp: * orbsvcs/tests/AVStreams/Pluggable/ftp.cpp: * orbsvcs/tests/AVStreams/benchmark/server.cpp: * orbsvcs/tests/AVStreams/benchmark/client.cpp: * orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.cpp: * orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.h: Added an init method to the endpoint strategies to initialize the orb and poa and hence fix the SUNCC5 compile errors. Mon Feb 12 00:28:26 2001 Nanbor Wang * tao/Strategies/SHMIOP_Acceptor.cpp (open): Added error detection to make sure we have something that looks like a port number. Otherwise, don't open the acceptor. * docs/ORBEndpoint.html: * docs/Options.html: Fixed incorrect shmiop endpoint examples. A shmiop endpoint should be the form "shmiop://1234", not "shmiop://:1234". [Bug 686] Sun Feb 11 18:33:47 2001 Darrell Brunsch * orbsvcs/tests/ImplRepo/nestea_i.cpp: The problem with the nestea test on Redhat was that the server was crashing (but the perl script seemed to hide that). Thanks to Mountain Dew for assisting in this debugging session. [Bug 495] Sun Feb 11 17:06:06 2001 Ossama Othman * tao/Priority_Mapping_Manager.h (~TAO_Priority_Mapping_Manager): * tao/RT_Current.h (~TAO_RT_Current): Made destructor protected instead of private. This fixes a compile-time warning about the fact that the class had a private destructor but had no friends. * tao/RT_Current.cpp (the_priority): Corrected typo. Sun Feb 11 16:52:55 2001 Ossama Othman * tao/Connection_Cache_Manager.cpp (TAO_Connection_Cache_Mananger): Initialize the lock pointer to zero in the base member initializer list. Fixes an access violation that occured upon premature destruction of the Connection_Cache_Manager. This also makes it possible to determine if Connection_Cache_Manager::open() was ever called. * tao/Connection_Cache_Manager.inl (close): Do not attempt to close the connection cache manager if the lock pointer is zero. Such a condition implies that the connection cache was never open()ed. * tao/ORB.h: * tao/ORB.cpp (resolve_priority_mapping_manager): Removed resolve_priority_mapping_manager() helper method. It is no longer needed since the RT_ORBInitializer registers the "PriorityMappingManager" reference with the ORB. * tao/ORB_Core.h (priority_mapping_manager_): This class member is now a local member, instead of a static one. This fixes access violations that occured in the presence of multiple ORBs. It is also now a "_var". This cleans up several memory management issues. (root_poa_): Changed this class member from "_var" to a "_ptr". The code from which this reference is obtained (TAO_Object_Adapter::root()) does not duplicate the RootPOA reference, so the ORB Core should not attempt to release it. Rather than duplicate the reference in the ORB core, the code from which the RootPOA reference is obtained should perform the duplication. For now, the class member will remain a "_ptr". (rt_orb_, rt_current_): Changed this class member from "_var" to a "_ptr". This addresses some memory leaks. * tao/ORB_Core.cpp (TAO_ORB_Core): Initialize the RootPOA reference to the nil reference in the base member initializer list. (~TAO_ORB_Core): Do not call delete() on the PolicyManager and PolicyCurrent object references. They are reference counted. As such, call CORBA::release() on them. Fixes memory violations due to attempts to release dangling references/pointers. (fini): No need to explicitly release the PriorityMappingManager reference. It will be released by the "_var" it is stored in when the ORB Core is destroyed. (root_poa): The root_poa_ member is no longer a "_var". Adjusted all references to this member accordingly (i.e., removed the ".in()" calls). (priority_mapping_manager): Obtain the PriorityMappingManager object reference from the Object_Ref_Table, if it hasn't already been cached in the ORB Core. Removed method that sets the reference to the PriorityMappingManager object. It is longer needed since each ORB now has its own PriorityMappingManager. These two changes address memory access violations that occured in the presence of multiple ORBs. * tao/ORB_Core.i (rt_orb): The rt_orb_ class member is now "_var". Updated code to use ".in()" accessors. (rt_current): Make sure the RTORB has been initialized prior to returning the reference to the RTCurrent object. This is necessary since RTORB initialization causes the RTCurrent object to be initialized as well. * tao/RT_Current.h (TAO_RT_Current): Derive this class from the reference counted version of CORBA::LocalObject, i.e. the "TAO_Local_RefCounted_Object" extension. This addresses memory management issues. * tao/Priority_Mapping_Manager.h (TAO_Priority_Mapping_Manager): * tao/RT_Current.h (~TAO_RT_Current): * tao/RT_Mutex.h (~TAO_RT_Mutex): Made destructor private to enforce proper memory management of this reference counted object. * tao/RT_Current.cpp (the_priority): Check the return value of the call to {get,set}_thread_priority(). It isn't enough just to check for exceptions. * tao/RT_ORB.cpp (create_named_mutex): Do not call delete() on a reference counted object. The code now properly calls CORBA::release() on the object. Added missing ACE_CHECK_RETURN macro. * tao/RT_ORBInitializer.h: The RTCORBA policy factory is stateless and reentrant, so share a single instance between all ORBs. * tao/RT_ORBInitializer.cpp (pre_init): Register the "PriorityMappingManager" object reference with the ORB's resolve_initial_references() mechanism. (post_init): Do not instantiate the RT policy factory. It is now a TAO_RT_ORBInitializer class member (stack allocated). * tao/RT_ORB_Loader.h (set_objects): Made this helper method protected. There is no reason why it should be public. * tao/RT_ORB_Loader.cpp (create_object): Use ACE_NEW_THROW_EX instead ACE_NEW_RETURN. Store RTORB reference in a CORBA::Object_var and relinquish ownership upon return to the caller. This improves exception safety of this method. (set_objects): Use ACE_NEW_THROW_EX instead of the raw "new()" operator. * tao/RT_PolicyFactory.h (TAO_RT_PolicyFactory): Derive from CORBA::LocalObject to make reference counting a no-op. The TAO_RT_PolicyFactory is now stack allocated. * tao/RT_Policy_i.h: Made all policy and property class destructors protected to enforce proper memory management of those reference counted objects. * tao/RT_Protocols_Hooks.cpp (set_priority_mapping): If the reference to the PriorityMappingManager is nil, then throw a CORBA::INV_OBJREF exception, i.e. don't just die quietly. (set_default_policies): Store the newly allocated ServerProtocolPolicy and ClientProtocolPolicy objects in their corresponding "_var" objects. This fixes memory leaks, in addition to making the code exception safe. Sun Feb 11 14:44:24 2001 Darrell Brunsch * tao/orbconf.h: On AIX, define TAO_USE_SEQUENCE_TEMPLATES. Thanks to Scott Bolin for the fix. [Bug 767] * tao/Exception.cpp: * tao/corbafwd.h: * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp: Changed the minor code TAO_IMPLREPO_SERVER_MANUAL_ACTIVATION to TAO_IMPLREPO_MINOR_CODE, so I can now use it for ImR exceptions in general. * tao/PortableServer/POA.cpp: * orbsvcs/ImplRepo_Service/Forwarder.cpp: As reported by Mark L Boriack in [Bug 724], the ImplRepo_Service and POA code was letting through ImR specific exceptions, even when throw specs didn't allow it. I added catch blocks to translate to TRANSIENT exceptions, when appropriate. Fri Feb 9 18:11:35 2001 Darrell Brunsch * orbsvcs/ImplRepo_Service/README.txt: Added a new page just for using the Naming Service with the ImR. THe page should show up on http://doc.ece.uci.edu/Doxygen/Current/html/tao/implrepo_service/pages.html in the next couple of days. Fri Feb 9 11:38:06 2001 Carlos O'Ryan * tao/PortableServer/Servant_Base.cpp: Fixed problem with expressions like: PortableServer::ServantBase_var foo = ...; foo = foo.in (); they used to crash. Thanks to Jody Hagins for pointing this out. Fri Feb 9 11:35:17 2001 Carlos O'Ryan * orbsvcs/tests/Interoperable_Naming/client.cpp: Fixed warning about unreachable statement Fri Feb 9 12:13:44 2001 Yamuna Krishnamurthy * orbsvcs/orbsvcs/AV/AVStreams_i.cpp: Created duplicates of streamendpoint _ptrs before assigning them to _vars. Thanks to Bruce McIntosh for suggesting this. Thu Feb 8 18:47:52 2001 Ossama Othman * tao/MProfile.cpp (init_policy_list): Added missing ACE_CHECK macro. Thu Feb 8 18:34:15 2001 Ossama Othman * tao/ORB_Core.cpp (create_stub_object): Fixed misuse of ACE_CHECK. ACE_CHECK_RETURN should have been used. * tao/MProfile.cpp: * tao/Stub.cpp: Added missing ACE_CHECK_RETURN macros. Fixed build errors and warnings. * tao/Profile.cpp: Fixed build warnings. Thu Feb 8 20:00:49 2001 Jeff Parsons * orbsvcs/IFR_Service/InterfaceS.cpp: Chnages corresponding to the changes to generated code in the the entry below. Thu Feb 8 19:22:00 2001 Jeff Parsons * TAO_IDL/be/be_codegen.cpp: * TAO_IDL/be_include/be_codegen.h: * TAO_IDL/be_visitor_root/root.cpp: Added #ifndef guards agains including the skeleton source file more than once, similar to the generated header files and skeleton template source file. When the _tie classes (which are templates) are used in a service or application, the SunCC compiler tries to compile the skeleton source file twice, even though it contains no template code. Also consolidated several occurrences of the code block that generates the #ifndef clause (with minor variations) into a separate function. Thu Feb 08 18:15:59 2001 Angelo Corsaro * tests/Exposed_Policies/server.conf: * tests/Exposed_Policies/Object.cfg: * tests/Exposed_Policies/POA.cfg: * tests/Exposed_Policies/README: * tests/Exposed_Policies/run_test.pl: Added service configuration file to set up one ORB endpoint for each bands used in the server orb. Updated test specific configuration files. * tao/Invocation_Endpoint_Selectors.cpp: * tao/MProfile.cpp: * tao/MProfile.h: * tao/MProfile.i: * tao/ORB_Core.cpp: * tao/Profile.cpp: * tao/Profile.h: * tao/Stub.cpp: * tao/Stub.h: Added ACE_TRY_ENV to a bounch of methods that deal with policies, fixed some part of code that was leading to memory leaks. * tao/PortableServer/POA.cpp: In the method there was a bug that has currently been fixed, but more investigation is needed. The problem was that when an object was created with a priority that was overriding the POA priority, if that object also had lanes as policy then the stub would have not been created. Thu Feb 8 14:53:07 2001 Darrell Brunsch * tests/AMI_Timeouts/AMI_Timeouts.dsw: Inserted client.dsp. * tests/AMI_Timeouts/client.dsp: * tests/AMI_Timeouts/server.dsp: Fixed/Added idl custom build commands. Thu Feb 8 14:29:13 2001 Darrell Brunsch * tao/GIOP_Message_Handler.cpp: TAO_GIOP_Message_Handler::read_parse_message was checking the errno after trnasport->recv (..) and was masking out a ECONNRESET error. In the ImR at least, this would cause the ImR + a server to get into an infinite loop. I removed this code so the error does get propogated up. Thu Feb 8 12:21:35 2001 Frank Hunleth * tao/stub.cpp: * tao/Policy_Manager.cpp: Fixed policy object reference counting in several places to fix bad pointer references when running the RT Corba Client Protocol Unit Test. Thanks to Nanbor for most of the changes and thanks to Christian Ewald for reporting this. Wed Feb 7 14:31:48 2001 Jeff Parsons * orbsvcs/Makefile: * orbsvcs/IFR_Service/IFR_Service.cpp: * orbsvcs/IFR_Service/Makefile: * orbsvcs/IFR_Service/Servant_Locator.cpp: * orbsvcs/IFR_Service/Servant_Locator.h: * orbsvcs/tests/Makefile: * orbsvcs/tests/InterfaceRepo/Application_Test/ifr_dii_client.cpp: * orbsvcs/tests/InterfaceRepo/Application_Test/ifr_dii_client.h: Reverted changes to source files that guarded against minimum CORBA compilation. Instead, modified makefiles to skip the relevant directories. Wed Feb 7 12:57:35 2001 Frank Hunleth * tao/Acceptor_Registry.cpp: Fixed redundant call to strtok_r in open_i when a protocol is specified without an endpoint. This was causing core dumps on Linux platforms. Thanks to Christian Ewald for reporting this. Tue Feb 6 22:39:06 2001 Frank Hunleth * tao/Connection_Cache_Manager.cpp: Fixed core dump in close_i () that was being caused by unbinding hash map entries while iterating over the hash map. Tue Feb 06 15:49:41 2001 Carlos O'Ryan * tao/TAO.dsw: Add several missing project files. * performance-tests/Latency/client.cpp: Fixed memory leak. Tue Feb 6 16:34:16 2001 Yamuna Krishnamurthy * orbsvcs/tests/AVStreams/Multicast/ftp.cpp: Fixed compile warnings on SunCC42. Tue Feb 6 10:20:02 2001 Jeff Parsons * tao/IFR_Client/IFR_Client_Adapter_Impl.h: Removed unnecessary inlclusion of corbafwd.h. * orbsvcs/IFR_Service/drv_arg_ifr.cpp: Removed unused function DRV_prep_cpp_arg(). Mon Feb 5 19:41:41 2001 Ossama Othman * tao/ORB_Core.h (object_ref_table): Clarified the comment corresponding to this method. It should be apparent what the returned table is used for. * tests/Portable_Interceptors/Service_Context_Manipulation/interceptors.cpp (receive_request_service_contexts): Ignore the "_is_a" operation since it may have been invoked locally on the server side as a side effect of another call, meaning that the client hasn't added the service context yet. Fixes a test failure. Mon Feb 5 16:48:10 2001 Jeff Parsons * orbsvcs/IFR_Service/IFR_Service.cpp: * orbsvcs/IFR_Service/Servant_Locator.cpp: * orbsvcs/IFR_Service/Servant_Locator.h: * orbsvcs/tests/InterfaceRepo/Application_Test/ifr_dii_client.cpp: * orbsvcs/tests/InterfaceRepo/Application_Test/ifr_dii_client.h: Added minimum CORBA guards around code that won't compile under minimum CORBA. Mon Feb 5 15:57:54 2001 Jeff Parsons * tao/Object.cpp: * tao/Object.h: Moved the DII create_request methods inside the minimum CORBA guards, along with other methods in that class, and as is already the case in class LocalObject. Mon Feb 5 15:13:53 2001 Jeff Parsons * orbsvcs/IFR_Service/Makefile: * orbsvcs/tests/Makefile: Added guards to keep the IFR_Service, tao_ifr and associated tests from being built with old g++. The TypeCodeFactory will still be built on all build configurations. Mon Feb 5 12:33:44 2001 Ossama Othman * tests/Portable_Interceptors/Benchmark/interceptors.cpp (send_request): Corrected typo. ACE_TRY_CHECK --> ACE_TRY_ENV. Mon Feb 5 12:27:14 2001 Ossama Othman * tao/ORB_Core.cpp (fini): Removed debugging statement that accidentally got committed. * tests/Portable_Interceptors/Dynamic/interceptors.cpp (receive_request): Corrected use of TAO_ENV_ARG_DECL_NOT_USED macro. The TAO_ENV_ARG_DECL macro should have been used instead. Mon Feb 5 12:17:02 2001 Ossama Othman * orbsvcs/orbsvcs/Trader/Trading_Loader.cpp (TAO_Trading_Loader): Corrected typo. Mon Feb 05 11:53:56 2001 Ossama Othman * tao/PortableInterceptor.pidl: Removed backslashes from comments. Some compilers cannot handle them. * tao/Interceptor_List.cpp (add_interceptor): Removed comment about duplicating the interceptor reference passed in to the method. The code does the right thing by duplicating the reference. * tao/ORB_Core.cpp (create_stub_object): Removed useless call to TAO_Profile::the_stub(). It sets the TAO_Stub pointer associated with the profile, yet the stub hasn't been initialized at this point in the code. The stub pointer is set in each profile in the TAO_Stub constructor anyway. (init): Added missing ACE_CHECK_RETURN after call to RT_ORB_init(). * tao/Profile.i (TAO_Profile): Initialize the stub_ pointer member to zero in the base member initializer list. Previously it was not initialized. * orbsvcs/orbsvcs/Naming/Naming_Loader.cpp (init): Added missing ACE_TRY_CHECK after call to ORB_init(). * orbsvcs/orbsvcs/Trader/Trading_Loader.cpp (TAO_Trading_Loader): Fallback on IP address if hostname lookup fails. (init): Fixed mismatched ACE_CHECK_RETURN inside ACE_TRY block. ACE_TRY_CHECK is the proper macro. (bootstrap_to_federation): Added missing CORBA::Environment argument and the accompanying ACE_CHECK_RETURN to the resolve_initial_references() call. * tests/Portable_Interceptors/Benchmark/Client_ORBInitializer.cpp (post_init): * tests/Portable_Interceptors/Benchmark/Server_ORBInitializer.cpp (post_init): * tests/Portable_Interceptors/Benchmark/interceptors.cpp: * tests/Portable_Interceptors/Dynamic/interceptors.cpp: * tests/Portable_Interceptors/Dynamic/client.cpp (main): Fixed memory leaks. Added missing ACE_CHECKs. * tests/Portable_Interceptors/Dynamic/server.cpp (main): Added missing ACE_TRY_CHECKs. Fixed mismatched use of ACE_CHECK_RETURN within an ACE_TRY block. * tests/Portable_Interceptors/IORInterceptor/FOO_ClientRequestInterceptor.h: Corrected class description. Mon Feb 5 09:12:00 2001 Ossama Othman * docs/Options.html: Added missing "-ORBReactorType" argument descriptions. Sun Feb 4 15:30:00 2001 Michael Kircher * tests/AMI_Timeouts/client.cpp: * tests/AMI_Timeouts/client.dsp: Added the client side of the AMI timeout test. Sun Feb 4 10:40:39 2001 Darrell Brunsch * orbsvcs/orbsvcs/Fault_Tolerance.dsp: Updated the TAO_IDL build line to not refer to POA_CORBA.h for the Release configurations. Sun Feb 4 5:45:00 2001 Michael Kircher * tests/AMI_Timeouts: Created this directory to hold a new test for AMI in combination with roundtrip timeouts. * tests/AMI_Timeouts/AMI_Timeouts.dsw: * tests/AMI_Timeouts/server.dsp: * tests/AMI_Timeouts/server.bor: * tests/AMI_Timeouts/server.cpp: * tests/AMI_Timeouts/timeout.idl: * tests/AMI_Timeouts/timeout_i.h: * tests/AMI_Timeouts/timeout_i.cpp: * tests/AMI_Timeouts/timeout_client.h: * tests/AMI_Timeouts/timeout_client.cpp: * tests/AMI_Timeouts/Makefile: * tests/AMI_Timeouts/Makefile.bor: * tests/AMI_Timeouts/run_test.pl: * tests/AMI_Timeouts/README: Added these files as part of the new test. Please note that the Makefiles, run_test.pl and the Borland Compiler project might not be up to date. Sat Feb 3 15:56:43 2001 Darrell Brunsch * orbsvcs/orbsvcs/AV/AVStreams_i.cpp: Renamed some variables to remove multiply defined variables on MSVC, which resulted from different for loop scoping rules. Fri Feb 2 14:45:57 2001 Frank Hunleth * orbsvcs/ImplRepo_Service/NT_Service.h: * orbsvcs/Naming_Service/NT_Naming_Service.h: Added #include "tao/orbconf.h" to bring in definition for TAO_SYNCH_MUTEX and fix compile errors in Windows builds. Fri Feb 2 14:34:15 2001 Frank Hunleth * tao/TAO_Singleton_Manager.h: Removed forward reference for TAO_SYNCH_RECURSIVE_MUTEX and added #include "tao/orbconf.h". The forward reference wasn't necessary, and it was causing an internal compiler error under gcc 2.95.2. Fri Feb 2 14:20:26 2001 Douglas C. Schmidt * orbsvcs/Naming_Service/README: Changed the README file so that it uses the "Name_Service" rather than "Name_Server." Thanks to Luther Baker for pointing this out. Fri Feb 2 13:35:19 2001 Frank Hunleth * tao/RT_ORB.h: * tao/RT_Mutex.h: Updated method documentation. * docs/rtcorba/status.html: Update RT Mutex status. Fri Feb 2 08:01:48 2001 Douglas C. Schmidt * tao/IIOP_Profile.cpp (decode): Make sure to initialize the major and minor codes so they don't have garbage values. Thanks to Detlef Becker for reporting htis. * tao/RT_ORB.{h,cpp} * tao/RT_Mutex.{h,cpp}: Made some minor cosmetic changes. Thu Feb 1 22:57:27 2001 Frank Hunleth * tao/RT_Mutex.h: * tao/RT_Mutex.cpp: * tao/RT_ORB.cpp: * tao/RT_ORB.h: Code cleanup. * tests/RTCORBA/RTMutex/server.cpp: Fixed typo that was causing a compiler error. Thu Feb 1 21:47:58 2001 Douglas C. Schmidt * tests/RTCORBA/RTMutex/server.cpp: Various cosmetic changes to conform to ACE+TAO programming guidelines. Thu Feb 1 20:54:11 2001 Frank Hunleth * tao/Makefile: * tao/RTCORBA.pidl: * tao/RTCORBAC.cpp: * tao/RTCORBAC.h: * tao/RTCORBAC.i: * tao/RTCORBAS.cpp: * tao/RTCORBAS.h: * tao/RTCORBAS.i: * tao/RTCORBAS_T.cpp: * tao/RTCORBAS_T.h: * tao/RTCORBAS_T.i: * tao/RT_Mutex.cpp: * tao/RT_Mutex.h: * tao/RT_ORB.cpp: * tao/RT_ORB.h: * tao/diffs/RTCORBAC.cpp.diff: * tao/diffs/RTCORBAC.h.diff: * tao/diffs/RTCORBAC.i.diff: * tao/diffs/RTCORBAS.h.diff: * tao/diffs/RTCORBAS.cpp.diff: * tests/RTCORBA/Makefile: * tests/RTCORBA/Makefile.bor: * tests/RTCORBA/README: * tests/RTCORBA/RTCORBA_tests.dsw: * tests/RTCORBA/RTMutex/Makefile: * tests/RTCORBA/RTMutex/Makefile.bor: * tests/RTCORBA/RTMutex/README: * tests/RTCORBA/RTMutex/RTMutex.dsw: * tests/RTCORBA/RTMutex/run_test.pl: * tests/RTCORBA/RTMutex/server.bor: * tests/RTCORBA/RTMutex/server.cpp: * tests/RTCORBA/RTMutex/server.dsp: Added RT Mutex implementation and unit tests. Thu Feb 1 20:29:54 2001 Frank Hunleth * tao/orbconf.h: Added default definitions for TAO_SYNCH_MUTEX, TAO_SYNCH_RECURSIVE_MUTEX, TAO_SYNCH_RW_MUTEX, and TAO_SYNCH_CONDITION to allow TAO's use of mutexes and condition variables to be globally changed at compile time. This change was most important for the RT Mutex implementation which requires that the mutexes that it returns to users have the same semantics (priority inheritance, etc.) as the ones used in the ORB. * TAO_IDL/be/be_visitor_interface/smart_proxy_ch.cpp: * TAO_IDL/be/be_visitor_interface/smart_proxy_cs.cpp: * TAO_IDL/be/be_visitor_interface/strategized_proxy_broker_sh.cpp: * TAO_IDL/be/be_visitor_interface/strategized_proxy_broker_ss.cpp: * docs/Smart_Proxies.html: * docs/events_tutorial.html: * examples/Content_Server/AMI_Observer/Callback_i.cpp: * examples/Content_Server/AMI_Observer/Callback_i.h: * examples/Load_Balancing_persistent/Load_Balancer_i.h: * orbsvcs/IFR_Service/InterfaceS.cpp: * orbsvcs/IFR_Service/InterfaceS.h: * orbsvcs/IFR_Service/Repository_i.cpp: * orbsvcs/IFR_Service/ifr_visitor.cpp: * orbsvcs/IFR_Service/diffs/InterfaceS.cpp.diff: * orbsvcs/IFR_Service/diffs/InterfaceS.h.diff: * orbsvcs/ImplRepo_Service/NT_Service.h: * orbsvcs/Naming_Service/NT_Naming_Service.h: * orbsvcs/Scheduling_Service/Scheduling_Service.cpp: * orbsvcs/Scheduling_Service/Scheduling_Service.h: * orbsvcs/examples/Notify/Filter/Filter.cpp: * orbsvcs/examples/Notify/Subscribe/Subscribe.cpp: * orbsvcs/examples/RtEC/Schedule/Service.cpp: * orbsvcs/orbsvcs/Event_Service_Constants.h: * orbsvcs/orbsvcs/AV/TCP.cpp: * orbsvcs/orbsvcs/AV/sfp.cpp: * orbsvcs/orbsvcs/AV/sfp.h: * orbsvcs/orbsvcs/Concurrency/CC_LockSet.cpp: * orbsvcs/orbsvcs/Concurrency/CC_LockSet.h: * orbsvcs/orbsvcs/Concurrency/CC_LockSetFactory.cpp: * orbsvcs/orbsvcs/Concurrency/CC_LockSetFactory.h: * orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.cpp: * orbsvcs/orbsvcs/CosEvent/CEC_Dispatching_Task.cpp: * orbsvcs/orbsvcs/CosEvent/CEC_Dispatching_Task.h: * orbsvcs/orbsvcs/CosEvent/CEC_MT_Dispatching.cpp: * orbsvcs/orbsvcs/CosEvent/CEC_MT_Dispatching.h: * orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullSupplier.cpp: * orbsvcs/orbsvcs/CosEvent/CEC_ProxyPullSupplier.h: * orbsvcs/orbsvcs/ETCL/ETCL_l.cpp: * orbsvcs/orbsvcs/ETCL/ETCL_l.cpp.diff: * orbsvcs/orbsvcs/Event/EC_Basic_Factory.cpp: * orbsvcs/orbsvcs/Event/EC_Default_Factory.cpp: * orbsvcs/orbsvcs/Event/EC_Dispatching_Task.cpp: * orbsvcs/orbsvcs/Event/EC_Dispatching_Task.h: * orbsvcs/orbsvcs/Event/EC_Gateway.cpp: * orbsvcs/orbsvcs/Event/EC_Gateway.h: * orbsvcs/orbsvcs/Event/EC_Gateway_Sched.cpp: * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp: * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.h: * orbsvcs/orbsvcs/Event/EC_MT_Dispatching.cpp: * orbsvcs/orbsvcs/Event/EC_MT_Dispatching.h: * orbsvcs/orbsvcs/Event/EC_Per_Supplier_Filter.cpp: * orbsvcs/orbsvcs/Event/EC_Per_Supplier_Filter.h: * orbsvcs/orbsvcs/Event/Event_Manip.cpp: * orbsvcs/orbsvcs/Event/Event_Manip.h: * orbsvcs/orbsvcs/Event/Memory_Pools.cpp: * orbsvcs/orbsvcs/Event/Memory_Pools.h: * orbsvcs/orbsvcs/LoadBalancing/Minimum_Dispersion.cpp: * orbsvcs/orbsvcs/LoadBalancing/Minimum_Dispersion.h: * orbsvcs/orbsvcs/LoadBalancing/ReplicaProxy.cpp: * orbsvcs/orbsvcs/LoadBalancing/ReplicaProxy.h: * orbsvcs/orbsvcs/LoadBalancing/Round_Robin_Strategy.cpp: * orbsvcs/orbsvcs/LoadBalancing/Round_Robin_Strategy.h: * orbsvcs/orbsvcs/Log/LogMgr_i.cpp: * orbsvcs/orbsvcs/Log/LogMgr_i.h: * orbsvcs/orbsvcs/Naming/Bindings_Iterator_T.cpp: * orbsvcs/orbsvcs/Naming/Bindings_Iterator_T.h: * orbsvcs/orbsvcs/Naming/Hash_Naming_Context.cpp: * orbsvcs/orbsvcs/Naming/Hash_Naming_Context.h: * orbsvcs/orbsvcs/Naming/Persistent_Context_Index.cpp: * orbsvcs/orbsvcs/Naming/Persistent_Context_Index.h: * orbsvcs/orbsvcs/Naming/Persistent_Naming_Context.cpp: * orbsvcs/orbsvcs/Naming/Transient_Naming_Context.cpp: * orbsvcs/orbsvcs/Notify/Notify_AdminProperties.cpp: * orbsvcs/orbsvcs/Notify/Notify_AdminProperties.h: * orbsvcs/orbsvcs/Notify/Notify_Constraint_Visitors.cpp: * orbsvcs/orbsvcs/Notify/Notify_Constraint_Visitors.h: * orbsvcs/orbsvcs/Notify/Notify_Default_CO_Factory.cpp: * orbsvcs/orbsvcs/Notify/Notify_Default_Collection_Factory.cpp: * orbsvcs/orbsvcs/Notify/Notify_Event.cpp: * orbsvcs/orbsvcs/Notify/Notify_Event_Manager.cpp: * orbsvcs/orbsvcs/Notify/Notify_Event_Map.h: * orbsvcs/orbsvcs/Notify/Notify_FilterAdmin_i.cpp: * orbsvcs/orbsvcs/Notify/Notify_FilterAdmin_i.h: * orbsvcs/orbsvcs/Notify/Notify_Filter_i.cpp: * orbsvcs/orbsvcs/Notify/Notify_Filter_i.h: * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connector.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp: * orbsvcs/orbsvcs/Sched/DynSched.cpp: * orbsvcs/orbsvcs/Sched/DynSched.h: * orbsvcs/orbsvcs/Sched/Scheduler.cpp: * orbsvcs/orbsvcs/Sched/Scheduler.h: * orbsvcs/orbsvcs/Sched/Scheduler_Generic.h: * orbsvcs/orbsvcs/Trader/Interpreter.cpp: * orbsvcs/orbsvcs/Trader/Interpreter.h: * orbsvcs/orbsvcs/Trader/Trader.cpp: * orbsvcs/tests/AVStreams/benchmark/child.cpp: * orbsvcs/tests/AVStreams/benchmark/child.h: * orbsvcs/tests/AVStreams/benchmark/client.cpp: * orbsvcs/tests/AVStreams/benchmark/client.h: * orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Audio_Control_State.cpp: * orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Audio_Control_State.h: * orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Globals.cpp: * orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Globals.h: * orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Control_State.cpp: * orbsvcs/tests/AVStreams/mpeg/source/mpeg_server/Video_Control_State.h: * orbsvcs/tests/CosEvent/Basic/Random.cpp: * orbsvcs/tests/CosEvent/Basic/Random.h: * orbsvcs/tests/CosEvent/lib/Counting_Consumer.cpp: * orbsvcs/tests/CosEvent/lib/Counting_Consumer.h: * orbsvcs/tests/CosEvent/lib/Counting_Supplier.cpp: * orbsvcs/tests/CosEvent/lib/Counting_Supplier.h: * orbsvcs/tests/EC_Custom_Marshal/ECM_Consumer.cpp: * orbsvcs/tests/EC_Custom_Marshal/ECM_Consumer.h: * orbsvcs/tests/EC_Mcast/EC_Mcast.h: * orbsvcs/tests/EC_Multiple/EC_Multiple.cpp: * orbsvcs/tests/EC_Multiple/EC_Multiple.h: * orbsvcs/tests/EC_Throughput/ECT_Consumer.cpp: * orbsvcs/tests/EC_Throughput/ECT_Consumer.h: * orbsvcs/tests/EC_Throughput/ECT_Consumer_Driver.cpp: * orbsvcs/tests/EC_Throughput/ECT_Consumer_Driver.h: * orbsvcs/tests/EC_Throughput/ECT_Throughput.cpp: * orbsvcs/tests/EC_Throughput/ECT_Throughput.h: * orbsvcs/tests/Event/Basic/Atomic_Reconnect.cpp: * orbsvcs/tests/Event/Basic/Atomic_Reconnect.h: * orbsvcs/tests/Event/Basic/Control.cpp: * orbsvcs/tests/Event/Basic/Control.h: * orbsvcs/tests/Event/Basic/Observer.cpp: * orbsvcs/tests/Event/Basic/Observer.h: * orbsvcs/tests/Event/Basic/Random.cpp: * orbsvcs/tests/Event/Basic/Random.h: * orbsvcs/tests/Event/Performance/Latency.cpp: * orbsvcs/tests/Event/Performance/Latency.h: * orbsvcs/tests/Event/lib/Consumer.cpp: * orbsvcs/tests/Event/lib/Consumer.h: * orbsvcs/tests/Event/lib/Counting_Supplier.cpp: * orbsvcs/tests/Event/lib/Counting_Supplier.h: * orbsvcs/tests/Event/lib/Supplier.cpp: * orbsvcs/tests/Event/lib/Supplier.h: * orbsvcs/tests/Notify/Basic/ConnectDisconnect.cpp: * orbsvcs/tests/Notify/Basic/ConnectDisconnect.h: * orbsvcs/tests/Notify/Basic/Events_Test.cpp: * orbsvcs/tests/Notify/Basic/Events_Test.h: * orbsvcs/tests/Notify/Basic/Simple.cpp: * orbsvcs/tests/Notify/Basic/Simple.h: * orbsvcs/tests/Notify/Basic/Updates.cpp: * orbsvcs/tests/Notify/Basic/Updates.h: * orbsvcs/tests/Notify/performance-tests/RedGreen/RedGreen_Test.cpp: * orbsvcs/tests/Notify/performance-tests/RedGreen/RedGreen_Test.h: * orbsvcs/tests/Notify/performance-tests/Throughput/Throughput.cpp: * orbsvcs/tests/Notify/performance-tests/Throughput/Throughput.h: * performance-tests/Callback/Callback_i.cpp: * performance-tests/Callback/Callback_i.h: * performance-tests/Callback/client.cpp: * performance-tests/Cubit/TAO/MT_Cubit/Cubit_Task.cpp: * performance-tests/Cubit/TAO/MT_Cubit/Globals.h: * performance-tests/Cubit/TAO/MT_Cubit/Task_Client.cpp: * performance-tests/Cubit/TAO/MT_Cubit/Task_Client.h: * performance-tests/Cubit/TAO/MT_Cubit/client.cpp: * performance-tests/Cubit/TAO/MT_Cubit/server.cpp: * tao/Environment.cpp: * tao/Environment.h: * tao/Exception.cpp: * tao/Exception.h: * tao/IIOP_Connector.cpp: * tao/Leader_Follower.cpp: * tao/Leader_Follower.h: * tao/Leader_Follower.i: * tao/MProfile.cpp: * tao/MProfile.h: * tao/Muxed_TMS.cpp: * tao/Muxed_TMS.h: * tao/NVList.cpp: * tao/NVList.h: * tao/ORB.cpp: * tao/ORB.h: * tao/ORB.i: * tao/ORBInitializer_Registry.cpp: * tao/ORBInitializer_Registry.h: * tao/ORBInitializer_Registry.inl: * tao/ORB_Core.cpp: * tao/ORB_Core.h: * tao/ORB_Core.i: * tao/ORB_Table.cpp: * tao/ORB_Table.h: * tao/ORB_Table.inl: * tao/Object.h: * tao/Object.i: * tao/Policy_Manager.h: * tao/Policy_Manager.i: * tao/Principal.h: * tao/Profile.h: * tao/Profile.i: * tao/Single_Reactor.cpp: * tao/Stub.cpp: * tao/Stub.h: * tao/Synch_Reply_Dispatcher.h: * tao/TAO_Internal.cpp: * tao/TAO_Singleton_Manager.cpp: * tao/TAO_Singleton_Manager.h: * tao/Transport.cpp: * tao/Transport.h: * tao/Typecode.cpp: * tao/Typecode.h: * tao/Typecode.i: * tao/ValueBase.h: * tao/ValueBase.i: * tao/ValueFactory.h: * tao/ValueFactory.i: * tao/ValueFactory_Map.cpp: * tao/ValueFactory_Map.h: * tao/Wait_On_Leader_Follower.cpp: * tao/Wait_On_Leader_Follower.h: * tao/Wait_Strategy.cpp: * tao/Wait_Strategy.h: * tao/default_client.cpp: * tao/default_resource.cpp: * tao/default_server.cpp: * tao/DynamicInterface/Context.cpp: * tao/DynamicInterface/Context.h: * tao/DynamicInterface/ExceptionList.cpp: * tao/DynamicInterface/ExceptionList.h: * tao/DynamicInterface/Request.cpp: * tao/DynamicInterface/Request.h: * tao/DynamicInterface/Server_Request.cpp: * tao/DynamicInterface/Server_Request.h: * tao/IORTable/IOR_Table_Impl.cpp: * tao/IORTable/IOR_Table_Impl.h: * tao/PortableServer/ImplRepoC.cpp: * tao/PortableServer/ImplRepoC.h: * tao/PortableServer/MessagingS.cpp: * tao/PortableServer/MessagingS.h: * tao/PortableServer/Object_Adapter.cpp: * tao/PortableServer/Object_Adapter.h: * tao/PortableServer/Object_Adapter.i: * tao/PortableServer/Operation_Table.cpp: * tao/PortableServer/Operation_Table.h: * tao/PortableServer/POA.cpp: * tao/PortableServer/POA.h: * tao/PortableServer/Servant_Base.cpp: * tao/PortableServer/Servant_Base.h: * tao/PortableServer/Strategized_Object_Proxy_Broker.cpp: * tao/PortableServer/Strategized_Object_Proxy_Broker.h: * tao/Strategies/Reactor_Per_Priority.cpp: * tao/Strategies/Reactor_Per_Priority.h: * tao/Strategies/SHMIOP_Connector.cpp: * tao/Strategies/TAO_Strategies_Internal.cpp: * tao/Strategies/UIOP_Connector.cpp: * tao/Strategies/advanced_resource.cpp: * tao/diffs/MessagingC.cpp.diff: * tao/diffs/MessagingC.h.diff: * tests/Leader_Followers/client.cpp: * tests/LongUpcalls/AMI_Manager.cpp: * tests/LongUpcalls/AMI_Manager.h: * tests/LongUpcalls/Controller.cpp: * tests/LongUpcalls/Controller.h: * tests/Param_Test/helper.cpp: * tests/Param_Test/helper.h: * tests/Param_Test/options.cpp: * tests/Param_Test/options.h: Changed occurrances of ACE_SYNCH_* to their new TAO_SYNCH_* equivalents. In some cases, occurrances of Ace_Thread_Mutex, Ace_Recursive_Thread_Mutex, and Ace_RW_Thread_Mutex were changed to their TAO_SYNCH_ forms. Thu Feb 1 09:36:26 2001 Jeff Parsons * examples/AMI/FL_Callback/peer.cpp: Corrected typo in the usage message. Thanks to Johnny Willemsen for reporting it. Wed Jan 31 19:13:18 2001 Krishnakumar B * tests/Multiple/Multiple.idl: Added a C-style comment to remove the multiple-line comment warning and also to retain the `\' used in the comment. Tue Jan 30 20:41:37 2001 Yamuna Krishnamurthy * orbsvcs/orbsvcs/AV/AV_Core.cpp: Initialized the roles (TAO_AV_PRODUCER & TAO_AV_CONSUMER) of the entries correspondingly for the flows. Thanks to David Karr and Craig Rodrigues for reporting this Tue Jan 30 13:49:01 2001 Jeff Parsons * orbsvcs/IFR_Service/Servant_Factory.h: * orbsvcs/IFR_Service/Servant_Factory.cpp: Cosmetic changes. Tue Jan 30 10:21:24 2001 Jeff Parsons * orbsvcs/IFR_Service/InterfaceS.cpp: Cosmetic changes. Tue Jan 30 10:03:50 2001 Jeff Parsons * tao/OctetSeqC.h: * tao/OctetSeqC.i: * tao/OctetSeqC.cpp: Changed the #ifdef guards in these files to be different from that generated by the IDL compiler for 'typedef sequence OctetSeq;'. This will eliminate masking of code in application IDL files that contain the above line. Thanks to Sathish Tiptur for reporting this bug. Mon Jan 29 15:34:08 2001 Jeff Parsons * tao/GIOP_Message_Base.cpp: * tao/GIOP_Message_Lite.cpp: * orbsvcs/orbsvcs/AV/sfp.cpp: Changed one instance in each file where 'stream->do_byte_swap ()' should have been 'stream.do_byte_swap ()'. Thanks to Paul Rubel for pointing out this error, which is visible only when SWAP_ON_WRITE is enabled. Mon Jan 29 15:25:44 2001 Jeff Parsons * tao.IFR_TypeCodes.cpp: Added CORBA namespace scoping to ValueModifier constant assignments. Mon Jan 29 10:58:54 2001 Jeff Parsons * tao/IFR_Client/InterfaceC.h: Removed an unnecessary #inlude. Sun Jan 28 22:19:35 2001 Yamuna Krishnamurthy * orbsvcs/orbsvcs/AV/AVStreams_i.cpp: Added iterations to start the flow handlers for the reverse flow spec set in the TAO_StreamEndpoint::start method. This was required to enable the AVStream clients and servers to run on different hosts. Thanks to David Karr for reporting the bug. Sun Jan 28 08:28:52 2001 Carlos O'Ryan * tao/ORB_Core.cpp: Don't use priority_mapping_manager_ if RT-CORBA is disabled. Sun Jan 28 07:49:22 2001 Carlos O'Ryan * tests/LongWrites/Coordinator.cpp: Fixed problems with compilers that only support the old rules for variables declared inside a for() loop. Sat Jan 27 19:42:01 2001 Ossama Othman * tests/Portable_Interceptors/Service_Context_Manipulation/Client_ORBInitializer.cpp (post_init): * tests/Portable_Interceptors/Service_Context_Manipulation/Server_ORBInitializer.cpp (post_init): * tests/Portable_Interceptors/Service_Context_Manipulation/client.cpp: Do not call _retn() on the "_var." The caller (post_init() in this case) is responsible for storage. Fixes several memory leaks. * tests/Portable_Interceptors/Service_Context_Manipulation/server.cpp (main): Fixed a memory leak. Fixed ACE_TRY_CHECK/ACE_CHECK_RETURN mismatches. Added missing ACE_TRY_ENV argument to resolve_initial_references() call. Corrected spelling. * tests/Portable_Interceptors/Service_Context_Manipulation/interceptors.cpp: Fixed memory leaks. Added missing ACE_TRY_ENV argument to all of the invocations that were missing it. * tests/Portable_Interceptors/Service_Context_Manipulation/interceptors.h: Derive/mix-in CORBA::LocalObject into both the client side and server side interceptors, since interceptors are indeed local objects. * tests/Portable_Interceptors/Service_Context_Manipulation/test_i.h: Fixed broken throw specs and missing default CORBA::Environment arguments. * tests/Portable_Interceptors/Service_Context_Manipulation/test_i.cpp (shutdown): Do not wait for completion. Fixes a problem where the server wouldn't shutdown properly. * tests/Portable_Interceptors/Service_Context_Manipulation/Service_Context_Manipulation.dsw: * tests/Portable_Interceptors/Service_Context_Manipulation/client.dsp: * tests/Portable_Interceptors/Service_Context_Manipulation/server.dsp: New MSVC project files. Sat Jan 27 18:41:28 2001 Ossama Othman * tao/RT_ORBInitializer.cpp (pre_init): Use ACE_NEW_THROW_EX instead of raw "new" operator. Store newly created TAO_Priority_Mapping_Manager reference in its corresponding "_var" so that proper reference counting semantics are maintained, i.e., the caller is always responsible for storage. Fixes a memory leak. * tao/Priority_Mapping_Manager.h (TAO_Priority_Mapping_Manager): Derive this class from TAO_Local_RefCounted_Object so that we pull in the version of CORBA::LocalObject with reference counting implemented. Fixes a memory leak. * tao/Pool_Per_Endpoint.cpp (run): * tao/RT_Protocols_Hooks.cpp (set_thread_priority, get_thread_priority): Added missing ACE_CHECKs and ACE_CHECK_RETURNs. * tao/ORB_Core.cpp (priority_mapping_manager): Fixed problem where this (accessor) method would always return a nil object reference. Thanks to Michael Hampel for detecting this problem. Release the old reference before setting the new one in the mutator version of this method. Fixes a memory leak. We won't need to do this once we change the priority_mapping_manager_ member to be a non-static CORBA::Object_var. (fini): Release the reference to the priority mapping manager. Fixes a memory leak. We won't need to do this once we change the priority_mapping_manager_ member to be a non-static CORBA::Object_var. Sat Jan 27 16:01:08 2001 Ossama Othman * orbsvcs/IFR_Service/Options.cpp: Include "ace/Log_Msg.h" to pull in ACE_ERROR_RETURN and LM_ERROR definitions. * orbsvcs/tests/LoadBalancing/Hash_ReplicaControl.cpp: Include "ace/Reactor.h" to pull in ACE_Reactor class declaration. Needed for configurations that do not define ACE_TEMPLATES_REQUIRE_SOURCE. Sat Jan 27 11:32:18 2001 Ossama Othman * tao/IOP.pidl: * tao/Policy.pidl: Removed backslashes in comments. Some compilers issue a warning about including them in a comment. Sat Jan 27 00:30:57 2001 Carlos O'Ryan * orbsvcs/orbsvcs/CosEvent/CEC_Default_Factory.h: * orbsvcs/orbsvcs/CosEvent/CEC_Event_Loader.h: * orbsvcs/orbsvcs/Event/EC_Default_Factory.h: * orbsvcs/orbsvcs/Notify/Notify_Default_CO_Factory.h: * orbsvcs/orbsvcs/Notify/Notify_Default_Collection_Factory.h: * orbsvcs/orbsvcs/Notify/Notify_Default_EMO_Factory.h: * orbsvcs/orbsvcs/Notify/Notify_POA_Factory.h: Add missing ace/Service_Config.h #include, required for platforms that do not define ACE_TEMPLATES_REQUIRE_SOURCE. * orbsvcs/orbsvcs/Event/EC_Event_Channel.cpp: * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp: * orbsvcs/orbsvcs/Event/EC_Reactive_ConsumerControl.cpp: * orbsvcs/orbsvcs/Event/EC_Reactive_SupplierControl.cpp: * orbsvcs/orbsvcs/Event/EC_Reactive_Timeout_Generator.cpp: * orbsvcs/orbsvcs/CosEvent/CEC_Reactive_ConsumerControl.cpp: * orbsvcs/orbsvcs/CosEvent/CEC_Reactive_SupplierControl.cpp: * tests/NestedUpcall/Triangle_Test/Object_A_i.cpp: Add missing ace/Reactor.h #include, required for platforms that do not define ACE_TEMPLATES_REQUIRE_SOURCE. Fri Jan 26 22:24:56 2001 Ossama Othman * tao/Default_Protocols_Hooks.cpp (ACE_RCSID): * tao/RT_Protocols_Hooks.cpp (ACE_RCSID): Removed trailing semi-colon. The ACE_RCSID macro already places trailing semi-colons in the expanded text. This change fixes a warning about the extra semi-colon. Fri Jan 26 22:13:16 2001 Ossama Othman * orbsvcs/tests/InterfaceRepo/Persistence_Test/Ptest.cpp (run): Added missing ACE_TRY_CHECKs. This fixes a compile-time warning. Fri Jan 26 19:37:50 2001 Craig Rodrigues * tao/DynamicInterface/DII_Invocation.h: Add #include "Unknown_User_Exception.h" to appease gcc 2.97. Fri Jan 26 17:33:32 2001 Carlos O'Ryan * tests/Makefile: * tests/README: * tests/LongWrites/Coordinator.cpp: * tests/LongWrites/Coordinator.h: * tests/LongWrites/Makefile: * tests/LongWrites/README: * tests/LongWrites/Receiver.cpp: * tests/LongWrites/Receiver.h: * tests/LongWrites/Sender.cpp: * tests/LongWrites/Sender.h: * tests/LongWrites/Test.idl: * tests/LongWrites/client.cpp: * tests/LongWrites/run_test.pl: * tests/LongWrites/server.cpp: New regression test for bug #132, do not attempt to run it now, it is still failing Fri Jan 26 16:39:50 2001 Carlos O'Ryan * examples/Content_Server/SMI_Iterator/Iterator_Factory_i.h: Remove spurious forward declaration * orbsvcs/IFR_Service/tmplinst.cpp: Add missing template instantiations. Fri Jan 26 16:22:02 2001 Jeff Parsons * tao/IFR_Client/ifrfwd.h: Removed duplicate declaration of UsesDescription, UsesDescription_var and UsesDescription_out. Fri Jan 26 10:42:07 2001 Darrell Brunsch * examples/POA/Explicit_Activation/Alt_Resources/Resource_Factory.cpp: Added explicit include of ace/WFMO_Reactor.h. * tests/Timed_Buffered_Oneways/run_test.pl: Updated to use the new run_test style. Fri Jan 26 13:54:24 2001 Jeff Parsons * orbsvcs/tests/InterfaceRepo/Application_Test/run_test.pl: Changes to make sure ACE_ROOT is defined for use in the Perl script. Fri Jan 26 13:30:05 2001 Jeff Parsons * orbsvcs/tests/InterfaceRepo/Application_Test/Makefile: Added missing link library. Fri Jan 26 09:07:14 2001 Carlos O'Ryan * tao/DLL_Parser.h: Documented DLL IORs in more detail. * tests/README: * tests/Forwarding/README: * tests/LongUpcalls/README: * tests/Object_Loader/README: Add README files for the tests above. * tests/Object_Loader/run_test.pl: Add driver script, so the test can be put in the nightly builds. * tests/Forwarding/run_test.pl: Use corbaloc instead of the (now obsolete) iioploc format. Fri Jan 26 08:42:24 2001 Darrell Brunsch * examples/Content_Server/AMI_Iterator/Iterator_Factory_i.cpp: * examples/Content_Server/AMI_Iterator/Iterator_Factory_i.h: * examples/Content_Server/AMI_Observer/Push_Iterator_Factory_i.cpp: * examples/Content_Server/AMI_Observer/Push_Iterator_Factory_i.h: * examples/Content_Server/SMI_Iterator/Iterator_Factory_i.cpp: * examples/Content_Server/SMI_Iterator/Iterator_Factory_i.h: Changed use of struct stat to ACE_stat. Fri Jan 26 07:38:01 2001 Douglas C. Schmidt * tests/README: Updated all the README entries. Thu Jan 25 22:36:00 2001 Carlos O'Ryan * tao/Transport.h: Documented all the methods as I currently understand them. Remove the send(const char*, size_t) method, it was cluttering the interface, used very rarely (increasing footprint), and it will complicate the implementation of the reactive I/O. * tao/GIOP_Message_Base.cpp: * tao/GIOP_Message_Lite.cpp: Modified to use only the TAO_Transport::send() method taking an ACE_Message_Block. * tao/IIOP_Transport.h: * tao/Strategies/SHMIOP_Transport.h: * tao/Strategies/SHMIOP_Transport.cpp: * tao/Strategies/UIOP_Transport.h: * tao/Strategies/UIOP_Transport.cpp: * tao/IIOP_Transport.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp: Remove the send() method from all the pluggable protocols. Thu Jan 25 20:10:24 2001 Irfan Pyarali * orbsvcs/orbsvcs/ESF/ESF_Immediate_Changes.i: Fixed template parameter name mismatch between declaration and definition. Thanks to J. Russell Noseworthy for contributing the above patches. Thu Jan 25 17:31:15 2001 Ossama Othman * tests/Portable_Interceptors/ForwardRequest/README: Updated expected test output. * tests/Portable_Interceptors/ForwardRequest/client.cpp: Fixed CVS conflict tags and syntax error that crept into the previous commit. Thu Jan 25 18:41:11 2001 Jeff Parsons * orbsvcs/tests/InterfaceRepo/Application_Test/Makefile: Corrected typo. Thu Jan 25 10:40:33 2001 Carlos O'Ryan * orbsvcs/examples/RtEC/MCast/MCast.h: * orbsvcs/examples/RtEC/MCast/MCast.dsp: Removed MCast.h, the file was no longer used, thanks to Richard Eperjesi for pointing this out. Thu Jan 25 10:14:01 2001 Douglas C. Schmidt * tao/PortableServer/ORB_Manager.h: Changed "servant_name" to "object_name" for activate_under_child_poa(). Thanks to Jean-Francois Daune for reporting this discrepancy. * THANKS: We recently added our 1,100 contributor to ACE+TAO! Thu Jan 25 10:15:45 2001 Jeff Parsons * performance-tests/Cubit/TAO/DII_Cubit/client.dsp: Changes to the static release and debug versions of the project, to make them consistent with the DLL versions. Wed Jan 24 17:00:52 2001 Carlos O'Ryan * tao/Transport.h: Document the design for the new treatment of outgoing data, basically it should support non-blocking (reactive) I/O, queued messages, urgent data, per-message timeouts and multiple threads waiting on outgoing messages (ala Leader/Followers). * tao/Transport.h: * tao/Transport.cpp: * tao/IIOP_Transport.h: * tao/IIOP_Transport.cpp: * tao/Strategies/UIOP_Transport.h: * tao/Strategies/UIOP_Transport.cpp: * tao/Strategies/SHMIOP_Transport.h: * tao/Strategies/SHMIOP_Transport.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp: Factored out common code into the TAO_Transport class. * tao/things_that_needs: Removed spurious file * docs/pluggable_protocols/index.html: Fixed my homepage. Wed Jan 24 18:09:12 2001 Jeff Parsons * tao/Domain/TAO_Domain.dsp: Modified the settings for the release version to get rid of build errors on Win32 DLL release builds. Wed Jan 24 14:34:47 2001 Jeff Parsons * TAO_IDL/be/be_codegen.cpp: * TAO_IDL/be_include/be_codegen.h: * TAO_IDL/fe/idl.ll: * TAO_IDL/fe/lex.yy.cpp: * TAO_IDL/fe/lex.yy.cpp.diff: * TAO_IDL/include/idl_global.h: * TAO_IDL/util/utl_global.cpp: Added IDL compiler capability to recognize a line of the form '#pragma ident ' in an IDL file and put '#ident ' each generated file. Suggested by Jody Hagins . Wed Jan 24 09:44:24 2001 Carlos O'Ryan * tao/CORBALOC_Parser.h: * tao/CORBANAME_Parser.h: * tao/DLL_ORB.h: * tao/DLL_Parser.h: * tao/Default_Protocols_Hooks.h: * tao/FILE_Parser.h: * tao/IIOP_Factory.h: * tao/IIOP_Lite_Factory.h: * tao/Protocols_Hooks.h: * tao/RT_ORB_Loader.h: * tao/default_client.h: * tao/default_resource.h: * tao/default_server.h: * tao/qt_resource.h: * tao/xt_resource.h: Fixed use of ACE_STATIC_SVC_DECLARE() it should be ACE_STATIC_SVC_DECLARE_EXPORT() * tao/RT_Protocols_Hooks.h: * tao/Connection_Cache_Manager.cpp: Add missing #include, this should fix some problems in Tru64/CXX and SunOS/SunCC4.2 builds. Wed Jan 24 10:41:35 2001 Jeff Parsons * tao/diffs/InterfaceC.*.diff: Removed these files. They now exist in tao/IFR_Client/diffs, and I forgot to remove them in my original checkin. Thanks to Nanbor for pointing out the oversight. Wed Jan 24 00:27:47 2001 Ossama Othman * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Invocation_Interceptor.cpp (receive_request_service_contexts, receive_request): Moved the secure invocation interception code from the receive_request() interception point to the receive_request_service_contexts() interception point since it executed earlier in the request handling path. * tests/Portable_Interceptors/ForwardRequest/client.cpp (main): Improved test by verifying no two consecutive invocation results are the same. The test is designed so that this situation should never occur. If it does, then it is a clear indication that PortableInterceptor::ForwardRequest support is broken. Wed Jan 24 08:26:52 2001 Johnny Willemsen * tao/Makefile.bor: * tao/IFR_Client.bor: Corrected makefiles for the latest changes Tue Jan 23 18:22:52 2001 Jeff Parsons * orbsvcs/orbsvcs/Fault_Tolerance.dsp: * orbsvcs/orbsvcs/Makefile.FaultTolerance: Changed IDL compiler command line option to generate #include "tao/PortableServer/POA_CORBA.h" to generate #include "tao/PortableServer/PolicyS.h", since the one remaining class definition in POA_CORBA.h was moved there, and POA_CORBA.h removed from the CVS repository. Tue Jan 23 13:43:07 2001 Carlos O'Ryan * */Makefile: Update dependencies in all directories. * orbsvcs/tests/FaultTolerance/IOGR/Makefile: Fixed used of IDL_SRC the idl_stubs target was not working. Tue Jan 23 14:34:24 2001 Jeff Parsons * orbsvcs/IFR_Service/Makefile*: * orbsvcs/orbsvcs/Makefile.Svc_Utils: * orbsvcs/tests/InterfaceRepo/*Makefile: Updated dependencies. Tue Jan 23 11:15:59 2001 Carlos O'Ryan * tao/Leader_Follower.i: * tao/Leader_Follower.cpp: Moved use of the ACE_Reactor class from the .i to the .cpp file, the methods were too complex to be inlined anyway. This should fix the problems with the SunOS/SunCC 4.2 and Tru64 builds. Tue Jan 23 13:15:03 2001 Jeff Parsons * tao/*Makefile: Updated dependencies. Tue Jan 23 11:08:00 2001 Jeff Parsons * configure.in: * rules.tao.GNU: * tests/Smart_Proxies/Makefile: * tests/Smart_Proxies/Benchmark/Makefile: * tests/Smart_Proxies/On_Demand/Makefile: * tests/Smart_Proxies/Policy/Makefile: * orbsvcs/tests/InterfaceRepo/Application_Test/Makefile: * orbsvcs/tests/InterfaceRepo/IFR_Test/Makefile: * orbsvcs/tests/InterfaceRepo/IFR_Test/README: * orbsvcs/tests/InterfaceRepo/Persistence_Test/Makefile: * orbsvcs/tests/InterfaceRepo/Persistence_Test/README: * orbsvcs/IFR_Service/Makefile.BE: * orbsvcs/IFR_Service/Makefile.EX: * orbsvcs/IFR_Service/Makefile.IFR_Service: * orbsvcs/IFR_Service/Makefile.TypeCodeFactory: * orbsvcs/IFR_Service/README: * tao/orbconf.h: Removed all occurrences of the following - 'smart_proxies', 'interface_repo' and 'TAO_HAS_INTERFACE_REPOSITORY'. 'TAO_HAS_SMART_PROXIES' was removed in an earlier checkin. Because of the Smart_Proxies library and the new IFR_Client library described below, these compile options are no longer necessary. * orbsvcs/tests/InterfaceRepo/Application_Test/Application_Test.dsp: * orbsvcs/tests/InterfaceRepo/IFR_Test/IFR_Test.dsp: * orbsvcs/tests/InterfaceRepo/Persistence_Test/Persistence_Test.dsp: Added link to IFR_Client library. * orbsvcs/IFR_Service/InterfaceS.cpp: * orbsvcs/IFR_Service/InterfaceS.h: * orbsvcs/IFR_Service/InterfaceS.i: * orbsvcs/IFR_Service/diffs/InterfaceS.cpp.diff: * orbsvcs/IFR_Service/diffs/InterfaceS.h.diff: * orbsvcs/IFR_Service/diffs/InterfaceS.i.diff: Removed POA_CORBA::IRObject from POA_CORBA.h and moved it to InterfaceS.* as POA_CORBA_IRObject. Also added the Borland preprocessor directives that have recently been added to all generated code. * orbsvcs/IFR_Service/IFR_Service.dsp: * orbsvcs/IFR_Service/TypeCodeFactory_DLL.dsp: * orbsvcs/IFR_Service/tao_ifr.dsp: * orbsvcs/IFR_Service/TAO_IFR_BE_DLL.dsp: Added link to IFR_Client library. * orbsvcs/IFR_Service/IRObject_i.h: Changed instances of POA_CORBA::IRObject to POA_CORBA_IRObject. * orbsvcs/IFR_Service/Servant_Factory.h: * orbsvcs/IFR_Service/IFR_Service.h: * orbsvcs/IFR_Service/be_global.h: * orbsvcs/tests/InterfaceRepo/Application_Test/ifr_dii_client.h: * orbsvcs/tests/InterfaceRepo/IFR_Test/Admin_Client.h: * orbsvcs/tests/InterfaceRepo/Persistence_Test/Ptest.h: Changed #include of 'tao/ifrfwd.h' to 'tao/IFR_Client/ifrfwd.h', or 'tao/InterfaceC.h' to 'tao/IFR_CLient/InterfaceC.h'. * tao/PortableServer/POA_CORBA.h: Removed this file, and moved the only remaining declaration, POA_CORBA::Policy, to the new file PolicyS.h, as POA_CORBA_Policy. * tao/PortableServer/PolicyS.h: New file containing the declaration of POA_CORBA_Policy as described above. * tao/PortableServer/DomainS.cpp: * tao/PortableServer/DomainS.h: * tao/PortableServer/DomainS.i: * tao/PortableServer/DomainS_T.cpp: * tao/PortableServer/DomainS_T.h: * tao/PortableServer/DomainS_T.i: Moved these files to a new library called Domain, as described below. * tao/PortableServer/PolicyS.cpp: * tao/PortableServer/TAO_PortableServer.dsp: * tao/PortableServer/TAO_PortableServer_Static.dsp: * tao/PortableServer/Makefile: * tao/PortableServer/Makefile.bor: Changes corresponding to the other changes to this library described above. * tao/Domain/DomainS.cpp: * tao/Domain/DomainS.h: * tao/Domain/DomainS.i: * tao/Domain/DomainS_T.cpp: * tao/Domain/DomainS_T.h: * tao/Domain/DomainS_T.i: * tao/Domain/domain_export.h: * tao/Domain/TAO_Domain.dsp: * tao/Domain/TAO_Domain_Static.dsp: * tao/Domain/Makefile: * tao/Domain/Makefile.bor: Files either new or moved from PortableServer. The CORBA Domain API depends on Interface Repository stub code, which, as described below, has been given its own library. If instead a hook method using the IFR client dynamic service object had been used, the IFR client library would then depend on PortableServer. Also, even after the Domain API is fully implemented, there is no reason for the POA to know about Domain's skeleton side. * tao/IFR_Client/InterfaceC.cpp: * tao/IFR_Client/InterfaceC.h: * tao/IFR_Client/InterfaceC.i: * tao/IFR_Client/IFR_Client_Adapter_Impl.cpp: * tao/IFR_Client/IFR_Client_Adapter_Impl.h: * tao/IFR_Client/ifr_client_export.h: * tao/IFR_Client/TAO_IFR_Client.dsp: * tao/IFR_Client/TAO_IFR_Client_Static.dsp: * tao/IFR_Client/Makefile: * tao/IFR_Client/Makefile.bor: Files either new or moved from TAO. This new library contains Interface Repository stub code, and a dynamic service object containing hook methods for use by TAO classes that interact with the IFR. This library also enables the removal of the compile-time options 'TAO_HAS_INTERFACE_REPOSITORY' and 'interface_repo'. Also, in IFR_Client_Adapter_Impl.cpp, the method _get_interface() (found in CORBA::Object and LocalObject and required by CorbaScript) is implemented. Finally, the static Initializer() method not only registers the service object with the ORB, but also initializes the IFR typecodes which are in the CORBA namespace. * tao/InterfaceC.cpp: * tao/InterfaceC.h: * tao/InterfaceC.i: * tao/ifrfwd.h: Moved from TAO to the new IFR_Client library. * tao/IFR_Client_Adapter.cpp: * tao/IFR_Client_Adapter.h: Base class for the dynamic service object in the IFR_Client library. This base class contains no-op versions of the hook methods implemented in the derived class. * tao/IFR_TypeCodes.cpp: New file wherein the IFR typecodes that are in the CORBA namespace are initialized to 0, and the IFR constants that are in the CORBA namespace are assigned their correct values. * tao/Typecode_Constants.cpp: IFR typecodes in the CORBA namespace were removed from this file and moved to the IFR_Client dynamic service object. * tao/DomainC.cpp: * tao/DomainC.h: * tao/LocalObject.cpp: * tao/LocalObject.h: * tao/Object.cpp: * tao/Object.h: Calls to IFR_Client_Adapter hook methods added. * tao/ORB_Core.cpp: * tao/ORB_Core.h: Mechanism (member ifr_client_adapter_name_ and get/set methods ifr_client_adapter_name()) added to enable the IFR_Client dynamic service object to register with the ORB. * tao/Makefile: * tao/Makefile.am: * tao/Makefile.bor: * TAOACE.dsw: * TAOACE_Static.dsw: * tao/TAO.dsp: * tao/TAO_Static.dsp: * tao/corba.h: * tao/corbafwd.h: Various changes necessitated by all of the above. Mon Jan 22 17:04:59 2001 Nanbor Wang * tao/Strategies/SHMIOP_Connector.cpp: Corrected several references to IIOP. Thanks to Johnny Willemsen for pointing this out. Mon Jan 22 12:49:25 2001 Jeff Parsons * tao/MessagingC.h: * tao/MessagingC.i: * tao/MessagingC.cpp: Changed the name of Messaging::ReplyHandler::_tao_setup_collocation() to Messaging::ReplyHandler::Messaging_ReplyHandler_setup_collocation(), to correspond to recent changes to generated code in Fri Jan 19 17:41:10 2001 Jeff Parsons . Thanks to Craig Rodrigues for reporting the build failures in tests/AMI and examples/Buffered_AMI. Sat Jan 20 13:27:01 2001 Carlos O'Ryan * tao/Transport.h: Must include "Exception.h" for newer gcc versions. Thanks to Craig Rodrigues for pointing this out. Sat Jan 20 09:29:34 2001 Douglas C. Schmidt * examples/Advanced/ch_21: * examples/Advanced/ch_8_and_10: * examples/Advanced/ch_18/server.cpp: Made several fixes so these examples will compile correctly. Thanks to Craig Rodrigues for reporting this. Fri Jan 19 17:41:10 2001 Jeff Parsons * TAO_IDL/be/be_visitor_interface/interface_ch.cpp: * TAO_IDL/be/be_visitor_interface/interface_ci.cpp: * TAO_IDL/be/be_visitor_interface/interface_cs.cpp: * TAO_IDL/be/be_visitor_interface_fwd/interface_fwd_ci.cpp: Reverted previous fix for the infinite recursion problem on Win32 with the Notification Service - compile errors were fixed, but not the infinite recursion at runtime. Renamed all foo::bar::_tao_setup_collocation() functions as foo::bar::foo_bar_setup_collocation(). This eliminates the need for the ACE_NESTED_CLASS macro and for the the typedef that was in the original fix. Thanks to Jonathan Stockdale for letting us know that it still wasn't fixed, and for the example code that clarified the problem. Fri Jan 19 15:42:19 2001 Carlos O'Ryan * TAO_IDL/driver/drv_args.cpp: Fixed problem when compiling without GPERF. * tao/Cache_Entries.h: In many platforms (including QNX/RTP) 'index' is a macro undefine it in this header file as it is used as a method name. Fri Jan 19 13:52:34 2001 Priyanka Gontla * orbsvcs/tests/Security/RejectInsecure/Makefile: * orbsvcs/tests/Security/RejectInsecure/README: * orbsvcs/tests/Security/RejectInsecure/client.cpp : * orbsvcs/tests/Security/RejectInsecure/server.cpp : * orbsvcs/tests/Security/RejectInsecure/server_i.cpp : * orbsvcs/tests/Security/RejectInsecure/server_i.h : * orbsvcs/tests/Security/RejectInsecure/authorization_test.idl : * orbsvcs/tests/Security/RejectInsecure/authorization_test_i.h: * orbsvcs/tests/Security/RejectInsecure/authorization_test_i.cpp : * orbsvcs/tests/Security/RejectInsecure/authorization_test_i.i : * orbsvcs/tests/Security/RejectInsecure/client.conf : * orbsvcs/tests/Security/RejectInsecure/client_nopassdwd.conf : * orbsvcs/tests/Security/RejectInsecure/server.conf : * orbsvcs/tests/Security/RejectInsecure/server_nopassdwd.conf : Test to check if insecure and unauthroized connections are rejected. * orbsvcs/tests/Security/SecurityLevel1/SLevel1_Test_i.h: * orbsvcs/tests/Security/SecurityLevel1/SLevel1_Test_i.cpp: * orbsvcs/tests/Security/SecurityLevel1/SLevel1_Test.idl: * orbsvcs/tests/Security/SecurityLevel1/server.cpp: * orbsvcs/tests/Security/SecurityLevel1/client.cpp: * orbsvcs/tests/Security/SecurityLevel1/README : * orbsvcs/tests/Security/SecurityLevel1/Makefile : * orbsvcs/examples/Security/SecurityLevel1/SLevel1_Test_i.h: * orbsvcs/examples/Security/SecurityLevel1/SLevel1_Test_i.cpp: * orbsvcs/examples/Security/SecurityLevel1/SLevel1_Test.idl: * orbsvcs/examples/Security/SecurityLevel1/server.cpp: * orbsvcs/examples/Security/SecurityLevel1/client.cpp: * orbsvcs/examples/Security/SecurityLevel1/README : * orbsvcs/examples/Security/SecurityLevel1/Makefile : Base for a test and example for the Security::Level1. These are no where near to compilation ready but will act as a base. Fri Jan 19 13:16:10 2001 Priyanka Gontla * tests/Param_Test/client.cpp: Included tao/DynamicInterface/Request.h explicitly as HPUX had problems. * tests/DynAny_Test/test_wrapper.cpp: Included ace/Log_Msg.h explicitly. * tao/Sequence_T.cpp: Included tao/Environment.h explicitly. * orbsvcs/orbsvcs/Makefile.SSLIOP: Put a check for defining ACE_SHLIBS to get it compiled on HPUX. Fri Jan 19 14:32:28 2001 Jeff Parsons * TAO_IDL/be/be_visitor_operation/ami_handler_reply_stub_operation_cs.cpp: Made some changes to code generation to fix compile errors on LynxOS. Also made cosmetic changes to generated code. Fri Jan 19 12:30:05 2001 Carlos O'Ryan * orbsvcs/orbsvcs/Event/EC_Default_Factory.cpp: The supplier control object was configured with the consumer control period, an obvious typo. Thanks to Wei Chiang for pointing this out. Fri Jan 19 12:15:27 2001 Jeff Parsons * TAO_IDL/be/be_structure.cpp: * TAO_IDL/be/be_union.cpp: * TAO_IDL/be/be_visitor_sequence/sequence_ci.cpp: Changed generation of node's full name to node's local name when occurring in the body of the _var assignment operator from another _var. This error turned up compiling cide generated from nested_scopes.idl in IDL_Test. * TAO_IDL/ast/ast_array.cpp: * TAO_IDL/be/be_array.cpp: Cosmetic changes. * TAO_IDL/ast/ast_expression.cpp: Changed behavior of coerce() function to always return a new ExprValue. Formerly, if the ExprType already matched, the original ExprValue was returned. This led to cases where a node's ExprValue member (an array dim, for example) could be modified unintentionally. Thanks to JEAN-FRANCOIS DAUNE for reporting this bug and sending in an example IDL file. Fri Jan 19 08:55:45 2001 Carlos O'Ryan * tao/Leader_Follower.cpp: Add missing #include for "ace/Reactor.h". Fri Jan 19 08:22:34 2001 Carlos O'Ryan * tao/ORB.cpp: Add missing #include for "ace/Reactor.h". Thu Jan 18 15:43:52 2001 Jeff Parsons * TAO_IDL/be/be_structure.cpp: * TAO_IDL/be/be_union.cpp: * TAO_IDL/be/be_visitor_sequence/sequence_ci.cpp: Corrected cut and paste errors from earlier checkin. Thu Jan 18 10:40:29 2001 Darrell Brunsch * orbsvcs/ImplRepo_Service/README.txt: Updated to include some docs on the use of -ORBDefaultInitRef with the ImR. Thu Jan 18 08:31:21 2001 Carlos O'Ryan * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp: Fixed warnings due to duplicate definition of the bidirectional_flag() method. Thu Jan 18 09:05:46 2001 Douglas C. Schmidt * orbsvcs/Concurrency_Service: Added back the svc.conf file that appears to have been missing. Thanks to Mark L. Boriack" for reporting this. Wed Jan 17 10:21:46 2001 Carlos O'Ryan * tao/GIOP_Message_Base.cpp: This change should fix the annoying warnings under RedHat Linux. Wed Jan 17 09:08:25 2001 Carlos O'Ryan * tests/AMI/run_test.pl: Remove the IOR file before running the test, otherwise old files can produce unexpected results. Tue Jan 16 22:35:03 2001 Balachandran Natarajan * tests/Single_Read/Makefile: Forgot to checkin the Makefile this morning. * tests/Makefile: Added the above Makefile to the list. Tue Jan 16 18:57:27 2001 Priyanka Gontla * orbsvcs/tests/ior_corbaname/Makefile: Updated dependencies. Tue Jan 16 20:43:46 2001 Jeff Parsons * TAO_IDL/be/be_structure.cpp: * TAO_IDL/be/be_union.cpp: * TAO_IDL/be/be_visitor_sequence/sequence_ci.cpp: Modified body of _var assignment from another _var. In the case where an uninitialized _var is assigned to another, there is a dereference of a null pointer. This change was needed only for structs, unions and sequences. It was not necessary for interfaces (which use _duplicate and CORBA::release), valuetypes (which use add_ref and remove_ref) or arrays (which use *_free and *_dup). The new versions have the added benefits of propagating any exceptions that may arise from the heap allocation or from the constructor call, and of leaving the state of the _var unchanged if there is any problem. Added benefits are thanks to Carlos and thanks to Sathish Tiptur for reporting this bug. * tao/CONV_FRAMEC.i: * tao/DomainC.i: * tao/DynamicC.i: * tao/GIOPC.i: * tao/IIOPC.i: * tao/IOPC.i: * tao/MessagingC.i: * tao/Object_KeyC.i: * tao/OctetSeqC.i: * tao/PolicyC.i: * tao/RTCORBAC.i: * tao/StringSeqC.i: * tao/TAOC.i: * tao/TimeBaseC.i: * tao/DynamicAny/DynamicAnyC.i: * tao/IORManipulation/IORC.i: * tao/PortableServer/ImplRepoC.i: * tao/PortableServer/PortableServerC.i: Corresponding mods to hand-drafted files. Tue Jan 16 15:38:29 2001 Carlos O'Ryan * tao/TAO.dsp: * tao/TAO_Static.dsp: Add new Transport file to the projects * docs/TAO-metrics.html: Include link to nightly builds. Tue Jan 16 15:07:29 2001 Carlos O'Ryan * tao/Makefile: * tao/Makefile.am: * tao/Makefile.bor: * tao/tao-dll.icc: * tao/tao-lib.icc: * tao/Transport.h: * tao/Transport.inl: * tao/Transport.cpp: * tao/Pluggable.h: * tao/Pluggable.i: * tao/Pluggable.cpp: Move TAO_Transport class to its own file, Pluggable.{h,i,cpp} were growing too much, and there is no need to expose TAO users to the definition of Transport. * tao/Strategies/SHMIOP_Transport.h: * tao/Strategies/UIOP_Transport.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.h: * tao/Asynch_Invocation.cpp: * tao/Asynch_Reply_Dispatcher.cpp: * tao/Exclusive_TMS.cpp: * tao/GIOP_Message_Base.cpp: * tao/GIOP_Message_Generator_Parser_12.cpp: * tao/GIOP_Message_Handler.cpp: * tao/GIOP_Message_Lite.cpp: * tao/GIOP_Utils.cpp: * tao/IIOP_Transport.h: * tao/IIOP_Transport.cpp: * tao/Invocation.cpp: * tao/Muxed_TMS.cpp: * tao/ORB_Core.h: * tao/Sync_Strategies.h: * tao/Synch_Reply_Dispatcher.cpp: * tao/TAO_Server_Request.cpp: * tao/Wait_On_Reactor.cpp: * tao/Wait_On_Read.cpp: * tao/Wait_On_Leader_Follower.cpp: * tao/DynamicInterface/DII_Invocation.cpp: A few files required explicit #includes for tao/Transport.h * tao/DynamicAny/Makefile: * tao/DynamicInterface/Makefile: * tao/IORManipulation/Makefile: * tao/IORTable/Makefile: * tao/PortableServer/Makefile: * tao/SmartProxies/Makefile: * tao/Strategies/Makefile: Updated dependencies * orbsvcs/orbsvcs/Notify/Notify_Buffering_Strategy.h: Now we need an explicit #include for ace/Message_Queue. This is good, before the change all TAO programs were getting Message_Queue for no reason. * tests/Faults/client.cpp: * tests/Faults/middle.cpp: * tests/Faults/ping.cpp: * tests/Faults/pong.cpp: * tests/Faults/server.cpp: Fixed typo in error message Tue Jan 16 14:52:01 2001 Jeff Parsons * TAO_IDL/driver/drv_preproc.cpp: Removed the Win32 #ifdef guards in function DRV_pre_prc. The definition of ACE_DEFAULT_FILE_PERMS has changed to make this unnecessary. * orbsvcs/IFR_Service/drv_preproc_ifr.cpp: Brought this file up to date with the recent set of changes to TAO_IDL/driver/DRV_pre_proc. Tue Jan 16 13:25:17 2001 Jeff Parsons * TAO_IDL/be/be_global.cpp: Removed explicit template instantiations. They are duplicates of those found in be_interface.cpp: Tue Jan 16 10:39:13 2001 Carlos O'Ryan * tao/IIOP_Transport.cpp: Fixed RCSID macro Tue Jan 16 12:09:49 2001 Jeff Parsons * tao/StringSeqC.h: * tao/StringSeqC.i: * tao/StringSeqC.cpp: * tao/diffs/StringSeq.diff: Changed the '#if !defined' guards around the declarations and definitions to something other than that generated by the IDL compiler. If an application IDL file contains typedef sequence<(w)string> (W)StringSeq; all declarations except those of the Any operators will be ignored by the IDL compiler. The exporting of the classes in TAO won't help because a 'CORBA_' has been added to all the class names, resulting in compiler errors. The easiest thing to do would be to use 'CORBA::(W)StringSeq' in the application code, and leave the typedef out of the IDL file altogether, but there are many reasons why this wouldn't be possible. Thanks to Jonas Nordin for reporting this bug. Tue Jan 16 07:55:06 2001 Balachandran Natarajan * tests/Single_Read: New stress test for the SingleRead that we do in TAO * tests/Single_Read/client.cpp: * tests/Single_Read/test_i.h: * tests/Single_Read/test_i.cpp: * tests/Single_Read/server.cpp: * tests/Single_Read/README: * tests/Single_Read/Single_Read.dsw: * tests/Single_Read/client.dsp: * tests/Single_Read/server.dsp: Files for the stress test. Please read the README file in the directory for details. Tue Jan 16 07:05:06 2001 Balachandran Natarajan * tao/GIOP_Mesage_Base.cpp: * tao/GIOP_Message_Handler.cpp: * tao/GIOP_Message_Handler.h: * tao/GIOP_Message_Handler.inl: Made changes to the way multiple messages that are read from the stream are handled. Initially, every message was split and put into a seperate buffer for processing. Now, we dump the whole message in to a new buffer and keep reading from that buffer for processing. This fixes some bizzare problems that we saw in a test which will be checked in next. Mon Jan 15 19:28:20 2001 Jeff Parsons * TAO_IDL/be/be_global.cpp: * TAO_IDL/be/be_visitor_interface/base_proxy_broker_ch.cpp: * TAO_IDL/be/be_visitor_root/root.cpp: * TAO_IDL/be_include/be_global.h: Previous fix Mon Jan 15 14:04:18 2001 Jeff Parsons doesn't work for interfaces defined inside a module or nested modules, since the proxy broker factory function pointers must be declared globally. The above changes move the declaration(s) to a point in the client header file just after the close of any namespace(s) that may have been declared in the IDL file. * TAO_IDL/be/be_visitor_module/module_ch.cpp: Cosmetic changes. Mon Jan 15 19:26:30 2001 Priyanka Gontla * tao/ORB_Core.cpp: Added correct if-def guards to get ORB_Core.cpp compiled when TAO_HAS_RT_CORBA==0 Thanks to David Allen for reporting this. Mon Jan 15 16:02:59 2001 Christopher Kohlhoff * tao/Makefile.bor: Added missing file GIOP_Message_Handler.cpp. * tao/PortableServer/Makefile.bor: Updated list of installed header files to include *.inl. * orbsvcs/IFR_Service/Makefile.bor: * orbsvcs/IFR_Service/tao_ifr.bor: * orbsvcs/IFR_Service/TAO_IFR_BE_DLL.bor: Added makefiles for IFR service utilities. Mon Jan 15 14:04:18 2001 Jeff Parsons * TAO_IDL/be/be_visitor_interface/any_op_ch.cpp: * TAO_IDL/be/be_visitor_interface/any_op_cs.cpp: * TAO_IDL/be/be_visitor_interface/base_proxy_broker_ch.cpp: * TAO_IDL/be/be_visitor_interface/remote_proxy_broker_cs.cpp: Moved code generation for declaration and initialization of xxx_Proxy_Broker_Factory_function_pointer from the any_op visitor to the corresponding proxy broker visitor. The original intention was to prevent the declaration of this function pointer for local interfaces, in which case, generation of the Any operatiors would be skipped. However, generation of Any operators can also be skipped by using the command line option to suppress them (-Sa). Using this option would therefore generate uncompileable stub code. The proxy broker visitors above are also skipped if the interface is local, so the condition is still enforced, while no longer making the generation of the function pointer dependent on the generation of the Any operators. Thanks to Max Khon for reporting this bug. Sun Jan 14 07:05:06 2001 Balachandran Natarajan * tao/IIOP_Transport.cpp : A stupid typo that was giving errors with g++ :( Sat Jan 13 18:25:47 2001 Balachandran Natarajan * tao/IIOP_Transport.cpp: Fixed a compile error in g++. Sat Jan 13 10:36:11 2001 Balachandran Natarajan * tao/IIOP_Acceptor.h (TAO_IIOP_Acceptor): Made hostname () public. * tao/IIOP_Transport.cpp: Used TAO_IIOP_Acceptor::hostname () to get the hostnames in get_listen_point () method. Thanks to Ossama for pointing this out. * tao/Wait_Strategy.h: Added a pure virtual method non_blocking (). This method will return a true or a false value. This value will be used by the connection handlers to set the socket to non_blocking mode. The strategy Wait_On_Read will need the socket on which it is waiting for a reply to be in blocking mode. * tao/Wait_On_Leader_Follower.h: * tao/Wait_On_Leader_Follower.cpp: * tao/Wait_On_Reactor.h: * tao/Wait_On_Reactor.cpp: * tao/Wait_On_Read.h: * tao/Wait_On_Read.cpp: Implementation for non_blocking (). * tao/IIOP_Connection_Handler.cpp: * tao/Strategies/UIOP_Connection_Handler.cpp: * tao/Strategies/SHMIOP_Connection_Handler.cpp * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.cpp: Set the socket to non_blocking mode based on the return value from the non_blocking () call from the wait strategy in the corresponding transports. Fri Jan 12 14:52:41 2001 Ossama Othman * orbsvcs/orbsvcs/LoadBalancing/ReplicaLocator.cpp (preinvoke): Fixed syntax error. Fri Jan 12 16:36:11 2001 Balachandran Natarajan * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.cpp: * tao/IIOP_Connection_Handler.cpp: * tao/Pluggable.i: * tao/Strategies/SHMIOP_Connection_Handler.cpp: * tao/Strategies/UIOP_Connection_Handler.cpp: We open the sockets in non-blocking mode and but change it to blocking only for the thread-per-connection option. Fri Jan 12 11:32:01 2001 Ossama Othman * orbsvcs/orbsvcs/LoadBalancing/ReplicaLocator.cpp (preinvoke): Fixed a memory leak that occured each time a request was forwarded. The object reference was duplicated during each location forward, which isn't necessary since the callee (in this case the PortableServer::ForwardRequest exception) is supposed to duplicate the reference if it wishes to retain ownership. On top of that, the Object_var that held the object reference was forced to drop ownership by invoking its _retn() method, so the object reference was in effect duplicated twice! I must have had too much chocolate that day. :-) Fri Jan 12 07:49:43 2001 Joe Hoffert * docs/compiler.html: Updated link to OMG's 2.3.1 specification download site. Thu Jan 11 20:50:06 2001 Balachandran Natarajan * tao/IIOP_Connection_Handler.cpp: * tao/Strategies/SHMIOP_Connection_Handler.cpp: * tao/Strategies/UIOP_Connection_Handler.cpp: * tao/Pluggable.i: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.cpp: Changed the place when the sockets were put in non-blocking mode. Setting the socket to non-blocking mode at connection initialisation results in poor performance when a RW strategy is used in the client side. Thu Jan 11 15:30:36 2001 Balachandran Natarajan * tao/GIOP_Message_State.cpp: * tao/IIOP_Transport.cpp: Fixed warnings in g++ build. Thu Jan 11 12:36:49 2001 Carlos O'Ryan * examples/Simple/time-date/svc.conf: Add RT_Protocol_Hooks to the configuration file, the ORB needs this service configured to work correctly. Thu Jan 11 13:54:56 2001 Jeff Parsons * performance-tests/Cubit/TAO/DII_Cubit/DII_Cubit.dsw: * performance-tests/Cubit/TAO/DII_Cubit/client.dsp: Added static release and debug version to project. Thu Jan 11 14:04:09 2001 Jeff Parsons * TAO_IDL/be/be_codegen.cpp: Added code generation of preprocessor directives specific to BCB. Thanks to Chris Kohlhoff for sending in the patches. Thu Jan 11 14:02:25 2001 Balachandran Natarajan This set of changes are for making the server side of the completely reactive. This is achieved by doing a single read on the socket when the reactor calls the service handler for reading GIOP messages. The message is first read into a buffer and then apropriate checking is performed. Then the message is put into a CDR steam and sent to the higher layers of the ORB for processing. * tao/GIOP_Message_Handler.cpp * tao/GIOP_Message_Handler.h: * tao/GIOP_Message_Handler.inl: A new class. This class basically does the following functions (1) reads messages from the socket in to a buffer (2) checks whether the message is a GIOP message (3) calculates the size of the payload and figures if any part of the message has been left unread (4) some memory and buffer management for the incoming messages. * tao/GIOP_Message_Base.h: * tao/GIOP_Message_Base.cpp: Moved some portion of the GIOP header checking routines like parse_header () to GIOP_Message_handler class. This class now sends requests to the higher layers by creating a CDR stream on the stack from the buffer in the GIOP_Message_Handler class. * tao/GIOP_Message_State.i: * tao/GIOP_Message_State.h: * tao/GIOP_Message_State.cpp: Removed the Input CDR from this class. Changed the way fragments are managed. * tao/GIOP_Message_Lite.cpp: * tao/GIOP_Message_Lite.h: This still uses a CDR stream to read the incoming messages. So moved the CDR stream that is used to read the incoming messages from the GIOP message state in to this class. * tao/IIOP_Connection_Handler.cpp: Made the socket non-blocking. * tao/IIOP_Transport.cpp: The call process_message () now checks if more messages are available in the buffer for processing. The call read_process_message () calls process_message () in a loop to process all the messages, if the read has read more than one message in to the buffer . * tao/GIOP_Message_Generator_Parser_Impl.h: Made check_revision () a static method. * tao/Pluggable.h: * tao/Pluggable.i: Added a new call read () that does a non-blocking read on the socket. * tao/Pluggable_Messaging.cpp: * tao/Pluggable_Messaging.h: Added a call more_messages () to check whether any messages need to be processed. * tao/TAO.dsp: * tao/TAO_Static.dsp: Added the new files. * tao/Makefile: Added new files and updated dependencies. * tao/Strategies/SHMIOP_Connection_Handler.cpp: * tao/Strategies/SHMIOP_Transport.cpp: * tao/Strategies/UIOP_Connection_Handler.cpp: * tao/Strategies/UIOP_Transport.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.cpp: Replicated changes made to IIOP. * tao/IORManipulation/Makefile: * tao/IORTable/Makefile: * tao/PortableServer/Makefile: * tao/SmartProxies/Makefile: * tao/Strategies/Makefile: Updated dependencies. Thu Jan 11 13:44:42 2001 Jeff Parsons * tao/SmartProxies/Makefile.bor: Fixed it to work with static builds. Thu Jan 11 10:00:06 2001 Frank * TAO version 1.1.12 released. Wed Jan 10 18:48:31 2001 Priyanka Gontla * tao/ORB_Core.cpp (resolve_rir): Added a check for the corbaloc and do the necessary. This change is necessary so that the -ORBDefaultInitRef option recognizes the corbaloc protocol. Wed Jan 10 17:21:12 2001 Priyanka Gontla * tao/ORB_Core.cpp : In TAO_ORB_Core::get_protocol_hooks method, checked if we succesfully loaded the necessary instance of TAO_Protocols_Hooks and if it is unsuccessful, loaded the same in a hard-coded way. Wed Jan 10 17:02:42 2001 Darrell Brunsch * tao/Policy_Manager.cpp: Version 4. G++ didn't like the last one, so with an assist from Carlos, used a ptr as an inbetweener. Does work on MSVC 5 and G++ and my fingers are crossed. Wed Jan 10 16:52:42 2001 Darrell Brunsch * tao/Policy_Manager.cpp: Fix, Version 3. The intermediate variable was pointing to a temporary, which disappeared by the next statement. Found out the cast works on its own, so going with that now instead. Wed Jan 10 15:57:42 2001 Darrell Brunsch * tao/Policy_Manager.cpp: Tried a new patch to get by a compiler problem in MSVC 5. Now I am using a intermediate variable to help MSVC do the conversion. Wed Jan 10 12:07:21 2001 Frank Hunleth * tao/Policy_Manager.cpp: Reverted change by Darrell on Jan 8 since it was causing the Timed_Buffered_Oneways and Timeout tests to fail under the Linux and EGCS builds. Tue Jan 9 14:31:12 2001 Frank Hunleth * performance-tests/Cubit/TAO/IDL_Cubit/server_shmiop.conf: Increased the shared memory size to 1MB by adding -MMAPFileSize 100000 to prevent an out of memory error when using SHMIOP. Thanks to Bala for finding and fixing this. Tue Jan 9 13:28:21 2001 Balachandran Natarajan * tao/IIOP_Connection_Handler.cpp: * tao/Strategies/UIOP_Connection_Handler.cpp: * tao/Strategies/SHMIOP_Connection_Handler.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.cpp: Fixed an error that showed up only when the thread-per-connection is used. The closing of the handlers left the connection cache unstable which was doing bad things at shutdown. Tue Jan 9 11:32:53 2001 Jeff Parsons * tao/DynamicInterface/TAO_DynamicInterface_Static.dsp: Added files Unknown_User_Exception.* to project, as they had been added to TAO_DynamicInterface.dsp. * tao/DynamicInterface/Request.h: * tao/DynamicInterface/Server_Request.h: Added #include of Dynamic_Adapter_Impl.h. This will force the execution of the static constructor that registers the derived Dynamic_Adapter service object, whether the application is using DII or DSI. Tue Jan 9 09:13:49 2001 Balachandran Natarajan * orbsvcs/orbsvcs/ESF/ESF_Immediate_Changes.cpp: * orbsvcs/orbsvcs/ESF/ESF_Immediate_Changes.i: Fixed compiler errors in SPRO 5.1. Mon Jan 8 17:27:29 2001 Darrell Brunsch * tao/Policy_Manager.cpp: I believe I removed a warning for MSVC 5 by adding a .in () to the CORBA::Policy_var policy = policies[i]; statement in TAO_Policy_Manager_Impl::set_policy_overrides. Thanks to McGanahan Skjellifetti for submitting a bug report about this. * orbsvcs/orbsvcs/AV/sfp.cpp: Fixed some unused argument warnings. Mon Jan 8 13:36:18 2001 Yamuna Krishnamurthy * orbsvcs/orbsvcs/AV/RTCP.cpp: * orbsvcs/orbsvcs/AV/RTCP.h: * orbsvcs/orbsvcs/AV/RTP.cpp: * orbsvcs/orbsvcs/AV/RTP.h: * orbsvcs/orbsvcs/AV/UDP.cpp: * orbsvcs/orbsvcs/AV/UDP.h: * orbsvcs/orbsvcs/AV/Protocol_Factory.h: Added a method send_frame to send char* buffers. Mon Jan 8 10:59:25 2001 Darrell Brunsch * orbsvcs/tests/InterfaceRepo/Application_Test/Application_Test_server.dsp: Updated the IDL custom build command for Release configuration. Mon Jan 8 09:31:24 2001 Ossama Othman * docs/orbsvcs.html: Updated orbsvcs hierarchy documentation to include TAO's Load Balancer and the Security Service. Sun Jan 7 17:04:57 2001 Ossama Othman * rules.tao.GNU: Disable interceptor support if minimum CORBA is enabled. This fixes portable interceptor related build errors in minimum CORBA builds. Sun Jan 7 16:05:54 2001 Ossama Othman * tests/Portable_Interceptors/ForwardRequest/client.bor (OBJFILES): * tests/Portable_Interceptors/ForwardRequest/server.bor (OBJFILES): Fixed incorrect filenames. Sat Jan 6 16:43:21 2001 Balachandran Natarajan * orbsvcs/IFR_Service/Makefile.tao_ifr: * orbsvcs/IFR_Service/Makefile.BE: Fixed compile errors Fri Jan 5 14:19:03 2001 Darrell Brunsch * orbsvcs/ImplRepo_Service/Options.cpp: Thanks to Greg Hall for noticing a silly mistake on my part. The ping_interval accessor in Options was returning the startup_timeout value instead. Fixed. * orbsvcs/tests/ImplRepo/run_test.pl: Updated to use PerlACE::RunTest. Fri Jan 5 18:36:09 2001 Balachandran Natarajan * tao/GIOP_Message_Generator_Parser.h: Included "tao/Exception.h". This is needed to fix a compile error in gcc version 2.97. Thanks to Craig Rodrigues for reporting this. Thu Jan 4 15:33:19 2001 Jeff Parsons * orbsvcs/IFR_Service/tmplinst.cpp: Added ACE_Write_Guard and ACE_Read_Guard to the instantiation list. * orbsvcs/IFR_Service/ifr_adding_visitor_exception.cpp: Added explicit template instantiations for the tao_ifr project at the bottom of this file. * orbsvcs/IFR_Service/ifr_adding_visitor_exception.h: * orbsvcs/IFR_Service/ifr_adding_visitor_structure.h: * orbsvcs/IFR_Service/ifr_adding_visitor_union.h: Cosmetic changes. Thu Jan 4 14:14:23 2001 Jeff Parsons * orbsvcs/IFR_Service/Makefile.tao_ifr: Removed execution of $TAO_ROOT/TAO_IDL/Makefile.FE. This library should already be built, and in any case, executing the makefile from this directory would create duplicate object files and a duplicate library in the current directory, which is not what we want. * orbsvcs/IFR_Service/Makefile.EX: Added TAO to the list of linked libraries. Apparently, the tao_ifr executable's link to TAO_IFR_BE_DLL, which is linked to TAO, is not sufficient. Thu Jan 4 13:45:54 2001 Jeff Parsons * orbsvcs/IFR_Service/tao_ifr.dsp: * orbsvcs/IFR_Service/TAO_IFR_BE_DLL.dsp: Fixed some settings for the release version. Wed Jan 3 19:07:31 2001 Jeff Parsons * tao/Exception.cpp: In the ostream operator for exceptions, there was a check for the exception's typecode's name being an empty string, but not for it being a null string. This check has been added, preventing an access violation in certain cases. Thanks to Kristopher Johnson for reporting this bug and suggesting a fix. Wed Jan 3 17:43:44 2001 Jeff Parsons * TAO_IDL/be/be_visitor_interface/interface_ch.cpp: * TAO_IDL/be/be_visitor_interface/interface_cs.cpp: In the generated function _tao_setup_collocation(), the function of the same name is called in each of the interface's parents. In the case where a base class local name is the same as that of the child, and the parent is in a different namespace (IDL module), there was a problem with MSVC. Using the ACE_NESTED_CLASS macro caused this function call to self-recurse, leading to a stack overflow. Using the full name would cause a bogus compile error. Until Microsoft fixes this compiler bug, a workaround has been found. In the header file, the clashing parent's scoped name is typedef'd to the child class's flat name (double colons replaced by single underscores) concatenated with a self-explanatory extension string. This typedef is then used in the function body to make the call to the base class function. Thanks to Steve Olson for reporting this bug, and to Carlos and Darrell for their help in finding a fix, and in researching Microsoft's documentation of this bug. Wed Jan 3 12:20:15 2001 Jeff Parsons * orbsvcs/IFR_Service/Makefile.BE: * orbsvcs/IFR_Service/Makefile.EX: * orbsvcs/IFR_Service/Makefile.IFR_Service: * orbsvcs/IFR_Service/Makefile.TypeCodeFactory: * orbsvcs/tests/InterfaceRepo/Application_Test/Makefile: * orbsvcs/tests/InterfaceRepo/IFR_Test/Makefile: * orbsvcs/tests/InterfaceRepo/Persistence_Test/Makefile: Updated dependencies. Wed Jan 3 12:14:12 2001 Jeff Parsons * orbsvcs/tests/InterfaceRepo/Application_Test/server.cpp: Added .in() to a string_var passed to ACE_DEBUG. Wed Jan 3 11:58:33 2001 Jeff Parsons * orbsvcs/IFR_Service/ifr_visitor_macro.h: Removed the #pragma once directive. It's unnecessary and egcs warns about it. * orbsvcs/IFR_Service/ifr_adding_visitor.cpp: Added default case to switch statement in load_any() method. Wed Jan 3 10:30:46 2001 Joe Hoffert * tests/RTCORBA/README: * tests/README: * performance-tests/README: Documenting that TAO-specific RT tests are in $TAO_ROOT/performance-tests/RTCorba while general RT CORBA tests are in $TAO_ROOT/tests/RTCorba. Wed Jan 3 09:28:41 2001 Jeff Parsons * orbsvcs/tests/InterfaceRepo/Application_Test/Makefile: Changed the order in the list of server object files, putting the IDL generated files first, so the IDL compiler will be invoked before compiling any of the server files. Thanks to Nanbor for noticing this. Tue Jan 2 18:28:15 2001 Carlos O'Ryan * performance-tests/Cubit/TAO/MT_Cubit/Cubit_Task.cpp: Make sure the POA is activated before anything else happens, this should eliminate some phantom TRANSIENT exceptions in this test. Thanks to Sebastian Schubert and Li Zhou for helping identify this. BTW, MT_Cubit is completely unreadable... Tue Jan 2 18:35:22 2001 Jeff Parsons * orbsvcs/IFR_Service/be_produce.cpp: * orbsvcs/IFR_Service/ifr_adding_visitor.cpp: * orbsvcs/IFR_Service/ifr_adding_visitor_exception.cpp: * orbsvcs/IFR_Service/ifr_adding_visitor_operation.cpp: * orbsvcs/IFR_Service/ifr_adding_visitor_structure.cpp: * orbsvcs/IFR_Service/ifr_adding_visitor_union.cpp: * orbsvcs/IFR_Service/ifr_removing_visitor.cpp: * orbsvcs/IFR_Service/ifr_visitor.h: * orbsvcs/IFR_Service/ifr_visitor_macro.h: Substituted new macros TAO_IFR_CHECK and TAO_IFR_CHECK_RETURN for ACE_CHECK and ACE_CHECK_RETURN. The new macros use the member environment varible of the ifr_visitor class rather than ACE_TRY_ENV. Tue Jan 2 16:25:22 2001 Jeff Parsons * orbsvcs/IFR_Service/IFR.dsw: * orbsvcs/IFR_Service/Makefile: Modifications corresponding to the addition of the new files and projects added below. * orbsvcs/IFR_Service/Makefile.BE: * orbsvcs/IFR_Service/Makefile.EX: * orbsvcs/IFR_Service/Makefile.am: * orbsvcs/IFR_Service/Makefile.dependencies: * orbsvcs/IFR_Service/Makefile.tao_ifr: * orbsvcs/IFR_Service/TAO_IFR_BE_DLL.dsp: * orbsvcs/IFR_Service/TAO_IFR_BE_Export.h: * orbsvcs/IFR_Service/be_extern.h: * orbsvcs/IFR_Service/be_global.cpp: * orbsvcs/IFR_Service/be_global.h: * orbsvcs/IFR_Service/be_produce.cpp: * orbsvcs/IFR_Service/drv_args_ifr.cpp: * orbsvcs/IFR_Service/drv_extern_ifr.h: * orbsvcs/IFR_Service/drv_init_ifr.cpp: * orbsvcs/IFR_Service/drv_preproc_ifr.cpp: * orbsvcs/IFR_Service/drv_private_ifr.cpp: * orbsvcs/IFR_Service/drv_private_ifr.h: * 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: * orbsvcs/IFR_Service/ifr_adding_visitor_operation.cpp: * orbsvcs/IFR_Service/ifr_adding_visitor_operation.h: * orbsvcs/IFR_Service/ifr_adding_visitor_structure.cpp: * orbsvcs/IFR_Service/ifr_adding_visitor_structure.h: * orbsvcs/IFR_Service/ifr_adding_visitor_union.cpp: * orbsvcs/IFR_Service/ifr_adding_visitor_union.h: * orbsvcs/IFR_Service/ifr_removing_visitor.cpp: * orbsvcs/IFR_Service/ifr_removing_visitor.h: * orbsvcs/IFR_Service/ifr_visitor.cpp: * orbsvcs/IFR_Service/ifr_visitor.h: * orbsvcs/IFR_Service/ifr_visitor_macro.h: * orbsvcs/IFR_Service/tao_ifr.cpp: * orbsvcs/IFR_Service/tao_ifr.dsp: New files comprising the backend library and executable for 'tao_ifr', which processes IDL files and administers the IfR. For the frontend library, the existing TAO_IDL_FE_DLL is used. The class IFR_Visitor overrides all the pure virtual functions of its base class AST_Visitor with no-ops, so that further subclasses can override only the functions they need. * TAOACE.dsw: New projects above added to workspace. * orbsvcs/tests/InterfaceRepo/IFR_Test/Admin_Client.cpp: Cosmetic changes. * orbsvcs/tests/InterfaceRepo/InterfaceRepo.dsw: * orbsvcs/tests/InterfaceRepo/Makefile: Modifications corresponding to the addition of the new files below. * orbsvcs/tests/InterfaceRepo/Application_Test/Application_Test_client.dsp: * orbsvcs/tests/InterfaceRepo/Application_Test/Application_Test_server.dsp: * orbsvcs/tests/InterfaceRepo/Application_Test/Makefile: * orbsvcs/tests/InterfaceRepo/Application_Test/README: * orbsvcs/tests/InterfaceRepo/Application_Test/client.cpp: * orbsvcs/tests/InterfaceRepo/Application_Test/ifr_dii_client.cpp: * orbsvcs/tests/InterfaceRepo/Application_Test/ifr_dii_client.h: * orbsvcs/tests/InterfaceRepo/Application_Test/run_test.pl: * orbsvcs/tests/InterfaceRepo/Application_Test/server.cpp: * orbsvcs/tests/InterfaceRepo/Application_Test/test.idl: * orbsvcs/tests/InterfaceRepo/Application_Test/test_i.cpp: * orbsvcs/tests/InterfaceRepo/Application_Test/test_i.h: New files for IfR test which is intended to simulate an application, using tao_ifr in both its adding and removing capacity, and constructing a DII request based on information obtained by querying the IfR. Tue Jan 2 14:19:03 2001 Carlos O'Ryan * tests/Param_Test/run_test_dii.pl: Invokes the run_test.pl script with the -i dii option. This is useful in the nightly builds where the scripts must be invoked without any options. Tue Jan 2 12:06:42 2001 Jeff Parsons * TAO_IDL/be/be_visitor_sequence/gen_bounded_sequence_ci.cpp: Modified default constructor for bounded sequences to call the TAO_Bounded_Base_Sequence constructor that takes only a maximum and a void* buffer argument. This constructor automatically sets the length to 0 and assumes ownership of the buffer (which is created by a call to the derived sequence's allocate_buffer() method). Formerly, we were calling the base class constructor where length and release arguments are also supplied, and the release argument was set to 0, setting the stage for a possible memory leak. For the special cases of object sequences and string sequences, the above change was already made. Thanks to Bogdan Jeram for reporting this bug. Sun Dec 31 13:59:35 2000 Ossama Othman * tests/Portable_Interceptors/ForwardRequest/server.cpp (main): Fixed warnings about passing "CORBA::String_var" through a "..." vararg that g++ was exhibiting. Sun Dec 31 13:45:15 2000 Ossama Othman * tao/Pluggable_Messaging_Utils.cpp (TAO_Pluggable_Reply_Params): Initialize the "argument_flag_" attribute to zero in the base member initializer list. Previously it was not initialized, and was causing "reading uninitialized memory" errors. This also fixes unnecessary byte boundary alignment in GIOP 1.2 messages. * tests/Portable_Interceptors/Makefile (DIRS): * tests/Portable_Interceptors/Makefile.bor (DIRS): Added new `ForwardRequest' test directory to the list of directories to build. * tests/Portable_Interceptors/ForwardRequest/Client_ORBInitializer.cpp: * tests/Portable_Interceptors/ForwardRequest/Client_ORBInitializer.h: * tests/Portable_Interceptors/ForwardRequest/Client_Request_Interceptor.cpp: * tests/Portable_Interceptors/ForwardRequest/Client_Request_Interceptor.h: * tests/Portable_Interceptors/ForwardRequest/ForwardRequest.dsw: * tests/Portable_Interceptors/ForwardRequest/Makefile: * tests/Portable_Interceptors/ForwardRequest/Makefile.bor: * tests/Portable_Interceptors/ForwardRequest/README: * tests/Portable_Interceptors/ForwardRequest/Server_ORBInitializer.cpp: * tests/Portable_Interceptors/ForwardRequest/Server_ORBInitializer.h: * tests/Portable_Interceptors/ForwardRequest/Server_Request_Interceptor.cpp: * tests/Portable_Interceptors/ForwardRequest/Server_Request_Interceptor.h: * tests/Portable_Interceptors/ForwardRequest/client.bor: * tests/Portable_Interceptors/ForwardRequest/client.cpp: * tests/Portable_Interceptors/ForwardRequest/client.dsp: * tests/Portable_Interceptors/ForwardRequest/run_test.pl: * tests/Portable_Interceptors/ForwardRequest/server.bor: * tests/Portable_Interceptors/ForwardRequest/server.cpp: * tests/Portable_Interceptors/ForwardRequest/server.dsp: * tests/Portable_Interceptors/ForwardRequest/test.idl: * tests/Portable_Interceptors/ForwardRequest/test_i.cpp: * tests/Portable_Interceptors/ForwardRequest/test_i.h: New test that verifies that the PortableInterceptor::ForwardRequest exception support is working properly. * tests/Portable_Interceptors/IORInterceptor/FOO_ClientRequestInterceptor.h: Corrected erroneous class description. Sat Dec 30 11:31:43 2000 Balachandran Natarajan * orbsvcs/orbsvcs/ESF/ESF_Proxy_Admin.cpp: * orbsvcs/orbsvcs/ESF/ESF_Immediate_Changes.cpp: * orbsvcs/orbsvcs/ESF/ESF_Peer_Admin.cpp: * tao/Typecode.cpp. Added patches provided by J. Russell Noseworthy for SPRO 5.1. Sat Dec 30 10:39:41 2000 Balachandran Natarajan * tests/BiDirectional/test_i.cpp: * tests/BiDirectional_NestedUpcall/test_i.cpp: Fixed warnings in g++ builds. Fri Dec 29 12:05:02 2000 Balachandran Natarajan * tests/BiDirectional/test_i.cpp: Changed the wrong usage of ACE_ASSERT statement. Thanks to Darrel for pointing this out. Fri Dec 29 09:10:43 2000 Darrell Brunsch * tests/Portable_Interceptors/IORInterceptor/client.dsp: * tests/Portable_Interceptors/IORInterceptor/server.dsp: Added an include option for TAO_IDL for the IDL files in the Release configuration. Fri Dec 29 07:38:27 2000 Frank Hunleth * tests/Policies/Manipulation.cpp: * orbsvcs/tests/Time/Client_i.cpp: * orbsvcs/examples/Log/Client/TLS_Client.cpp: * orbsvcs/examples/Log/test/BasicLog_Test.cpp: Fixed compile errors under VxWorks due to lack of support for 64 bit integers. * orbsvcs/tests/AVStreams/Pluggable/server.cpp: * orbsvcs/tests/AVStreams/Pluggable/ftp.cpp: * orbsvcs/tests/AVStreams/Full_Profile/server.cpp: * orbsvcs/tests/AVStreams/Full_Profile/ftp.cpp: * orbsvcs/tests/AVStreams/Multicast/server.cpp: * orbsvcs/tests/AVStreams/Multicast/ftp.cpp: * orbsvcs/tests/AVStreams/Multicast_Full_Profile/server.cpp: * orbsvcs/tests/AVStreams/Multicast_Full_Profile/ftp.cpp: * orbsvcs/tests/Interoperable_Naming/client.cpp: Fixed compile warnings due to missing return statements. Thu Dec 28 10:05:42 2000 Priyanka Gontla * performance-tests/Cubit/TAO/IDL_Cubit/run_test.pl: * performance-tests/Cubit/TAO/IDL_Cubit/server_shmiop.conf: * tests/RTCORBA/Explicit_Binding/svc.conf: * tests/RTCORBA/Client_Protocol/svc.conf: Added the new files. * tests/RTCORBA/MT_Client_Protocol_Priority/server.conf: Added the new entry to use MMapFilePrefix for SHMIOP in all the above conf files. Updated the perl script to use the corresponding conf file. * tao/Strategies/advanced_resource.cpp (init): Moving the call to set the resource_factory to "Advanced_Resource_Factory" back to the constructor of TAO_Resource_Factory_Changer. Wed Dec 27 21:02:25 2000 Christopher Kohlhoff * tao/Makefile.bor: Added missing source file RT_ORB_Loader. * tests/Portable_Interceptors/IORInterceptor/server.bor: Fixed error in OBJFILES macro and added missing library. * orbsvcs/IFR_Service/IFR_Service.bor: Added missing library. Wed Dec 27 18:00:23 2000 Priyanka Gontla * tests/RTCORBA/Server_Protocol/run_test.pl : Updated the perl script to use server_shmiop.conf is all cases using SHMIOP. * tests/RTCORBA/Server_Protocol/server_reverse.conf: * tests/RTCORBA/Server_Protocol/server_reverse_nt.conf: * tests/RTCORBA/Server_Protocol/server_shmiop.conf: Added the new MMAPFilePrefix option. Wed Dec 27 17:37:39 2000 Priyanka Gontla * tao/Protocols_Hooks.cpp : * tao/Protocols_Hooks.h : * tao/Default_Protocols_Hooks.cpp : * tao/Default_Protocols_Hooks.h : * tao/RT_Protocols_Hooks.cpp : * tao/RT_Protocols_Hooks.h : This change is to remove the dependency of IIOP/UIOP_Connector/Acceptor on RTCORBA. Changed the signature of the call_client(server)_protocols_hook to use three int variables instead and changed the signature of Client(Server)_Protocols_Hook in RT_Protocols_Hooks.h * tao/RT_Policy_i.cpp : * tao/RT_Policy_i.h : Correspondingly changed the signatures of TAO_Client(Server)ProtocolPolicy::hook methods and made appropriate changes to the implementation to assign values to the int variables send_buffer_size, recv_buffer_size and no_delay. * tao/Strategies/UIOP_Connector.cpp : * tao/Strategies/UIOP_Acceptor.cpp : * tao/IIOP_Connector.cpp : * tao/IIOP_Acceptor.cpp : Changed the implementation of init_iiop(uiop)_properties accordingly. Wed Dec 27 15:13:27 2000 Priyanka Gontla * tao/RT_Protocols_Hooks.cpp: Updated the equivalent values for all RTCORBA:: Policy types as the previous way of assignment is throwing exceptions even when not needed. * tao/Stub.cpp (get_policy): Updated accordingly to check the values. Wed Dec 27 13:44:14 2000 Priyanka Gontla * tao/Stub.cpp (set_policy_overrides): Undid the previous change and corrected it. Thanks to Carlos for pointing out. Wed Dec 27 10:29:13 2000 Priyanka Gontla * tao/Stub.cpp (set_policy_overrides): Used parenthesis to clarify a doubt of precedence for Win32 builds. Tue Dec 26 15:09:38 2000 Ossama Othman * tests/Portable_Interceptors/IORInterceptor/client.bor: * tests/Portable_Interceptors/IORInterceptor/server.bor: Added these missing Borland C++ Makefiles. Tue Dec 26 14:55:27 2000 Ossama Othman * tao/PortableInterceptor.i (receive_request): Removed unnecessary use of "ACE_UNUSED_ARG" macro. The CORBA::Environment argument is actually used by the recently added run-time integrity check. * tests/Portable_Interceptors/IORInterceptor/ FOO_ClientRequestInterceptor.cpp (send_poll, receive_reply, receive_exception, receive_other): Fixed unused argument warnings. Tue Dec 26 13:40:50 2000 Ossama Othman * TAO_IDL/be/be_visitor_operation/operation_ss.cpp (visit_operation): Corrected misinterpretation of the Portable Interceptor spec. The send_reply() interception is always invoked upon successful completion of an operation invocation, regardless of whether or not the operation is a one-way or two-way request. * TAO_IDL/be/be_visitor_operation/interceptors_exceptlist.cpp (gen_exceptlist): Improved the generated code so that the exception list length is set prior to the loop that sets each exception list element. Previously, the length was increased by one during each loop iteration. The new scheme is more efficient since only one allocation is performed, instead of potentially many, in addition to reducing the number of function calls. * tao/PortableInterceptor.i (receive_request): Added a run-time integrity check. This method (i.e. the receive_request() interception point) should only be invoked if all of the interceptors registered with the ORB were pushed on to the flow stack by one of the starting endpoints (such as receive_request_service_contexts()). If all of the interceptors were not pushed on to the flow stack, then it is likely that a starting interception point was never invoked. This is of course, an internal error that must be corrected. * tests/PortableInterceptor/IORInterceptor/FOO_ClientRequestInterceptor.cpp: * tests/PortableInterceptor/IORInterceptor/FOO_ClientRequestInterceptor.h: * tests/PortableInterceptor/IORInterceptor/FOO_Client_ORBInitializer.cpp: * tests/PortableInterceptor/IORInterceptor/FOO_Client_ORBInitializer.h: * tests/PortableInterceptor/IORInterceptor/FOO_IORInterceptor.cpp: * tests/PortableInterceptor/IORInterceptor/FOO_IORInterceptor.h: * tests/PortableInterceptor/IORInterceptor/FOO_IORInterceptor_ORBInitializer.cpp: * tests/PortableInterceptor/IORInterceptor/FOO_IORInterceptor_ORBInitializer.h: * tests/PortableInterceptor/IORInterceptor/IORInterceptor.dsw: * tests/PortableInterceptor/IORInterceptor/Makefile: * tests/PortableInterceptor/IORInterceptor/Makefile.bor: * tests/PortableInterceptor/IORInterceptor/README: * tests/PortableInterceptor/IORInterceptor/client.cpp: * tests/PortableInterceptor/IORInterceptor/client.dsp: * tests/PortableInterceptor/IORInterceptor/run_test.pl: * tests/PortableInterceptor/IORInterceptor/server.cpp: * tests/PortableInterceptor/IORInterceptor/server.dsp: * tests/PortableInterceptor/IORInterceptor/test.idl: * tests/PortableInterceptor/IORInterceptor/test_i.cpp: * tests/PortableInterceptor/IORInterceptor/test_i.h: New test that exercises TAO's IORInterceptor support. * tests/Portable_Interceptors/Makefile (DIRS): * tests/Portable_Interceptors/Makefile.bor (DIRS): Added new IORInterceptor test directory to the list of directories to build. Sun Dec 24 06:49:22 2000 Balachandran Natarajan * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp: Fixed link errors in MSVC buid. Sat Dec 23 11:54:07 2000 Balachandran Natarajan * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp: Fixed compile errors. Fri Dec 22 17:31:24 2000 Priyanka Gontla * tao/RT_ORB_Loader.cpp: * tao/RT_ORB_Loader.h: Added and Committed missing files. Fri Dec 22 15:26:58 2000 Priyanka Gontla * tao/ORB.cpp (resolve_rt_orb): Added ACE_UNUSED_ARG (ACE_TRY_ENV) to remove a warning in the RT_CORBA==0 case. Fri Dec 22 16:45:42 2000 Darrell Brunsch * performance-tests/Cubit/TAO/IDL_Cubit/client.dsp: * performance-tests/Cubit/TAO/IDL_Cubit/server.dsp: Fixed the Static Release configurations. Fri Dec 22 15:11:00 2000 Priyanka Gontla * tao/ORB_Core.cpp: Added TAO_HAS_RT_CORBA guard. Fri Dec 22 15:02:00 2000 Priyanka Gontla * tao/ORB_Core.h : * tao/ORB_Core.i: Added TAO_HAS_CORBA_MESSAGING guards around get_default_policies which returns TAO_Policy_Manager_Impl *. Fri Dec 22 14:24:17 2000 Priyanka Gontla * tao/TAO.dsp * tao/TAO_Static.dsp Added the new files: RT_ORB_Loader.{h,cpp} . Fri Dec 22 14:13:46 2000 Priyanka Gontla * tao/ORB_Core.h : * tao/ORB_Core.cpp : * tao/ORB_Core.i: This change is aimed at making ORB_Core not-dependent on RT_ORB, RT_Current, Priority_Mapping_Manager and RT_Policy_i. Removed the set_default_policies method. It now is in Protocols_Hooks and derived classes. The default implementation does nothing and the RT_Protocols_Hooks implementation does the actual setting of the policies. With this change, ORB_Core doesnt depend on RT_Policy_i. Similar is the case with get_thread_priority and set_thread_priority methods. Added resolve_rt_orb_i (CORBA::Environment &) method. This method creates the RT_ORB with the help of the TAO_RT_ORB_Loader class. And also helps set the RT_Current object. This method is called by TAO_ORB_Core::rt_orb (). Added and modified accessor methods for TAO_Priority_Mapping_Manager. CORBA::Object_ptr priority_mapping_manager (void); void priority_mapping_manager (CORBA::Object_ptr obj); The set method is called from RT_ORBInitializer which sets the static variable CORBA::Object_ptr priority_mapping_manager_. Added a accessor method to retrieve the protected TAO_Policy_Manager_Impl *default_policies_. The methods rt_orb and rt_current return CORBA::Object_ptr. Modified the corresponding variables to be CORBA::Object_ptr's. Changed the signature of rt_orb to take CORBA::Environment as an argument. * tao/RT_ORB_Loader.h: * tao/RT_ORB_Loader.cpp: The factory class that helps create an RT_ORB object and set the RT_Current object. * tao/ORB.cpp (resolve_rt_current): Started using the unused ACE_TRY_ENV in resolve_rt_orb. Passed ACE_TRY_ENV as an argument when invoking TAO_ORB_Core::rt_orb. * tao/RT_Protocols_Hooks.cpp : * tao/RT_Protocols_Hooks.h : * tao/Default_Protocols_Hooks.cpp : * tao/Default_Protocols_Hooks.h : * tao/Protocols_Hooks.cpp : * tao/Protocols_Hooks.h : Added the following virtual functions. As before, the default implementation does nothing and the RT implementation does the needful. int get_thread_priority (TAO_ORB_Core *, int set_thread_priority (TAO_ORB_Core *, int set_default_policies (TAO_ORB_Core *orb_core); These methods are moved from ORB_Core. void set_priority_mapping (TAO_ORB_Core *, This method is called from ORB_Core to set the priority_mapping. Added this new method to not use TAO_Priority_Mapping_Manager class in ORB_Core. * tao/Invocation_Endpoint_Selectors.cpp : * tao/PortableServer/Object_Adapter.cpp: * tao/Strategies/Reactor_Per_Priority.cpp: * tao/RT_Current.cpp: * tao/Pool_Per_Endpoint.cpp: Changed the signatures and the way the methods are invoked according to the changes done with regards to the modified methods. * tao/Makefile: Added the new files. RT_ORB_Loader.{h.cpp} * tao/Stub.cpp : Fixed the KCC warnings related to the previous change. Added some comments regarding the way I am throwing exceptions. * tao/RT_Protocols_Hooks.cpp (validate_policy_type): Set type_value=3 in the other 'if' case so that I can check on the value of type_value to throw the needed exception. Fri Dec 22 15:25:51 2000 Balachandran Natarajan * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp: Added bidirectional support for SSLIOP. Fri Dec 22 14:56:24 2000 Balachandran Natarajan * tao/IIOP_Transport.h: * tao/IIOP_Transport.cpp: * tao/operation_details.h: * tao/operation_details.cpp: Modified the request_id's so that we have unique id's flying over the connection when we have BiDirectional connections setup. This is as per the recommendation of the BiDirectional GIOP sepc. Fri Dec 22 13:00:42 2000 Balachandran Natarajan * tests/BiDirectional/run_test.pl: * tests/BiDirectional_NestedUpcall/run_test.pl: Added these perl scripts. Fri Dec 22 12:22:06 2000 Balachandran Natarajan * tests/BiDirectional_NestedUpcall: New test for BiDirectional connections that tests for callbacks in an upcall. * tests/BiDirectional_NestedUpcall/README: * tests/BiDirectional_NestedUpcall/client.cpp: * tests/BiDirectional_NestedUpcall/server.cpp: * tests/BiDirectional_NestedUpcall/test_i.h: * tests/BiDirectional_NestedUpcall/test_i.cpp: * tests/BiDirectional_NestedUpcall/test_i.i: * tests/BiDirectional_NestedUpcall/test.idl: * tests/BiDirectional_NestedUpcall/BiDir.dsw: * tests/BiDirectional_NestedUpcall/client.dsp: * tests/BiDirectional_NestedUpcall/server.dsp: * tests/BiDirectional_NestedUpcall/client.bor: * tests/BiDirectional_NestedUpcall/server.bor: * tests/BiDirectional_NestedUpcall/Makefile.bor: * tests/BiDirectional_NestedUpcall/svc.conf: * tests/BiDirectional_NestedUpcall/Makefile: Files for the new test. Fri Dec 22 07:30:37 2000 Johnny Willemsen * examples/Load_Balancing: * examples/Load_Balancing_persistent: Added Borland C++ Builder makefiles Fri Dec 22 01:01:37 2000 Nanbor Wang * TAO_IDL/driver/drv_preproc.cpp (DRV_pre_proc): Restore file permission setting for temp file. Thu Dec 21 19:33:33 2000 Carlos O'Ryan * tests/Param_Test/except.cpp: We need an explicit #include to get the declaration of CORBA::UnknownUserException, it used to be in tao/Exception.h, but the class has moved into the DynamicInterface library. Thu Dec 21 18:53:20 2000 Priyanka Gontla * tests/Strategies/advanced_svc.conf: Changed the entry in the conf file from Resource_Factory to Advanced_Resource_Factory. Thanks to Bala for pointing it out. Thu Dec 21 13:23:33 2000 Nanbor Wang * TAO_IDL/driver/drv_preproc.cpp (DRV_pre_proc): Removed the file permission specifier when opening the temp file. The should be taken care of by ACE_OS::open automatically and the old specifier no longer worked on NT. Wed Dec 20 09:34:20 2000 Priyanka Gontla * tao/CORBALOC_Parser.h : * tao/CORBALOC_Parser.cpp : Instead of declaring CORBA::ORB orb_ and TAO_MProfile mprofile_ as private variables, declared them in the implementation and accrdingly changed the signatures of the methods using these variables. This way the MProfile will be cleaned automatically when it goes out of scope. Previosuly, the new mprofile was added to the already existing mprofile which was never cleaned causing a problem. Thanks to Russell Carter for reporting this problem. Tue Dec 19 19:31:42 2000 Darrell Brunsch * tao/Strategies/strategies_export.h: Added TAO_AS_STATIC_LIBS check. * performance-tests/Cubit/TAO/IDL_Cubit/client.dsp: * performance-tests/Cubit/TAO/IDL_Cubit/server.dsp: * tao/IORManipulation/TAO_IORManip_Static.dsp: * tao/Strategies/TAO_Strategies_Static.dsp: Updated the static configurations' build options. Tue Dec 19 19:22:30 2000 Priyanka Gontla * tao/TAO_Static.dsp Added the new files. Tue Dec 19 17:58:00 2000 Jeff Parsons * TAO_IDL/fe/idl.yy: * TAO_IDL/fe/y.tab.cpp: Minor change to allow the IDL compiler to handle cases like const unsigned short a = 12; typedef string foo; typedef long bar[a+1]; Tue Dec 19 14:21:12 2000 Jeff Parsons * orbsvcs/IFR_Service/Container_i.cpp: * orbsvcs/IFR_Service/Container_i.h: * orbsvcs/IFR_Service/InterfaceDef_i.cpp: Fixed bug in Container::contents() where an InterfaceDef container would include attributes and operations in its results only if the exclude_inherited flag was 0. * orbsvcs/IFR_Service/OperationDef_i.cpp: Removed unnecessary temporary variable in OperationDef::params(), and made cosmetic changes. Tue Dec 19 11:47:30 2000 Priyanka Gontla * tao/Protocols_Hooks.cpp : * tao/Protocols_Hooks.h : * tao/Default_Protocols_Hooks.cpp : * tao/Default_Protocols_Hooks.h : * tao/RT_Protocols_Hooks.cpp : * tao/RT_Protocols_Hooks.h : * tao/RT_Invocation_Endpoint_Selectors.i : * tao/Invocation_Endpoint_Selectors.i : * tao/Invocation.h : * tao/Invocation.i : Added TAO_HAS_RT_CORBA if-def guards. Tue Dec 19 12:16:32 2000 Douglas C. Schmidt * utils/nslist/nslist.cpp (main): Added a fix to check if non-existent IOR is passed in. Thanks to Jerry Jiang for reporting this problem. Tue Dec 19 08:53:51 2000 Jeff Parsons * TAO_IDL/fe/idl.yy: Modified the yacc file to check, in the case where an enum value is used in an array dim, a string bound, or a sequence bound, for a zero value. An error is output if zero is found, because in the above cases, the value must be a positive integer. * TAO_IDL/fe/y.tab.h: * TAO_IDL/fe/y.tab.cpp: * TAO_IDL/fe/y.tab.cpp.diff: Regenerated these files. Tue Dec 19 06:17:57 2000 Christopher Kohlhoff * tao/Makefile.bor: Added missing source files. * tao/DynamicInterface/Makefile.bor: Fixed error in OBJFILES macro definition. Mon Dec 18 23:17:58 2000 Ossama Othman * tao/PortableServer/DomainS.h: * tao/PortableServer/DomainS.cpp: Fixed compile-time error that occurs when Interface Repository support is enabled. Mon Dec 18 19:18:51 2000 Priyanka Gontla * tests/RTCORBA/Server_Protocol/server.cpp : In check_default_server_protocol, changed the type of the variable server_protocol to CORBA::Policy * and later did the necessary narrows. Mon Dec 18 19:03:10 2000 Priyanka Gontla * tao/TAO.dsp Added the new files. Mon Dec 18 18:57:57 2000 Priyanka Gontla * tao/Makefile : Added the new files. * tao/*/Makefile : Updated dependencies. * tao/RT_Protocols_Hooks.h : * tao/RT_Protocols_Hooks.i : * tao/RT_Protocols_Hooks.cpp : * tao/Default_Protocols_Hooks.h : * tao/Default_Protocols_Hooks.i : * tao/Default_Protocols_Hooks.cpp : * tao/Protocols_Hooks.h: * tao/Protocols_Hooks.i: * tao/Protocols_Hooks.cpp: This change is aimed at removing the dependencies between RTCORBA and the rest of the TAO library. For the same purpose, I added hooks for almost all the methods which use RTCORBA related stuff. TAO_Protocools_Hooks is the base class from which TAO_Default_Protocols_Hooks and TAO_RT_Protocols_Hooks derive. If TAO_HAS_RT_CORBA==1, TAO_RT_ORBInitializer::pre_init method invokes the static method 'TAO_ORB_Core::set_protocols_hooks' which sets the static variable 'TAO_ORB_Core::protocols_hooks_name' to 'RT_Protocols_Hooks' thereby causing the control to go to TAO_RT_Protocols_Hooks methods in case any of the hooks are invoked. Else, the control goes to the TAO_Default_Protocols_Hooks which does nothing. * tao/RT_ORBInitializer.cpp : Invoke the static methods in TAO_ORB_Core and TAO_RT_Protocols_Hooks to set the new values. * tao/ORB_Core.h: * tao/ORB_Core.i: * tao/ORB_Core.cpp: Added a new method TAO_ORB_Core::set_protocols_hooks (const char *) to set the static variable protocols_hooks_name_. The default value is "Protocols_Hooks". It can be set to "RT_Protocols_Hooks". Added another method TAO_ORB_Core::get_protocols_hooks (void) to get the desired Protocols_Hooks (TAO_Default_Protocols_Hooks or TAO_RT_Protocols_Hooks) class depending on the value of protocols_hooks_name_. The handle to this factory is TAO_ORB_Core::protocols_hooks_ Changed the return values of the following functions to return a CORBA::Policy * instead of the policies that they are returning previously. /// Methods for obtaining ORB implementation default values for RT /// policies. //@{ TAO_PrivateConnectionPolicy *default_private_connection (void) const; TAO_PriorityBandedConnectionPolicy * default_priority_banded_connection (void) const; TAO_ClientProtocolPolicy *default_client_protocol (void) const; TAO_ServerProtocolPolicy *default_server_protocol (void) const; TAO_ThreadpoolPolicy *default_threadpool (void) const; TAO_PriorityModelPolicy *default_priority_model (void) const; //@} and { TAO_ThreadpoolPolicy *threadpool (void); TAO_PriorityModelPolicy *priority_model (void); TAO_ServerProtocolPolicy *server_protocol (void); } } * tao/Policy_Manager.h : * tao/Policy_Manager.i : * tao/Policy_Manager.cpp : Changed the return values of the following functions to return CORBA::Policy * in all the classes. { TAO_PriorityModelPolicy *priority_model (void) const; TAO_ThreadpoolPolicy *threadpool (void) const; TAO_PrivateConnectionPolicy *private_connection (void) const; TAO_PriorityBandedConnectionPolicy *priority_banded_connection (void) const; TAO_ServerProtocolPolicy *server_protocol (void) const; TAO_ClientProtocolPolicy *client_protocol (void) const; } * tao/Policy_Manager.h : * tao/Policy_Manager.i : * tao/Policy_Manager.cpp : Changed the return values of the following functions to return CORBA::Policy * in all the classes. { TAO_PriorityModelPolicy *priority_model (void) const; TAO_ThreadpoolPolicy *threadpool (void) const; TAO_PrivateConnectionPolicy *private_connection (void) const; TAO_PriorityBandedConnectionPolicy *priority_banded_connection (void) const; TAO_ServerProtocolPolicy *server_protocol (void) const; TAO_ClientProtocolPolicy *client_protocol (void) const; } and { TAO_PrivateConnectionPolicy *private_connection (void) const; TAO_PriorityBandedConnectionPolicy *priority_banded_connection (void) const; TAO_ClientProtocolPolicy *client_protocol (void) const; } and { TAO_PrivateConnectionPolicy *private_connection (void) const; TAO_PriorityBandedConnectionPolicy *priority_banded_connection (void) const; TAO_ClientProtocolPolicy *client_protocol (void) const; } And all these variables are now CORBA::Policy * { TAO_PriorityModelPolicy *priority_model_; TAO_ThreadpoolPolicy *threadpool_; TAO_PrivateConnectionPolicy *private_connection_; TAO_PriorityBandedConnectionPolicy *priority_banded_connection_; TAO_ServerProtocolPolicy *server_protocol_; TAO_ClientProtocolPolicy *client_protocol_; } In TAO_Policy_Manager_Impl::copy_from implementation, instead of calling ACE_NEW_THROW_EX for a new instance of all classes related to RTCORBA (which are in the #if guard of TAO_HAS_RT_CORBA==1), invoked the copy function of the respective classes. In TAO_Policy_Manager_Impl::set_policy_overrides, for the sections related to RTCORBA, removed unneeded narrows and casts now that the variables are CORBA::Policy *. * tao/Invocation.h: * tao/Invocation.i : * tao/Invocation.cpp : And all these variables are now CORBA::Policy * { TAO_PriorityModelPolicy *priority_model_; TAO_ThreadpoolPolicy *threadpool_; TAO_PrivateConnectionPolicy *private_connection_; TAO_PriorityBandedConnectionPolicy *priority_banded_connection_; TAO_ServerProtocolPolicy *server_protocol_; TAO_ClientProtocolPolicy *client_protocol_; } In TAO_Policy_Manager_Impl::copy_from implementation, instead of calling ACE_NEW_THROW_EX for a new instance of all classes related to RTCORBA (which are in the #if guard of TAO_HAS_RT_CORBA==1), invoked the copy function of the respective classes. In TAO_Policy_Manager_Impl::set_policy_overrides, for the sections related to RTCORBA, removed unneeded narrows and casts now that the variables are CORBA::Policy *. * tao/Invocation.h: * tao/Invocation.i : * tao/Invocation.cpp : Moved part of add_rt_service_context to TAO_RT_Protocols_Hooks::add_rt_service_context_hook and invoked the hook instead in TAO_Invocation::add_rt_service_context method implementation. Added the following two methods to get access to the protected variables for the add_rt_service_context_hook method in RT_Protocols_Hooks.cpp { /// Get the protected variable TAO_Endpoint_Selection_State get_endpoint_selection_state (void); /// Get the pointer to stub. TAO_Stub *get_stub (void); } * tao/Stub.h : * tao/Stub.cpp : Call TAO_RT_Protocols_Hooks::call_policy_type_hook in TAO_Stub::parse_policies to get the policy_type as a (in a hard-coded way) CORBA::Ulong value. The policy_type is checked in the hook method and a CORBA::ULong value is set accordingly. Depending on this value, the corresponding steps are executed. Changed the return value to CORBA::Policy * for the functions returning different RTCORBA Policy pointers. The same for all the RTCORBA Policy_ptr variables. Owing to this change, modified the TAO_Stub::exposed_priority_model (CORBA::Policy_ptr policy) TAO_Stub::exposed_priority_banded_connection (CORBA::Policy_ptr policy) TAO_Stub::exposed_client_protocol (CORBA::Policy_ptr policy) methods to remove unnecessary narrows and casts. In TAO_Stub::get_policy, TAO_Stub::get_client_policy and TAO_Stub::set_policy_overrides, invoked the TAO_Protocols_Hooks::validate_policy_type to check the CORBA::PolicyType. The same strategy used for call_policy_type method as above. In TAO_Stub::effective_priority_banded_connection, TAO_Stub::effective_client_protocol, call effective_priority_banded_connection_hook and effective_client_protocol_hook respectively to check if override or exposed policy is to be returned. * tao/RT_Invocation_Endpoint_Selectors.h : * tao/RT_Invocation_Endpoint_Selectors.i : * tao/RT_Invocation_Endpoint_Selectors.cpp : * tao/Invocation_Endpoint_Selectors.h : * tao/Invocation_Endpoint_Selectors.i : * tao/Invocation_Endpoint_Selectors.cpp : Moved the classes in Invocation_Endpoint_Selectors which are used only if TAO_HAS_RT_CORBA==1 to these new RT_ files. This helps helps to simply move the file to the new library when we are actually creating a new library for RTCORBA. The classes that are moved are: TAO_Priority_Endpoint_Selector TAO_Bands_Endpoint_Selector TAO_Protocol_Endpoint_Selector TAO_Client_Priority_Policy_Selector TAO_Priority_Protocol_Selector TAO_Bands_Protocol_Selector. The other classes are in Invocation_Endpoint_Selectors itself. Also, called the get_selector_hook and get_selector_bands_policy_hook in TAO_Endpoint_Selector_Factory::get_selector and get_selector_bands_policy_hook. * tao/RT_Policy_i.h: * tao/RT_Policy_i.cpp: Added hooks TAO_ClientProtocolPolicy::hook and TAO_ServerProtocolPolicy::hook which are called from TAO_IIOP(/UIOP)_Connector(/Acceptor)::init_tcp(/uiop)_properties. These hook methods set the RTCORBA::ProtocolProperties_var &properties depending on the protocol_type. The method implementation is a little bit hardcoded .. should change in future. * tao/IIOP_Connector.cpp : * tao/IIOP_Acceptor.cpp : * tao/Strategies/UIOP_Connector.cpp: * tao/Strategies/UIOP_Acceptor.cpp: Corresponding change as listed above for RT_Policy_i.cpp. * tao/PortableServer/POA.cpp : In TAO_POA_Policies constructor, narrowed down the pointers returned to the correct policy_vars. Mon Dec 18 19:48:52 2000 Jeff Parsons * TAO_IDL/fe/idl.yy: * TAO_IDL/y.tab.cpp: Modified the yacc file to check the type and value of a constant when it is used later in the IDL file as an array dim, a string bound, or a sequence bound. In these cases, it must be a positive integer. Previous behavior was to coerce the constant literal to an unsigned long, truncate the fractional part, if any, and let the C++ compiler output the error if the constant value was 0. Thanks to Alexander Kogan for reporting this bug. * TAO_IDL/util/utl_err.cpp: Fixed typos in error messages. Mon Dec 18 19:57:07 2000 Ossama Othman * tao/PortableServer/DomainS.h: Fixed "initialization re-ordered to match declaration order" warning. * tao/PortableServer/DomainS.cpp: Fixed unused argument warning. Mon Dec 18 19:37:40 2000 Ossama Othman * TAO_IDL/be/be_visitor_operation/interceptors_result.cpp: Aesthetic formatting updates to the generated code. Mon Dec 18 19:14:25 2000 Ossama Othman * TAO_IDL/be/be_visitor_operation/interceptors_cs.cpp (visit_operation): * TAO_IDL/be/be_visitor_operation/interceptors_ss.cpp (visit_operation): Fixed "unused variable" warnings in the generated stub and skeleton. Mon Dec 18 18:58:00 2000 Ossama Othman * docs/interceptors.html: Updated TAO's Portable Interceptor release notes to reflect the new updates and fixes made to the TAO's Portable Interceptor support. * tao/PortableServer/ServerRequestInfo.cpp (forward_reference): Fixed "better conversion sequence" warning by explicitly using the "CORBA::Object_var::in()" accessor. Mon Dec 18 14:09:31 2000 Ossama Othman * tao/Invocation.h: Include "Stub.h" to pull in TAO_Stub class declaration. Mon Dec 18 16:44:03 2000 Ossama Othman * TAO_IDL/be/be_visitor_argument/paramlist.cpp (visit_argument): * TAO_IDL/be/be_visitor_operation/interceptors_exceptlist.cpp (gen_exceptlist): * TAO_IDL/be/be_visitor_operation/interceptors_result.cpp (visit_array, visit_enum, visit_interface, visit_interface_fwd, visit_predefined_type, visit_sequence, visit_string, visit_structure, visit_union): Updated generated code to be consistent with the return value updates/fixes. A cached value is no longer returned since it breaks conformance with the CORBA C++ mapping. * TAO_IDL/be/be_codegen.cpp (start_client_stubs, start_server_skeletons): Include the "tao/RequestInfo_Util.h" header when TAO_HAS_INTERCEPTORS is defined to 1. Needed to pull in the utility factory methods related to the return value types defined in the "Dynamic" module. * TAO_IDL/be/be_visitor_operation/operation_ss.cpp (visit_operation): In the case of a one-way request, invoke the send_other() interception point, not the send_reply() interception point. Added support for the PortableInterceptor::ForwardRequest exception, meaning the send_other() interception point, too. * TAO_IDL/be/be_visitor_operation/remote_proxy_impl_cs.cpp (visit_operation): Added support for the PortableInterceptor::ForwardRequest exception. This includes support for the receive_other() interception point. * TAO_IDL/be/be_visitor_operation/interceptors_ch.cpp (visit_operation): * TAO_IDL/be/be_visitor_operation/interceptors_cs.cpp (visit_operation): Pass a pointer to the TAO_GIOP_Invocation object for the current invocation to the ClientRequestInfo object. This saves us the trouble of passing the operation name and the service context list since the invocation object already encapsulates both of them either directly or indirectly. Doing so also makes it possible to implement the ClientRequestInfo::sync_scope() method. * TAO_IDL/be/be_visitor_operation/interceptors_sh.cpp (visit_operation): Pass a pointer to the TAO_ServerRequest object for the current invocation to the ServerRequestInfo object. This saves us the trouble of passing the operation name and the service context list since the invocation object already encapsulates both of them either directly or indirectly. Doing so also makes it possible to implement the ServerRequestInfo::sync_scope() method, and various other ServerRequestInfo methods. * TAO_IDL/be/be_visitor_operation/interceptors_ss.cpp (visit_operation): Corrected a long standing typographical error that prevented the result from being inserted into an Any when invoking the ServerRequestInfo::result() accessor method. This accounts for the garbage result on the server seen in the PortableInterceptors/Dynamic test. The raw be_operation node was accepting the visitor instead of the narrowed be_type. Updated generated code to be consistent with the return value updates/fixes. A cached value is no longer returned since it breaks conformance with the CORBA C++ mapping. Generate the target_most_derived_interface() and the target_is_a() ServerRequestInfo methods in the ServerRequestInfo subclasses. In other words, these methods have now been implemented. * tao/RequestInfo_Util.h: * tao/RequestInfo_Util.cpp: New files that contain helper class that provides methods useful for both PortableInterceptor::ClientRequestInfo and PortableInterceptor::ServerRequestInfo objects, such as factory methods for sequences and Anys. * tao/ClientRequestInfo.h (TAO_ClientRequestInfo): This constructor now accepts a pointer to a TAO_GIOP_Invocation object. This allows us to remove the operation name and request ID fields since both can be obtained from the Invocation object. * tao/ClientRequestInfo.cpp (request_id, operation): Obtain these attributes from the Invocation object. (arguments, exceptions, contexts, operation_context, result): Throw a CORBA::BAD_INV_ORDER() exception. The subclasses in the generated stub will override these methods appropriately. (sync_scope): Implemented this method. If the Invocation object is a TAO_GIOP_Oneway_Invocation, then query its own sync_scope() method and return that value as the result. (forward_reference): Implemented this method. This was made possible by an update to the interceptor support in generated stubs, and to the TAO_GIOP_Invocation class. * tao/Invocation.h (start, invoke, invoke_i, prepare_header, location_forward, init_inconsistent_policies, add_rt_service_context): Removed "TAO_default_environment()" default CORBA::Environment argument. All of these methods are internal to TAO. Method invocations internal to TAO should always explicitly use the CORBA::Environment argument, and not rely on a default CORBA::Environment argument. * tao/Invocation.i (operation): New method to return the name of the operation for the current request. (forward_reference): New method that returns the object reference returned in a LOCATION_FORWARD reply. The reference is only valid if the invocation status is TAO_INVOKE_RESTART, except during a transport retry. This method is used by the client side Portable Interceptor implementation. (location_forward_i): Inlined method that contains code common to both location_forward() methods. This method takes the TAO_Stub object pointer argument, and adds the profiles in that object to the list of forward profiles. * tao/Invocation.cpp (location_forward): Refactored code common to both location_forward() methods to the new location_forward_i() inlined method. * tao/PortableInterceptor.h: Removed unused "ending_intercept_called_" class member from the TAO_ClientRequestInterceptor_Adapter and the TAO_ServerRequestInterceptor_Adapter classes. * tao/PortableInterceptor.i (TAO_ServerRequestInterceptor_Adapter): The current flow stack size is now passed in as a reference argument to make it possible to implement the "receive_request_service_contexts" interception point. (receive_request_service_contexts): New adapter method that implements the "receive_request_service_contexts" server side starting interception point. (send_other): New adapter method for the ServerRequestInterceptor::send_other() method. It is used in one-way requests and LOCATION_FORWARD replies.. * tao/TAO_Server_Request.h: * tao/TAO_Server_Request.i (forward_location): New method to set the reference to which the request will be forwarded. It is needed in order to implement the PortableInterceptor::ForwardRequest exception. * tao/TAO_Server_Request.cpp (TAO_ServerRequest): Initialize the interceptor count to zero in the constructors. * tao/GIOP_Message_Generator_Parser_10.cpp: Fixed compile-time problem. Include "CORBA_String.h" to pull CORBA::String_var class declaration. * tao/Makefile: * tao/Makefile.bor: * tao/TAO.dsp: * tao/TAO_Static.dsp: Added the new RequestInfo_Util.* files to the source lists. * tao/DomainC.h: * tao/DomainC.cpp: * tao/PortableServer/DomainS.cpp: * tao/PortableServer/DomainS.h: Updated (by hand) with the changes made to the stubs and skeletons now generated by TAO_IDL. * tao/PortableServer/Object_Adapter.cpp (dispatch): Added support for the receive_request_service_contexts() interception point, and the accompanying send_other() and send_exception() interception points. This includes support for the PortableInterceptor::ForwardRequest exception. * tao/PortableServer/ServerRequestInfo.h: This constructor now accepts a reference to a TAO_ServerRequest object. This allows us to remove the operation name and service context list fields since both can be obtained from the TAO_ServerRequest object. * tao/PortableServer/ServerRequestInfo.cpp: Implemented most of the remaining unimplemented ServerRequestInfo methods. * tao/PortableServer/TAO_PortableServer.dsp: * tao/PortableServer/TAO_PortableServer_Static.dsp: Added ServerRequestInfo.inl to the list of inline sources. Mon Dec 18 12:01:49 2000 Jeff Parsons * tao/Exception.cpp: * tao/Dynamic_Adapter.h: * tao/Dynamic_Adapter.cpp: * tao/DynamicInterface/Dynamic_Adapter_Impl.h: * tao/DynamicInterface/Dynamic_Adapter_Impl.cpp: Had to move the implementation of TAO_Exceptions::make_unknown_user_typecode() back into TAO. Since it is called before the service repository is initialized, it can't be implemented by a dynamic service object. Thanks to Bala for pointing this out. Mon Dec 18 10:45:33 2000 Yamuna Krishnamurthy * orbsvcs/tests/AVStreams/Full_Profile/ftp.cpp: * orbsvcs/tests/AVStreams/Full_Profile/server.cpp: * orbsvcs/tests/AVStreams/Multicast_Full_Profile/ftp.cpp: * orbsvcs/tests/AVStreams/Multicast_Full_Profile/server.cpp: * orbsvcs/tests/AVStreams/Multicast/server.cpp: * orbsvcs/tests/AVStreams/Multicast/ftp.cpp: * orbsvcs/tests/AVStreams/Pluggable/ftp.cpp: * orbsvcs/tests/AVStreams/Pluggable/server.cpp: * orbsvcs/tests/AVStreams/Latency/control.cpp: * orbsvcs/tests/AVStreams/Latency/pong.cpp: * orbsvcs/tests/AVStreams/Latency/ping.cpp: * orbsvcs/tests/AVStreams/benchmark/client.cpp: * orbsvcs/tests/AVStreams/benchmark/child_process.cpp: * orbsvcs/tests/AVStreams/benchmark/server.cpp: Fixed compile warnings. Mon Dec 18 08:03:13 2000 Jeff Parsons * tao/Exception.cpp: * tao/Exception.h: Moved class UnknownUserException and body of method TAO_Exceptions::make_unknown_user_typecode() to the DynamicInterface library. * tao/Dynamic_Adapter.cpp: * tao/Dynamic_Adapter.h: Added empty virtual method create_unknown_user_typecode(). * tao/DynamicInterface/Dynamic_Adapter_Impl.cpp: * tao/DynamicInterface/Dynamic_Adapter_Impl.h: Added virtual method create_unknown_user_typecode(). * tao/DynamicInterface/Unknown_User_Exception.h: * tao/DynamicInterface/Unknown_User_Exception.cpp: New files contained class CORBA::UnknownUserException. * tao/DynamicInterface/DII_Invocation.cpp: Replace #include of tao/Exception.h with the new local header file. * tao/DynamicInterface/TAO_DynamicInterface.dsp: * tao/DynamicInterface/Makefile: * tao/DynamicInterface/Makefile.bor: Added the new files. Mon Dec 18 09:14:25 2000 Johnny Willemsen * tao/Makefile.bor: Updated makefile with latest files added Mon Dec 18 01:14:25 2000 Marina Spivak * tao/docs/rtcorba/features.html * tao/docs/rtcorba/content.html * tao/docs/rtcorba/faq.html: Finished rtcorba online documentation. Sun Dec 17 19:43:39 2000 Nanbor Wang * tao/Strategies/SHMIOP_Acceptor.h: * tao/Strategies/SHMIOP_Acceptor.cpp: Added methods from SHMIOP_Factory class to pass in the MMAP file options. * tao/Strategies/SHMIOP_Connection_Handler.cpp (handle_close): Must call remove method on the MEM_Stream to make sure the mmap file get removed when not in use. * tao/Strategies/SHMIOP_Factory.h: Added methods to set mmap file prefix and its initial file size. * tao/Strategies/SHMIOP_Factory.cpp: Added methods to set mmap file prefix and its initial file size. These options are changed thru the argument string passed to SHMIOP_Factory in svc.conf files using flags: "-MMAPFilePrefix" and "-MMAPFileSize". * tao/Strategies/advanced_resource.cpp: Changed to change the resource factory in the ORB_Core from Advanced_Resource_Facotry's contructor to its init method so users won't forced to use Advanced_Resource_Factory with either SHMIOP or UIOP. Sun Dec 17 10:49:14 2000 Carlos O'Ryan * orbsvcs/tests/Event_Latency/Event_Latency.h: * orbsvcs/TAO_Service/TAO_Service.cpp: * orbsvcs/tests/tests_svc_loader/tests_svc_loader.cpp: Fixed minor warnings detected by DU/CXX builds. * tests/POA/Identity/Identity.cpp: Change ASSERT to simple if() statements. The former does not work in release builds. Sun Dec 17 01:29:20 2000 Ossama Othman * TAO_IDL/be/be_visitor_operation/remote_proxy_impl_cs.cpp (gen_marshal_and_invoke): Fixed generated stub compile problems in the case where TAO_HAS_INTERCEPTORS is not equal to one. Added code that was accidentally removed that set the request ID in the generated stub. (gen_check_exception, gen_check_interceptor_exception, visit_operation): Fixed formatting problems in generated code. Sat Dec 16 09:40:15 2000 Balachandran Natarajan * tests/BiDirectional: New test for BiDirectional connections. * tests/BiDirectional/README: * tests/BiDirectional/client.cpp: * tests/BiDirectional/server.cpp: * tests/BiDirectional/test_i.h: * tests/BiDirectional/test_i.cpp: * tests/BiDirectional/test_i.i: * tests/BiDirectional/test.idl: * tests/BiDirectional/BiDir.dsw: * tests/BiDirectional/client.dsp: * tests/BiDirectional/server.dsp: * tests/BiDirectional/client.bor: * tests/BiDirectional/server.bor: * tests/BiDirectional/Makefile.bor: * tests/BiDirectional/Makefile: Files for the new test. Fri Dec 15 21:30:54 2000 Balachandran Natarajan * */Makefile: Updated dependencies. Fri Dec 15 20:59:49 2000 Balachandran Natarajan This set of changes are for the support of BiDirGIOP in TAO. * tao/BiDirPolicy.pidl: * tao/BiDirPolicyC.cpp: * tao/BiDirPolicyC.h: * tao/BiDirPolicyC.i: The generated code and the pidl file for BiDirGIOP policy. * tao/BiDir_ORBInitializer.cpp: * tao/BiDir_ORBInitializer.h: The ORB initialiser that registers the policy factory with the PortableInterceptor. * tao/BiDir_PolicyFactory.cpp: * tao/BiDir_PolicyFactory.h: The PolicyFactory implementation for BiDirGIOP policy * tao/BiDir_Policy_i.cpp: * tao/BiDir_Policy_i.h: * tao/BiDir_Policy_i.inl: The actual policy implementation for BiDirGIOP policy * tao/Connection_Descriptor_Interface.h: * tao/Connection_Descriptor_Interface.inl: Added a flag to indicate a BiDirectional connection. Provided a method to set the flag if the connection is bidirectional. * tao/Connection_Handler.cpp: * tao/Connection_Handler.h: Added a method recache_handler (). This method purges the previous entry and caches itself with new properties. * tao/GIOP_Message_Base.cpp: * tao/GIOP_Message_Base.h: Added a method is_ready_for_bidirectional (). This method checks whether the messaging object is ready for bidirectional connections. This is done by actually delegating to the generator and parser class. * tao/GIOP_Message_Generator_Parser.cpp: * tao/GIOP_Message_Generator_Parser.h: Implementation for is_ready_for_bidirectional (). * tao/GIOP_Message_Generator_Parser_12.cpp: * tao/GIOP_Message_Generator_Parser_12.h: Other than the implementation of is_ready_for_bidirectional () added methods check_bidirectional_context () and process_bidirectional_context (). These methods as the name implies, checks whether there is a bidirectional context info in the request that came in. * tao/GIOP_Message_Lite.cpp: * tao/GIOP_Message_Lite.h: Implementation for is_ready_for_bidirectional (). * tao/IIOP.pidl: * tao/IIOPC.cpp: * tao/IIOPC.h: * tao/IIOPC.i: Generated code for IIOP module that has the definition for ListenPointList that needs to be sent with the service context to the server. * tao/IIOP_Acceptor.h: * tao/IIOP_Acceptor.i: Added a method endpoints () that returns the array of endpoints on which the acceptor is listening on. * tao/IIOP_Connection_Handler.cpp: * tao/IIOP_Connection_Handler.h: Added a method, process_listen_point_list (). This method finds out the port and host for which the connection needs to be used and recaches the handle with this new endpoint specification. * tao/IIOP_Transport.cpp: * tao/IIOP_Transport.h: Added the following methods tear_listen_point_list (), set_bidir_context_info () and get_listen_point (). The method tear_listen_point_list () extracts the ListenPointList from the CDR stream of the seervice context. It then passes that information to the connection handler. The method set_bidir_context_info () sets the service context information that needs to be sent to server. get_listen_point () gets the list of endpoints on the same interface on which the clients connection is established. Added a flag to indicate that the BiDirContext info has already been sent on the connection. * tao/Invocation.cpp: Left some comments for RT folks. * tao/ORB.cpp: Registered the BiDirORB initializer with the PortableInterceptor. * tao/ORB_Core.cpp: * tao/ORB_Core.h: * tao/ORB_Core.i: Added a a flag bidir_giop_policy () to indicate that BiDir GIOP policy has been set. * tao/Pluggable.cpp: * tao/Pluggable.h: Added a tear_listen_point_list () as a virtual method. * tao/Pluggable_Messaging.h: Added a pure virtual method, is_ready_for_bidirectional (). * tao/Service_Context.cpp: * tao/Service_Context.h: * tao/Service_Context.inl: A new class that would do the parsing, encoding, decoding and addition of contexts to the service context list. This class introduces quite a few changes for the RT folks. * tao/TAO_Server_Request.cpp: * tao/TAO_Server_Request.h: * tao/TAO_Server_Request.i: Changed the reference of a service context list to TAO_Service_Context. Have left the old methods that return service_context_list as such so that we can clean up the stuff. * tao/corba.h: Added the new file BiDirPolicyC.h. * tao/operation_details.h: * tao/operation_details.i: Chaged the reference of service_context_lsit to TAO_Service_Context. * tao/POA.cpp: Parsing of BiDirPolicy. This parsing is a bit of a hack. It just parses the policy and sets a flag in the ORB_Core. This needs to change when the POA gets upgraded for RT and RT folks have agreed to do it. * tao/Makefile: Added new files and updated dependencies. Fri Dec 15 15:17:12 2000 Carlos O'Ryan * orbsvcs/tests/LoadBalancing/Makefile: Fixed definition of SERVER_OBJS, my last "fix" broke this one. Fri Dec 15 11:36:08 2000 Carlos O'Ryan * tao/*.h: Change the comments that still were in old OSE-style to make Doxygen happy. Fri Dec 15 08:14:51 2000 Carlos O'Ryan * orbsvcs/tests/LoadBalancing/Makefile: Fixed rules to automatically generate IDL stubs, before this, the usual 'make idl_stubs ; make depend' idiom would not work. Thu Dec 14 21:49:40 2000 Carlos O'Ryan * orbsvcs/tests/LoadBalancing/Makefile: Update dependencies. Thu Dec 14 16:44:42 2000 Darrell Brunsch * performance-tests/Cubit/TAO/IDL_Cubit/client.dsp: Changed the name of the static configurations from "static" to "Static" so they will be recognized as such. Thu Dec 14 18:22:54 2000 Jeff Parsons * tao/DynamicInterface/Context.inl: * tao/DynamicInterface/ExceptionList.inl: * tao/DynamicInterface/Request.inl: Added the line containing '-*- C++ -*-' or moved it to the first line, if it was already there. Thanks to Paul Rubel for reporting this bug. Thu Dec 14 12:52:18 2000 Carlos O'Ryan * orbsvcs/tests/Event/Performance/Latency.cpp: * orbsvcs/tests/Event/Performance/Latency_Server.cpp: Fixed typos in debug message * */Makefile*: Update all dependencies again. Thu Dec 14 13:53:14 2000 Marina Spivak * docs/rtcorba/architecture.html: Added description and comparison of two designs. Thu Dec 14 11:39:55 2000 Jeff Parsons * tao/DynamicInterface/TAO_DynamicInterface_Static.dsp: New project. * TAOACE_Static.dsw: Added new project to workspace. * tao/DynamicIinterface/dynamicinterface_export.h: Modified file to work with static build. * tao/ORB.cpp: Changed a hard-coded string parameter "Dynamic_Adapter" to the variable TAO_ORB_Core::dynamic_adapter_name(). Thu Dec 14 09:24:49 2000 Carlos O'Ryan * orbsvcs/orbsvcs/Makefile.av: Update dependencies * orbsvcs/tests/LoadBalancing/Makefile: Fixed typo in the realclean rule. It was removing the HashReplica*.* files but the generated file names are Hash_Replica*.* (with an '_'). Wed Dec 13 23:57:42 2000 Darrell Brunsch * orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.cpp: Fixed a warning in MSVC about */*...*/ being mistakenly recognized as a */ found outside a comment. Wed Dec 13 23:56:58 2000 Ossama Othman * tao/TAO.dsp: * tao/TAO_Static.dsp: Added ClientRequestInfo.inl to the list of "inline" sources. Wed Dec 13 19:06:43 2000 Ossama Othman The following changes are the first stage of a series of updates to push TAO's existing Portable Interceptor implementation to more closely conform with the Portable Interceptor specification / joint submission. We're close. These changes also fix quite a few bugs in the existing implementation with respect to multiple interceptor support in the presence of connection-retries, in addition to improper return value storage semantics. * TAO_IDL/be/be_visitor_operation/operation_ss.cpp (visit_operation): Do an ACE_TRY_CHECK before an ACE_RE_THROW after the send_exception() interception point in case send_exception() itself throws an exception. * TAO_IDL/be/be_visitor_operation/remote_proxy_impl_cs.cpp (visit_operation): Fixed broken flow logic that would occur when a LOCATION_FORWARD reply was received from the server, or a connection retry was performed, i.e. the connection loop was re-executed. The flow stack size would increase during each loop iteration. Thus, a seg fault would occur when during execution of an ending interception point since the logical flow stack would attempt to access an interceptor out of bounds of the interceptor array. Explicitly check for TAO_INVOKE_EXCEPTION invocation status instead of checking for invocation status not equal to TAO_INVOKE_OK. This is necessary since the check for the TAO_INVOKE_RETRY status was moved after the receive_reply() interception point due to the reasons stated in the above paragraph. The "!= TAO_INVOKE_OK" check would evaluate to "true" since "TAO_INVOKE_RETRY != TAO_INVOKE_OK," for example. Pass the result of the TAO_GIOP_Invocation::invoke() call to the ClientRequestInfo object. This information is used by the ClientRequestInfo::reply_status() method. In the case of a one-way invocation, invoke the receive_other() interception point to preserve the general flow rules dictated by the Portable Interceptor specification. This is particularly important now that TAO supports multiple interceptors since each interceptor pushed on to the logical flow stack must also be popped off of it. Moved instantiation of the ClientRequestInfo object within the connection-retry loop. A new ClientRequestInfo must instantiated for each request, including the retries, to maintain consistency. Otherwise, request information left over from a previously tried request will be available to the interceptors. Moved ACE_TRY/CATCH blocks within the connection-retry loop. If a PortableInterceptor::ForwardRequest exception is thrown, then we need to be able to restart the invocation. Do an ACE_TRY_CHECK before an ACE_RE_THROW after the receive_exception() interception point in case receive_exception() itself throws an exception. * tao/ClientRequestInfo.h: Doxygen-ated this header. Removed unused "forward_reference_" class member. * tao/ClientRequestInfo.cpp (effective_target): Implemented this method. Return the actual target for now. This will change once the LOCATION_FORWARD reply status interceptor updates are fully implemented. (tagged_profile): Implemented this method. Obtain the tagged profile structure from the current profile in use. (received_exception): In accordance with the C++ mapping, the caller is responsible for storage of an Any return value so return a heap allocated Any. (get_effective_component): Implemented this method. Extract the desired tagged component from the current profile in use. (add_request_service_context): Added support for the missing "replace" functionality. (response_expected, reply_status): Implemented these methods. (forward_reference): Partially implemented this method. (get_slot): Throw a CORBA::NO_IMPLEMENT() exception since it hasn't been implemented yet. (get_request_service_context, get_reply_service_context): In accordance with the C++ mapping, the caller is responsible for storage of a struct return value so return a heap allocated IOP::ServiceContext, not a cached one. As dictated by the Portable Interceptor specification, return a CORBA::BAD_PARAM() if an IOP::ServiceContext with the given ServiceId doesn't exist. * tao/ClientRequestInfo.inl: New file that contains short non-virtual methods. (exception): Moved this method from the `.cpp' file to this file. Determine the reply status (PortableInterceptor::SYSTEM_EXCEPTION or PortableInterceptor::USER_EXCEPTION) by attempting to downcast the given exception. (request_id): Moved this method from the `.cpp' file to this file. (response_expected): Set the flag that specifies whether or not a response is excepted (e.g. no response excpected in a one-way request). (reply_status): Convert the invocation status (i.e. the return value of the Invocation::invoke() method in the generated stub) into the appropriate PortableInterceptor reply status. * tao/PortableInterceptor.h: * tao/PortableInterceptor.i (receive_other): New adapter method for the ClientRequestInterceptor::receive_other() method. It is used in one-way and AMI requests. * tao/PortableServer/ServerRequestInfo.h: * tao/PortableServer/ServerRequestInfo.cpp (sending_exception): The C++ mapping requires that the caller be responsible for a returned CORBA::Any. Removed the cached CORBA::Any attribute from this class. The sending_exception() method now correctly returns a heap allocated CORBA::Any. (add_reply_service_context): Added support for the missing "replace" functionality. (get_request_service_context, get_reply_service_context): In accordance with the C++ mapping, the caller is responsible for storage of a struct return value so return a heap allocated IOP::ServiceContext, not a cached one. As dictated by the Portable Interceptor specification, return a CORBA::BAD_PARAM() if an IOP::ServiceContext with the given ServiceId doesn't exist. (exception): Determine the reply status (PortableInterceptor::SYSTEM_EXCEPTION or PortableInterceptor::USER_EXCEPTION) by attempting to downcast the given exception. * tests/Portable_Interceptors/Service_Context_Manipulation/interceptors.cpp (receive_reply): Store returned service context in an IOP::ServiceContext_var to fix a memory leak. This is necessary since TAO's ClientRequestInfo class now properly returns a heap allocated IOP::ServiceContext. Wed Dec 13 18:12:01 2000 Carlos O'Ryan * tao/skip.cpp: * tao/append.cpp: Optimized Any marshaling and demarshaling for sequences and arrays of basic types. Thanks to Sathish Tiptur for providing the patches. * tao/ORB_Core.cpp: Fixed the POA loading directive, thanks to Pedro Ferreira for providing this patch. Wed Dec 13 17:57:28 2000 Yamuna Krishnamurthy * orbsvcs/tests/AVStreams/Multicast/ftp.cpp: * orbsvcs/tests/AVStreams/Pluggable/ftp.cpp: * orbsvcs/tests/AVStreams/benchmark/client.cpp: * orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.cpp: * orbsvcs/orbsvcs/AV/AV_Core.cpp: Fixed compile warnings. Wed Dec 13 17:45:09 2000 Balachandran Natarajan * orbsvcs/orbsvcs/Makefile.SSLIOP: Updated dependencies. Wed Dec 13 10:52:55 2000 Darrell Brunsch * orbsvcs/orbsvcs/AV/AV_Core.cpp: * orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.cpp: AV now compiles. * orbsvcs/orbsvcs/Makefile.av: Updated dependencies. Wed Dec 13 10:25:00 2000 Johnny Willemsen * orbsvcs/orbsvcs/Av.bor: Added AV_Core to makefile because it was missing and caused linker problems Wed Dec 13 08:22:00 2000 Johnny Willemsen * orbsvcs/orbsvcs/Ssliop.bor: Removed SSLIOP_Connect from makefile because it was removed Tue Dec 12 23:33:07 2000 Yamuna Krishnamurthy * orbsvcs/orbsvcs/AV/AVStreams_i.h: * orbsvcs/orbsvcs/AV/AV_Core.cpp: * orbsvcs/orbsvcs/Makefile.av: Fixed compile problems. Tue Dec 12 15:58:03 2000 Priyanka Gontla * docs/INS.html: Updated the document to the correct style of corbaloc URL. corbaloc:iiop:$TARGETHOSTNAME:$PORT/object_name. Thanks to Russell L. Carter for motivating the fix. Tue Dec 12 3:23:15 2000 Jeff Parsons * TAO_IDL/include/ast_type.h: * TAO_IDL/ast/ast_type.cpp: Added flag ifr_fwd_added_. It defaults to 0 and is set by the tao_ifr backend when a forward declaration is seen. A later check of this flag lets us know if a forward declaration has been seen in the same file, and can help detect redefinition errors when adding the contents of multiple IDL files to the interface repository. Tue Dec 12 12:44:02 2000 Darrell Brunsch * orbsvcs/ImplRepo_Service/Options.cpp: ImplRepo wasn't working on any platform except windows because the load_registry_settings wasn't protected by a #if defined (ACE_WIN32). Before this change, running the ImR on non-Win32 platforms would result in a "Service not available on this platform" message and the ImR would immediately exit. Tue Dec 12 11:57:59 2000 Darrell Brunsch * TAO/orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connection_Handler.h: * TAO/tao/GIOP_Message_Generator_Parser_11.inl: * TAO/tao/IORTable/Table_Adapter.cpp: Fixed miscellaneous Fuzz reported erros (missing CVS id strings, not ending with newline, and mismatched @file comments). Tue Dec 12 13:49:49 2000 Marina Spivak * docs/rtcorba/reactor-per-lane.gif * docs/rtcorba/queue-per-lane.gif: Added pictures for architecture description. * docs/rtcorba/omg_issues.html: Populated the page with content. * docs/rtcorba/issues.html: Added one new issue. * docs/rtcorba/index.html: Added page title. * docs/rtcorba/content.html: Removed examples section. * docs/rtcorba/faq.html * docs/rtcorba/status.html: Added last modified date. Tue Dec 12 1:28:15 2000 Jeff Parsons * tao/tests/DynAny_Test/test_dynunion.cpp: Commented out test of an unimplemented function. Tue Dec 12 11:03:15 2000 Jeff Parsons * tao/Dynamic_Adapter.cpp: In the CORBA::release methods, replaced the hard-coded string "Dynamic_Adapter" in the instantiation of the service object with the call to the string value set in the ORB core. This was causing a null pointer to be returned for the service object instance. Mon Dec 11 15:36:54 2000 Carlos O'Ryan * tao/IORTable/IORTable.pidl: * tao/IORTable/IORTable.h: * tao/IORTable/IORTable.cpp: * tao/IORTable/IOR_Table_Impl.h: * tao/IORTable/IOR_Table_Impl.cpp: * tao/IORTable/Table_Adapter.h: * tao/IORTable/Table_Adapter.cpp: Changed to conform to the doxygen documentation style. Mon Dec 11 15:30:20 2000 Carlos O'Ryan * tao/ORB.cpp: * tao/Object_KeyC.cpp: In some platforms 'byte' is a system macro. Undefine it before using it in the code. Mon Dec 11 16:26:49 2000 Yamuna Krishnamurthy * orbsvcs/tests/AVStreams/Pluggable/ftp.cpp: * orbsvcs/tests/AVStreams/Pluggable/server.cpp: * orbsvcs/tests/AVStreams/benchmark/child_process.cpp: * orbsvcs/orbsvcs/Makefile.av: Fixed compile errors. Mon Dec 11 04:31:31 2000 Marina Spivak * docs/rtcorba/index.htm * docs/rtcorba/content.htm * docs/rtcorba/status.htm: These files were added and then removed to be replaced by the ones below (in order to change .htm to .html). * docs/rtcorba/index.html * docs/rtcorba/content.html * docs/rtcorba/status.html * docs/rtcorba/issues.html * docs/rtcorba/faq.html * docs/rtcorba/omg_issues.html * docs/rtcorba/features.html * docs/rtcorba/architecture.html: New RTCORBA documentation. * tests/RTCORBA/README * docs/index.html * docs/releasenotes/index.html * docs/Options.html: Updated to reflect new files above. Sun Dec 10 14:05:35 2000 Angelo Corsaro * docs/releasenotes/index.html: Fixed link problem to the RT-CORBA documentation. Sat Dec 9 23:17:36 2000 Darrell Brunsch * orbsvcs/orbsvcs/SSLIOP.bor: * tao/TAO_Static.dsp: Recent changes to projects weren't making it to all the project/makefiles. Fri Dec 9 21:00:42 2000 Angelo Corsaro * docs/releasenotes/RTCorba.html (RTCORBA): Updated the status of the Collocation Task to completed. Fri Dec 9 15:30:42 2000 Darrell Brunsch * orbsvcs/orbsvcs/AV.dsp: * orbsvcs/orbsvcs/AV_Static.dsp: Added AV_Core.cpp and Nil.cpp. * orbsvcs/orbsvcs/AV/AV_Core.cpp: Changed to use "File.h" instead of "AV/File.h". * orbsvcs/orbsvcs/AV/Protocol_Factory.cpp: * orbsvcs/orbsvcs/AV/Protocol_Factory.h: Removed the TAO_AV_Transport_Factory since it is also in Transport.h and Transport.cpp. Sat Dec 9 07:55:40 2000 Balachandran Natarajan * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.h: Fixed some typos. This should fix the compile errors on MSVC. Fri Dec 8 19:55:40 2000 Balachandran Natarajan * orbsvcs/orbsvcs/orbsvcs.dsw: Added teh new SSLIOP files. Fri Dec 8 13:06:40 2000 Balachandran Natarajan * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Acceptor.cpp: * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Acceptor.h: * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connector.cpp: * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connector.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.i: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.h: Replicated changes that have been made to IIOP. * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connection_Handler.h: * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connection_Handler.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connection_Handler.i: New files for the connection handler. * orbsvcs/orbsvcs/Makefile.SSLIOP: Added new files and updated dependencies. * tao/IIOP_Connector.cpp: Fixed some typos in #pragma instantiation. Fri Dec 8 07:48:32 2000 Christopher Kohlhoff * tao/Makefile.bor: * tao/Strategies/Makefile.bor: Added/removed source files. Fri Dec 8 06:06:47 2000 Balachandran Natarajan * tao/GIOP_Message_Lite.cpp (process_request_message): * tao/GIOP_Message_Base.cpp: * tao/GIOP_Message_Generator_Parser.inl: * tao/GIOP_Message_Generator_Parser_12.inl: Fixed warnings in KCC. Thu Dec 07 23:15:38 2000 Marina Spivak * tests/RTCORBA/MT_Client_Protocol_Priority/client.cpp: Changed default value of protocol1 to be SHMIOP. * tests/RTCORBA/MT_Client_Protocol_Priority/README: Added test description. * tests/RTCORBA/MT_Client_Protocol_Priority/process-output.pl: Modified to provide more descriptive messages in case of errors. Thu Dec 07 22:20:12 2000 Irfan Pyarali * tao/Object.cpp (_is_a): Checking the hint of the object can be done in the CORBA::Object class before invoking the appropriate proxy implementation. The hint check is common for all implementations and not just the remote case. Therefore, the code was removed from TAO_Remote_Object_Proxy_Impl::_is_a() and moved to CORBA::Object::_is_a(). Thanks to Russell L. Carter for reporting this problem. Thu Dec 07 20:00:59 2000 Marina Spivak * tests/RTCORBA/MT_Client_Protocol_Priority/client.dsp * tests/RTCORBA/MT_Client_Protocol_Priority/server.dsp: Fixed include directory for Strategies library. Thu Dec 7 18:32:27 2000 Balachandran Natarajan * tao/DynamicInterface/DII_Reply_Dispatcher.cpp: Removed the inclusion of inline file. Thu Dec 7 17:36:47 2000 Balachandran Natarajan This set of changes aim to satisfy the demands placed for the inclusion of Bi-Dir GIOP in TAO. The fundamental problem was the way TAO's protocol layer was structured. The Connector and Acceptor's had their own connection handler and transports. Further, the connection handlers had a prior knowledge of messages that they were sending and receiving. This does not hold any more with Bi-Dir GIOP. As a first step, changes have been made so that (1) The Acceptors and Connectors make use of the same connection handler and transports (2) The connection handler and transport does not have a prior knowledge of the type of messages that they can receive or send. * tao/IIOP_Connection_Handler.h: * tao/IIOP_Connection_Handler.cpp: * tao/IIOP_Connection_Handler.i: The new TAO_IIOP_Connection_Handler class. This replaces the Server and Client connection handler classes defined in IIOP_Connect.{h,cpp,i} * tao/IIOP_Acceptor.cpp: * tao/IIOP_Acceptor.h: Removed references to the server connection handler. Replaced them with the simple connection handler classes. * tao/Connector_Impl.cpp: * tao/Connector_Impl.h: * tao/Connector_Impl.inl: Template helper classes for the connector implementation. This is similar to the classes declared and defined in Acceptor_Impl.{h,cpp,i} * tao/IIOP_Connector.cpp: * tao/IIOP_Connector.h: Used the helper classes for the connector implemenation * tao/IIOP_Endpoint.cpp: * tao/IIOP_Endpoint.h: * tao/IIOP_Endpoint.i: Removed references to the client connection handler classes. * tao/IIOP_Transport.cpp: * tao/IIOP_Transport.h: * tao/IIOP_Transport.i: Removed client and server side transports. Now, there will be only one transport which will be used by the connection handler. The methods that were declared in the server and client side transports have been merged in to this single class. * tao/Acceptor_Impl.cpp: Cache the connection during the call to activate_svc_handler (). * tao/Reply_Dispatcher.h: * tao/Synch_Reply_Dispatcher.h: * tao/Synch_Reply_Dispatcher.cpp: * tao/Asynch_Reply_Dispatcher.h: * tao/Asynch_Reply_Dispatcher.cpp: The call to dispatch_reply () had around 4 parameters. They have been changed to have only one parameter, that has all the necessary information required to handle the reply. Further, the references to GIOP_Message_State has been removed. The message state was used to have the reply that was read from the connection. But the reply dispatcher never used all the information in the message state. It only used the CDR stream in the class. We now, pass the CDR stream through the TAO_Pluggable_Reply_Params class which has other information necessary for the reply dispatcher. The asynch reply dispatcher classes will now take a pointer to the ORB_Core as a parameter. * tao/Asynch_Invocation.i: Added ORB_Core to the list of parameters that are used to construct the reply dispatcher object. * tao/Transport_Mux_Strategy.h: * tao/Muxed_TMS.h: * tao/Muxed_TMS.cpp: * tao/Exclusive_TMS.h: * tao/Exclusive_TMS.cpp: Made changes similar to the changes for reply dispatcher. Further, the memory allocation for the GIOP message state goes away. We now, create a CDR stream on the stack for every reply that we go to read. Once the reply is read, we steal the contents from the CDR stream to pass it on to the reply dispatcher. This seems to work. Moreover, the way things were done, does not seem to do what it was intended -- ie. create a message state for every thread that goes to read the reply for the Muxed_TMS case. Please see the comments in the IIOP_Transport.cpp for more information regarding this. * tao/Pluggable.cpp: * tao/Pluggable.h: * tao/Pluggable.i: Changed the name of the method handle_client_input () to read_process_message () in TAO_Transport. * tao/Pluggable_Messaging.h: * tao/Pluggable_Messaging.cpp: The interface to pluggable messaging has been totally revamped. Incorporated most of the suggestions/discussions in that file. The interface provides methods for creating, parsing and reading messages. The concrete implementations of the interface would do the bulk of the work ie. preparing message in the format required, making upcalls, maintaining states of the messages etc. The interface binds the implementations to use CDR. * tao/Pluggable_Messaging_Utils.h: * tao/Pluggable_Messaging_Utils.cpp: * tao/Pluggable_Messaging_Utils.i: Added a CDR stream to hold the stream appearing on the connection. Revamped the whole GIOP implementation. The differences between server and client side have been removed. Most of the code has been used from the GIOP_Message_Connectors, GIOP_Message_Acceptors, GIOP_Message_Accept_State classes. This should help adding Bi-Dir GIOP pretty easily. * tao/GIOP_Message_Base.h: * tao/GIOP_Message_Base.cpp: Implements all of the interfaces that are prescribed by Pluggable_Messaging interface. Delegates the responsibility of generation and parsing of version specific headers and messages to the right strategies. * tao/GIOP_Message_Generator_Parser.cpp: * tao/GIOP_Message_Generator_Parser.h: * tao/GIOP_Message_Generator_Parser.inl: A strategy class for the generation of GIOP headers and messages. * tao/GIOP_Message_Generator_Parser_10.cpp: * tao/GIOP_Message_Generator_Parser_10.h: * tao/GIOP_Message_Generator_Parser_10.inl: A concrete strategy for GIOP v1.0. * tao/GIOP_Message_Generator_Parser_11.cpp: * tao/GIOP_Message_Generator_Parser_11.h: * tao/GIOP_Message_Generator_Parser_11.inl: A concrete strategy for GIOP v1.1. * tao/GIOP_Message_Generator_Parser_12.cpp: * tao/GIOP_Message_Generator_Parser_12.h: * tao/GIOP_Message_Generator_Parser_12.inl: A concrete strategy for GIOP v1.2. * tao/GIOP_Message_Generator_Parser_Impl.cpp: * tao/GIOP_Message_Generator_Parser_Impl.h: * tao/GIOP_Message_Generator_Parser_Impl.inl: A place holder class that creates all the GIOP version specific objects on the stack. * tao/GIOP_Message_Locate_Header.cpp: * tao/GIOP_Message_Locate_Header.h: * tao/GIOP_Message_Locate_Header.i: Changed the name of the file GIOP_Message_Headers to GIOP_Message_Loacte_Header. * tao/GIOP_Message_Lite.cpp: * tao/GIOP_Message_Lite.h: * tao/GIOP_Message_Lite.i: Made the changes to suit the new interface specified by the Pluggable_Messaging. * tao/GIOP_Message_State.h: * tao/GIOP_Utils.h: Addressed some of the comments. * tao/TAO_Server_Request.cpp * tao/TAO_Server_Request.h: Made changes to suit the interface of the Pluggable_Messaging class. * tao/Wait_On_Read.cpp: Changed the call handle_client_input () on the transport to read_process_message (). * tao/IIOP_Connect.h: * tao/IIOP_Connect.cpp: * tao/GIOP_Message_Acceptors.h: * tao/GIOP_Message_Acceptors.cpp: * tao/GIOP_Message_Acceptors.i: * tao/GIOP_Message_Connectors.h: * tao/GIOP_Message_Connectors.cpp: * tao/GIOP_Message_Connectors.i: These files are removed from the repository. * tao/Invocation.cpp: Included a header. * tao/Wait_Strategy.h: Changed a comment. * tao/Makefile: Added new files and removed old ones. * tao/Strategies/SHMIOP_Acceptor.h: * tao/Strategies/SHMIOP_Acceptor.cpp * tao/Strategies/SHMIOP_Connection_Handler.cpp * tao/Strategies/SHMIOP_Connection_Handler.h * tao/Strategies/SHMIOP_Connection_Handler.inl * tao/Strategies/SHMIOP_Connector.cpp: * tao/Strategies/SHMIOP_Connector.h: * tao/Strategies/SHMIOP_Endpoint.cpp: * tao/Strategies/SHMIOP_Endpoint.h: * tao/Strategies/SHMIOP_Endpoint.i: * tao/Strategies/SHMIOP_Transport.cpp: * tao/Strategies/SHMIOP_Transport.h: * tao/Strategies/SHMIOP_Transport.i: * tao/Strategies/UIOP_Acceptor.h: * tao/Strategies/UIOP_Acceptor.cpp * tao/Strategies/UIOP_Connection_Handler.cpp * tao/Strategies/UIOP_Connection_Handler.h * tao/Strategies/UIOP_Connection_Handler.inl * tao/Strategies/UIOP_Connector.cpp: * tao/Strategies/UIOP_Connector.h: * tao/Strategies/UIOP_Endpoint.cpp: * tao/Strategies/UIOP_Endpoint.h: * tao/Strategies/UIOP_Endpoint.i: * tao/Strategies/UIOP_Transport.cpp: * tao/Strategies/UIOP_Transport.h: * tao/Strategies/UIOP_Transport.i: All changes to IIOP were replicated for both SHMIOP and UIOP. * tao/Strategies/TAO_Strategies.dsp: Added the new files. * tao/TAO.dsp * tao/TAO_Static.dsp: Added new files and remove old ones. * tao/DynamicInterface/DII_Invocation.inl: * tao/DynamicInterface/DII_Reply_Dispatcher.cpp: * tao/DynamicInterface/DII_Reply_Dispatcher.h: Replicated changes done in the Asynch_invocation and Asynch_Reply_Dispatcher classes. * tao/DII Request.cpp: Added a header. * tao/*/Makefile: * */Makefile:Updated dependencies. Thu Dec 7 19:48:42 2000 Yamuna Krishnamurthy * orbsvcs/tests/AVStreams/Latency/control.cpp: * orbsvcs/tests/AVStreams/Latency/pong.cpp: * orbsvcs/tests/AVStreams/Latency/ping.cpp: * orbsvcs/tests/AVStreams/Multicast_Full_Profile/server.cpp: * orbsvcs/tests/AVStreams/Multicast_Full_Profile/server.h: * orbsvcs/tests/AVStreams/Multicast_Full_Profile/ftp.cpp: * orbsvcs/tests/AVStreams/Multicast_Full_Profile/ftp.h: * orbsvcs/tests/AVStreams/Multicast/server.cpp: * orbsvcs/tests/AVStreams/Multicast/server.h: * orbsvcs/tests/AVStreams/Multicast/ftp.cpp: * orbsvcs/tests/AVStreams/Multicast/ftp.h: * orbsvcs/tests/AVStreams/Pluggable/server.cpp: * orbsvcs/tests/AVStreams/Pluggable/server.h: * orbsvcs/tests/AVStreams/Pluggable/ftp.cpp: * orbsvcs/tests/AVStreams/Pluggable/ftp.h: * orbsvcs/tests/AVStreams/Full_Profile/ftp.cpp: * orbsvcs/tests/AVStreams/Full_Profile/ftp.h: * orbsvcs/tests/AVStreams/Full_Profile/server.cpp: * orbsvcs/tests/AVStreams/Full_Profile/server.h: * orbsvcs/tests/AVStreams/benchmark/client.cpp: * orbsvcs/tests/AVStreams/benchmark/client.h: * orbsvcs/tests/AVStreams/benchmark/server.cpp: * orbsvcs/tests/AVStreams/benchmark/server.h: * orbsvcs/tests/AVStreams/benchmark/child.cpp: * orbsvcs/tests/AVStreams/benchmark/child.h: * orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.cpp: * orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.h: * orbsvcs/orbsvcs/AV/AV_Core.h: Removed the use of ORB_Manager * orbsvcs/orbsvcs/AV/AV_Core.cpp: Moved the TAO_AV_Core class definitions to the newly added AV_Core.cpp * orbsvcs/orbsvcs/AV/Transport.i: * orbsvcs/orbsvcs/AV/Transport.cpp: * orbsvcs/orbsvcs/AV/Transport.h: Moved the TAO_AV_Core class definitions to AV_Core.cpp Thu Dec 7 11:59:28 2000 Priyanka Gontla * tests/Strategies/simple_test.idl: * tests/Strategies/client.cpp: * tests/Strategies/server.cpp: * tests/Strategies/simple_test_i.h: * tests/Strategies/simple_test_i.i: * tests/Strategies/simple_test_i.cpp: * tests/Strategies/Makefile : * tests/Strategies/svc.conf: * tests/Strategies/advanced_svc.conf: * tests/Strategies/README: Moved the test that shows the ways to load default and advanced strategies to the correct place. * tao/Strategies/tests/simple_test.idl: * tao/Strategies/tests/client.cpp: * tao/Strategies/tests/server.cpp: * tao/Strategies/tests/simple_test_i.h: * tao/Strategies/tests/simple_test_i.i: * tao/Strategies/tests/simple_test_i.cpp: * tao/Strategies/tests/Makefile : * tao/Strategies/tests/svc.conf: * tao/Strategies/tests/advanced_svc.conf: * tao/Strategies/tests/README: Removed. Thu Dec 7 11:44:14 2000 Darrell Brunsch * tests/RTCORBA/MT_Client_Protocol_Priority/client.bor: * tests/RTCORBA/MT_Client_Protocol_Priority/client.dsp: * tests/RTCORBA/MT_Client_Protocol_Priority/server.bor: * tests/RTCORBA/MT_Client_Protocol_Priority/server.dsp: Added linking to TAO_Strategies library. Thu Dec 7 13:45:29 2000 Jeff Parsons * tao/DynamicAny/DynAny_i.cpp: Cosmetic changes. * tao/DynamicAny/DynArray_i.cpp: * tao/DynamicAny/DynEnum_i.cpp: * tao/DynamicAny/DynSequence_i.cpp: * tao/DynamicAny/DynStruct_i.cpp: * tao/DynamicAny/DynUnion_i.cpp: Fixed a bug in _tao_QueryInterface(). The last line was making a call to DynAny::_tao_QueryInterface() instead of the override in the immediate base class. Thanks to Michael Rushton for reporting the failure of DynStruct::_narrow(), which led to this discovery. * tao/DynamicAny/DynamicAnyC.cpp: * tao/DynamicAny/DynamicAnyC.h: * tao/DynamicAny/DynamicAnyC.i: * tao/DynamicAny/diffs/DynamicAnyC.cpp.diff: * tao/DynamicAny/diffs/DynamicAnyC.h.diff: * tao/DynamicAny/diffs/DynamicAnyC.i.diff: Regenerated the stub files updated the diff files. Thu Dec 7 03:01:02 2000 Darrell Brunsch * TAO_IDL/TAO_IDL_BE_LIB.dsp: * TAO_IDL/TAO_IDL_FE_LIB.dsp: * TAO_IDL/tao_idl_static.dsp: Disabled precompiled headers Thu Dec 7 03:04:51 2000 Marina Spivak * tests/RTCORBA/MT_Client_Protocol_Priority/README * tests/RTCORBA/MT_Client_Protocol_Priority/client.cpp * tests/RTCORBA/MT_Client_Protocol_Priority/process-output.pl * tests/RTCORBA/MT_Client_Protocol_Priority/run_test.pl * tests/RTCORBA/MT_Client_Protocol_Priority/server.conf * tests/RTCORBA/MT_Client_Protocol_Priority/server.cpp * tests/RTCORBA/README: Added perl script which processes test output and reports any errors to the user. Other fixes and enhancements, e.g., number of iterations can be specified on the command-line, etc. * tao/IIOP_Connect.cpp * tao/Strategies/SHMIOP_Connect.cpp * tao/Strategies/UIOP_Connect.cpp * tao/PortableServer/Object_Adapter.cpp: Debug messages. Wed Dec 6 23:52:48 2000 Pradeep Gore * orbsvcs/orbsvcs/Notify/Notify_ProxyConsumer_T.cpp: The method was creating a "event listener" task instead of a "event source" task. This was causing the cmd line options to break. * orbsvcs/Notify_Service/Notify_Service.{h.cpp}: Added a new option to specify worker threads when the Notify Service is run with a TP reactor. * orbsvcs/Notify_Service/README: Updated the usage section to show how the "-Notify_TPReactor"option. * orbsvcs/orbsvcs/Notify/README: Updated with some explaination of the various MT options for the Notify. Thanks to Sarabjeet Duhra for reporting the problem with the -MTListenerEval option Wed Dec 6 16:20:36 2000 Darrell Brunsch * tests/Faults/Faults.dsw: * tests/Faults/middle.dsp: (added) Added missing project. * examples/Buffered_AMI/client.dsp: * examples/Buffered_AMI/server.dsp: * examples/Load_Balancing_persistent/client.dsp: * examples/Load_Balancing_persistent/server.dsp: * examples/Load_Balancing_persistent/service.dsp: * orbsvcs/Event_Service/Event_Service_static.dsp: * orbsvcs/examples/RtEC/MCast/MCast.dsp: * orbsvcs/examples/RtEC/Simple/EC_Simple_Consumer.dsp: * orbsvcs/examples/RtEC/Simple/EC_Simple_Service.dsp: * orbsvcs/examples/RtEC/Simple/EC_Simple_Supplier.dsp: * orbsvcs/tests/CosEvent/Basic/Disconnect.dsp: * orbsvcs/tests/CosEvent/Basic/MT_Disconnect.dsp: * orbsvcs/tests/CosEvent/Basic/Pull_Push_Event.dsp: * orbsvcs/tests/CosEvent/Basic/Push_Event.dsp: * orbsvcs/tests/CosEvent/Basic/Random.dsp: * orbsvcs/tests/CosEvent/Basic/Shutdown.dsp: * orbsvcs/tests/CosEvent/lib/CECTest.dsp: * orbsvcs/tests/LoadBalancing/client.dsp: * orbsvcs/tests/LoadBalancing/server.dsp: * tests/AMI/AMI_Test_Simple_Client.dsp: * tests/Exposed_Policies/Client.dsp: * tests/Exposed_Policies/Server.dsp: * tests/Leader_Followers/client.dsp: * tests/Leader_Followers/server.dsp: * tests/Nested_Event_Loop/client.dsp: * tests/Nested_Event_Loop/server.dsp: * tests/Object_Loader/Test_DLL.dsp: Disabled precompiled headers Wed Dec 6 18:02:05 2000 Jeff Parsons * TAO_IDL/be/be_visitor_interface/interface_ch.cpp: Small change to keep the indentation from growing and growing in long IDL files. Wed Dec 6 17:06:17 2000 Jeff Parsons * TAO_IDL/be/be_visitor_operation/rettype.cpp: * TAO_IDL/be/be_visitor_argument/arglist.cpp: * tao/corbafwd.h: Fixed code generation for CORBA::TCKind as an argument or a return type. We were adding '_ptr' to the scoped name. This fix also involved adding 'typedef TCKind &TCKind_out' to corbafwd.h, the same as would be generated for an IDL enum. Wed Dec 6 14:32:07 2000 Jeff Parsons * tao/Asynch_Invocation.cpp * tao/Asynch_Invocation.h * tao/Asynch_Invocation.i * tao/Asynch_Reply_Dispatcher.cpp * tao/Asynch_Reply_Dispatcher.h * tao/Asynch_Reply_Dispatcher.i * tao/Dynamic_Adapter.cpp * tao/Dynamic_Adapter.h * tao/NVList.cpp * tao/NVList.h * tao/Object.cpp * tao/Object.h * tao/corbafwd.h * tao/DynamicInterface/Context.cpp * tao/DynamicInterface/Context.h * tao/DynamicInterface/DII_Invocation.cpp * tao/DynamicInterface/DII_Invocation.h * tao/DynamicInterface/DII_Reply_Dispatcher.cpp * tao/DynamicInterface/DII_Reply_Dispatcher.h * tao/DynamicInterface/Dynamic_Adapter_Impl.cpp * tao/DynamicInterface/Dynamic_Adapter_Impl.h * tao/DynamicInterface/Dynamic_Implementation.cpp * tao/DynamicInterface/Dynamic_Implementation.h * tao/DynamicInterface/ExceptionList.cpp * tao/DynamicInterface/ExceptionList.h * tao/DynamicInterface/Request.cpp * tao/DynamicInterface/Request.h * tao/DynamicInterface/Server_Request.cpp * tao/DynamicInterface/Server_Request.h Removed #if (TAO_HAS_MINIMUM_CORBA == 0) guards from code pertaining to DII or DSI in these files. * tao/RT_ORBInitializer.h Added #if TAO_HAS_RT_CORBA == 1 guard to this file to correspond with a similar guard in the .cpp file. * tao/Messaging_Policy_i.cpp Added #if (TAO_HAS_RELATIVE_ROUNDTRIP_TIMEOUT_POLICY == 1) guard to this file to correspond with a similar guard in the .h file. Wed Dec 6 14:13:26 2000 Jeff Parsons * tao/DynamicAny/DynEnum_i.cpp: Fixed init() method, which tried to make a call on the DynEnum's typecode member before it had been initialized. * tao/DynamicAny/DynArray_i.cpp: * tao/DynamicAny/DynSequence_i.cpp: * tao/DynamicAny/DynUnion_i.cpp: Cosmetic changes and/or removed unused ACE_TRY block. Wed Dec 6 01:17:17 2000 Marina Spivak * tests/RTCORBA/Banded_Connections/server.conf * tests/RTCORBA/Server_Protocol/server_reverse.conf * tests/RTCORBA/Server_Protocol/server_reverse_nt.conf: * tests/RTCORBA/Banded_Connections/README * tests/RTCORBA/Banded_Connections/run_test.pl * tests/RTCORBA/Client_Propagated/run_test.pl * tests/RTCORBA/Client_Protocol/run_test.pl * tests/RTCORBA/Server_Protocol/run_test.pl: Updated. * tests/RTCORBA/Banded_Connections/client.conf * tests/RTCORBA/Client_Protocol/client_nt.conf * tests/RTCORBA/Client_Protocol/svc.conf * tests/RTCORBA/Client_Protocol/svc_nt.conf * tests/RTCORBA/Client_Protocol/svc_unix.conf * tests/RTCORBA/Server_Protocol/client_nt.conf * tests/RTCORBA/Server_Protocol/server.conf * tests/RTCORBA/Server_Protocol/server_nt.conf * tests/RTCORBA/Server_Protocol/server_uiop.conf * tests/RTCORBA/Server_Protocol/svc.conf: Removed. Cleaned up RTCORBA tests after Priyanka's Strategy library-related changes: removed unnecessary config files, modified perl scripts to not use them. Tue Dec 5 19:56:09 2000 Jeff Parsons * tao/ORB_Core.h: * tao/ORB_Core.cpp: * tao/Object.cpp: * tao/DynamicInterface/Dynamic_Adapter_Impl.cpp: Added static const char* dynamic_adapter_name_ to TAO_ORB_Core, along with set and get methods. The get method is used in the CORBA::Object methods that create DII requests, and the set method is used in the static initializer in TAO_Dynamic_Adapter_Impl. These changes will make sure the TAO_DynamicInterface library will be build even on pure static builds. Thanks to Carlos for his help with this fix. Tue Dec 5 19:39:48 2000 Jeff Parsons * tao/InterfaceC.i: * tao/diffs/InterfaceC.i.diff: Replaced missing 'TAO_Export' macros on declarations of sequence CDR operators in the inline file used when __ACE_INLINE__ is defined, and removed #if !defined guards and extra CDR operator declarations. Also updated diff file. This fixes link errors in IFR_Service for the release build on Win32. Tue Dec 5 15:47:23 2000 Marina Spivak * tao/IIOP_Profile.h (encode_endpoints) * tao/IIOP_Profile.cpp (encode_endpoints) * tao/Strategies/UIOP_Profile.h (encode_endpoints) * tao/Strategies/UIOP_Profile.cpp (encode_endpoints) * tao/Strategies/SHMIOP_Profile.h (encode_endpoints) * tao/Strategies/SHMIOP_Profile.cpp (encode_endpoints) * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Profile.h (encode_endpoints) * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Profile.cpp (encode_endpoints) * tao/PortableServer/RT_Acceptor_Filters.cpp (fill_mprofile): Added error checking. Tue Dec 5 15:07:45 2000 Marina Spivak * tao/Policy_Manager.h * tao/Policy_Manager.cpp: All policy accessors in TAO_Policy_Manager now use double-checked locking. This should significantly improve performance on the critical path. Tue Dec 5 14:16:38 2000 Jeff Parsons * TAO_IDL/be/be_visitor_operation/ami_handler_reply_stub_operation_cs.cpp: Removed use of '_var_type' in generated code for the exception holder. This typedef is intended for use with template programming, which is not the case here. In addition, old g++ does not see the typedef since the compiler does not scope it properly. Tue Dec 5 12:57:33 2000 Ossama Othman * tests/Portable_Interceptors/Benchmark/server.cpp (main): * tests/Portable_Interceptors/Dynamic/server.cpp (main): * tests/Portable_Interceptors/Service_Context_Manipulation/server.cpp (main): Activate the POA before attempting to narrow an object reference. This fixes a problem where a CORBA::TRANSIENT() exception was being thrown. Tue Dec 5 11:40:28 2000 Ossama Othman * docs/releasenotes/index.html: Added a tentative schedule/TODO list for TAO's CORBA Security Service. Tue Dec 5 11:18:14 2000 Jeff Parsons * tao/DynamicInterface/TAO_DynamicInterface.dsp: * tao/DynamicAny/TAO_DynamicAny.dsp: * tao/PortableServer/TAO_PortableServer.dsp: * tao/IORTable/TAO_IORTable.dsp: * orbsvcs/orbsvcs/CosNaming.dsp: Set some overlooked values in the MFC versions of these projects. Thanks to John Morey for reporting them. Tue Dec 5 10:49:07 2000 Jeff Parsons * tests/Smart_Proxies/client.dsp: Set some overlooked values in the release version. Mon Dec 4 18:11:01 2000 Marina Spivak * tao/IIOP_Acceptor.cpp * tao/Strategies/UIOP_Acceptor.cpp: Fixed comments. Mon Dec 4 17:36:22 2000 Marina Spivak * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Profile.h * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Profile.cpp: Same as the change below. Mon Dec 4 15:58:47 2000 Marina Spivak * tao/IIOP_Profile.h * tao/IIOP_Profile.cpp * tao/Strategies/UIOP_Profile.h * tao/Strategies/UIOP_Profile.cpp * tao/Strategies/SHMIOP_Profile.h * tao/Strategies/SHMIOP_Profile.cpp: Added error checks in and methods. For efficiency, is now called onlywith RTCORBA. * tao/IIOP_Endpoint.cpp (duplicate): Added comment. Mon Dec 4 13:04:55 2000 Marina Spivak * tao/Invocation.h * tao/Invocation.cpp (create_ior_info): Updated the method to return proper index of the profile being used for the Invocation even when RTCORBA policies are used. In other words, TAO_Target_Specification::Reference_Addr scheme now works with RTCORBA policies. Sun Dec 3 00:21:09 2000 Christopher Kohlhoff * tao/Makefile.bor: Removed reference to Smart_Proxies.obj. Sat Dec 2 22:55:38 2000 Marina Spivak * tao/ORB_Core.cpp (set_default_policies): Use TAO_Protocol_Properties_Factory to initialize transport properties instead of replicating its logic. * tao/Invocation_Endpoint_Selectors.h: Added class and methods descriptions. Sat Dec 2 18:19:37 2000 Christopher Kohlhoff * tao/SmartProxies/Makefile.bor: Fixed link error. * examples/Borland/build_idl.bat: * examples/Borland/ChatClient.bpr: * examples/Borland/ChatClient.cpp: * examples/Borland/ChatClientWnd.cpp: * examples/Borland/ChatClientWnd.dfm: * examples/Borland/ChatClientWnd.h: * examples/Borland/ORBThread.cpp: * examples/Borland/ORBThread.h: * examples/Borland/ReceiverImpl.cpp: Fixed up build errors in Borland example, changed to run ORB in a separate thread. Sat Dec 2 16:15:04 2000 Jeff Parsons * TAOACE.dsw: This was left out of a previous checkin. Fri Dec 1 13:16:10 2000 Jeff Parsons Sat Dec 2 00:23:10 2000 Marina Spivak * tests/RTCORBA/Explicit_Binding/Makefile: Updated dependencies. Fri Dec 01 23:00:32 2000 Marina Spivak * tests/RTCORBA/Explicit_Binding/Explicit_Binding.dsw * tests/RTCORBA/Explicit_Binding/Makefile * tests/RTCORBA/Explicit_Binding/Makefile.bor * tests/RTCORBA/Explicit_Binding/README * tests/RTCORBA/Explicit_Binding/client.bor * tests/RTCORBA/Explicit_Binding/client.cpp * tests/RTCORBA/Explicit_Binding/client.dsp * tests/RTCORBA/Explicit_Binding/run_test.pl * tests/RTCORBA/Explicit_Binding/server.bor * tests/RTCORBA/Explicit_Binding/server.cpp * tests/RTCORBA/Explicit_Binding/server.dsp * tests/RTCORBA/Explicit_Binding/test.idl * tests/RTCORBA/README * tests/RTCORBA/Makefile * tests/RTCORBA/Makefile.bor * tests/RTCORBA/RTCORBA_tests.dsw: Added a test for . * tests/RTCORBA/Private_Connection/run_test.pl: Modified script to delete old ior files before starting. * tao/Invocation.cpp * tao/Invocation.i * tao/Invocation.h * tao/Invocation_Endpoint_Selectors.cpp * tao/Invocation_Endpoint_Selectors.h * tao/Stub.cpp (validate_connection): Modified to work with RTCORBA policies and to populate parameter. Fri Dec 1 19:05:22 2000 Jeff Parsons * orbsvcs/tests/InterfaceRepo/Persistence_Test/Ptest.cpp: Replaced ACE_TRY_NEW_ENV with ACE_DELCARE_NEW_CORBA_ENV followed by ACE_TRY, which got rid of an egcs warning. Fri Dec 1 17:10:27 2000 Jeff Parsons * orbsvcs/IFR_Service/tmplinst.cpp: Changed explicit instantiation of auto_ptr to ACE_Auto_Basic_Ptr, to reflect the recent change in ConstantDef_i.cpp. Fri Dec 1 15:09:06 2000 Carlos O'Ryan * performance-tests/Latency/multi_threaded.pl: New driver script, it performs the basic test with a multi-thread-safe configuration. It is good to compare the results from single_threaded.pl * performance-tests/Latency/client.cpp: Work around [BUGID:189], the ORB rejects multiple simulatenous requests. After much exploration we found out that it is actually the kernel what rejects the requests, and not the ORB. Maybe we need to find a workaround for that problem, meanwhile the workaround in this change works quite nicely, and it is actually a better approach for what we really want to test here. Fri Dec 1 16:24:51 2000 Jeff Parsons * orbsvcs/IFR_Service/AliasDef_i.cpp: * orbsvcs/IFR_Service/AliasDef_i.h: * orbsvcs/IFR_Service/ArrayDef_i.cpp: * orbsvcs/IFR_Service/ArrayDef_i.h: * orbsvcs/IFR_Service/AttributeDef_i.cpp: * orbsvcs/IFR_Service/AttributeDef_i.h: * orbsvcs/IFR_Service/ComponentDef_i.cpp: * orbsvcs/IFR_Service/ComponentDef_i.h: * orbsvcs/IFR_Service/ComponentRepository_i.cpp: * orbsvcs/IFR_Service/ComponentRepository_i.h: * orbsvcs/IFR_Service/ConstantDef_i.cpp: * orbsvcs/IFR_Service/ConstantDef_i.h: * orbsvcs/IFR_Service/ConsumesDef_i.cpp: * orbsvcs/IFR_Service/ConsumesDef_i.h: * orbsvcs/IFR_Service/Contained_i.cpp: * orbsvcs/IFR_Service/Contained_i.h: * orbsvcs/IFR_Service/Container_i.cpp: * orbsvcs/IFR_Service/Container_i.h: * orbsvcs/IFR_Service/EmitsDef_i.cpp: * orbsvcs/IFR_Service/EmitsDef_i.h: * orbsvcs/IFR_Service/EnumDef_i.cpp: * orbsvcs/IFR_Service/EnumDef_i.h: * orbsvcs/IFR_Service/EventDef_i.cpp: * orbsvcs/IFR_Service/EventDef_i.h: * orbsvcs/IFR_Service/ExceptionDef_i.cpp: * orbsvcs/IFR_Service/ExceptionDef_i.h: * orbsvcs/IFR_Service/FactoryDef_i.cpp: * orbsvcs/IFR_Service/FactoryDef_i.h: * orbsvcs/IFR_Service/FinderDef_i.cpp: * orbsvcs/IFR_Service/FinderDef_i.h: * orbsvcs/IFR_Service/FixedDef_i.cpp: * orbsvcs/IFR_Service/FixedDef_i.h: * orbsvcs/IFR_Service/HomeDef_i.cpp: * orbsvcs/IFR_Service/HomeDef_i.h: * orbsvcs/IFR_Service/IDLType_i.h: * orbsvcs/IFR_Service/IFR_Service.cpp: * orbsvcs/IFR_Service/IFR_Service.h: * orbsvcs/IFR_Service/IRObject_i.h: * orbsvcs/IFR_Service/InterfaceDef_i.cpp: * orbsvcs/IFR_Service/InterfaceDef_i.h: * orbsvcs/IFR_Service/ModuleDef_i.cpp: * orbsvcs/IFR_Service/ModuleDef_i.h: * orbsvcs/IFR_Service/NativeDef_i.cpp: * orbsvcs/IFR_Service/NativeDef_i.h: * orbsvcs/IFR_Service/OperationDef_i.cpp: * orbsvcs/IFR_Service/OperationDef_i.h: * orbsvcs/IFR_Service/PrimaryKeyDef_i.cpp: * orbsvcs/IFR_Service/PrimaryKeyDef_i.h: * orbsvcs/IFR_Service/PrimitiveDef_i.cpp: * orbsvcs/IFR_Service/PrimitiveDef_i.h: * orbsvcs/IFR_Service/ProvidesDef_i.cpp: * orbsvcs/IFR_Service/ProvidesDef_i.h: * orbsvcs/IFR_Service/PublishesDef_i.cpp: * orbsvcs/IFR_Service/PublishesDef_i.h: * orbsvcs/IFR_Service/Repository_i.cpp: * orbsvcs/IFR_Service/Repository_i.h: * orbsvcs/IFR_Service/SequenceDef_i.cpp: * orbsvcs/IFR_Service/SequenceDef_i.h: * orbsvcs/IFR_Service/Servant_Factory.cpp: * orbsvcs/IFR_Service/Servant_Factory.h: * orbsvcs/IFR_Service/StringDef_i.cpp: * orbsvcs/IFR_Service/StringDef_i.h: * orbsvcs/IFR_Service/StructDef_i.cpp: * orbsvcs/IFR_Service/StructDef_i.h: * orbsvcs/IFR_Service/TypedefDef_i.cpp: * orbsvcs/IFR_Service/TypedefDef_i.h: * orbsvcs/IFR_Service/UnionDef_i.cpp: * orbsvcs/IFR_Service/UnionDef_i.h: * orbsvcs/IFR_Service/UsesDef_i.cpp: * orbsvcs/IFR_Service/UsesDef_i.h: * orbsvcs/IFR_Service/ValueBoxDef_i.cpp: * orbsvcs/IFR_Service/ValueBoxDef_i.h: * orbsvcs/IFR_Service/ValueDef_i.cpp: * orbsvcs/IFR_Service/ValueDef_i.h: * orbsvcs/IFR_Service/ValueMemberDef_i.cpp: * orbsvcs/IFR_Service/ValueMemberDef_i.h: * orbsvcs/IFR_Service/WstringDef_i.cpp: * orbsvcs/IFR_Service/WstringDef_i.h: * orbsvcs/IFR_Service/tmplinst.cpp: Removed use of IR namespace in scoped names, and used flat names instead, in preparation for future move of IfR classes to the CORBA namespace, as dictated by CORBA 2.4. Fri Dec 1 15:37:31 2000 Jeff Parsons * tao/InterfaceC.i: * tao/diffs/InterfaceC.i.diff: Changes to flat name of sequence base classes, caught by Sun egcs. Fri Dec 1 15:15:22 2000 Jeff Parsons * tao/InterfaceC.i: * tao/diffs/InterfaceC.i.diff: Removed the use of the scoped name for IRObject_var and IRObject_out constructors and destructor, and used the flat name instead. Error reported by Sun egcs compiler. Fri Dec 1 14:44:25 2000 Jeff Parsons * tao/corbafwd.h: * tao/ifrfwd.h: * tao/InterfaceC.h: * tao/diffs/InterfaceC.h.diff: Had to move enum definitions from InterfaceC.h to corbafwd.h, and #inlucde corbafwd.h in ifrfwd.h, to make sunCC happy. Fri Dec 1 13:16:10 2000 Jeff Parsons * tao/InterfaceC.h: * tao/InterfaceC.i: * tao/InterfaceC.cpp: * tao/ifrfwd.h: Removed use of IR namespace, as preparation for moving IfR code to the CORBA namespace in the future, regenerated files with the new collocation scheme, and removed code for smart proxies. * tao/Interface.pidl: Removed TypeCodeFactory declarations. Now this file can be regenerated without IDL compile errors. * tao/PortableServer/POA_CORBA.h: Updated code for CORBA::IRObject to reflect the new collocation scheme. * orbsvcs/IFR_Service/InterfaceS.h: * orbsvcs/IFR_Service/InterfaceS.cpp: * orbsvcs/IFR_Service/InterfaceS_T.i: Regenerated files with the new collocation scheme, and removed use of IR namespace. * orbsvcs/tests/InterfaceRepo/IFR_Test/Admin_CLient.cpp: * orbsvcs/tests/InterfaceRepo/IFR_Test/Admin_CLient.h: * orbsvcs/tests/InterfaceRepo/Persistence_Test/Ptest.cpp: * orbsvcs/tests/InterfaceRepo/Persistence_Test/Ptest.h: Removed use of IR namespace. * tao/Stub.h: Removed enum TAO_Param_Type because it isn't used and because its members conflict with those of IR_ParameterMode. * tao/TAO.dsp: * tao/TAO_Static.dsp: * tao/Makefile: * tao/Makefile.bor: * tao/Makefile.am: * tao/Smart_Proxies.cpp: * tao/Smart_Proxies.i: * tao/Smart_Proxies.h: Removed the source files from the directory and updated the projects and makefiles. * tao/corba.h: Removed inclusion of Smart_Proxy.h. * tao/MessagingC.cpp: * tao/MessagingC.i: * tao/MesssagingC.h: Removed smart proxy code. * TAO_IDL/be/be_codegen.cpp: * TAO_IDL/be/be_global.cpp: Made generation of smart proxy code dependent only on the command line -Gsp option, and not also on TAO_HAS_SMART_PROXIES as before. Also added generation of '#include tao/SmartProxies/Smart_Proxy.h' with the option. * tao/orbconf.h: Removed the TAO_HAS_SMART_PROXIES macro. * tao/SmartProxies/Smart_Proxies.cpp: * tao/SmartProxies/Smart_Proxies.inl: * tao/SmartProxies/Smart_Proxies.h: * tao/SmartProxies/smartproxy_export.h: * tao/SmartProxies/SmartProxies.dsp: * tao/SmartProxies/Makefile: * tao/SmartProxiess/Makefile.bor: Added these files to the new smart proxies library. * tests/Smart_Proxies/Makefile: * tests/Smart_Proxies/client.dsp: * tests/Smart_Proxies/server.dsp: * tests/Smart_Proxies/Benchmark/Makefile: * tests/Smart_Proxies/Collocation/Coll_Test_Stubs.bor: * tests/Smart_Proxies/Collocation/Coll_Test_Stubs.dsp: * tests/Smart_Proxies/Collocation/Collocation.dsp: * tests/Smart_Proxies/Collocation/Diamond.dsp: * tests/Smart_Proxies/On_Demand/Makefile: * tests/Smart_Proxies/Policy/Makefile: Modified these files to link to the new library. * tao/diffs/InterfaceC.h.diff: * tao/diffs/InterfaceC.h.diff: * tao/diffs/InterfaceC.h.diff: * tao/orbsvcs/IFR_Service/diffs/InterfaceS.h.diff: * tao/orbsvcs/IFR_Service/diffs/InterfaceS.cpp.diff: * tao/orbsvcs/IFR_Service/diffs/InterfaceS_T.i.diff: Added these diff files for regenerating files from Interface.pidl. Fri Dec 1 09:31:28 2000 Carlos O'Ryan * utils/wxNamingViewer/Makefile: * utils/wxNamingViewer/mondrian.xpm: * utils/wxNamingViewer/wxNamingObject.cpp: * utils/wxNamingViewer/wxNamingTree.h: * utils/wxNamingViewer/wxNamingTree.cpp: * utils/wxNamingViewer/wxNamingViewer.cpp: * utils/wxNamingViewer/wxNamingViewerFrame.cpp: * utils/wxNamingViewer/wxSelectNSDialog.cpp: Got it to compile and run under Linux with wxGTK (the GTK version of wxWindows). It crashes sometimes and the fonts are way too small, but it is a good start. Fri Dec 1 09:15:56 2000 Carlos O'Ryan * orbsvcs/orbsvcs/Event/EC_ProxySupplier.h: * orbsvcs/orbsvcs/Event/EC_ProxySupplier.i: Use _duplicate() to return the consumer connected to the ProxyPushSupplier. It used to be the case that this method was invoked in the critical path, where the locking overhead of calling _duplicate() was excessive. But the method is not used anymore, so using the standard CORBA memory management rules is a better idea. Thanks to Paul Calabrese for pointing this out. Thu Nov 30 22:51:34 2000 pradeep@cs.wustl.edu * TAO version 1.1.11 released. Thu Nov 30 20:05:35 2000 Marina Spivak * tests/RTCORBA/Private_Connection/run_test.pl: Fixed the script to unlink ior files at the end. This fixes TRANSIENT exception in builds where ior files from previous runs weren't cleaned up. Wed Nov 29 23:55:37 2000 Pradeep Gore * orbsvcs/tests/Notify/performance-tests/Throughput/Throughput.cpp: * orbsvcs/orbsvcs/Notify/Notify_EventChannel_i.cpp: Fixed link errors due to multiple template instantiations. * orbsvcs/orbsvcs/FaultTolerance/FT_IOGR_Property.cpp: Changed to throw TAO_IOP::NotFound () instead of Invalid_IOR () Wed Nov 29 17:59:10 2000 Pradeep Gore * examples/Load_Balancing_persistent/Load_Balancer_i.cpp: Fixed more link errors re. template instantiation. Wed Nov 29 09:19:38 2000 Carlos O'Ryan * tests/NestedUpcall/Triangle_Test/run_test.pl: The test hanged if the server_A was started but server_B crashed. Wed Nov 29 09:00:22 2000 Carlos O'Ryan * orbsvcs/tests/Event/lib/Makefile: Reverted my change to this file. While trying to fix the gcc-2.7.2 builds I broke all the other platforms . Fortunately there is no need to disable this directory under gcc-2.7.2, it compiles just fine, so even though the library would not be usable in those platforms (because the tests fail to link), we can just ignore the problem in this Makefile, until I can figure out how to disable a library compilation under old versions of gcc, without breaking other platforms. Tue Nov 28 15:56:01 2000 Carlos O'Ryan * examples/Load_Balancing/Makefile: * examples/Load_Balancing_persistent/Makefile: * examples/Logging/Makefile: * examples/POA/Generic_Servant/Makefile: * performance-tests/RTCorba/Multiple_Endpoints/Common/Makefile: * tests/Exposed_Policies/Makefile: Don't use override with TAO_IDLFLAGS because sometimes they are set globally, for example to set the location of gperf. * TAO_IDL/Makefile.BE: Update dependencies * orbsvcs/CosEvent_Service/Makefile: * orbsvcs/examples/CosEC/Factory/Makefile: * orbsvcs/examples/CosEC/RtEC_Based/bin/Makefile: * orbsvcs/examples/CosEC/RtEC_Based/tests/Basic/Makefile: * orbsvcs/examples/CosEC/RtEC_Based/tests/Multiple/Makefile: * orbsvcs/examples/CosEC/Simple/Makefile: * orbsvcs/examples/RtEC/MCast/Makefile: * orbsvcs/examples/RtEC/Simple/Makefile: * orbsvcs/tests/CosEvent/Basic/Makefile: * orbsvcs/tests/EC_Mcast/Makefile: * orbsvcs/tests/EC_Throughput/Makefile: * orbsvcs/tests/Event/Basic/Makefile: * orbsvcs/tests/Event/Performance/Makefile: * orbsvcs/tests/Event/lib/Makefile: The RT event service and the CosEvent service fail to compiler under gcc-2.7.2, thus their tests and examples should be disabled too. Tue Nov 28 12:03:34 2000 Angelo Corsaro * tao/MessagingC.cpp: * tao/MessagingC.h: * tao/MessagingC.i: Renamed to <_tao_setup_collocation> to reflect the chages made in the generated code. Tue Nov 28 00:29:40 2000 Ossama Othman * tao/Acceptor_Registry.cpp (open): Count the number of addrs in each "-ORBEndpoint" option. The sum of those values should be the maximum number of acceptors the acceptor registry should allocate space for. Previously, a single addr was assumed to exist in each -ORBEndpoint option. This fixes a segmentation fault that was occuring when multiple addrs were specified in a single "-ORBEndpoint" command line ORB option. Reported by Jeff Greif . Mon Nov 27 17:24:14 2000 Priyanka Gontla * performance-tests/Latency/client.cpp: Removed 'cout' debug statements. Mon Nov 27 15:44:55 2000 Pradeep Gore * examples/POA/DSI/Database_i.cpp: removed template instantiation declaration of ACE_Malloc_T; and ACE_Malloc - already declared in ace/System_Time.cpp * examples/Load_Balancing/Load_Balancer_i.cpp: removed template instantiation declaration of ACE_Equal_To and ACE_Hash - already declared in ace/Capabilities.cpp * TAO/examples/Load_Balancing_persistent/Load_Balancer_i.cpp: Reworked the template instantiation code. Mon Nov 27 13:16:06 2000 Priyanka Gontla * tao/CORBALOC_Parser.cpp (parse_string_count_helper): Correctly allocated the memory for the end_point. * tests/InterOp-Naming/run_test.pl: Updated the perl script in accordance with the recent change for the syntax of corbaloc: URLs. * tests/InterOp-Naming/README: Cosmetic changes. Mon Nov 27 13:07:29 2000 Ossama Othman * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Acceptor.h: Removed trailing whitespace. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.cpp (open, open_default): Renamed "open_i" method to "ssliop_open_i" to avoid ambiguities with the virtual "open_i" method in the TAO_IIOP_SSL_Acceptor base class. This fixes warnings emanating from Borland compiler builds. Mon Nov 27 13:05:59 2000 Angelo Corsaro * TAO_IDL/be/be_visitor_interface/interface_ch.cpp: * TAO_IDL/be/be_visitor_interface/interface_ci.cpp: * TAO_IDL/be/be_visitor_interface_fwd/interface_fwd_ci.cpp: Renamed name of generated member function from to <_tao_setup_collocation>. * TAO_IDL/be/be_visitor_interface/interface_cs.cpp: Same as above, plus fixed "typo bug" in the fragment of code that generate the code for _tao_setup_collocation for not nested interface. Mon Nov 27 12:33:23 2000 Pradeep Gore * orbsvcs/Trading_Service/Trading_Service.cpp: * orbsvcs/orbsvcs/Trader/Trading_Loader.cpp: Removed auto_ptr and ACE_Auto_Basic_Ptr from Trading_Service.cpp and added it back to Trading_Loader.cpp. Sun Nov 26 19:47:25 2000 Balachandran Natarajan * tao/Invocation.cpp (start): Reset the reply_received field in the reply dispatcher to 0. This piece of code that did this reset was removed when changes were made to Invocation classes. The reset is important when the Invocation classes signals a restart. On restart we dont create a new Invocation object and we reuse the state that was left by the previous invocation. All this is fine. But the reply_received field needs to be reset in the intermediate period. If not stale values would be passed on to the next invocation and making tests like Forwarding fail. Sun Nov 26 19:07:48 2000 Pradeep Gore * tests/Connection_Purging/Connection_Purging.cpp: * orbsvcs/orbsvcs/Naming/Persistent_Context_Index.cpp: * orbsvcs/orbsvcs/Trader/Trading_Loader.cpp: * orbsvcs/orbsvcs/AV/AVStreams_i.cpp: * orbsvcs/orbsvcs/AV/sfp.cpp: Removed extraneous explicit template instantiation declarations causing "multiply defined" warnings on VxWorks and LynxOS. Sun Nov 26 16:52:50 2000 Balachandran Natarajan * tao/Bind_Dispatcher_Guard.i: * tao/Bind_Dispatcher_Guard.h: Return the reference to the status_ in the status () method. * tao/Invocation.cpp (invoke_i): If there is an error and if the connection is closed, we set the status in the Bind_Dispatcher_Guard to -1. This should fix a problem that caused the client ORB to dump a core if the server shutsdown suddenly. Sun Nov 26 13:34:40 2000 Carlos O'Ryan * tao/DynamicAny/DynAny_i.cpp: * tao/DynamicAny/DynArray_i.cpp: * tao/DynamicAny/DynEnum_i.cpp: * tao/DynamicAny/DynSequence_i.cpp: * tao/DynamicAny/DynStruct_i.cpp: * tao/DynamicAny/DynUnion_i.cpp: The destroy() methods should not release or delete the object, as they are local interfaces now, and their memory is managed via the stock reference counting for object references. This fixes some of the problems in the dynamic any test, but it still left some other problems exposed. Sun Nov 26 01:07:11 2000 Angelo Corsaro * TAO_IDL/be/be_visitor_interface/base_proxy_impl_ch.cpp: * TAO_IDL/be/be_visitor_interface/direct_proxy_impl_sh.cpp: * TAO_IDL/be/be_visitor_interface/direct_proxy_impl_ss.cpp: * TAO_IDL/be/be_visitor_interface/remote_proxy_impl_ch.cpp: * TAO_IDL/be/be_visitor_interface/remote_proxy_impl_cs.cpp: * TAO_IDL/be/be_visitor_interface/thru_poa_proxy_impl_sh.cpp: * TAO_IDL/be/be_visitor_interface/thru_poa_proxy_impl_ss.cpp: Made definition of the destructor for the proxy broker at the same time of the declaration. The only reason why this was done was to fix some weird link problem that gcc-2.72 was having with the current implementation. Sat Nov 25 21:28:25 2000 Pradeep Gore * orbsvcs/tests/Notify/Basic/Simple.{h,cpp}: * orbsvcs/tests/Notify/Basic/Makefile: Added simple test to show how to use Anys in Notify Service. Sat Nov 25 21:09:54 2000 Balachandran Natarajan * tao/Connection_Cache_Manager.cpp: * tao/Connection_Handler.cpp: * tao/Connection_Handler.inl: * tao/IIOP_Transport.cpp: * tao/IIOP_Connect.cpp: * tao/Strategies/UIOP_Transport.cpp: * tao/Strategies/UIOP_Connect.cpp: * tao/Strategies/SHMIOP_Connect.cpp: * tao/Strategies/SHMIOP_Transport.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connect.cpp: Fixed an FMR problem. The problem was the wrong order in which we were destroying the handlers and purging the handler from the cache map. We need to purgethe handler first and then destroy the handlers. Sat Nov 25 20:59:07 2000 Pradeep Gore * orbsvcs/tests/Notify/lib/Notify_Test_Client.{h, cpp}: * orbsvcs/tests/Notify/Basic/Events_Test.cpp: * orbsvcs/examples/Notify/Filter/Filter.{h,cpp}: * orbsvcs/examples/Notify/Subscribe/Subscribe.{h,cpp}: * orbsvcs/orbsvcs/Notify/Notify_AdminProperties.{h,cpp}: * orbsvcs/orbsvcs/Notify/Notify_Event_Manager.i: * orbsvcs/orbsvcs/Notify/Notify_MT_Worker_Task.cpp: Fixed incorrect procedure to destroy event channel. Thanks to Walt Corey for reporting this problem. * orbsvcs/tests/Notify/performance-tests/RedGreen/README: Fixed typo in instructions. Sat Nov 25 15:06:16 2000 Pradeep Gore * orbsvcs/orbsvcs/Property/CosPropertyService_i.cpp: Defererence _var of pname to pointer via .in () operator. Fri Nov 24 19:21:29 2000 Angelo Corsaro * TAO_IDL/be/be_visitor_interface/remote_proxy_impl_cs.cpp: Minor Aesthetic fixes for the generated code. * TAO_IDL/be/be_visitor_interface/thru_poa_proxy_impl_ss.cpp: Added implementation of the default ctor, that was chopped away while fixing the indentation. Fri Nov 24 17:14:16 2000 Jeff Parsons * TAO_IDL/be/be_visitor_interface/interface_ci.cpp * TAO_IDL/be/be_visitor_interface/interface_ss.cpp * TAO_IDL/be/be_visitor_interface/thru_poa_proxy_impl_ss.cpp * TAO_IDL/be/be_visitor_interface_fwd/interface_fwd_ci.cpp * TAO_IDL/be/be_visitor_operation/arglist.cpp * TAO_IDL/be/be_visitor_operation/thru_poa_collocated_ss.cpp * TAO_IDL/be/be_visitor_operation/thru_poa_proxy_impl_ss.cpp Changes to keep the indentation of generated code from growing with each interface. Fri Nov 24 16:55:29 2000 Angelo Corsaro * TAO_IDL/be/be_visitor_interface/base_proxy_broker_ch.cpp: * TAO_IDL/be/be_visitor_interface/base_proxy_impl_ch.cpp: * TAO_IDL/be/be_visitor_interface/direct_proxy_impl_sh.cpp: * TAO_IDL/be/be_visitor_interface/direct_proxy_impl_ss.cpp: * TAO_IDL/be/be_visitor_interface/remote_proxy_broker_ch.cpp: * TAO_IDL/be/be_visitor_interface/remote_proxy_broker_cs.cpp: * TAO_IDL/be/be_visitor_interface/remote_proxy_impl_ch.cpp: * TAO_IDL/be/be_visitor_interface/remote_proxy_impl_cs.cpp: * TAO_IDL/be/be_visitor_interface/strategized_proxy_broker_sh.cpp: * TAO_IDL/be/be_visitor_interface/thru_poa_proxy_impl_sh.cpp: * TAO_IDL/be/be_visitor_interface/thru_poa_proxy_impl_ss.cpp: Added generation of the default constructor to avoid problem with older compiler (like gcc272). * TAO_IDL/be/be_visitor_operation/thru_poa_proxy_impl_ss.cpp: Made some cosmetic changes in the generated code. * tao/Object_Proxy_Broker.cpp: * tao/Object_Proxy_Broker.h: * tao/Object_Proxy_Impl.cpp: * tao/Object_Proxy_Impl.h: * tao/Remote_Object_Proxy_Impl.cpp: * tao/Remote_Object_Proxy_Impl.h: * tao/PortableServer/Direct_Object_Proxy_Impl.cpp: * tao/PortableServer/Direct_Object_Proxy_Impl.h: * tao/PortableServer/ThruPOA_Object_Proxy_Impl.cpp: * tao/PortableServer/ThruPOA_Object_Proxy_Impl.h: Added declaration and implementation of default constructor to fix the problem with some older compiler (like gcc272). * tao/PortableServer/POA.cpp: Substituted any use of TAO_Collocated_Object with CORBA::Object, in fact in the new collocation scheme TAO_Collocated_Object is not used anymore. Fri Nov 24 12:17:59 2000 Carlos O'Ryan * tests/Multiple/Multiple_Impl.cpp: Fix throw specs. * tests/Nested_Event_Loop/server.bor: * tests/Nested_Event_Loop/client.bor: Add the TAO_Strategies library, it is needed to link these two programs. Fri Nov 24 14:07:13 2000 Pradeep Gore * orbsvcs/orbsvcs/Property/CosPropertyService_i.h: Changed CosProperty_Hash_Key::pname_ to an _var type to fix a small memory leak. Thanks to Greg Hall greg.j.hall@boeing.com for providing the fix. Thu Nov 23 18:21:13 2000 Carlos O'Ryan * tests/Makefile: Add 'Multiple' to the list. Thu Nov 23 15:01:53 2000 Pradeep Gore * orbsvcs/tests/Notify/RedGreen/Makefile: Link with TAO_Svc_Utils to fix linkage error on SunCC5. Thu Nov 23 12:33:49 2000 Priyanka Gontla * orbsvcs/tests/ior_corbaname/README: * tests/ior_corbaloc/README: Updated to reflect the correct syntax. * tests/ior_corbaloc/client.cpp : * tests/ior_corbaloc/ior_corbaloc_client_i.cpp : Corrected the way exceptions are propagated. * tao/CORBALOC_Parser.h: * tao/CORBALOC_Parser.cpp : Fixed the syntax format of corbaloc: type URL. Thanks to Craig Rodrigues for pointing this out. Thu Nov 23 12:18:06 2000 Ossama Othman * tao/ORB_Core.cpp (~TAO_ORB_Core_TSS_Resources): As an interim solution to an access violation, do not invoke the TSS object destructors on the "ts_object_" array. The only service known to currently use this feature (i.e the TSS object array) is the SSLIOP pluggable protocol. Fortunately, it registers a null cleanup function so we're not leaking anything yet. However, we *do* need to fix this a before other services start to use this array. The real fix is non-trivial. * orbsvcs/orbsvcs/SSLIOP.idl: Added missing SSLIOP::Current::get_peer_certificate() method. It is necessary since the peer certificate is not available in the certificate chain on the server side, and since obtaining the peer certificate chain may be overkill if all that is desired is the peer certificate. Added SSLIOP::Current::no_context() method. Returns true if the current execution context is not within a SSL session. This method is mostly useful as an inexpensive means of determining whether or not SSL session state is available. It is used by the SSLIOP secure invocation server request interceptor. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current_Impl.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current_Impl.cpp: Added implementation for the SSLIOP::Current::get_peer_certificate() and the SSLIOP::Current::no_context() methods. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Invocation_Interceptor.cpp (receive_request): Invoke the SSLIOP::Current::no_context() method instead of SSLIOP::Current::get_peer_certificate_chain() since the former provides the functionality that this secure invocation server request interceptor requires. The latter can provide similar functionality but it performs several heap allocations, which can degrade performance significantly. Thu Nov 23 11:31:06 2000 Angelo Corsaro * TAO_IDL/be/be_visitor_interface/interface_cs.cpp: * TAO_IDL/be/be_visitor_interface/interface_ss.cpp: Added global scope scecifier "::" in the call to the proxy broker factory method used called within setup_collocation. Re-Added ACE_NESTED_CLASS in the code generated for setup_collocation, when calling methods on superclasses. * tao/MessagingC.cpp: * tao/PortableServer/MessagingS.cpp: Updated code to reflect the changes made in the compiler. Wed Nov 22 16:53:01 2000 Carlos O'Ryan * docs/Options.html: Fixed documentation for TransportMuxingStrategy, thanks to Jeff Greif for pointing this out. * tao/DynamicAny/DynSequence_i.cpp: Fixed current_index_ initialization, it was initialized to an invalid value, even though it was perfectly usable. This fixes the execution problems in the Trading Service tests. * tao/DynamicAny/DynArray_i.cpp: * tao/DynamicAny/DynStruct_i.cpp: Same fix, but this does not affect CosTrading. Wed Nov 22 16:24:52 2000 Ossama Othman * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connector.cpp (connect): Fixed IIOP (non-SSL) connection problems due to a dynamic_cast that was failing. The TAO_Endpoint pointer obtained from the Connection_Descriptor is actually a TAO_SSLIOP_Endpoint, so we need to downcast to a TAO_SSIOP_Endpoint and then access the non-SSL TAO_IIOP_Endpoint from it. Previously we were downcasting straight to a TAO_IIOP_Endpoint, which of course will not work since the endpoint pointer actually points to TAO_SSLIOP_Endpoint. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp (connect): Corrected typo where base class pointer was checked for validity instead of the derived class pointer. This fixes a potential problem where a failed dynamic_cast would not have beend etected. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.cpp (TAO_SSLIOP_Endpoint): If no SSL tagged component is available, then set the Security::NoProtection "target_supports" security association bit. We can't be sure if the server supports SSL if an SSL tagged component is available in the IOR, and TAO's SSLIOP implementation must support IIOP over SSL and plain IIOP. This fixes a connection permission problem where the client supported SSLIOP and the server didn't. The SSLIOP_Connector was being too cautious about establishing the connection. Wed Nov 22 17:37:37 2000 Angelo Corsaro * tests/Multiple/Collocation_Tester.cpp: * tests/Multiple/Makefile: * tests/Multiple/Multiple_Impl.cpp: * tests/Multiple/client.cpp: * tests/Multiple/server.cpp: * tests/Multiple/run_test.pl: Cosmetic changes to some file, plus perl script for automatically running the test. Wed Nov 22 14:30:12 2000 Angelo Corsaro * TAO_IDL/be/be_visitor_interface/interface_cs.cpp: * TAO_IDL/be/be_visitor_interface/interface_ss.cpp: * TAO_IDL/be/be_visitor_interface/remote_proxy_broker_ch.cpp: * TAO_IDL/be/be_visitor_interface/remote_proxy_broker_cs.cpp: * TAO_IDL/be/be_visitor_interface/strategized_proxy_broker_sh.cpp: * TAO_IDL/be/be_visitor_interface/strategized_proxy_broker_ss.cpp: Modified code generated for the proxy broker factory function. Now the factory is a public static method of the proxy broker itself. * tao/MessagingC.cpp: * tao/MessagingC.h: * tao/PortableServer/MessagingS.cpp: * tao/PortableServer/MessagingS.h: Modified code to reflect the change made in the IDL generated code. Thanks to Andy for the support, and hint. Wed Nov 22 10:05:47 2000 Priyanka Gontla * performance-tests/Latency/server.dsp * performance-tests/Latency/client.dsp * performance-tests/Latency/st_client.dsp Updated the Debug and Release configurations. Wed Nov 22 09:49:51 2000 Darrell Brunsch * tests/Multiple/Client.dsp: * tests/Multiple/Server.dsp: Updated the Release configuration. Wed Nov 22 09:23:08 2000 Ossama Othman * tests/Portable_Interceptors/Benchmark/test.idl: Added missing "raises" clause to the authenticate() method. Tue Nov 21 21:13:18 2000 Ossama Othman * tao/Object_Ref_Table.h (TAO_Object_Ref_Table): Made the Table and Iterator typedefs public. Some compilers complain if they are private since they aren't visible at the file level. Tue Nov 21 23:25:57 2000 Angelo Corsaro * TAO_IDL/be/be_visitor_interface/interface_ss.cpp (visit_interface): Added global scope specifier in the proxy factory function. This should fix the problem with VxWorks compilers. * TAO_IDL/be/be_visitor_interface/interface_cs.cpp (visit_interface): Added ACE_NESTED_CLASS in the code generated for the method setup_collocation to fix the problem that some compiler had with the current implementation. Tue Nov 21 21:32:30 2000 Pradeep Gore * orbsvcs/orbsvcs/Notify/Notify_Event_Manager.i: Corrected the logic for rejecting events on buffer overflow when the RejectNewEvents Admin property is set. Thanks to Sarabjeet Duhra for pointing this out. Tue Nov 21 17:52:47 2000 Priyanka Gontla * tests/Nested_Event_Loop/server.dsp: * tests/Nested_Event_Loop/client.dsp: Updated settings to link TAO_Strategies. Tue Nov 21 17:37:28 2000 Priyanka Gontla * tests/Nested_Event_Loop/Makefile: Updated to link TAO_Strategies. * tests/Nested_Event_Loop/client.cpp: * tests/Nested_Event_Loop/server.cpp: Included tao/Stratgies/advanced_resource.h * tests/Nested_Event_Loop/svc.conf: Passed -ORBReactorType select_mt as the argument. Tue Nov 21 17:23:45 2000 Priyanka Gontla * tests/RTCORBA/Client_Protocol/server.dsp Updated settings. Tue Nov 21 19:20:44 2000 Jeff Parsons * tao/DynamicInterface/Server_Request.cpp: Updated the raising of system exceptions by arguements(), set_result() and set_exception() to conform to changes in CORBA 2.4. Tue Nov 21 16:26:03 2000 Ossama Othman * tao/ORB_Table.cpp (bind): Make sure the ORB table owns the ORB Core by increasing the reference count on it. * tao/ORB_Core.h (svc_config_argc_, svc_config_argv_): Removed these attributes. They are no longer needed since the Service Configurator is now initialized in the CORBA::ORB_init() function. * tao/ORB_Core.cpp (init): Moved all Service Configurator related option parsing code to TAO_Internal::open_services(), and moved the code that invokes open_services() to CORBA::ORB_init(). This is necessary to make sure that services are loaded prior to invoking the pre_init() method in registered ORBInitializers. * tao/ORB.cpp (ORB_init): The ORB table increases the reference count on the ORB Core so do not release it here. Allow the TAO_ORB_Core_Auto_Ptr to decrease the reference on the ORB Core when it goes out of scope. Initialize the Service Configurator. This must occur before the ORBInitializer::pre_init() method is invoked on each registered ORB initializer. * tao/TAO_Internal.h (open_services, open_services_i): Added new "open_services()" method declaration, and renamed the existing one to "open_services_i()" since it is invoked by the former. * tao/TAO_Internal.cpp (open_services): Construct a Service Configurator argument vector from options extracted from the argument vector passed in from CORBA::ORB_init(). * orbsvcs/examples/Security/Send_File/Makefile (BIN): Conditionally build the binaries on the "ssl" make variable instead of the deprecate "ace_components" script. Tue Nov 21 18:07:01 2000 Jeff Parsons * tao/DynamicAny/DynArray_i.cpp: * tao/DynamicAny/DynSequence_i.cpp: * tao/DynamicAny/DynStruct_i.cpp: * tao/DynamicAny/DynUnion_i.cpp: In the to_any() method, replaced the exception DynamicAny::TypecodeMismatch with BAD_INV_ORDER, since to_any() isn't supposed to throw any user exceptions. Tue Nov 21 18:04:00 2000 Marina Spivak * tests/RTCORBA/README * tests/RTCORBA/Banded_Connections/README: Added test description and expected output. Tue Nov 21 15:56:10 2000 Carlos O'Ryan * tao/ORB_Core.cpp: Initialize the default endpoint selector outside the #if TAO_HAS_CORBA_MESSAGING, otherwise things don't work at all when messaging is disabled. Tue Nov 21 15:38:04 2000 Priyanka Gontla * orbsvcs/tests/ior_corbaname/Makefile : Updated dependencies. * orbsvcs/tests/ior_corbaname/status_i.h: * orbsvcs/tests/ior_corbaname/server.cpp : Removed unnecessary #include's. Tue Nov 21 15:04:31 2000 Priyanka Gontla * performance-tests/Latency/server.cpp : * performance-tests/Latency/client.cpp : * performance-tests/Latency/st_client.cpp : Included tao/Strategies/advanced_resource.h. * performance-tests/Latency/Makefile: Updated to link TAO_Strategies. * performance-tests/Latency/server.conf : * performance-tests/Latency/client.conf : * performance-tests/Latency/st_client.conf : * performance-tests/Latency/st_server.conf : * performance-tests/Latency/client-mt-exclusive.conf : * performance-tests/Latency/client-st-muxed.conf : Updated to load the correct, i.e. the advanced resource factory. * tao/Strategies/advanced_resource.cpp : Changed the default in input_cdr_buffer_allocator to TAO_ALLOCATOR_THREAD_LOCK instead of TAO_ALLOCATOR_NULL_LOCK. Tue Nov 21 12:06:09 2000 Ossama Othman * tests/Portable_Interceptors/Benchmark/interceptors.h: Interceptors are local objects, so derive (via multiple inheritance) each interceptor from CORBA::LocalObject. * tests/Portable_Interceptors/Benchmark/interceptors.cpp (receive_request): Throw CORBA::NO_PERMISSION() exception instead of the "Test_Interceptors::Invalid" exception. Throwing a user exception is not allowed since it is not part of the throw spec, which is dictated by the PortableInterceptor::ServerRequestInterceptor interface. * tests/Portable_Interceptors/Benchmark/README: Updated README. "Pseudo-portable interceptors" no longer applies, since TAO now implements the standard Portable Interceptor interfaces. Tue Nov 21 13:30:18 2000 Jeff Parsons * TAO_IDL/driver/drv_args.cpp: In the usage message, fixed ACE_TEXT (" -Ge [0|1]\t\t\tDisable/Enable generation of") ACE_TEXT (" CORBA::Environment arguments (enabled by default") ACE_TEXT (" if ACE_HAS_EXCEPTIONS)\n") to read ACE_TEXT (" -Ge [0|1]\t\t\tDisable/Enable generation of") ACE_TEXT (" CORBA::Environment arguments (disabled by default") ACE_TEXT (" if ACE_HAS_EXCEPTIONS)\n") Thanks to Craig Rodrigues for pointing this out. Tue Nov 21 13:13:37 2000 Angelo Corsaro * tests/Multiple/Multiple.dsw: * tests/Multiple/Server.dsp: * tests/Multiple/Client.dsp: * tests/Multiple/README: * tests/Multiple/Makefile: VC++ workspace, VC++ project, Makefile and documentation files for the new collocation test. * tests/Multiple/Collocation_Tester.cpp: * tests/Multiple/Collocation_Tester.h: * tests/Multiple/Multiple_Impl.cpp: * tests/Multiple/Multiple_Impl.h: * tests/Multiple/client.cpp: * tests/Multiple/server.cpp: * tests/Multiple/Multiple.idl: Source file for the new collocation test. Tue Nov 21 09:40:51 2000 Ossama Othman * docs/releasenotes/index.html: Updated the Security Service release notes with information about the new SSLIOP features. Tue Nov 21 10:41:11 2000 Balachandran Natarajan * tao/GIOP_Message_Accept_State.cpp: We align the write pointers as per GIOP 1.2. But when we read from the stream on the server side, we just set the read pointer to an 8 byte boundary. Why? We dont have any information about the information following the header. So, we just set the read pointer to an 8 byte boundary assuming that the skeletons would know whether to marshal something or not. This started giving problems in DSI_Gateway test during the shutdown () operation. So, for a shutdown () call that we receive on the gateway, the read pointer is set to an 8 byte boundary. The same stream is used for encoding (). As the read pointer is displaced, the difference between them gave a "BIG" number that wrapped around as -4 when we called a writev () on the handler which is not acceptable. So, the fix -- we check for the stream length before we align the read pointer. Hopefully this should be the right fix. Tue Nov 21 10:10:07 2000 Angelo Corsaro * TAO_IDL/be_include/be_interface.h: Removed typo (i.e. ",") from the last element of the enum that defines the collocation strategy. Tue Nov 21 07:32:28 2000 Chris Kohlhoff * tao/IORManipulation/Makefile.bor: * tao/IORTable/Makefile.bor: Add missing CFLAGS required to build static libraries correctly. * orbsvcs/orbsvcs/SSLIOP.bor: Prevent SSL libraries from being built unless SSL_ROOT is defined. * orbsvcs/Event_Service/Makefile.bor: * orbsvcs/Naming_Service/Naming_Service.bor: * orbsvcs/Naming_Service/NT_Naming_Service.bor: * orbsvcs/Notify_Service/Makefile.bor: * orbsvcs/Time_Service/Time_Service_Clerk.bor: * orbsvcs/Time_Service/Time_Service_Server.bor: * tests/*/client.bor: * tests/*/server.bor: Added missing libraries. Tue Nov 21 03:03:00 2000 Marina Spivak * tests/RTCORBA/Private_Connection/run_test.pl: Output formatting. * tests/RTCORBA/README * tests/RTCORBA/Private_Connection/README: Added test description and expected output. Mon Nov 20 23:33:11 2000 Ossama Othman * orbsvcs/orbsvcs/SSLIOP.idl (Current): Wrap the SSLIOP::Current TAO extension with with a "#pragma prefix ssliop.tao". This makes it clear that SSLIOP::Current is a TAO extension, not an OMG defined object. Mon Nov 20 21:22:09 2000 Jeff Parsons * tao/NVList.i: * tao/NVList.cpp: Modified the new method _lazy_has_arguments() to handle the case where the list's input CDR is null, and also uninlined the method since it is now not so simple. * tao/DynamicInterface/Request.cpp: Replace the NVList::count() call with NVList::_lazy_has_arguments in Request::send_oneway, as it was in Request::invoke. Mon Nov 20 20:25:39 2000 Balachandran Natarajan * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.h: Replicated the changes to SSLIOP too. Mon Nov 20 20:06:38 2000 Balachandran Natarajan * tao/Strategies/SHMIOP_Transport.h (TAO_SHMIOP_Server_Transport): * tao/Strategies/SHMIOP_Transport.cpp: * tao/Strategies/SHMIOP_Connect.h: * tao/Strategies/UIOP_Transport.h: * tao/Strategies/UIOP_Transport.cpp: * tao/Strategies/UIOP_Connect.h: Changes from IIOP have been replicated here. Mon Nov 20 19:54:03 2000 Priyanka Gontla * tests/RTCORBA/Banded_Connections/Makefile: Updated to link TAO_Strategies. * tests/RTCORBA/Banded_Connections/client.conf: * tests/RTCORBA/Banded_Connections/server.conf: Updated to statically load the Advanced_Resource_Factory * tests/RTCORBA/Banded_Connections/server.cpp: * tests/RTCORBA/Banded_Connections/client.cpp: Included "tao/Strategies/advanced_resource.h" Mon Nov 20 19:51:06 2000 Balachandran Natarajan * tao/Connection_Handler.cpp: * tao/Connection_Handler.h: Added a method purge_entry (). * tao/IIOP_Connect.h (TAO_IIOP_Server_Connection_Handler): * tao/IIOP_Transport.cpp: * tao/IIOP_Transport.h: Removed the method close_connection () from the base class and moved it to the server & client transport classes. Further, added a call to purge_entry () on the service handler when close_connection () is called. This is required as we need to purge the cache map entries when the ORB decides to shutdown the connection. Mon Nov 20 18:59:28 2000 Angelo Corsaro * TAO_IDL/be/be_visitor_interface/base_proxy_impl_ch.cpp: * TAO_IDL/be/be_visitor_interface/direct_proxy_impl_sh.cpp: * TAO_IDL/be/be_visitor_interface/interface_cs.cpp: * TAO_IDL/be/be_visitor_interface/remote_proxy_broker_cs.cpp: * TAO_IDL/be/be_visitor_interface/remote_proxy_impl_ch.cpp: * TAO_IDL/be/be_visitor_interface/thru_poa_proxy_impl_sh.cpp: * TAO/TAO_IDL/be/be_visitor_operation/arglist.cpp: Modified indentation\spacing\newlines in the generated code to make the code look better. Removed unused vars. that were causing warning on some platfom. Mon Nov 20 15:49:50 2000 Priyanka Gontla * performance-tests/Cubit/TAO/IDL_Cubit/server.dsp * performance-tests/Cubit/TAO/IDL_Cubit/client.dsp Updated setings. * performance-tests/Cubit/TAO/IDL_Cubit/svc.conf Updated to use the right resource factory keeping in view the advanced resource factory arguments passed to it. Mon Nov 20 15:55:38 2000 Ossama Othman * tao/IIOP_Connector.cpp (TAO_IIOP_Connector): Removed "tcp_properties_" from the base member initializer list. G++ 2.7.x gets confused about the fact that the TAO_IIOP_Properties class doesn't have a constructor. Mon Nov 20 15:20:53 2000 Carlos O'Ryan * orbsvcs/TAO_Service/TAO_Service.cpp: Fixed warning about unreachable statement Mon Nov 20 15:04:34 2000 Priyanka Gontla * tests/RTCORBA/Server_Declared/server.conf: Updated to provide the right arguments. * tests/RTCORBA/Client_Propagated/svc.conf: Not needed. Removed. Mon Nov 20 14:54:59 2000 Jeff Parsons * tao/NVList.h: * tao/NVList.i: * tao/DynamicInterface/Request.inl: * tao/DynamicInterface/Request.cpp: Uninlined definition of _nil to make aggressively inlining compilers happy. Also added _lazy_has_arguments() method to NVList, so this condition can be checked without having to evaluate the NVList's CDR stream, and replaced call to NVList::count() method in Request::invoke() with a call to this new method. The call to count() has the side effect of decoding the list's CDR stream and destroying it, which was causing DII requests to crash. Mon Nov 20 11:49:30 2000 Priyanka Gontla * tests/EndPoint_Per_Priority/server.conf Changed back to the original version. It got committed in the previous commit unintentionally. Mon Nov 20 11:35:56 2000 Priyanka Gontla * tests/EndPoint_Per_Priority/server.dsp * tests/EndPoint_Per_Priority/client.dsp Updated settings to link TAO_Strategiesd.lib Mon Nov 20 06:26:10 2000 Balachandran Natarajan * tao/IIOP_Connector.h: * tao/IIOP_Connector.cpp: * tao/Strategies/UIOP_Connector.h: * tao/Strategies/UIOP_Connector.cpp: * tao/Strategies/SHMIOP_Connector.h: * tao/Strategies/SHMIOP_Connector.cpp: Changed the ACE_NOOP_Concurrency strategy to ACE_Concurrency_Strategy. Mon Nov 20 05:34:07 2000 Marina Spivak * tests/RTCORBA/Private_Connection/Makefile: Updated dependencies. * tests/RTCORBA/Private_Connection/server.cpp (test_method): Fixed unused arg warning. Mon Nov 20 05:16:40 2000 Marina Spivak * tao/IIOP_Connector.cpp * tao/Exclusive_TMS.cpp * tao/Connection_Cache_Manager.cpp: Added more debugging info, bumped up the level on some debugging messages. Mon Nov 20 05:04:01 2000 Marina Spivak * tests/RTCORBA/RTCORBA_tests.dsw * tests/RTCORBA/Makefile.bor * tests/RTCORBA/Makefile * tests/RTCORBA/Private_Connection/Makefile.bor * tests/RTCORBA/Private_Connection/Private_Connection.dsw * tests/RTCORBA/Private_Connection/README * tests/RTCORBA/Private_Connection/client.bor * tests/RTCORBA/Private_Connection/client.cpp * tests/RTCORBA/Private_Connection/client.dsp * tests/RTCORBA/Private_Connection/run_test.pl * tests/RTCORBA/Private_Connection/server.bor * tests/RTCORBA/Private_Connection/server.cpp * tests/RTCORBA/Private_Connection/server.dsp * tests/RTCORBA/Private_Connection/test.idl: Added a test for RTCORBA::PrivateConnectionPolicy. Mon Nov 20 01:16:38 2000 Ossama Othman * docs/interceptors.html: Updated these release notes. Mon Nov 20 00:50:14 2000 Ossama Othman * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connect.h: Re-arranged inheritance order to match order in base member initializer lists. This corrects several "will be re-ordered to match inheritance order" warnings. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connect.cpp: Fixed unused argument warning in TAO_SSLIOP_Client_Connection_Handler constructor. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_ORBInitializer.cpp (post_init): Corrected "better conversion" warnings related to passing "_var" variable as a "_ptr" argument by using the "_var::in()" accessor. Mon Nov 20 00:12:28 2000 Ossama Othman * tao/PortableInterceptor.i (receive_reply, receive_exception, send_reply, send_exception): Changed "for" loop logic to count up instead of counting down, yet still invoke the interceptors in reverse order. This fixes some "expression always true" warnings related to the fact that an unsigned int is always greater than or equal to zero. Sun Nov 19 23:46:07 2000 Ossama Othman * tao/ORBInitInfo.cpp (_tao_QueryInterface): Removed unneccessary and broken use of ACE_NESTED_CLASS macro. This fixes a compile error with MSVC. Mon Nov 20 01:32:48 2000 Angelo Corsaro * tao/MessagingC.cpp (_unchecked_narrow): Added guard to check weather TAO is has support for portable incerceptors. Sun Nov 19 23:29:03 2000 Ossama Othman * tao/ORBInitInfo.cpp (_tao_QueryInterface): Corrected syntax error and incorrect static_cast. Mon Nov 20 00:30:50 2000 Angelo Corsaro * TAO_IDL/be/be_visitor_interface/remote_proxy_broker_cs.h: * TAO_IDL/be/be_visitor_interface/remote_proxy_broker_cs.cpp: Visitor to generate the remote proxy broker implementation. * TAO_IDL/be/be_visitor_interface/strategized_proxy_broker_ss.h: * TAO_IDL/be/be_visitor_interface/strategized_proxy_broker_ss.h: Visitor to generate the stategized proxy broker implementation. * TAO_IDL/be/be_visitor_interface/thru_poa_proxy_impl_ss.h: * TAO_IDL/be/be_visitor_interface/thru_poa_proxy_impl_ss.cpp: Visitor that generated the thru poa proxy implementation. * TAO_IDL/be/be_visitor_interface/direct_proxy_impl_ss.h: * TAO_IDL/be/be_visitor_interface/direct_proxy_impl_ss.cpp: Visitor that generated the direct proxy implementation. * TAO_IDL/be_include/be_visitor_operation/remote_proxy_impl_cs.h: * TAO_IDL/be_include/be_visitor_operation/remote_proxy_impl_cs.cpp: * TAO_IDL/be_include/be_visitor_operation/thru_poa_proxy_impl_ss.h: * TAO_IDL/be_include/be_visitor_operation/thru_poa_proxy_impl_ss.cpp: * TAO_IDL/be_include/be_visitor_operation/direct_proxy_impl_ss.h: * TAO_IDL/be_include/be_visitor_operation/direct_proxy_impl_ss.cpp: Visitors that genetate the operation code for different kind of proxy implementation. NOTE: This file were not added in the previous commit, because for some weird reason the CVS did not seem to view this file as new for the repo. Mon Nov 20 00:19:13 2000 Angelo Corsaro * TAO_IDL/be_include/be_visitor_interface/remote_proxy_impl_cs.h: * TAO_IDL/be/be_visitor_interface/remote_proxy_impl_cs.cpp: Visitor that generates the implemetation for the remote proxy implementation. Sun Nov 19 21:20:58 2000 Ossama Othman * tao/ORB.cpp (resolve_initial_references): Fixed problem where the object reference found in the object reference table was not returned to the caller. * tao/IIOP_Acceptor.h: * tao/IIOP_Connector.h: Made some attributes protected instead of private so that they're available to derived classes. * tao/IIOP_Acceptor.cpp (TAO_IIOP_Acceptor): * tao/IIOP_Connector.cpp (TAO_IIOP_Connector): Reorganized the base member initializer lists to match the order the class attributes were declared. * tao/ORBInitInfo.cpp (_narrow, _unchecked_narrow, _tao_QueryInterface): * tao/ORBInitInfo.h: Added these TAO_ORBInitInfo-specific downcast methods to make it easier to downcast from "PortableInterceptor::ORBInitInfo_ptr" to "TAO_ORBInitInfo *." This is necessary to get around conversion problems when RTTI is not supported by the compiler. These methods allow applications to get access to the TAO extension methods by downcasting a PortableInterceptor::ORBInitInfo_ptr reference. * tao/ORB_Core.h: * tao/ORB_Table.h: Fixed some Doxygen comments. * tao/ORB_Core.i (set_tss_resource): Initialize intermediate array elements to zero, since they haven't been initialized yet. This ensures that garbage is not returned when retrieving any of those elements at a later point in time. * tao/PortableInterceptor.h: Added a "stack size" attribute to the client and server side support classes. This attribute is used to keep track of how many interceptors were pushed onto the logical flow stack so that the stack may be unwound starting at the last successfully processed interceptor. This behavior is dictated by the PortableInterceptor specification "General Flow Rules." * tao/PortableInterceptor.i: The following changes to the newly added multiple interceptor support make that support comply with the "General Flow Rules" dictated by the Portable Interceptor specification/joint submission. The General Flow Rules basically state that an interceptor is pushed onto a stack (could be a logical one) if it is successfully invoked within a "starting" interception point. Interceptors are then popped off that stack within each "ending" interception point before they are invoked so that they can only be invoked by one "ending" interception point. (send_request, receive_request): Push each successfully processed interceptor at these "starting" interception points on to the logical flow stack. (receive_reply, receive_exception, send_reply, send_exception): Invoke the interceptors at these ending interception points in the opposite order they were pushed onto the flow stack. This is the behavior dictated by the PortableInterceptor specification for "ending" interception points. These methods also pop interceptors off of the flow stack prior to invoking them. This is necessary to satisfy the General Flow Rules, i.e., it is necessary to prevent an interceptor that has already been invoked within an "ending" interception point from being invoked in another "ending" interception point. * orbsvcs/orbsvcs/SSLIOP.idl: Added a "NoContext" exception to the SSLIOP::Current interface. All SSLIOP::Current operations will throw this exception if the current execution context is not run through an SSL session. * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Acceptor.cpp: * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Acceptor.h: * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connect.cpp: * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connect.h: * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connector.cpp: * orbsvcs/orbsvcs/SSLIOP/IIOP_SSL_Connector.h: New modification of the standard IIOP pluggable protocol that is "SSL aware," i.e., it is aware of the existence of the SSLIOP pluggable protocol. The primary difference between this version and standard one, is that this version's connection handler invalidates the SSL session state stored in TSS during an IIOP (i.e. insecure) request/upcall. Once the request/upcall is complete, the previous SSL state is restored. This closes a potentially large security hole that could occur during a nested upcall where the SSL state for the current request could mistakenly be associated with a non-SSL nested upcall. Thanks to Carlos for thinking of such an obscure security hole. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.cpp (close, open, open_default): Invoke the new IIOP_SSL_Acceptor versions of these methods when closing and opening insecure endpoints. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.h: Derive from the new IIOP_SSL_Acceptor class so that insecure connections are handled by the SSL aware version of the IIOP pluggable protocol. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connect.cpp (handle_input_i, handle_input): Place the current SSL state in TSS when handling a request. This is necessary for the newly added SSLIOP::Current TAO extension. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connect.h (TAO_SSL_State_Guard): * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connect.i: New class that makes TSS SSL state configuration/deconfiguration exception safe. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp (open, connect): Invoke the new IIOP_SSL_Connector versions of these methods when opening and connecting to insecure endpoints. (close): Close the insecure connection. Previously, this was missing. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.h: Derive from the new IIOP_SSL_Connector class so that insecure connections are handled by the SSL aware version of the IIOP pluggable protocol. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current.inl: Non-TSS implementation of the newly added SSLIOP::Current TAO extension. It is useful for obtaining the peer certificate chain associated with the current SSL session, for example. Access to this object is achieved by invoking ORB::resolve_initial_references("SSLIOPCurrent"). * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current_Impl.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current_Impl.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current_Impl.inl: TSS implementation of the newly added SSLIOP::Current TAO extension. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Factory.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Factory.cpp (register_orb_initializer): Helper method that instantiates and registers the newly added SSLIOP_ORBInitializer with TAO. (init): Invoke the register_orb_initializer() helper method to cause SSLIOP_ORBInitializer registration. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Invocation_Interceptor.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Invocation_Interceptor.h: Added a server request interceptor that enforces secure invocations. If the endpoint is configured for secure invocations alone, then this interceptor will reject the client request coming in on the insecure port and throw a CORBA::NO_PERMISSION exception. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_ORBInitializer.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_ORBInitializer.h: New ORBInitailizer that creates the SSLIOP::Current object and registers it with the ORB. It also creates the SSLIOP secure invocation server request interceptor, and registers it with the ORB. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp: Cosmetic updates. * orbsvcs/orbsvcs/Makefile.SSLIOP: * orbsvcs/orbsvcs/SSLIOP.bor: * orbsvcs/orbsvcs/SSLIOP.dsp: Added the new files to these Makefiles and project files. * tests/Portable_Interceptors/Dynamic/Echo_Client_ORBInitializer.cpp (post_init): * tests/Portable_Interceptors/Dynamic/Echo_Server_ORBInitializer.cpp (post_init): Removed erroneous call to "._retn()." Transferring ownership to the ORB happens automatically when the corresponding "_var" goes out of scope. * tests/Portable_Interceptors/Dynamic/interceptors.cpp: Corrected debugging message. The message coming from the server request interceptor incorrectly mentioned the client request interceptor. Sun Nov 19 18:16:41 2000 Carlos O'Ryan * tests/RTCORBA/Server_Protocol/Makefile: Add dependencies Sun Nov 19 19:11:19 2000 Angelo Corsaro * TAO_IDL/be_include/be_visitor_interface/proxy_brokers_ch.h: * TAO_IDL/be/be_visitor_interface/proxy_brokers_ch.cpp: Visitor that manages the generation of the code for the proxy broker in the client header. * TAO_IDL/be_include/be_visitor_interface/base_proxy_broker_ch.h: * TAO_IDL/be/be_visitor_interface/base_proxy_broker_ch.cpp: Visitor that generates the declaration for the proxy broker base class. * TAO_IDL/be_include/be_visitor_interface/remote_proxy_broker_ch.h: * TAO_IDL/be/be_visitor_interface/remote_proxy_broker_ch.cpp: Visitor that generates the declaration for the remote proxy broker. * TAO_IDL/be_include/be_visitor_interface/strategized_proxy_broker_sh: * TAO_IDL/be/be_visitor_interface/strategized_proxy_broker_sh.cpp: Visitor that generates the declaration for the stategized proxy broker. * TAO_IDL/be_include/be_visitor_interface/proxy_impls_ch.h: * TAO_IDL/be/be_visitor_interface/proxy_impls_ch.cpp: Visitor that manages the generation of the code for the proxy implementation in the client header. * TAO_IDL/be_include/be_visitor_interface/base_proxy_impl_ch.h: * TAO_IDL/be/be_visitor_interface/base_proxy_impl_ch.cpp: Visitor that generates the declaration for the proxy impl. base class. * TAO_IDL/be_include/be_visitor_interface/direct_proxy_impl_sh.h: * TAO_IDL/be/be_visitor_interface/direct_proxy_impl_sh.cpp: Visitor that generates the declaration for the proxy implementation tha uses the "DIRECT" strategy to perform the call to the servant. * TAO_IDL/be_include/be_visitor_interface/remote_proxy_impl_ch.h: * TAO_IDL/be/be_visitor_interface/remote_proxy_impl_ch.cpp: Visitor that generates the declaration for the proxy implementation tha uses the "REMOTE" strategy to perform the call to the servant. * TAO_IDL/be_include/be_visitor_interface/thru_poa_proxy_impl_sh.h: * TAO_IDL/be/be_visitor_interface/thru_poa_proxy_impl_sh.cpp: Visitor that generates the declaration for the proxy implementation tha uses the "THRUPOA" strategy to perform the call to the servant. * TAO_IDL/be_include/be_visitor_operation/inv_arglist.h: * TAO_IDL/be/be_visitor_operation/inv_arglist.cpp: This visitor generates the paramether list needed to perform and invocation on a given interface operation. * TAO_IDL/be_include/be_visitor_operation/proxy_impl_xh.h: * TAO_IDL/be/be_visitor_operation/proxy_impl_xh.cpp: Visitor that generates the operation signature for _any_ concrete proxy implementation. * TAO_IDL/be_include/be_visitor_operation/base_proxy_impl_ch.h: * TAO_IDL/be/be_visitor_operation/base_proxy_impl_ch.cpp: Visitor that generates the operation signature for the base_ proxy implementation. * TAO_IDL/be_include/be_interface.h: * TAO_IDL/be/be_interface.cpp: * TAO_IDL/be_include/be_interface_strategy.h: * TAO_IDL/be/be_interface_strategy.cpp: * TAO_IDL/be_include/be_codegen.h: * TAO_IDL/be/be_codegen.cpp: * TAO_IDL/be/be_visitor_factory.cpp: * TAO_IDL/be/be_visitor_attribute/attribute.cpp: * TAO_IDL/be/be_visitor_interface/any_op_ch.cpp: * TAO_IDL/be/be_visitor_interface/any_op_cs.cpp: * TAO_IDL/be/be_visitor_interface/interface.cpp: * TAO_IDL/be/be_visitor_interface/interface_ch.cpp: * TAO_IDL/be/be_visitor_interface/interface_ci.cpp: * TAO_IDL/be/be_visitor_interface/interface_cs.cpp: * TAO_IDL/be/be_visitor_interface/interface_sh.cpp: * TAO_IDL/be/be_visitor_interface/interface_ss.cpp: * TAO_IDL/be/be_visitor_interface_fwd/interface_fwd_ci.cpp: * TAO_IDL/be/be_visitor_operation/arglist.cpp: * TAO_IDL/be/be_visitor_operation/interceptors_ch.cpp: Modified to support the new collocation scheme. * TAO_IDL/be_include/be_visitor_interface.h: * TAO_IDL/be/be_visitor_interface.cpp: * TAO_IDL/be_include/be_visitor_operation.h: * TAO_IDL/be/be_visitor_operation.cpp: Updated dependencies. * TAO_IDL/be_include/be_visitor_operation/operation_cs.h: * TAO_IDL/be/be_visitor_operation/operation_cs.cpp: * tao/MessagingC.cpp: * tao/MessagingC.h: * tao/MessagingC.i: * tao/PortableServer/MessagingS.cpp: * tao/PortableServer/MessagingS.h: Modified handcrafted code to reflect the new collocation scheme. * tao/corba.h: Added include directive for including the Remote_Object_Proxy_Iml. With this change in the TAO IDL compiler, the collocation scheme changes quite a bit from the former. Now for each IDL interface, along with the proxy class associated to the interface, are generated a seried of other class that are needed to respectively get the right proxy implementation to perform a call (Proxy Brokers) and perform the call (Proxy Impls). There are two different kind of proxy brokers, and three different kind of proxy implementation. The main difference with the previous collocation scheme is that now the "strategy" used to perform a call can change on a call-by-call basis. This flexability was added because it is needed to implement the forthcoming RT-CORBA implementation. Sun Nov 19 16:09:39 2000 Marina Spivak * tao/PortableServer/POA.h * tao/PortableServer/POA.i: Added back #if RTCORBA protections that Priyanka commented out for no apparent reason. This fixes minimum CORBA build problems. Sun Nov 19 13:05:51 2000 Carlos O'Ryan * performance-tests/Latency/dii_client.cpp: Remove debugging messages Sun Nov 19 12:42:27 2000 Carlos O'Ryan * orbsvcs/orbsvcs/Event/EC_Event_Channel.cpp: Destroy all components in the destroy() call, delaying until the destructor is invoked does not work well. * tests/DSI_Gateway/client.cpp: * tests/DSI_Gateway/gateway.cpp: * tests/DSI_Gateway/server.cpp: Fixed spelling errors in the error messages. Sun Nov 19 14:15:12 2000 Balachandran Natarajan * tao/DynamicInterface/DII_Invocation.h: * tao/DynamicInterface/DII_Invocation.inl: Inherited TAO_GIOP_DII_Deferred_Invocation from TAO_GIOP_Asynch_Invocation instead of TAO_GIOP_Invocation. * tao/Asynch_Invocation.h: * tao/Asynch_Invocation.cpp: Added a method start () in TAO_GIOP_Asynch_Invocation. Thanks to Jeff for helping me with this. This should fix the DII test failures that we have been experiencing lately on many platforms. Sun Nov 19 11:02:17 2000 DOC Group CVS Access * tests/RTCORBA/Client_Propagated/Makefile: * tests/RTCORBA/Client_Protocol/Makefile: * tests/RTCORBA/Server_Declared/Makefile: * tests/RTCORBA/Server_Protocol/Makefile: Updated dependencies. (Priyanka) Sun Nov 19 07:54:43 2000 Balachandran Natarajan * tests/*/Makefile: * performance-tests/*/Makefile: * examples/*/Makefile: Updated dependencies. Sun Nov 19 07:06:21 2000 Balachandran Natarajan * tao/Cache_Entries.inl: Added checks for allocation failures. Sun Nov 19 00:03:21 2000 Marina Spivak * tao/Makefile.bor Sat Nov 18 23:30:00 2000 Balachandran Natarajan * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connect.cpp: Fixed compile errors that came up because of the changes Sat Nov 18 18:11:42 2000 Marina Spivak Sat Nov 18 19:50:21 2000 Carlos O'Ryan * orbsvcs/tests/Event_Latency/Event_Latency.h: * orbsvcs/tests/Event_Latency/Event_Latency.cpp: Fixed memory management problems, somehow it used to work. * performance-tests/Latency/deferred_synch_client.dsp: * performance-tests/Latency/st_server.dsp: Add missing library. Sat Nov 18 20:36:54 2000 Marina Spivak * tao/Strategies/UIOP_Connector.h: Fixed typo. Sat Nov 18 19:23:44 2000 Marina Spivak * tao/Base_Connection_Property.cpp (is_equivalent) * tao/Private_Connection_Descriptor.cpp (is_equivalent): Added const_cast. Sat Nov 18 19:00:29 2000 Marina Spivak * tao/*/Makefile * tao/Makefile.bor: Added new file, updated dependencies. Sat Nov 18 18:11:42 2000 Marina Spivak * tao/Base_Connection_Property.cpp: - - changed cast be more of the most derived type and also check for its failure. - - added a check for allocation failure. * tao/Connection_Descriptor_Interface.h: Added missing TAO_Export. * tao/Private_Connection_Descriptor.h * tao/Private_Connection_Descriptor.inl * tao/Private_Connection_Descriptor.cpp Concrete connection descriptor for identifying private connections (of the RTCORBA::PrivateConnectionPolicy fame) and storing/looking them up in the Connection Cache. * tao/Pluggable.h (connect) * tao/IIOP_Connector.h (connect) * tao/IIOP_Connector.cpp (connect) * tao/Strategies/SHMIOP_Connector.h (connect) * tao/Strategies/SHMIOP_Connector.cpp (connect) * tao/Strategies/UIOP_Connector.h (connect) * tao/Strategies/UIOP_Connector.cpp (connect): Changed the method argument from TAO_Base_Connection_Property* to TAO_Connection_Descriptor_Interface* due to Sat Nov 18 12:31:37 2000 Balachandran Natarajan * tao/Pluggable.cpp: Removed #include "tao/Base_Connection_Property.h" * tao/Connector_Registry.h (connect) * tao/Connector_Registry.cpp (connect): Instead of taking TAO_Endpoint* as an argument to , the registry now takes TAO_Connection_Descriptor_Interface*. This gives classes that use the registry and have more knowledge, i.e., Invocation, control over creating the right descriptor for looking up connection in Connection Cache. * tao/Invocation.cpp (start): Added support for RTCORBA::PrivateConnectionPolicy. * tao/TAO.dsp * tao/TAO_Static.dsp: Added new files. Sat Nov 18 14:24:22 2000 Carlos O'Ryan * tests/RTCORBA/Client_Protocol/Makefile: Update dependencies. * tests/RTCORBA/Server_Declared/Makefile: Fixed typo in library name. * orbsvcs/orbsvcs/Event/EC_Dispatching_Task.i: Fixed default size in Event Service queues. Sat Nov 18 14:12:30 2000 Balachandran Natarajan * tao/Makefile: Added the new file. Sat Nov 18 13:40:06 2000 Balachandran Natarajan * tao/Base_Connection_Property.inl: * tao/Strategies/UIOP_Connector.cpp: * tao/Strategies/UIOP_Connect.cpp: Fixed compiler errors and warnings in in gcc. Sat Nov 18 12:31:37 2000 Balachandran Natarajan * tao/Connection_Descriptor_Interface.h: * tao/Connection_Descriptor_Interface.cpp: * tao/Connection_Descriptor_Interface.inl: * tao/Base_Connection_Property.h: * tao/Base_Connection_Property.cpp: Added a abstract base class to the class TAO_Base_Connection_Property. The abstract base class would have the endpoint information and provide 3 pure virtual methods that need to implemented. The reason for the change is to make the property classes to be extensible, so that we could lookup connections based on properties in addition to endpoint information. With the existing setup, if the Connection Cache had different types connections ie. connections with endpoint information and connections with QoS properties (got by deriving from the TAO_Base_Connection_Property), there is a possibility that the Hash Map could return the base class in place of the most derived class. This is a very subtle problem. The above restructuring will help to avoid this subtle problem. Thanks to Marina for pointing out this problem. * tao/Connection_Cache_Manager.h: * tao/Connection_Cache_Manager.cpp: * tao/Connection_Cache_Manager.inl: * tao/Cache_Entries.h: * tao/Cache_Entries.inl: * tao/Cache_Entries.cpp: Made changes to accomodate the above change. Further, == operator in TAO_Cache_ExtId would call the is_equivalent () method. * tao/IIOP_Connector.cpp: * tao/Strategies/SHMIOP_Connector.cpp: * tao/Strategies/SHMIOP_Connect.cpp: * tao/Strategies/UIOP_Connector.cpp: Added the header file Base_Conection_Property.h * tao/TAO.dsp * tao/TAO_Static.dsp: Added the new file Sat Nov 18 10:40:32 2000 Ossama Othman * docs/releasenotes/index.html: Updated the pluggable protocol release notes. Sat Nov 18 09:41:28 2000 Priyanka Gontla * docs/tutorials/Quoter/Simple/Client/index.html: * docs/tutorials/Quoter/Naming_Service/index.html: * docs/releasenotes/orbcore.html: * docs/releasenotes/index.html: * docs/Options.html: Updated to replace iioploc with corbaloc and related information. * tao/ORB_Core.h : * tao/ORB_Core.cpp: Added a new function set_resource_factory which is called by the advanced_resource.cpp to set TAO_ORB_Core::resource_factory_name_ to Advanced_Resource_Factory which is 'Resource_Factory' by default. * tao/Strategies/advanced_resource.cpp : * tao/Strategies/advanced_resource.h : Added a new class whose constructor calls TAO_ORB_Core::set_resource_factory passing it the value of the new advanced resource_factory. This change automates the loading of the default or advanced resource factory bu simply linking the TAO_Strategies library and including the header file 'tao/Strategies/advanced_resource.h' in the application. * performance-tests/RTCorba/Multiple_Endpoints/Orb_Per_Priority/server.conf: * performance-tests/RTCorba/Multiple_Endpoints/Orb_Per_Priority/Makefile: * performance-tests/RTCorba/Multiple_Endpoints/Endpoint_Per_Priority/Makefile: * performance-tests/Latency/server.cpp: * performance-tests/Latency/client.cpp: * performance-tests/Latency/client-st-muxed.conf: * performance-tests/Latency/client-st-exclusive.conf: * performance-tests/Latency/client-mt-exclusive.conf: * performance-tests/Latency/st_client.conf: * performance-tests/Latency/st_server.conf: * performance-tests/Latency/Makefile: * performance-tests/Cubit/TAO/IDL_Cubit/collocation/svc.conf: * performance-tests/Cubit/TAO/IDL_Cubit/client.cpp : * performance-tests/Cubit/TAO/IDL_Cubit/server.cpp : * performance-tests/Cubit/TAO/IDL_Cubit/Makefile : * performance-tests/Cubit/TAO/IDL_Cubit/svc.conf : * performance-tests/Cubit/TAO/MT_Cubit/svc.conf: * performance-tests/Cubit/TAO/DII_Cubit/Makefile : * tests/Param_Test/Makefile: * tests/NestedUpcall/Simple/svc.conf: * tests/NestedUpcall/Simple/Makefile: * tests/NestedUpcall/MT_Client_Test/client.conf: * tests/Leader_Followers/Makefile : * tests/Leader_Followers/client.cpp : * tests/Leader_Followers/server.cpp : * tests/Endpoint_Per_Priority/server.cpp: * tests/Endpoint_Per_Priority/client.cpp: * tests/Endpoint_Per_Priority/Makefile : * tests/Leader_Followers/single_threaded_event_loop.conf: * tests/RTCORBA/Server_Protocol/svc.conf: * tests/RTCORBA/Server_Protocol/server_uiop.conf: * tests/RTCORBA/Server_Protocol/server_shmiop.conf: * tests/RTCORBA/Server_Protocol/server_reverse_nt.conf: * tests/RTCORBA/Server_Protocol/server_reverse.conf: * tests/RTCORBA/Server_Protocol/server_nt.conf: * tests/RTCORBA/Server_Protocol/server_iiop.conf: * tests/RTCORBA/Server_Protocol/server.conf: * tests/RTCORBA/Server_Protocol/client_svc.conf: * tests/RTCORBA/Server_Protocol/client_nt.conf: * tests/RTCORBA/Server_Protocol/client.cpp: * tests/RTCORBA/Server_Protocol/server.cpp: * tests/RTCORBA/Server_Protocol/Makefile: * tests/RTCORBA/Server_Declared/server.conf: * tests/RTCORBA/Server_Declared/client.cpp: * tests/RTCORBA/Server_Declared/server.cpp: * tests/RTCORBA/Server_Declared/Makefile: * tests/RTCORBA/Client_Propagated/svc.conf: * tests/RTCORBA/Client_Propagated/client.cpp: * tests/RTCORBA/Client_Propagated/server.cpp: * tests/RTCORBA/Client_Propagated/Makefile: * tests/RTCORBA/Client_Protocol/svc_unix.conf: * tests/RTCORBA/Client_Protocol/svc_nt.conf: * tests/RTCORBA/Client_Protocol/svc.conf: * tests/RTCORBA/Client_Protocol/svc_win32.conf: * tests/RTCORBA/Client_Protocol/client.conf: * tests/RTCORBA/Client_Protocol/client.cpp: * tests/RTCORBA/Client_Protocol/server.cpp: * tests/RTCORBA/Client_Protocol/Makefile: Updated the Makefiles to link TAO_Strategies, include 'tao/Strategies/advanced_resource.h' in client and server implementation files and updated the conf files so that there is no differentation for using the default or advaned strategies. Fri Nov 17 16:33:39 2000 Ossama Othman * docs/interceptors.html: Updated the Portable Interceptor release notes with information about all of the recently implemented Portable Interceptor features and improvements. Fri Nov 17 14:48:12 2000 Carlos O'Ryan * orbsvcs/tests/LoadBalancing/Makefile: Fixed realclean rule. * orbsvcs/tests/tests_svc_loader/Makefile: Fixed 'typos' in my last fix to stop the build under minimum corba. Fri Nov 17 14:30:42 2000 Darrell Brunsch * tests/Param_Test/client.bor: * tests/Param_Test/server.bor: * tests/RTCORBA/Banded_Connections/client.bor: * tests/RTCORBA/Banded_Connections/server.bor: Added IDLFILES to these makefiles. Fri Nov 17 10:59:05 2000 Carlos O'Ryan * tao/DynamicInterface/Dynamic_Implementation.cpp: Fixed incorrect use of exception macros. Fri Nov 17 10:49:21 2000 Darrell Brunsch * orbsvcs/orbsvcs/SSLIOP.dsp: Added ssleay32.lib to the list of linking libraries, since I'm guessing inlining causes SSLIOP to need to link to OpenSSL. Fri Nov 17 10:11:17 2000 Carlos O'Ryan * tao/corba.h: * TAO_IDL/be/be_codegen.cpp: Removed reference to the PortableServer library in the corba.h file. Only the generated skeletons need the ServerRequestInfo.h file, so we generate an explicit #include, instead of taxing the whole world with the extra file. * orbsvcs/TAO_Service/TAO_Service.cpp: Fixed warning * orbsvcs/tests/FaultTolerance/IOGR/Makefile: * orbsvcs/tests/FaultTolerance/IOGRManipulation/Makefile: Disable if the right components are not in * orbsvcs/tests/LoadBalancing/Makefile: Disable if the right components are not in * orbsvcs/tests/LoadBalancing/Hash_Replica_i.h: * orbsvcs/tests/LoadBalancing/Hash_Replica_i.cpp: Fixed warnings and errors due to exception handling stuff. * orbsvcs/tests/ior_corbaname/status_i.h: * orbsvcs/tests/ior_corbaname/status_i.cpp: * orbsvcs/tests/ior_corbaname/client.cpp: Fixed warnings. * orbsvcs/tests/tests_svc_loader/Makefile: * orbsvcs/tests/tests_svc_loader/tests_svc_loader.cpp: * tao/Asynch_Invocation.h: * tao/Asynch_Invocation.cpp: Some of the code was not compiled under minimum corba, but was used anyway if other variables were set. Don't use it under minimum CORBA either. * tao/CORBALOC_Parser.h: * tao/CORBALOC_Parser.cpp: * tao/CORBANAME_Parser.h: * tao/CORBANAME_Parser.cpp: * tao/ior_corbaloc_export.h: * tao/ior_corbaname_export.h: Fixed excessive #includes. Remove obsolete #includes * tao/Makefile: * tao/Remote_Object_Proxy_Impl.cpp: Never include "corba.h" directly in the tao library, it introduces deadly cyclic dependencies. * tao/DynamicAny/Makefile: * tao/DynamicInterface/Makefile: * tao/IORManipulation/Makefile: * tao/IORTable/Makefile: * tao/PortableServer/Makefile: * tao/Strategies/Makefile: Update dependencies due to the removed files. * tests/ior_corbaloc/ior_corbaloc_client_i.cpp: Fixed warnings. Fri Nov 17 10:59:09 2000 Jeff Parsons * tao/DynamicInterface/DynamicImplementation.cpp: * tao/DynamicInterface/Server_Request.cpp: Fixed DSI exception handling. Thanks to Mateu Batle for reporting this bug. Fri Nov 17 08:23:03 2000 Carlos O'Ryan * tests/Makefile: Removed ior_corbaloc, it uses the Naming Service, and would take me too long to fix it. * orbsvcs/TAO_Service/TAO_Service.cpp: * orbsvcs/tests/Notify/performance-tests/Throughput/Throughput.cpp: Fixed warnings. Fri Nov 17 07:36:03 2000 Carlos O'Ryan * tests/DSI_Gateway/run_test.pl: Fixed bug in script, it would not exit correctly if the gateway was frozen. Fri Nov 17 01:07:36 2000 Ossama Othman * tao/ORBInitInfo.cpp (arguments): Made string sequence allocation exception safe by using a CORBA::StringSeq_var. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connect.cpp (handle_input_i, fetch_handle): Added these missing method implementations (client side). Fri Nov 17 00:46:37 2000 Darrell Brunsch * orbsvcs/orbsvcs/orbsvcs.dsw: Added SSLIOP. * orbsvcs/orbsvcs/SSLIOP.dsp: Removed some unnecessary defines. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connect.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp: Changed a couple of references to TAO_IIOP_Client_Transport to TAO_SSLIOP_Client_Transport. Fri Nov 17 09:21:00 2000 Johnny Willemsen * tests/*/*.bor: * examples/*/*.bor: Added to several Borland C++ Builder makefiles the IDLFILES section so that the generated client and server stubs are deleted when doing a clean Thu Nov 16 23:15:41 2000 Marina Spivak * tests/RTCORBA/Banded_Connections/Makefile: Generated dependencies. * tests/RTCORBA/Banded_Connections/server.cpp: Output improvements. * tests/RTCORBA/Banded_Connections/client.conf * tests/RTCORBA/Banded_Connections/server.conf * tests/RTCORBA/Banded_Connections/run_test.pl * tests/RTCORBA/Banded_Connections/bands.unix * tests/RTCORBA/Banded_Connections/bands.nt Updated perl script to work on NT and unix. * tao/PortableServer/Object_Adapter.cpp (pre_invoke): Added debugging message. Thu Nov 16 23:13:16 2000 Darrell Brunsch * tests/Param_Test/server.dsp: Fixed the Win32 Release inclusion of TAO_Strategies.lib. It was missing the ".lib" which made MSVC think that it was an .obj instead. Thu Nov 16 19:29:00 2000 Ossama Othman * orbsvcs/orbsvcs/SSLIOP_Acceptor.cpp: * orbsvcs/orbsvcs/SSLIOP_Acceptor.h: * orbsvcs/orbsvcs/SSLIOP_Connect.cpp: * orbsvcs/orbsvcs/SSLIOP_Connect.h: * orbsvcs/orbsvcs/SSLIOP_Connector.cpp: * orbsvcs/orbsvcs/SSLIOP_Connector.h: * orbsvcs/orbsvcs/SSLIOP_Endpoint.cpp: * orbsvcs/orbsvcs/SSLIOP_Endpoint.h: * orbsvcs/orbsvcs/SSLIOP_Endpoint.i: * orbsvcs/orbsvcs/SSLIOP_Factory.h: * orbsvcs/orbsvcs/SSLIOP_Profile.cpp: * orbsvcs/orbsvcs/SSLIOP_Profile.h: * orbsvcs/orbsvcs/SSLIOP_Profile.i: * orbsvcs/orbsvcs/SSLIOP_Transport.cpp: * orbsvcs/orbsvcs/SSLIOP_Transport.h: Removed all "ACE_HAS_SSL" protection. It isn't needed since SSLIOP is in a separate library altogether. * orbsvcs/orbsvcs/SSLIOP_Factory.cpp: Added ACE_STATIC_SVC_REQUIRE macro to ensure that the SSLIOP factory is registered with the Service Configurator when linking statically. Thu Nov 16 19:06:36 2000 Darrell Brunsch * orbsvcs/ImplRepo_Service/Options.cpp: Moved orb_argv_pos declaration outside of the for loop because compilers treat the scoping differently. * orbsvcs/ImplRepo_Service/README.txt: Changed the docs on the INS example to use IORTable. Thu Nov 16 18:38:12 2000 Carlos O'Ryan * tao/orbconf.h: Enable UIOP and SHMIOP even on minimum CORBA builds. This is not a footprint problem since they are on a separate library now, plus this fixes a warning ;-) * tests/IDL_Test/Makefile: Use the global TAO_IDLFLAGS (plus the local flags), otherwise cross-compilation fails. Thu Nov 16 17:30:04 2000 Carlos O'Ryan * Makefile: Add show_release_tag_files pseudo-target, if not present we get a warning in the release. Thu Nov 16 16:36:11 2000 Carlos O'Ryan * docs/INS.html: Removed brittle reference to the ACE_Hash_Map_Manager documentation. It was not particularly useful, and the document can move around quite a bit. Thu Nov 16 18:21:23 2000 Marina Spivak * tests/RTCORBA/Makefile * tests/RTCORBA/Makefile.bor * tests/RTCORBA/RTCORBA_tests.dsw * tests/RTCORBA/Banded_Connections/client.cpp * tests/RTCORBA/Banded_Connections/client.dsp * tests/RTCORBA/Banded_Connections/client.bor * tests/RTCORBA/Banded_Connections/server.cpp * tests/RTCORBA/Banded_Connections/server.bor * tests/RTCORBA/Banded_Connections/server.dsp * tests/RTCORBA/Banded_Connections/server.conf * tests/RTCORBA/Banded_Connections/Makefile * tests/RTCORBA/Banded_Connections/Makefile.bor * tests/RTCORBA/Banded_Connections/README * tests/RTCORBA/Banded_Connections/run_test.pl * tests/RTCORBA/Banded_Connections/test.idl: Added a test for RTCORBA::PriorityBandedConnectionPolicy. Thu Nov 16 16:16:47 2000 Ossama Othman * tao/TAO.dsp: * tao/TAO_Static.dsp: Added Object_Ref_Table.* to these project files. Thu Nov 16 14:50:04 2000 Ossama Othman * tao/Object_Ref_Table.h: * tao/Object_Ref_Table.cpp: New table to map ID to destringified object reference. This table is used by the ORBInitInfo::register_initial_reference() method. The class is necessary to allow local objects to be accessible via the resolve_initial_references() mechanism. Since local object references cannot be stringified, they cannot be placed into the initial reference map that maps object key/name to stringified object reference. Hence, another table was needed. * tao/IORInfo.h: * tao/ORBInitInfo.h: Destructor is now protected to force instantiation on the heap since it is reference counted. * tao/ORBInitInfo.cpp (register_initial_reference): Implemented this method using the newly added object reference table in the ORB. * tao/ORB_Core.h: Added TAO_Object_Ref_Table attribute. References to such things as local objects are stored there. Completed doxygenation of this header. * tao/ORB_Core.i (object_ref_table): New accessor method to the underlying object reference table. * tao/ORB_Core.cpp (TAO_ORB_Core): Initialize the object reference table in the base member initializer list. * tao/ORB.cpp (resolve_initial_references): Query the newly added object reference table in addition to the existing object reference resolution mechansims. * tao/Makefile: * tao/Makefile.bor: Added Object_Ref_Table.* to these Makefiles. Thu Nov 16 13:19:02 2000 Carlos O'Ryan * examples/AMI/FL_Callback/Makefile: * examples/AMI/FL_Callback/Peer_i.cpp: * examples/AMI/FL_Callback/Progress_i.cpp: * orbsvcs/Makefile: * orbsvcs/TAO_Service/Makefile: * orbsvcs/examples/Makefile: * orbsvcs/examples/Security/Send_File/Makefile: * orbsvcs/orbsvcs/Makefile: * orbsvcs/tests/Makefile: * orbsvcs/tests/FaultTolerance/Makefile: * orbsvcs/tests/LoadBalancing/Makefile: * orbsvcs/tests/Notify/Makefile: * orbsvcs/tests/Notify/performance-tests/Makefile: * orbsvcs/tests/Notify/performance-tests/RedGreen/Makefile: * orbsvcs/tests/Notify/performance-tests/Throughput/Makefile: * orbsvcs/tests/ior_corbaname/Makefile: * orbsvcs/tests/tests_svc_loader/Makefile: * tests/Makefile: * tests/QtTests/Makefile: * tests/QtTests/client.cpp: * tests/Xt_Stopwatch/Makefile: * tests/ior_corbaloc/Makefile: Update makefiles, several directories were not listed in their top-level Makefiles, and they were not compiled nor was their dependencies ever updated. * Benchmark/Marshal_Test/Orbix/Makefile: * Benchmark/Marshal_Test/Orbix/client.cpp: * Benchmark/Marshal_Test/Orbix/marshal.h: * Benchmark/Marshal_Test/Orbix/marshal.idl: * Benchmark/Marshal_Test/Orbix/orbix_marshal_client.cpp: * Benchmark/Marshal_Test/Orbix/orbix_marshal_client.h: * Benchmark/Marshal_Test/Orbix/orbix_marshal_client.i: * Benchmark/Marshal_Test/Orbix/orbix_marshal_impl.cpp: * Benchmark/Marshal_Test/Orbix/orbix_marshal_impl.h: * Benchmark/Marshal_Test/Orbix/orbix_marshal_impl.i: * Benchmark/Marshal_Test/Orbix/orbix_marshal_server.cpp: * Benchmark/Marshal_Test/Orbix/orbix_marshal_server.h: * Benchmark/Marshal_Test/Orbix/orbix_marshal_server.i: * Benchmark/Marshal_Test/Orbix/run_client: * Benchmark/Marshal_Test/Orbix/run_dsi: * Benchmark/Marshal_Test/Orbix/run_dsi_server: * Benchmark/Marshal_Test/Orbix/run_ssi: * Benchmark/Marshal_Test/Orbix/run_ssi_server: * Benchmark/Marshal_Test/Orbix/server.cpp: * Benchmark/Marshal_Test/TAO/Makefile: * Benchmark/Marshal_Test/TAO/client.cpp: * Benchmark/Marshal_Test/TAO/marshal.idl: * Benchmark/Marshal_Test/TAO/marshalC.cpp: * Benchmark/Marshal_Test/TAO/marshalC.h: * Benchmark/Marshal_Test/TAO/marshalS.cpp: * Benchmark/Marshal_Test/TAO/marshalS.h: * Benchmark/Marshal_Test/TAO/server.cpp: * Benchmark/Marshal_Test/TAO/tao_marshal_client.cpp: * Benchmark/Marshal_Test/TAO/tao_marshal_client.h: * Benchmark/Marshal_Test/TAO/tao_marshal_client.i: * Benchmark/Marshal_Test/TAO/tao_marshal_impl.cpp: * Benchmark/Marshal_Test/TAO/tao_marshal_impl.h: * Benchmark/Marshal_Test/TAO/tao_marshal_impl.i: * Benchmark/Marshal_Test/TAO/tao_marshal_server.cpp: * Benchmark/Marshal_Test/TAO/tao_marshal_server.h: * Benchmark/Marshal_Test/TAO/tao_marshal_server.i: * Benchmark/Marshal_Test/VisiBroker/Makefile: * Benchmark/Marshal_Test/VisiBroker/client.cpp: * Benchmark/Marshal_Test/VisiBroker/marshal.idl: * Benchmark/Marshal_Test/VisiBroker/run_client: * Benchmark/Marshal_Test/VisiBroker/run_server: * Benchmark/Marshal_Test/VisiBroker/server.cpp: * Benchmark/Marshal_Test/VisiBroker/visi_marshal_client.cpp: * Benchmark/Marshal_Test/VisiBroker/visi_marshal_client.h: * Benchmark/Marshal_Test/VisiBroker/visi_marshal_client.i: * Benchmark/Marshal_Test/VisiBroker/visi_marshal_impl.cpp: * Benchmark/Marshal_Test/VisiBroker/visi_marshal_impl.h: * Benchmark/Marshal_Test/VisiBroker/visi_marshal_impl.i: * Benchmark/Marshal_Test/VisiBroker/visi_marshal_server.cpp: * Benchmark/Marshal_Test/VisiBroker/visi_marshal_server.h: * Benchmark/Marshal_Test/VisiBroker/visi_marshal_server.i: * Benchmark/benchmark/Makefile: * Benchmark/benchmark/driver.cpp: * Benchmark/benchmark/driver.h: * Benchmark/benchmark/marshal_options.cpp: * Benchmark/benchmark/marshal_options.h: * Benchmark/benchmark/marshal_options.i: * Benchmark/benchmark/marshal_proxy.cpp: * Benchmark/benchmark/marshal_proxy.h: * Benchmark/benchmark/marshal_proxy.i: * Benchmark/benchmark/marshal_results.cpp: * Benchmark/benchmark/marshal_results.h: * Benchmark/benchmark/marshal_results.i: Remove everything in these directories. The test do not compile, we don't have access to the other ORBs, and in general they just confuse people. Thu Nov 16 11:29:27 2000 Darrell Brunsch * orbsvcs/ImplRepo_Service/README.txt: Updated the NT Service documentation page. * docs/implrepo/index.html: * docs/implrepo/usersguide.html: Changed these to pointers to the doxygen documentation. Thu Nov 16 11:23:44 2000 Ossama Othman * tao/Cleanup_Func_Registry.cpp (cleanup): Make sure that the cleanup function pointer is non-zero prior to invoking it. Thu Nov 16 09:36:43 2000 Carlos O'Ryan * orbsvcs/orbsvcs/Makefile: * performance-tests/Callback/Makefile: * tests/Exposed_Policies/Makefile: * tests/Policies/Makefile: Fixed or add realclean target, the directory was not completely clean after a 'make realclean'. Thu Nov 16 09:32:04 2000 Darrell Brunsch * tao/DynamicInterface/Dynamic_Implementation.cpp: In TAO_DynamicImplementation::_dispatch, removed the environment argument from init_reply (). Thu Nov 16 11:16:17 2000 Jeff Parsons * tao/Asynch_Invocation.cpp: * tao/Asynch_Invocation.h: * tao/Asynch_Invocation.i: * tao/Asynch_Reply_Dispatcher.cpp: * tao/Asynch_Reply_Dispatcher.h: * tao/Asynch_Reply_Dispatcher.i: Changed the logic of the #if preprocessor directives to avoid build errors on old g++, where CORBA messaging code is not compiled. Base classes have been added to the above files recently that are not used by messaging, but are used by DII. Thu Nov 16 08:13:42 2000 Ossama Othman * VERSION: Corrected TAO mailing list address. It should be "tao-users," not "ace-users." Thu Nov 16 10:23:43 2000 Jeff Parsons * tao/GIOP_Messsage_Acceptors.cpp: * tao/GIOP_Message_Lite.cpp: * tao/GIOP_Utils.cpp: * tao/GIOP_Utils.h: Removed temporary and call to conversion function in TAO_GIOP_Message_Acceptors::send_reply_exception() and TAO_GIOP_Message_Lite::send_reply_exception(). These were the only uses of the conversion function, so that was removed from TAO_GIOP_Utils as well. Thu Nov 16 09:57:32 2000 Jeff Parsons * tao/TAO_Server_Request.cpp: * tao/TAO_Server_Request.h: Removed the environment argument from init_reply() - it's not used. * tao/PortableServer/DomainS.cpp: * tao/PortableServer/ImplRepoS.cpp: * tao/PortableServer/MessagingS.cpp: * tao/PortableServer/PolicyS.cpp: * tao/orbsvcs/IFR_Service/InterfaceS.cpp: Modified these files to conform to the change above. * TAO_IDL/be/be_visitor_interface/interface_ss.cpp: * TAO_IDL/be/be_visitor_operation/operation_ss.cpp: Modified code generation to conform to the change above. Thu Nov 16 08:15:37 2000 Balachandran Natarajan * tao/InterfaceC.cpp: * tao/Object.cpp: * tao/DomainC.cpp: The last set of changes broke the code guarded by TAO_HAS_INTERFACE_REPOSITORY == 1. Fixed the problem. Wed Nov 15 21:52:10 2000 Ossama Othman * tao/ORB_Table.cpp (bind): Made this method exception safe by storing the duplicated ID in a CORBA::String_var until it safe to transfer ownership to the ORB table. * orbsvcs/orbsvcs/SSLIOP.idl: Added ASN.1 (DER) certificate typedefs. These typedefs are defined by the Firewall specification. They are used by the soon to be added SSLIOP::Current object to return the peer certificate chain for the current SSL session as a sequence of octet sequences. Added new TAO-specific SSLIOP::Current interface definition. This interface can be used to obtain SSL session related information about the current execution context. Its implementation will soon be added. Wed Nov 15 21:35:17 2000 Balachandran Natarajan This set of changes have been motivated by the CORBA 2.4 spec. The spec specifies that the GIOP request header should not be padded to a 8 byte boundary, if there is no information or data that is sent along. In other words, Request headers for operations with no arguments should not be padded to a 8 byte boundary. Actually, the CORBA 2.4 spec has specified this only for the request header. But, the same argument has been extended to the reply header too. ORBIX 2000 already does this. If the operation returns a void and has no arguments, the reply header is not padded to an 8 byte boundary. So, the same has been done for TAO too. * TAO_IDL/be/be_visitor_operation/ami_cs.cpp: * TAO_IDL/be/be_visitor_operation/operation_cs.cpp: Set a flag for one of the arguments to the constructors of TAO_GIOP_invocation classes. The flag is set 1 if there are any arguments that are marshalled and 0 if there are no arguments that are marshalled. * TAO_IDL/be/be_visitor_operation/operation_ss.cpp: Added a line of generated code to set a flag in the TAO_Server_Request class if there are no arguments and return types for the operation that need to be marshalled. * tao/Invocation.h: * tao/Invocation.cpp: * tao/Invocation.i: * tao/Asynch_Invocation.h: * tao/Asynch_Invocation.cpp: * tao/Asynch_Invocation.i: Added an extra argument to the TAO_GIOP_Invocation classes. This argument is passed to the constructor of TAO_Operation_details. * tao/DynamicInterface/DII_Invocation.h: * tao/DynamicInterface/DII_Invocation.inl: * tao/DynamicInterface/Request.cpp: Made the above changes to these classes too. * tao/operation_details.h: * tao/operation_details.i: Added a argument to the constructor. Stored the argument in the class and provided an accessor for it. * tao/GIOP_Message_Accept_State.cpp: * tao/GIOP_Message_Acceptors.cpp: * tao/GIOP_Message_Connectors.cpp: Added a check to check to see whether the GIOP message is going to carry any data before we align the pointer to an 8 byte boundary. * tao/Pluggable_Messaging_Utils.h: * tao/TAO_Server_Request.h: * tao/TAO_Server_Request.cpp * tao/TAO_Server_Request.i: Added an extra flag and accessor for a flag that would be set by the generated code to 0 if there are no data that needs to be marshalled. * tao/CORBANAME_Parser.cpp: * tao/DomainC.cpp: * tao/PolicyC.cpp: * tao/PortableServer/ImplRepoC.cpp: Changed the arguments for the TAO_GIOP_invocation calls. * tao/IIOP_Connector.h: * tao/IIOP_Connector.cpp: * tao/Strategies/SHMIOP_Connector.cpp * tao/Strategies/SHMIOP_Connector.h * tao/Strategies/UIOP_Connector.cpp * tao/Strategies/UIOP_Connector.h: Totally unrelated to the above change. Added default constructors and derstructors as g++2.7.2 seems to be looking for it. Wed Nov 15 19:11:28 2000 Ossama Othman * orbsvcs/orbsvcs/Security.idl: * orbsvcs/orbsvcs/SecurityAdmin.idl: * orbsvcs/orbsvcs/SecurityLevel1.idl: * orbsvcs/orbsvcs/SecurityLevel2.idl: * orbsvcs/orbsvcs/SecurityReplaceabpe.idl: Updated against Security Service 1.8 final specification (security/00-11-03). Wed Nov 15 18:45:45 2000 Ossama Othman * tao/ClientRequestInfo.cpp (target, operation): * tao/PortableServer/ServerRequestInfo.cpp (operation): According to the C++ mapping, the caller is responsible for releasing returned values for both these cases (an object reference and a string, respectively). These methods now return duplicated value. This is the correct behavior. Wed Nov 15 18:38:31 2000 Carlos O'Ryan * */Makefile*: Update dependencies again. Always double check dependencies so that they look like this for generated files: .obj/Naming_Context_Interface.o [snip, snip] .shobj/Naming_Context_Interface.o: \ Naming/Naming_Context_Interface.cpp \ Naming/Naming_Context_Interface.h \ $(ACE_ROOT)/ace/pre.h \ CosNamingS.h \ CosNamingC.h \ if the absolute path shows up, or the .shobj or .obj directories are missing the the dependencies are broken. Wed Nov 15 10:46:24 2000 Ossama Othman * tao/ORBInitInfo.cpp: Added zero ORB core pointer checks. If the ORB core has been set to set zero by CORBA::ORB_init(), then ORB initialization is complete, and throw a CORBA::OBJECT_NOT_EXIST exception as stipulated by the Portable Interceptor specification. Thanks to Carlos for pointing out this check was missing. Wed Nov 15 09:56:21 2000 Carlos O'Ryan * tao/ORB_Core.h: * tao/ORB_Core.i: * tao/ORB_Core.cpp: Fix inconsistencies in the location of the timeout hooks. In some places it was inside a TAO_HAS_RELATIVE_ROUNDTRIP_TIMEOUT_POLICY, it other cases it ignored the pragma completely. Similar problems with the IOR interceptor accessors. * tao/PolicyFactory_Registry.h: Add missing #include * tao/Cleanup_Func_Registry.cpp: Fixed instantiation pragma Wed Nov 15 11:17:03 2000 Balachandran Natarajan * tao/Cleanup_Func_Registry.cpp: Added a missing a template instantiation for ACE_Array_Base * tao/ORB_Core.cpp: Added a missing template instantiation of ACE_Array_Base * tao/ORBInitInfo.cpp: Fixed a warning in gcc build Wed Nov 15 08:35:45 2000 Carlos O'Ryan * orbsvcs/orbsvcs/FaultTolerance/FT_PolicyFactory.h: To use the export macro we must #include the fault_tol_export.h file. Tue Nov 15 06:11:05 2000 Balachandran Natarajan * orbsvcs/orbsvcs/FaultTolerance/FT_PolicyFactory.h: Added the missing export macro. Wed Nov 15 03:57:26 2000 Ossama Othman * tao/Profile.cpp (add_tagged_component): Removed throw spec so that the method signature matches the declaration in Profile.h. Reported by Johnny Willemsen Wed Nov 15 03:51:53 2000 Ossama Othman * tao/IORInfo.cpp (add_ior_component_to_profile): In accordance with the PortableInterceptor specification, throw a CORBA::BAD_PARAM exception if no profile matches the given ProfileId. * tao/Profile.cpp (verify_orb_configuration, verify_profile_version): Updated comments that explain why a CORBA::BAD_PARAM exception is thrown. CORBA::BAD_PARAM is thrown in accordance with the PortableInterceptor spec. Wed Nov 15 03:39:56 2000 Ossama Othman * tao/ORB_Core.cpp (establish_components): According to the Portable Interceptors specification, IORInterceptor::establish_components() must not throw an exception. If it does, then the ORB is supposed to ignore it and continue processing the remaining IORInterceptors, so we now catch any exception and ignore it. Wed Nov 15 02:20:56 2000 Ossama Othman * tao/ORB_Core.i (tss_cleanup_funcs): Added missing "ACE_INLINE" keyword. Wed Nov 15 02:13:27 2000 Ossama Othman * tao/Interceptor_List.cpp: Made IORInterceptor support visible even if TAO_HAS_INTERCEPTORS == 0. However, IORInterceptor support will soon be disabled for the Minimum CORBA configuration. Wed Nov 15 01:48:29 2000 Ossama Othman * tao/Any.cpp (operator=): Removed redundant zero pointer checks. The delete() operator already performs zero pointer checks. * tao/Messaging_ORBInitializer.cpp (register_policy_factories): * tao/RT_ORBInitializer.cpp (register_policy_factories): The PolicyFactory registry duplicates policy factories upon registration. Removed call to PolicyFactory::_retn() since it causes a leak (off-by-one reference count error). * tao/Stub.h (TAO_Stub): * tao/Stub.cpp (TAO_Stub): Changed repository ID argument to be a "const char *" so that a copy is made. This makes it easier to keep code that creates a TAO_Stub exception safe since that code retains ownership of its copy of the repository ID. (set_policy_overrides): The TAO_Stub constructor now takes a "const char *" repository ID argument. Do not bother passing a copy to the constructor when instantiating a new TAO_Stub since the constructor will make a copy itself. * tao/CORBALOC_Parser.cpp (make_stub_from_mprofile): Cast zero argument to "const char *" since the TAO_Stub constructor now accepts a "const char *." * tao/Object.cpp (operator>>): Pass type hint using the ".in()" accessor instead of "._retn()." The TAO_Stub constructor now copies the string. This fixes a potential memory leak. * tao/ORB_Core.h: Doxygenated most of this header. (TAO_ORB_Core_TSS_Resources): Added array that can be used to store TSS objects. We're basically doing TSS emulation again here. This code maybe refactored to take advantage of ACE's TSS emulation class. (TAO_ORB_Core): Added new TAO_Cleanup_Func_Registry attribute. * tao/ORB_Core.i (add_interceptor, ior_interceptors): New methods for registering and accessing IOR interceptors. (get_tss_resource, set_tss_resource): New methods to access and set the ORB Core TSS resource at a given slot ID. (add_tss_cleanup_func): Register a TSS cleanup function. The slot ID for the corresponding ORB core TSS resource is returned by this method, too. * tao/ORB_Core.cpp (establish_components): New method that iterates over the registered IOR interceptors so that they may be given the opportunity to add tagged components to the profiles for a servant being created. (create_stub_object): Do not copy the repository ID string. The TAO_Stub constructor now copies it. This fixes a potential memory leak. Invoke the newly added establish_components() method to to process any registered IOR interceptors. (~TAO_ORB_Core_TSS_Resources): Invoke the TAO_Cleanup_Func_Registry::cleanup() on the TSS object array. * tao/IORInfo.h: * tao/IORInfo.cpp: Implementation of the PortableInterceptor::IORInfo interface. * tao/Profile.h: * tao/Profile.cpp (add_tagged_component): New method that adds an IOP::TaggedComponent to the profile's tagged component list. This method is used by TAO's IOR interceptor implementation. (verify_orb_configuration): New internal method that verifies that the ORB configuration will not prevent tagged components from being used. (verify_profile_version): New internal method that verifies that the profile is GIOP 1.0 or better. Tagged components can only be used in GIOP 1.1 profiles or better. * tao/corbafwd.h: Typedef CORBA::OctetSeq{_var,_out} against the generated CORBA_OctetSeq classes, instead of the raw TAO_Unbounded_Sequence template. This is necessary in case users need access to the Any insertion/extraction operators. * tao/Principal.h: Include "OctetSeqC.h" to pull in CORBA::OctetSeq class definition. * tao/Interceptor_List.h: * tao/Interceptor_List.inl: * tao/Interceptor_List.cpp: Added IOR interceptor list support. * tao/ORBInitInfo.h (TAO_ORBInitInfo): Removed the "arguments_" attribute. Caching the string sequence doesn't buy us anything since a copy must be made whenever returning it. See below. * tao/ORBInitInfo.cpp (TAO_ORBInitInfo): Defer creation of the string sequence containing the argument vector passed to CORBA::ORB_init() until the ORBInitInfo::arguments() method is called. Since a copy of the sequence has to be returned to the caller anyway, creating the string sequence so early doesn't buy us anything. This also reduces memory usage for those who never need to call the ORBInitInfo::arguments() method. (arguments): In accordance with the C++ mapping for sequences, return a copy of the argument string sequence. (resolve_initial_references): The ORB is practically fully initialized by the time ORBInitInfo::post_init() is reached so just use the ORB's resolve_initial_references() mechanism. (add_ior_interceptor): Added IOR interceptor registration support. (allocate_tss_slot_id): Allocate a slot in the ORB's TSS resources. TAO uses a single TSS key for these resources, so it is useful to place TSS objects in TAO's TSS resources on platforms where the number of TSS keys is low. The returned SlotId can be used to index into the array stored in ORB's TSS resources structure. An accompanying cleanup function (e.g. a TSS destructor) can also be registered. This is a TAO extension. * tao/ORB.cpp (ORB_init): Invalidate the ORBInitInfo instance to prevent future modifications to the ORB. This behavior complies with the PortableInterceptor specification. * tao/Cleanup_Func_Registry.h: * tao/Cleanup_Func_Registry.cpp: New class that contains the TSS destructors corresponding to the TSS objects stored in the newly added array in TAO's TSS resources. * tao/PortableInterceptors.h: Moved inclusion of `PortableInteceptor.i' within the "TAO_HAS_INTERCEPTORS" block. * tao/ORBInitializer_Registry.h: * tao/PolicyFactory_Registry.h: Doxygenated these headers. * tao/ORBInitializer_Registry.cpp: * tao/PolicyFactory_Registry.cpp: Comment updates. * tao/MProfile.cpp: Coding style updates. * tao/Makefile: * tao/Makefile.bor: * tao/TAO.dsp: * tao/TAO_Static.dsp: Added Cleanup_Func_Registry.* and IORInfo.* to these files. Wed Nov 15 00:04:30 2000 Marina Spivak * tao/PortableServer/POA.cpp (key_to_stub_i): Fixed Minimum CORBA compile problem by moving portion of the if test under TAO_HAS_RTCORBA protection. Tue Nov 14 19:15:04 2000 Carlos O'Ryan * orbsvcs/orbsvcs/Makefile.SSLIOP: * orbsvcs/orbsvcs/Makefile.Security: * orbsvcs/examples/Security/Send_File/Makefile: Update dependencies Tue Nov 14 21:16:05 2000 Balachandran Natarajan * orbsvcs/orbsvcs/Fault_Tolerance.dsp: Added new files. Tue Nov 14 20:04:05 2000 Balachandran Natarajan * orbsvcs/orbsvcs/FaultTolerance/FT_Service_Activate.cpp: * orbsvcs/orbsvcs/FaultTolerance/FT_PolicyFactory.h: * orbsvcs/orbsvcs/FaultTolerance/FT_PolicyFactory.cpp: Fixed warnings and compile errors in gcc 2.95.2 * orbsvcs/orbsvcs/Makefile.FaultTolerance: Updated dependencies. Tue Nov 14 19:45:19 2000 Jeff Parsons * tao/TAO.dsp: * tao/TAO_Static.dsp: Added missing header and inline files, and removed files that no longer exist or have been moved to another library. * tao/poa_macros.h: Removed this file from the repository, since there is now a duplicate in tao/PortableServer Tue Nov 14 19:35:29 2000 Balachandran Natarajan * tao/Connection_Cache_Manager.cpp (close_i): * tao/Connection_Handler.inl: Fixed a subtle bug that showed up only on NT. This has to do with marking the handler as closed when the handler gets destroyed. In many cases the Connection Cache would be closed before the handler gets destroyed. So, we can explicitly set the Cache Map Entry pointer to null when we shutdown the Connection Cache. This helps to make a check for a null before we go to mark the handler as closed. Tue Nov 14 16:29:20 2000 Priyanka Gontla * tests/RTCORBA/Server_Declared/server.conf: Updated to have only one entry rather than two entries, one for default-resource and the other for advanced_resource. Thanks to Marina for pointing out. * tao/Strategies/advanced_resource.cpp (allocate_reactor_impl): Made TAO_Reactor_TP as the default ReactorType to be consistent with the default_resource.cpp Tue Nov 14 18:21:29 2000 Balachandran Natarajan * orbsvcs/orbsvcs/FaultTolerance/FT_Service_Activate.cpp: * orbsvcs/orbsvcs/FaultTolerance/FT_Service_Activate.h: * orbsvcs/orbsvcs/FaultTolerance/FT_Service_Callbacks.h: * orbsvcs/orbsvcs/FaultTolerance/FT_Service_Callbacks.cpp: * orbsvcs/orbsvcs/FaultTolerance/FT_ORBInitializer.h: * orbsvcs/orbsvcs/FaultTolerance/FT_ORBInitializer.cpp: * orbsvcs/orbsvcs/FaultTolerance/FT_PolicyFactory.h: * orbsvcs/orbsvcs/FaultTolerance/FT_PolicyFactory.cpp: Changed the way FT policies were created. The procedure adopted now is in conformance with the PotrableInterceptor spec. The model closely follows the creation of policies for RT CORBA and Messaging in TAO. * tao/ORB_Core.h: * tao/ORB_Core.i: * tao/ORB_Core.cpp: * tao/PolicyFactory_Registry.h: * tao/PolicyFactory_Registry.cpp: * tao/Service_Callbacks.h: * tao/Service_Callbacks.cpp: Removed the hooks that were there for the creation of FT policies. Tue Nov 14 15:41:42 2000 Darrell Brunsch * tao/Strategies/TAO_Strategies_Static.dsp: Updated the Win32 Static Release definitions Tue Nov 14 14:59:47 2000 Darrell Brunsch * orbsvcs/ImplRepo_Service/ImplRepo.cpp: * orbsvcs/ImplRepo_Service/Options.cpp: * orbsvcs/ImplRepo_Service/Options.h: Added the ability to get some options from the registry when running as a service. Will be updating the docs soon to explain how this works. * orbsvcs/tests/ImplRepo/run_test.pl: Fixed to run both_ir_test () instead of both_ir () by default. Tue Nov 14 10:41:03 2000 Priyanka Gontla * tests/RTCORBA/Server_Protocol/client_nt.conf: * tests/RTCORBA/Client_Protocol/run_test.pl: * tests/RTCORBA/Server_Protocol/client_nt.conf: * tests/RTCORBA/Server_Protocol/run_test.pl: Updated to make some minor changes to make them run on NT. Tue Nov 14 12:36:31 2000 Jeff Parsons * tao/Asynch_Invocation.cpp: * tao/Asynch_Invocation.h: * tao/Invocation.cpp: * tao/Invocation.h: Added default constructors to all invocation base classes, in order to make old g++ happy. Tue Nov 14 09:30:36 2000 Priyanka Gontla * tests/RTCORBA/Server_Protocol/svc.conf : Added a deafault svc.conf for the client to use to load the protocols. * tests/RTCORBA/Server_Declared/server.conf : Corrected the conf file to remove the repetitive inclusion of the -ORBReactorType option. * tests/RTCORBA/Client_Propagated/server.cpp : * tests/RTCORBA/Client_Propagated/client.cpp : Removed unncessary inclusion of header files. Thanks to Marina for pointing out. Tue Nov 14 10:48:00 2000 Balachandran Natarajan * tao/IIOP_Connector.cpp: * tao/IIOP_Connector.h : Added a default destructor for TAO_IIOP_Connector class. This should fix the g++ 2.7.2 problem in the builds. Tue Nov 14 08:50:56 2000 Carlos O'Ryan * utils/IOR-parser/Makefile: * utils/catior/Makefile: * utils/nslist/Makefile: Update dependencies Tue Nov 14 06:56:11 2000 Balachandran Natarajan * tao/Connection_Cache_Manager.cpp: Fixed a compiler error in VC++. Looks like VC++ does not like the same variable declaration in two different for loops. Tue Nov 14 01:51:49 2000 Marina Spivak * tao/Invocation.h * tao/Invocation_Endpoint_Selectors.cpp * tao/Invocation_Endpoint_Selectors.h * tao/Invocation_Endpoint_Selectors.i * tao/ORB_Core.h * tao/ORB_Core.i: * tao/ORB_Core.cpp: Added two new endpoint selector strategies for use when RTCORBA::PriorityBandedConnection policy is enabled: TAO_Bands_Endpoint_Selector and TAO_Bands_Protocol_Selector. * tao/PortableServer/POA.cpp * tao/PortableServer/POA.h * tao/PortableServer/POA.i: Added validity checks for RTCORBA::PriorityBandedConnection policy. Mon Nov 13 19:22:35 2000 Priyanka Gontla * tests/RTCORBA/Server_Protocol/server.conf: * tests/RTCORBA/Server_Protocol/run_test.pl: * tests/RTCORBA/Server_Protocol/Server.dsp * tests/RTCORBA/Server_Protocol/client.dsp Modified the perl script and the service conf file to run only those tests wherein SHMIOP and UIOP are not made POA Server protocols. Updated the project files to link TAO_Strategies. Mon Nov 13 20:44:25 2000 Balachandran Natarajan * tao/Invocation.cpp: Commented the line make_idle () call on the transport after the connection is closed. * tao/Connection_Handler.inl: * tao/Connection_Cache_Manager.cpp: * tao/Connection_Cache_Manager.h: * tao/Connection_Cache_Manager.inl: Fixed a bug in the Faults test. This needed marking the Hash_Map entry as "closed" for the handler whose ref_count goes to zero. During shutdown of the Connection_Cache, we can just purge those entries first, before we iterate over the map to determine the handlers that are registered with the reactor. Mon Nov 13 18:14:35 2000 Priyanka Gontla * tests/RTCORBA/Server_Declared/server.conf: * tests/RTCORBA/Server_Declared/run_test.pl: * tests/RTCORBA/Server_Declared/Server.dsp * tests/RTCORBA/Server_Declared/client.dsp Made minor changes to get the test running. Updated the project files to link TAO_Strategies. Mon Nov 13 18:00:15 2000 Priyanka Gontla * tests/RTCORBA/Client_Propagated/svc.conf: * tests/RTCORBA/Client_Propagated/run_test.pl: * tests/RTCORBA/Client_Propagated/client.dsp * tests/RTCORBA/Client_Propagated/server.dsp Modified the perl script and the service conf file to run only those tests wherein SHMIOP and UIOP are not made POA Server protocols. Updated the project files to link TAO_Strategies. Mon Nov 13 16:12:15 2000 Priyanka Gontla * tests/RTCORBA/Client_Protocol/svc_unix.conf: * tests/RTCORBA/Client_Protocol/svc_nt.conf.conf: * tests/RTCORBA/Client_Protocol/run_test.pl: * tests/RTCORBA/Client_Protocol/Client_Protocol.dsw Was trying to load UIOP_Factory even on NT. Corrected it. Updated the project files to link TAO_Strategies. Mon Nov 13 17:40:44 2000 Jeff Parsons * tao/Invocation.i: Added missing ACE_INLINE for destructor of TAO_GIOP_Locate_Request_Invocation. Mon Nov 13 16:59:47 2000 Jeff Parsons * */Makefile*: Updated dependencies. Mon Nov 13 16:50:13 2000 Jeff Parsons * tao/Asynch_Reply_Dispatcher.cpp: Removed unused arguments. Mon Nov 13 14:35:33 2000 Jeff Parsons * tao/Reply_Dispatcher.cpp: * tao/Reply_Dispatcher.h: * tao/Reply_Dispatcher.i: * tao/Synch_Reply_Dispatcher.cpp: * tao/Synch_Reply_Dispatcher.h: Moved member and accessor function reply_status to base class, since it is common to all reply dispatcher concrete classes. * tao/Asynch_Reply_Dispatcher.cpp: * tao/Asynch_Reply_Dispatcher.h: * tao/Asynch_Reply_Dispatcher.i: * tao/DynamicInterface/DII_Reply_Dispatcher.cpp: * tao/DynamicInterface/DII_Reply_Dispatcher.h: Added new base class TAO_Asynch_Reply_Dispatcher_Base to hold common code for TAO_Asynch_Reply_Dispatcher and TAO_DII_Deferred_Reply_Dispatcher. * tao/Invocation.cpp: * tao/Invocation.h: * tao/Invocation.i: * tao/DynamicInterface/DII_Invocation.cpp: * tao/DynamicInterface/DII_Invocation.h: * tao/DynamicInterface/DII_Invocation.inl: * tao/DynamicInterface/Request.cpp: Moved some code from the subclasses' start() method to that of the base class, which is called by all the start() methods. Also moved the invoke() method of TAO_GIOP_Twoway_Invocation that was specific to DII requests out to the DynamicInterface library into a new class called TAO_GIOP_DII_Invocation. Also created new base class TAO_GIOP_Synch_Invocation, to be the parent of TAO_GIOP_Twoway_Invocation, TAO_GIOP_Oneway_Invocation, and TAO_GIOP_Locate_Request_Invocation. The invoke_i method of the first of these subclasses was moved to the base class, with minor changes, and the invoke() methods of the latter two subclasses were modified to use this relocated invoke_i(). * tao/Asynch_Invocation.cpp: * tao/Asynch_Invocation.h: * tao/Asynch_Invocation.i: Created new base class TAO_GIOP_Asynch_Invocation to be the parent of TAO_GIOP_Twoway_Asynch_Invocation and TAO_GIOP_DII_Deferred_Invocation, and to hold code common to these latter two classes. * tao/Dynamic_Adapter.cpp: * tao/Dynamic_Adapter.h: * tao/DynamicInterface/Dynamic_Adapter_Impl.cpp: * tao/DynamicInterface/Dynamic_Adapter_Impl.h: Removed method decode_exception, since the method in TAO_GIOP_Twoway_Invocation from which it was called is now in the DynamicInterface library. * tao/Synch_Reply_Dispatcher.i: * tao/DynamicInterface/DII_Reply_Dispatcher.inl: Removed these files from CVS. * tao/TAO.dsp: * tao/TAO_Static.dsp: * tao/DynamicInterface/TAO_DynamicInterface.dsp: Removed the above two files from these projects. Mon Nov 13 11:19:22 2000 Balachandran Natarajan * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connect.cpp: Fixed a compile error. Thanks to Christopher Kohloff for reporting this. For some strange reasons this was missed by the SunCC5 compiler. Mon Nov 13 10:20:48 2000 Jeff Parsons * TAO_IDL/be/be_visitor_argument/request_info_ch.cpp: In ClientRequestInfo subclass generation, changed the type of private valuetype member for an IN argument from *& to *. Again, thanks to Johnny Willemsen for pointing this out. Mon Nov 13 09:50:06 2000 Balachandran Natarajan * tao/IIOP_Connect.cpp (open): * tao/Service_Callbacks.h: * tao/Service_Callbacks.cpp: * tao/ORB_Core.h: * tao/ORB_Core.cpp: * tao/ORB_Core.i: * tao/PortableServer/Servant_Base.cpp: * orbsvcs/orbsvcs/FaultTolerance/FT_Service_Callbacks.h: * orbsvcs/orbsvcs/FaultTolerance/FT_Service_Callbacks.cpp: Added hooks for the implementation of the Logging & Recovery. This will be implemented by Andy & Oscar at Bell-Labs. Mon Nov 13 02:13:54 2000 Darrell Brunsch * tao/Strategies/TAO_Strategies.dsp: An ACE_HAS_STRATEGIES_DLL was being defined for the cpp files, which was preventing anything from being exported. Removed it and things look happy on Win32 Release now. * tao/Strategies/TAO_Strategies_Static.dsp: Changed the configurations to Win32 Static Debug and Win32 Static Release. Mon Nov 13 08:46:40 2000 Johnny Willemsen * orbsvcs/ImplRepo_Service/ImplRepo.bor: Added missing backslash. Sun Nov 12 17:31:40 2000 Darrell Brunsch * orbsvcs/ImplRepo_Service/ImplRepo.bor: Removed rogue backslash. * tao/tao_ce.dsp: (removed) * tao/tao_ce.dsw: (removed) Until we put some serious effort into porting TAO to Windows CE, these files are misleading and most likely very out of date. Sun Nov 12 12:41:19 2000 Darrell Brunsch * orbsvcs/ImplRepo_Service/Iterator.cpp: Fixed @file comment. Sat Nov 11 21:01:31 2000 Darrell Brunsch * orbsvcs/ImplRepo_Service/implrepo.dsp: Added some Win32 libraries to the release configuration link settings for the NT Service system calls. Sat Nov 11 11:33:06 2000 Balachandran Natarajan * tests/Xt_Stopwatch/client.cpp: * tests/Xt_Stopwatch/test_i.cpp: * tests/Xt_Stopwatch/test_i.h: * tests/Xt_Stopwatch/Control.h: * tests/Xt_Stopwatch/Control.cpp: * tests/Xt_Stopwatch/Stopwatch_display.h: * tests/Xt_Stopwatch/Stopwatch_display.cpp: * tests/Xt_Stopwatch/Client.h: * tests/Xt_Stopwatch/timer.cpp: * tests/Xt_Stopwatch/timer.h: * tests/QtTest/client.cpp: Added #if defined guards in all these files so that they compile clean even in default configuration. * tests/Xt_Stopwatch/Makefile: * tests/QtTest/Makefile: Updated the library names against which they are linked. Thanks to Wei Zheng for reporting these problems. Sat Nov 11 10:19:06 2000 Carlos O'Ryan * orbsvcs/orbsvcs/ESF/ESF_Delayed_Changes.h: * orbsvcs/orbsvcs/ESF/ESF_Immediate_Changes.h: * orbsvcs/orbsvcs/ESF/ESF_Peer_Workers.h: * orbsvcs/orbsvcs/Event/EC_Busy_Lock.h: * orbsvcs/orbsvcs/Event/EC_QOS_Info.h: * orbsvcs/orbsvcs/Event/EC_Trivial_Supplier_Filter.h: Change the @file comments, the Fuzz build detected the problem. * tests/Xt_Stopwatch/client.cpp: * tests/Xt_Stopwatch/test_i.cpp: * tests/Xt_Stopwatch/test_i.h: * tests/Xt_Stopwatch/Control.h: * tests/Xt_Stopwatch/Control.cpp: * tests/Xt_Stopwatch/Stopwatch_display.h: * tests/Xt_Stopwatch/Stopwatch_display.cpp: * tests/Xt_Stopwatch/Client.h: * tests/Xt_Stopwatch/timer.cpp: * tests/Xt_Stopwatch/timer.h: * tests/QtTest/client.cpp: Added #if defined guards in all these files so that they compile clean even in default configuration. * tests/Xt_Stopwatch/Makefile: * tests/QtTest/Makefile: Updated the library names against which they are linked. Sat Nov 11 07:28:50 2000 Balachandran Natarajan * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connect.cpp: Propagated the fixes that was done other protocols. Fri Nov 10 18:24:53 2000 Priyanka Gontla * tests/RTCORBA/Server_Declared/server.conf: * tests/RTCORBA/Client_Protocol/svc.conf: * tests/RTCORBA/Server_Protocol/server_reverse_nt.conf: * tests/RTCORBA/Server_Protocol/server_uiop.conf: * tests/RTCORBA/Server_Protocol/server_reverse.conf: * tests/RTCORBA/Server_Protocol/server_shmiop.conf: * tests/RTCORBA/Server_Protocol/server_uiop.conf: * tests/RTCORBA/Server_Protocol/server.conf: * tests/RTCORBA/MT_Client_Protocol_Priority/server.conf: Updated to load the advanced strategies dynamically. * tests/RTCORBA/MT_Client_Protocol_Priority/Makefile: * tests/RTCORBA/Server_Protocol/Makefile: * tests/RTCORBA/Server_Declared/Makefile : * tests/RTCORBA/Client_Propagated/Makefile : * tests/RTCORBA/Client_Protocol/Makefile: Updated to link TAO_Strategies. Fri Nov 10 17:28:50 2000 Balachandran Natarajan * tao/Strategies/SHMIOP_Connect.cpp: * tao/Strategies/UIOP_Connect.cpp: * tao/IIOP_Connect.cpp: Fixed a problem with thread-per-connection case. The event handler was getting destroyed before the ORB shuts down the Cache. This lead to cache shutdown problem. Fri Nov 10 13:06:27 2000 Darrell Brunsch * orbsvcs/ImplRepo_Service/NT_Service.cpp: * orbsvcs/ImplRepo_Service/NT_Service.h: * orbsvcs/ImplRepo_Service/ImplRepo.cpp: Forgot to #ifdef out on non-win32 platforms. Fri Nov 10 12:41:32 2000 Darrell Brunsch * orbsvcs/ImplRepo_Service/Adapter_Activator.cpp: (added) * orbsvcs/ImplRepo_Service/Adapter_Activator.h: (added) * orbsvcs/ImplRepo_Service/Forwarder.cpp: (added) * orbsvcs/ImplRepo_Service/Forwarder.h: (added) * orbsvcs/ImplRepo_Service/ImplRepo.bor: * orbsvcs/ImplRepo_Service/ImplRepo.cpp: * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp: * orbsvcs/ImplRepo_Service/ImplRepo_i.h: * orbsvcs/ImplRepo_Service/Iterator.cpp: (added) * orbsvcs/ImplRepo_Service/Iterator.h: (added) * orbsvcs/ImplRepo_Service/Locator.cpp: (added) * orbsvcs/ImplRepo_Service/Locator.h: (added) * orbsvcs/ImplRepo_Service/Makefile: * orbsvcs/ImplRepo_Service/Makefile.am: * orbsvcs/ImplRepo_Service/NT_ImplRepo_Server.cpp: (removed) * orbsvcs/ImplRepo_Service/NT_ImplRepo_Service.cpp: (removed) * orbsvcs/ImplRepo_Service/NT_ImplRepo_Service.h: (removed) * orbsvcs/ImplRepo_Service/NT_Service.cpp: (added) * orbsvcs/ImplRepo_Service/NT_Service.h: (added) * orbsvcs/ImplRepo_Service/Options.cpp: * orbsvcs/ImplRepo_Service/Options.h: * orbsvcs/ImplRepo_Service/README.txt: (added) * orbsvcs/ImplRepo_Service/Repository.cpp: * orbsvcs/ImplRepo_Service/Repository.h: * orbsvcs/ImplRepo_Service/implrepo.dsp: * orbsvcs/ImplRepo_Service/tao_imr.cpp: * orbsvcs/ImplRepo_Service/tao_imr_i.cpp: * orbsvcs/ImplRepo_Service/tao_imr_i.h: First split up the ImplRepo_Service into separate files, around one per class. Also doxygenated the ImplRepo documentation. Finally, merged the two * orbsvcs/tests/ImplRepo/airplane_client_i.h: * orbsvcs/tests/ImplRepo/airplane_i.h: * orbsvcs/tests/ImplRepo/airplane_server_i.h: * orbsvcs/tests/ImplRepo/nestea_client_i.h: * orbsvcs/tests/ImplRepo/nestea_i.h: * orbsvcs/tests/ImplRepo/nestea_server_i.h: Doxygenation. * orbsvcs/tests/ImplRepo/run_test.pl: First, defaults to both_ir if no testname is passed in. Changed the NT_Service test around a bit. The executable changed and started running things from the bin directory, so when it runs as a service it automatically finds the DLL's it needs. * TAOACE.dsw: * orbsvcs/ImplRepo_Service/NT_ImplRepo_Service.dsp: (removed) * orbsvcs/ImplRepo_Service/ImplRepo.dsw: * orbsvcs/tests/ImplRepo/ImplRepo.dsw: Removed NT_ImplRepo_Service.dsp, since the functionality was moved into ImplRepo_Service itself. Fri Nov 10 12:06:42 2000 Priyanka Gontla * performance-tests/Latency/Makefile : * performance-tests/Latency/st_client.conf: * performance-tests/Latency/client-st-exclusive.conf: * performance-tests/Latency/client-mt-exclusive.conf: * performance-tests/Latency/st_server.conf: Linked TAO_Startegies and dynamically loaded the Advanced Resource Factory in the service conf files. Fri Nov 10 11:54:11 2000 Carlos O'Ryan * tests/NestedUpcall/Simple/client.cpp: Removed extra return to avoid unreachable statement warnings. Fri Nov 10 12:49:51 2000 Pradeep Gore * orbsvcs/orbsvcs/Notify/Notify_FilterAdmin_i.cpp: Added patch to implement get_all_filters supplied by Joachim Tremouroux Fri Nov 10 10:14:50 2000 Priyanka Gontla * TAO/tests/RTCORBA/server_protocol/run_test.pl Modified the options to not load UIOP and SHMIOP in the case where no config file is used. * TAO/tests/Leader_Followers/client.dsp : * TAO/tests/Leader_Followers/server.dsp : * TAO/tests/NestedUpcall/Simple/client.dsp : * TAO/tests/NestedUpcall/Simple/server.dsp : * TAO/tests/Param_Test/anyop.dsp : * TAO/tests/Param_Test/client.dsp : * TAO/tests/Param_Test/server.dsp : * TAO/tests/RTCORBA/Server_Protocol/client.dsp * TAO/tests/RTCORBA/server_protocol/server.dsp * TAO/performace_tests/Cubit/TAO/IDL_Cuibt/client.dsp * TAO/performace_tests/Cubit/TAO/IDL_Cuibt/server.dsp Updated to link TAO_Strategies library. Fri Nov 10 10:14:04 2000 Carlos O'Ryan * tao/Connection_Cache_Manager.cpp: Protect naked debug message with a if(TAO_debug_level > 0) Fri Nov 10 10:12:29 2000 Darrell Brunsch * tao/Strategies/TAO_Strategies.dsp: Fixed the include paths in the Release configuration. Fri Nov 10 08:59:50 2000 Jeff Parsons * tao_idl/be/be_visitor_argument/request_info_sh.cpp: In request info class generation, changed the generation of a private member which is a valuetype from '*&' to '*' for an IN argument, to match the generation of the valuetype in the class constructor arglist. This discrepancy caused BCB builds to fail in AMI_Test. Thanks to Johnny Willemsen for pointing it out. Fri Nov 10 09:20:58 2000 Johnny Willemsen * */Makefile.bor: Several new makefile.bor files added so that all examples/tests for which Borland makefiles are available will be build in a full build. Fri Nov 10 08:56:58 2000 Johnny Willemsen * tao/Makefile.bor: Removed the TAO Strategies files because they are moved to the new Strategies directory * tao/Strategies/Makefile.bor: Added new Borland C++ Builder specific makefile Thu Nov 9 19:09:58 2000 Carlos O'Ryan * tao/Connection_Handler.h: Add missing TAO_Export macro, needed for Win32 builds. Thu Nov 9 20:56:30 2000 Balachandran Natarajan * tao/UIOP_Connect.cpp: * tao/SHMIOP_Connect.cpp: These two files were removed. I checked them back in by mistake. Thu Nov 9 20:07:55 2000 Balachandran Natarajan * tao/Connection_Cache_Manager.cpp: * tao/Cache_Entries.inl: Fixed a problem for multi-threaded case. * tao/IIOP_Connect.cpp: * tao/UIOP_Connect.cpp: * tao/SHMIOP_Connect.cpp: Minor cosmetic changes. * tao/default_resource.h: Fixed a compile error. Thu Nov 9 17:54:21 2000 Carlos O'Ryan * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp: * orbsvcs/orbsvcs/Notify/Notify_Filter_i.cpp: * orbsvcs/orbsvcs/Trader/Trading_Loader.cpp: * orbsvcs/tests/Event/Performance/Latency.cpp: * orbsvcs/tests/Event/Performance/Latency_Server.cpp: * tests/Exposed_Policies/client.cpp: * tests/Exposed_Policies/server.cpp: * tests/ORB_destroy/ORB_destroy.cpp: * tests/Portable_Interceptors/Benchmark/interceptors.cpp: * tests/Portable_Interceptors/Dynamic/interceptors.cpp: Fixed warnings and errors in a variety of platforms and/or configurations. For example: unused variables (or variables not used in release builds), files that could not compile in minimum CORBA builds, and explicit template instantiations for inline=0 builds. * utils/catior/Makefile: * utils/catior/catior.cpp: Updated to use the new TAO_Strategies library. * tao/Makefile: Add missing files to the TEMPLATE_FILES list. * release.chk: Removed obsolete file. Thu Nov 9 17:49:45 2000 Darrell Brunsch * tao/TAO_Static.dsp: Missed a handful of moved files here. Thu Nov 9 16:22:12 2000 Priyanka Gontla * tests/InterOp-Naming/Makefile: Corrected a typo. Thu Nov 9 15:56:31 2000 Priyanka Gontla * tao/Strategies/advanced_resource.i: Added the missing $Id: string Thu Nov 9 14:59:09 2000 Priyanka Gontla * tao/Strategies/uiop_endpoints.i: Corrected TAO_Export to TAO_Strategies_Export. Thu Nov 9 14:07:40 2000 Darrell Brunsch * tao/TAO.dsp: Removed all the files that were previously moved to TAO_Strategies.dsp. * tao/TAO.dsw: Added the new TAO_Strategies projects. Thu Nov 9 10:59:12 2000 Priyanka Gontla * TAO/TAOACE.dsw * TAO/TAOACE_Static.dsw Updated the workspaces to include the new TAO_Strategies project files. * tao/Strategies/TAO_Strategies.dsp * tao/Strategies/TAO_Strategies_Static.dsp Added project files for the TAO_Strategies library. Thu Nov 9 10:38:19 2000 Priyanka Gontla * tao/Makefile: Updated the Makefile to include the new directory 'Strategies' for the library TAO_Strategies. The new library contains all the advanced TAO strategies: The UIOP and SHMIOP protocol factories, all the reactor types except TP_Reactor which is now the default reactor, the Direct and Linear Priority Mappings in the case of the priority mapping type and TAO_ALLOCATOR_NULL_LOCK cdr_allocator_type. * tao/Resource_Factory.h: * tao/Resource_Factory.cpp: Added a new virtual method load_default_protocols which is implemented in default_resource to laod the default IIOP protocol. We need this new function so that the advanced_resource can call this to just load IIOP protocol and do nothing else. * tao/Strategies/strategies_export.h: Generated for the new TAO_Strategies_Export macro. * tao/TAO_Internal.h: * tao/TAO_Internal.cpp: * tao/Strategies/TAO_Strategies_Internal.h: * tao/Strategies/TAO_Strategies_Internal.cpp: This is similar to the TAO_Internal. Has code related to UIOP and SHMIOP protocol factories which were in TAO_Internal previously. * tao/default_resource.h: * tao/default_resource.i: * tao/default_resource.cpp: * tao/Strategies/advanced_resource.h: * tao/Strategies/advanced_resource.i: * tao/Strategies/advanced_resource.cpp: Only the default strategies and reactor types are in default_resource now. Every other strategy is moved to advanced_resource. * tao/Strategies/uiop_endpoints.h: * tao/Strategies/uiop_endpoints.i: * tao/Strategies/uiop_endpoints.cpp: * tao/Strategies/UIOP_Transport.h: * tao/Strategies/UIOP_Transport.i: * tao/Strategies/UIOP_Transport.cpp: * tao/Strategies/UIOP_Profile.h: * tao/Strategies/UIOP_Profile.i: * tao/Strategies/UIOP_Profile.cpp: * tao/Strategies/UIOP_Lite_Factory.h: * tao/Strategies/UIOP_Lite_Factory.i: * tao/Strategies/UIOP_Lite_Factory.cpp: * tao/Strategies/UIOP_Factory.h: * tao/Strategies/UIOP_Factory.i: * tao/Strategies/UIOP_Factory.cpp: * tao/Strategies/UIOP_Endpoint.h: * tao/Strategies/UIOP_Endpoint.i: * tao/Strategies/UIOP_Endpoint.cpp: * tao/Strategies/UIOP_Connector.h : * tao/Strategies/UIOP_Connector.i : * tao/Strategies/UIOP_Connector.cpp : * tao/Strategies/UIOP_Connect.h: * tao/Strategies/UIOP_Connect.i: * tao/Strategies/UIOP_Connect.cpp: * tao/Strategies/UIOP_Acceptor.h: * tao/Strategies/UIOP_Acceptor.i: * tao/Strategies/UIOP_Acceptor.cpp: * tao/Strategies/SHMIOP_Transport.h: * tao/Strategies/SHMIOP_Transport.i: * tao/Strategies/SHMIOP_Transport.cpp: * tao/Strategies/SHMIOP_Profile.i: * tao/Strategies/SHMIOP_Profile.h: * tao/Strategies/SHMIOP_Profile.cpp: * tao/Strategies/SHMIOP_Factory.h: * tao/Strategies/SHMIOP_Factory.i: * tao/Strategies/SHMIOP_Factory.cpp: * tao/Strategies/SHMIOP_Endpoint.h: * tao/Strategies/SHMIOP_Endpoint.i: * tao/Strategies/SHMIOP_Endpoint.cpp: * tao/Strategies/SHMIOP_Connector.h: * tao/Strategies/SHMIOP_Connector.i: * tao/Strategies/SHMIOP_Connector.cpp: * tao/Strategies/SHMIOP_Connect.h: * tao/Strategies/SHMIOP_Connect.i: * tao/Strategies/SHMIOP_Connect.cpp: * tao/Strategies/SHMIOP_Acceptor.h: * tao/Strategies/SHMIOP_Acceptor.i: * tao/Strategies/SHMIOP_Acceptor.cpp: * tao/Strategies/Reactor_Per_Priority.h: * tao/Strategies/Reactor_Per_Priority.i: * tao/Strategies/Reactor_Per_Priority.cpp: * tao/Strategies/Linear_Priority_Mapping.h: * tao/Strategies/Linear_Priority_Mapping.i: * tao/Strategies/Linear_Priority_Mapping.cpp: * tao/Strategies/Direct_Priority_Mapping.h: * tao/Strategies/Direct_Priority_Mapping.i: * tao/Strategies/Direct_Priority_Mapping.cpp: Moved all these files from tao to Strategies/ and made the appropriate cosmetic changes. * tao/Strategies/tests/simple_test.idl: * tao/Strategies/tests/simple_test_i.h: * tao/Strategies/tests/simple_test_i.i: * tao/Strategies/tests/simple_test_i.cpp: * tao/Strategies/tests/server.cpp: * tao/Strategies/tests/client.cpp: * tao/Strategies/tests/svc.conf: * tao/Strategies/tests/advanced_svc.conf: * tao/Strategies/tests/README: * tao/Strategies/tests/Makefile: Added a simple test to show the ways of loading the default and advanced strategies. * tests/RTCORBA/Server_Protocol/server_uiop.conf: * tests/RTCORBA/Server_Protocol/server_shmiop.conf: * tests/RTCORBA/Server_Protocol/server_reverse_nt.conf: * tests/RTCORBA/Server_Protocol/server_reverse.conf: * tests/RTCORBA/Server_Protocol/server.conf: * tests/RTCORBA/Server_Protocol/Makefile: * tests/Param_Test/Makefile: * tests/NestedUpcall/Simple/svc.conf: * tests/NestedUpcall/Simple/Makefile: * tests/Leader_Followers/run_test.pl: * tests/Leader_Followers/Makefile: * tests/InterOp-Naming/Makefile: Modified the Makefiles to link the new TAO_Strategies library. Modified the service config files to correctly load the needed protocols and startegies owing to the new changes. Thu Nov 9 09:49:02 2000 Carlos O'Ryan * tao/PortableInterceptorC.cpp: The header file lacked a TAO_HAS_INTERCEPTORS protection, but the .cpp file did, this resulted in compilation problems under minimum CORBA builds. I removed the protections in the .cpp file, but probably the correct fix would be to add them into the .h file and figure out what is using PortableInterceptors even when they are supposedly disabled. Wed Nov 8 20:01:40 2000 Pradeep Gore * tao/ORB.cpp: init_orb_globals() returns void, changed to ACE_CHECK instead of ACE_CHECK_RETURN. Wed Nov 8 17:49:25 2000 Balachandran Natarajan * tao/Connection_Cache_Manager.cpp (close_i): Fixed a problem on NT. Thanks to Darrel for reporting this. Wed Nov 8 18:47:27 2000 Jeff Parsons * tests/Param_Test/anyop.dsp: Put back the project settings for param_test.idl in this project. They got lost somehow. Wed Nov 8 16:15:39 2000 Carlos O'Ryan * tao/ORB.cpp: Moved registration of the RTCORBA and Messaging Policy Factories to the init_orb_globals() method. This is something that should happen only once. * orbsvcs/IFR_Service/Makefile.IFR_Service: Add TypeCodeFactory_DLL to the LDLIBS. Wed Nov 8 17:49:25 2000 Balachandran Natarajan * tao/GIOP_Message_Accept_State.cpp : * tao/GIOP_Message_Connectors.cpp: * tao/TAO_Server_Request.h: * tao/TAO_Server_Request.i: Made the following minor changes in accordance with the CORBA 2.4 spec. (1) The CORBA::Principal in the GIOP 1.0 & GIOP 1.1 request header is now changed to CORBA::OctetSeq in the CORBA 2.4 spec. This change has been incorporated. (2) Finally, the response_flags field in the request header has been well defined for the Sync Scope in the Messaging spec. The changes have also been incorporated. Wed Nov 8 11:05:37 2000 Darrell Brunsch * TAOACE.dsw: Updated the dependencies for the IFR_Service. * examples/POA/Generic_Servant/client.dsp: * examples/POA/Generic_Servant/server.dsp: Updated the defines for the Release builds. * TAO_IDL/TAO_IDL_BE_DLL.dsp: * TAO_IDL/TAO_IDL_FE_DLL.dsp: * TAO_IDL/tao_idl.dsp: * orbsvcs/Concurrency_Service/Concurrency_Service.dsp: * orbsvcs/CosEvent_Service/CosEvent_Service.dsp: * orbsvcs/Dump_Schedule/Dump_Schedule.dsp: * orbsvcs/Event_Service/Event_Service.dsp: * orbsvcs/IFR_Service/TypeCodeFactory_DLL.dsp: * orbsvcs/Scheduling_Service/Scheduling_Service.dsp: * orbsvcs/orbsvcs/LoadBalancing.dsp: * orbsvcs/tests/InterfaceRepo/IFR_Test/IFR_Test.dsp: * orbsvcs/tests/InterfaceRepo/Persistence_Test/Persistence_Test.dsp: Disabled precompiled headers. * orbsvcs/tests/InterfaceRepo/IFR_Test/Admin_Client.cpp: * tests/Portable_Interceptors/Benchmark/interceptors.cpp: Fixed some non-standard uses of ACE_ASSERT which results in errors on release builds. Changed stuff like: if (foo == 0) ACE_ASSERT (bar () == 0); to ACE_ASSERT (foo == 0 && bar () == 0); * tests/DSI_Gateway/DSI_Gateway_Client.dsp: * tests/DSI_Gateway/DSI_Gateway_Server.dsp: * tests/DSI_Gateway/DSI_Gateway_Service.dsp: Disabled Precompiled headers and fixed library paths. Wed Nov 8 11:02:01 2000 Carlos O'Ryan * orbsvcs/LifeCycle_Service/Makefile: For static builds the DynamicAny library must be linked too. * tao/Messaging_Policy_i.cpp: Fixed problems in platforms that don't do conversions between T_var and T_ptr& (vxworks). * tests/IDL_Test/Makefile: The path to the IDL compiler was hardcoded, use the TAO_IDL macro instead, this is very important for cross-compilation builds. Wed Nov 8 10:00:16 2000 Carlos O'Ryan * tests/IDL_Test/Makefile: I think I finally nailed the dependencies for the magic IDL files in this directory. At least it compiles correctly in our 4-way box, where it used to fail all the time. * tests/Portable_Interceptors/Dynamic/interceptors.cpp: Fixed warnings about unused variables, also fixed a couple of memory leaks, and unchecked exceptions. Wed Nov 8 11:44:58 2000 Jeff Parsons * orbsvcs/IFR_Service/TCF_Loader.cpp: Removed unused args from create_object method. * orbsvcs/IFR_Service/TypeCodeFactoryC.cpp: Added missing 'CORBA_' to constructor and destructor declarations. Wed Nov 8 06:48:08 2000 Douglas C. Schmidt * tests/RTCORBA/README: Updated the information to point to the appropriate documentation. Thanks to Michael Hampel for motivating this. Tue Nov 7 21:46:57 2000 Jeff Parsons * TAO_IDL/ast/ast_type.cpp: * TAO_IDL/include/ast_type.h: Added flag to indicate whether the node has been added to the Interface Repository. Used for types that can be forward declared, which right now is only interfaces, but will eventually include other types as well. Tue Nov 07 16:38:05 2000 Carlos O'Ryan * tests/Portable_Interceptors/Benchmark/client.dsp: * tests/Portable_Interceptors/Benchmark/server.dsp: Update the project files. Tue Nov 7 15:16:37 2000 Carlos O'Ryan * examples/POA/Forwarding/Servant_Activator.cpp: Fixed warnings about unused variable. * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp: Change ACE_CHECK for ACE_CHECK_RETURN, otherwise builds without exceptions fail. * orbsvcs/LifeCycle_Service/Makefile: Add -lTAO_PortableServer library, needed in static builds. Tue Nov 7 15:19:03 2000 Jeff Parsons * TAO_IDL/ast/ast_exception.cpp: * TAO_IDL/ast/ast_structure.cpp: Added base class constructor calls, not needed when traversing the be_ classes, which inherit from these and add to the hierarchy of constructor calls. * TAO_IDL/ast/ast_generator.cpp: Added code from be_generator::create_module to AST_Generator::create_module, so AST visitors will get reopened modules handled correctly. Tue Nov 7 12:27:34 2000 Darrell Brunsch * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp: Commented out some unused formal parameters. Tue Nov 7 12:04:42 2000 Darrell Brunsch * TAO_IDL/TAO_IDL_BE_DLL.dsp: * TAO_IDL/TAO_IDL_FE_DLL.dsp: * TAO_IDL/tao_idl.dsp: * orbsvcs/CosEvent_Service/CosEvent_Service.dsp: * orbsvcs/orbsvcs/LoadBalancing.dsp: Removed precompiled header usage. Tue Nov 7 12:00:32 2000 Carlos O'Ryan * tests/Portable_Interceptors/Benchmark/Client_ORBInitializer.cpp: * tests/Portable_Interceptors/Benchmark/Client_ORBInitializer.h: * tests/Portable_Interceptors/Benchmark/Interceptor_Type.cpp: * tests/Portable_Interceptors/Benchmark/Interceptor_Type.h: * tests/Portable_Interceptors/Benchmark/Makefile: * tests/Portable_Interceptors/Benchmark/Server_ORBInitializer.cpp: * tests/Portable_Interceptors/Benchmark/Server_ORBInitializer.h: * tests/Portable_Interceptors/Benchmark/client.cpp: * tests/Portable_Interceptors/Benchmark/interceptors.cpp: * tests/Portable_Interceptors/Benchmark/interceptors.h: * tests/Portable_Interceptors/Benchmark/server.cpp: * tests/Portable_Interceptors/Service_Context_Manipulation/Client_ORBInitializer.cpp: * tests/Portable_Interceptors/Service_Context_Manipulation/Client_ORBInitializer.h: * tests/Portable_Interceptors/Service_Context_Manipulation/Makefile: * tests/Portable_Interceptors/Service_Context_Manipulation/Server_ORBInitializer.cpp: * tests/Portable_Interceptors/Service_Context_Manipulation/Server_ORBInitializer.h: * tests/Portable_Interceptors/Service_Context_Manipulation/client.cpp: * tests/Portable_Interceptors/Service_Context_Manipulation/interceptors.cpp: * tests/Portable_Interceptors/Service_Context_Manipulation/interceptors.h: * tests/Portable_Interceptors/Service_Context_Manipulation/server.cpp: Got this to compile with the standard interfaces for Portable Interceptors, they were using a TAO proprietary interface that went the way of the dinosaur. Tue Nov 7 11:19:11 2000 Darrell Brunsch * tao/TAO_Static.dsp * tao/DynamicAny/TAO_DynamicAny_Static.dsp: * tao/IORManipulation/TAO_IORManip.dsp: * tao/IORManipulation/TAO_IORManip_Static.dsp: * tao/IORTable/TAO_IORTable_Static.dsp: * tao/PortableServer/TAO_PortableServer_Static.dsp: Fixed these projects to be consistent in their defines, to make sure things like defining _DEBUG in a release build doesn't happen. Tue Nov 7 12:24:48 2000 Balachandran Natarajan * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connect.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connect.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.h: Made the changes for the new caching scheme in SSLIOP. Tue Nov 7 11:50:22 2000 Jeff Parsons * tao/InterfaceC.cpp: * tao/InterfaceC.h: * tao/InterfaceC.i: TypeCodeFactory generated code moved from these files to new files TypeCodeFactoryC.*. * tao/PortableServer/POA_CORBA.h: TypeCodeFactory generated code removed from this file. * tao/Interface.pidl: Interface TypeCodeFactory modified to be local. * orbsvcs/IFR_Service/TypeCodeFactoryC.h: * orbsvcs/IFR_Service/TypeCodeFactoryC.inl: * orbsvcs/IFR_Service/TypeCodeFactoryC.cpp: New files containing code removed from InterfaceC.*. * orbsvcs/IFR_Service/TypeCodeFactory_skel.cpp: Removed from project and Makefiles. * orbsvcs/IFR_Service/Repository_i.h: * orbsvcs/IFR_Service/TCF_Loader.h: * orbsvcs/IFR_Service/TCF_Loader.cpp: * orbsvcs/IFR_Service/TypeCodeFactory_i.h: * orbsvcs/IFR_Service/TypeCodeFactory_i.cpp: * orbsvcs/IFR_Service/TypeCodeFactory_DLL.dsp: * orbsvcs/IFR_Service/Makefile.TypeCodeFactory: * orbsvcs/IFR_Service/TypeCodeFactory_DLL.bor: Other files modified to make TypeCodeFactory a local interface. The motivation for this change was a bug report by Mateu Batle and one by Jean-Christophe Dubois that the TypeCodeFactory was blocking indefinitely upon startup. It turned out that there was an attempt to acquire the same lock twice, but the real solution seemed to be to make TypeCodeFactory, like DynamicAnyFactory, a local interface, which sidesteps the lock problem, and at the same time reduces TypeCodeFactory's size. Tue Nov 7 08:57:16 2000 Balachandran Natarajan * tao/SHMIOP_Connector.cpp (close): Fixed a warning in KCC 3.4 build. Tue Nov 7 08:54:31 2000 Balachandran Natarajan * tao/Connection_Cache_Manager.h: * tao/Connection_Cache_Manager.inl: Fixed compile errors on Digital Unix. The changes should hopefully fix the problem. Mon Nov 06 23:39:05 2000 Irfan Pyarali * tao/PortableServer/POA.cpp (reference_to_id and reference_to_servant): Made sure that we are not dealing with a nil object reference. If we are, then throw a CORBA::BAD_PARAM() exception. Thanks to Sandro Doro for suggesting this change. Mon Nov 6 17:26:30 2000 Carlos O'Ryan * */Makefile: Update all dependencies again. The last version commited had only .obj/*.o files listed, none of the .shobj files was listed. * performance-tests/Latency/single_threaded.pl: Run only the single threaded test, used to generate the performance graph. Mon Nov 6 17:16:29 2000 Jeff Parsons * orbsvcs/IFR_Service/TypeCodeFactory_skel.cpp: Updated the overlooked POA_CORBA::TypeCodeFactory::_dispatch method to use Bruce Trask's synchronous_upcall_dispatch() call. This was causing a protection fault when _dispatch was called. Thanks to Jean-Christophe Dubois for reporting this bug. Mon Nov 6 16:55:05 2000 Balachandran Natarajan * tao/IIOP_Connect.h: * tao/UIOP_Connect.h: Added the TAO_Export for the TAO_*_Property class. * tao/IIOP_Connector.cpp: * tao/UIOP_Connector.cpp: * tao/SHMIOP_Connector.cpp: Added a ACE_TEXT macro for a ACE_DEBUG statement Mon Nov 6 16:16:55 2000 Balachandran Natarajan * orbsvcs/*/Makefile: Updated dependencies. Mon Nov 6 15:29:04 2000 Jeff Parsons * TAO_IDL/ast/ast_interface.cpp: Modified redefine() method to check for self-concatenation before concatenating pragma lists. Changes made to interface redefinition code (seeing full definition after a forward declaration, for example) have introduced a case where self-concatenation can happen. In this case, the concatenation should just be skipped. Thanks to Ossama's SecurityLevel2.idl file for bringing this case to light. Mon Nov 6 15:10:27 2000 Balachandran Natarajan * docs/Options.html: Updated the documentation * tests/*/Makefile: * tests/performance_tests/*/Makefile: Updated dependencies. Mon Nov 6 14:50:23 2000 Balachandran Natarajan * tao/Makefile.bor: Added new files. Mon Nov 6 14:34:17 2000 Balachandran Natarajan * tao/TAO.dsp: * tao/TAO_Static.dsp: Updated files. Mon Nov 6 13:54:20 2000 Balachandran Natarajan Changes related to the new caching scheme in TAO. Please see http://www.cs.wustl.edu/~bala/connection_mgmt.html for the requirements that were a guiding factor for these changes. Further, the present set of changes includes only the Caching scheme. The purging which was a part of the scheme (that will be gone with this changes) has not been added. It will be done in the next set of changes due in another few days/weeks. * tao/Base_Connection_Property.h: * tao/Base_Connection_Property.inl: * tao/Base_Connection_Property.cpp: An abstraction for the connection property. This class at present encapsulates the TAO_Endpoint which is used as a key to look up connections from the Cache. Looking up connections based on the Endpoint is the base on which the whole Caching scheme works. This class can be extended to attach properties for connections ex. QoS properties. Lookups can then be done based on the endpoint with the specific properties. * tao/Cache_Entries.h: * tao/Cache_Entries.cpp: * tao/Cache_Entries.inl: Provides wrapper classes for the Key and Value fields of a Cache map. * tao/Connection_Cache_Manager.h: * tao/Connection_Cache_Manager.cpp: * tao/Connection_Cache_Manager.inl: A wrapper class for the connection cache. This class holds an instance of ACE_Hash_Map_Manager on which the connections are cached. This wrapper is necessary as we can extend the interface and implementation to iterate over the map based on a specific requirement. One good example is the case for FT, wherein we would like to choose connections to a FT server and return the list of such connections to the caller. * tao/Connection_Handler.h: * tao/Connection_Handler.cpp: * tao/Connection_Handler.inl: An abstract base class for the connection handlers (event handlers). This base class is used by both the Server and Client Connection handlers. A pointer to this base class is held by the Connection Cache. This class (and hence the inherited classes) is refcounted. The refcount indicates the number of places the references are held. The refcounting does part of the memory management. * tao/Client_Strategy_Factory.h: * tao/Client_Strategy_Factory.cpp: Removed the method create_cached_connector_lock (). This lock for the Connection Cache is within TAO_Connection_Cache_Manager. * tao/default_client.cpp: * tao/default_client.h: Removed the method create_cached_connector_lock (). The option -ORBConnectorLock has been removed as it does not make much sense in the present context. * tao/Connector_Registry.h: * tao/Connector_Registry.cpp: All references to purging scheme has been removed. * tao/Endpoint.h: * tao/Endpoint.i: Added priority as one of the argument to the constructor with a default value. Further, added is_equivalent (), hash () and duplicate () as pure virtual functions. The Base_Connection_Property class (and in turn the TAO_Cache_ExtId class) depends on these virtual functions to check for equivalency, get a hash value and do a deep copy respectively. * tao/IIOP_Connect.h: * tao/IIOP_Connect.cpp: * tao/UIOP_Connect.h: * tao/UIOP_Connect.cpp: * tao/SHMIOP_Connect.h: * tao/SHMIOP_Connect.cpp: Zapped the base class TAO_*_Handler_Base. This class practically provided nothing but an extra class in inheritance hierarchy. The protocol property structure that was defined within this TAO_*_Handler_Base class has been made a different class by name TAO_*_Properties. The connection handlers will now inherit directly from the Service Handler specialised by the type of stream and the TAO_Connection_Handler class. Implementation for a couple of virtual methods defined in TAO_Connection_Handler class have been added. The memory management of the connection handlers on both the server and client side follows the same pattern. If the handlers are registered with the reactor, the handlers are marked and their refcounts bumped up. When the Connection Cache is closed the Handle_Set of the handlers that are registered with the reactor are passed back to the ORB_Core and the refcounts decreased by one. This Handle_Set is used by the ORB_Core to de-register those handles from the reactor. The reactor then calls handle_close () on these handlers. At that point of time, refcounts are further decreased by one, which makes the handlers destroy themselves. This scheme of memory management helps for both these cases (1) When the reactor dissappears before the ORB_Core and (2) When the ORB_Core dissappears before the reactor. Also, moved some of the code that was protocol independent in to the base class TAO_Connection_Handler. * tao/IIOP_Acceptor.h: * tao/UIOP_Acceptor.h: * tao/SHMIOP_Acceptor.h: Renamed the struct that had the connection property to TAO_*_Properties. * tao/IIOP_Endpoint.h: * tao/IIOP_Endpoint.cpp: * tao/UIOP_Endpoint.h: * tao/UIOP_Endpoint.cpp: * tao/SHMIOP_Endpoint.h: * tao/SHMIOP_Endpoint.cpp: Provided implementation for the methods hash (), is_equivalent () and duplicate (). * tao/Pluggable.h: * tao/Pluggable.i: * tao/Pluggable.cpp: Removed references to the purging scheme. Cached the pointer to the ORB_Core in TAO_Connector and provided accesors to the ORB_Core. All the *_Connector classes had its own copy of the ORB_Core. So, they have been moved to the base class TAO_Connector. * tao/IIOP_Transport.h: * tao/IIOP_Transport.cpp: * tao/UIOP_Transport.h: * tao/UIOP_Transport.cpp: * tao/SHMIOP_Transport.h: * tao/SHMIOP_Transport.cpp: Added a method service_handler () to access the underlying service handler associated with the transport. Changed the implementation of idle () method. This now calls the idle on the correspoding handler that it holds. * tao/Acceptor_Impl.cpp: Removed references to the existing purging scheme. Further, changed the scheme in which the open connections are kept track in a reactive-concurrency model. Now the corresponding handlers will be marked as being registered with the reactor and their reference count bumped up before the handler is registered with the reactor. * tao/ORB_Core.h: * tao/ORB_Core.cpp: * tao/ORB_Core.i: Added an instance of the Connection_Cache_Manager in the ORB_Core and provided an accessor for it. Removed the Handle_Set that was kept in the ORB_Core and the accessors of the Handle_Set. * tao/Resource_Factory.h: * tao/Resource_Factory.cpp: * tao/default_resource.h: * tao/default_resource.cpp: Zapped the class TAO_Cached_Connector_Lock as we now hold a single lock on the Cache_Map. Added a method create_cached_connection_lock (). This method creates the right lock for the Connection_Cache. Added an option -ORBConnectionLock that can used at ORB initialisation. * tao/Makefile: * tao/PortableServer/Makefile: * tao/DynamicAny/Makefile: * tao/IORManipulation/Makefile: * tao/IORTable/Makefile: Updated dependencies. Mon Nov 6 13:03:51 2000 Jeff Parsons * tao/DynamicInterface/ExceptionList.cpp: Removed explicit instantiation of ACE_Unbounded_Queue and related types, since they already exist in tao/Exception.cpp. Mon Nov 6 12:28:41 2000 Jeff Parsons * TAO_IDL/be/be_union.cpp: * TAO_IDL/be_include/be_union.h: * TAO_IDL/ast/ast_union.cpp: * TAO_IDL/include/ast_union.h: Had to move default_index_, default_index() and compute_default_index() from be_union to ast_union, in order to fix problems caused by a similar move of default_value_, default_value() and compute_default_value() recently. Mon Nov 6 09:50:37 2000 Priyanka Gontla * tao/ORB_Core.cpp (stubless_relative_roundtrip_timeout): Put a TAO_HAS_CORBA_MESSAGING guard around the implementation of this function to satisfy the ssl=1 case. Mon Nov 6 10:06:09 2000 Carlos O'Ryan * performance-tests/Callback/Makefile: Only compile if minimum_corba is disabled Mon Nov 6 07:35:50 2000 Douglas C. Schmidt * tests/IORManipulation/Makefile (LDFLAGS): Added back a missing '+' to '+=' so that linking works properly. Thanks to Albert Wijnja for reporting this. Sat Nov 4 18:34:10 2000 Darrell Brunsch * TAOACE.dsw: Updated dependencies for TAO_Fault_Tolerance. * orbsvcs/tests/FaultTolerance/IOGRManipulation/IOGRTest.dsp: Fixed library paths and libraries included. * tests/DSI_Gateway/DSI_Gateway_Client.dsp: * tests/DSI_Gateway/DSI_Gateway_Server.dsp: * tests/DSI_Gateway/DSI_Gateway_Service.dsp: Fixed tao_idl dependency. Sat Nov 4 18:59:00 2000 Yamuna Krishnamurthy * orbsvcs/tests/AVStreams/mpeg/source/server/Makefile: * orbsvcs/tests/AVStreams/mpeg/source/mpeg_client/ui.cpp: * orbsvcs/tests/AVStreams/mpeg/source/mpeg_shared/com.cpp: Fixed compile and link errors. Sat Nov 4 18:04:21 2000 Jeff Parsons * TAO_IDL/ast/ast_typedef.cpp: * TAO_IDL/include/ast_typedef.h: Added a method to find the primitive base type (looping if there are nested typedefs) similar to that in be_typedef, but with a different return type. Needed for IfR administration. * TAO_IDL/ast/ast_union.cpp: * TAO_IDL/be/be_union.cpp: * TAO_IDL/be_include/be_union.h: * TAO_IDL/include/ast_union.h: Moved code to store and compute the default label value from be_union to ast_union. Needed for IfR administration. * TAO_IDL/be/be_visitor_typecode/typecode_defn.cpp: Switch case for wchar discriminators was using the short member of the union node's union member that stores the default label value. Changed this to use the union's wchar member. Sat Nov 4 15:21:52 2000 Jeff Parsons * tests/DSI_Gateway/gateway.bor: * tests/Param_Test/client.bor: Added DynamicInterface library and cflags to these makefiles. Fri Nov 3 17:42:34 2000 Darrell Brunsch * TAO_IDL/TAO_IDL_BE_LIB.dsp: * TAO_IDL/TAO_IDL_FE_LIB.dsp: * TAO_IDL/tao_idl_static.dsp: * examples/Simple/time/client_static.dsp: * examples/Simple/time/server_static.dsp: * orbsvcs/Naming_Service/Naming_Server_static.dsp: * orbsvcs/orbsvcs/CosConcurrency_Static.dsp: * orbsvcs/orbsvcs/CosEvent_Static.dsp: * orbsvcs/orbsvcs/CosLifeCycle_Static.dsp: * orbsvcs/orbsvcs/CosNaming_Static.dsp: * orbsvcs/orbsvcs/CosNotification_Static.dsp: * orbsvcs/orbsvcs/CosProperty_Static.dsp: * orbsvcs/orbsvcs/CosTime_Static.dsp: * orbsvcs/orbsvcs/CosTrading_Static.dsp: * orbsvcs/orbsvcs/LoadBalancing_Static.dsp: * orbsvcs/orbsvcs/RTEvent_Static.dsp: * orbsvcs/orbsvcs/RTOLDEvent_Static.dsp: * orbsvcs/orbsvcs/RTSchedEvent_Static.dsp: * orbsvcs/orbsvcs/RTSched_Static.dsp: * orbsvcs/orbsvcs/Svc_Utils_Static.dsp: * tao/TAO_Static.dsp: * tao/IORManipulation/TAO_IORManip_Static.dsp: * tao/IORTable/TAO_IORTable_Static.dsp: * tao/PortableServer/TAO_PortableServer_Static.dsp: Updated static configurations for Static Release. * tao/DynamicInterface/ExceptionList.inl: Added CVS ID string to this file. Fri Nov 3 16:49:01 2000 Jeff Parsons * TAO_IDL/ast/ast_structure.cpp: Added explicit template instantiation for ACE_Unbounded_Queue_Iterator. Fri Nov 3 14:53:08 2000 Jeff Parsons * tao_idl/ast/ast_exception.cpp: * tao_idl/ast/ast_structure.cpp: * tao_idl/ast/ast_union.cpp: * tao_idl/include/ast_structure.h: Added ACE_Unbounded_Queue member that contains only fields, code to populate the container, and accessor function. Existing member count and scope iterator functions include things like enum values of an enum declared inside the scope, which the spec requires to be declared in the enum's enclosing scope. Extra 'members' like these are used in typecode creation, so the behavior of these existing functions could not be changed. For IfR administration, something was needed that would act on the 'fields' of the data type only. Simply ignoring the extra members makes it very difficult to correctly process something like: struct foo { enum bar {ONE, TWO} member1; bar member2; }; which is legal IDL, thus the dedicated container member and associated methods. The new member and accessor method are declared in AST_Structure only, since AST_Exception and AST_Union inherit from it. The populating method had to be added in each class, since the method from which it is called is private in each class. Fri Nov 3 09:16:13 2000 Darrell Brunsch * tests/DSI_Gateway/DSI_Gateway_Client.dsp: * tests/DSI_Gateway/DSI_Gateway_Server.dsp: * tests/DSI_Gateway/DSI_Gateway_Service.dsp: * tests/Exposed_Policies/Client.dsp: * tests/Exposed_Policies/Server.dsp: * tests/Param_Test/client.dsp: * tests/Portable_Interceptors/Benchmark/client.dsp: * tests/Portable_Interceptors/Benchmark/server.dsp: * orbsvcs/examples/Security/Send_File/Send_File_Client.dsp: * orbsvcs/examples/Security/Send_File/Send_File_Server.dsp: Touched up the Release versions of these projects. Fri Nov 3 10:48:56 2000 Jeff Parsons * tests/DSI_Gateway/DSI_Gateway_Client.dsp: * tests/DSI_Gateway/DSI_Gateway_Server.dsp: * tests/DSI_Gateway/DSI_Gateway_Service.dsp: Set the parameters for compiling the IDL file in the release version of these projects. * tests/DSI_Gateway/test.idl: Renamed typedef LongSeq as DSI_LongSeq. The generated #if defined guard around the class constructor definitions and the Any destructor definition (_LONGSEQ_CS_) was conflicting with something defined elsewhere. Thu Nov 2 14:44:35 2000 Carlos O'Ryan * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.cpp: Explicitly instantiate ACE_Atomic_Op it used to be instantiated in the TAO library, but now that code is in TAO_DynamicInterface. * orbsvcs/tests/EC_Mcast/EC_Mcast.h: * orbsvcs/tests/EC_Mcast/EC_Mcast.cpp: Use the Atomic_Op instantiation from EC_Gateway_UDP. * TAO_IDL/Makefile.dependencies: The IDL compiler was touched if static_libs_only was not defined. Thu Nov 2 15:07:33 2000 Jeff Parsons * tao/corbafwd.h: Uninlined the declarations of the overloaded CORBA::release and CORBA::is_nil methods for Request, ServerRequest and Context. Also moved the declarations of CORBA::release (ServerRequest) and CORBA::is_nil (ServerRequest) inside the minimum CORBA guards, since ServerRequest is now used only for DSI. Thu Nov 2 12:03:07 2000 Jeff Parsons * tao/Dynamic_Adapter.cpp: Moved the #endif of TAO_HAS_MINIMUM_CORBA to the end of the file, after the explicit template instantiations. * tao/DynamicInterface/TAO_DynamicInterface.dsp: Fixed a typo in the project settings for the release version. Wed Nov 1 10:14:26 2000 Darrell Brunsch * orbsvcs/ImplRepo_Service/ImplRepo_i.cpp: * orbsvcs/ImplRepo_Service/ImplRepo_i.h: * orbsvcs/ImplRepo_Service/implrepo.dsp: Changed the ImplRepo_Service to use ServantLocators instead of a default_servant. [Bug 668] Wed Nov 1 10:04:27 2000 Priyanka Gontla * tao/Messaging_Policy_i.cpp (relative_expiry): * tao/ORB_Core.cpp: Removed unnecessary TAO_HAS_RELATIVE_ROUNDTRIP_TIMEOUT_POLICY guards. Wed Nov 1 09:47:47 2000 Priyanka Gontla * tao/Stub.cpp: * tao/Messaging_Policy_i.h: * tao/Messaging_Policy_i.cpp: * tao/Messaging_PolicyFactory.cpp (create_policy): * tao/Messaging_ORBInitializer.cpp (pre_init): Changed TAO_HAS_ROUNDTRIP_TIMEOUT_POLICY to TAO_HAS_RELATIVE_ROUNDTRIP_TIMEOUT_POLICY Wed Nov 1 08:19:12 2000 Darrell Brunsch * tao/Messaging_ORBInitializer.cpp: Added TAO_HAS_ROUNDTRIP_TIMEOUT_POLICY protection around call to TAO_ORB_Core::set_timeout_hook. * tao/Messaging_PolicyFactory.cpp: Added TAO_HAS_ROUNDTRIP_TIMEOUT_POLICY protection for one case statement. * tao/Messaging_Policy_i.cpp: * tao/Messaging_Policy_i.h: * tao/Messaging_Policy_i.i: Standardized the use of the protection macros, since the .h file was using TAO_HAS_CORBA_MESSAGING, but the .cpp file was using TAO_HAS_SYNC_SCOPE_POLICY or nothing at all. Made them consistent. Granted, I don't know if this is the "correct" way of doing it, but it links for me though. Wed Nov 01 09:58:29 2000 Irfan Pyarali * tao/PortableServer/Object_Adapter.h (prepare_for_upcall): Added back the default value for ACE_TRY_ENV. I thought that this was library code and should not have a default. Actually, this code is also called from the Through POA stubs and therefore requires the default so that it can be called from code that uses native exceptions and not the simulated exceptions. Thanks to Carlos for pointing this out. Wed Nov 1 08:14:14 2000 Jeff Parsons * tao/DynamicInterface/Context.cpp: * tao/DynamicInterface/Context.h: * tao/DynamicInterface/DII_Invocation.cpp: * tao/DynamicInterface/DII_Invocation.h: * tao/DynamicInterface/DII_Reply_Dispatcher.cpp: * tao/DynamicInterface/DII_Reply_Dispatcher.h: * tao/DynamicInterface/Dynamic_Adapter_Impl.cpp: * tao/DynamicInterface/Dynamic_Adapter_Impl.h: * tao/DynamicInterface/Dynamic_Implementation.cpp: * tao/DynamicInterface/Dynamic_Implementation.h: * tao/DynamicInterface/ExceptionList.cpp: * tao/DynamicInterface/ExceptionList.h: * tao/DynamicInterface/Request.cpp: * tao/DynamicInterface/Request.h: * tao/DynamicInterface/Server_Request.cpp: * tao/DynamicInterface/Server_Request.h: Replaced or added TAO_HAS_MINIMUM_CORBA guards around these files. Wed Nov 1 07:33:03 2000 Jeff Parsons * orbsvcs/ImplRepo_Service/implrepo.dsp: * orbsvcs/ImplRepo_Service/NT_ImplRepo_Service.dsp: Added TAO_DynamicInterface to linked libraries, and tao/DynamicInterface to the link path. * ImplRepo_i.cpp: Cosmetic changes. Wed Nov 1 07:05:19 2000 Jeff Parsons * TAOACE.dsw: Left out of earlier checkin Tue Oct 31 12:01:10 2000 Jeff Parsons Tue Oct 31 20:17:22 2000 Jeff Parsons * tao/TAO_Static.dsp: Changes corresponding those made to TAO.dsp in Tue Oct 31 12:01:10 2000 Jeff Parsons Tue Oct 31 20:03:17 2000 Jeff Parsons * TAO_IDL/be/be_visitor_argument/request_info_arglist.cpp: * TAO_IDL/be/be_visitor_operation/interceptors_arglist.cpp: * TAO_IDL/be/be_visitor_operation/interceptors_ch.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_include/be_codegen.h: Added decision to use ACE_NESTED_CLASS macro for interceptors request info subclasses' return type code, similiar to previous changes made for arguments. Also changed the name of the visitor context substate enum value to be more general, since it isn't used just for arguments any more. Thanks to Tommy Andreasen for reporting this bug and sending in an example IDL file. Tue Oct 31 17:34:17 2000 Priyanka Gontla * tao/PortableInterceptorC.h: Removed the unnecessary TAO_HAS_CORBA_MESSAGING Guard. * tao/Stub.h (TAO_Stub): * tao/Stub.cpp (buffering_constraint): * tao/ORB_Core.i: * tao/ORB_Core.cpp (stubless_relative_roundtrip_timeout): Added the TAO_HAS_ROUNDTRIP_TIMEOUT_POLICY adn TAO_HAS_SYNC_SCOPE_POLICY guards around the related functions. * tao/Messaging_Policy_i.h: Added the missing TAO_HAS_CORBA_MESSAGING Guard around the class. Tue Oct 31 18:50:35 2000 Jeff Parsons * tao/Dynamic_Adapter.cpp: Removed unused arguments in the no-op definitions of the base class functions. Tue Oct 31 18:43:41 2000 Jeff Parsons * tao/Invocation.cpp: * tao/Invocation.h: Added TAO_HAS_MINIMUM_CORBA == 0 guards around the declaration and definition of the version of invoke() that takes an ExceptionList. This version is used only by DII. Thanks to Priyanka for reporting this problem, which occurs in minimum CORBA builds. Tue Oct 31 17:55:02 2000 Jeff Parsons * rules.tao.GNU: Added variable TAO_DYNAMIC_LIBS, set to -lTAO_DynamicInterface, and used it in the following Makefiles, which all use DII and/or DSI code. * examples/POA/DSI/Makefile: * performance-tests/Cubit/TAO/DII_Cubit/Makefile: * performance-tests/Latency/Makefile: * tests/DSI_Gateway/Makefile: * tests/Param_Test/Makefile: Tue Oct 31 14:53:46 2000 Carlos O'Ryan * */Makefile*: Update all makefile dependencies (yet another time). Tue Oct 31 15:19:13 2000 Jeff Parsons * tao/Dynamic_Adapter.cpp: Added explicit template instantiations for ACE_Dynamic_Service. Tue Oct 31 11:54:30 2000 Carlos O'Ryan * tao/Object.cpp: Remove stray template instantiation, probably left out during development. * tao/DynamicInterface/DII_Invocation.h: * tao/DynamicInterface/DII_Reply_Dispatcher.h: * tao/DynamicInterface/Request.h: Fixed a few #includes that still referenced files with the tao/ prefix, even though they were moved to the DynamicInterface directory. * tao/Makefile: * tao/DynamicAny/Makefile: * tao/IORManipulation/Makefile: * tao/IORTable/Makefile: * tao/PortableServer/Makefile: * tao/DynamicInterface/Makefile: Update dependencies Tue Oct 31 11:05:47 2000 Carlos O'Ryan * tao/PortableServer/TAO_PortableServer.dsp: Remove Forwarding_Servant from this project file too. Tue Oct 31 12:15:18 2000 Jeff Parsons * tests/DSI_Gateway/DSI_Gateway.dsw: * tests/DSI_Gateway/DSI_Gateway_Client.dsp: * tests/DSI_Gateway/DSI_Gateway_Server.dsp: * tests/DSI_Gateway/DSI_Gateway_Service.dsp: Added MSVC workspace and projects for this test. Tue Oct 31 12:01:10 2000 Jeff Parsons * tao/DynamicInterface/Context.cpp: * tao/DynamicInterface/Context.h: * tao/DynamicInterface/Context.inl: * tao/DynamicInterface/DII_Invocation.cpp: * tao/DynamicInterface/DII_Invocation.h: * tao/DynamicInterface/DII_Invocation.inl: * tao/DynamicInterface/DII_Reply_Dispatcher.cpp: * tao/DynamicInterface/DII_Reply_Dispatcher.h: * tao/DynamicInterface/DII_Reply_Dispatcher.inl: * tao/DynamicInterface/Dynamic_Adapter_Impl.cpp: * tao/DynamicInterface/Dynamic_Adapter_Impl.h: * tao/DynamicInterface/Dynamic_Implementation.cpp: * tao/DynamicInterface/Dynamic_Implementation.h: * tao/DynamicInterface/ExceptionList.cpp: * tao/DynamicInterface/ExceptionList.h: * tao/DynamicInterface/ExceptionList.inl: * tao/DynamicInterface/Makefile: * tao/DynamicInterface/Makefile.bor: * tao/DynamicInterface/Request.cpp: * tao/DynamicInterface/Request.h: * tao/DynamicInterface/Request.inl: * tao/DynamicInterface/Server_Request.cpp: * tao/DynamicInterface/Server_Request.h: * tao/DynamicInterface/Server_Request.inl: * tao/DynamicInterface/TAO_DynamicInterface.dsp: * tao/DynamicInterface/dynamicinterface_export.h: Files either moved whole from TAO/tao, created from parts of files in TAO/tao, or created from scratch for the new DynamicInterface library. This new library contains all the code related to DII and DSI. * tao/Dynamic_Adapter.cpp: * tao/Dynamic_Adapter.h: New files containing base class for hook methods that replace all or part of existing TAO methods that use DII or DSI. * TAOACE.dsw: * tao/DomainC.cpp: * tao/Exception.cpp: * tao/Exception.h: * tao/Exception.i: * tao/GIOP_Message_Acceptors.cpp: * tao/InterfaceC.cpp: * tao/Invocation.cpp: * tao/Invocation.h: * tao/LocalObject.cpp: * tao/Makefile: * tao/Makefile.am: * tao/Makefile.bor: * tao/ORB.cpp: * tao/ORB.h: * tao/Object.cpp: * tao/Object.h: * tao/PolicyC.cpp: * tao/Stub.cpp: * tao/Stub.h: * tao/Stub.i: * tao/TAO.dsp: * tao/TAO_Server_Request.cpp: * tao/TAO_Server_Request.h: * tao/corba.h: * tao/corbafwd.cpp: * tao/operation_details.h: * tao/target_specification.h: TAO/tao files modified to be consistent with the DynamicInterface library. * tao/PortableServer/POA.cpp: * tao/PortableServer/POA.h: * tao/PortableServer/POA.i: * tao/PortableServer/Servant_Base.cpp: * tao/PortableServer/Servant_Base.h: * tao/PortableServer/TAO_PortableServer.dsp: TAO/tao/PortableServer files modified to be consistent with the DynamicInterface library. * tests/DSI_Gateway/test_dsi.cpp: * tests/DSI_Gateway/test_dsi.h: * tests/Param_Test/client.dsp: * tests/Param_Test/helper.h: * examples/POA/DSI/Database_i.cpp: * examples/POA/DSI/Database_i.h: * examples/POA/DSI/server.dsp: * performance-tests/Cubit/TAO/DII_Cubit/client.cpp: * performance-tests/Cubit/TAO/DII_Cubit/client.dsp: * performance-tests/Latency/deferred_synch_client.dsp: * performance-tests/Latency/dii_client.cpp: Tests and examples modified to be consistent with the DynamicInterface library. Tue Oct 31 11:06:52 2000 Jeff Parsons * orbsvcs/IFR_Service/InterfaceS.cpp: * orbsvcs/IFR_Service/TypeCodeFactory_skel.cpp: Fixed generated code to reflect Irfan's recent change to the signature of the prepare_for_upcall() method. Tue Oct 31 09:09:17 2000 Irfan Pyarali * tao/IOR_Parser.h: SystemException was being used without being defined (it was only forward declared). Included Exception.h to fix this. Thanks to J. Russell Noseworthy for reporting this problem and providing the fix. This closes bug 708. Mon Oct 30 21:37:22 2000 Carlos O'Ryan * tao/PortableServer/Makefile: * tao/PortableServer/Makefile.bor: Remove Forwarding_Servant from the list of files, updated dependencies. Mon Oct 30 18:51:02 2000 Carlos O'Ryan * orbsvcs/orbsvcs/ESF/ESF_Copy_On_Read.cpp: * orbsvcs/orbsvcs/ESF/ESF_Copy_On_Write.cpp: * orbsvcs/orbsvcs/ESF/ESF_Peer_Admin.cpp: * orbsvcs/orbsvcs/ESF/ESF_Proxy_Admin.cpp: Sun/CC 5.1 Patch 109490-01 gives errors if the formal arguments names in a template definition do not match the names in the declaration. Fixed the problems in the ESF directory per J. Russell Noseworthy report. This is a partial fix for [BUGID:709] * orbsvcs/orbsvcs/ESF/ESF_Busy_Lock.h: * orbsvcs/orbsvcs/ESF/ESF_Copy_On_Read.h: * orbsvcs/orbsvcs/ESF/ESF_Copy_On_Write.h: * orbsvcs/orbsvcs/ESF/ESF_Defaults.h: * orbsvcs/orbsvcs/ESF/ESF_Delayed_Changes.h: * orbsvcs/orbsvcs/ESF/ESF_Delayed_Command.h: * orbsvcs/orbsvcs/ESF/ESF_Immediate_Changes.h: * orbsvcs/orbsvcs/ESF/ESF_Peer_Admin.h: * orbsvcs/orbsvcs/ESF/ESF_Peer_Admin.i: * orbsvcs/orbsvcs/ESF/ESF_Peer_Workers.h: * orbsvcs/orbsvcs/ESF/ESF_Proxy_Admin.h: * orbsvcs/orbsvcs/ESF/ESF_Proxy_Collection.h: * orbsvcs/orbsvcs/ESF/ESF_Proxy_List.h: * orbsvcs/orbsvcs/ESF/ESF_Proxy_RB_Tree.h: * orbsvcs/orbsvcs/ESF/ESF_Proxy_RefCount_Guard.h: * orbsvcs/orbsvcs/ESF/ESF_RefCount_Guard.h: * orbsvcs/orbsvcs/ESF/ESF_Shutdown_Proxy.h: * orbsvcs/orbsvcs/ESF/ESF_Worker.h: * orbsvcs/orbsvcs/Event/EC_And_Filter.h: * orbsvcs/orbsvcs/Event/EC_Basic_Factory.h: * orbsvcs/orbsvcs/Event/EC_Basic_Filter_Builder.h: * orbsvcs/orbsvcs/Event/EC_Bitmask_Filter.h: * orbsvcs/orbsvcs/Event/EC_Busy_Lock.h: * orbsvcs/orbsvcs/Event/EC_Conjunction_Filter.h: * orbsvcs/orbsvcs/Event/EC_ConsumerAdmin.h: * orbsvcs/orbsvcs/Event/EC_ConsumerControl.h: * orbsvcs/orbsvcs/Event/EC_Default_Factory.h: * orbsvcs/orbsvcs/Event/EC_Defaults.h: * orbsvcs/orbsvcs/Event/EC_Disjunction_Filter.h: * orbsvcs/orbsvcs/Event/EC_Dispatching.h: * orbsvcs/orbsvcs/Event/EC_Dispatching_Task.h: * orbsvcs/orbsvcs/Event/EC_Event_Channel.h: * orbsvcs/orbsvcs/Event/EC_Factory.h: * orbsvcs/orbsvcs/Event/EC_Filter.h: * orbsvcs/orbsvcs/Event/EC_Filter_Builder.h: * orbsvcs/orbsvcs/Event/EC_Gateway.h: * orbsvcs/orbsvcs/Event/EC_Gateway_Sched.h: * orbsvcs/orbsvcs/Event/EC_Gateway_UDP.h: * orbsvcs/orbsvcs/Event/EC_MT_Dispatching.h: * orbsvcs/orbsvcs/Event/EC_Masked_Type_Filter.h: * orbsvcs/orbsvcs/Event/EC_Negation_Filter.h: * orbsvcs/orbsvcs/Event/EC_Null_Factory.h: * orbsvcs/orbsvcs/Event/EC_Null_Scheduling.h: * orbsvcs/orbsvcs/Event/EC_ObserverStrategy.h: * orbsvcs/orbsvcs/Event/EC_Per_Supplier_Filter.h: * orbsvcs/orbsvcs/Event/EC_Prefix_Filter_Builder.h: * orbsvcs/orbsvcs/Event/EC_Priority_Dispatching.h: * orbsvcs/orbsvcs/Event/EC_Priority_Scheduling.h: * orbsvcs/orbsvcs/Event/EC_ProxyConsumer.h: * orbsvcs/orbsvcs/Event/EC_ProxySupplier.h: * orbsvcs/orbsvcs/Event/EC_QOS_Info.h: * orbsvcs/orbsvcs/Event/EC_Reactive_ConsumerControl.h: * orbsvcs/orbsvcs/Event/EC_Reactive_SupplierControl.h: * orbsvcs/orbsvcs/Event/EC_Reactive_Timeout_Generator.h: * orbsvcs/orbsvcs/Event/EC_Sched_Factory.h: * orbsvcs/orbsvcs/Event/EC_Sched_Filter.h: * orbsvcs/orbsvcs/Event/EC_Sched_Filter_Builder.h: * orbsvcs/orbsvcs/Event/EC_Scheduling_Strategy.h: * orbsvcs/orbsvcs/Event/EC_SupplierAdmin.h: * orbsvcs/orbsvcs/Event/EC_SupplierControl.h: * orbsvcs/orbsvcs/Event/EC_Supplier_Filter.h: * orbsvcs/orbsvcs/Event/EC_Supplier_Filter_Builder.h: * orbsvcs/orbsvcs/Event/EC_Timeout_Filter.h: * orbsvcs/orbsvcs/Event/EC_Timeout_Generator.h: * orbsvcs/orbsvcs/Event/EC_Trivial_Supplier_Filter.h: * orbsvcs/orbsvcs/Event/EC_Type_Filter.h: * orbsvcs/orbsvcs/Event/EC_UDP_Admin.h: Update all the header files to use Doxygen style documentation. I used Darrell's doxygen-convert.pl script and a little hand-crafting. Mon Oct 30 18:35:46 2000 Darrell Brunsch * examples/POA/Forwarding/Servant_Activator.cpp: Added a TAO_ENV_ARG_DEFN so we have an ACE_TRY_ENV when native exceptions are used. * orbsvcs/orbsvcs/SSLIOP.dsp: Removed hardcoded OpenSSL include directories. * orbsvcs/tests/FaultTolerance/IOGRManipulation/IOGRTest.dsp: Fixed the include directories. Mon Oct 30 17:47:13 2000 Priyanka Gontla * tao/Policy_Manager.h: * tao/Policy_Manager.cpp (TAO_Policy_Manager_Impl): Changed the type of relative_roundtrip_timeout_ and sync_scope_ to CORBA::Policy *. Hence instead of calling TAO_RelativeTimeoutPolicy::clone or TAO_Sync_Scope_Policy::clone, calling CORBA::Policy::copy. Made related changes. Modify the return parameter for relative_roundtrip_timeout () and sync_scope () to CORBA::Policy_ptr in all the classes in the file. * tao/ORB_Core.h : * tao/ORB_Core.cpp: Declare and define TAO_ORB_Core::call_timeout_hook, TAO_ORB_Core::set_timeout_hook, TAO_ORB_Core::call_sync_scope_hook, TAO_ORB_Core::set_sync_scope_hook which are used to call the hooks to set and get the values of timeout/scope and save the hook for the respective policies so that they can be used later in need. Also, get_sync_strategy is defined as a helper to get the TAO_Sync_Strategy related to the Sync_Scope passed to it. The function TAO_ORB_Core::stubless_sync_scope helps get the scope when the stub is nil. Modify the return parameter for TAO_ORB_Core::relative_roundtrip_timeout (), TAO_ORB_Core::default_relative_roundtrip_timeout (), TAO_ORB_Core::stubless_relative_roundtrip_timeout (), TAO_ORB_Core::default_sync_scope () and TAO_ORB_Core::sync_scope () to CORBA::Policy_ptr. The same change recursively in all the classes which call these functions. * tao/Stub.h: * tao/Stub.cpp (sync_scope): Modified TAO_Stub::sync_strategy () to call TAO_ORB_Core::call_sync_scope_hook to get the scope value. This scope value is passed to TAO_ORB_Core::get_sync_strategy () to get the TAO_Sync_Strategy. Modify the return parameter for TAO_ORB_Core::relative_roundtrip_timeout (), TAO_ORB_Core::sync_scope () to CORBA::Policy_ptr. Modified TAO::Sync_scope to call TAO_ORB_Core::stubless_sync_scope to avoid code repetition. * tao/Messaging_Policy_i.h (SyncScopePolicy,): * tao/Messaging_Policy_i.cpp: Declare and define TAO_RelativeRoundtripTimeoutPolicy::hook and TAO_Sync_Scope_Policy::hook functions. The functions are called to set the hooks for the respective policies to indicate that the policies are set and also to know the Timeout and scope values in the respective cases. * tao/Messaging_PolicyFactory.cpp (create_policy): Remove the if-defs for TAO_HAS_RELATIVE_ROUNDTRIP_TIMEOUT_POLICY and TAO_HAS_SYNC_SCOPE_POLICY in the switch-case block. * tao/Messaging_ORBInitializer.cpp: Save the pointers to hooks for TAO_RelativeRoundtripTimeout and TAO_Sync_Scope policies in the TAO_Messaging_ORBInitializer::pre_init by calling the TAO_ORB_Core::set_timeout_hook and TAO_ORB_Core::set_sync_scope_hook. * tao/UIOP_Connect.h: * tao/UIOP_Connect.cpp: * tao/SHMIOP_Connect.h: * tao/SHMIOP_Connect.cpp (handle_timeout): * tao/IIOP_Connect.h: * tao/IIOP_Connect.cpp (handle_timeout): Set the timeout value by calling TAO_ORB_Core::call_timeout_hook instead of getting a TAO_RelativeRoundtripPolicy pointer and proceeding from there. * tao/Invocation.h: * tao/Invocation.cpp: Same as IIOP_Connect for TAO_RelativeRoundtripTimeoutPolicy. Similar change with sync_scope. Instead of getting a TAO_Sync_Scope_Policy_ptr and gettting the sync_scope value, call the hook for the sync_scope which is TAO_ORB_Core::call_sync_scope_hook. * tao/ClientRequestInfo.h : * tao/ClientRequestInfo.cpp (sync_scope): Modified the return value of sync_scope from Messaging::SyncScope to CORBA::Short. Mon Oct 30 18:57:22 2000 Irfan Pyarali * tao/PortableServer/POA: Removed the Forwarding Servant. The forwarding servant was ill-constructed: (a) it threw exceptions the incorrect way since the correct way is to call set_exception() on the ServerRequest and not to throw an exception; (b) the forward_object() method on the POA leads to deadlock if called from an upcall on the object being forwarded; (c) Servant Managers is the only correct way to forward requests - Default Servants is not the correct solution. * tao/PortableServer/Object_Adapter.cpp (dispatch, dispatch_servant, and prepare_for_upcall): Changed these methods such that the forwarding exception can only be raised by the servant managers. Now the forward exception is caught in prepare_for_upcall() when we are looking for the servant and may potentially call the servant managers. If this exception is raised by a regular servant or by a default servant, the exception is reported to the client as an unknown exception. Thanks to Ossama for reporting this problem. This fix closes bug 690. * Since the signature of TAO_Object_Adapter::Servant_Upcall::prepare_for_upcall() got changed because of the above fix, it required a change to collocation code that performs through POA calls. The following files were effected: - tao/PortableServer/Collocated_Object.cpp - tao/PortableServer/DomainS.cpp - tao/PortableServer/ImplRepoS.cpp - tao/PortableServer/MessagingS.cpp - tao/PortableServer/PolicyS.cpp - tao/PortableServer/ThruPOA_Object_Proxy_Impl.cpp and - TAO_IDL/be/be_visitor_interface/thru_poa_collocated_ss.cpp - TAO_IDL/be/be_visitor_operation/thru_poa_collocated_ss.cpp * tao/Adapter.h (TAO_Adapter): Added a new return value for failed dispatching of upcalls. Mon Oct 30 18:38:42 2000 Jeff Parsons * TAO_IDL/driver/drv_preproc.cpp: Plugged a memory leak by removing an extra string copy when adding the include path for orb.idl to the command line arglist. * TAO_IDL/util/utl_scope.cpp: Found a missing 'delete' for an iterator that was created on the heap. Instead of adding the 'delete', just created the iterator on the stack. Mon Oct 30 10:40:57 2000 Priyanka Gontla * docs/tutorials/Quoter/AMI/Makefile: Updated the Makefile to link lTAO_PortableServer. Thanks to Walt Corey for reporting the bug. Mon Oct 30 15:21:24 2000 Jeff Parsons * tao/Typecode.cpp: Added a check for a null typecode pointer argument to a function common to equal() and equivalent(). This change will cause all Any extractions to fail if the application has not initialized an ORB. Thanks to Albert Wijnja for reporting this bug. Mon Oct 30 15:00:30 2000 Jeff Parsons * TAO_IDL/ast/ast_interface.cpp: * TAO_IDL/fe/fe_interface_header.cpp: Modified redefinition of forward declared interface to handle the case where an interface is defined in a reopening of the module where it is forward declared, then referenced in a different module. Thanks to Vsevolod Novikov for reporting this bug and sending in an example IDL file. * tests/IDL_Test/reopened_modules.idl: Added the above example to IDL_Test. Mon Oct 30 12:04:18 2000 Carlos O'Ryan * examples/Simple/time-date/Makefile: Fixed accidental commit Mon Oct 30 12:29:33 2000 Jeff Parsons * TAO_IDL/be/be_visitor_argument/request_info_arglist.cpp: * TAO_IDL/be/be_visitor_argument/request_info_sh.cpp: Made the signatures of wstring members and wstring parameters in constructor signature agree for the generated TAO_ServerRequest_Info subclasses. Thanks to Johnny Willemsen for reporting this bug. Sat Oct 28 17:55:29 2000 Carlos O'Ryan * tao/ORBInitializer_Registry.cpp: Fixed warnings in builds with native exceptions enabled. Sat Oct 28 15:38:40 2000 Carlos O'Ryan * orbsvcs/tests/Event/Event.dsw: * orbsvcs/tests/Event/Performance/ECPerformance.dsw: * performance-tests/TAO_Perf_Tests.dsw: * performance-tests/Callback/client.dsp: * performance-tests/Callback/server.dsp: Add all new projects to their workspaces, and configure them properly. Sat Oct 28 15:27:12 2000 Carlos O'Ryan * performance-tests/Callback/Callback_i.h: * performance-tests/Callback/Server_i.cpp: Fixed throw specs Fri Oct 27 15:54:37 2000 Carlos O'Ryan * orbsvcs/tests/Event/Performance/Makefile: * orbsvcs/tests/Event/Performance/Latency.h: * orbsvcs/tests/Event/Performance/Latency.cpp: * orbsvcs/tests/Event/Performance/Latency.dsp: * orbsvcs/tests/Event/Performance/Latency_Server.cpp: * orbsvcs/tests/Event/Performance/Latency_Server.dsp: * orbsvcs/tests/Event/Performance/latency.conf: New performance benchmark to measure throughput to a remote event service. This version uses reliable oneways to improve the predictability of the test over the network. * orbsvcs/tests/Event/lib/Makefile: * orbsvcs/tests/Event/lib/Driver.h: * orbsvcs/tests/Event/lib/Driver.cpp: * orbsvcs/tests/Event/Basic/Makefile: When using the old event channel we must link the naming service library too. * performance-tests/Makefile: * performance-tests/Callback/Makefile: * performance-tests/Callback/Callback.dsw: * performance-tests/Callback/README: * performance-tests/Callback/run_test.pl: * performance-tests/Callback/callback.idl: * performance-tests/Callback/Callback_i.h: * performance-tests/Callback/Callback_i.inl: * performance-tests/Callback/Callback_i.cpp: * performance-tests/Callback/Server_i.h: * performance-tests/Callback/Server_i.inl: * performance-tests/Callback/Server_i.cpp: * performance-tests/Callback/client.cpp: * performance-tests/Callback/client.dsp: * performance-tests/Callback/server.cpp: * performance-tests/Callback/server.dsp: * performance-tests/Callback/svc.conf: New benchmark for distributed callbacks. Mostly used as a baseline performance benchmark for the event services. * performance-tests/Latency/st_client.cpp: Use the new ACE_Sample_History class * orbsvcs/Event_Service/Event_Service.cpp: Implement new options to dump the IOR and process ID to some file. Fri Oct 27 15:49:55 2000 Priyanka Gontla * tao/Object.cpp (_set_policy_overrides): Made the function exception safe by placing the TAO_Stub into the auto_ptr since it is dynamically allocated. Thanks to Ossama. Fri Oct 27 11:42:34 2000 Carlos O'Ryan * orbsvcs/examples/CosEC/Factory/CosEventChannelFactory_i.cpp: * orbsvcs/examples/CosEC/Factory/main.cpp: Fixed initialization of the Factory example. The default factory must be manually registered with the Service Configurator because we avoid static constructors in ACE+TAO. * orbsvcs/orbsvcs/CosEvent/CEC_EventChannel.cpp: Use ACE_ASSERT to stop early if the factory pointer is null. Thanks to Sandro Doro for suggesting these fixes. Fri Oct 27 08:56:43 2000 Chris Cleeland * tao/Sequence_T.cpp: * tao/Sequence_T.i: Moved the allocbuf() methods from the .i to the .cpp for TAO_Bounded_Array_Sequence and TAO_Unbounded_Array_Sequence templates. They cause SunWorkshop 4.2 grief during compiles because the compiler couldn't find a definition for one of the template parameters. Moving it into .cpp got the compiler unconfused. This is a workaround for the SunCC 4.2 Compiler patch level 104631-07. Fri Oct 27 00:28:03 2000 Irfan Pyarali * examples/POA/Forwarding/run_test.pl (run_test): Added a missing print statement. * examples/POA/Forwarding/client.cpp (main): * examples/POA/Forwarding/server.cpp: * examples/POA/Forwarding/Servant_Activator.cpp: Fixed the use of TAO_ENV_ARG_DECL and ACE_CHECK. These errors were there never found on NT because of the presence of native exception handling. Thu Oct 26 13:58:42 2000 Pradeep Gore * orbsvcs/examples/Notify/Filter/Filter.cpp: Reverted some code that had been inadvertently commented for debugging purposes. Wed Oct 25 20:59:45 2000 Darrell Brunsch * tao/PortableServer/POA.cpp: Changed the "Invalid Implementation Repository IOR..." message to "Missing ImR IOR, will not use the ImR", so now it doesn't sound like an error, and also bumped up its debug level to >1, so it will not show up unless you want a lot of info. This was reported by ChenXu a while back, and several others tripped over it. [Bug 694] Wed Oct 25 10:16:38 2000 Carlos O'Ryan * tao/ORBInitializer_Registry.cpp: Add missing #include for platforms that don't define ACE_TEMPLATES_REQUIRE_SOURCE. Wed Oct 25 08:23:34 2000 Chad Elliott * performance-tests/Cubit/TAO/MT_Cubit/Globals.h Modified the SCHED_PRIORITY macro for HPUX only. The original priority was above the maximum and would cause a run-time failure. Wed Oct 25 00:32:59 2000 Irfan Pyarali * tao/PortableServer: POA::reference_to_servant() was missing the WrongAdapter exception in the throw spec. Thanks to Marina (and the Borland compiler) for pointing this out. Following files needed the change: - POA.cpp - POA.h - PortableServer.pidl - PortableServerC.h Tue Oct 24 23:40:33 2000 Irfan Pyarali * tao/PortableServer/Object_Adapter.h (TAO_Object_Adapter): - Two essential changes were required while preparing for servant upcalls: (a) Increasing outstanding_requests_> now happens before we start looking for the servant. This change is necessary because otherwise a servant manager may decide to shutdown the ORB or destroy the calling POA. This change makes sure that POA/Object_Adapter are not destroyed before the upcall cycle completes. Now poa_cleanup() is called every time outstanding_requests_> is increased. The other change is to check if a non-servant upcall is in progress after calling the servant and before changing the POA/servant related reference counts. If a non-servant upcall is in progress, wait for it to complete; unless of course, the thread making the non-servant upcall is this thread. - Non_Servant_Upcall now knows for which POA it was setup. This change allows the prevention of the destruction of the calling POA while the non-servant upcall is in progress. Now at the end of the non-servant upcall, we check if the POA needs to be cleaned up. - non_servant_upcall_in_progress() now returns a pointer to the non-servant upcall in progress. If no non-servant upcall is in progress, this pointer is zero. * tao/PortableServer/POA: - (complete_destruction_i): Mark that we are no longer awaiting destruction. This helps avoid infinite calls to complete_destruction_i() when using Non_Servant_Upcall while cleaning up the adapter activator, servant activator, servant locator and the default servant. - (destroy_i): Only call complete_destruction_i() if there are no outstanding requests and that we are not in a non-servant upcall or if we are in a non-servant upcall, make sure we are the POA related to the non-servant upcall. * tao/PortableServer/POA.i (TAO_POA_Guard): Waiting for non-servant upcalls to complete must happen before the POA state is checked. * tao: should be char * and not const char *. You could make it char * const but not const char *. Changes were required to: - tao/Parser_Registry.cpp - tao/Resource_Factory.cpp - tao/Resource_Factory.h - tao/default_resource.cpp - tao/default_resource.h Also, the memory managment for needed fixing. needed to be deleted. The elements of needed to be initialized, consistently duplicated and eventually freed. * tao/Adapter.cpp (close): The destruction of the individual adapters was missing. Plus the adapter destruction was happening in close(). It should really happen in the destructor because close() is too early to destroy the adapters since upcalls may still be in progress when ORB::shutdown() is called which will call close(). * tao/Exception: Made the _info() method virtual in the Exception class and added an implementation for the UserException and SystemException. This also removed the requirement to upcast in the CORBA_Exception::_info() method. * examples/POA/Forwarding: Revamped and simplified this example. Removed the POA approach for forwarding since it is not standard. Also, changed the example to use the servant activator instead of the servant locator since the activator is more appropriate here. Tue Oct 24 13:36:05 2000 Ossama Othman * tao/PolicyFactory_Registry.h: Removed the local ITERATOR typedef. It confused brain-damaged g++ 2.7.x. * tao/PolicyFactory_Registry.cpp (~TAO_PolicyFactory_Registry): Use the ACE_Map_Manager<>::ITERATOR trait instead of the now removed typedef local to this class. Tue Oct 24 11:18:01 2000 Priyanka Gontla * tao/Typecode.cpp : Made the code a little bit cleaner by moving code that is similar for all the cases in the switch-case block of private_member_name outside the block. Tue Oct 24 07:38:45 2000 Chad Elliott * examples/Simulator/Event_Supplier/Event_Sup.cpp * examples/Simulator/Event_Supplier/Logging_Sup.cpp * examples/Simulator/Event_Supplier/DualEC_Sup.cpp * examples/Simulator/Event_Supplier/Event_Con.cpp Move the include of below the includes for TAO. HP-UX needs the _HPUX_SOURCE macro defined before the inclusion of to get the proper prototypes. limits.h includes , but the HP config header in ACE sets the macro. So, include limits.h after the ace config header. Mon Oct 23 21:39:22 2000 Ossama Othman * tao/ORB.cpp (ORB_init): Fixed a typo where TAO_HAS_RTCORBA was used instead of TAO_HAS_RT_CORBA. This typo prevented the RT CORBA ORB initializer from being registered, which in turn prevented the RT CORBA policy factories from being registered. This fixes a seg fault. * tao/Stub.cpp (~TAO_Stub): Fixed a typo where TAO_HAS_RTCORBA was used instead of TAO_HAS_RT_CORBA. This fixes a problem where the destroy() method in each RT policy was not being called. Make sure the pointer to the policy is valid before invoking the destroy() method through it. This fixes a seg fault. * tao/Profile.cpp (policies): Made this code exception safe by using a Policy_var. Mon Oct 23 19:13:54 2000 Ossama Othman * tao/DomainC.cpp: Corrected the last of the references to TAO_ClientRequest_Info. That class has been renamed to TAO_ClientRequestInfo. Mon Oct 23 18:07:01 2000 Carlos O'Ryan * Once more, recompute dependencies YET ANOTHER TIME. IMnsHO the project is growing too big to keep the dependencies in the repo. Mon Oct 23 15:59:53 2000 Ossama Othman * tao/ORBInitInfo.cpp (add_client_request_interceptor, add_server_request_interceptor): Only enable the request interceptor registration code if TAO_HAS_INTERCEPTORS is set to 1, otherwise throw a CORBA::NO_IMPLEMENT(). Mon Oct 23 15:23:03 2000 Ossama Othman * tao/PortableInterceptorC.h: Explicitly include `CurrentC.h' and `IOPC.h' to pull in the CORBA::Current and IOP class declarations, respectively. This fixes a minimum CORBA build problem. Thanks to Priyanka for pointing this out. Mon Oct 23 15:07:38 2000 Priyanka Gontla * tao/PortableInterceptorC.h: Added a TAO_HAS_CORBA_MESSAGING macro around virtual Messaging::SyncScope sync_scope for the minimum corba build. Mon Oct 23 14:58:34 2000 Ossama Othman * tao/Messaging_PolicyFactory.cpp (create_policy): * tao/ORBInitInfo.cpp (register_initial_reference, add_ior_interceptor): Fixed unused argument warnings. Mon Oct 23 14:46:57 2000 Ossama Othman * tao/DomainC.cpp: * tao/corba.h: Always include `tao/PortableInterceptor.h' to pull in the "TAO_INTERCEPTOR" macros. The classes in that header are protected within a "TAO_HAS_INTERCEPTORS" block so there should be no problem in always including this header. This fixes a minimum CORBA build. Thanks to Priyanka for pointing this out. Mon Oct 23 12:58:27 2000 Ossama Othman * tao/PortableServer/DomainS.cpp: Additional typo fixes that I missed since I didn't have support for the interface repository enabled. The problems only appeared when that support was enabled. Once again, Jeff comes to the rescue! Mon Oct 23 12:31:00 2000 Priyanka Gontla * tao/Makefile: Updated dependencies. Mon Oct 23 14:32:14 2000 Jeff Parsons * TAO_IDL/be/be_visitor_operation/operation_cs.cpp: * TAO_IDL/be/be_visitor_operation/operation_ss.cpp: Removed the generated ACE_CHECK following two function calls that no longer use ACE_TRY_ENV. Mon Oct 23 12:19:31 2000 Ossama Othman * tao/PortableServer/DomainS.cpp: Fixed call to deprecated _get_server_interceptor() method, and removed unnecessary ACE_CHECK macros. Thanks again to Jeff for pointing this out. Mon Oct 23 11:51:41 2000 Ossama Othman * tao/DomainC.h: Corrected typo where the name of the ClientRequestInfo base class was not updated to the new name. Thanks to Jeff for pointing this out. Mon Oct 23 02:49:25 2000 Ossama Othman * tao/Interceptor_List.h: * tao/Interceptor_List.inl: * tao/Interceptor_List.cpp: Newly added sources for the containers of all supported interceptor types. * tao/ORBInitInfo.h: * tao/ORBInitInfo.cpp: Newly added implementation of the PortableInterceptor::ORBInitInfo object. * tao/ORBInitializer_Registry.h: * tao/ORBInitializer_Registry.inl: * tao/ORBInitializer_Registry.cpp: New sources for global registry of all registered ORB initializers. The ORB core invokes methods (pre_init and post_init) on this class. This class then invokes the same method on all registered ORB initializers. * tao/RT_ORBInitializer.h: * tao/RT_ORBInitializer.cpp: * tao/Messaging_ORBInitializer.h: * tao/Messaging_ORBInitializer.cpp: Newly added files containing the ORBInitializers related to TAO's RTCORBA and Messaging support. * tao/ORB.h: * tao/ORB.i: Removed all interceptor related code. They should have been in the TAO_ORB_Core class since code in these files is related predominantly to ORB pseudo-references, not the actual ORB implementation (i.e. the ORB core). * tao/ORB.cpp (ORB_init): Create a PortableInterceptor::ORBInitInfo object to be passed on to ORBInitializers. Invoke the pre_init() method on all registered ORB initializers before calling TAO_ORB_Core::init() method, and then the post_init() method on those same ORB initializers after TAO_ORB_Core::init() has been invoked. (create_policy): Attempt to obtain the policy of the given type from the policy factory registry rather than the now deprecated TAO_Service_Callbacks::service_create_policy() method. The TAO_Service_Callbacks::service_create_policy() is still invoked from within the policy factory registry to ease the transition of the FT service code to the standard portable interceptor interface. * tao/ORB_Core.h: * tao/ORB_Core.i: * tao/ORB_Core.cpp: Added support routines for registering and obtaining the interceptors, and a support routine for registering policy factories specific to the given ORB. * tao/PortableInterceptor.h: * tao/PortableInterceptor.cpp: Integrated support for multiple interceptors. Each registered interceptor will now be invoked, as opposed to the single interceptor previously supported. * tao/Service_Callbacks.h: * tao/Service_Callbacks.cpp (service_create_policy): Added comments regarding deprecation of this method in favor of the policy factory registry support provided by the Portable Interceptor specification. This method is still fully functional. * tao/PolicyFactory_Registry.h: * tao/PolicyFactory_Registry.cpp: Newly added registry containing map of policy type to policy factory. * tao/RT_PolicyFactory.h: * tao/RT_PolicyFactory.cpp: * tao/Messaging_PolicyFactory.h: * tao/Messaging_PolicyFactory.cpp: Newly added policy factory sources for real-time CORBA and Messaging related policies. * tao/Policy_Factory.h: * tao/Policy_Factory.cpp: Removed these files. They have been superseded by the newly added RT_PolicyFactory.* files. * tao/Profile.cpp (policies): Updated this code to use the standard ORB::create_policy () method which now queries the newly added policy factory registry. * tao/Request_Info.h: * tao/Request_Info.cpp: Deprecated these files. They have been split into client side and server side files. * tao/ClientRequestInfo.h: * tao/ClientRequestInfo.cpp: New files based on the client side request information class from Request_Info.*. (get_request_policy): Implemented this method. Obtain the policies in effect by invoking CORBA::Object::_get_policy(). * tao/DomainC.h: * tao/DomainC.cpp: * tao/PortableServer/DomainS.h: * tao/PortableServer/DomainS.cpp: Updated interceptor code to work with the updates in `tao/PortableInterceptor.{h,i}'. * tao/PortableServer/ServerRequestInfo.h: * tao/PortableServer/ServerRequestInfo.cpp: New files based on the server side request information class from Request_Info.*. * tao/Interceptor.pidl: This PIDL source file has been superceded by Portable_Interceptor.pidl. Removed. * tao/corba.h: Explicitly include the appropriate interceptor RequestInfo headers when interceptor support is enabled. Previously they were pulled in indirectly. This was necessary to due to an inter-header depencency improvement in PortableInterceptor.h. Include "tao/OctetSeqC.h" to pull in the CORBA::OctetSeq declarations. * tao/OctetSeq.pidl: Added instructions that describe the "proper" way to regenerate the corresponding stubs. * tao/OctetSeq.h: * tao/OctetSeq.i: * tao/OctetSeq.cpp: Regenerated these files with the proper library export settings. * tao/diffs/OcteqSeq.diff: Generated this diff against the vanilla generate OctetSeq stubs. It was missing for some reason. * tao/StringSeq.pidl: Newly added PIDL source for the CORBA::StringSeq sequence. * tao/StringSeq.h: * tao/StringSeq.inl: * tao/StringSeq.cpp: Removed these files in favor of the below newly regenerated files since these files do not follow TAO naming conventions, and since they didn't have the proper Win32 library export linkage. * tao/StringSeqC.h: * tao/StringSeqC.i: * tao/StringSeqC.cpp: Regenerated these files with the proper library export settings. They replace the above StringSeq.* sources. * tao/diffs/StringSeq.diff: Generated this diff against the vanilla generated StringSeq stubs. * tao/PortableInterceptorC.h: Corrected signatures for some pure virtual methods. We actually want the CORBA::Environment argument for interfaces that are not inherited by application code, e.g. code that is used internally by TAO. * tao/diffs/PortableInterceptorC.h.diff: * tao/diffs/PortableInterceptorC.i.diff: * tao/diffs/PortableInterceptorC.cpp.diff: Removed these diffs in favor of the consolidated PortableInterceptor.diff below. These diffs were out of date anyway. * tao/diffs/PortableInterceptor.diff: Newly generated diff against the updates made to PortableInterceptorC.* to correct erroneous earlier updates. * tao/DynamicC.cpp: Include `StrinqSeqC.h' instead of `StringSeq.h', in accordance with the filenames newly of the regenerated StringSeq stubs. * tao/diffs/Dynamic.diff: `StringSeq.h' is now `StringSeqC.h'. Updated the diff to reflect that. * tao/diffs/InterceptorC.h.diff: * tao/diffs/InterceptorC.i.diff: * tao/diffs/InterceptorC.cpp.diff: Removed these diffs. The files they were meant to patch are no longer exist in TAO. * tao/Makefile: * tao/Makefile.am: * tao/Makefile.bor: * tao/TAO.dsp: * tao/TAO_Static.dsp: * tao/PortableServer/Makefile: * tao/PortableServer/Makefile.bor: * tao/PortableServer/TAO_PortableServer.dsp: * tao/PortableServer/TAO_PortableServer_Static.dsp: Updated references of StringSeq to StringSeqC, corresponding to the newly regenerated CORBA::StringSeq stubs. Added new Portable Interceptor sources detailed above. * TAO_IDL/be/be_visitor_interface/interceptors_ch.cpp: * TAO_IDL/be/be_visitor_interface/interceptors_sh.cpp: Corrected spelling in generated code. * TAO_IDL/be/be_visitor_operation/interceptors_ch.cpp: * TAO_IDL/be/be_visitor_operation/interceptors_cs.cpp: * TAO_IDL/be/be_visitor_operation/interceptors_sh.cpp: * TAO_IDL/be/be_visitor_operation/interceptors_ss.cpp: Updated generated code to agree with changes made in the ORB Core (e.g. class name changes, etc). * TAO_IDL/be/be_visitor_operation/operation_cs.cpp (gen_marshal_and_invoke): * TAO_IDL/be/be_visitor_operation/operation_ss.cpp (visit_operation): Updated to call new interceptor related ORB core methods. * tests/Portable_Interceptors/Dynamic/interceptors.h: * tests/Portable_Interceptors/Dynamic/interceptors.cpp: Corrected nesting of pragma directive so that is within the "TAO_HAS_INTERCEPTORS" block. Moved no-op methods within the "TAO_HAS_INTERCEPTORS" block. This fixes a compilation error recently introduced when TAO_HAS_INTERCEPTORS is defined to be zero. Corrected all CORBA::Environment arguments so that they correctly match the base class methods they are overriding in both the native and emulated exception case. * tests/Portable_Interceptors/Dynamic/Echo_Client_ORBInitializer.h: * tests/Portable_Interceptors/Dynamic/Echo_Client_ORBInitializer.cpp: * tests/Portable_Interceptors/Dynamic/Echo_Server_ORBInitializer.h: * tests/Portable_Interceptors/Dynamic/Echo_Server_ORBInitializer.cpp: New sources that register the request interceptors in the standard way. Previous this test used a proprietary interface. That proprietary interface was removed in the above sets of updates. * tests/Portable_Interceptors/Dynamic/client.cpp: * tests/Portable_Interceptors/Dynamic/server.cpp: Updated to register the above ORBInitializers instead of making proprietary registration calls (that no longer exist). * tests/Portable_Interceptors/Dynamic/PI_Dynamic.dsw: * tests/Portable_Interceptors/Dynamic/client.dsp: * tests/Portable_Interceptors/Dynamic/server.dsp: New MSVC workspace and project files for this test. * tests/Portable_Interceptors/Dynamic/Makefile: * tests/Portable_Interceptors/Dynamic/server.bor: * tests/Portable_Interceptors/Dynamic/client.bor: Updated these Makefiles with the newly added ORBInitializer sources. Sat Oct 21 18:38:44 2000 Jeff Parsons * orbsvcs/IFR_Service/ConstantDef_i.cpp: Changed a use of auto_ptr<> to use of ACE_Auto_Basic_Ptr<>, to get rid of a Win32 build warning. Sat Oct 21 12:50:36 2000 Carlos O'Ryan * Makefile*: Updated dependencies. Sat Oct 21 02:02:05 2000 Marina Spivak * tests/RTCORBA/Server_Declared/README: Updated command-line options, description and expected output. Fri Oct 20 21:54:58 2000 Balachandran Natarajan * tao/default_client.cpp: Fixed a cut and paste error. Fri Oct 20 12:01:42 2000 Priyanka Gontla * tao/Exception.cpp: Changed the return value of tao_insert_in_extractor_system_exception from CORBA::SystemException * to CORBA::Boolean. Fri Oct 20 12:01:08 2000 Priyanka Gontla * tao/Makefile.am : * tao/Makefile.bor: Updated to add the new files. Fri Oct 20 10:49:30 2000 Carlos O'Ryan * tao/Exception.cpp: Fixed use of allocator in Exception extraction functions. * tao/PortableInterceptorC.h: * tao/Request_Info.h: * tao/Request_Info.cpp: * tao/PortableInterceptor.i: Fixed so it would compile in platforms with exceptions enabled. * tao/Makefile: * tao/DynamicAny/Makefile: * tao/IORManipulation/Makefile: * tao/IORTable/Makefile: * tao/PortableServer/Makefile: Fri Oct 20 07:55:22 2000 Jeff Parsons * orbsvcs/IFR_Service/TCF_Loader.cpp: Removed the output of the text 'will it compile now', inserted by someone for debugging purposes. Fri Oct 20 02:45:20 2000 Marina Spivak * tao/PortableServer/POA.h * tao/PortableServer/POA.cpp: Added proper #if RTCORBA protections. * tao/PortableServer/Makefile: Updated dependencies. * tests/RTCORBA/Server_Declared/run_test.pl: Fixed server arguments for unix. Fri Oct 20 02:05:09 2000 Marina Spivak * tao/PortableServer/POA.h * tao/PortableServer/POA.i * tao/PortableServer/POA.cpp: - Changed , , , to use POA's server_priority rather than -1. This ensures that servant/object's effective priority is stored right with it. - Added TAO_ORB_Core &orb_core_ member to TAO_POA_Policies. - Added RTCORBA::PriorityModelPolicy validation during POA creation (i.e., ) - Added RTCORBA::ServerProtocolPolicy validation during POA creation (i.e., ) - Removed method because this policy doesn't need to be validated. - Added CORBA::Environment argument to , because different exception may need to be thrown based on which policies cause the problem. - Added validation logic to method. - Invoke only in methods, in methods this check happens when filter populates mprofile. * tao/ORB_Core.cpp (create_stub_object): Throw CORBA::BAD_PARAM if mprofile ends up being empty. This may happen when none of the acceptor endpoints have the right priority for the object we are creating. * tao/ORB_Core.h: Make method public. It needs to be invoked from POA during policy validation procedures. * tests/RTCORBA/Server_Declared/run_test.pl: Fixed typo. * tests/RTCORBA/Server_Declared/server.cpp: Set id_uniqueness policy on the child poa to , in order to use the same servant for several objects. Thu Oct 19 17:33:35 2000 Carlos O'Ryan * tao/ORB_Core.cpp: Fixed default svc conf directives for the POA and the IORTable. Thanks to James Megquier for sending the patches. * tao/GIOP_Message_Acceptors.cpp: Remove obsolete comments. Thu Oct 19 15:42:13 2000 Carlos O'Ryan * tao/TAO.dsp: * tao/TAO_Static.dsp: Add new files to the MSVC projects. Thu Oct 19 14:30:59 2000 Priyanka Gontla * tao/DynamicC.i: * tao/DynamicC.h: * tao/DynamicC.cpp: * tao/PortableInterceptorC.i: * tao/PortableInterceptorC.cpp: * tao/PortableInterceptorC.h : Regenerated so that they are properly locality constrained. This reduces the footprint. * tao/Dynamic.pidl: * tao/PortableInterceptor.pidl: Corrected idl typedefs to match the spec. * tao/orb.idl: * tao/corbafwd.h: * tao/corba.h: * tao/StringSeq.inl: * tao/StringSeq.h: * tao/StringSeq.cpp: * tao/Request_Info.h: Updates necessary to make the code work with the corrected pidl and the newly generated locality constrained stubs. Thanks to Ossama for helping with these changes. * tao/OctetSeq.pidl: * tao/OctetSeqC.i: * tao/OctetSeqC.h: * tao/OctetSeqC.cpp: Added the new pidl file for Octet Sequence and generated stubs. * tao/Makefile: Added the new files to the Makefile. * tao/diffs/Dynamic.diff: * tao/diffs/PortableInterceptorC.i.diff: * tao/diffs/PortableInterceptorC.h.diff: * tao/diffs/PortableInterceptorC.cpp.diff: Generated the diffs. * tests/Portable_Interceptors/Dynamic/interceptors.cpp: * tests/Portable_Interceptors/Dynamic/interceptors.h : * tests/Portable_Interceptors/Benchmark/interceptors.cpp: * tests/Portable_Interceptors/Benchmark/interceptors.h : * tests/Portable_Interceptors/Service_Context_Manipulation/interceptors.cpp: * tests/Portable_Interceptors/Service_Context_Manipulation/interceptors.h : Added dummy virtual functions to get the code compiled. Thu Oct 19 11:54:03 2000 Jeff Parsons * TAO_IDL/be/be_visitor_sequence/sequence_ch.cpp: * TAO_IDL/be/be_visitor_sequence/sequence_ci.cpp: In code recently added to these files, replaced calls to be_predefined_type::base_type with be_predefined_type::primitive_base_type, to allow for a chain of typedefs in the IDL file. Thanks to J. Russell Noseworthy for pointing out this bug. Thu Oct 19 11:31:39 2000 Paul Calabrese * orbsvcs/LifeCycle_Service/Makefile: Allow the LifeCycle_Service server to be built by moving the block checking for minimum_corba down below the includes that define it. Wed Oct 18 20:26:55 2000 Marina Spivak * tao/PortableServer/POA.cpp * tao/PortableServer/POA.h * tao/PortableServer/POA.i: - Added TAO_PriorityBandedConnectionsPolicy data member to TAO_POA_Policies. We need to keep track of this policy separately so that we can perform error checking and use it in acceptor filters. - Added method to TAO_POA_Policies. It creates an appropriate acceptor filter based on POA's policies. - Added data member to TAO_POA. Rather than allocating new acceptor filter in each call, an appropriate filter is allocated once, during POA creation, and reused. * tao/PortableServer/Default_Acceptor_Filter.h * tao/PortableServer/RT_Acceptor_Filters.cpp * tao/PortableServer/RT_Acceptor_Filters.h * tao/PortableServer/RT_Acceptor_Filters.i: Moved Acceptor_Filter classes from POA.cpp into their own file. Added two new filters to deal with RTCORBA::PriorityBandedConnectionPolicy and RTCORBA::SERVER_DECLARED priority model. * tao/PortableServer/Makefile * tao/PortableServer/Makefile.bor: * tao/PortableServer/TAO_PortableServer.dsp * tao/PortableServer/TAO_PortableServer_Static.dsp Updated to include new filter files. * tests/RTCORBA/RTCORBA_tests.dsw: Added MT_Client_Protocol_Priority.dsw projects. Wed Oct 18 10:20:10 2000 Priyanka Gontla * tao/Exception.cpp (TAO_SYSTEM_EXCEPTION): Added helper functions for the insertion and extraction operators. This would help reduce the Foot Print since instead of the same code repeated for each of the 30 or so exceptions, there will be 30 or so invocations of these helper methods. Wed Oct 18 10:49:59 2000 Jeff Parsons * TAO_IDL/be/be_visitor_argument/request_info_arglist.cpp: * TAO_IDL/be/be_visitor_operation/interceptors_arglist.cpp: * TAO_IDL/be_include/be_codegen.h: Had to put back the context substate and the set/unset code removed in the checkin below. It's necessary to keep the ACE_NESTED_CLASS macro from being generated in skeleton code for portable interceptors. Tue Oct 17 16:08:13 2000 Jeff Parsons * 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_operation/interceptors_arglist.cpp: * TAO_IDL/be_include/be_codegen.h: Replaced the several checks for the necessity of using the ACE_NESTED_CLASS macro in portable interceptor generated code with a single check: whether or not the scope of the declaration of the argument type in question is the same the scope of the visitor's context. This change also eliminates the need for the extra context sub-state added recently, so that was removed, along with the code to set and unset it. Thanks to Francois Bernier for reporting the bug that led to these changes. Tue Oct 17 01:13:25 2000 Marina Spivak * tests/RTCORBA/MT_Client_Protocol_Priority/Makefile * tests/RTCORBA/MT_Client_Protocol_Priority/Makefile.bor * tests/RTCORBA/MT_Client_Protocol_Priority/README * tests/RTCORBA/MT_Client_Protocol_Priority/MT_Client_Protocol_Priority.dsw * tests/RTCORBA/MT_Client_Protocol_Priority/client.bor * tests/RTCORBA/MT_Client_Protocol_Priority/client.cpp * tests/RTCORBA/MT_Client_Protocol_Priority/client.dsp * tests/RTCORBA/MT_Client_Protocol_Priority/run_test.pl * tests/RTCORBA/MT_Client_Protocol_Priority/server.bor * tests/RTCORBA/MT_Client_Protocol_Priority/server.conf * tests/RTCORBA/MT_Client_Protocol_Priority/server.cpp * tests/RTCORBA/MT_Client_Protocol_Priority/server.dsp * tests/RTCORBA/MT_Client_Protocol_Priority/test.idl Added new RTCORBA multithreaded test. Several client threads of different priority and different ClientProtocolPolicy Current-level overrides concurrently make invocations on one object reference, which has a CLIENT_PROPAGATED priority model. * tests/RTCORBA/Makefile * tests/RTCORBA/Makefile.bor * tests/RTCORBA/README: Updated to include the new MT_Client_Protocol_Priority test. Mon Oct 16 18:54:22 2000 Jeff Parsons * TAO_IDL/ast/ast_array.cpp: * TAO_IDL/ast/ast_decl.cpp: * TAO_IDL/ast/ast_predefined_type.cpp: * TAO_IDL/ast/ast_sequence.cpp: * TAO_IDL/ast/ast_string.cpp: * TAO_IDL/be/be_array.cpp: * TAO_IDL/be/be_predefined_type.cpp: * TAO_IDL/be/be_sequence.cpp: * TAO_IDL/be/be_string.cpp: * TAO_IDL/include/ast_decl.h: Added boolean member to AST_Decl indicating whether or not the IDL type is anonymous. Also added accessor method, and an optional argument in the constructor. Finally, extra arguments were added to the call to the AST_Decl constructor for the supported node types which are anonymous (array, primitive type, string, wstring, and sequence). Mon Oct 16 16:15:15 2000 Marina Spivak * tao/Pluggable.cpp * tao/Endpoint.i Initialize member to -1. Since legal CORBA::Priority values start at 0, -1 is a good indicator that priority hasn't been set. * tao/Pool_Per_Endpoint.cpp (run): Throw DATA_CONVERSION exception if conversion from CORBA to native priority fails. * tests/RTCORBA/RTCORBA_tests.dsw: Added Server_Declared projects. Mon Oct 16 15:38:06 2000 Marina Spivak * tests/RTCORBA/Server_Declared/Makefile * tests/RTCORBA/Server_Declared/Makefile.bor * tests/RTCORBA/Server_Declared/README * tests/RTCORBA/Server_Declared/Server_Declared.dsw * tests/RTCORBA/Server_Declared/client.bor * tests/RTCORBA/Server_Declared/client.cpp * tests/RTCORBA/Server_Declared/client.dsp * tests/RTCORBA/Server_Declared/run_test.pl * tests/RTCORBA/Server_Declared/server.bor * tests/RTCORBA/Server_Declared/server.conf * tests/RTCORBA/Server_Declared/server.cpp * tests/RTCORBA/Server_Declared/server.dsp * tests/RTCORBA/Server_Declared/test.idl Added a test for SERVER_DECLARED priority model. * tests/RTCORBA/Makefile * tests/RTCORBA/Makefile.bor * tests/RTCORBA/README: Updated to include the new Server_Declared test. Mon Oct 16 14:14:21 2000 Jeff Parsons * TAO_IDL/ast/ast_enum.cpp: * TAO_IDL/be/be_enum.cpp: * TAO_IDL/be_include/be_enum.h: * TAO_IDL/include/ast_enum.h: Moved the method value_to_name() from be_enum to AST_Enum. The method is useful to visitors, so it needs to be available to visitors of AST_ as well as to visitors of be_. Sun Oct 15 18:58:16 2000 Marina Spivak * tests/RTCORBA/Client_Protocol/README: Added expected output. * tests/RTCORBA/Client_Protocol/client.cpp: Updated comment. * tests/RTCORBA/Client_Protocol/server.cpp: Set transport and orb protocol properties in the ClientProtocolPolicy to be non-nil. This is a temporary change to make the test work until policy streaming code is fixed to handle nil properties. Sun Oct 15 00:11:07 2000 Marina Spivak * tao/Profile.h * tao/Profile.cpp: Removed and methods from TAO_Unknown_Profile since they were removed from TAO_Profile. * tao/Connector_Registry.cpp * tao/Invocation_Endpoint_Selectors.cpp: Added logic for handling TAO_Unknown_Profile(s), i.e., protocols the ORB does not understand, during profile selection and connection establishment. When the ORB encounters an unknown profile, it transparently retries with the next appropriate one. (Handling unknown protocols worked in the past, but was broken with the introduction of Endpoint component to the PP framework. This change restores the functionality.) * tao/Invocation.cpp: Added comment. Sat Oct 14 19:49:39 2000 Marina Spivak * tao/tests/RTCORBA/Client_Protocol/server.cpp: Fixed copy/paste error. Sat Oct 14 17:15:13 2000 Jeff Parsons * TAO_IDL/ast/ast_argument.cpp: * TAO_IDL/ast/ast_array.cpp: * TAO_IDL/ast/ast_attribute.cpp: * TAO_IDL/ast/ast_constant.cpp: * TAO_IDL/ast/ast_decl.cpp: * TAO_IDL/ast/ast_enum.cpp: * TAO_IDL/ast/ast_enum_val.cpp: * TAO_IDL/ast/ast_exception.cpp: * TAO_IDL/ast/ast_expression.cpp: * TAO_IDL/ast/ast_field.cpp: * TAO_IDL/ast/ast_interface.cpp: * TAO_IDL/ast/ast_interface_fwd.cpp: * TAO_IDL/ast/ast_module.cpp: * TAO_IDL/ast/ast_native.cpp: * TAO_IDL/ast/ast_operation.cpp: * TAO_IDL/ast/ast_predefined_type.cpp: * TAO_IDL/ast/ast_root.cpp: * TAO_IDL/ast/ast_sequence.cpp: * TAO_IDL/ast/ast_string.cpp: * TAO_IDL/ast/ast_structure.cpp: * TAO_IDL/ast/ast_type.cpp: * TAO_IDL/ast/ast_typedef.cpp: * TAO_IDL/ast/ast_union.cpp: * TAO_IDL/ast/ast_union_branch.cpp: * TAO_IDL/ast/ast_union_label.cpp: * TAO_IDL/include/ast.h: * TAO_IDL/include/ast_argument.h: * TAO_IDL/include/ast_array.h: * TAO_IDL/include/ast_attribute.h: * TAO_IDL/include/ast_constant.h: * TAO_IDL/include/ast_decl.h: * TAO_IDL/include/ast_enum.h: * TAO_IDL/include/ast_enum_val.h: * TAO_IDL/include/ast_exception.h: * TAO_IDL/include/ast_expression.h: * TAO_IDL/include/ast_field.h: * TAO_IDL/include/ast_interface.h: * TAO_IDL/include/ast_interface_fwd.h: * TAO_IDL/include/ast_module.h: * TAO_IDL/include/ast_native.h: * TAO_IDL/include/ast_operation.h: * TAO_IDL/include/ast_predefined_type.h: * TAO_IDL/include/ast_root.h: * TAO_IDL/include/ast_sequence.h: * TAO_IDL/include/ast_string.h: * TAO_IDL/include/ast_structure.h: * TAO_IDL/include/ast_type.h: * TAO_IDL/include/ast_typedef.h: * TAO_IDL/include/ast_union.h: * TAO_IDL/include/ast_union_branch.h: * TAO_IDL/include/ast_union_label.h: * TAO_IDL/include/utl_scope.h: * TAO_IDL/util/utl_scope.cpp: Renamed the recently added accept() method as ast_accept(). Some compilers were confused by the accept() method in the be_ classes, even though it has a different signature. Sat Oct 14 16:46:48 2000 Marina Spivak * tao/Invocation_Endpoint_Selectors.i: Added missing #if RTCORBA protection. This fixes minimum CORBA build problems. * tao/ORB_Core.cpp (~TAO_ORB_Core): Fixed the scope of #if protection. * tao/Invocation_Endpoint_Selectors.cpp (get_selector): Fixed unused arg warning. Sat Oct 14 00:09:48 2000 Marina Spivak * tests/Policies/Manipulation.cpp: Removed TAO::ClientPriorityPolicy from the test since it is disabled by default. * tests/Endpoint_Per_Priority/client.cpp * tests/Endpoint_Per_Priority/server.cpp * performance-tests/RTCORBA/Multiple_Endpoints/Endpoint_Per_Priority/client.cpp * performance-tests/RTCORBA/Multiple_Endpoints/Endpoint_Per_Priority/server.cpp: * tests/RTCORBA/Client_Propagated/client.cpp * tests/RTCORBA/Client_Propagated/server.cpp * tests/RTCORBA/Client_Protocol/client.cpp * tests/RTCORBA/Client_Protocol/server.cpp * tests/RTCORBA/Server_Protocol/client.cpp * tests/RTCORBA/Server_Protocol/server.cpp: Took care of unused arguments warnings (in the second
). Fri Oct 13 21:35:52 2000 Marina Spivak * tests/RTCORBA/RTCORBA_tests.dsw * tests/RTCORBA/Makefile.bor * tests/RTCORBA/Makefile: * tests/RTCORBA/README: Added Client_Protocol test. * tests/RTCORBA/Client_Protocol/Makefile: Generated dependencies. * tests/RTCORBA/Client_Protocol/run_test.pl * tests/RTCORBA/Client_Protocol/README: Updated. * tests/RTCORBA/Client_Protocol/client.cpp * tests/RTCORBA/Client_Protocol/server.cpp: Fixed compile warnings/errors. * tests/RTCORBA/Client_Protocol/server.dsp * tests/RTCORBA/Client_Protocol/client.dsp: Changed project names. * tao/IIOP_Connector.cpp (connect) * tao/UIOP_Connector.cpp (connect) * tao/SHMIOP_Connector.cpp (connect) * tao/orbsvcs/orbsvcs/SSLIOP_Connector.cpp (connect) * tao/Connector_Registry.cpp (connect): Added debugging message. * tests/Endpoint_Per_Priority/client.cpp * tests/Endpoint_Per_Priority/server.cpp * performance-tests/RTCORBA/Multiple_Endpoints/Endpoint_Per_Priority/client.cpp * performance-tests/RTCORBA/Multiple_Endpoints/Endpoint_Per_Priority/server.cpp: Compile tests only if TAO::ClientPriorityPolicy is enabled. Fri Oct 13 20:03:01 2000 Marina Spivak * tests/RTCORBA/Client_Protocol/Client_Protocol.dsw * tests/RTCORBA/Client_Protocol/Makefile * tests/RTCORBA/Client_Protocol/Makefile.bor * tests/RTCORBA/Client_Protocol/README * tests/RTCORBA/Client_Protocol/client.bor * tests/RTCORBA/Client_Protocol/client.cpp * tests/RTCORBA/Client_Protocol/client.dsp * tests/RTCORBA/Client_Protocol/run_test.pl * tests/RTCORBA/Client_Protocol/server.bor * tests/RTCORBA/Client_Protocol/server.cpp * tests/RTCORBA/Client_Protocol/server.dsp * tests/RTCORBA/Client_Protocol/test.idl: Added a test for RTCORBA::ClientProtocolPolicy policy. Fri Oct 13 18:17:06 2000 Jeff Parsons * TAO_IDL/be/be_visitor_argument/request_info_sh.cpp: Added missing 'const' to code generation of request info class private member declaration for simple predefined types. * TAO_IDL/include/ast_visitor.h: Removed unnecessary #if defined (IDL_HAS_VALUETYPE) guard around two pure virtual functions. Fri Oct 13 14:32:50 2000 Ossama Othman * tests/Portable_Interceptors/Dynamic/interceptors.cpp (receive_exception, send_exception): The CORBA::Exception::_info() method return an ACE_CString, not a const char *. Invoked the ACE_CString::c_str() method to correct a warning. Fri Oct 13 13:21:06 2000 Jeff Parsons * TAO_IDL/tao_idl.cpp: Added some missing commas in the functions that output the FE and BE version. Thanks to Craig Rodrigues for pointing this out and supplying a patch. Fri Oct 13 11:27:03 2000 Jeff Parsons * TAO_IDL/be/be_visitor_argument/request_info_arglist.cpp: * TAO_IDL/be/be_visitor_argument/request_info_ch.cpp: Added a check for an imported node along with all the other checks that are there to decide whether to generate the ACE_NESTED_CLASS macro or not for the members of the request info subclasses constructor signature and private member declaration. If the member is imported, the full scoped name should be generated on all platforms. Thanks to Base V Paul for reporting this bug. While I was there, I added the above decision branch to all the other applicable data types. It had been added piecemeal up to now, as bugs were reported. Fri Oct 13 10:06:03 2000 Jeff Parsons * TAO_IDL/include/ast_visitor.h: * TAO_IDL/ast/ast_visitor.cpp: New files containing the abstract class ast_visitor. Anyone writing a pluggable back end for the IDl compiler and who wishes to have the visitors traverse the AST_ classes instead of the be_ classes can subclass this class. * TAO_IDL/Makefile.FE: * TAO_IDL/TAO_IDL_FE_DLL.dsp: * TAO_IDL/TAO_IDL_FE_LIB.dsp: * TAO_IDL/TAI_IDL_FE.bor: * TAO_IDL/ast/Makefile.am: Added the above new files to the Makefiles and to the MSVC projects. * TAO_IDL/ast/ast_argument.cpp: * TAO_IDL/ast/ast_array.cpp: * TAO_IDL/ast/ast_attribute.cpp: * TAO_IDL/ast/ast_constant.cpp: * TAO_IDL/ast/ast_decl.cpp: * TAO_IDL/ast/ast_enum.cpp: * TAO_IDL/ast/ast_enum_val.cpp: * TAO_IDL/ast/ast_exception.cpp: * TAO_IDL/ast/ast_expression.cpp: * TAO_IDL/ast/ast_field.cpp: * TAO_IDL/ast/ast_interface.cpp: * TAO_IDL/ast/ast_interface_fwd.cpp: * TAO_IDL/ast/ast_module.cpp: * TAO_IDL/ast/ast_native.cpp: * TAO_IDL/ast/ast_operation.cpp: * TAO_IDL/ast/ast_predefined_type.cpp: * TAO_IDL/ast/ast_root.cpp: * TAO_IDL/ast/ast_sequence.cpp: * TAO_IDL/ast/ast_string.cpp: * TAO_IDL/ast/ast_structure.cpp: * TAO_IDL/ast/ast_type.cpp: * TAO_IDL/ast/ast_typedef.cpp: * TAO_IDL/ast/ast_union.cpp: * TAO_IDL/ast/ast_union_branch.cpp: * TAO_IDL/ast/ast_union_label.cpp: * TAO_IDL/include/ast.h: * TAO_IDL/include/ast_argument.h: * TAO_IDL/include/ast_array.h: * TAO_IDL/include/ast_attribute.h: * TAO_IDL/include/ast_constant.h: * TAO_IDL/include/ast_decl.h: * TAO_IDL/include/ast_enum.h: * TAO_IDL/include/ast_enum_val.h: * TAO_IDL/include/ast_exception.h: * TAO_IDL/include/ast_expression.h: * TAO_IDL/include/ast_field.h: * TAO_IDL/include/ast_interface.h: * TAO_IDL/include/ast_interface_fwd.h: * TAO_IDL/include/ast_module.h: * TAO_IDL/include/ast_native.h: * TAO_IDL/include/ast_operation.h: * TAO_IDL/include/ast_predefined_type.h: * TAO_IDL/include/ast_root.h: * TAO_IDL/include/ast_sequence.h: * TAO_IDL/include/ast_string.h: * TAO_IDL/include/ast_structure.h: * TAO_IDL/include/ast_type.h: * TAO_IDL/include/ast_typedef.h: * TAO_IDL/include/ast_union.h: * TAO_IDL/include/ast_union_branch.h: * TAO_IDL/include/ast_union_label.h: * TAO_IDL/include/utl_scope.h: * TAO_IDL/util/utl_scope.cpp: Added virtual accept() method to the above classes, for use by the AST visitors. * TAO_IDL/be/be_argument.cpp: Cosmetic changes. Fri 13 10:07:16 2000 Michael Kircher * examples/Quoter/Quoter_i.cpp: Removed the code to move the Quoter object. This code was relying on the proprietary TAO_POA::forward_object () method. To implement the move () operation in a standard way, the whole example would have needed to be rewritten using a PortableServer::ServantLocator. * examples/Quoter/client.cpp: Removed the code for moving the Quoter object. * examples/Quoter/README: Documented the step described above. Fri Oct 13 06:28:57 2000 Balachandran Natarajan * orbsvcs/IFR_Service/IFR_Service.bor: Fixed link problem by adding required libraries. * orbsvcs/orbsvcs/FaultTolerance.bor: * orbsvcs/orbsvcs/Makefile.bor: * orbsvcs/tests/FaultTolerance/*/*.bor: Added new makefiles for FaultTolerance library and tests. * tests/Collocation/*.bor: Changed DLL macros to fix case mismatch. * tests/IORManipulation/Makefile.bor: * tests/MProfile/client.bor: Fixed link problem by adding missing IORManip library. Thanks to Christopher Kohlhoff for providing these fixes. Thu Oct 12 18:14:16 2000 Phillip DiCorpo * examples/Advanced/ch_12/client.cpp (operator<<): * examples/Advanced/ch_12/server.h: * examples/Advanced/ch_12/server.cpp: Added an #if 0 around the insertion operator to exceptions. We dont need these as TAO provides them already. Also, added the right environment variables for preinvoke & postinvoke operations. * examples/Advanced/ch_12/Makefile: Added the right libraries for linking. Thanks to Bala for helping me with this. Thu Oct 12 14:24:03 2000 Ossama Othman * tao/Acceptor_Registry.cpp (open_default, open_i, extract_endpoint_version): Initialize major and minor endpoint versions to TAO_DEF_GIOP_MAJOR and TAO_DEF_GIOP_MINOR, respectively, instead of -1 so that a valid version is passed to pluggable protocol open() and/or open_default() methods. This makes things less error prone, especially since initializing to -1 did not provide us with anything useful. * docs/Options.html: Updated ORB option documentation in accordance with the changes made to the TAO_ORB_Core::init() method described below. * tao/ORB_Core.cpp (init): Added warning message about the fact that the "-ORBPreconnect" option is obsolete, and that validate_connection() should be used instead. Removed support for the long obsolete "-ORB{Name,Trading,ImplRepo}ServiceIOR" options. Their functionality is already provided by the standard -ORBInitRef ORB option. * tao/Connector_Registry.h (connect): Removed the default value for the ACE_Time_Value pointer argument. There is no reason why it should have a default value since TAO's invocation code always passes an ACE_Time_Value when calling connect(), even if that value is zero. * tao/Connector_Registry.cpp (connect): * tao/Pluggable.h (connect): * tao/IIOP_Connector.h (connect): * tao/IIOP_Connector.cpp (connect): * tao/SHMIOP_Connector.h (connect): * tao/SHMIOP_Connector.cpp (connect): * tao/UIOP_Connector.h (connect): * tao/UIOP_Connector.cpp (connect): * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.h (connect): Added CORBA::Environment argument to the connect() call to make it possible to throw exceptions within that method. Most pluggable protocols may not need this argument, and can rely on the GIOP_Invocation class to figure out the appropriate exception to throw, if any. However, the SSLIOP pluggable protocol may need to throw the CORBA::NO_PERMISSION exception when attempting to connect to an endpoint. * tao/Invocation.cpp (start): Pass the CORBA::Environment variable ACE_TRY_ENV to the TAO_Connector_Registry::connect() call. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp (connect): Only allow connection to the insecure IIOP port if the endpoint explicitly allows it, i.e. if the Security::NoProtection security association bit is set in the SSLIOP::SSL::target_supports field. The server will soon perform the same permission check, so this check is an optimization since a connection will not be established needlessly, i.e. rejected due to lack of permission. Removed the check that causes an attempt to connect to the insecure port if the SSL port is set to zero. The SSL port will never be set to zero on the client side. It will default to port 684, the IANA assigned port for IIOP over SSL. Note that it is still possible for the standard non-SSLIOP aware IIOP pluggable protocol to attempt to connect to the insecure port. In that case, the server will have to prevent the connection, and subsequently the request, from completing. This feature will be added soon. If the endpoint requires an insecure connection, i.e. the Security::NoProtection security association bit in the SSLIOP::SSL::target_requires field is enabled, then prevent an SSL connection from occuring. This seems silly, but nothing appears to be in the spec that states this can't be done. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.cpp (TAO_SSLIOP_Endpoint): Pass pointer to entire SSLIOP::SSL component so that its entire contents may be copied, not just the port. This is particularly necessary to make it possible to keep track of the security associations corresponding to the given endpoint. If the pointer is zero, then initialize the SSLIOP::SSL component with conservative security association options, and set the port to be the IANA assigned port for IIOP over SSL, 684. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Endpoint.i (ssl_port): Removed this method. It is more useful to return the entire SSLIOP::SSL component in most cases, hence the newly added ssl_component() accessor described below. (ssl_component): Accessor method that returns a constant reference to the SSLIOP::SSL component associated with the given SSLIOP endpoint. In most cases, we need to check the "target_supports" and "target_requires" fields, not just the "port" field. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.h: * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.cpp: The constructor now accepts an argument that sets the default value for the Security::NoProtection bit in the SSLIOP::SSL::target_supports field. The need for this change will obviated once the security policy support is added. (create_mprofile, create_rt_mprofile): Pass pointer to the entire SSLIOP::SSL component, not just the port. Its other fields are important for enforcing security. (verify_secure_configuration): New method that ensures neither the endpoint configuration nor the ORB configuration violate security measures. In order to support a secure connection, the SSLIOP::SSL tagged component must be embedded in the IOR. This isn't possible if the user elects to disable standard profile components. Similarly, IIOP 1.0 does not support tagged components, which it makes it impossible to embed the SSLIOP::SSL tagged component within the IOR. If the given object explicitly disallows insecure invocations and standard profile components are disabled, then return with an error since secure invocations cannot be supported without standard profile components. Note that it isn't enough to support Security::NoProtection. Security::NoProtection must be required since "support" does not preclude the secure port from being used. (open, open_default): Call the newly added verify_secure_configuration() method prior to opening any endpoints to ensure that neither the endpoint configuration nor the ORB configuration violate security measures. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Factory.h: The new "no_protection_" field is now used instead of the old "use_ssl_" field. * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Factory.cpp (init): Deprecated the "-SSLDisable" option. It has been superseded by the "-SSLNoProtection" option since it is better emphasizes the consequences of disabling SSL support, and since it is also applicable on the server side. (make_acceptor): Pass the newly added "no_protection_" field to the SSLIOP_Acceptor constructor. Thu Oct 12 15:29:06 2000 Balachandran Natarajan * orbsvcs/orbsvcs/FaultTolerance/FT_Service_Activate.cpp: * orbsvcs/orbsvcs/FaultTolerance/FT_Service_Activate.h: * orbsvcs/orbsvcs/FaultTolerance/FT_Service_Callbacks.h: * orbsvcs/orbsvcs/FaultTolerance/FT_Service_Callbacks.i: * orbsvcs/orbsvcs/FaultTolerance/FT_Service_Callbacks.cpp: Did some clean up of the code. Added a pointer to the ORB_Core in the TAO_FT_Service_Callback class so that the class is aware of the ORB_Core that activated him. Thu Oct 12 15:25:21 2000 Balachandran Natarajan * tao/Stub.i: Removed a lock on the critical path. Thu Oct 12 15:14:09 2000 Marina Spivak * tao/Invocation_Endpoint_Selectors.cpp: Fixed unused variables and other warnings/typos. Thu Oct 12 15:12:39 2000 Balachandran Natarajan * All the Makefiles have been updated. Thu Oct 12 14:31:13 2000 Marina Spivak * tao/ORB_Core.h * tao/ORB_Core.i: Changed return types for all endpoint selector accessors to be the most derived types rather than the base type. Thu Oct 12 13:16:05 2000 Marina Spivak * tao/IIOP_Profile.cpp * tao/IIOP_Profile.h * tao/Profile.cpp * tao/Profile.h * tao/SHMIOP_Profile.cpp * tao/SHMIOP_Profile.h * tao/UIOP_Profile.cpp * tao/UIOP_Profile.h: Added method. * tao/orbconf.h: Disabled TAO_HAS_CLIENT_PRIORITY_POLICY by default. This policy is deprecated. New RTCORBA policies should be used instead. Users can still use Client_Priority_Policy by explicitly enabling it in orbconf.h, but enabling it disables the use of RTCORBA policies. * tao/TAOC.i: Moved streaming operators for Client_Prioririty_Policy inside the #ifdef protections. They were outside causing the compilation to fail if the policy was disabled. * tao/ORB_Core.cpp * tao/ORB_Core.h * tao/ORB_Core.i: Added TAO_Endpoint_Selector_Factory and TAO_*_Selector data members to the ORB Core class. * tao/Stub.cpp (client_protocol): When figuring out effective ClientProtocolPolicy for the object, ORB default value should not be used - it creates conflict in case the policy is also set for the object on the server side. * tao/Invocation.h * tao/Invocation.cpp * tao/Invocation_Endpoint_Selectors.h: The logic for selection/reselection of a profile/endpoint used for an Invocation has been strategized. TAO_Invocation_Endpoint_Selector represents the interface for the strategy. Added five concrete strategies: for the default case and for various combinations of RTCORBA policies. TAO_Endpoint_Selector_Factory is used to obtain the appropriate strategy for each invocation. Note, that all selector strategies are stateless, and, therefore, can be used concurrently by multiple threads. This makes it possible to use a preallocated set of selectors from the ORB_Core for all Invocations rather than dynamically allocating a new selector for each Invocation. * tao/TAO.dsp * tao/TAO_Static.dsp * tao/Makefile.bor * tao/Makefile: Updated. Thu Oct 12 12:17:44 2000 Angelo * TAO version 1.1.10 released.