Tue Oct 10 21:54:52 2000 Nanbor Wang * bin/msvc_auto_compile.pl (Build_Core): Updated LIB core build dsp list. Tue Oct 10 18:51:16 2000 Carlos O'Ryan * ace/Makefile.bor: * ace/RMCast/Makefile.bor: * include/makeinclude/ace_flags.bor: Add a Borland makefile for the RMCast library. Thanks to Johhny Willemsen for providing this. Tue Oct 10 17:59:09 2000 Carlos O'Ryan * ace/RMCast/RMCast.dsp: Update the project file Tue Oct 10 17:25:32 2000 Carlos O'Ryan * Finally the Send_File example works correctly. In my tests four nodes received the same file successfully. I also tried some features to cleanly terminate receivers and senders. However, I still need to work on flow control, and in strategies to limit the maximum number of messages buffered by the sender and/or receiver. * ace/RMCast/Makefile: Add the new files to the Makefile * ace/RMCast/RMCast.h: Move the state transition matrix to RMCast_Receiver_Module.h * ace/RMCast/RMCast_Ack_Worker.h: * ace/RMCast/RMCast_Ack_Worker.i: * ace/RMCast/RMCast_Ack_Worker.cpp: Move the ACE_RMCast_Ack_Worker class to its own file. Only used in the Retransmission module. * ace/RMCast/RMCast_Fork.h: * ace/RMCast/RMCast_Fork.i: * ace/RMCast/RMCast_Fork.cpp: This class superseeds Control_Splitter. I realized that forking the control messages to the user layer is a more general and cleaner solution for this problem. * ace/RMCast/RMCast_Control_Splitter.h: * ace/RMCast/RMCast_Control_Splitter.i: * ace/RMCast/RMCast_Control_Splitter.cpp: Removed. * ace/RMCast/RMCast_Fragment.cpp: Fixed bug when computing the length of the message, it should be total_length() but I was using total_size(). * ace/RMCast/RMCast_IO_UDP.cpp: Destroy proxys that return -1 from receive_message(). Add multiple debug messages, now commented out. * ace/RMCast/RMCast_Membership.h: * ace/RMCast/RMCast_Membership.cpp: When a new member joins or leaves the group we need to resend the ack messages to the upper layer. The code to compute the correct Ack message is factored out. Many debug messages, but they are commented out. New method so clients can know how many members the group has, it can be used for safe termination of senders. * ace/RMCast/RMCast_Module.cpp: The open() and close() methods propagate through the stack as any other message. * ace/RMCast/RMCast_Reassembly.h: * ace/RMCast/RMCast_Reassembly.cpp: Cleanup is performed in the close() operation. Old messages are dropped from the map immediately, the Reordering layer is the right place to reject them (if any). * ace/RMCast/RMCast_Reliable_Factory.cpp: Use ACE_RMCast_Receiver_Module to validate and process the messages in the proxy, for example, Ack messages are a clear error on the receiver side. * ace/RMCast/RMCast_Receiver_Module.h: * ace/RMCast/RMCast_Receiver_Module.i: * ace/RMCast/RMCast_Receiver_Module.cpp: This module implements message validation and state transitions for a receiver. It also generates the correct responses for an Ack_Join or Poll message. * ace/RMCast/RMCast_Reordering.h: * ace/RMCast/RMCast_Reordering.cpp: Cleanup resources in the close() method * ace/RMCast/RMCast_Resend_Worker.h: * ace/RMCast/RMCast_Resend_Worker.i: * ace/RMCast/RMCast_Resend_Worker.cpp: Move the ACE_RMCast_Resend_Worker class to its own file. Only used in the Retransmission module. * ace/RMCast/RMCast_Resend_Handler.cpp: Resend all the messages after each timeout. * ace/RMCast/RMCast_Retransmission.h: * ace/RMCast/RMCast_Retransmission.cpp: Worker classes moved to their own files. * ace/RMCast/RMCast_Sequencer.h: * ace/RMCast/RMCast_Sequencer.i: * ace/RMCast/RMCast_Sequencer.cpp: Assign unique sequence numbers to each message, used on the sender side. * ace/RMCast/RMCast_UDP_Proxy.cpp: Incoming message must pass through the proxy before going up the stack. The source field was not set in the messages. * ace/RMCast/RMCast_UDP_Reliable_Sender.h: * ace/RMCast/RMCast_UDP_Reliable_Sender.i: * ace/RMCast/RMCast_UDP_Reliable_Sender.cpp: Use the new ACE_RMCast_Sequencer module to assign message sequence numbers. Use the new ACE_RMCast_Fork class to send incoming control messages both to the user and the retransmission/membership modules. Add method to detect how many members are currently registered with the membership layer. * tests/RMCast/RMCast_Retransmission_Test.cpp: Assign the sequence numbers before going into the retransmission layer, as would be done in a normal application. * examples/RMCast/Send_File/Makefile: Update dependencies * examples/RMCast/Send_File/Sender.cpp: Only shutdown once all the members have left the group. Use long periods to make debugging easier. * examples/RMCast/Send_File/Receiver.cpp: Only shutdown once the Ack_Leave message is received. Return -1 from the data() method once the complete file is received, that initiates the termination. Use long periods to make debugging easier. Tue Oct 10 16:34:01 2000 Nanbor Wang * ace/config-win32-common.h: Changed ACE_HAS_SVC_DLL to ACE_SVC_HAS_DLL and commented out its definition. The default definition of ACE_SVC_HAS_DLL has been moved to ace/Svc_export.h. The comment-out code here only serves as a reminder to users. Thanks to Mike Curtis for pointing this out. * netsvcs/lib/Base_Optimizer.cpp: Removed redundant definition of ACE_BUILD_DLL. * ace/ACE_export.h: * ace/OS_Export.h: Added a new macro ACE_AS_STATIC_LIBS that controls the default value of ACE_OS_HAS_DLL and ACE_HAS_DLL so we can build static ACE library easily. * ace/ace_lib.dsp: * apps/gperf/src/gperf.dsp: * apps/gperf/src/gperf_lib.dsp: Changed to use ACE_AS_STATIC_LIBS for static configurations. Mon Oct 09 16:45:00 2000 Carlos O'Ryan * ace/RMCast/Makefile: * ace/RMCast/RMCast.dsp: Add new files to the RMCast project and Makefile. * ace/RMCast/RMCast_Control_Splitter.h: * ace/RMCast/RMCast_Control_Splitter.i: * ace/RMCast/RMCast_Control_Splitter.cpp: A module to separate control messages from regular data flow. * ace/RMCast/RMCast_Copy_On_Write.h: * ace/RMCast/RMCast_Copy_On_Write.cpp: Add accessor to check if the collection is empty. * ace/RMCast/RMCast_IO_UDP.h: * ace/RMCast/RMCast_IO_UDP.i: * ace/RMCast/RMCast_IO_UDP.cpp: * ace/RMCast/RMCast_UDP_Event_Handler.cpp: Decouple the event handler. * ace/RMCast/RMCast_Module.h: * ace/RMCast/RMCast_Module.i: * ace/RMCast/RMCast_Module.cpp: * ace/RMCast/RMCast_UDP_Proxy.h: Fixed comments. * ace/RMCast/RMCast_Module_Factory.h: No need to pass the IO_UDP to the module factory. * ace/RMCast/RMCast_Reliable_Factory.h: * ace/RMCast/RMCast_Reliable_Factory.i: * ace/RMCast/RMCast_Reliable_Factory.cpp: A factory to create the per-proxy stack on the receivers. * ace/RMCast/RMCast_Resend_Handler.h: * ace/RMCast/RMCast_Resend_Handler.i: * ace/RMCast/RMCast_Resend_Handler.cpp: An adapter to resend messages on a Reactor scheduled timer. * ace/RMCast/RMCast_Retransmission.h: * ace/RMCast/RMCast_Retransmission.cpp: Add a method to resend all the messages. * ace/RMCast/RMCast_Singleton_Factory.h: * ace/RMCast/RMCast_Singleton_Factory.i: * ace/RMCast/RMCast_Singleton_Factory.cpp: A module factory that "creates" the same object over and over. * ace/RMCast/RMCast_UDP_Reliable_Receiver.h: * ace/RMCast/RMCast_UDP_Reliable_Receiver.i: * ace/RMCast/RMCast_UDP_Reliable_Receiver.cpp: Helper class to simplify the creation and configuration of a UDP receiver. * ace/RMCast/RMCast_UDP_Reliable_Sender.h: * ace/RMCast/RMCast_UDP_Reliable_Sender.i: * ace/RMCast/RMCast_UDP_Reliable_Sender.cpp: Helper class to simplify the creation and configuration of a UDP sender. * tests/RMCast/RMCast_UDP_Best_Effort_Test.cpp: Had to change due to modifications in the I/O UDP layer interface. * examples/RMCast/Makefile: * examples/RMCast/Send_File/Makefile: * examples/RMCast/Send_File/Receiver.cpp: * examples/RMCast/Send_File/Receiver.dsp: * examples/RMCast/Send_File/Send_File.dsw: * examples/RMCast/Send_File/Sender.cpp: * examples/RMCast/Send_File/Sender.dsp: Add a simple example that sends a file over reliable UDP multicast. Mon Oct 9 14:44:25 2000 Darrell Brunsch * bin/generate_export_file.pl: Made some minor changes to make a bit more robust. * bin/regenerate_exports.pl: (added) This script should be able to recurse from the current directory reupdating the export files. Use at your own risk. Mon Oct 09 03:23:22 2000 Nanbor Wang * bin/generate_export_file.pl: Changed the script so we can define a single macro to switch multiple *_HAS_DLL default definitions. Sat Oct 7 04:30:00 2000 Douglas C. Schmidt * Doug and Sonja got married in St. Louis, surrounded by their family, friends, and many ACE+TAO developers! Sat Oct 7 000:50:02 2000 Darrell Brunsch * ace/ACE.cpp: * ace/ACE.h: * ace/ACE.i: * ace/ARGV.cpp: * ace/ATM_Acceptor.cpp: * ace/ATM_Acceptor.i: * ace/ATM_Addr.cpp: * ace/ATM_Connector.cpp: * ace/ATM_Connector.i: * ace/ATM_QoS.cpp: * ace/ATM_Stream.cpp: * ace/Acceptor.cpp: * ace/Activation_Queue.cpp: * ace/Addr.cpp: * ace/Arg_Shifter.cpp: * ace/Asynch_Acceptor.cpp: * ace/Asynch_IO.cpp: * ace/Based_Pointer_T.cpp: * ace/Basic_Types.h: * ace/CORBA_Handler.cpp: * ace/Cache_Map_Manager_T.cpp: * ace/Cached_Connect_Strategy_T.cpp: * ace/Caching_Strategies_T.i: * ace/Capabilities.cpp: * ace/Capabilities.h: * ace/Configuration.cpp: * ace/Connector.cpp: * ace/Containers_T.cpp: * ace/DEV_Addr.cpp: * ace/DEV_Connector.i: * ace/DLL.cpp: * ace/Dirent.i: * ace/Dynamic_Service.cpp: * ace/FIFO.cpp: * ace/FIFO_Recv.cpp: * ace/FIFO_Recv_Msg.cpp: * ace/FIFO_Send.cpp: * ace/FIFO_Send_Msg.cpp: * ace/FILE_Addr.cpp: * ace/FILE_Connector.cpp: * ace/FILE_Connector.i: * ace/File_Lock.cpp: * ace/Filecache.cpp: * ace/Filecache.h: * ace/Future.cpp: * ace/Get_Opt.cpp: * ace/Handle_Set.cpp: * ace/Hash_Map_Manager_T.cpp: * ace/Hash_Map_Manager_T.i: * ace/High_Res_Timer.cpp: * ace/High_Res_Timer.h: * ace/INET_Addr.cpp: * ace/INET_Addr.h: * ace/IO_SAP.cpp: * ace/IPC_SAP.cpp: * ace/LSOCK.cpp: * ace/LSOCK_CODgram.cpp: * ace/LSOCK_Connector.cpp: * ace/LSOCK_Dgram.cpp: * ace/Local_Name_Space_T.cpp: * ace/Local_Tokens.cpp: * ace/Local_Tokens.i: * ace/Log_Msg.cpp: * ace/Log_Msg.h: * ace/Log_Record.cpp: * ace/Logging_Strategy.cpp: * ace/MEM_Acceptor.cpp: * ace/MEM_Addr.cpp: * ace/MEM_Connector.cpp: * ace/MEM_SAP.cpp: * ace/Malloc.cpp: * ace/Malloc_T.cpp: * ace/Malloc_T.h: * ace/Map_Manager.cpp: * ace/Map_Manager.i: * ace/Mem_Map.cpp: * ace/Memory_Pool.cpp: * ace/Message_Block.cpp: * ace/Message_Queue.cpp: * ace/Message_Queue_T.cpp: * ace/Module.cpp: * ace/Name_Proxy.cpp: * ace/Name_Request_Reply.cpp: * ace/Naming_Context.cpp: * ace/OS.cpp: * ace/OS.h: * ace/OS.i: * ace/Object_Manager.cpp: * ace/Obstack.cpp: * ace/POSIX_Asynch_IO.cpp: * ace/Parse_Node.cpp: * ace/Pipe.cpp: * ace/Proactor.cpp: * ace/Process.cpp: * ace/Process_Manager.cpp: * ace/QoS_Manager.cpp: * ace/QoS_Session_Factory.cpp: * ace/QoS_Session_Impl.cpp: * ace/RB_Tree.cpp: * ace/RB_Tree.i: * ace/Read_Buffer.cpp: * ace/Registry.cpp: * ace/Registry_Name_Space.cpp: * ace/Remote_Name_Space.cpp: * ace/Remote_Tokens.cpp: * ace/SOCK.cpp: * ace/SOCK_Acceptor.cpp: * ace/SOCK_CODgram.cpp: * ace/SOCK_Connector.cpp: * ace/SOCK_Dgram.cpp: * ace/SOCK_Dgram_Bcast.cpp: * ace/SOCK_Dgram_Mcast.cpp: * ace/SOCK_Dgram_Mcast.h: * ace/SOCK_Dgram_Mcast_QoS.cpp: * ace/SPIPE_Acceptor.cpp: * ace/SPIPE_Addr.cpp: * ace/SPIPE_Connector.cpp: * ace/SV_Message_Queue.cpp: * ace/SV_Semaphore_Complex.cpp: * ace/SV_Semaphore_Simple.cpp: * ace/SV_Shared_Memory.cpp: * ace/Select_Reactor_Base.cpp: * ace/Select_Reactor_T.cpp: * ace/Service_Config.cpp: * ace/Service_Manager.cpp: * ace/Service_Repository.cpp: * ace/Service_Types.cpp: * ace/Singleton.cpp: * ace/Stats.cpp: * ace/Stats.i: * ace/Strategies_T.cpp: * ace/Strategies_T.i: * ace/Stream.cpp: * ace/Svc_Conf.h: * ace/Svc_Conf.l: * ace/Svc_Conf.y: * ace/Svc_Conf_l.cpp: * ace/Svc_Conf_y.cpp: * ace/Svc_Handler.cpp: * ace/Synch.cpp: * ace/Synch.h: * ace/Synch_T.cpp: * ace/System_Time.cpp: * ace/TLI.cpp: * ace/TLI_Acceptor.cpp: * ace/TLI_Connector.i: * ace/TP_Reactor.i: * ace/Task_T.cpp: * ace/Thread_Manager.cpp: * ace/Time_Request_Reply.cpp: * ace/Timeprobe_T.cpp: * ace/Timer_Hash_T.cpp: * ace/Timer_Heap_T.cpp: * ace/Timer_List_T.cpp: * ace/Timer_Queue_Adapters.cpp: * ace/Timer_Queue_T.cpp: * ace/Timer_Wheel_T.cpp: * ace/Token.cpp: * ace/Token_Collection.cpp: * ace/Token_Invariants.cpp: * ace/Token_Manager.cpp: * ace/Token_Request_Reply.cpp: * ace/Token_Request_Reply.i: * ace/Trace.cpp: * ace/Trace.h: * ace/UPIPE_Acceptor.cpp: * ace/UPIPE_Connector.cpp: * ace/UPIPE_Connector.i: * ace/WFMO_Reactor.cpp: * ace/WFMO_Reactor.i: * ace/WIN32_Asynch_IO.cpp: * ace/WIN32_Proactor.cpp: * ace/XTI_ATM_Mcast.i: * ace/ace_wchar.h: * ace/config-WinCE.h: * ace/config-all.h: * ace/config-win32-borland.h: * ace/config-win32-msvc.h: * ace/config-win32-visualage.h: Split several methods into char/wchar_t versions: - ACE_OS::getenv - ACE_OS::cuserid - ACE_Allocator_Adapter constructor - ACE_Manual_Event constructor Split several string macros into char/wchar_t versions: - ACE_DIRECTORY_SEPARATOR_STR - ACE_DIRECTORY_SEPARATOR_CHAR - ACE_PLATFORM - ACE_PLATFORM_EXE_SUFFIX - ACE_DEFAULT_LOCALNAME - ACE_DEFAULT_GLOBALNAME - ACE_DEFAULT_MUTEX Added ACE_DEFAULT_NAMESPACE_DIR back in for ACE_LEGACY_MODE. Fri Oct 06 11:34:26 2000 Steve Huston * ace/Based_Pointer_T.cpp: * ace/Select_Reactor_T.cpp: Added #include "ace/Log_Msg.h" else IBM C++ can't compile the template at instantiation time. Wed Oct 04 12:23:34 2000 Carlos O'Ryan * ace/RMCast/RMCast_Copy_On_Write.h: * ace/RMCast/RMCast_Copy_On_Write.i: * ace/RMCast/RMCast_Copy_On_Write.cpp: More cleanup, this time for the Read_Guard class * ace/RMCast/RMCast_Proxy.h: * ace/RMCast/RMCast_Proxy.cpp: * ace/RMCast/RMCast_UDP_Proxy.cpp: The ACE_RMCast_Proxy class now handles outgoing Ack_Join messages to update the sequence numbers. * ace/RMCast/RMCast_Reordering.cpp: * ace/RMCast/RMCast_Retransmission.cpp: Fixed memory management problems. * tests/RMCast/RMCast_Retransmission_Test.cpp: Add tests to verify that the right number of messages is received by *all* proxies. Also check the Ack_Join messages. Wed Oct 4 12:03:07 2000 Ossama Othman * configure.in (ACE_HAS_STREAM_PIPES): Verify that we can actually set a STREAM option that ACE uses. This is particularly necessary for platforms that have ioctl conflicts. For example, the Linux kernel's CDROM ioctls have the same values as glibc 2.1.94's STREAM ioctls. Attempting to set a STREAM ioctl actually causes one of the CDROM ioctls to be set (unsuccessfully)! * configure.in: * m4/ace.m4: * m4/compiler.m4: Changed all uses of "$target" to "$host." "$target" is only used for compiler tool chains. "$host" is the correct variable since it refers to the host the application will be run on (as opposed to the host the application was built on $build). Wed Oct 4 09:15:42 2000 Darrell Brunsch * ace/RMCast/RMCast.dsp: Added new files. Tue Oct 3 17:07:37 2000 Carlos O'Ryan * ace/RMCast/Makefile: * ace/RMCast/RMCast_Reordering.h: * ace/RMCast/RMCast_Reordering.i: * ace/RMCast/RMCast_Reordering.cpp: Add re-ordering module, this is the receiver-side module that acks messages and delivers them in order to the application. * ace/RMCast/RMCast.h: Fixed data type in the Ack_Join message * ace/RMCast/RMCast_Copy_On_Write.h: * ace/RMCast/RMCast_Copy_On_Write.i: * ace/RMCast/RMCast_Copy_On_Write.cpp: * ace/RMCast/RMCast_Retransmission.cpp: Cleanup the Copy_On_Write implementation * tests/RMCast/Makefile: * tests/RMCast/RMCast_Tests.dsw: * tests/RMCast/RMCast_Reordering_Test.cpp: * tests/RMCast/RMCast_Reordering_Test.dsp: Add test for the reordering module. * tests/RMCast/RMCast_Retransmission_Test.cpp: Remove debug messages for the retransmission stuff. Tue Oct 3 15:03:42 2000 Darrell Brunsch * ace/OS.i: In the non-Win32 section of hostname (wchar version) I forgot to call wchar_rep on the ACE_Ascii_To_Wide temp class I was using. * ace/OS.h: ACE_PLATFORM_EXE_SUFFIX was being defined incorrectly. Tue Oct 3 14:25:09 2000 Darrell Brunsch * ace/OS.cpp: * ace/OS.h: * ace/OS.i: Expanded TCHAR versions of some string macros to have both _A and _W versions. Moved many of these definitions around, since a lot of the same code was being repeated. The macros changed are: ACE_DIRECTORY_SEPARATOR_STR, ACE_DIRECTORY_SEPARATOR_CHAR, ACE_PLATFORM, ACE_PLATFORM_EXE_SUFFIX, ACE_DEFAULT_LOCALNAME, ACE_DEFAULT_GLOBALNAME and ACE_DEFAULT_MUTEX. [Bug 674] Split TCHAR versions of atoi, hostname, access, open, and chdir into char and wchar_t versions. * ace/Process_Mutex.cpp: * ace/Process_Mutex.h: Changed the ACE_Process_Mutex constructor to take a char as a argument instead of TCHAR. Also added a version that takes in wchar_t. * ace/Synch.cpp: * ace/Synch.h: Changed the ACE_Auto_Event constructor to take a char as a argument instead of TCHAR. Just like above, added a version that takes in wchar_t also. * ace/ace_wchar.h: * ace/ace_wchar.inl: (added) Moved the method definitions from inlined in the class definition to the .inl file. Added typedefs for ACE_OS_C/WString to the ACE_Wide_To_Ascii/Asci_To_Wide classes for legacy support. [Bug 675] Added ACE_TEXT_WCHAR_TO_TCHAR macro that acts similar to ACE_TEXT_CHAR_TO_WCHAR (except converts wchar_t's) Added ACE_TEXT_WIDE macro, which is used to make literal strings wide. (We were just directly using L"" in most cases) Tue Oct 3 13:27:13 2000 Joe Hoffert * ace/OS.i: * ace/OS.cpp: Added !ACE_HAS_TSS_EMULATION to the ACE_HAS_PACE checks when TSS emulation is being used. We want to let ACE do the emulation instead of moving it into PACE since this would involve keeping track of the global TSS state. Tue Oct 3 12:25:46 2000 Darrell Brunsch * ace/Thread_Exit.cpp: Removed default argument in the function definition. * ace/Thread_Adapter.cpp: * ace/Thread_Adapter.h: Separated ACE_Thread_Adapter::invoke into invoke and invoke_i because it uses SEH and James added local vars with destructors. They don't work together in the same function. Tue Oct 03 12:53:28 2000 Angelo Corsaro * bin/run_all_list.pm: Disabled Connection Purging test, and enabled Exposed Policies test. Tue Oct 3 10:52:24 2000 Darrell Brunsch * performance-tests/Synch-Benchmarks/Base_Test/mutex_test.cpp: Added explicit includes for Process_Mutex and RW_Process_Mutex. Tue Oct 3 10:40:04 PDT 2000 James Hu * ace/Thread_Adapter.cpp: * ace/Thread_Exit.cpp: * ace/Thread_Exit.h: Changed this check to creating an ACE_Thread_Exit off the heap via a smart pointeresque way of the TSS instance fails to create. Tue Oct 3 05:55:01 2000 Douglas C. Schmidt * ace/Hash_Map_Manager_T.cpp: Added && (__SUNPRO_CC == 0x420) to the #elif defined (__SUNPRO_CC) to make things work properly on the Sun FORTE compiler. Thanks to Russ Noseworthy for reporting this. Mon Oct 2 18:49:06 PDT 2000 James Hu * ace/Thread_Adapter.cpp: If the TSS instance of the ACE_Thread_Exit class fails to create, the application will crash. The new code will detect the failure, wait half a second, and try again. This solution, while cheesy, corrects a problem Entera encountered, and avoids the problems my previous attempt caused with ACE. Mon Oct 2 13:38:44 2000 Ossama Othman * examples/QOS/QoS_Signal_Handler.cpp: * examples/QOS/QoS_Util.cpp: Include "ace/Log_Msg.h" to pull in definitions of the ACE_{DEBUG,ERROR} macros. Mon Oct 2 11:29:47 2000 Carlos O'Ryan * ace/RMCast/RMCast_Retransmission.h: * ace/RMCast/RMCast_Retransmission.cpp: Fixed several minor problems in the Retransmission module. Use Copy_On_Write dispatching for synchronization of the internal message buffer. * ace/RMCast/RMCast_Copy_On_Write.h: * ace/RMCast/RMCast_Copy_On_Write.i: * ace/RMCast/RMCast_Copy_On_Write.cpp: Implement Copy_On_Write semantics for a collection like the retransmission buffer. This is based on the ESF_Copy_On_Write strategy developed for the event channel. We should try to refactor this one in a reusable strategy. * ace/RMCast/RMCast_Worker.h: * ace/RMCast/RMCast_Worker.i: * ace/RMCast/RMCast_Worker.cpp: To implement copy-on-write we need the "alternative" form of iterators. * ace/RMCast/RMCast.h: * ace/RMCast/RMCast_Fragment.h: * ace/RMCast/RMCast_IO_UDP.h: * ace/RMCast/RMCast_IO_UDP.cpp: * ace/RMCast/RMCast_Membership.h: * ace/RMCast/RMCast_Membership.i: * ace/RMCast/RMCast_Membership.cpp: * ace/RMCast/RMCast_Module.h: * ace/RMCast/RMCast_Module_Factory.h: * ace/RMCast/RMCast_Partial_Message.h: * ace/RMCast/RMCast_Proxy.h: * ace/RMCast/RMCast_Proxy.i: * ace/RMCast/RMCast_Proxy.cpp: * ace/RMCast/RMCast_UDP_Event_Handler.h: * ace/RMCast/RMCast_UDP_Proxy.cpp: * tests/RMCast/RMCast_Membership_Test.cpp: Made the comments more doxygen friendly. Renamed the highest_in_sequence field to next_expected, the new name really reflects its semantics, this is the next sequence number that the peer is expecting. All the previous numbers have been either received or are simply assumed lost. * tests/Makefile: If the rmcast makefile flag is set to 1 we build the RMCast subdirectory too. * tests/RMCast/Makefile: * tests/RMCast/RMCast_Tests.dsw: * tests/RMCast/RMCast_Retransmission_Test.dsp: * tests/RMCast/RMCast_Retransmission_Test.cpp: New test for the Retransmission module Sun Oct 01 15:50:42 2000 Darrell Brunsch * bin/auto_run_tests.pl: Added support for a sandbox program that can shutdown a test if it hangs. Fri Sep 29 16:32:22 2000 Darrell Brunsch * bin/msvc_auto_compile.pl: Added the BE and FE projects for TAO_IDL so the static version gets built correctly in auto_compiles. Fri Sep 29 16:17:34 2000 Steve Huston * ace/WFMO_Reactor.cpp (register_handle_i): If a event handle is created for association with a socket handle, the auto_ptr which caused the ACE_Auto_Event destruction at function return usually smashed errno (since it was closing an invalid handle - see comments in code). Added a ACE_Errno_Guard and removed the ACE_Auto_Event's handle while in the guard to prevent errno smashing upon function return. Thu Sep 28 22:06:44 2000 Ossama Othman * ace/SSL/SSL_SOCK_Connector.h: * ace/SSL/SSL_SOCK_Connector.cpp (ACE_SSL_SOCK_Connector, shared_connect_start, shared_connect_finish, connect, complete): Made ACE_Time_Value arguments const to match the changes detailed in: Thu Sep 28 15:02:36 2000 Irfan Pyarali Fri Sep 29 00:23:59 2000 Irfan Pyarali * ace/Log_Msg.h (ACE_RETURN): Fixed minor error. Thu Sep 28 22:13:04 2000 Irfan Pyarali * ace/Log_Msg: Macros are evil! All the ACE debugging macros were evaluating the user arguments twice, once in log_priority_enabled() and the other in log(). The problem was that set() was making a deep copy of the filename. Hence, this change: Wed May 3 11:43:05 2000 Douglas C. Schmidt was made to prevent the deep copy which was unnecessary when the message was not actually logged. However, this resulted in the macro evaluating the user arguments twice. Previously, a statement like this: ACE_DEBUG ((LM_DEBUG, "timeout occured, iterations left %d\n", --iterations)); got reduced by one - now it got reduced by two ;-) The solution was to make a shallow copy of the filename in conditional_set(). Then in log(), if the log priority is correct, make a deep copy and then continue will log(). The macros were changed to call conditional_set() instead of set(). Also, changed ACE_RETURN to specify all the parameters, including , , and . Otherwise, the default parameters of set() will end up losing these parameters set by the user. Thu Sep 28 15:49:00 2000 Douglas C. Schmidt * ace/Stream.h (class ACE_Stream): Updated the documentation to clarify that the ACE_Time_Value's are *absolute* time. Thanks to Pedro for reporting this. Thanks to Pedro Brandao for reporting this. Thu Sep 28 15:02:36 2000 Irfan Pyarali * ace/SOCK_Connector.cpp: ACE_Time_Value args to ACE_SOCK_Connector could be const. Had to patch functions in the following files to make it happen: ACE.cpp ACE.h OS.h OS.i SOCK_Connector.cpp SOCK_Connector.h Thanks to Steve Huston for reporting this. This also fixes bug 673. Thu Sep 28 11:14:29 2000 Martin Stack * ace/config-freebsd.h: * ace/config-freebsd-pthread.h: * ace/config-linux-common.h: * ace/config-irix6.x-common.h: Added/Renamed to ACE_USES_NEW_TERMIOS_STRUCT. * ace/TTY_IO.h: * ace/TTY_IO.cpp: The Win32 section was modified to implement a non-blocking read when read-timeout=0 is set. Also, it was modified to ensure proper operations when a read_timeout is required. Code was added to enable the DTR line on both Win32 and unix platforms when the port is opened. Several new flags where added to give proper access to the serial device. Relabled macro "ACE_USES_OLD_TERMIOS_STRUCT" to "ACE_USES_NEW_TERMIOS_STRUCT" to properly indicate its purpose. Thu Sep 28 09:01:19 2000 Ossama Othman * ace/config-g++-common.h: Reverted my g++ 2.95 updates. They work on all platforms but the cross-compiler used for VxWorks. Wed Sep 27 16:17:36 2000 Ossama Othman * ace/IOStream.h: * ace/IOStream_T.h: Moved inclusion of `ace/INET_Addr.h' and `ace/Handle_Set.h' to `IOStream_T.h'. They weren't needed in `IOStream.h'. * ace/config-g++-common.h (ACE_LACKS_AUTO_PTR, ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES, ACE_HAS_GNUC_BROKEN_TEMPLATE_INLINE_FUNCTIONS): G++ 2.95.x properly support the auto_ptr class, templates with static data members, and inlined template functions. Wed Sep 27 14:02:30 2000 Irfan Pyarali * examples/Reactor/WFMO_Reactor/test_abandoned.cpp (handle_timeout): Moved <--this->iterations_> outside the DEBUG statement. Wed Sep 27 08:46:12 2000 Carlos O'Ryan * ace/RMCast/RMCast.dsw: Add new files to the project * tests/RMCast/RMCast_Tests.dsw: * tests/RMCast/RMCast_Membership_Test.dsp: Add project file for the new test * tests/RMCast/RMCast_Membership_Test.cpp: Fixed warning under MSVC Wed Sep 27 08:23:58 2000 Carlos O'Ryan * ace/RMCast/Makefile: Updated dependencies * ace/RMCast/RMCast.h: * ace/RMCast/RMCast_Module.h: * ace/RMCast/RMCast_Proxy.cpp: * ace/RMCast/RMCast_Proxy.h: * ace/RMCast/RMCast_Reassembly.h: * ace/RMCast/RMCast_Reassembly.cpp: * ace/RMCast/RMCast_Retransmission.cpp: Update comments to be doxygen friendly * ace/RMCast/RMCast_Membership.cpp: Fixed problems in Ack management, we were stopping the useful Acks, not the ones that just represented repeated information. * tests/RMCast/Makefile: * tests/RMCast/RMCast_Membership_Test.cpp: Add test for the ACE_RMCast_Membership class. Tue Sep 26 22:39:42 2000 Darrell Brunsch * examples/Reactor/WFMO_Reactor/test_abandoned.cpp: Changed the include of Synch.h to Process_Mutex.h since Process Mutex was moved there. Tue Sep 26 15:06:05 2000 Joe Hoffert * ace/config-all.h: * ace/OS.h: Removed defining ACE_HAS_POSIX_SEM for ACE using PACE from OS.h and put it into the config-all.h file. * ace/OS.{i,cpp}: Added appropriate calls to pace_* functions when ACE is using PACE. Tue Sep 26 14:14:17 2000 Steve Huston * ace/Cache_Map_Manager_T.h: Added some comments to the find() methods to say what they do and what they return. Tue Sep 26 10:09:32 2000 Carlos O'Ryan * bin/auto_compile: Modified to use the auto_run_tests.lst file to select the list of tests to run. Add new -config option to disable one or more tests, this will allow us select new configurations that disable one or more tests without requiring changes to the auto_compile script. * bin/auto_run_tests.lst: Disable some tests in STATIC builds and under linux. * bin/run_all_list.pm: This file is no longer used by auto_compile, add comments to that effect. Tue Sep 26 11:51:27 2000 Steve Huston * ace/Log_Msg.h: Add #include "ace/config-all.h" to be sure that ACE_NDEBUG is defined (or not) properly before using it. Thanks to Edan Ayal for this fix. Mon Sep 25 16:00:30 2000 Douglas C. Schmidt * ace/Synch.h: Clarify that the ACE_Auto_Event and ACE_Manual_Event classes only support USYNC_PROCESS on Win32. Thanks to Andreas Schuelke for motivating this change. Mon Sep 25 23:03:11 2000 Marina Spivak * bin/run_all_list.pm: Added TAO/tests/RTCORBA/Client_Propagated and TAO/tests/RTCORBA/Server_Protocol to the list of auto daily tests. Mon Sep 25 16:58:22 2000 Ossama Othman * ltcf-c.sh: * ltcf-cxx.sh: * ltconfig: * ltmain.sh: Updates from upstream libtool multi-language CVS branch. Mon Sep 25 14:24:49 2000 Jeff Parsons * Static_performance.dsw: Added the modular IDL compiler projects, and set the dependencies. Mon Sep 25 11:45:53 2000 Steve Huston * ace/config-win32-common.h: If NDEBUG is set, then also set ACE_NDEBUG. Thanks to Edan Ayal for noting that ACE_NDEBUG didn't always get set for Release builds. Sat Sep 23 16:55:26 2000 Carlos O'Ryan * ace/RMCast/Makefile: Add new components to the RMCast library. * ace/RMCast/RMCast_Proxy.h: * ace/RMCast/RMCast_Proxy.i: * ace/RMCast/RMCast_Proxy.cpp: All proxies must derive from this class, it offers methods to send back replies directly to the peer. * ace/RMCast/RMCast.h: The Proxy source is propagate among layers. * ace/RMCast/RMCast_IO_UDP.cpp: All proxies are modules. * ace/RMCast/RMCast_Membership.h: * ace/RMCast/RMCast_Membership.i: * ace/RMCast/RMCast_Membership.cpp: New module to keep an explicit collection of all the peers, detecting join and leave messages and computing the messages successfully received by all the peers using the Ack information. * ace/RMCast/RMCast_Retransmission.h: * ace/RMCast/RMCast_Retransmission.i: * ace/RMCast/RMCast_Retransmission.cpp: Buffer messages to allow retransmission. * ace/RMCast/RMCast_UDP_Proxy.h: * ace/RMCast/RMCast_UDP_Proxy.i: * ace/RMCast/RMCast_UDP_Proxy.cpp: Modified to inherit from the new RMCast_Proxy class. Fri Sep 22 15:13:46 2000 Darrell Brunsch * ace/Atomic_Op.i: I was mistaken, inline was being used correctly here, since on NT this is only included from Atomic_Op.h. So I reverted the previous change and added a disable command for fuzz. Fri Sep 22 14:49:19 2000 Darrell Brunsch * ace/OS.h: * ace/README: * ace/Synch.h: * ace/Thread_Control.cpp: * ace/Thread_Control.h: * ace/ace_wchar.h: * ace/config-all.h: Replaced ACE_ONLY_LATEST_AND_GREATEST with ACE_LEGACY_MODE since we wanted to change our usage of it (and this should be a bit clearer). To enable some legacy code, just define ACE_LEGACY_MODE in config.h. Fri Sep 22 14:24:14 2000 Darrell Brunsch * apps/JAWS/remora/app/Remora_Export.h: * apps/JAWS/remora/app/Remora_Import.h * apps/JAWS/remora/app/remora.idl: * apps/JAWS/remora/app/test.cc: * examples/Web_Crawler/Command_Processor.h: * tests/Handle_Set_Test.cpp: The CVS Id strings were not correctly formatted, so CVS never recognized them or updated them. Fixed. Fri Sep 22 12:27:42 2000 Darrell Brunsch * bin/fuzz.pl: The checks for TEXT and TCHAR gave too many false positives. Fixed to be a bit smarter about having these inside other macro names (such as DEFAULTCHARS). Also improved detection of CVS Id strings, since it ends up that there are several places where the strings are close (start with $ and Id) but then are missing a colon so they don't get updated properly. * WindozeCE/ACEApp.cpp: * WindozeCE/WindozeCE.cpp: * WindozeCE/WindozeCE.h: * WindozeCE/WindozeCEDlg.cpp: Disabled the fuzz tchar check, since these are WinCE only files and shouldn't have any problems with using the Win32 specific character macros. * WindozeCE/WindozeCE.plg: (removed) Shouldn't be in the repository * ace/ACE.cpp: There were some TEXT's (albeit in comments) that I changed to ACE_TEXT to make fuzz happy. * ace/Atomic_Op.i: Changed the inline's to ACE_INLINE to be consistent with the rest of the file. * ace/Handle_Gobbler.i: * apps/JAWS/remora/app/Remora_Export.i: * apps/JAWS/remora/app/Remora_Import.i: * examples/ASX/Event_Server/Event_Server/Options.i: * examples/ASX/UPIPE_Event_Server/Options.i: * performance-tests/Synch-Benchmarks/Perf_Test/Performance_Test_Options.i: Disabled the fuzz check for inline in these files, since they are only included in .h files, so they should be inline instead of ACE_INLINE. * apps/JAWS/clients/WebSTONE/src/bench.c: * apps/JAWS/clients/WebSTONE/src/genrand.c: * apps/JAWS/clients/WebSTONE/src/statistics.c: * apps/JAWS/clients/WebSTONE/src/timefunc.c: * apps/JAWS/clients/WebSTONE/src/webclient.c: * apps/JAWS/clients/WebSTONE/src/webmaster.c: * apps/JAWS/clients/WebSTONE/src/nsapi-includes/base/eventlog.h: * apps/JAWS/stress_testing/global.h: Disabled checks for inline and math.h, since there probably isn't any problems with them here. * performance-tests/TCP/tcp_test.cpp: * performance-tests/UDP/udp_test.cpp: Disabled fuzz math.h include checks. Fuzz reports should be pretty clean now, just some Id string stuff to clean up. [Bug 630] Fri Sep 22 12:01:06 2000 Ossama Othman * ace/Basic_Types.h (ACE_ULongLong): This class does't use the ACE_ALLOC_HOOK_DEFINE macro so there was no point in using the corresponding ACE_ALLOC_HOOK_DECLARE macro. Removed ACE_ALLOC_HOOK_DECLARE from the ACE_ULongLong class. * ace/OS.h: * ace/config-all.h: Moved ACE_ALLOC_HOOK* macros to `ace/config-all.h' so that it isn't necessary to include `ace/OS.h' just to pull in the definition of those macros. Fri Sep 22 13:02:41 2000 Steve Huston * ace/config-all.h: Enable ACE_ONLY_LATEST_AND_GREATEST by default. If config.h sets it to 0, then it gets disabled to allow deprecated features to be used. Do not rely on them staying there through the next ACE release however. Fri Sep 22 09:27:42 2000 Darrell Brunsch * ace/Logging_Strategy.cpp: Added ACE_TEXT to a couple of the literal strings. * ace/Registry.cpp: MSVC 5 has a different signature for RegConnectRegistry where the first argument (machine name) is not constant. Added a cast to fix this. [Bug 620] Fri Sep 22 08:30:26 2000 Carlos O'Ryan * ace/Proactor.cpp: Fixed small typo for platforms that define ACE_HAS_SIG_C_FUNC Thu Sep 21 18:04:53 2000 Ossama Othman * examples/IPC_SAP/SSL_SAP/Makefile (LDLIBS): `-lssl -lcrypto' is needed for static builds. Thu Sep 21 16:54:19 2000 Nanbor Wang * ace/OS.cpp: Fixed a typo in . Thanks to Craig Perras . Thu Sep 21 14:40:07 2000 Ossama Othman * ace/SSL/SSL_SOCK_Connector.h: * ace/SSL/SSL_SOCK_Connector.i: * ace/SSL/SSL_SOCK_Connector.cpp: Removed all uses "non_ssl_connect_done_" attribute. It made the SSL_SOCK_Connector class non-reentrant, and prevented the SSL_SOCK_Connector from being used to create additional connections. [Bug 660] (connect, complete): Do not attempt to set the handle in SSL_SOCK_Stream if it is already set. Doing so would cause OpenSSL to create another socket in addition to other internal OpenSSL buffers, which isn't necessary when reconnecting to the same endpoint. (ssl_connect): Do not set the SSL connect state if an SSL connection is already pending. * ace/SSL/ACE_SSL.dsp: Changed output library location to be `../../bin' (equivalent to $ACE_ROOT/bin). This change makes this project file consistent with all other ACE/TAO projects. * examples/IPC_SAP/SSL_SAP/SSL-client.dsp: * examples/IPC_SAP/SSL_SAP/SSL-server.dsp: Updated library path to correspond to the location of the ACE_SSL library. It was still set to the old location. Thu Sep 21 11:54:58 2000 Priyanka Gontla * ace/Service_Config.h : * ace/Service_Config.cpp : * ace/Proactor.cpp: * ace/Proactor.h (ACE_Proactor): Removed dependency of Service_Config on Proactor by registering the Proactor singleton with the Object_Manager when it is instantiated. This way we need not call ACE_Proactor::close_singleton () in Service_Config implementation. Wed Sep 20 17:25:37 2000 Steve Huston * performance-tests/UDP/udp_test.cpp: Use ACE_High_Res_Timer instead of ACE_hrtime_t for calculating elapsed times. ACE_hrtime_t right from ACE_OS::gethrtime is not always in nanoseconds, particularly on Win32. * performance-tests/UDP/udp_test.{dsw dsp}: New MSVC workspace/project. Wed Sep 20 12:57:52 2000 Carlos O'Ryan * ace/ace_dll.dsp: * ace/ace_lib.dsp: Add new files to the MSVC projects * ace/Process_Mutex.h: Under Win32 must include "ace/Synch.h" * ace/WFMO_Reactor.h: Must include "ace/Process_Mutex.h" when ACE_ONLY_LATEST_AND_GREATEST is defined. Wed Sep 20 12:10:41 2000 Ossama Othman * ace/Basic_Types.h: Made inclusion of conditional on definition of ACE_LACKS_SYS_TYPES_H macro. Wed Sep 20 12:00:42 2000 Carlos O'Ryan * ace/Makefile: * ace/Makefile.am: * ace/Makefile.bor: * ace/ace-dll.icc: * ace/ace-lib.icc: * ace/File_Lock.h: * ace/File_Lock.inl: * ace/File_Lock.cpp: * ace/Process_Mutex.h: * ace/Process_Mutex.inl: * ace/Process_Mutex.cpp: * ace/Process_Semaphore.h: * ace/Process_Semaphore.inl: * ace/Process_Semaphore.cpp: * ace/RW_Process_Mutex.h: * ace/RW_Process_Mutex.inl: * ace/RW_Process_Mutex.cpp: * ace/Dynamic.cpp: * ace/Local_Name_Space.cpp: * ace/Local_Name_Space_T.cpp: * ace/MEM_SAP.h: * ace/Naming_Context.cpp: * ace/Synch.h: * ace/Synch.i: * ace/Synch.cpp: * ace/Synch_T.h: * ace/Thread_Exit.cpp: * ace/Thread_Manager.cpp: * examples/Shared_Malloc/Malloc.cpp: * examples/Shared_Malloc/test_multiple_mallocs.cpp: * examples/Shared_Malloc/test_position_independent_malloc.cpp: * examples/Threads/process_mutex.cpp: * examples/Threads/process_semaphore.cpp: * tests/Conn_Test.cpp: * tests/MM_Shared_Memory_Test.cpp: * tests/Malloc_Test.cpp: * tests/Process_Mutex_Test.cpp: * tests/Process_Strategy_Test.cpp: Moved the implementation of ACE_File_Lock, ACE_Process_Mutex, ACE_Process_Semaphore and ACE_RW_Process_Mutex to their own files. This removes some unwanted dependencies in the Synch file. The ACE_ONLY_GREATEST_AND_LATEST macro was used to preserve backwards compatibility. Wed Sep 20 14:51:27 2000 Steve Huston * ace/Basic_Types.h: Added #include after the other system-type includes to be sure u_long is defined. doesn't pick it up, at least on Solaris 8. Wed Sep 20 11:44:46 2000 Carlos O'Ryan * tests/run_test.pl: * tests/run_test.lst: Disable the ACE_Init_Test under UNIX, the test only works on NT. Wed Sep 20 12:55:16 2000 Steve Huston * ace/High_Res_Timer.(h cpp i): Win32's scale factor (from QueryPerformanceFrequency) is very often too small a number to convert to ticks/usec - it ends up losing about 20% of the elapsed time in elapsed calculations. So, on Win32 only, the global_scale_factor is now in ticks/msec, not ticks/usec. Adjusted all of the conversions to ACE_Time_Value, nanoseconds, etc. to account for this. Wed Sep 20 08:24:34 2000 Ossama Othman * ace/Makefile.am (INLINE_FILES): Corrected `CDR_Base.i' to `CDR_Base.inl'. Wed Sep 20 08:12:20 2000 Ossama Othman * tests/CDR_Test.cpp: Included missing `ace/SString.h' header. Tue Sep 19 17:12:29 2000 Ossama Othman * ace/Basic_Types.h: Added missing include of `ace/config-all.h' and `ace/ACE_export.h'. Explicitly include `limits.h', `float.h' and `stdlib.h' to pull in basic type limits (e.g. UINT_MAX) and typedefs (e.g. ptr_arith_t). This allows `ace/Basic_Types.h' to be included as a stand-alone header. Previously, `ace/OS.h' must have been included at least indirectly before `ace/Basic_Types.h'. * ace/CDR_Base.h: * ace/CDR_Base.i: * ace/CDR_Base.cpp: Moved base ACE_CDR class to separate set of files. This reduces inter-header dependencies for sources that only require the CDR types. * ace/CDR_Stream.h: Forward declared ACE_CString, and moved inclusion of `ace/SString.h' to the `.cpp' file to reduce inter-header dependencies. * ace/CDR_Stream.i: * ace/CDR_Stream.cpp: Moved ACE_CString related methods to the `.cpp' file since the ACE_CString method is now forward declared in the `ace/CDR_Stream.h' header. Tue Sep 19 17:40:04 2000 Douglas C. Schmidt * ace/config-win32-common.h, ace/config-sunos5.4-centerline-2.x.h: Removed the nonsensical ACE_HAS_SVR5_GETTIMEOFDAY macro. Thanks to Jeff Grief for reporting this. Mon Sep 18 12:39:39 2000 Ossama Othman * ace/OS.i (cuserid): When using ACE's alternate cuserid() implementation: - ensure that the maximum length argument is non-zero since it doesn't make sense to have a zero length user ID. - Return a static buffer if the buffer argument is zero. This is not reentrant but nothing else can be done in such a case. [Bug 619] Mon Sep 18 11:22:02 2000 Douglas C. Schmidt * ace/SUN_Proactor.cpp (handle_events): Fixed a problem arising on 64 bit Solaris platforms. Thanks to Ganesh Pai for reporting this. Sun Sep 17 19:17:53 2000 Carlos O'Ryan * include/makeinclude/build_example.bor: Add the IORTable library to the Simple examples. Sun Sep 17 17:04:22 2000 Carlos O'Ryan * include/makeinclude/ace_flags.bor: Add support for the IORTable library under Borland C++ Sat Sep 16 16:11:39 2000 Carlos O'Ryan * tests/CDR_Array_Test.cpp: Under some circumstances the buffers allocated for marshaling did not have room for the alignment bytes. The problem was fixed by a small overallocation. Fri Sep 15 16:04:26 2000 Carlos O'Ryan * ace/Makefile.bor: Update the Borland Makefile Thu Sep 14 11:59:48 2000 Ossama Othman * ace/Local_Name_Space_T.cpp (resolve_i, unbind_i): * ace/Local_Tokens.cpp (acquire, tryacquire, renew): * ace/Message_Queue_T.cpp (enqueue_prio, enqueue_head, enqueue_tail, next): * ace/Stream.cpp (open): * ace/Task.cpp (suspend, resume, activate): * ace/Token_Invariants.cpp (mutex_acquired, reader_acquired, writer_acquired): Fixed g++ "control reaches end of non-void function" warnings. * bin/bootstrap (ACE_HTML_MAN_PAGES): Fixed sed expression so that all man pages ending with `.3' are substituted with HTML man pages ending with `.html', not just the last man page in the list. Wed Sep 13 15:21:34 2000 Ossama Othman * ace/Synch_T.cpp (ts_init, ts_object): Moved code in terminating else block outside of that block, and removed unnecessary else clauses. This fixes "control reaches end of non-void function" warnings from GNU C++. * bin/autoconf_compile: Changed mail subject prefix from "[AUTOCONF_COMPILE]" to "[AUTO_COMPILE]" so that those monitoring the build logs won't have to setup an additional mail filter. Wed Sep 13 15:05:08 2000 Chad Elliott * ace/ACE.cpp ace/SOCK_Dgram_Bcast.cpp ace/config-chorus.h include/makeinclude/platform_chorus4.x_g++.GNU Applying changes made by Wei Chiang . Corrects a problem with recognizing ip interfaces due to dynamic size of struct ifreq. Modified config-chorus.h to correctly set the CHORUS macro to the correct version and to undefine ACE_HAS_PTHREAD_PROCESS_ENUM if using Chorus 4.0. Added CHORUS_4 to the CPPFLAGS which corrects a problem with make depend. Thanks Wei for finding all of these problems. Wed Sep 13 15:05:42 2000 Luther J Baker * ace/OS.h: ACE_HAS_PACE type redefinitions. L:3180.., L:2250 * ace/OS.i: ACE over NT implements two different kinds of mutex's. One is a lighter CRITICAL SECTION which has a distinct set of associated functions. In ACE_HAS_PACE code, these functions are calling each other (on POSIX compliant platforms, these are defined to be the same types) but NT needs to distinguish the two. This usually means rearranging the preprocessor code. This is just the beginning. Wed Sep 13 14:33:25 2000 Douglas C. Schmidt * ace/Service_Config.h (ACE_Service_Config): Made parse_args() a public method to work around subtle issues with linking services dynamically using TAO. Thanks to Paul Caffrey for motivating this and Carlos for suggesting the fix. Wed Sep 13 14:01:57 2000 Luther J Baker * ace/OS.i (umask): Missing punctuation. Tue Sep 12 22:00:31 2000 Steve Huston * ace/config-win32-common.h: Added missing 'FD_SETSIZE' to #undef directive. Tue Sep 12 15:15:54 2000 Irfan Pyarali * ace/ACE_export.h (ACE_SINGLETON_DECLARATION): Added the new SINGLETON_DECLARE macros. * ace/Timeprobe.h: Used the new macro ACE_SINGLETON_DECLARE instead of ACE_SINGLETON_DECLARATION. This helps by not requiring the comma which makes the precompiler think that the comma is for an extra argument to the macro. Thanks to Phil Mesnier for reporting this problem. Tue Sep 12 11:34:03 2000 Steve Huston * ace/High_Res_Timer.{h i}: Added a new function, gettimeofday_hr() which returns the current time in a ACE_Time_Value using the high-resolution time source. This is intended to be used as the time retrieval function for the ACE timer queues. Be sure you call ACE_High_Res_Timer::global_scale_factor() (or instantiate a ACE_High_Res_Timer object) before using it to correctly convert the timer count to a ACE_Time_Value. * tests/Timer_Queue_Test.cpp: Added a test for using ACE_Timer_Heap with high-resolution timer as the time source. * tests/Reactor_Timer_Test.cpp: Added an option to run the test using ACE_High_Res_Timer::gettimeofday_hr instead of the ACE_OS::gettimeofday time retrieval. If any option is given to the program it uses high-res, otherwise it uses ACE_OS::gettimeofday. Mon Sep 11 12:57:31 2000 Steve Huston * ace/Synch.{h i cpp} (ACE_Lock, ACE_Adaptive_Lock, ACE_File_Lock, ACE_Semaphore, ACE_Process_Semaphore, ACE_Null_Semaphore, ACE_RW_Mutex, ACE_Mutex, ACE_Process_Mutex, ACE_RW_Process_Mutex, ACE_Null_Mutex, ACE_Thread_Mutex, ACE_Recursive_Thread_Mutex): Added tryacquire_write_upgrade method. * ace/Synch_T.{h i} (ACE_Lock_Adapter, ACE_Reverse_Lock): Added tryacquire_write_upgrade method. * ace/Token.{h i} (ACE_Token): Added tryacquire_write_upgrade method, which is a NOP. Thanks to Joseph Weihs for these suggestions. Mon Sep 11 10:08:38 2000 Balachandran Natarajan * ace/Service_Manager.cpp (handle_input): Missing semicolon in a do-while loop. Mon Sep 11 08:10:21 2000 Douglas C. Schmidt * ace/Service_Manager.cpp: There was a problem with handle_input() on Win32 due to the default non-blocking mode of sockets. In particular, if the client was slow/overloaded, the server recv() would return with -1 and errno == EWOULDBLOCK. Thanks to Sandro Doro for this fix. * tests: Added a new Borland-specific makefile for the ACE tests. Thanks to Johnny Willemsen for contributing this. Sun Sep 10 14:58:36 2000 Carlos O'Ryan * netsvcs/clients/Logger/Makefile.bor: I left out this file when applying Christopher's patch. Sun Sep 10 15:43:23 2000 Douglas C. Schmidt * ace/Acceptor.h: Made the suspend() and resume() methods public. Thanks to Guy Rosen for suggesting this. Fri Sep 8 16:50:52 2000 Carlos O'Ryan * ace/OS.h: * ace/config-all.h: Had to #include in config-all.h to get the definition for FUNCPTR. With this change things are happy (again) on VxWorks. Fri Sep 8 13:56:50 2000 Carlos O'Ryan * ace/Thread_Exit.cpp: It was not compiling under Sun/CC 4.2 and 5.0. The fix was to make the extern "C" cleanup handler simply call the regular cleanup handler. That solves the access problem and it is cleaner code anyways. Fri Sep 8 11:30:56 2000 Christopher Kohlhoff * ace/config-win32-borland.h: Added ACE_LACKS_INLINE_ASSEMBLY since the inline CDR assembly does not currently work under BCB. Thanks to Johnny Willemsen for reporting this. * ace/Makefile.bor: * include/makeinclude/build_dll.bor: * include/makeinclude/build_exe.bor: * include/makeinclude/build_lib.bor: * netsvcs/clients/Logger/Makefile.bor: Added support for both recursion and a build in the one makefile. * include/makeinclude/ace_flags.bor: * include/makeinclude/build_example.bor: Added new libraries for TAO. Thu Sep 07 18:10:00 2000 Darrell Brunsch * ace/config-win32-common.h: ACE_HAS_WINSOCK2 is turned on by default for all of Win32. Windows 98 and Windows ME should have Winsock2, and NT/2000 also does. For Windows 95, this requires that the Winsock 2 library for Windows 95 is added or ACE_HAS_WINSOCK2 defined to 0 in config.h before including config-win32.h (overriding it). Thanks to Giovanni Zito for inquiring about this. Thu Sep 07 17:21:17 2000 Carlos O'Ryan * ace/ace_dll.dsp: * ace/ace_lib.dsp: Add the new files the ACE projects. Thu Sep 7 16:15:24 2000 Carlos O'Ryan * ace/OS.h: * ace/OS.cpp: Break out the dependency between the ACE_Thread_Manager and the OS layer. The OS layer used ACE_Thread_Adapter to create threads, this class depends on ACE_Thread_Manager, but on the path used by the OS layer the class does not use Thread_Manager at all. The solution was to create a base class (ACE_Base_Thread_Adapter) and a specialized version used in the OS layer (ACE_OS_Thread_Adapter). * ace/Makefile: * ace/Makefile.am: * ace/Makefile.bor: Update the Makefile and the dependencies. * ace/Base_Thread_Adapter.h: * ace/Base_Thread_Adapter.inl: * ace/Base_Thread_Adapter.cpp: Abstract base class for ACE_Thread_Adapter. Applications continue to use ACE_Thread_Adapter, but the OS layer uses the base class (or OS_Thread_Adapter). This way we decouple the OS layer from the ACE_Thread_Manager class. * ace/config-all.h: Move the definition of ACE_THR_FUNC and ACE_THR_C_FUNC out here. * ace/OS_Thread_Adapter.h: * ace/OS_Thread_Adapter.inl: * ace/OS_Thread_Adapter.cpp: Implement a version of ACE_Base_Thread_Adapter that does not use the Thread_Manager at all. * ace/Thread_Adapter.h: * ace/Thread_Adapter.inl: * ace/Thread_Adapter.cpp: Removed the common code to Base_Thread_Adapter.* * ace/Thread.h: Include "ace/Thread_Adapter.h" directly because the OS layer does not include it anymore. * ace/Thread_Hook.h: * ace/Thread_Hook.cpp: This class does not need to #include Thread_Manager.h * ace/Log_Msg.h: * ace/Log_Msg.cpp: Add another hook to make the ACE_OS_Thread_Descriptor available to the OS layer when running MFC builds. * ace/Thread_Exit.cpp: The is_constructed_ flag is reset in the cleanup function instead of letting the OS layer do it. Thu Sep 7 12:07:14 2000 Ossama Othman * bin/autoconf_compile (LOGBASE): Create log file with `.txt' extension instead of `.log' to prevent web browsers from needlessly prompting users which viewer should be used. * m4/acinclude.m4: Updated copyright information. * m4/platform.m4: When setting platform-specific flags, use the "$host" autoconf variable instead of "$target." The latter is only supposed to be used when building cross-platform tool chains. * m4/threads.m4 (CPPFLAGS): Place user provided preprocessor flags after the ones set by the configure script to allow the user to override automatically set flags. Thu Sep 07 14:30:49 2000 Nanbor Wang * bin/auto_compile_win32.pl: Added Portable Server to the project lists in (DLL Debug/Release). Thanks to Bruce McIntosh for reporting this Thu Sep 07 11:36:51 2000 Ossama Othman * ace/SSL/SSL_Context.cpp (set_mode): * ace/SSL/SSL_SOCK_Acceptor.cpp (ssl_accept): * ace/SSL/SSL_SOCK_Connector.cpp (ssl_connect): * ace/SSL/SSL_SOCK_Stream.i (recv, send): Do not print OpenSSL error message if ACE_NDEBUG is defined. Thu Sep 7 10:52:47 2000 Jeff Parsons * tests/CDR_Array_Test.cpp: Code intended to allocate and zero and source buffer and destination buffer was actually zeroing the source buffer twice. Thanks to Johnny Willemsen for reporting this bug. Thu Sep 07 11:16:36 2000 Steve Huston * examples/Reactor/WFMO_Reactor/test_network_events.cpp: Add a destructor to Network_Listener which will unregister it from the reactor, and prevent a doomed call to handle_close when the reactor runs down. Thanks to John Buckman for reporting this. Wed Sep 06 19:06:57 2000 Carlos O'Ryan * ACE version 5.1.9 released. Tue Sep 05 13:34:26 2000 Steve Huston * ace/TP_Reactor.cpp (dispatch_i): Try to correct mis-set size_ in the any_ready_ handle sets by sync()ing them if the reactor state has not been changed. This is an attempted workaround to a symptom of having the handle set say size_ > 0 but there are no bits set. The underlying cause is not known. Also, reverse the eval order when checking !found_io && handle_iter done to avoid doing another iter call when not needed. Mon Sep 04 10:25:27 2000 Steve Huston * ace/TP_Reactor.cpp (dispatch_i): If a handle's bit is set via select in any of the masks (wr, ex, rd) and subsequently the handle is selected for dispatching, clear it in all masks to prevent possible spinning on a handle that can't be dispatched because its handler is suspended. Sat Sep 2 15:13:59 2000 Carlos O'Ryan * ace/CDR_Stream.h: Fixed typo in macro name. Sat Sep 2 12:22:59 2000 Carlos O'Ryan * ace/CDR_Stream.h: Define macros to initialize a LongDouble, this is needed to avoid warnings in some ORB code. Sat Sep 2 07:14:06 2000 Douglas C. Schmidt * ace/config-sunos5.5.h: Added ACE_LACKS_PLACEMENT_OPERATOR_DELETE to fix a bug with SunC++ 4.1. Thanks to Sameer Schabungbam for reporting this. Fri Sep 1 16:50:50 2000 Jeff Parsons * ace/Configuration.cpp: The method export_section contained a delete of a void*. Many compilers warn about this. Cast the void* to char*. Fri Sep 1 13:25:24 2000 Jeff Parsons * ace/Configuration.cpp: * ace/Configuration.h: Checked in some fixes to ACE_Configuration sent in by Chris Hafey . Chris writes: Fixed a handle leak in export_config(). Thanks to Matthew Adams for reporting the bug. Fixed a memory leak in export_section() for binary types. Fixed a bug in get_binary_data() for the registry version where binary values > ACE_DEFAULT_BUFSIZE wouldn't be retrieved correctly. For win32 versions, we now export unrecognized types as BINARY values rather than fail entirely. Fixed a bug where the size of a new section name was calculated incorrectly for unicode builds. Thanks to Vijay Aswadhati for reporting this. [Bug 649] Fri Sep 01 03:08:59 2000 Nanbor Wang * ace/Task.h: * ace/Thread_Manager.h: * ace/Thread_Manager.cpp: For some reason, the method that takes a thread_id array did not take the pointer. If a user "activate"'ed a task and asking for the thread_id's, these thread would not be marked as these task, which caused they unaccounted for in subsequent wast_task. Fixed the problem by adding the argument to and make sure the task pointer is passed in method. Thanks to Mervyn Quah for reporting the bug. [Bug 616] Thu Aug 31 15:31:30 2000 Douglas C. Schmidt * include/makeinclude/outputdir.bor: Added a comment to explain how the OBJDIR macro works when the -DPASCAL option is used. Thanks to Marcel Van Der Weert and Christopher Kohlhoff for reporting this. Thu Aug 31 08:32:11 2000 Albert Wijnja * tests/TSS_Test.cpp (ITERATIONS): replaced calculation of ITERATIONS so that it is now dependent on ACE_MAX_THREADS. [Bug 657] Wed Aug 30 10:20:04 2000 Carlos O'Ryan * bin/run_all_list.pm: Enable the Trading Service tests under Minimum CORBA, since now they are compiled in that configuration too. Tue Aug 29 14:27:37 2000 Chad Elliott * include/makeinclude/platform_chorus4.x_g++.GNU Made an additional modification to use the $(MERGEDIR)/Paths include file if MERGEDIR is defined. Tue Aug 29 12:23:41 2000 Steve Huston * ace/TP_Reactor.(h cpp): Added a new dispatch_i_protected method. This just wraps the call to dispatch_i in ACE_SEH_TRY/EXCEPT. If/when the reactor is rearranged to pluck one dispatchable event to call at a time, this can be removed. This fixes the removal of SEH from this entry: Fri Aug 25 16:29:51 2000 Steve Huston Tue Aug 29 01:32:28 2000 Carlos O'Ryan * ace/Logging_Strategy.h: Add missing header file (Log_Msg.h) Mon Aug 28 20:37:21 2000 Luther J Baker * ace/OS.i (rename): * ace/OS.i (pipe): Changed type #if (ACE_HAS_PACE) when all the rest of the files use #if defined (ACE_HAS_PACE). Changed mainly for consistency. Mon Aug 28 18:04:17 2000 Luther J Baker * ace/ace_lib.dsp: * ace/ace_dll.dsp: Added additional #include ../PACE search directories to project settings. Mon Aug 28 17:43:00 2000 Luther J Baker * ace/config-win32.h: Added support for PACE and win32. * ace/OS.h::2283 Altered code to support #define ACE_HAS_PACE && #define WTHREADS. Mon Aug 28 15:05:27 2000 Michael Kircher * ace/OS_Dirent.cpp: Changed a condition in readdir_emulation () to query properly for an invalid file handle. Thanks to Nir Drang for reporting this. Mon Aug 28 12:16:27 2000 Ossama Othman * ace/Makefile.am (libACE_OS_la_SOURCES, HEADER_FILES, INLINE_FILES): Added new Thread_{Adapter, Control, Exit, Hook} source files to these make variables. Mon Aug 28 11:56:42 2000 Ossama Othman * configure.in (ACE_HAS_PENTIUM): Only define this macro if the hardware is x86 *and* GNU C++ is being used since the code enabled by this macro contains assembler code specific to that compiler. Reported by Rich Seibel Mon Aug 28 11:18:27 2000 Ossama Othman * ace/config-irix6.5.x-sgic++.h: Configuration header for IRIX 6.5.x contributed by J. Russell Noseworthy . [Bug 623] Mon Aug 28 10:27:45 2000 Chad Elliott * include/makeinclude/platform_chorus4.x_g++.GNU Modified the platform macros file to use the new variable definitions provide by the "Paths" make include file. Also, removed the use of the old (3.x) chorus macros file. Sat Aug 26 17:39:53 2000 Douglas C. Schmidt * ace/config-all.h: Added new ACE_CONST_WHEN_MUTABLE macro. Thanks to Edan Ayal for contributing this. * ace/Logging_Strategy: Added support for more fine-grained control over logging strategies and priorities. Thanks to Martin Krumpolec for reporting this. * ace: Improved the "const correctness" of many Reactor methods. Thanks to Edan Ayal for contributing this. Sat Aug 26 15:23:54 2000 Carlos O'Ryan * ace/OS.cpp: Commented out another ACE_DEBUG statement, there should be no printing from the ACE_OS layer. Fixed use of obsolete ACE_LOG_MSG accessors for the event handling fields. Sat Aug 26 12:00:18 2000 Douglas C. Schmidt * ace/Service_Repository.cpp: Modify the remove() method so that it is "re-entrant" i.e., one can call it from other svc's fini() called from remove(). Thanks to Martin Krumpolec for contributing this fix. Fri Aug 25 18:09:04 2000 Carlos O'Ryan * ace/config-win32.h: * ace/OS.cpp: * ace/Thread_Adapter.cpp: Factor out the definition of ACE_ENDTHREADEX to the config-win32.h file. Fri Aug 25 17:11:25 2000 Carlos O'Ryan * ace/Thread_Control.h: * ace/Thread_Control.cpp: Fixed problems with the backwards compatible configuration (i.e. ACE_HAS_ONLY_LATEST_AND_GREATEST not defined). Fri Aug 25 16:15:50 2000 Carlos O'Ryan * ace/OS.h: * ace/OS.i: * ace/OS.cpp: * ace/Thread_Adapter.h: * ace/Thread_Adapter.inl: * ace/Thread_Adapter.cpp: * ace/Thread_Control.h: * ace/Thread_Control.inl: * ace/Thread_Control.cpp: * ace/Thread_Exit.h: * ace/Thread_Exit.cpp: * ace/Thread_Hook.h: * ace/Thread_Hook.cpp: * ace/Thread_Manager.h: * ace/Thread_Manager.i: * ace/Thread_Manager.cpp: Move ACE_Thread_Adapter and its friends to a new directory. This was important to discover why OS.o depends on Thread_Manager.o and how we can break that dependency. I'm commiting the change because it will help the compiler when linking static libraries and it is easier to maintain this way. * ace/OS_String.cpp: Cosmetic changes. * ace/Makefile: * ace/Makefile.am: * ace/Makefile.bor: * ace/ace.icc: * ace/ace_dll.dsp: * ace/ace_lib.dsp: Add all the new files to the system. * tests/Task_Test.cpp: We must #include the Thread_Hook.h file directly * */Makefile: Updated all the dependencies for ace. Fri Aug 25 15:15:27 2000 Ossama Othman * Makefile.am (EXTRA_DIST): Added libtool shell script fragments `ltcf-c.sh' and `ltcf-cxx.sh' to the list of additional files to be packaged with the distribution. * ace/Makefile (TEMPLATE_FILES): Added `Hash_Map_With_Allocator_T' to the list of template source files. It was missing. * ace/Makefile.am: Updated to include all newly added source files. Fri Aug 25 16:29:51 2000 Steve Huston * ace/TP_Reactor.cpp: Temporarily remove the ACE_SEH directives to get the build working on Win32. Will fix this correctly and put in a new file soon. Fri Aug 25 15:43:28 2000 Steve Huston * docs/ACE-guidelines.html: Add the "use this->member" rule when referring to member functions or variables. Thanks to Edan Ayal for the reminder to add this rule. Fri Aug 25 12:12:40 2000 Carlos O'Ryan * ace/OS.h: * ace/OS.i: * ace/OS.cpp: * ace/Log_Msg.h: * ace/Log_Msg.cpp: * ace/config-all.h: I removed the direct cyclic dependency between the OS layer and Log_Msg. The OS layer does not use Log_Msg anymore, but it does use parts of ACE_Thread_Manager so there is some work left to do. There was a semantic change involved: the Win32 exception handlers used to be TSS, now they are global. There was not a real use case for that feature. Users that enable ACE_HAS_ONLY_LATEST_AND_GREATEST will not get the TSS version of the functions, I think it is better to make the change visible than hide it behind a seemingly compatible interface that actually breaks at run-time. Fri Aug 25 14:29:27 2000 Steve Huston * ace/Select_Reactor_T.h: Added new method, is_suspended_i (ACE_HANDLE) to see if the handle is suspended or not. It's used in the TP_Reactor to avoid dispatching suspended handlers. * ace/Select_Reactor_T.cpp: New method, is_suspended_i. (any_ready_i): Do not clear this->ready_set_ if that's the set that was scanned for ready bits. TP_Reactor now uses that set directly, and clearing it sort of defeats the purpose. (suspend_i): Fixed function name in ACE_TRACE. * ace/TP_Reactor.h: Added dispatch_i function; Removed dispatch_io_set function and the ACE_EH_Dispatch_Info dispatch_info_ member - they're not used anymore. * ace/TP_Reactor.cpp (handle_events): Does not call handle_events_i in Select_Reactor_T anymore. New function, dispatch_i, handles the work that handle_events_i does for ACE_Select_Reactor - does the wait_for_multiple_events, dispatches timers, signals, and notifications; then, though, it records one dispatchable I/O event for return to handle_events (similarly to what dispatch_io_set used to do when it was called from handle_events_i). All of the token acquiring and releasing now goes on in this function only. Also, the return value (number of dispatched events) is now correct. The effect of all this is that TP_Reactor now saves the ready_set_ bits and the threads running the reactor will dispatch the handlers one by one until they're gone or the reactor state changes in a way that forces select to be re-done. This set of changes fixes Bugzilla # 567. Fri Aug 25 14:23:36 2000 Steve Huston * ace/Handle_Set.i (reset): Commented out the #if !defined for ACE_HAS_BIG_FD_SET; use FD_ZERO to clear the fd bits. This was previously not being done for Linux (which has ACE_HAS_BIG_FD_SET) and it caused grief in the reactor when scanning for bits in sync (). This caused the (new, see above) TP_Reactor to always think there were many bits set in ready_set_ after each dispatched I/O and needlessly scan through them all. Fri Aug 25 09:22:11 2000 Chad Elliott * include/makeinclude/platform_sunos5_sunc++.GNU Modified check for SunCC 5 to work with 5.0 and 5.1 (Forte). Thu Aug 24 09:01:23 2000 JLopez * ace/config-tru64.h: #define ACE_LACKS_SYSTIME_H with DIGITAL_UNIX >= 0x40E, not 0x40F, because that's needed on Tru64 UNIX 4.0E. Thanks to jlopez@uida.es for reporting this. Mon Aug 21 10:07:39 2000 Carlos O'Ryan * ace/RMCast/RMCast_IO_UDP.cpp: Fixed warnings about unused variables. * tests/RMCast/RMCast_UDP_Best_Effort_Test.cpp: Add newline to debug output, it was completely unreadable otherwise. * ace/RMCast/Makefile: * tests/RMCast/Makefile: Updated file list and dependencies. Mon Aug 21 08:58:19 2000 Carlos O'Ryan * Another iteration on the design. This time we use a single Module to process IO events, the same class can be used on the receiver and sender sides. The type of proxies is fixed, all the variation is moved into the Modules, controlled by a module factory. * ace/RMCast/README: Add a new README file. * ace/RMCast/RMCast_Module.h: * ace/RMCast/RMCast_Module.cpp: Modules can pass and process control messages as well as data messages, add new methods for the control messages. * ace/RMCast/RMCast_IO_UDP.h: * ace/RMCast/RMCast_IO_UDP.i: * ace/RMCast/RMCast_IO_UDP.cpp: New class to manage all the IO events. * ace/RMCast/RMCast_UDP_Event_Handler.h: * ace/RMCast/RMCast_UDP_Event_Handler.i: * ace/RMCast/RMCast_UDP_Event_Handler.cpp: Modified to use the new RMCast_IO_UDP class. * ace/RMCast/RMCast_UDP_Proxy.h: * ace/RMCast/RMCast_UDP_Proxy.i: * ace/RMCast/RMCast_UDP_Proxy.cpp: New module used for both the client and server sides. * ace/RMCast/RMCast_Module_Factory.h: * ace/RMCast/RMCast_Module_Factory.i: * ace/RMCast/RMCast_Module_Factory.cpp: Create and destroy a module stack. Used by both the receiver and sender sides to control the type of event processing they can perform. * ace/RMCast/RMCast.h: Minor changes in the field names and comments. * ace/RMCast/RMCast_Fragment.h: * ace/RMCast/RMCast_Fragment.cpp: * ace/RMCast/RMCast_Reassembly.h: * ace/RMCast/RMCast_Reassembly.cpp: Modified to use the new methods in the Module interface. * tests/RMCast/RMCast_Fragment_Test.cpp: * tests/RMCast/RMCast_Reassembly_Test.cpp: * tests/RMCast/RMCast_UDP_Best_Effort_Test.cpp: Modified to use the new classes. * tests/RMCast/RMCast_Tests.dsw: * tests/RMCast/RMCast_UDP_Best_Effort_Test.dsp: Add new project file for the UDP best effort test. * ace/RMCast/RMCast.dsp: Update the project file. * ace/RMCast/RMCast_Sender_Proxy.h: * ace/RMCast/RMCast_Sender_Proxy.i: * ace/RMCast/RMCast_Sender_Proxy.cpp: * ace/RMCast/RMCast_Sender_Proxy_Best_Effort.h: * ace/RMCast/RMCast_Sender_Proxy_Best_Effort.i: * ace/RMCast/RMCast_Sender_Proxy_Best_Effort.cpp: * ace/RMCast/RMCast_Sender_Proxy_Factory.h: * ace/RMCast/RMCast_Sender_Proxy_Factory.i: * ace/RMCast/RMCast_Sender_Proxy_Factory.cpp: * ace/RMCast/RMCast_UDP_Receiver.h: * ace/RMCast/RMCast_UDP_Receiver.i: * ace/RMCast/RMCast_UDP_Receiver.cpp: * ace/RMCast/RMCast_UDP_Sender.h: * ace/RMCast/RMCast_UDP_Sender.i: * ace/RMCast/RMCast_UDP_Sender.cpp: Removed. Fri Aug 18 12:36:21 2000 Steve Huston * ace/SUN_Proactor.cpp (find_completed_aio): Wrapped ACE_GUARD_RETURN with ACE_MT to build ok single-threaded. Thu Aug 17 05:48:51 2000 Douglas C. Schmidt * ace/config-win32-common.h: Wrapped the redefinition of FD_SETSIZE to #undef if it's already set to avoid a compiler/pre-processor warning. Thanks to Johnny Willemsen for contributing these. Wed Aug 16 06:03:11 2000 Douglas C. Schmidt * ace/Select_Reactor_Base.h: Make the notify_queue_lock_ in ACE_Select_Reactor_Notify an ACE_SYNCH_MUTEX rather than an ACE_SYNCH_RW_MUTEX to be consistent. Thanks to Ivan Murphy for reporting this. Tue Aug 15 20:54:14 2000 Darrell Brunsch * ace/Logging_Strategy.cpp: * ace/Logging_Strategy.h: * ace/OS.i: * ace/SOCK_Dgram_Mcast_QoS.cpp: * ace/ace_wchar.h: Fixed miscellaneous wide character support problems. Also [Bug 600] Mon Aug 14 21:55:54 2000 Joe Hoffert * ace/OS.{h,i}: Added function typedefs for pace_signal for compiling ACE with PACE for LynxOS. Fri Aug 11 17:49:36 2000 Steve Huston * ace/TP_Reactor.cpp: Add #include "ace/Thread.h" to pick up the definition of ACE_Thread::self (). Fri Aug 11 16:24:13 2000 Shawn Hannan * ace/OS.i: For VXWORKS, changed checks of errno against S_objLib_OBJ_TIMEOUT to S_objLib_OBJ_UNAVAILABLE after calls to semTake with timeout parameter set to NO_WAIT (i.e., 0). semTake will set errno to _UNAVAILABLE, not _TIMEOUT, if the semaphore is empty and the timeout parameter is 0. Thanks to Peter Fischer for reporting this. Fri Aug 11 13:20:40 2000 Nanbor Wang * apps/gperf/src/gperf_lib.dsp: Changed the format for generated debug info from C7 to "Program Database" to conform to rest of the ACE project files. Thanks to Espen Harlinn for reporting this. Fri Aug 11 11:06:30 2000 David L. Levine * include/makeinclude/platform_osf1_4.0.GNU: moved -hidden /usr/lib/cmplrs/cxx/libcxxstd.a -non_hidden to end of link line by moving it from SOFLAGS to the end of LIBS. This allows links to succeed with -D__USE_STD_IOSTREAM. Thanks to Jorn Jensen for finding this solution to the link problem, and to Michael Kramer for verifying that it works. Fri Aug 11 07:40:10 2000 Douglas C. Schmidt * ace/WFMO_Reactor.cpp (open): Removed an unnecessary ACE_UNUSED_ARG(sh). Thanks to Pedro Brandao for reporting this. Thu Aug 10 12:22:31 2000 Steve Huston * ace/Svc_Handler.h (close): Added some comments to help make this function easier to understand. Thu Aug 10 12:15:16 2000 Steve Huston * ace/POSIX_Proactor.(h cpp) (ACE_POSIX_AIOCB_Proactor): Surround definition of mutex_ member in ACE_MT_SAFE; use ACE_MT around ACE_GUARD_RETURN macros to build clean without threads. Thu Aug 10 09:31:51 2000 David L. Levine * ace/config-cxx-common.h: with __USE_STD_IOSTREAM, added #define ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB 1. Now, the ACE library builds with __USE_STD_IOSTREAM, thanks to Michael Kramer . Also, removed duplicate #define ACE_HAS_STANDARD_CPP_LIBRARY 1, and move the remaining one to inside the if (__DECCXX_VER >= 60090010) check. I don't know if it is supported on older versions of cxx. Thu Aug 10 04:04:31 2000 John Heitmann * ace/OS.cpp: Added pace version of thr_create and thr_exit. * ace/OS.h: Added pace #define for pthread_cleanup_* Deleted all ansi cast defines since they were also redundantly defined in config-all.h * ace/OS.i: Put all pace functions in the global scope. Minor fixes. * examples/Shared_Malloc/Malloc.cpp Removed template instantiations which are duplicated in ACE.cpp. Wed Aug 9 18:16:26 2000 Carlos O'Ryan * ace/RMCast/RMCast.h: * ace/RMCast/RMCast.i: * ace/RMCast/RMCast.cpp: Document the state transitions for the receivers, the message formats, and the state transitions for the senders. * ace/RMCast/RMCast_Module.h: * ace/RMCast/RMCast_Module.i: * ace/RMCast/RMCast_Module.cpp: Instead of using the ACE ASX framework we are using a lighter weight class hierarchy. The Module interface will contain explicit calls for all the relevant control messages, making it easier to implement and debug. In the future we may move back to the ASX framework, once all the implementation problems have been nailed down. * ace/RMCast/RMCast_Fragment.h: * ace/RMCast/RMCast_Fragment.i: * ace/RMCast/RMCast_Fragment.cpp: Use the RMCast_Module classes instead of ACE_Task. The header information is propagated in the RMCast::Data structure and put on a separate iovec entry by the bottom module in the stack. * ace/RMCast/RMCast_Partial_Message.h: * ace/RMCast/RMCast_Partial_Message.cpp: Fixed missing #include and corrected a number of problems in the implementation of the reassembly algorithm. The randomized test passes cleanly now, even on machines with multiple CPUs. * ace/RMCast/RMCast_Reassembly.h: * ace/RMCast/RMCast_Reassembly.i: * ace/RMCast/RMCast_Reassembly.cpp: Use the RMCast_Module classes instead of ACE_Task. The header information is propagated in the RMCast::Data structure and obtained from the first bytes in the message decoded, but all that magic is performed by the Module at the bottom of the stack. * ace/RMCast/RMCast_Sender_Proxy.h: * ace/RMCast/RMCast_Sender_Proxy.i: * ace/RMCast/RMCast_Sender_Proxy.cpp: This class is used in the receiver side to maintain information about one sender, and to provide an entry point to the per-sender module stack. * ace/RMCast/RMCast_Sender_Proxy_Best_Effort.h: * ace/RMCast/RMCast_Sender_Proxy_Best_Effort.i: * ace/RMCast/RMCast_Sender_Proxy_Best_Effort.cpp: An specialized Sender_Proxy that ignores all the control messages, essentially working in best effort mode. * ace/RMCast/RMCast_Sender_Proxy_Factory.h: * ace/RMCast/RMCast_Sender_Proxy_Factory.i: * ace/RMCast/RMCast_Sender_Proxy_Factory.cpp: Define the interface to create Sender_Proxy instances. The application provides an instance of this class in the receiver side to customize the protocol. * ace/RMCast/RMCast_UDP_Receiver.h: * ace/RMCast/RMCast_UDP_Receiver.i: * ace/RMCast/RMCast_UDP_Receiver.cpp: Implement a UDP based receiver. Applications create an instance of this class, customized through the Sender_Proxy_Factory, to receive messages. The class can be used in (timed) blocking mode or through the reactor (using the UDP_Event_Handler helper class). * ace/RMCast/RMCast_UDP_Sender.h: * ace/RMCast/RMCast_UDP_Sender.i: * ace/RMCast/RMCast_UDP_Sender.cpp: A Module that sends a single fragment using UDP multicast. This version does not send or receive any control messages, so it is best-effort. * ace/RMCast/RMCast_UDP_Event_Handler.h: * ace/RMCast/RMCast_UDP_Event_Handler.i: * ace/RMCast/RMCast_UDP_Event_Handler.cpp: Adapter between the Reactor and the UDP_Sender class. * tests/RMCast/RMCast_Fragment_Test.cpp: * tests/RMCast/RMCast_Reassembly_Test.cpp: Fixed to match the new interfaces * tests/RMCast/RMCast_UDP_Best_Effort_Test.cpp: New unit test for the best effort UDP based senders and receivers. It creates a sending thread that continuosly send messages to a single multicast address, meanwhile the main thread receives all the messages and verifies that they have the expected contents. It should be expandded to randomize the contents and create multiple sending threads. * tests/RMCast/Makefile: * ace/RMCast/Makefile: Add new files, updated dependencies * ace/RMCast/RMCast_Header_Size.h: * ace/RMCast/RMCast_Header_Size.cpp: Removed Wed Aug 9 13:28:20 2000 Douglas C. Schmidt * ace/Message_Queue_T.cpp (dequeue_head_i): Make sure to reset head_ and tail_ to 0 when the cur_count_ drops to 0. Thanks to Zoran Ivanovic for this fix. Wed Aug 09 18:06:40 2000 Pradeep * ACE version 5.1.8 released. Wed Aug 09 10:10:45 2000 David L. Levine * tests/CDR_Array_Test.cpp: disabled LongLong test if the platform doesn't have native long long support. ACE's long long emulation doesn't have sufficient capability to support what the test needs. Thanks to Peter Kroener for reporting this. [Bug 632] Tue Aug 08 10:35:04 2000 Rich Seibel * ace/config-sunos5.8.h: added. We have compiled successfully with it on Solaris 8.0 using both gcc 2.95.2 and Sun 5.0 compilers. It simply includes the 5.7 config.h file. I have noted that there are some possible efficiencies which autoconfig finds, but this works. Mon Aug 7 21:05:35 2000 Vishal Kachroo * examples/QOS/server.dsp: * examples/QOS/client.dsp: Made changes to add the relative path for aced.lib. Mon Aug 07 07:31:23 2000 Peter Fischer * ace/OS.cpp (cond_timedwait): on VxWorks, handle S_objLib_OBJ_UNAVAILABLE by setting error to ETIME if msec_timeout is 0. This allows Message_Queue_Test to succeed. * tests/run_tests.vxworks: re-enabled Message_Queue_Test. Sun Aug 6 21:40:42 2000 Darrell Brunsch * ace/OS.i: * ace/OS.cpp: * ace/OS_String.cpp: * ace/OS_String.h: * ace/OS_String.inl: * ace/ace_wchar.h: * ace/config-all.h * ace/config-linux-common.h: * ace/config-win32-common.h: Fixed up miscellaneous problems with ACE_HAS_WCHAR on Linux. Highlights are: - Added ACE_HAS_VFWPRINTF and ACE_HAS_VFWPRINTF to NOTSUP a couple of methods, since they don't seem to be available yet. - Added ACE_LACKS_WCSDUP_PROTOTYPE, and added the prototype. - Removed an extra copy of itoa_emulation (..wchar_t..). - Added some static_cast's to remove unsigned/signed comparison warnings. - Added ACE-HAS_SAFE_WCSTOK, since the version supplied with MSVC is the multi-threaded unsafe version (just like strtok). Here it is similar to strtok_r. Sun Aug 6 17:03:29 2000 Ossama Othman * include/makeinclude/wrapper_macros.GNU (CPPFLAGS): Define ACE_HAS_SSL=1 instead of just defining ACE_HAS_SSL without an explicit value. Sat Aug 5 21:49:12 2000 Darrell Brunsch * ace/OS_String.cpp: * ace/OS_String.h: * ace/OS_String.inl: * ace/config-win32-borland.h: Chris Kohlhoff pointed out to me that Borland does have itoa, but the signature is slightly different (itoa, not _itoa). Added it back in for Borland and added some preprocessor commands that will keep the emulation code from being included unless it is needed. Sat Aug 5 11:19:23 2000 Darrell Brunsch * ace/config-win32-common.h: * ace/config-win32-msvc.h: Moved ACE_HAS_ITOA to msvc.h, since it is compiler dependent (and Borland doesn't have it). Sat Aug 05 11:26:08 2000 Ossama Othman * bin/generate_export_file.pl: Changed "#if !defined (...)" include guard to "#ifndef ..." since some preprocessors enable "process once" optimizations if the latter form is used. Sat Aug 5 01:13:01 2000 Darrell Brunsch * ace/OS_String.cpp: * ace/OS_String.h: * ace/OS_String.inl: Added itoa, which takes in a value, string, and radix. It then populates the string with the representation of the value in that radix. * ace/config-win32-common.h: Turned on ACE_HAS_ITOA. Fri Aug 4 15:53:27 2000 Carlos O'Ryan * ace/TP_Reactor.h: * ace/TP_Reactor.cpp: The owner_ field has no effect in the TP reactor, but setting it or checking its value wakes up the leader thread. This can result in performance problems for applications that use both TP and regular reactors, such as TAO. Thanks to Brian Wright for detecting the problem and putting us in the right track to solve it. Thu Aug 3 17:50:39 2000 Carlos O'Ryan * THANKS: * ace/config-irix6.x-sgic++-nothreads.h: * include/makeinclude/platform_irix6.x_sgic++.GNU: Define ACE_HAS_EXCEPTION in the command line, so we can configure exceptions in a single spot. Enabled the -LANG:std option by default. Detect if -LANG:std is used and enable the corresponding ACE macros. Thanks to John Hiltenbrand for detecting this problem and suggesting the fixes. Thu Aug 03 17:40:01 2000 Eric Ding * include/makeinclude/platform_linux.GNU Remove ifeq($(threads),1), xt_reactor=0, fl_reactor=0, and add -I/usr/X11R6/include, -L/usr/X11R6/include to platform_GL flags. Patch supplied by Craig Rodrigues http://www.gis.net/~craigr rodrigc@mediaone.net Wed Aug 2 17:44:58 2000 Balachandran Natarajan * ace/config-win32-borland.h: Suppress all warnings from the preprocessor so that the IDL compiler does not fail on TAO/tao/Policy.pidl. * ace/SSL/Makefile.bor: * include/makeinclude/ace_flags.bor: Add makefile support for the SSL and security libraries in ACE and TAO. The above patches were taken from http://www.tenermerx.com/programming/corba/tao_bcb/patch.html, which is the site maintained by Chistopher Kohlhoff . Tue Aug 01 11:40:46 2000 Bala * ACE version 5.1.7 released. Mon Jul 31 22:51:11 2000 Balachandran * ACE version 5.1.6 released. Sat Jul 29 08:41:48 2000 David L. Levine * tests/Makefile: don't build CDR_Array_Test with ACE_HAS_GNUG_PRE_2_8. Build it on LynxOS >= 3.1.0. Fri Jul 28 15:58:37 2000 Joe Hoffert * bin/pace_components: Deleting from CVS since it is being melded into bin/ace_components. * bin/ace_components: Adding commands for pace. * include/makeinclude/wrapper_macros.GNU: For PACE, modified so that it doesn't include the PACE library if we are inlining. Fri Jul 28 12:46:54 2000 David L. Levine * tests/run_tests.lst: disabled SOCK_Send_Recv_Test, Thread_Pool_Test, Cached_Conn_Test, and Process_Strategy_Test on LynxOS. The work on LynxOS 3.0.0 x86, but not on our LynxOS 3.1.0 PPC (maybe because it runs out of resources?). Fri Jul 28 11:12:39 2000 David L. Levine * tests/Thread_Mutex_Test.cpp (spawn): use 3 threads instead of 4 (ACE_MAX_THREADS) on LynxOS, otherwise the test doesn't seem to terminate. Fri Jul 28 10:47:27 2000 David L. Levine * bin/ace-install: added this handy build+install script. Thanks to Eric Mitchell for initially authoring the script, and to Chad Elliott for converting it from tcsh to Bourne sh. Fri Jul 28 10:39:17 2000 David L. Levine * tests/Reader_Writer_Test.cpp (n_iterations): use default value of 25 instead of 50 on LynxOS as well as on VxWorks, so the test runs in a reasonable period of time (under 1.5 seconds on a 266 MHz PPC). Fri Jul 28 10:34:01 2000 David L. Levine * test/Semaphore_Test.cpp (ACE_ALLOWED_SLACK): set to 1100 if ACE isn't using a high resolution timer, such as on LynxOS/PPC. Fri Jul 28 10:23:03 2000 David L. Levine * Makefile (DIRS, CLONE, CONTROLLED_FILES, RELEASE_LIB_FILES): added PACE, so that it will be in ACE 5.1.6. Fri Jul 28 07:42:50 2000 David L. Levine * tests/Makefile: build CDR_Array_Test, even on LynxOS. It builds and runs successfully on LynxOS 3.1.0. Fri Jul 28 00:23:37 2000 John Heitmann * ace/OS.h Slightly modified semaphore code for pace. * ace/OS.i Updated cond_timedwait in ACE_HAS_PACE to initialize name_ to null. Linux uses native gettimeofday. * docs/ACE-SSL.html Updated with new information about obtaining ACE+SSL. Thu Jul 27 18:03:24 2000 Luther J Baker * include/makeinclude/platform_linux_lxpthread.GNU: Updated to include the current correct platform_linux.GNU. Thu Jul 27 18:17:36 2000 Steve Huston * ace/Future.h: Added some comments to ACE_Future_Rep<>::set and ACE_Future<>::set to say they only have an effect on the first call for that object. Thanks to Andres Kruse , Douglas C. Schmidt , and John Tucker for their insight on the original intentions. Thu Jul 27 08:32:58 2000 John Heitmann * ace/OS.i Qualified two pace functions with the correct pace_ name. Added preliminary pace implementation for ACE_OS::gettimeofday. See PACE/ChangeLog for other changes relevant to ACE_OS compiled with pace. Wed Jul 26 18:08:11 2000 Andrew G. Gilpin * ace/Log_Record.cpp * ace/ACE.cpp * ace/Handle_Set.cpp * ace/Capabilities.{cpp, h} Cosmetic changes required for split-cpp. Wed Jul 26 13:20:00 2000 Kirthika Parameswaran * ace/Cached_Connect_Strategy_T.h (ACE_Bounded_Cached_Connect_Strategy): Added a typedef member which I assumed wrongly would be inherited from the superclass. Tue Jul 25 22:41:53 2000 Steve Huston * ace/Log_Msg.cpp (ACE_Log_Msg::log): Replace use of C++ 'true' value with '1' so old compilers still work. Tue Jul 25 22:35:31 2000 Steve Huston * ace/Future.cpp (ACE_Future_Rep::set): If two threads compete to set the value, make sure only one notifies waiters. Thanks to Joseph Weihs for this fix. Tue Jul 25 20:27:26 2000 Andrew G. Gilpin * ace/Naming_Context.cpp: Cosmetic change required for split-cpp. Tue Jul 25 18:20:37 2000 John Heitmann * include/makeinclude/wrapper_macros.GNU: Changed pace=1 code to check for inline=1, and include libPACE correctly. Tue Jul 25 16:42:02 2000 Andrew G. Gilpin * ace/Logging_Strategy.cpp: Changed #include "Logging_Strategy.h" to #include "ace/Logging_Strategy.h" Tue Jul 25 16:12:31 2000 Andrew G. Gilpin * ace/Log_Msg.h: More cosmetic changes, similar to previous ChangeLog entry. Tue Jul 25 15:58:27 2000 Andrew G. Gilpin * ace/Capabilities.{h, cpp}: * ace/Filecache.cpp: More fixes to allow to be used by $ACE_ROOT/bin/split-cpp. These changes are merely cosmetic. Tue Jul 25 13:30:00 2000 Kirthika Parameswaran * ace/Cached_Connect_Strategy_T.{h, cpp}: Added ACE_Bounded_Cached_Connect_Strategy which provides a bound on the cache which is checked before creating new handlers. Thanks to Edan Ayal for contributing this class and Susan Liebeskind for brainstorming about it. Tue Jul 25 05:46:29 2000 Douglas C. Schmidt * ace/Log_Msg.cpp (log): Optimized the check to make sure that ACE_Log_Msg isn't too long. Now we can keep it in "non-debug" code! Thanks to Tomer for this suggestion. Mon Jul 24 22:49:09 2000 John Heitmann * ace/OS_String.inl The emulation functions still need system libraries, which were not being included when ace was enabled. Mon Jul 24 21:22:03 2000 Andrew G. Gilpin * ace/Remote_Tokens.cpp: * ace/Signal.{cpp,h}: * ace/Priority_Reactor.cpp: * ace/Object_Manager.{cpp,h}: * ace/OS.cpp: * ace/Parse_Node.{cpp,h}: The script $ACE_ROOT/bin/split-cpp makes some assumptions about the source code that it is working with. These changes allow split-cpp to be used with ACE. These fixes are all mostly code formatting changes. The functionality should not be changed in any case. Mon Jul 24 20:21:47 2000 Andrew G. Gilpin * include/makeinclude/wrapper_macros.GNU * include/makeinclude/rules.local.GNU * include/makeinclude/rules.lib.GNU Added support for make split=1 which will use the split-cpp script when compiling. This should be considered an extremely beta, use-at-your-own-risk feature for the time being. Mon Jul 24 20:13:59 2000 Andrew G. Gilpin * bin/split-cpp: Initial check-in. This script is used to split up C++ source files into smaller C++ source files, each containing one static data declaration or one function definition. For more information, see the comments at the top of the file. Mon Jul 24 20:02:03 2000 Douglas C. Schmidt * ace/Process_Manager: Replaced ACE_Thread_Mutex with ACE_Recursive_Thread_Mutex to avoid nasty self-deadlocks! Thanks to Tom Arbuckle's for reporting this. * ace/Log_Msg.cpp (log): Added a sanity check to make sure that long messages don't corrupt the memory. Thanks to Tomer Amiaz for contributing this. Mon Jul 24 14:03:59 2000 Chad Elliott * include/makeinclude/platform_vxworks5.x_g++.GNU Added the PENTIUM and PENTIUMPRO CPU's for x86 VxWorks. Mon Jul 24 10:30:35 2000 Michael Kircher * OS_Dirent.inl: Added the deletion of the DIR.directory_name_ and the DIR struct itself for the Win32 emulation. Sat Jul 22 22:10:35 2000 Marina Spivak * config-win32-common.h * config-win32-visualage.h: By default WIN32 has FD_SETSIZE of 64, which places the limit between 61 and 64 on the number of clients a server using the Select Reactor can support at the same time (i.e., 64 - standard in, out, error). Raised the limit to 1024. Fri Jul 21 21:24:09 2000 Douglas C. Schmidt * ace/Parse_Node.cpp: Updated the ACE_Object_Name and ACE_Function_Node constructors to use the new ACE::ldname() method rather than ACE::strnew(). Thanks to Chris Kohlhoff for this fix. * ace/ACE.cpp: Added a new method called ACE::ldname() so that dynamic loading performed by the service configurator work the same with BCB as with other compilers. With BCB, exported functions from a DLL all have a "_" prepended. Previously you had to explicitly add the "_" into the svc.conf or when you called ACE_Service_Config::process_directive. This change removes that need and makes BCB stuff source/config compatible with other compilers. This change was prompted by Lothar Werzinger and was provided by Christopher Kohlhoff . Fri Jul 21 19:22:20 2000 Carlos O'Ryan * bin/auto_compile: Use a .txt extension instead of .log for the log files, that makes it possible to view them in web browsers without downloading. Fri Jul 21 14:46:37 2000 Vishal Kachroo * ace/QoS_Decorator.h: Added ACE_Export for decorator classes for WinNT. * ace/QoS_Decorator.cpp: Removed an extra semi-colon. Fri Jul 21 09:11:36 2000 Douglas C. Schmidt * ace/Process_Manager: Updated the documentation to reflect the recent change in the notify() implementation. Thu Jul 20 23:21:11 2000 Darrell Brunsch * examples/IPC_SAP/SSL_SAP/SSL-client.dsp: * examples/IPC_SAP/SSL_SAP/SSL-server.dsp: Fixed up the include paths in these projects. Fri Jul 21 00:29:38 2000 Vishal Kachroo * examples/QOS/Receiver_QoS_Event_Handler.h: * examples/QOS/Receiver_QoS_Event_Handler.cpp: Added this event handler to handle QoS and socket data for the receiver. * examples/QOS/Sender_QoS_Event_Handler.h: * examples/QOS/Sender_QoS_Event_Handler.cpp: Added this event handler to handle QoS and socket data for the Sender. * examples/QOS/QoS_Util.h: * examples/QOS/QoS_Util.cpp: This class provides utility funtions like parsing QoS parameters for the QoS enabled applications. * examples/QOS/QoS_Signal_Handler.h: * examples/QOS/QoS_Signal_Handler.cpp: Used to gracefully close QoS sessions and shutdown RSVP signalling. * examples/QOS/FlowSpec_Dbase.h: Provides a name-Flowspec mapping for the standard QoS flowspecs like g711. Typical QoS flowspecs required for different video encoding/decoding schemes can be listed here. * examples/QOS/Fill_ACE_QoS.h: * examples/QOS/Fill_ACE_QoS.cpp: This class helps users to add new flow specs and provides utility functions for filling up the flow specs for simplex/duplex sessions. * examples/QOS/server.cpp: QoS enabled receiver application. * examples/QOS/client.cpp: QoS enabled sender application. * examples/QOS/Makefile: * examples/QOS/README * examples/QOS/QOS.dsw: * examples/QOS/client.dsp: * examples/QOS/server.dsp: Updated these files to reflect changes to the test. The above test demonstrates the use of various aspects of AQoSA (ACE QoS API). Thu Jul 20 23:04:30 2000 John Heitmann * ace/Thread_Manager.cpp * ace/OS_String.inl Added pace functionality. Thu Jul 20 18:28:43 2000 Douglas C. Schmidt * ace/SV_Message_Queue: Made the get_id() method const. Thanks to Mike Winter for suggesting this. * ace/Typed_SV_Message_Queue: Added a get_id() accessor. Thanks to Mike Winter for reporting this. Thu Jul 20 14:19:06 2000 Douglas C. Schmidt * ace/Thread_Manager.h: Updated the comments on the various *kill*() methods to clarify what they do and where they are not portable. Thanks to Steve Huston for motivating this. Thu Jul 20 11:00:00 2000 Kirthika Parameswaran * ace/Caching_Utility_T.cpp: To get rid of egcs warnings on Linux, static casted both fields of ACE_MAX in method . Thanks to David Levine for pointing this out. Also changed ssize_t to size_t in the cast. Thu Jul 20 08:04:13 2000 Douglas C. Schmidt * ace/OS.i: Rearranged some code so that the operator *= and the ACE_Time_Value copy constructor appear in the right order... Thanks to David for reporting this. Wed Jul 19 22:51:42 2000 Steve Huston * ace/OS.i (ACE_OS::cond_timedwait): For pSOS, convert absolute time value to relative, expressed in ticks. Account for pSOS behavior on timeout - returns with mutex unlocked. Thanks to Sarmeesha Reddy for this fix. Wed Jul 19 19:30:00 2000 Kirthika Parameswaran * ace/Caching_Utility_T.cpp: Rectified a typo made in method . Wed Jul 19 17:12:50 2000 John Heitmann * ace/OS.h * ace/OS.i Wrapped most pace calls with ACE_OSCALL to handle EINTR correctly, minor corrections and adjustments to pace functions. Wed Jul 19 16:50:00 2000 Kirthika Parameswaran * ace/Caching_Utility_T.cpp: Changed the formula to calculate the as per the contribution by Edan Ayal . Thanks to Edan for discovering this bug and contributing the solution for it. Wed Jul 19 08:40:10 2000 Douglas C. Schmidt * ace/OS.i: Moved the new operator *= so that it's *after* the inlined sec() and usec() members. Tue Jul 18 23:30:59 2000 John Heitmann * ace/OS.h Modified earlier changes to improve support for LynxOS signals using pace. * ace/ACE.cpp * ace/OS_Memory.h Use pace system calls instead of regular calls when pace is enabled. Tue Jul 18 12:55:55 2000 Joe Hoffert * include/makeinclude/platform_lynxos.GNU: Added PACE_SYSVER assignment to distinguish different versions of LynxOS in the future. Mon Jul 17 23:44:36 2000 Vishal Kachroo * ace/Makefile (OTHER_FILES): Moved SOCK_Dgram_Mcast_QoS to the other files category. It really belongs to a separate category that I'll create later. Mon Jul 17 12:41:25 2000 Andrew G. Gilpin * ace/Log_Msg.cpp (LOCAL_EXTERN_PREFIX): Changed #define LOCALEXTERN_PREFIX to #define LOCAL_EXTERN_PREFIX Mon Jul 17 05:38:15 2000 Douglas C. Schmidt * ace/Process_Manager.cpp (open): Zapped a stray register_handler() call that was mistakenly left around during the recent merge. Thanks to Darrell Brunsch for reporting this. Sun Jul 16 18:53:42 2000 Darrell Brunsch * ace/TTY_IO: Removed the #define for ACE_BUILD_DLL, since it is already defined in the .dsp file. Sun Jul 16 19:36:17 2000 Vishal Kachroo * ace/QoS_Session.h: * ace/QoS_Session_Impl.{cpp,h,i}: * ace/SOCK_Dgram_Mcast_QoS.cpp: Changed these files to accomodate the new QoS decorator classes. * ace/QoS_Decorator.{cpp,h}: Added the QoS decoration for the ACE_Event_Handler that enables it to catch the RAPI events along with the usual socket events. Sun Jul 16 08:49:44 2000 Douglas C. Schmidt * ace/OS: Added multiplication operators to ACE_Time_Value. Thanks to Tomer Amiaz for contributing these. * ace/Process_Manager: To fix deadlocks with the Process_Manager on UNIX applied the following fixes: Use the notify() capability of the reactor from the signal handler. This allows the signal handler to notify the reactor (over a pipe) that the signal should be processed. This is done completely without MT locks. If ACE_HAS_REACTOR_NOTIFICATION_QUEUE is defined, ACE_Select_Reactor_Notify::notify_queue_lock_ is now made a recursive mutex. Thanks to Roger Larsson for contribution these fixes. * ace/TTY_IO: Added additional support for the ACE serial line I/O wrapper facades. Thanks to Martin Stack for contribution this. * ace/Service_Repository.h, * ace/Service_Object.h, * ace/Service_Config.h: Added the following aliases: #define ACE_Component ACE_Service_Object #define ACE_Component_Config ACE_Service_Config #define ACE_Component_Repository ACE_Service_Repository to be consistent with the terminology in the POSA2 book. Fri Jul 14 19:31:39 2000 Eric Ding * ace/config-linux.h * ace/config-linux-lxpthreads.h * include/makeinclude/platform_linux.GNU * include/makeinclude/platform_linux_lxpthreads.GNU Changing the default config/platform setting to thread enable on Linux Fri Jul 14 19:03:49 2000 John Heitmann * include/makeinclude/wrapper_macros.GNU: Added -DPACE_HAS_ALL_POSIX_FUNCS to the pace flag. * ace/OS.h: Changed typedef of ACE_SignalHandler on LynxOS to use pace_sig_pf when pace is enabled. Also changed SIG_IGN accordingly. Fri Jul 14 17:25:29 2000 Steve Huston * tests/UNIXserver.conf: * tests/UNIXclerk.conf: * tests/UNIXtokens.conf: * tests/Win32server.conf: * tests/Win32clerk.conf: * tests/Win32tokens.conf: Look for _make_ACE_Logging_Strategy in ACE, not netsvcs. It was moved there recently. Fri Jul 14 12:00:26 2000 Steve Huston * ace/Log_Msg.h (ACE_Log_Msg): Replaced class comments with some new text submitted by Jerry D. DeMaster that explain the per-thread and per-process logging enablement clearly. Fri Jul 14 00:28:07 2000 John Heitmann * ace/OS.i Updates to srand and qsort to eliminate return (for pace). Thu Jul 13 20:25:51 2000 Douglas C. Schmidt * ACE-INSTALL.html: Updated this file to reflect current reality wrt Borland C++. Thanks to Christopher Kohlhoff for reporting this. Thu Jul 13 16:34:36 2000 John Heitmann * include/makeinclude/wrapper_macros.GNU: Added 'pace' flag to use pace as the underpinnings of ACE_OS. Thu Jul 13 14:50:39 2000 Balachandran Natarajan * ace/OS.h: Undid the change Mon Jun 19 17:33:28 2000 Douglas C. Schmidt This was creating problems in the IRIX builds. Moreover this also busted the 'thread-per-connection' strategy in TAO. The change actually removed a conditional check. I have added that back. Thanks to Nanbor Wang for guiding me through this. Thu Jul 13 14:41:58 2000 John Heitmann * ace/OS.i: Minor updates to PACE functions which used to use double parenthesis. Thu Jul 13 12:58:26 2000 Ossama Othman * ace/SSL/ACE_SSL.dsp: Added `SSL_Export.h' to the list of headers. * ace/SSL/SSL_Context.cpp: Moved preprocessor conditional that checks if ACE_HAS_SSL is defined after the inclusion of SSL_Context.h. This fixes a link error that occurs when ACE_HAS_SSL is defined in the config header instead of on the command line. Thu Jul 13 10:55:44 2000 David L. Levine * ace/Makefile: changed ssl check from ifneq null to ifeq 1, to allow ssl = 0. Thu Jul 13 10:10:54 2000 David L. Levine * ace/Makefile: move ssl check to after include of wrapper_macros.GNU, so that ssl=1 can be set in platform_macros.GNU. Thu Jul 13 09:33:45 2000 Ossama Othman * ace/SSL/SSL_SOCK_Stream.i (send, recv): Fixed typos where size of buffer being sent/received was passed to the OpenSSL SSL_get_error() function, instead of the return status of the SSL_write()/SSL_read() call. This will fix some broken error handling. Reported by Craig Perras Thu Jul 13 07:55:41 2000 David L. Levine * docs/ACE-guidelines.html: added general guideline to not end text lines with spaces, and the .emacs incantation that removes them. Thanks to Craig Rodrigues for suggesting this addition, which we already check for when committing to our CVS repository. Wed Jul 12 09:42:21 2000 Giga Giguashvili * ace/CDR_Stream.h: added forward declaration of ACE_InputCDR before ACE_OutputCDR class definition. Wed Jul 12 07:26:25 2000 David L. Levine * tests/Service_Config_Test.cpp (instance): cast the u_short to u_long before casting to void *, to avoid KCC warning about casting to pointer from integer of different size. Tue Jul 11 17:20:48 2000 David L. Levine * ace/Local_Tokens.cpp (ACE_TPQ_Entry ctor): try a reinterpret cast of ACE_Thread::self () to u_long. We need u_long on Linux. Tue Jul 11 16:09:14 2000 David L. Levine * bin/auto_run_tests.lst: don't run LongUpcalls test with minimum CORBA. Thanks to Irfan for reporting that the test needs AMI to run, and minimum CORBA doesn't have AMI. Tue Jul 11 16:03:58 2000 David L. Levine * ace/Local_Tokens.cpp (ACE_TPQ_Entry ctor): don't cast result of ACE_Thread::self (), because it might be a structure. Thanks to Ossama for reminding me of that. Changed format specifier to be %u instead of %lu, to avoid mismatch, at least on some platforms. Tue Jul 11 14:47:48 2000 Chris Kohlhoff * ace/config-win32-common.h: Use default value of 0 for ACE_USE_RCSID on Win32 since RCS IDs should probably not be required on this platform. * include/makeinclude/build_core_exe.bor: * include/makeinclude/build_core_library.bor: * include/makeinclude/build_dll.bor: * include/makeinclude/build_exe.bor: * include/makeinclude/build_lib.bor: * include/makeinclude/make_flags.bor: * include/makeinclude/outputdir.bor: * include/makeinclude/recurse.bor: * include/makeinclude/install.bor: * ace/Makefile.bor: Added support for 'make install'. * include/makeinclude/build_dll.bor: * include/makeinclude/build_exe.bor: * include/makeinclude/build_lib.bor: * include/makeinclude/clean.bor: Changed clean target so that files generated by the IDL compiler are removed. * ace/ace_wchar.h: * ace/config-win32-borland.h: * ace/OS.h: * ace/OS_String.h: * ace/OS.i: Bring certain types and functions into the global namespace. This is necessary so that the ACE headers will work the same regardless of any standard C++ headers that may be included beforehand. Tue Jul 11 14:21:51 2000 Steve Huston * ace/Log_Msg.cpp (ACE_Log_Msg::log): Added an ACE_Errno_Guard to prevent errors in this function from destroying errno. This function should be benign, just reporting, and leaving errno alone for further checks/logging by apps. Tue Jul 11 14:20:35 2000 Steve Huston * tests/SOCK_Send_Recv_Test.cpp: Added some additional output to replace an assert - helps track problems quicker. Thanks to David Levine for this suggestion. Tue Jul 11 11:06:45 2000 Craig Rodrigues * ace/config-linux-common.h: in glibc 2.2, the function prototypes for msgsnd() and msgrcv() were changed to be POSIX compliant. So, ACE_LACKS_SOME_POSIX_PROTOTYPES breaks compilation. Tue Jul 11 11:03:50 2000 David L. Levine * bin/make_release: chmod of kits to 664, and chgrp to doc, after creation. Tue Jul 11 10:45:46 2000 David L. Levine * bin/generate_man_pages: don't try generate man pages for RMCast_Reassembly.h, either, because it trips up class2man. [Bug 608] Tue Jul 11 10:40:48 2000 David L. Levine * bin/make_release: robustness improvements: 1) set CVSROOT and ACE_ROOT environment variables, and $logname, to reasonable default values if they were null. 2) Always prepend /project/danzon/pkg/gnu/bin to PATH. Before, -d was first used to check to see if it existed. But, it might not have been mounted, and -d won't cause it to automount. Tue Jul 11 08:24:33 2000 Douglas C. Schmidt * ace/POSIX_Asynch_IO.h, * ace/SUN_Proactor.h: Fixed these files so that class2man now generates proper manual pages. [Bug 608] Tue Jul 11 08:07:23 2000 David L. Levine * bin/generate_man_pages: don't try generate man pages for RMCast_Export.h, because it's a generated file and doesn't have any man page formatting info. It trips up class2man. [Bug 608] Tue Jul 11 07:42:57 2000 David L. Levine * ace/Local_Tokens.cpp (ACE_TPQ_Entry ctor): cast result to ACE_Thread::self () to u_long, to avoid mismatch with %lu sprintf parameter. Tue Jul 11 06:21:35 2000 Douglas C. Schmidt * apps/Gateway/Peer/Peer.cpp (transmit): The last two arguments to Event_Header were reversed! Thanks to Kim Lester for reporting this. Mon Jul 10 20:35:08 2000 Marina Spivak * ACE version 5.1.5 released. Mon Jul 10 13:15:10 2000 Ossama Othman * ace/SSL/Makefile (ACE_SHLIBS): Added "-lACE" to the list of libraries that should be linked in to libACE_SSL, since the ACE SSL wrappers depend on ACE. Sun Jul 09 21:38:03 2000 Ossama Othman * ace/SSL/ACE_SSL.dsp: Fixed library path in "Release" configuration. Sun Jul 09 14:20:42 2000 Darrell Brunsch * ace/ace_wchar.h: Added support for wchar_t on VxWorks. It now compiles, but unfortunately VxWorks doesn't come with any C library support beyond conversion to/from multi-byte character strings. This will only take effect when ACE_HAS_WCHAR is defined (it isn't by default). Emulation for the missing str* functions will be added soon. Sun Jul 09 14:00:42 2000 Darrell Brunsch * ace/ace_wchar.h: Added two macros for straight out conversion of strings: ACE_TEXT_CHAR_TO_WCHAR and ACE_TEXT_WCHAR_TO_CHAR. * ace/adapter/README: (Added) * ace/adapter/ace/ACE.h: (Added) * ace/adapter/ace/ARGV.h: (Added) * ace/adapter/ace/Arg_Shifter.h: (Added) * ace/adapter/ace/ATM_Addr.h: (Added) * ace/adapter/ace/DEV_Addr.h: (Added) * ace/adapter/ace/Dirent.h: (Added) * ace/adapter/ace/DLL.h: (Added) * ace/adapter/ace/Dynamic_Service.h: (Added) * ace/adapter/ace/FIFO.h: (Added) * ace/adapter/ace/FIFO_Recv.h: (Added) * ace/adapter/ace/FIFO_Recv_Msg.h: (Added) * ace/adapter/ace/FIFO_Send.h: (Added) * ace/adapter/ace/FIFO_Send_Msg.h: (Added) * ace/adapter/ace/FILE_Addr.h: (Added) * ace/adapter/ace/Functor.h: (Added) * ace/adapter/ace/High_Res_Timer.h: (Added) * ace/adapter/ace/INET_Addr.h: (Added) * ace/adapter/ace/Malloc_T.h: (Added) * ace/adapter/ace/Memory_Pool.h: (Added) * ace/adapter/ace/MEM_Addr.h: (Added) * ace/adapter/ace/OS_Dirent.h: (Added) * ace/adapter/ace/OS_String.h: (Added) * ace/adapter/ace/Service_Config.h: (Added) * ace/adapter/ace/Service_Object.h: (Added) * ace/adapter/ace/SOCK_Dgram_Bcast.h: (Added) * ace/adapter/ace/SOCK_Dgram_Mcast.h: (Added) * ace/adapter/ace/SPIPE_Addr.h: (Added) * ace/adapter/ace/System_Time.h: (Added) * ace/adapter/ace/Task_T.h: (Added) * ace/adapter/ace/Trace.h: (Added) This is a initial shot at the implementation of an adaptation layer for ACE that provides a Wide character interface with a character library and vice versa. Right now the above files contain classes ending with _W that correspond to the actual classes (such as ACE_W). This class will have methods that take in wchar_t instead of char, and then convert the parameters and return value when calling the actual char implementation. Note, this is an initial implementation that isn't complete across all interfaces and there are memory management issues that still must be dealt with. Sat Jul 08 14:50:34 2000 David L. Levine * all Makefiles: updated dependencies. Fri Jul 7 20:24:30 2000 Douglas C. Schmidt * examples/Reactor/Multicast/server.cpp: The last character 0x0D in the message was messing up the display. Thanks to Zoran Ivanovic for this fix. Fri Jul 07 17:17:21 2000 George Reid * ace/config-mvs.h: long long support was introduced in os/390 version 2.6, so only #define ACE_LACKS_LONGLONG_T with if __COMPILER_VER__ < 0x22060000. * ace/config-mvs.h: added #define ACE_LACKS_PLACEMENT_OPERATOR_DELETE, even though it doesn't seem to have an effect on ace/Svc_Handler.cpp. Fri Jul 7 09:47:36 2000 Douglas C. Schmidt * netsvcs/lib/Server_Logging_Handler_T.cpp (open_common): Don't pass in the length to the ACE_CString constructor -- just let is copy what's already there. Thanks to Valery Arkhangorodsky for reporting this. * ace/ACE.cpp (timestamp): Make sure to insert a NUL byte at the end of yeartmp and timetmp. Thanks to David Levine and Purify for reporting this. Fri Jul 07 09:36:05 2000 David L. Levine * examples/IPC_SAP/SOCK_SAP/FD-unserver.cpp (handle_client): cast result of ACE_OS::getpid () to int, and print as an int, to avoid compiler warning about mismatched format specifier. Thu Jul 6 10:36:46 2000 Douglas C. Schmidt * ace/ACE.cpp: Fixed the timestamp() call so that it returns a string with the date that also contains the year. Thanks to Nicoletta Viale for reporting this. Thu Jul 06 10:59:41 2000 David L. Levine * performance-tests/Misc/test_naming (bind,rebind,unbind,find): changed ACE_ASSERTs to statements that are always executed, even with ACE_NDEBUG set. Added ACE_ERRORs to report errors. Thu Jul 06 10:51:19 2000 David L. Levine * examples/Reactor/Misc/test_time_value.cpp (main): added some ACE_UNUSED_ARGS with ACE_NDEBUG to eliminate warnings about unused variables with debug=0. Wed Jul 5 23:36:12 2000 John Heitmann * ace/OS.i: Added PACE functionality to functions whose counterparts were recent additions to PACE. Wed Jul 5 14:04:50 2000 Douglas C. Schmidt * ace/SUN_Proactor: Added yet another handle_events() method to keep SunC++ from complaining! Thanks to David for reporting this. Wed Jul 05 13:19:52 2000 Steve Huston * ace/OS.h: Don't typedef pid_t for ACE_PSOS_DIAB_PPC - it's defined in sys/types.h. Wed Jul 05 12:06:17 2000 Steve Huston * ace/OS.h: make the pSOS section adapt better to different pSOS versions which seem to define different sets of errno values. Also merge in some additions supplied by Matt Emerson to define needed types based on the ACE_PSOS_CANT_USE_SYS_TYPES config macro. (I think this macro may have been added a while back by someone else working on the pSOS port, but was not noted in this ChangeLog). Wed Jul 05 11:24:51 2000 Steve Huston * ace/config-psos-diab-ppc.h: Added ACE_HAS_EXCEPTIONS in the non-g++ section. Tue Jul 4 10:12:12 2000 Douglas C. Schmidt * ace/SUN_Proactor: Added a new method with the name/signature virtual int handle_events (ACE_Time_Value &); so that we get the appropriate overloading/overriding behavior. Thanks to Marina for reporting this. * ace/POSIX_Proactor.cpp: Removed unnecessary parens around aiocb * and ACE_POSIX_Asynch_Result * to make certain compilers happy. Thanks to Marina for reporting this. * ace/SUN_Proactor.cpp (handle_events): Fixed an ACE_ERROR that should have been ACE_ERROR_RETURN. Thanks to Marina for reporting this. (start_aio): Fixed capitalization of "Op" to be "op". * ace/POSIX_Proactor.cpp, * ace/SUN_Proactor.cpp: Fixed improper use of TCHAR to be ACE_TCHAR and also fixed another stray use of "int result". Thanks to David Levine for reporting this. Mon Jul 3 08:04:00 2000 Douglas C. Schmidt * ace/POSIX_Proactor.h (ACE_POSIX_AIOCB_Proactor): Fixed another syntax error. Thanks to David Levine for reporting it. Mon Jul 3 00:22:57 2000 John Heitmann * ace/OS.{cpp,h}: Made changes to support changes made to PACE. All changes occured inside #ifdef ACE_HAS_PACE. Sun Jul 2 17:38:25 2000 Douglas C. Schmidt * ace/POSIX_Proactor.cpp, * ace/POSIX_Asynch_IO.cpp: Fixed some bugs with the integrated code, in particular, the use of the legacy ASYS_TEXT has been fixed. Sat Jul 1 11:33:45 2000 Alex Libman * ace/SUN_Proactor: Added new files that specialize the POSIX_Proactor to use the Sun-specific versions of aioread() and aiowrite(), which are much faster than the POSIX versions. * ace/POSIX_Proactor: Added public virtual method ProactorType get_impl_type () where enum ProactorType { PROACTOR_POSIX, // base class type PROACTOR_AIOCB, PROACTOR_SIG , PROACTOR_SUN }; This has been done with purpose not to develop additional classes ACE_SUN_Asynch_Read/Write_Stream/File and to take into account differencies in ACE_POSIX_Asynch_Operation::cancel () method. * ace/POSIX_AIOCB_Proactor: The public constructor now defines max number asynchronous operations which can be started at the same time: ACE_POSIX_AIOCB_Proactor ( size_t nMaxOp = 256 ); ACE_RTSIG_MAX ( usually 8 ) is too small for real job. Also added proctected constructor ACE_POSIX_AIOCB_Proactor ( size_t nMaxOp , int Flg); This constructor is used by ACE_SUN_Proactor. The difference between constructors: public constructor calls create_notify_manager (see 3.) and protected does not. The reason: it is necessary to create ACE_AIOCB_Notify_Pipe_Manager instance when the virtual table for derived class is biult. Added protected method: void create_notify_manager () ; The method is called from public ACE_POSIX_AIOCB_Proactor constructor and ACE_SUN_Proactor constructor ACE_AIOCB_Notify_Pipe_Manager should be created after building the virtual table for the final subclass. Added protected method: void delete_notify_manager () ; The method is called from ACE_POSIX_AIOCB_Proactor and ACE_SUN_Proactor destructors. It is possible to call it twice, as it deletes ACE_AIOCB_Notify_Pipe_Manager and sets pointer to zero. Replaced the protected method int register_aio_with_proactor (ACE_POSIX_Asynch_Result *result) with two protected following methods: virtual int register_and_start_aio( ACE_POSIX_Asynch_Result *result, int Op ); virtual int start_aio (ACE_POSIX_Asynch_Result *result, int Op ); where Op means : 0-read, 1- write These methods are made both as virtual to overwrite in ACE_SUN_Proactor. register_and_start_aio shoud be called instead of old register_aio_with_proactor and it locks access to aiocb lists. start_aio is called only from register_and_start_aio. Added protected method to find and extract the results of the completed aio operation: ACE_POSIX_Asynch_Result * find_completed_aio (int & error_status, int & return_status ); This method is called from int handle_events (unsigned long milli_seconds) and locks access to aiocb lists. Replace the following members : aiocb *aiocb_list_ [ACE_RTSIG_MAX]; ACE_POSIX_Asynch_Result *result_list_ [ACE_RTSIG_MAX]; with aiocb ** m_pAIOCB_list_ ; ACE_POSIX_Asynch_Result ** m_pResult_list_ ; The listsd are be allocated dynamically. Added thread mutex to protect the work with lists. ACE_Thread_Mutex m_MtxAIOCB ; * ace/POSIX_AIOCB_Asynch_Operation: The method int register_aio_with_proactor (ACE_POSIX_Asynch_Result *result); is replaced by int register_and_start_aio (ACE_POSIX_Asynch_Result *result,int Op); where Op means operation : 0 - read , 1 - write The method int cancel (void); is modified according to the type of Proactor's implementation. The following methods are changed as shown below: int ACE_POSIX_AIOCB_Asynch_Read_Stream::shared_read (ACE_POSIX_Asynch_Read_Stream_Result *result) { result->aio_sigevent.sigev_notify = SIGEV_NONE; return register_and_start_aio ( result , 0 ) ; // read } and int ACE_POSIX_AIOCB_Asynch_Read_Stream::shared_write (ACE_POSIX_Asynch_Read_Stream_Result *result) { result->aio_sigevent.sigev_notify = SIGEV_NONE; return register_and_start_aio ( result , 1 ) ; //write } Sat Jul 01 11:46:23 2000 David L. Levine * ace/config-cxx-common.h: moved ACE_HAS_STANDARD_CPP_LIBRARY and ACE_HAS_CPLUSPLUS_HEADERS defines out of Linux-only section, to minimize the differences between Linux and Tru64. Those defines don't hurt on Tru64. Fri Jun 30 16:51:48 2000 Steve Huston * tests/CDR_Array_Test.cpp: Add template type specifiers to copy ctor and operator= to satisfy IBM C/C++. Fri Jun 30 10:59:23 2000 Joe Hoffert * include/makeinclude/platform_lynxos.GNU: Added PACE_SYSNAME = LynxOS so that PACE can set the appropriate platform subdirectory when building. Fri Jun 30 03:21:58 2000 John Heitmann * ace/OS.{h,i}: * ace/OS_Dirent.{h,inl}: Added more pace calls. OS.i is now mostly complete. Thu Jun 29 18:44:07 2000 John Heitmann * ace/OS.{i,cpp,inl}: * ace/OS_Dirent.{inl,h}: Began integration of pace with ACE_OS. #define ACE_HAS_PACE to activate. About 25% is complete. Thu Jun 29 15:49:16 2000 Steve Huston * ace/INET_Addr.h (ACE_INET_Addr (const ACE_TCHAR [])): * ace/DEV_Addr.h (ACE_DEV_Addr (const ACE_TCHAR *)): * ace/Dirent.h (ACE_Dirent (const ACE_TCHAR *)): * ace/FILE_Addr.h (ACE_FILE_Addr (const ACE_TCHAR *)): * ace/Local_Tokens.h (ACE_Mutex_Token (const ACE_TCHAR *), ACE_RW_Token (const ACE_THCAR *)): * ace/MEM_Addr.h (ACE_MEM_Addr (const ACE_THCAR [])): * ace/Parse_Node.h (ACE_Parse_Node (const ACE_TCHAR *), ACE_Static_Function_Node (const ACE_TCHAR *)): Added ACE_EXPLICIT to prevent unintended conversion of strings to these objects. Thanks to Joseph Weihs for this correction. * ace/OS.h, config-all.h: Move setups for ACE_EXPLICIT and ACE_MUTABLE macros from OS.h to config-all.h. ACE_EXPLICIT was needed for the above (Dirent triggered the need to move it) and ACE_MUTABLE seemed like the same sort of compiler setting thing to be more properly in config-all.h. Wed Jun 28 19:35:23 2000 Jerry D. De Master * netsvcs/lib/Client_Logging_Handler.cpp: Currently, the client logging daemon attempts to connect to a server logging daemon to which all logging records are forwarded. In the event that a connection cannot be established at initialization, or if the connection is lost during daemon execution, logging output "rolls-over" to STDERR. This seems like reasonable behavior, however.... One interesting use case of the client logging daemon is to use it to collect all logging output from all clients, on a single node system. For this use case, there is no need for a server logging daemon. One could run the client logging daemon without a server logging daemon and redirect STDERR to a logfile, however, this methodology does not allow the use of the ACE_Logging_Strategy class to configure the client daemon's logging behavior (especially the new -i and -m options). This problem can be easily fixed by first testing if the client daemon is already logging to a msg_ostream - if it is, do not roll-over logging to STDERR upon connection failure. Wed Jun 28 11:20:08 2000 Joe Hoffert * bin/pace_components: Modified to make PACE_ROOT $(ACE_ROOT)/PACE rather than the previous value of $(ACE_ROOT)/pace. Wed Jun 28 11:42:53 2000 Steve Huston * ace/config-psos-diab-ppc.h: Added ACE_LACKS_PRAGMA_ONCE for the non-g++ situation. The newer Diab compiler (at least) needs this. Corrected a '#defined' directive to '#define'. Tue Jun 27 13:01:37 2000 Steve Huston * tests/CDR_Array_Test.cpp: Moved the 'digits' array inside the function which used it. With the array at module scope, the template instantiation didn't find it for debug=0 optimize=1 on Sun C++ 4.2. Tue Jun 27 11:11:41 2000 Steve Huston * tests/OS_Test.cpp: Remove more output which triggers false fails in test scripts. Thanks to David Levine for his patience and help with this. Tue Jun 27 09:23:01 2000 Joe Hoffert * include/makeinclude/platform_sunos5_g++.GNU: Changed optimization flag from -O2 to -O3 to get rid of function declared but not used warnings for PACE. Tue Jun 27 08:55:21 2000 Michael Kircher * ace/OS_Dirent.cpp: Fixed the algorithm of reading a directory in the readdir_emulation () method. Thanks to Zoran Ivanovic for pointing this out. Tue Jun 27 08:30:21 2000 Steve Huston * netsvcs/servers/main.cpp: Add "ace/" to #include Logging_Strategy.h to find it in it's new home. Tue Jun 27 08:24:49 2000 Steve Huston * ace/Makefile: * netsvcs/lib/Makefile: Updated dependencies. Mon Jun 26 18:26:47 2000 Ossama Othman * netsvcs/lib/Makefile.am (libnetsvcs_la_SOURCES, noinst_HEADERS): * netsvcs/lib/Makefile.bor (OBJFILES): Removed Logging_Strategy.* from these make variables. The Logging_Strategy files have been moved to ACE. Mon Jun 26 17:42:15 2000 Carlos O'Ryan * ace/SSL/ACE_SSL.dsw: Add a new workspace for the SSL adaptation library. * ace/SSL/ACE_SSL.dsp: Fixed include paths, removed ACE_HAS_SSL from the command line (it should be in config.h), but still has problems with the link phase when SSL is not around. Mon Jun 26 17:01:35 2000 David L. Levine * include/makeinclude/platform_sunos5_sunc++.GNU (CC_VERSION): use $(CXX) instead of hardcoding CC, in case the user overrides CXX. Thanks to Alexander Belopolsky for reporting this. Mon Jun 26 13:31:39 2000 Steve Huston * tests/OS_Test.cpp: Don't use the word 'fail' when the test succeeds... the test scripts look for that word to mean test fail. Mon Jun 26 12:09:33 2000 David L. Levine * ace/config-lynxos.h: use _POSIX_VERSION to detect the LynxOS version, instead of trying to rely on the g++ version. Thanks to Chad Elliott for this suggestion. Mon Jun 26 12:01:17 2000 Chad Elliott * tests/run_tests.sh Removed the -p option from the #!/bin/sh line. Tru64's Bourne Shell doesn't seem to like that option. Sat Jun 24 19:58:22 2000 John Heitmann * ace/OS.h * ace/OS.i * ace/config-macosx.h * include/makeinclude/platform-macosx.GNU Added preliminary support for Mac OS X Developer Preview 4. Quite a bit is still broken, but the core ACE library works great. Grep for __MACOSX__ in OS* to see the changes. Thu Jun 22 17:27:35 2000 Steve Huston * ace/Log_Msg.cpp (ACE_Log_Msg_Attributes::inherit_hook): Use a temporary void * to hold the reference - this keeps Sun C++ 4.2 from complaining you can't static_cast a void *& to a ACE_Log_Msg_Attributes*. Thu Jun 22 17:58:21 2000 Steve Huston * ace/Handle_Set.cpp: Added pSOS-specific changes to deal with pSOS's ordering of fd_set bits reversed from all other platforms. Thanks to Matt Emerson for figuring this out. Thu Jun 22 15:16:31 2000 Steve Huston * ace/OS.cpp: Added pSOS implementation for ACE_OS::uname. Added pSOS implementation for ACE_OS::inet_ntoa - this one is not inlined, whereas all other platforms' ACE_OS::inet_ntoa are in OS.i, inlined (if enabled). Thanks to Matt Emerson for these. * ace/OS.i (ACE_OS::inet_ntoa): Disabled this for pSOS - pSOS's version is in OS.cpp now. Thu Jun 22 14:03:53 2000 Nanbor Wang * netsvcs/servers/svc.conf: Changed the library name where the Logging_Strategy could be found. * netsvcs/lib/netsvcs.dsp: Removed Logging_Strategy.* from the project file. * ace/ace_dll.dsp: * ace/ace_lib.dsp: Added Logging_Strategy.*. * ace/Logging_Strategy.h: Removed ACE_SVC_BUILD_DLL. It's now under ACE. Changed ACE_SVC_FACTORY_DECLARE to ACE_FACTORY_DECLARE. * ace/Logging_Strategy.cpp: Changed ACE_SVC_FACTORY_DEFINE to ACE_FACTORY_DEFINE. Thu Jun 22 13:59:26 2000 Nanbor Wang * ace/OS.cpp: Removed an extra 'g' from the very beginning of the file. Thu Jun 22 14:11:26 2000 Steve Huston * ace/OS.cpp (ACE_OS::thr_keycreate): Add some type cast to compile clean on pSOS. Thanks to Matt Emerson . Thu Jun 22 12:46:43 2000 Douglas C. Schmidt * ace: Added Logging_Strategy.{h,cpp} to ACE and the Makefile. * netsvcs/lib: Zapped the Logging_Strategy.{h,cpp} files from netsvcs and moved them into ACE, where they can be reused more readily. Thanks to Martin Krumpolec for this suggestion. Thu Jun 22 13:29:22 2000 Steve Huston * ace/OS.cpp (ACE_Thread_Adapter::invoke): Added cleanup code for pSOS tasks at the end of the function. The code is from ISI's documentation. Thanks to Matt Emerson for pointing out this problem and supplying the fix. Thu Jun 22 09:47:56 2000 Chad Elliott * ace/OS_Dirent.h Added include of unistd.h before dirent.h. The lack of the STATUS typedef was causing a build failure on VxWorks with the GNU compiler. Thu Jun 22 08:28:48 2000 Steve Huston * tests/OS_Test.cpp: Fixed unused argv warning for g++. Wed Jun 21 14:40:15 2000 Carlos O'Ryan * ace/OS.i: Removed unused arg warnings in ACE_OS::rename() Wed Jun 21 13:41:27 2000 Steve Huston * tests/OS_Test.cpp: New test for OS things. All it tests now is ACE_OS::rename. * tests/OS_Test.dsp: MSVC project file for new test. * tests/tests.dsw: Added OS_Test.dsp. * tests/Makefile: Add new OS_Test. * tests/run_tests.lst: Added OS_Test. * trests/version_tests/OS_Test.dsp: MSVC project file for new test. * tests/version_tests.dsp: Added new OS_Test.dsp. Wed Jun 21 13:25:41 2000 Steve Huston * ace/OS.i (rename): On ACE_HAS_WINNT4 systems (Win NT, 2000), the rename is accomplished via MoveFileEx, which allows an existing destination file to be replaced. This makes the behavior in this case the same on NT/2000 as on *NIX systems (the file is replaced). Wed Jun 21 13:23:18 2000 Steve Huston * ace/OS.h (rename): Added a 3rd argument (int flags) which defaults to -1 (meaning to use ACE-default flags inside the function). The flags are only useful on NT/2000 for supplying values to the MoveFileEx function's flags argument. Wed Jun 21 03:02:37 2000 Nanbor Wang * ace/OS.i (set_errno_to_last_error): * ace/OS.i (set_errno_to_wsa_last_error): The RTL for IBM VisualAge C++/NT has the same problem as Borland 4. Thanks to Boris Kaminer for reporting this. Wed Jun 21 01:12:59 2000 Irfan Pyarali * ace/ACE.cpp: Changed all the timed versions of the "_n_i()" methods so that they are more optimistic. Previously, these methods would check with select() before issuing the data transfer call. There was really no need to do this since the socket is already in non-blocking mode and will therefore not block in transferring the data. This change should make these methods faster in the case when there is no blocking since select() will not be called. As a side effect of this change, checking for EWOULDBLOCK now happens after the call to send()/recv(). This automatically fixed bug 594 though I am still not sure why send()/recv() would EWOULDBLOCK right after select() indicated that the socket was ready. Either way, thanks to Viatcheslav A. Batenine for reporting the bug and providing an example illustrating the bug. Tue Jun 20 19:37:53 2000 Carlos O'Ryan * ace/CORBA_macros.h: Fixed the definition of ACE_RE_THROW_EX, there was a space between the macro name and the ( that starts its arguments. * ace/RMCast/Makefile: * ace/RMCast/RMCast_Header_Size.h: * ace/RMCast/RMCast_Header_Size.i: * ace/RMCast/RMCast_Header_Size.cpp: A simple control message, still unused. * ace/RMCast/RMCast_Partial_Message.cpp: Verify that all fragments report the same total size. Tue Jun 20 14:55:26 2000 Nanbor Wang * ace/OS.cpp: Applied patches for ACE_BEGINTHREADEX and ACE_ENDTHREADEX for using IBM VisualAge C++ 4.0 on NT. Thanks to Boris Kaminer for providing the patches. Tue Jun 20 12:04:24 2000 Ossama Othman * ace/Makefile (ssl): Reverted change that causes the SSL wrappers to be built when SSL support isn't explicitly disabled. It caused SSL support to always be built, which was not the desired effect. Tue Jun 20 12:57:12 2000 Nanbor Wang * ace/config-freebsd-pthread.h: Undefined ACE_LACKS_SETSCHED if we are compiling on R4.0 or above. Thanks to Sergey A. Osokin for reporting this for Nick Logvinov . Tue Jun 20 07:37:18 2000 Douglas C. Schmidt * ace/Select_Reactor_T.h, * ace/Select_Reactor_T.cpp, * ace/Reactor.h, * ace/Reactor.i, * ace/Reactor_Impl.h, * ace/WFMO_Reactor.h, * ace/WFMO_Reactor.cpp: Added a new method to access the Reactor's timer queue. Also renamed the accessors timer_queue(ACE_Timer_Queue *) and ACE_Timer_Queue *timer_queue() to be more consistent with ACE naming conventions. Thanks to Jody Hagins for reporting this. Tue Jun 20 02:06:15 2000 Craig Rodrigues * include/makeinclude/platform_sunos5_g++.GNU * include/makeinclude/platform_sunos5_sunc++.GNU Updated PLATFORM_X11_CPPFLAGS to include the standard include path for X11 and Motif headers under Solaris. Mon Jun 19 22:14:26 2000 Alex Arulanthu * ace/POSIX_Asynch_IO.h: * ace/POSIX_Asynch_IO.cpp: * ace/POSIX_Proactor.h: * ace/POSIX_Proactor.cpp: * examples/Reactor/Proactor/Makefile * examples/Reactor/Proactor/test_proactor2.cpp: Thanks to Alex Libman , the following changes have been integrated onto POSIX Proactor. - Enabling the completion call backs even if aio_return fails. We will call the completion call back methods with 0 transferred data parameter. - MT safe'ing AIOCB proactor. It would not improve the efficiency. Mon Jun 19 19:44:05 2000 Ossama Othman * ace/Makefile (ssl): Fixed conditional so that the SSL wrappers are built when SSL is not explicitly disabled, i.e. when the "ssl" make variable is not equal to zero. Note that the default is not to build the SSL wrappers. * ace/OS.i (thr_yield): Corrected typo in comment. * m4/platform.m4 (ACE_CPPFLAGS): Define necessary feature test macros on the command line, not in the configuration header. This allows ACE applications to utilize those macro definitions without having to worry about header inclusion ordering. (ACE_DEFAULT_SELECT_REACTOR_SIZE): It is no longer necessary to hard-code the default reactor size for older Linux kernels that had a file descriptor limit less than FD_SETSIZE since the Select Reactor now falls back on the run-time file descriptor limit for the given process. (ACE_HAS_IRIX62_THREADS): Removed redundant definition. Only define ACE_HAS_IRIX62_THREADS for IRIX 6.2. Mon Jun 19 17:33:28 2000 Douglas C. Schmidt * ace/OS.h: Removed the special case check for # if defined (ACE_HAS_IRIX62_THREADS) # define THR_SCOPE_SYSTEM 0x00100000 # else and just used this: # define THR_SCOPE_SYSTEM THR_BOUND Thanks to John Foresteire for this suggestion. Mon Jun 19 12:38:58 2000 Carlos O'Ryan * ace/config-all.h: * ace/OS.h: * ace/OS.cpp: * ace/Log_Msg.h: * ace/Log_Msg.cpp: In Win32 we have to pass the structured exception handlers around. Mon Jun 19 11:43:43 2000 Carlos O'Ryan * Decouple the Log_Msg inheritance from the ACE_OS layer: the Log_Msg class registers hooks with the ACE_OS layer that are invoked when a new thread is created. The callback is used to first copy the state from the current thread to a temporary object and then copy (in the created thread) the temporary object state to the TSS Log_Msg object. The temporary holder for the Log_Msg state is allocated in the heap, and destroyed as soon as we don't need it anymore. * ace/Log_Msg.h: * ace/Log_Msg.cpp: New ACE_Log_Msg_Attributes class used as the temporary holder of the Log_Msg state during thread creation. * ace/config-all.h: * ace/OS.h: * ace/OS.i: * ace/OS.cpp: Define the new hooks used to inherit the Log_Msg state. Mon Jun 19 12:45:45 2000 David L. Levine * ace/config-lynxos.h: removed the ACE_LACKS_PTHREAD_SIGMASK, and added back the pthread_sigmask () declaration. With extern "C", this time. * include/makeinclude/platform_lynxos.GNU: moved our LynxOS cross development kit to where it belongs, so that ENV_PREFIX is now the same as with 2.5.0 and 3.0.0. Mon Jun 19 11:49:43 2000 David L. Levine * include/makeinclude/platform_lynxos.GNU: export environment variables that are set on the host (for cross-compilation). The cross-compile g++ needs ENV_PREFIX in order to link properly. * ace/config-lynxos.h: added ACE_LACKS_PTHREAD_SIGMASK with LynxOS 3.1.0. In addition to not be declared in the system headers, pthread_sigmask () isn't in the threads libs. Mon Jun 19 10:43:27 2000 David L. Levine * include/makeinclude/platform_lynxos.GNU: use -mthreads with LynxOS 3.1.0, as well as with prior versions. Mon Jun 19 02:47:12 2000 Nanbor Wang * ace/CORBA_macros.h: Fixed misspellings of deprecated. Thanks to Ossama for pointing this out. Sun Jun 18 11:39:48 2000 David L. Levine * include/makeinclude/platform_lynxos.GNU: rework environment variables to better support LynxOS 3.1.0. Sun Jun 18 10:54:59 2000 Douglas C. Schmidt * ace/INET_Addr: Added operator < to ACE_INET_Addr so that it can be used in an STL map. Thanks to Tomer Amiaz for this suggestion. Sun Jun 18 03:18:21 2000 Nanbor Wang * ace/CORBA_macros.h: The definition of ACE_RETHORW is flawed because it requires all ACE_RETHROW statements be the last statement executed within the ACE_CATCH block as this example: ACE_CATCH ( /* whatever */ ) { // Do something else ACE_RETHROW; } ACE_ENDTRY; ACE_CHECK; However, if this is not the case, programs may exhibit different behavior on platforms with/without native C++ exceptions, as shown in the following example: ACE_CATCH ( /* whatever */ ) { if (foo == bar) ACE_RETHROW; foo = bar; } ACE_ENDTRY; ACE_CHECK; Although the problem is easy to fix, unfortunately, I can't find a way to fix it without changing the macro name because the program flow may get completely messed up if ACE_TRY and ACE_TRY_EX are used together. Therefore, I have added two new macros ACE_RE_THROW and ACE_RE_THROW_EX. The old macro is now deprecated. If you are absolutely sure that you are not using the old ACE_RETHROW macro as mentioned above, you can define ACE_HAS_DEPRECATED_ACE_RETHROW in your ace/config.h file and continue to use ACE_RETHROW. However, you should move to the new macros as soon as possible. Sat Jun 17 18:15:00 2000 Kirthika Parameswaran * tests/Makefile.DLL: * tests/Makefile.DLL_Test: Renamed Makefile.DLL since on NT it appeared as if there was a dll version of the Makefile. Also did a make depend. Thanks to James Megquier for reporting this and to Darrell brunsch for suggesting that the name be changed. * tests/Makefile: Updated the Makefile to now have Makefile.DLL_Test. Sat Jun 17 08:03:53 2000 Douglas C. Schmidt * docs/tutorials/Chap_5/ex02.html: Fixed a typo where peer() should have been peer_i(). Thanks to Keo Kelly for reporting this. Sat Jun 17 07:46:44 2000 Chris Kohlhoff * include/makeinclude/ace_flags.bor: Added support for new LoadBalancing orbsvcs library. Fri Jun 16 17:30:18 2000 Carlos O'Ryan * ace/RMCast/Makefile: * ace/RMCast/RMCast.dsp: * ace/RMCast/RMCast.dsw: * ace/RMCast/RMCast_Export.h: In this library we will implement a simple, small scale reliable multicast protocol for ACE. The library is based on the ASX classes in ACE (Task, Module and friends). * tests/RMCast/Makefile: * tests/RMCast/RMCast_Tests.dsw: The unit test directory for the RMCast library components. * ace/RMCast/RMCast_Fragment.h: * ace/RMCast/RMCast_Fragment.i: * ace/RMCast/RMCast_Fragment.cpp: The fragmentation task. It divides a message block chain in small fragments. The fragments are limited by the number of bytes and the number of entries in the chain (for platforms with limited IO vectors). * tests/RMCast/RMCast_Fragment_Test.cpp: * tests/RMCast/RMCast_Fragment_Test.dsp: Unit test for the fragmentation layer. * ace/RMCast/RMCast_Partial_Message.h: * ace/RMCast/RMCast_Partial_Message.i: * ace/RMCast/RMCast_Partial_Message.cpp: A simply class to maintain a partial received messages, keeps track of the missing bytes and detects when the complete message has been received. * ace/RMCast/RMCast_Reassembly.h: * ace/RMCast/RMCast_Reassembly.i: * ace/RMCast/RMCast_Reassembly.cpp: The reassembly layer. Uses the Partial_Message class to do a great deal of the work. * tests/RMCast/RMCast_Reassembly_Test.cpp: * tests/RMCast/RMCast_Reassembly_Test.dsp: Unit test for the reassembly layer. Fri Jun 16 17:00:03 2000 Carlos O'Ryan * include/makeinclude/rules.bin.GNU: * include/makeinclude/wrapper_macros.GNU: Joe's change does not work. A *LOT* of makefiles in TAO do not include the rules.bin.GNU file. Fri Jun 16 16:18:21 2000 Ossama Othman * ace/Makefile (DIRS): Descend into and build the newly added SSL directory if "make ssl=1" is issued. * ace/SSL/ACE_SSL.dsp: * ace/SSL/Makefile: * ace/SSL/SSL_Context.cpp: * ace/SSL/SSL_Context.h: * ace/SSL/SSL_Export.h: * ace/SSL/SSL_SOCK.cpp: * ace/SSL/SSL_SOCK.h: * ace/SSL/SSL_SOCK_Acceptor.cpp: * ace/SSL/SSL_SOCK_Acceptor.h: * ace/SSL/SSL_SOCK_Connector.cpp: * ace/SSL/SSL_SOCK_Connector.h: * ace/SSL/SSL_SOCK_Stream.cpp: * ace/SSL/SSL_SOCK_Stream.h: Integrated the ACE SSL wrappers into the ACE mainline distribution. Enable using "make ssl=1." The library that is generated is called "libACE_SSL.so" on UNIX, and ACE_SSL{d}.dll on Win32. * examples/IPC_SAP/Makefile: Build SSL_SAP example if "make ssl=1" is issued. * examples/IPC_SAP/SSL_SAP/SSL_SOCK_SAP.dsw: * examples/IPC_SAP/SSL_SAP/Makefile: * examples/IPC_SAP/SSL_SAP/README: * examples/IPC_SAP/SSL_SAP/SSL-client.dsp: * examples/IPC_SAP/SSL_SAP/SSL-server.dsp: * examples/IPC_SAP/SSL_SAP/SSL-client-simple.cpp: * examples/IPC_SAP/SSL_SAP/SSL-client-simple.h: * examples/IPC_SAP/SSL_SAP/SSL-client.cpp: * examples/IPC_SAP/SSL_SAP/SSL-client.h: * examples/IPC_SAP/SSL_SAP/SSL-server-fancy.cpp: * examples/IPC_SAP/SSL_SAP/SSL-server-poll.cpp: * examples/IPC_SAP/SSL_SAP/SSL-server-simple.cpp: * examples/IPC_SAP/SSL_SAP/SSL-server.cpp: * examples/IPC_SAP/SSL_SAP/dummy.pem: * examples/IPC_SAP/SSL_SAP/key.pem * examples/IPC_SAP/SSL_SAP/local_data: * examples/IPC_SAP/SSL_SAP/summarize: Integrated example that demonstratres use of the ACE SSL wrappers. * include/makeinclude/wrapper_macros.GNU (ssl): Added make flag to enable compilation of OpenSSL support in ACE. (e.g. make ssl=1) Fri Jun 16 14:40:34 2000 Carlos O'Ryan * bin/run_all_list.pm: * bin/auto_run_tests.lst: Add the LongUpcalls to the run_test lists. Fri Jun 16 16:00:45 2000 Joe Hoffert * include/makeinclude/{rules.bin.GNU,wrapper_macros.GNU}: Moving VLDLIBS definition from wrapper_macros.GNU to rules.bin.GNU to allow unsetting ACE_LIB. Needed for PACE builds that don't need the ACE library. Fri Jun 16 14:24:36 2000 Steve Huston * ace/config-hpux-11.00.h: * include/makeinclude/platform_hpux_aCC.GNU: Allow user to do make exceptions=0 to disable exception handling. This is not a safe thing to do since the C++ runtime throws exceptions, but if you must, and you know what you're doing, here's the rope. Fri Jun 16 08:40:38 2000 Darrell Brunsch * bin/msvc_auto_compile.pl: Moved the print statement for a project file from Build_Config to Build, so it will be executed for the -CORE target. This was causing incorrect headers in nightly build reports. Fri Jun 16 08:12:37 2000 David L. Levine * docs/ACE-guidelines.html: added a section for PACE. Thu Jun 15 21:30:37 2000 Ossama Othman * ace/Makefile.am (pkgincludedir): Corrected value for this variable. It should have been "$(includedir)/ace" instead of "$(prefix)/include/ace." In any case, this was more of a consistency change than anything else, since this variable is actually commented out. Thu Jun 15 20:01:35 2000 Steve Huston * ace/OS.i (ACE_OS::tempnam): Made the (__IBMCPP__) a 'defined' check and combined it with defined (ACE_WIN32) so it works right on AIX. Moved the NOTSUP stuff for ACE_HAS_WINCE to the section with the other platforms that don't support it. Thu Jun 15 16:10:51 2000 Steve Huston * include/makeinclude/platform_aix4_cset++.GNU: Force exceptions=1 because IBM C/C++ doesn't have a way to disable exceptions. * ace/config-aix-4.x.h: Add #if !defined around ACE_HAS_EXCEPTIONS to avoid compile errors if exceptions=1 explicitly stated. Thu Jun 15 16:03:11 2000 David L. Levine * include/makeinclude/platform_lynxos.GNU: removed -mthreads from CFLAGS with LynxOS 3.1.0. Thu Jun 15 15:56:27 2000 Michael Ravits * ace/OS_String.inl (strtoul): removed cast to unsigned long on Linux. It's no longer needed with current glibc. Thu Jun 15 15:18:31 2000 Steve Huston * include/makeinclude/platform_aix4_g++.GNU: Add default setting for exceptions (off by default); added proper handling for turning off threads. Thanks to Soren Schmidt for these. Thu Jun 15 12:49:50 2000 Ossama Othman * ace/OS.h: Do not define priority range related macros (ACE_{PROC,THR}_PRI_{FIFO,RR,OTHER}_{MIN,MAX}) to use sched_get_priority_{min,max}() unless _POSIX_PRIORITY_SCHEDULING is defined. Include prior to using _POSIX_PRIORITY_SCHEDULING since that macro is supposed to be defined there. * ace/Malloc_T.cpp (trybind, bind, find): * ace/Process_Manager.cpp (register_handler, spawn, remove): * ace/Service_Repository.cpp (insert, remove): * ace/Thread_Manager.cpp (spawn, insert_thr, check_state): Fixed "control reaches end of non-void function" warnings issued by g++ 2.95.2. * ace/config-linux-lxpthreads.h (PTHREAD_MIN_PRIORITY, PTHREAD_MAX_PRIORITY): Removed definition of these macros. They aren't used, nor should they be, since priority ranges for each scheduling policy are determined at run-time when creating a thread by invoking the sched_get_priority_{min,max}() OS functions. This is only done when ACE is configured for platforms that support the Pthreads final standard (ACE_HAS_PTHREADS_STD), which glibc >= 2.0.x does. Thu Jun 15 13:15:06 2000 David L. Levine * ace/config-lynxos.h: fixed 3.1.0 support. Rely on the GNU compiler version instead of __LYNXOS_SDK_VERSION, because that's not defined with 3.1.0. And added a declaration of pthread_sigmask (), because that's missing from the system headers. * include/makeinclude/platform_lynxos.GNU: fixed 3.1.0 support. Removed the extra $(LYNXTARGET) from the PATH, and added a -I/usr/lynx/$(VERSION)/usr/include (which shouldn't be necessary, but apparently is). * ace/OS.i (thr_sigsetmask): don't call ::pthread_sigmask () if ACE_LACKS_PTHREAD_SIGMASK is defined. Thu Jun 15 10:28:05 2000 Martin Stack * ace/TTY_IO.cpp (control): Added dcb.fDtrControl = DTR_CONTROL_ENABLE; for Win32 so that it will have the same default semantics as Linux. Thu Jun 15 07:35:57 2000 Roger Larsson * ace/Process_Manager.cpp: Make sure to grab the lock inside the terminate() methods and also call remove_proc() rather than remove(). Thu Jun 15 12:41:05 2000 Yamuna Krishnamurthy * ACE version 5.1.4 released. Wed Jun 14 18:15:43 2000 Ossama Othman * configure.in (ACE_HAS_UCONTEXT_T): Check if ucontext_t gets defined by including , if the check in fails. Some platforms define ucontext_t in , but ACE doesn't explicitly include that header. However, it is very likely that does, either directly or indirectly. This should fix a configuration problem that was occuring on FreeBSD 4.0. Wed Jun 14 17:54:18 2000 Ossama Othman * Makefile.am: Moved generation of aceConf.sh and ace-config.1 to configure script. There was no reason for them to be generated in the Makefile. This also fixes a problem where the Solaris sed command didn't understand a substitution. * acconfig.h (PTHREAD_MIN_PRIORITY, PTHREAD_MAX_PRIORITY): Removed macros related to these macros. The configure script will automatically add them. * configure.in: Generate aceConf.sh and ace-config.1 at configure time, rather than make time. See above entry for details. Fixed tests for PTHREAD_MAX_PRIORITY and PTHREAD_MIN_PRIORITY. These macros should only be used if the sched_get_priority_max() and sched_get_priority_min() functions are not available. If PTHREAD_{MAX,MIN}_PRIORITY isn't available, then check if PX_PRIO_{MAX,MIN} is available. If so, then define PTHREAD_{MAX,MIN}_PRIORITY to be those values. These changes fix some configuration problems experienced IRIX. Improved test for ACE_Addr::sap_any support. ACE_Addr:sap_any is now passed as an argument to the ACE_FILE_Addr constructor. * ace/Cached_Connect_Strategy_T.cpp: This file was still including a file that was removed from the distribution, i.e. `ace/Cached_Connect_Strategy_T.i', which caused compile-time errors to occur when building with inlining disabled. Wed Jun 14 11:55:56 2000 Ossama Othman * ace/Cleanup_Strategies_T.cpp: This file was still including a file that was removed from the distribution, i.e. `ace/Cleanup_Strategies_T.i', which caused compile-time errors to occur when building with inlining disabled. Wed Jun 14 10:24:02 2000 Douglas C. Schmidt * netsvcs/lib/Logging_Strategy.cpp (handle_timeout): Removed a couple of non-referenced parameters. Thanks to David and Yamuna for reporting this. Wed Jun 14 07:43:27 2000 Douglas C. Schmidt * netsvcs/lib/Client_Logging_Handler.cpp: Added ACE_TEXT macros to the appropriate places in this file. * netsvcs/lib/Logging_Strategy.cpp: Removed the legacy ASYS_TEXT and replaced them with ACE_TEXT. Wed Jun 14 08:30:53 2000 Carlos O'Ryan * */Makefile: Updated dependencies (again), the last time I had static_libs_only enabled that broke a number of things. Tue Jun 13 17:46:42 2000 Irfan Pyarali * ace/Connector.cpp: - handle_close(): cleanup_AST() will unbind an entry from the map. This change of state in the map invalidates any iterators currently iterating over the map. Therefore, the code in handle_close() was changed such that a new iterator is created after every call to cleanup_AST(). - cancel(): Cannot use the after cleanup_AST() is called as cleanup_AST() will unbind the from the map. Thanks to Roland Fischer for pointing out this bug. Tue Jun 13 15:31:21 2000 Ossama Othman * ltcf-c.sh: * ltcf-cxx.sh: * ltconfig: * ltmain.sh: Updated to latest upstream versions. Tue Jun 13 15:51:33 2000 Jerry D. De Master * netsvcs/lib/Logging_Strategy: Enhanced the Logging Strategy so it can be used to limit log file size at any logging point (i.e., application, client logging daemon, or server logging daemon) by specifying the -i and -m options for the Logging_Strategy class in a svc.conf file. Tue Jun 13 12:56:36 2000 Carlos O'Ryan * */Makefile: Updated dependencies. Tue Jun 13 09:47:25 2000 Darrell Brunsch * bin/msvc_auto_compile.pl: Fixed some typos related to the static build core. Mon Jun 12 20:45:18 2000 Darrell Brunsch * bin/Process_Win32.pm: Changed the $newwindow check to check to see if the variable was defined before comparing it to "yes". This removes a perl warning. * bin/msvc_auto_compile.pl: The TAOACE[_static].dsw files were changed, so I altered the CORE option to use the TAOACE.dsw file with -DLL, and added some missing dsp files for the -LIB build. * bin/create_vt_dsps.pl: Changed the runtime library type used in the static versions and added ACE_OS_HAS_DLL=0. * ace/ace_lib.dsp: * apps/gperf/src/gperf.dsp: * apps/gperf/src/gperf_lib.dsp: * examples/IPC_SAP/ATM_SAP/CPP_client.dsp: * examples/IPC_SAP/ATM_SAP/CPP_server.dsp: Miscellaneous fixes to get the static versions working again. Mainly just adding ACE_OS_HAS_DLL=0. * tests/version_tests/CDR_Array_Test.dsp: (added) * tests/version_tests/Atomic_Op_Test.dsp: * tests/version_tests/Auto_IncDec_Test.dsp: * tests/version_tests/Barrier_Test.dsp: * tests/version_tests/Basic_Types_Test.dsp: * tests/version_tests/Buffer_Stream_Test.dsp: * tests/version_tests/CDR_File_Test.dsp: * tests/version_tests/CDR_Test.dsp: * tests/version_tests/Cache_Map_Manager_Test.dsp: * tests/version_tests/Cached_Accept_Conn_Test.dsp: * tests/version_tests/Cached_Conn_Test.dsp: * tests/version_tests/Capabilities_Test.dsp: * tests/version_tests/Collection_Test.dsp: * tests/version_tests/Conn_Test.dsp: * tests/version_tests/DLL_Test.dsp: * tests/version_tests/DLList_Test.dsp: * tests/version_tests/Dynamic_Priority_Test.dsp: * tests/version_tests/Enum_Interfaces_Test.dsp: * tests/version_tests/Env_Value_Test.dsp: * tests/version_tests/Future_Set_Test.dsp: * tests/version_tests/Future_Test.dsp: * tests/version_tests/Handle_Set_Test.dsp: * tests/version_tests/Hash_Map_Bucket_Iterator_Test.dsp: * tests/version_tests/Hash_Map_Manager_Test.dsp: * tests/version_tests/High_Res_Timer_Test.dsp: * tests/version_tests/IOStream_Test.dsp: * tests/version_tests/Lazy_Map_Manager_Test.dsp: * tests/version_tests/MM_Shared_Memory_Test.dsp: * tests/version_tests/MT_Reactor_Timer_Test.dsp: * tests/version_tests/MT_SOCK_Test.dsp: * tests/version_tests/Malloc_Test.dsp: * tests/version_tests/Map_Manager_Test.dsp: * tests/version_tests/Map_Test.dsp: * tests/version_tests/Mem_Map_Test.dsp: * tests/version_tests/Message_Block_Test.dsp: * tests/version_tests/Message_Queue_Notifications_Test.dsp: * tests/version_tests/Message_Queue_Test.dsp: * tests/version_tests/Naming_Test.dsp: * tests/version_tests/New_Fail_Test.dsp: * tests/version_tests/Notify_Performance_Test.dsp: * tests/version_tests/Object_Manager_Test.dsp: * tests/version_tests/OrdMultiSet_Test.dsp: * tests/version_tests/Pipe_Test.dsp: * tests/version_tests/Priority_Buffer_Test.dsp: * tests/version_tests/Priority_Reactor_Test.dsp: * tests/version_tests/Priority_Task_Test.dsp: * tests/version_tests/Process_Manager_Test.dsp: * tests/version_tests/Process_Mutex_Test.dsp: * tests/version_tests/Process_Strategy_Test.dsp: * tests/version_tests/RB_Tree_Test.dsp: * tests/version_tests/Reactor_Exceptions_Test.dsp: * tests/version_tests/Reactor_Notify_Test.dsp: * tests/version_tests/Reactor_Performance_Test.dsp: * tests/version_tests/Reactor_Timer_Test.dsp: * tests/version_tests/Reactors_Test.dsp: * tests/version_tests/Reader_Writer_Test.dsp: * tests/version_tests/Recursive_Mutex_Test.dsp: * tests/version_tests/Reverse_Lock_Test.dsp: * tests/version_tests/SOCK_Connector_Test.dsp: * tests/version_tests/SOCK_Send_Recv_Test.dsp: * tests/version_tests/SOCK_Test.dsp: * tests/version_tests/SPIPE_Test.dsp: * tests/version_tests/SString_Test.dsp: * tests/version_tests/SV_Shared_Memory_Test.dsp: * tests/version_tests/Semaphore_Test.dsp: * tests/version_tests/Service_Config_Test.dsp: * tests/version_tests/Sigset_Ops_Test.dsp: * tests/version_tests/Simple_Message_Block_Test.dsp: * tests/version_tests/Svc_Handler_Test.dsp: * tests/version_tests/TSS_Test.dsp: * tests/version_tests/Task_Test.dsp: * tests/version_tests/Thread_Manager_Test.dsp: * tests/version_tests/Thread_Mutex_Test.dsp: * tests/version_tests/Thread_Pool_Reactor_Test.dsp: * tests/version_tests/Thread_Pool_Test.dsp: * tests/version_tests/Time_Service_Test.dsp: * tests/version_tests/Time_Value_Test.dsp: * tests/version_tests/Timeprobe_Test.dsp: * tests/version_tests/Timer_Queue_Test.dsp: * tests/version_tests/Tokens_Test.dsp: * tests/version_tests/UPIPE_SAP_Test.dsp: * tests/version_tests/Upgradable_RW_Test.dsp: * tests/version_tests/version_tests.dsw: Regenerated. Mon Jun 12 18:17:42 2000 Darrell Brunsch * bin/auto_run_tests.lst: (added) * bin/auto_run_tests.pl: (added) * tests/run_test.lst: (added) * tests/run_test.pl: (added) New scripts to facilitate the auto_build testing on NT. Sun Jun 11 18:12:12 2000 Vishal Kachroo * examples/QOS/QoSEvent.h: Removed a warning on Win2K. Sat Jun 10 23:34:16 2000 Darrell Brunsch * docs/CE-status.txt: Updated to reflect my current plans for Windows CE. Unfortunately, ACE on CE will not be working with the next beta kit of ACE. :-( Need to get an autobuild set up for CE sometime... Sat Jun 10 20:51:56 2000 Darrell Brunsch * ace/config-win32-common.h: Changed the "You must link with Multithreaded DLL" error to make it sound less like it is a problem with the ACE project file instead of the application project file. * docs/ACE-guidelines.html: Updated the section on wchar support in ACE. Sat Jun 10 17:33:55 2000 Carlos O'Ryan * ace/Configuration.cpp: Fixed warnings under Linux/KCC * bin/auto_compile: Add separators between the different sections of the log. Darrell script would be able to generate nice color coded summaries based on that. * include/makeinclude/platform_linux_kcc.GNU: Add support for the math library. Fri Jun 09 11:31:24 2000 Nanbor Wang * ace/Service_Config.cpp (close_singletons): Applied Tom Arbuckle's patch so the Process_Manager singleton is closed before Reactor singleton. Fri Jun 9 09:28:18 2000 Carlos O'Ryan * include/makeinclude/platform_linux_kcc.GNU: More fixes to make sure that shared and static libraries are generated with the right configuration (threads, exceptions, etc.). Fri Jun 9 07:19:10 2000 Toshio Hori * ace/Stream.h (class ACE_Stream): Added an updated version an insert() and replace() that make it possible to replace the stream head and tail. Fri Jun 09 02:34:07 2000 Irfan Pyarali * ace/OS.i (floor and ceil): Added new methods. Thu Jun 8 20:58:17 2000 Darrell Brunsch Patched for IBM VAC++ 4.02 for WinNT applied on behalf of Boris Kaminer * config-win32-visualage.h: Remove dupplicate definition of ACE_HAS_TYPENAME_KEYWORD. * Auto_Ptr.h: * Auto_Ptr.i: Copy constructors bodies into class declarations from Auto_Ptr.i to Auto_ptr.h for constructors with ACE_EXPLICIT. (workaround for explicit bug in VAC++ 4.02) * Malloc.cpp: Changed ACE_ASSERT (0 == "not implemented!"); to ACE_ASSERT (!"not implemented!"); (get over codestore fault) * OS.i: (chdir) Added !defined (ACE_WIN32) to the check for IBM CPP * ace-dll.icc: Changed the order of hpp files, and added a define for _INTEGRAL_MAX_BITS = 64. Thu Jun 8 18:35:30 2000 Carlos O'Ryan * ace/Date_Time.h: * ace/Date_Time.i: Made a bunch of accessors const, thanks to Derek Dominish for pointing this out. Thu Jun 08 14:17:20 2000 Nanbor Wang * ace/Process_Manager.{h,cpp} (close_singleton): * ace/Service_Config.cpp (close_singletons): Applied Tom Arbuckle's patch to clean up Process_Manager singleton at program exit. Thu Jun 8 13:00:38 2000 Toshio Hori * ace/Stream.h (class ACE_Stream): Added support for an insert() and replace() to make it easier to insert and update the contents of an ACE_Stream. Thu Jun 8 09:52:36 2000 Joe Hoffert * bin/pace_components: Adding this file to handle setup and cleanup of PACE components just like the ace_components file does for ACE. Thu Jun 08 01:53:03 2000 Irfan Pyarali * ace/Message_Queue.i (peek_dequeue_head): Fixed typo. Wed Jun 7 20:41:33 2000 Douglas C. Schmidt * ace/Message_Queue: Added some "no-op" impls for the new pure virtual methods added to ACE_Message_Queue recently. Thanks to Darrell for pointing this out. Wed Jun 7 13:24:22 2000 Carlos O'Ryan * ace/OS.h: For KCC under linux we have to define ACE_DEFAULT_SHLIB_MODE as RLTD_LAZY (RTLD_GROUP and RTLD_NODELETE are not defined in that configuration). * ace/OS_Dirent.inl: Removed unreachable statement. * ace/config-linux-common.h: KCC does not have LLSEEK or LLSEEK64 * include/makeinclude/platform_linux_kcc.GNU: Fixed the configuration file so the default settings for debugging, optimization and exceptions can be overriden by the user. Wed Jun 7 12:05:23 2000 Darrell Brunsch * bin/fuzz.pl: Dropped the level for the TCHAR check to 4, so it runs by default. Also added a new test to check for mismatch of ace/pre.h and ace/post.h in header files (level 4). * ace/ace_wchar.h: Added a FUZZ: disable for the TCHAR check, since we need to define the ASYS_TCHAR type macros for backwards compatiblity here. Wed Jun 07 13:22:01 2000 David L. Levine * examples/IPC_SAP/SOCK_SAP/CPP-inclient.cpp (twoway_client_test): replaced ASYS_TEXT with ACE_TEXT, see Tue Jun 6 12:39:23 2000 Phil the Build Czar :-) Wed Jun 7 12:09:50 2000 Joe Hoffert * include/makeinclude/platform_sunos5_sunc++.GNU: Changed position-independent-code option from -PIC to -KPIC since the C++ compiler recognizes either and the C compiler only recognizes -KPIC. * include/makeinclude/rules.local.GNU: Added a compilation rule for C (i.e., .c) files. Tue Jun 6 22:32:16 2000 Carlos O'Ryan * ace/OS.i: * ace/OS_TLI.h: Moved the explicit declaration of t_getname() from OS.i to OS_TLI.h Tue Jun 6 20:02:18 2000 Carlos O'Ryan * ace/OS.h: * ace/OS.i: * ace/OS_TLI.cpp: * ace/OS_TLI.h: * ace/OS_TLI.inl: * ace/config-all.h: * ace/Makefile: * ace/Makefile.am: * ace/Makefile.bor: * ace/ace-dll.icc: * ace/ace-lib.icc: * ace/ace.icc: * ace/ace_dll.dsp: * ace/ace_lib.dsp: Moved the TLI wrappers to ACE_OS_TLI. Tue Jun 6 17:57:14 2000 Vishal Kachroo * examples/QOS/server.cpp: * examples/QOS/client.cpp: Changed these to reflect changes to the ACE QoS API. Tue Jun 06 15:44:03 2000 David L. Levine * ace/config-lynxos.h: added support for LynxOS 3.1.0. It uses ACE_HAS_PTHREADS_STD instead of ACE_HAS_PTHREADS_DRAFT4 + ACE_HAS_STDARG_THR_DEST. Thanks to Dorr H. Clark for reporting this. Tue Jun 6 12:39:23 2000 Phil Mesnier Ported ACE & TAO to Unixware 7.1, using GNU C++ compiler gcc 2.95.2. See ACE-INSTALL for specific information on configuring the build environment. * ACE-INSTALL.html * ace/OS.h * ace/config-unixware-7.1.0.h * examples/IPC_SAP/SOCK_SAP/CPP-inclient.cpp * examples/Threads/tss1.cpp * include/makeinclude/platform_unixware_g++.GNU * include/makeinclude/wrapper_macros.GNU Tue Jun 6 10:32:51 2000 Edan Ayal * ace/Message_Queue.h: Added the following two pure virtual methods to class 'ACE_Message_Queue_Base': virtual ACE_Notification_Strategy *notification_strategy (void) = 0; virtual void notification_strategy (ACE_Notification_Strategy *s) = 0; virtual int peek_dequeue_head (ACE_Message_Block *&first_item, ACE_Time_Value *timeout = 0); These methods allow the 'ACE_Message_Queue_Base' to be used as a base class (without specifying the synch method or templatizing on it) and access/alter the notification strategy. Tue Jun 6 09:42:39 2000 Chris Kohlhoff * include/makeinclude/ace_flags.bor: Added support for new orbsvcs libraries. Mon Jun 05 20:59:42 2000 David L. Levine * include/makeinclude/wrapper_macros.GNU: protected definitions of shared_libs and static_libs with ifeq null. Users can still override the settings in their platform_macros.GNU, because that's included after these definitions, or in their environment. But this makes the code look more consistent. Thanks to Jody Hagins for this suggestion. Mon Jun 5 14:54:46 2000 Ossama Othman * ace/Select_Reactor_T.cpp (ACE_Select_Reactor_T): There is no need to deallocate resources from the previous call to open() since the open() method deallocates any resources prior to exiting if an error was encountered. Mon Jun 5 14:18:18 2000 Ossama Othman * ace/Select_Reactor_T.cpp (ACE_Select_Reactor_T): If the Reactor fails to open with the hard-coded default size then set the Reactor size to be the current run-time limit on the number of file descriptors available to the process. This size is not necessarily the maximum limit. On platforms that do not support run-time evaluation of the current file descriptor limit, a default value of FD_SETSIZE will be used. This corrects a problem on Solaris in 32 bit mode, and on any other platform where the per-process file descriptor limit is less than FD_SETSIZE. Reported by Marvin Allen Wolfthal . * ace/config-linux-common.h (ACE_DEFAULT_SELECT_REACTOR_SIZE): It is no longer necessary to hard-code the default reactor size for older Linux kernels that had a file descriptor limit less than FD_SETSIZE since the Select Reactor now falls back on the run-time file descriptor limit for the given process. Mon Jun 5 10:22:22 2000 Darrell Brunsch * ace/OS_Memory.h: Just like in OS_String.h, added an include for stddef.h to get the definition of size_t. Mon Jun 5 09:55:20 2000 Darrell Brunsch * ace/OS_String.h: * ace/OS_String.inl: * ace/OS_String.cpp: Removed some unnecessary *_emulation methods, and fixed some other miscellaneous mistakes (like using ACE_OS instead of ACE_OS_String). During my last checkin, it seems like the strncasecmp_emulation versions were lost, so I resurrected them. Also changed the use of u_char in memchr_emulation to unsigned char, since we shouldn't depend on definitions of u_char (since on some platforms we don't have a definition of u_char at that time). Thanks to David Levine for reporting this. Sun Jun 4 14:58:37 2000 Darrell Brunsch * apps/Orbix-Examples/Event_Comm/include/Event_Comm.hh: * apps/Orbix-Examples/Event_Comm/libsrc/Event_Comm.hh: * apps/Orbix-Examples/Logger/logger.hh: * docs/ACE-categories.html: * docs/tutorials/guide-tutorials.html: * docs/tutorials/online-tutorials.html: * docs/tutorials/templates.html: * docs/tutorials/Chap_2/ex01.html: * docs/tutorials/Chap_2/ex02.html: * docs/tutorials/Chap_2/ex03.html: * docs/tutorials/Chap_2/ex04.html: * docs/tutorials/Chap_2/ex05.htm: * docs/tutorials/Chap_2/ex05.html: * docs/tutorials/Chap_2/ex06.html: * docs/tutorials/Chap_3/ex01.html: * docs/tutorials/Chap_3/ex02.html: * docs/tutorials/Chap_4/ex01.html: * docs/tutorials/Chap_4/ex02.html: * docs/tutorials/Chap_4/ex03.html: * docs/tutorials/Chap_4/ex04.html: * docs/tutorials/Chap_4/ex05.html: * docs/tutorials/Chap_4/ex06.html: * docs/tutorials/Chap_4/ex07.html: * docs/tutorials/Chap_4/ex08.html: * docs/tutorials/Chap_5/ex01.html: * docs/tutorials/Chap_5/ex02.html: * docs/tutorials/Chap_5/ex03.html: * docs/tutorials/Chap_5/ex04.html: * docs/tutorials/Chap_5/ex05.html: * docs/tutorials/Chap_6/ex01.html: * docs/tutorials/Chap_6/ex02.html: * docs/tutorials/Chap_6/ex03.html: * docs/tutorials/Chap_6/ex04.html: * docs/tutorials/Chap_6/ex05.html: * docs/tutorials/Chap_6/ex06.html: * docs/tutorials/Chap_6/ex07.html: * docs/tutorials/Chap_6/ex08.html: * docs/tutorials/Chap_6/ex09.html: * docs/tutorials/Chap_6/ex10.html: * docs/tutorials/Chap_7/ex01.html: * docs/tutorials/Chap_7/ex02.html: * docs/tutorials/Chap_7/ex03.html: * examples/Service_Configurator/IPC-tests/server/Handle_Thr_Stream.i: * os-patches/lynxos-patches.html: * performance-tests/Synch-Benchmarks/context.c: * psosim/drv_conf.c: * rpc++/callback.cc: * rpc++/request.cc: * rpc++/service.cc: * rpc++/stub.cc: * rpc++/version.h: * rpc++/xdr++.cc: * rpc++/StdHdrs/rpc/auth.h: * rpc++/StdHdrs/rpc/c_types.h: * rpc++/StdHdrs/rpc/clnt.h: * rpc++/StdHdrs/rpc/pmap_clnt.h: * rpc++/StdHdrs/rpc/svc.h: * rpc++/StdHdrs/rpc/xdr.h: * rpc++/example/calcsvc.cc: * rpc++/example/calcsvc.h: * rpc++/example/client.cc: * rpc++/example/server.cc: * rpc++/rpc++/callback.h: * rpc++/rpc++/request.h: * rpc++/rpc++/service.h: * rpc++/rpc++/stub.h: * rpc++/rpc++/xdr++.h: Added missing CVS Id strings. Sun Jun 4 14:55:46 2000 Darrell Brunsch * bin/fuzz.pl: Added html files to the list of files checked for ending with a newline. Sun Jun 4 14:38:43 2000 Darrell Brunsch * ace/OS_String.inl: Some platforms (like QNX Neutrino) need strings.h to get the declaration of strcasecmp. * ace/config-qnx-neutrino.h: Added a definition of ACE_HAS_STRINGS so strings.h will be included in OS_String.inl. Sun Jun 04 09:40:43 2000 David L. Levine * ace/config-cxx-common.h: with __USE_STD_IOSTREAM, added #define ACE_HAS_STANDARD_CPP_LIBRARY 1. Thanks to Warren Miller for reporting this [Bug 582]. Sat Jun 3 21:18:43 2000 Darrell Brunsch * ace/OS.h: * ace/OS.i: * ace/OS_Memory.cpp: (added) * ace/OS_Memory.h: (added) * ace/OS_Memory.inl: (added) Another bit of OS split off. Memory contains all the malloc, calloc, etc. stuff. * ace/Makefile: * ace/Makefile.am: * ace/Makefile.bor: * ace/ace-dll.icc: * ace/ace-lib.icc: * ace/ace.icc: * ace/ace_dll.dsp: * ace/ace_dll_ce.dsp: * ace/ace_lib.dsp: Needed to add OS_Memory to the makefiles/projects. * ace/OS_Dirent.cpp: * ace/OS_Dirent.h: * ace/OS_Dirent.inl: * ace/OS_String.cpp: * ace/OS_String.h: * ace/OS_String.inl: Over the years, the functions in OS.i have gotten way too large and complicated to make sense being inlined. But the problem is too many were complicated only on some platforms, while being really simple (and inline-able) on others. So the question is, how to separate two versions of a function into the .cpp and .inl files. The latest solution is to do this. For the simple stuff, keep it in the .inl file, but for complicated versions, add another method to the class (like foo_emulation for foo) and call that from the .inl file. This gives us the best of both worlds, and should be the easiest to understand of the possible ways of doing this. Sat Jun 3 18:51:46 2000 Darrell Brunsch * bin/msvc_auto_compile.pl: Changed the way libraries were detected to remove false positives when the dsps are in a directory with DLL in its name. Now it will search for " DLL " or " LIB " instead of "DLL" or "LIB". * bin/fuzz.pl: Was giving false positives for TEXT, changed it to search for "TEXT (" to remove it (so it will not detect "MUTEXTYPE" like words. Also disabled the 80 character check for ACE_RCSID lines, since they are difficult to reduce in size, since they contain the CVS ID string. Sat Jun 3 17:00:11 2000 Darrell Brunsch * bin/fuzz.pl: Added two new tests: - a check to see if a file ends with a newline - a check to detect use of TCHAR, LPTSTR, LPCTSR, TEXT ASYS_TEXT, and ASYS_TCHAR Changed to look at more files, including those ending with .cc, .c, .pl, .htm, .html, .hxx, .cxx, .hpp, .idl and .pidl. Changed to keep track of the number of errors and warnings and prints out the totals at the end of the run. Also will exit with an exit code of 1 if there are any errors. Added a new flag, -c, which will tell fuzz.pl to get the list of files from ARGV instead of from searching or cvs. Finally, also added support for the usage of "FUZZ: disable check_for_xxxx" and "FUZZ: enable check_for_xxxx" in files so the detection can be turned off for files where the "offending" usage is needed. This can be used with: - check_for_inline - check_for_math_include - check_for_tchar Fri Jun 02 22:33:32 2000 Irfan Pyarali * ace/Priority_Reactor.cpp (init_bucket): Removed extra inline directive. Thanks to Darrell for pointing this out. Fri Jun 2 11:06:33 2000 Darrell Brunsch * bin/fuzz.pl: Bumped up the levels for the 80 char lines and preprocessor comment tests. The latter should now not run by default. Thu Jun 2 12:30:00 2000 Kirthika Parameswaran * ace/Caching_Utility.cpp: Changed the cache entries limit to 0 so that when the Purge_Percent is 100, all the entries are purged from the cache. Thanks to Edan Ayal for reporting this bug and sending in the fix too! Thu Jun 1 15:16:26 2000 Ossama Othman * ace/config-linux-common.h: The change that allowed more than 256 file descriptors to be opened for non-root processes on Linux only works for more recent Linux kernels, such as the 2.2.x series. As such, the default Select Reactor size is now set to 256 for Linux kernels older than 2.2.0. Thanks to David for pointing out this limitation. * m4/platform.m4 (ACE_DEFAULT_SELECT_REACTOR_SIZE): Added test that sets the default Select Reactor size to 256 if the Linux kernel version is less than 2.2.0. This change is related to the 256 file descriptor limit described above. Thu Jun 01 12:35:00 2000 Nanbor Wang * ace/ace_dll.dsp: Fixed typos in ACEMFC configuration. Thanks to Steve for pointing this out. Thu Jun 1 10:08:31 2000 Darrell Brunsch * bin/fuzz.pl: Was printing out "line test" when doing the preprocessor comment test. Thu Jun 1 08:43:14 2000 Darrell Brunsch Fuzz is a script whose purpose is to check through ACE/TAO files for easy to spot (by a perl script, at least) problems. Usage is: fuzz.pl [-dhm] [-l level] -d turn on debugging -h display this help -l level set detection level (default = 5) -m only check locally modified files (uses cvs) It currently has checks for these: - ACE/ASYS_INLINE in .cpp files (level 2+) - $ID string in .h/.i/.cpp files (level 2+) - Bare inline in a .i file (level 2+) - Inclusion of math.h in a .h/.i/.cpp file (level 3+) - Check for lines of > 80 chars in .h/.i/.cpp (level 6+) - Check for use of // in a preprocessor directive (level 3+) Wed May 31 16:30:44 2000 Ossama Othman * configure.in (AC_REVISION): The RCS ID had to be quoted, otherwise the generated configure script would end up having a mangled version of the RCS ID. Wed May 31 16:18:35 2000 Ossama Othman * configure.in: Fixed the informational message that is displayed when the configuration integrity check fails so that the shell will no longer interpret the RCS ID as a variable. This was done by removing the dollar '$' signs from the RCS ID by using the M4 translit() built-in. (LIBS): Removed "-lrt" from the hardcoded list of libraries for OSF/1 {3,4,5}. The ACE_CHECK_ASYNCH_IO test should be able to detect this library. (AC_REVISION): Changed revision string to be the RCS ID. (AC_OUTPUT): Removed the commented out TAO output files from the list files the configure script should create. The latest CVS Autoconf flagged them as problems when generating the configure script. Wed May 31 18:08:12 2000 Vishal Kachroo * examples/QoS/QosEvent.h: * examples/QoS/server.cpp: * examples/QoS/client.cpp: * examples/QoS/Receiver_QOS_Event_Handler.{cpp,h}: * examples/QoS/Sender_QOS_Event_Handler.{cpp,h}: Fixed the calls to subsribe() and qos () methods that broke because of changes to ACE QoS API. Wed May 31 12:29:12 2000 Darrell Brunsch * apps/JAWS2/JAWS/jaws.dsp: Added a couple of files that were in the Makefile but not in this file. Wed May 31 14:49:36 2000 Steve Huston * ace/Log_Msg.cpp (log): Revert change from Thu May 25 17:39:22 2000. Add #if !defined (ACE_LACKS_UNIX_SIGNALS) to ACE_Log_Msg_Sig_Guard ctor which matches a similar check in the dtor. This makes it work on pSOS same as on other platforms without UNIX-like signals. * ace/Signal.i (ACE_Sig_Guard::ACE_Sig_Guard): Added compile-time check for !defined (ACE_LACKS_UNIX_SIGNALS) to not try to manipulate the signal mask for platforms that don't do it. Matches an existing check in the dtor. Wed May 31 11:51:46 2000 Darrell Brunsch * apps/gperf/src/gperf.dsp: * apps/gperf/src/gperf_lib.dsp: Fixed the output directories to be relative to ".\". Thanks to Francois Bernier for pointing this out. Wed May 31 10:31:18 2000 Darrell Brunsch * examples/ConfigViewer/ConfigurationViewer.dsp: Changed the configuration type to "Win32 wxWindows Debug" instead of "Win32 Debug" (and the same for Release). This will prevent this project from being picked up by the msvc_auto_compile.pl, since we do not have wxWindows installed with the auto builds. Wed May 31 10:13:10 2000 Darrell Brunsch * examples/Export/export_dll.dsp: * examples/Export/test.dsp: Fixed the relative paths for ace includes and libraries. Wed May 31 11:25:34 2000 Irfan Pyarali * examples/Reactor/WFMO_Reactor/test_handle_close.cpp: Fixed signed/unsigned comparison warning. Tue May 30 14:23:22 2000 Ossama Othman * apps/Gateway/Gateway/gatewayd.cpp: * examples/ASX/UPIPE_Event_Server/Options.cpp: * examples/Naming/test_multiple_contexts.cpp: Added missing "ace/Log_Msg.h" include. Tue May 30 10:41:34 2000 Darrell Brunsch * ace/Makefile.bor: * include/makeinclude/ace_flags.bor: ACE_OS_BUILD_DLL and ACE_OS_HAS_DLL were not being set correctly in Borland. Mon May 29 16:49:25 2000 Douglas C. Schmidt * ace/OS.i: Changed all 'ACE_Errno_Guard (errno, 0)' to 'ACE_Errno_Guard (errno)' in the following methods. ACE_OS::sema_wait (ACE_sema_t *s, ACE_Time_Value &tv), ACE_OS::rw_unlock (ACE_rwlock_t *rw), ACE_OS::rw_trywrlock (ACE_rwlock_t *rw), ACE_OS::rw_unlock (ACE_rwlock_t *rw) Thus, if a critical section of code is guarded using an ACE_Read_Guard, and errno is set inside, the value is not overridden with 0 when the section is exited in ACE_OS::rw_unlock. Thanks to Edan Ayal for reporting this. * ace/Connector.h: Added a new typedef defined as follows: typedef ACE_TYPENAME _ACE_PEER_CONNECTOR::PEER_ADDR ACE_TYPENAME_ACE_PEER_CONNECTOR_PEER_ADDR; This fixes some problems on some platforms due to problems with the typename in a cast expression. Thanks to Ingo Dahm for reporting this. * ace/IO_Cntl_Msg.h: Changed the ACE_IO_Cntl_Cmds enum to be a typedef u_short so that users could create their own values. Thanks to vsg@ivl.kiev.ua for this suggestion. * ace/ACE.h, * ace/ACE.h: Make the documentation consistent for both sockets and "normal" I/O methods! Mon May 29 11:36:28 2000 Michael Kircher * ace/OS_Dirent.cpp: Fixed the memory allocation in open_dir, which allocated one char too little. Sun May 28 17:26:28 2000 Ossama Othman * ace/Timer_Heap_T.cpp: * ace/Timer_Queue_T.cpp: * apps/JAWS/server/HTTP_Helpers.cpp: * apps/JAWS/server/HTTP_Response.cpp: * apps/drwho/BS_Client.cpp: * examples/ASX/Event_Server/Event_Server/Options.cpp: * examples/Logger/simple-server/Logging_Handler.cpp: * examples/Logger/simple-server/server_loggerd.cpp: * examples/Mem_Map/IO-tests/test_io.cpp: * examples/Naming/test_non_existent.cpp: * examples/Naming/test_writers.cpp: * examples/Reactor/Dgram/CODgram.cpp: * examples/Reactor/Dgram/Dgram.cpp: * examples/Reactor/FIFO/server.cpp: * examples/Reactor/Misc/pingpong.cpp: * examples/Reactor/Misc/test_signals_1.cpp: * examples/Reactor/Misc/test_timer_queue.cpp: * examples/Reactor/Multicast/server.cpp: * examples/Service_Configurator/IPC-tests/server/Handle_Broadcast.h: * examples/Service_Configurator/IPC-tests/server/Handle_L_FIFO.h: * examples/Service_Configurator/IPC-tests/server/Handle_R_Dgram.h: * examples/Service_Configurator/IPC-tests/server/Handle_Timeout.h: * examples/Service_Configurator/IPC-tests/server/server_test.cpp: * examples/Service_Configurator/Misc/Timer_Service.cpp: * examples/Service_Configurator/Misc/main.cpp: * examples/System_V_IPC/SV_Message_Queues/TMQ_Server.cpp: * examples/Threads/process_mutex.cpp: * examples/Threads/process_semaphore.cpp: * examples/Threads/tss2.cpp: * netsvcs/clients/Naming/Client/main.cpp: * netsvcs/clients/Naming/Dump_Restore/main.cpp: * performance-tests/Misc/test_naming.cpp: * performance-tests/UDP/udp_test.cpp: Added missing "ace/Log_Msg.h" include. This fixes a series of compile-time errors with Compaq C++. Sat May 27 20:55:24 2000 Ossama Othman : * tests/test_config.h: Added missing include for "ace/Log_Msg.h." This fixes a compile-time error from Sun C++ 5.0. Sat May 27 20:41:14 2000 Ossama Othman * ace/Hash_Map_Manager_T.h: Added missing include for "ace/Log_Msg.h." This fixes a compile-time error on Tru64. Sat May 27 17:09:03 2000 David L. Levine * docs/ACE-guidelines.html: added const to example accessor declaration. Sat May 27 14:17:35 2000 Ossama Othman * apps/JAWS2/HTTPU/parse_url.cpp: * examples/Web_Crawler/URL_Addr.cpp: * examples/Reactor/Multicast/client.cpp: * examples/OS/Process/process.cpp: * examples/IPC_SAP/ATM_SAP/CPP-client.cpp: * examples/IPC_SAP/ATM_SAP/CPP-server.cpp: * examples/DLL/Newsweek.cpp: * examples/DLL/Today.cpp: * examples/DLL/test_dll.cpp: * websvcs/tests/Test_URL_Addr.cpp: Added missing `ace/Log_Msg.h' include. * examples/Web_Crawler/URL_Addr.cpp (ACE_URL_Addr): Fixed warning about missing base class initialization in copy constructor base member initializer list. (~ACE_URL_Addr, addr_to_string): Changed use of "LPTSTR" to "ACE_TCHAR *". This fixes an error on UNIX builds. Sat May 27 14:59:08 2000 Douglas C. Schmidt * tests/Signal_Test.cpp (worker_parent): Yet another fix of this... Now we add an ACE_static_cast to long, as well as doing the %ld! Thanks to Yamuna for fixing this! * ace/SOCK_Stream.h: Improved the documentation of recv_n() et al. Thanks to Sami Aario for this suggestion. Sat May 27 01:07:01 2000 Darrell Brunsch * ace/config-win32-common.h: Added a semicolon to the definitions of ACE_EXPORT_SINGLETON_DECLARE ACE_IMPORT_SINGLETON_DECLARE Since the default definition for this is nothing, the semicolon is better off in the definitions themselves. Otherwise, one needs to add a semicolon after the use of these macros, which can cause warnings when the macro expands to nothing. Fri May 26 20:00:22 2000 Darrell Brunsch * ace/OS_String.inl (strcasecmp, strncasecmp): I have no idea how this worked before, but in these two functions we were using _stricmp/_strnicmp for Win32. Borland doesn't define these by default, instead they use stricmp/strnicmp. So instead of trying to figure out how this all worked before, I just added an #elif for __BORLAND__ and called the stricmp/strnicmp. Fri May 26 19:26:34 2000 Ossama Othman * netsvcs/clients/Logger/direct_logging.cpp: Added missing include of `ace/Log_Msg.h'. Fri May 26 18:14:47 2000 Darrell Brunsch * ace/OS_String.inl: Moved the ACE_OS_String::to_lower () methods up in the file, since they are used in other inlined functions. Fri May 26 16:13:08 2000 Darrell Brunsch * ace/OS.cpp: * ace/OS.h: * ace/OS_String.cpp: * ace/OS_String.h: Moved the strptime back to OS.h, because it is more a time thing than a string thing. Fri May 26 15:58:52 2000 Ossama Othman * ace/Select_Reactor_Base.cpp (open): Re-enabled the change that added ability to set the handle limit to a value greater than FD_SETSIZE on platforms that support this functionality. This was made possible by Steve Huston's change to the ACE::max_handles() method described several ChangeLog entries below. Fri May 26 14:27:02 2000 Darrell Brunsch * ace/OS_String.inl: Changed the strncasecmp methods to not use ssize_t inside of them. This required a reworking of the loop, since it depended on negative values. This was needed since ssize_t is more difficult to get defined than size_t, so it seemed less obtrusive to do it this way. Fri May 26 12:30:56 2000 Ossama Othman * ace/TLI_Connector.h: * ace/TLI_Connector.cpp: Moved include of ace/Log_Msg.h to the header file. TLI_Connector.i utilizes some of the ACE_Log_Msg macros. Fri May 26 14:25:31 2000 Jeff Parsons * ace/ace_dll.dsp: Added OS_String.h to project for convenience. Fri May 26 12:23:55 2000 Ossama Othman * ace/TLI_Acceptor.cpp: * ace/TLI_Connector.cpp: *sigh* These files also needed to include "ace/Log_Msg.h." Fri May 26 12:13:26 2000 Ossama Othman * ace/Singleton.cpp: * ace/TLI.cpp: These files needed to explicitly include "ace/Log_Msg.h," too. Fri May 26 12:04:39 2000 Ossama Othman * ace/ARGV.cpp: * ace/Capabilities.cpp: * ace/Dump.cpp: * ace/Filecache.cpp: * ace/Local_Tokens.h: * ace/Log_Msg.cpp: * ace/Malloc.h: * ace/Map_Manager.h: * ace/Memory_Pool.cpp: * ace/Name_Proxy.cpp: * ace/Process.cpp: * ace/Process_Manager.cpp: * ace/QoS_Manager.cpp: * ace/QoS_Session_Factory.cpp: * ace/QoS_Session_Impl.cpp: * ace/Remote_Name_Space.cpp: * ace/SOCK_Acceptor.cpp: * ace/SOCK_Dgram.cpp: * ace/Select_Reactor_Base.cpp: * ace/Service_Repository.cpp: * ace/Signal.cpp: * ace/Stats.h: * ace/Synch.cpp: * ace/TP_Reactor.h: * ace/Thread_Manager.h: * ace/Token.cpp: These files needed to explicitly include "ace/Log_Msg.h," too. Fri May 26 11:29:44 2000 Ossama Othman * ace/ACE.cpp: * ace/Malloc.h: Include "ace/Log_Msg.h" to pull in the appropriate definition of the ACE llessogging macros. This fixes a problem on Solaris. Thu May 25 19:39:59 2000 Ossama Othman * configure.in: Re-enabled test for ACE_HAS_SIGNAL_SAFE_OS_CALLS. The fixes to the ACE_OSCALL* macros below make it possible to enable this feature. * ace/config-all.h (ACE_OSCALL, ACE_OSCALL_RETURN): Removed call to "ACE_LOG_MSG->restart()" from these macros in the "ACE_HAS_SIGNAL_SAFE_OS_CALLS" case. * ace/OS.h: Remove inclusion of "ace/Log_Msg.h" when the ACE_ONLY_LATEST_AND_GREATEST preprocessor macro is defined. This reduces the number of extraneous header interdependencies in much of the ACE source files. Added a forward declaration for ACE_Log_Msg to compensate for the declaration that was initially pulled in by "ace/Log_Msg.h" It was only needed for "friend" declaration inside the ACE_OS_Object_Manager class. * ace/Addr.cpp: * ace/Addr.h: * ace/Auto_Ptr.h: * ace/DEV_Addr.cpp: * ace/DEV_Connector.h: * ace/DEV_Connector.i: * ace/DEV_IO.cpp: * ace/DLL.cpp: * ace/FIFO.cpp: * ace/FIFO_Recv.cpp: * ace/FIFO_Recv_Msg.cpp: * ace/FIFO_Send.cpp: * ace/FIFO_Send_Msg.cpp: * ace/FILE_Addr.cpp: * ace/FILE_Connector.h: * ace/FILE_IO.cpp: * ace/Get_Opt.cpp: * ace/Handle_Set.cpp: * ace/INET_Addr.cpp: * ace/IO_SAP.cpp: * ace/IPC_SAP.cpp: * ace/LSOCK.cpp: * ace/LSOCK_Acceptor.cpp: * ace/LSOCK_CODgram.cpp: * ace/LSOCK_Connector.cpp: * ace/LSOCK_Dgram.cpp: * ace/LSOCK_Stream.cpp: * ace/Log_Record.cpp: * ace/MEM_Addr.cpp: * ace/Makefile: * ace/Mem_Map.cpp: * ace/Name_Request_Reply.cpp: * ace/OS.cpp: * ace/Pipe.cpp: * ace/SOCK.cpp: * ace/SOCK_CODgram.cpp: * ace/SOCK_Connector.cpp: * ace/SOCK_Dgram_Bcast.cpp: * ace/SOCK_Dgram_Mcast_QoS.cpp: * ace/SPIPE_Acceptor.cpp: * ace/SPIPE_Connector.cpp: * ace/SV_Message_Queue.cpp: * ace/SV_Semaphore_Complex.cpp: * ace/SV_Semaphore_Simple.cpp: * ace/SV_Shared_Memory.cpp: * ace/Time_Request_Reply.cpp: * ace/Trace.cpp: * ace/Typed_SV_Message_Queue.cpp: * ace/UNIX_Addr.h: * apps/Gateway/Peer/Options.cpp: * apps/JAWS/server/Parse_Headers.cpp: * apps/drwho/Binary_Search.cpp: * apps/drwho/CM_Client.cpp: * apps/drwho/CM_Server.cpp: * apps/drwho/Hash_Table.cpp: * apps/drwho/Multicast_Manager.cpp: * apps/drwho/Options.cpp: * apps/drwho/PMC_All.cpp: * apps/drwho/PMC_Flo.cpp: * apps/drwho/PMC_Ruser.cpp: * apps/drwho/PMC_Usr.cpp: * apps/drwho/PMS_All.cpp: * apps/drwho/PMS_Flo.cpp: * apps/drwho/PMS_Ruser.cpp: * apps/drwho/PMS_Usr.cpp: * apps/drwho/PM_Client.cpp: * apps/drwho/Protocol_Manager.cpp: * apps/drwho/Protocol_Record.cpp: * apps/drwho/SMR_Client.cpp: * apps/drwho/SMR_Server.cpp: * apps/drwho/SM_Client.cpp: * apps/drwho/SM_Server.cpp: * apps/drwho/Search_Struct.cpp: * apps/drwho/Single_Lookup.cpp: * apps/drwho/client.cpp: * apps/drwho/server.cpp: * examples/IOStream/client/iostream_client.cpp: * examples/IPC_SAP/FIFO_SAP/FIFO-client.cpp: * examples/IPC_SAP/FIFO_SAP/FIFO-server.cpp: * examples/IPC_SAP/FIFO_SAP/FIFO-test.cpp: * examples/IPC_SAP/SOCK_SAP/CPP-inserver-poll.cpp: * examples/IPC_SAP/SPIPE_SAP/NPClient.cpp: * examples/IPC_SAP/SPIPE_SAP/NPServer.cpp: * examples/IPC_SAP/SPIPE_SAP/producer_read.cpp: * examples/IPC_SAP/TLI_SAP/CPP-ATM-client.cpp: * examples/IPC_SAP/TLI_SAP/CPP-ATM-server.cpp: * examples/IPC_SAP/TLI_SAP/CPP-client.cpp: * examples/IPC_SAP/TLI_SAP/CPP-server.cpp: * examples/IPC_SAP/TLI_SAP/db-client.cpp: * examples/IPC_SAP/TLI_SAP/ftp-client.cpp: * examples/Log_Msg/test_callback.cpp: * examples/Log_Msg/test_log_msg.cpp: * examples/Log_Msg/test_ostream.cpp: * examples/Logger/client/logging_app.cpp: * examples/Mem_Map/IO-tests/IO_Test.cpp: * examples/Mem_Map/file-reverse/file-reverse.cpp: * examples/Misc/test_get_opt.cpp: * examples/Misc/test_profile_timer.cpp: * examples/Misc/test_sstring.cpp: * examples/Reactor/FIFO/client.cpp: * examples/Reactor/Misc/test_early_timeouts.cpp: * examples/Reactor/Misc/test_time_value.cpp: * examples/Service_Configurator/IPC-tests/client/broadcast_client_test.cpp: * examples/Service_Configurator/IPC-tests/client/local_fifo_client_test.cpp: * examples/Service_Configurator/IPC-tests/client/local_spipe_client_test.cpp: * examples/Service_Configurator/IPC-tests/client/remote_dgram_client_test.cpp: * examples/Service_Configurator/IPC-tests/client/remote_service_directory_test.cpp: * examples/Service_Configurator/IPC-tests/client/remote_stream_client_test.cpp: * examples/Service_Configurator/IPC-tests/client/remote_thr_stream_client_test.cpp: * examples/Shared_Malloc/Options.cpp: * examples/Shared_Memory/test_MM.cpp: * examples/Shared_Memory/test_SV.cpp: * examples/System_V_IPC/SV_Message_Queues/TMQ_Client.cpp: * netsvcs/clients/Logger/indirect_logging.cpp: * netsvcs/lib/Logging_Strategy.cpp: * performance-tests/Misc/basic_perf.cpp: Include "ace/Log_Msg.h" to pull in the appropriate definition of the ACE logging macros. Fri May 26 09:16:21 2000 Darrell Brunsch * ace/OS_Dirent.cpp: I shall not put ACE_INLINE's in a .cpp file. I shall not put ACE_INLINE's in a .cpp file. I shall not put ACE_INLINE's in a .cpp file. I shall not put ACE_INLINE's in a .cpp file. I shall not put ACE_INLINE's in a .cpp file. I shall not put ACE_INLINE's in a .cpp file. I shall not put ACE_INLINE's in a .cpp file. I shall not put ACE_INLINE's in a .cpp file. I shall not put ACE_INLINE's in a .cpp file. I shall not put ACE_INLINE's in a .cpp file. :-) Thu May 25 20:23:45 2000 Darrell Brunsch * bin/Process_Win32.pm: The timed_wait wasn't returning the correct value if the server actually timed out. Thu May 25 18:21:41 2000 Steve Huston * ace/ACE.cpp (max_handles): If an ACE_LACKS_RLIMIT platform, let it try sysconf or FD_SETSIZE instead of always getting ENOTSUP. Thu May 25 17:39:22 2000 Steve Huston * ace/Event_Handler.cpp (register_stdin_handler): On pSOS, do stdin using another thread (like Win32) because ACE_STDIN is not a handle that select() can demux on. It only does sockets. * ace/Log_Msg.cpp (log): Don't do a ACE_Log_Msg_Sig_Guard on pSOS. It doesn't have signals to block out anyway. Thu May 25 16:57:16 2000 Steve Huston * ace/Select_Reactor_T.cpp (handle_error, check_handles): For pSOS, select() sets errno to EBADS for invalid socket handle. And, we need to use select() (not fstat) to weed out the bad ones. Thu May 25 15:19:14 2000 Darrell Brunsch * ace/OS_String.cpp: Added an include for stddef.h, since we use size_t here. Also moved the OS_Export.h include after the #pragma once stuff. Thu May 25 12:26:36 2000 Joe Hoffert * examples/IPC_SAP/ATM_SAP/Makefile: Removed libraries that FORE used to need. Thu May 25 09:07:16 2000 Carlos O'Ryan * ace/OS_String.cpp: Removed a few ACE_INLINEs. Wed May 24 20:27:26 2000 Ossama Othman * ace/OS_String.h: Changed "u_long" to "unsigned long." The u_long typedef wasn't being pulled in, so just use the basic type. This avoids having to pull in a header, and fixes a compile time problem. Wed May 24 20:18:59 2000 Ossama Othman * ace/Select_Reactor_Base.cpp (open): Temporarily backed out change that added ability to set handle limit to value greater than FD_SETSIZE. It breaks platforms that don't support getrlimit(). Wed May 24 18:56:16 2000 Darrell Brunsch : * ace/OS_Export.h: (added) In preparation for an eventual splitting up of the ACE DLLs, I'm starting to split up the Export macros also. OS_Export will be used for the lowest level OS library. * ace/Makefile: * ace/Makefile.am: * ace/Makefile.bor: * ace/ace-dll.icc: * ace/ace-lib.icc: * ace/ace_dll.dsp: * ace/ace_lib.dsp: * ace/OS.cpp: * ace/OS.h: * ace/OS.i: * ace/OS_String.cpp: (added) * ace/OS_String.h: (added) * ace/OS_String.inl: (added) Moved the string methods of ACE_OS to ACE_OS_String. * ace/OS_Dirent.cpp: * ace/OS_Dirent.h: * ace/OS_Dirent.inl: Separated the Win32 versions of some of the methods into the cpp file. The Win32 versions were a bit too complicated to make sense having inlined. Also changed to use ACE_OS_Export. Wed May 24 10:22:18 2000 Ossama Othman * THANKS: Added Håkon Innerdal to the list of contributors. * ace/config-linux-common.h (ACE_DEFAULT_SELECT_REACTOR_SIZE): Commented out the definition of this macro. Its setting unnecessarily limited the default size of the Select_Reactor to 256 file descriptors. `ace/OS.h' correctly sets the default size to FD_SETSIZE. Thanks to Håkon Innerdal for pointing this out. * ace/Select_Reactor_Base.cpp (open): Do not check if the desired size of the repository, i.e. the maximum number of file descriptors, is greater than FD_SETSIZE. The same check is effectively done in the call to ACE::set_handle_limits(). The redundant check also prevented the Reactor from supporting file descriptors numbering more than FD_SETSIZE on platforms that support them (e.g. via setrlimit(RLIMIT_NOFILE, ...)). Thanks to Håkon Innerdal for reporting the problem, and for providing a fix. * m4/platform.m4 (ACE_DEFAULT_SELECT_REACTOR_SIZE): No longer set the default size to 256 file descriptors. `ace/OS.h' correctly set it to FD_SETSIZE. Wed May 24 10:08:37 2000 Joe Hoffert * THANKS: Added Pedro Brandao name for his additions to support ATM for Linux. Wed May 24 10:01:26 2000 Joe Hoffert * ace/ATM_Acceptor.{h,i,cpp} * ace/ATM_Addr.{h,i,cpp} * ace/ATM_Connector.{h,i,cpp} * ace/ATM_Params.h * ace/ATM_QoS.{h,i,cpp} * ace/ATM_Stream.cpp: Added support for ATM on Linux. Thanks to Pedro Brandao for providing this. * ace/TLI.{h,i,cpp} * ace/TLI_Connector.{h,i,cpp} * ace/TLI_Stream.{h,i,cpp}: Changed hard-coded "inline" to "ACE_INLINE" Wed May 24 08:10:21 2000 Steve Huston * ace/WFMO_Reactor.h: Wrapped the !WinSock2 defs in defined(ACE_WIN32) to prevent compile errors on non-win32 platforms. It may be better to wrap the whole file in #if defined (ACE_WIN32), but this will solve the immediate problem. Tue May 23 20:13:52 2000 Irfan Pyarali * ace/WFMO_Reactor.h: Moved the definition of WSANETWORKEVENTS to before its use. Thanks to Craig Perras for reporting this. Tue May 23 17:59:06 2000 Luther J Baker * ACE_wrappers/pace/pace: Source files added. Changes to pace subdirectory will be noted in ACE_wrappers/pace/ChangeLog. Tue May 23 17:55:17 2000 Steve Huston * ace/Log_Msg.cpp (log): For %t on MVS, use the old ACE 5.0 cast. The pthread_t is a struct on MVS. Tue May 23 17:21:37 2000 Steve Huston * include/makeinclude/platform_psos_diab_ppc.GNU: Add -ei1676 to CCFLAGS to turn off the gazillion messages about not overriding pure virtual functions in derived classes. Thanks to Matt Emerson for this. Tue May 23 16:37:27 2000 Luther J Baker * ACE_wrappers/pace directories added to ACE_wrappers: ACE_wrappers/pace/docs ACE_wrappers/pace/examples ACE_wrappers/pace/pace ACE_wrappers/pace/pace++ ACE_wrappers/pace/tests Mon May 22 15:26:42 2000 Steve Huston * ace/Synch.(cpp h i): ACE_Process_Mutex, ACE_Process_Semaphore - changed to using ACE_Mutex and ACE_Semaphore for the underlying synch. mechanism (same as Win32 and POSIX semaphores). Process and thread are the same thing (synch-wise) on pSOS, and the underlying mechanisms Do The Right Thing. Wed May 10 16:47:31 2000 Steve Huston (actually committed on Tue May 23) * ace/OS.(h i): pSOS changes: - Use ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL ()) rather than using return func() == 0 ? 0 : -1 to avoid losing errno values. - ACE_OS::thr_getspecific, copy existing code from the TSS-emulated section to the native TSD-using section. - Use u_long as ACE_condattr_t and set its flags in ACE_OS::condattr_init rather than in ACE_OS::cond_init to avoid strange return errors in other parts of ACE that use ACE_OS::condattr_init and expect it to work. Mon May 22 15:25:33 2000 Nanbor Wang * ace/OS.{h,cpp} (ACE_Thread_Exit): * ace/Thread_Manager.cpp (~ACE_Thread_Exit): Moved the reset of ACE_Thread_Exit::is_constructed_ from the Thread_Exit's destructor to ACE_OS_Object_Manager::fini (). Otherwise, the singleton ACE_Thread_Exit may get created multiple times. Thanks to Eric Yee for reporting the problem. Notice that ACE 5.1.1, 5.1.2 and 5.1.3 all have the same problem of creating TSS keys unnecessarily without cleaning them up. This will most likely cause a long running server process creating a lot of threads to crash eventually (at least on NT.) Therefore, you should not use these versions in a production environment. Mon May 22 11:23:19 2000 Pradeep Gore * ACE version 5.1.3 released. Sun May 21 17:11:12 2000 Darrell Brunsch * ace/Configuration.cpp: Fixed some ACE_USES_WCHAR problems. Sun May 21 12:29:11 2000 Carlos O'Ryan * bin/run_all_list.pm: Removed the Connection_Purging test from the single threaded builds, the test cannot work in that configuration. Sun May 21 11:39:11 2000 Douglas C. Schmidt * tests/Signal_Test.cpp (worker_parent): My earlier fix on May 18th, 2000 was incorrect. The right fix is to make the format specifier be %ld, rather than cast the pid_t to (int). Sat May 20 18:34:05 2000 Ossama Othman * configure.in (ACE_HAS_BROKEN_T_ERROR): Fixed the test that checks if t_error() correctly accepts a "const char *" parameter. This should fix a problem that was occuring on Solaris. Sat May 20 19:47:52 2000 Nanbor Wang * ace/Memory_Pool.cpp: Added the seh_selector method for ACE_Pagefile_Memory_Pool so it can be used with ACE_Malloc. Thanks to Charlie Duke for pointing this out. Fri May 19 16:19:11 2000 Carlos O'Ryan * bin/run_all_list.pm: Removed the InterOp-Naming test from the Minimum CORBA builds. Thu May 18 20:40:37 2000 Carlos O'Ryan * tests/Makefile: More tweaking to get CDR_Array_Test *not* to compile on LynxOS but to compile in other platforms. Thu May 18 15:59:10 2000 Carlos O'Ryan * tests/CDR_File_Test.cpp: Fixed so it works on platforms that lack native 64 bit types. Thu May 18 13:56:49 2000 Jeff Parsons * ace/Configuration.cpp: Removed an unused variable from import_config(). Thu May 18 13:28:41 2000 Carlos O'Ryan * tests/Makefile: More tweaking to disable the CDR_Array_Test on LynxOS, the 3.0 version of Lynx has a newer g++ compiler, but it is still broken. Thu May 18 12:48:54 2000 Douglas C. Schmidt * tests/Signal_Test.cpp (worker_parent): Added a cast of pid_t to int to make G++ happy. Thanks to David Levine for reporting this. Thu May 18 10:37:30 2000 Darrell Brunsch * ace/OS_Dirent.h: It looks like LynxOS needed sys/types.h to be included before dirent.h. Thu May 18 10:29:49 2000 Carlos O'Ryan * tests/Makefile: Disable the CDR_Array_Test with older versions of g++ because the test breaks the templates there. * tests/CDR_File_Test.cpp: Use ULongLong instead of LongLong because the former is better supported. Thu May 18 10:11:20 2000 Darrell Brunsch * ace/streams.h: For !ACE_HAS_STANDARD_CPP_LIBRARY, iomanip wasn't being included (except for MSVC). So I moved it outside of the _MSC_VER block so platforms like IRIX will now include it. Thu May 18 09:49:12 2000 Jeff Parsons * ace/Configuration.h: * ace/Configuration.cpp: Chris Hafey's bug fixes and enhancements to ACE_Configuration. Set_string_value and set_integer_value now work when the value already exists, memory leaks have been plugged, and a new function added called find_value, which checks for the existence in a section of a field by name, and returns the data type stored there if it is found. Wed May 17 20:37:49 2000 Carlos O'Ryan * tests/Makefile.am: Add missing CDR_File_Test_SOURCES and CDR_Array_Test_SOURCES definitions. Wed May 17 20:25:21 2000 Darrell Brunsch * ace/OS.h: * ace/config-all.h: Needed to move another define from OS.h to config-all (the ENOSYS to EFAULT define) since Borland doesn't have ENOSYS defined. Wed May 17 20:02:25 2000 Darrell Brunsch * ace/Dirent.h: * ace/Dirent.i: * ace/Makefile: * ace/Makefile.am: * ace/Makefile.bor: * ace/OS.h: * ace/OS.i: * ace/OS_Dirent.cpp: (added) * ace/OS_Dirent.h: (added) * ace/OS_Dirent.inl: (added) * ace/ace-dll.icc: * ace/ace-lib.icc: * ace/ace.icc: * ace/ace_dll.dsp: * ace/ace_dll_ce.dsp: * ace/ace_lib.dsp: * ace/config-all.h: Ladies and Gentlemen, you are witnessing the beginning of the end of ACE_OS as we know it. That's right, I am taking on the bazillion lines of stuff in OS.*, and separating it into bite size pieces. So this is the first step, kind of a test of concept. I took the dirent methods and separated them out into a separate class (in its own files), ACE_OS_Dirent. So now if one only wishes to use the dirent static methods, one only has to include OS_Dirent.h. But what about all the code that thinks it is still in ACE_OS? Glad you asked, since ACE_OS now inherits from ACE_OS_Dirent, meaning using ACE_OS::opendir () and family still works. So eventually everything will be moved out, and ACE_OS will just be a shell of a class that inherits from the ACE_OS_* classes (with maybe an ACE_ONLY_LATEST_AND_GREATEST thrown in here and there). Let's just hope that this works.... Wed May 17 19:01:52 2000 Carlos O'Ryan * bin/auto_compile: Fixed minor typos in the -smart_proxies option. * bin/run_all_list.pm: The path for one of the tests (InterOp-Naming) was broken, my fault. Wed May 17 16:20:30 2000 Darrell Brunsch * ace/Future.cpp: * ace/Future.h: * ace/Future_Set.cpp: * ace/Future_Set.h: * ace/LOCK_SOCK_Acceptor.cpp: * ace/config-pharlap.h: While searching for the cause of a warning being undisabled, I noticed there were several places where we were using #include /**/ "ace/some-header.h". The #include /**/ is only for system headers, so it doesn't need to be used with ACE headers. * ace/streams.h: If ACE_HAS_STANDARD_CPP_LIBRARY is defined, then we include the .h-less versions of the header files. This is all fine and good, except that these headers in MSVC will disable some warnings with #pragma warning, but then set them back to default at the end. So if we disabled a warning in the config file, it would get reenabled because of these headers. So I added a #pragma warning(push/pop) pair around the includes in this file to localize the warning settings. Wed May 17 14:32:50 2000 Carlos O'Ryan * tests/CDR_Array_Test.cpp: Fixed warnings in KAI-3.4 (and other EDG based compilers), it makes no sense to return 'const int' Wed May 17 12:03:41 2000 Darrell Brunsch * Msg_WFMO_Reactor.cpp: * Msg_WFMO_Reactor.h: * Msg_WFMO_Reactor.i: * ace/README: * ace/config-WinCE.h: * ace/config-pharlap.h: Added an ACE_LACKS_MSG_WFMO macro that is used when ACE_WIN32 is defined but MsgWaitForMultipleOjbects isn't. This replaces the checking for Pharlap and Windows CE. Thanks to David Hauck for this suggestion. Wed May 17 13:34:22 2000 Steve Huston * tests/Thread_Pool_Reactor_Test.cpp: Added a little more diagnostic info that was useful in diagnosing a previous problem in the ACE_TP_Reactor. Wed May 17 12:48:24 2000 Carlos O'Ryan * tests/CDR_File_Test.cpp: More workarounds for compiler bugs, this time egcs-1.1.1 is at fault. Wed May 17 10:58:23 2000 Steve Huston * ace/WFMO_Reactor.(cpp h): Changed complex_dispatch_handler() and upcall() to redo upcall(s) when the handler returns 1. This adds ACE_WFMO_Reactor functionality equivalent to the ACE_Select_Reactor family. To do this, the upcall() function's signature was changed to accept a WSANETWORKEVENTS structure by reference. upcall() updates the lNetworkEvents flags to indicate which requested a callback. If the handler is not marked for deletion, the upcall is done again. To properly support this, the call to WSAEnumNetworkEvents is done once in complex_dispatch_handler and the events flags are updated on each call to upcall(). Thanks to Irfan Pyarali for his guidance in designing this change. Wed May 17 10:54:05 2000 Jeff Parsons * examples/ConfigViewer/ConfigTreeCtrl.cpp: * examples/ConfigViewer/ConfigTreeCtrl.h: * examples/ConfigViewer/ConfigurationViewer.cpp: * examples/ConfigViewer/ConfigurationViewer.dsp: * examples/ConfigViewer/ConfigurationViewer.dsw: * examples/ConfigViewer/ConfigurationViewer.rc: * examples/ConfigViewer/MainFrame.cpp: * examples/ConfigViewer/MainFrame.h: * examples/ConfigViewer/README: * examples/ConfigViewer/ValueDlg.cpp: * examples/ConfigViewer/ValueDlg.h: * examples/ConfigViewer/ValueListCtrl.cpp: * examples/ConfigViewer/ValueListCtrl.h: * examples/ConfigViewer/mondrian.ico: * examples/ConfigViewer/mondrian.xpm: * examples/ConfigViewer/stdafx.cpp: * examples/ConfigViewer/stdafx.h: Chris Hafey's ACE_Configuration viewer/editor for vxWindows. For details, see the README file or email Chris at . Wed May 17 09:02:45 2000 Carlos O'Ryan * tests/CDR_Array_Test.cpp: Workaround problems with old versions of g++, in some cases it gets confused with sizeof(T) inside a template. Tue May 16 12:01:56 2000 Darrell Brunsch * ace/Msg_WFMO_Reactor.cpp: * ace/Msg_WFMO_Reactor.h: Applied some patches that Bruce Trask sent for building ACE on Pharlap. * ace/OS.cpp: * ace/OS.h: * ace/Process.cpp: * ace/ace_wchar.h: GetEnvironmentStrings is the only Windows API function that I've seen that doesn't follow the same FuncA/FuncW naming that the rest do. So I added a wrapper in ACE_OS (getenvstrings) and it does the appropriate magic in the .cpp file to get this to work. This only showed up when UNICODE was defined but ACE_USES_WCHAR wasn't. * ace/Process.cpp: Removed a comment that stated that the WinCE version of inherit_environment () was in Process.i. Actually, there isn't a version for CE at all. * tests/CDR_Array_Test.cpp: Updated the test so it works with ACE_USES_WCHAR. Tue May 16 10:02:33 2000 Carlos O'Ryan * tests/CDR_File_Test.cpp: The test was removing the file even when the user requested not to do so. Tue May 16 09:53:19 2000 Carlos O'Ryan * ace/CDR_Stream.i: Change swap_8 again, this time it compiles with -O2 and -O3, using the assembly instructions for full performance. * tests/CDR_Array_Test.cpp: Fixed several problems reported during the last night builds. Mostly template quirks and the ever annoying problems of Sun/CC 4.2 with static_casts * tests/CDR_File_Test.cpp: Don't use ?: operators when the arguments are of different types. Mon May 15 21:00:31 2000 Carlos O'Ryan * ace/CDR_Stream.i: The swap_8 operator was not working when debugging was disabled. Mon May 15 16:06:01 2000 Priyanka Gontla * ace/CORBA_macros.h: Added Support for Exception::_downcast () by modifying _narrow to _downcast (). Thanks to William Horn . Mon May 15 15:49:37 2000 Carlos O'Ryan * bin/run_all_list.pm: Add Connection_Purging to the list. Mon May 15 15:23:27 2000 Ossama Othman The following are primarily consistency related updates. * ace/LSOCK.i (ACE_LSOCK): Initialize "aux_handle_" member to ACE_INVALID_HANDLE in the base member initializer list. * ace/Thread_Manager.i (ACE_At_Thread_Exit): Initialize "next_" member to 0 in the base member initializer list. (ACE_Thread_Descriptor_Base): Initialize "next_" and "prev_" members to 0 in the base member initializer list. Mon May 15 15:14:41 2000 Carlos O'Ryan * ace/CDR_Stream.h: * ace/CDR_Stream.i: * ace/CDR_Stream.cpp: Cristian Ferretti has contributed a number of optimizations to the byte swapping code for CDR streams. The optimizations include loop unrolling for 32-bit and 64-bit architectures, use of especial assembly instructions for x86-based platforms and use of bit operations (instead of memory manipulation) for other processors. * tests/Makefile: * tests/Makefile.am: * tests/Makefile.bor: * tests/run_tests.bat: * tests/run_tests.lst: * tests/run_tests.vxworks: * tests/tests.dsw: * tests/CDR_Array_Test.cpp: * tests/CDR_Array_Test.dsp: * tests/CDR_Array_Test.icc: New test to verify that the array operations in the CDR classes actually work, this is specially critical because the new versions unroll loop, perform assembly instructions that work best when the alignment is right, etc. * tests/CDR_File_Test.cpp: The test was extended. Now we can save a file in one platform and load it (manually) in another platform, to verify that byte swapping actually works. Both tests were contributed by Cristian Ferretti , which is good because all this voodoo programming needs testing. The changes were tested using PA-RISC, Alphas, Sparcs and finally Pentiums in various forms and using several compilers. Mon May 15 14:01:23 2000 Ossama Othman * ace/OS.h: QNX Neutrino has the header, so include it. * ace/config-qnx-neutrino.h: QNX supports the {get,set}rlimit() functions. ACE's autoconf support detected this support. Mon May 15 12:32:05 2000 Ossama Othman * ace/Log_Record.cpp (print): Added a "%s" format specifier to the fprintf() call. This was needed to allow strings containing percent signs '%' to be printed. This problem was inadvertently introduced during some UNICODE related updates. The "%s" format specifier can handle UNICODE strings. Thanks to Edan Ayal for reporting this problem and providing a fix. Mon May 15 10:25:38 2000 Darrell Brunsch * bin/create_vt_dsps.pl: I got tired of creating the version tests for the ACE tests, so why not script it? * tests/version_tests/ACE_Init_Test.dsp: (removed) This test is tricky. It uses MFC, which gets complicated when also using the static version of ACE. Since this is the only test that does this, I just disabled it in the create_vt_dsps.pl. * tests/version_tests/Reactor_Exception_Test.dsp: (removed) * tests/version_tests/Sigset_Op_Test.dsp: (removed) These two were named differently than their parents in tests/, so they have been renamed. * tests/version_tests/Atomic_Op_Test.dsp: * tests/version_tests/Auto_IncDec_Test.dsp: * tests/version_tests/Barrier_Test.dsp: * tests/version_tests/Basic_Types_Test.dsp: * tests/version_tests/Buffer_Stream_Test.dsp: * tests/version_tests/CDR_File_Test.dsp: * tests/version_tests/CDR_Test.dsp: * tests/version_tests/Cache_Map_Manager_Test.dsp: * tests/version_tests/Cached_Accept_Conn_Test.dsp: * tests/version_tests/Cached_Conn_Test.dsp: * tests/version_tests/Capabilities_Test.dsp: * tests/version_tests/Collection_Test.dsp: * tests/version_tests/Conn_Test.dsp: * tests/version_tests/DLL_Test.dsp: * tests/version_tests/DLList_Test.dsp: * tests/version_tests/Dynamic_Priority_Test.dsp: * tests/version_tests/Enum_Interfaces_Test.dsp: * tests/version_tests/Env_Value_Test.dsp: * tests/version_tests/Future_Set_Test.dsp: * tests/version_tests/Future_Test.dsp: * tests/version_tests/Handle_Set_Test.dsp: * tests/version_tests/Hash_Map_Bucket_Iterator_Test.dsp: * tests/version_tests/Hash_Map_Manager_Test.dsp: * tests/version_tests/High_Res_Timer_Test.dsp: * tests/version_tests/IOStream_Test.dsp: * tests/version_tests/Lazy_Map_Manager_Test.dsp: * tests/version_tests/MM_Shared_Memory_Test.dsp: * tests/version_tests/MT_Reactor_Timer_Test.dsp: * tests/version_tests/MT_SOCK_Test.dsp: * tests/version_tests/Malloc_Test.dsp: * tests/version_tests/Map_Manager_Test.dsp: * tests/version_tests/Map_Test.dsp: * tests/version_tests/Mem_Map_Test.dsp: * tests/version_tests/Message_Block_Test.dsp: * tests/version_tests/Message_Queue_Notifications_Test.dsp: * tests/version_tests/Message_Queue_Test.dsp: * tests/version_tests/Naming_Test.dsp: * tests/version_tests/New_Fail_Test.dsp: * tests/version_tests/Notify_Performance_Test.dsp: * tests/version_tests/Object_Manager_Test.dsp: * tests/version_tests/OrdMultiSet_Test.dsp: * tests/version_tests/Pipe_Test.dsp: * tests/version_tests/Priority_Buffer_Test.dsp: * tests/version_tests/Priority_Reactor_Test.dsp: * tests/version_tests/Priority_Task_Test.dsp: * tests/version_tests/Process_Manager_Test.dsp: * tests/version_tests/Process_Mutex_Test.dsp: * tests/version_tests/Process_Strategy_Test.dsp: * tests/version_tests/RB_Tree_Test.dsp: * tests/version_tests/Reactor_Notify_Test.dsp: * tests/version_tests/Reactor_Performance_Test.dsp: * tests/version_tests/Reactor_Timer_Test.dsp: * tests/version_tests/Reactors_Test.dsp: * tests/version_tests/Reader_Writer_Test.dsp: * tests/version_tests/Recursive_Mutex_Test.dsp: * tests/version_tests/Reverse_Lock_Test.dsp: * tests/version_tests/SOCK_Connector_Test.dsp: * tests/version_tests/SOCK_Send_Recv_Test.dsp: * tests/version_tests/SOCK_Test.dsp: * tests/version_tests/SPIPE_Test.dsp: * tests/version_tests/SString_Test.dsp: * tests/version_tests/SV_Shared_Memory_Test.dsp: * tests/version_tests/Semaphore_Test.dsp: * tests/version_tests/Service_Config_Test.dsp: * tests/version_tests/Simple_Message_Block_Test.dsp: * tests/version_tests/Svc_Handler_Test.dsp: * tests/version_tests/TSS_Test.dsp: * tests/version_tests/Task_Test.dsp: * tests/version_tests/Thread_Manager_Test.dsp: * tests/version_tests/Thread_Mutex_Test.dsp: * tests/version_tests/Thread_Pool_Reactor_Test.dsp: * tests/version_tests/Thread_Pool_Test.dsp: * tests/version_tests/Time_Service_Test.dsp: * tests/version_tests/Time_Value_Test.dsp: * tests/version_tests/Timeprobe_Test.dsp: * tests/version_tests/Timer_Queue_Test.dsp: * tests/version_tests/Tokens_Test.dsp: * tests/version_tests/UPIPE_SAP_Test.dsp: * tests/version_tests/Upgradable_RW_Test.dsp: * tests/version_tests/version_tests.dsw: * tests/version_tests/Reactor_Exceptions_Test.dsp: (added) * tests/version_tests/Sigset_Ops_Test.dsp: (added) These files were regenerated. Mon May 15 12:28:32 2000 Aviad Eden * ace/Object_Manager.h: In the paragraph that describes the behavior of ::exit function (starting with the words "NOTE on the use of ::exit --"). The first sentence states that using ::exit "does not destroy static objects" while it should be "does not destroy automatic objects". Mon May 15 12:25:59 2000 David L. Levine * ace/OS.i (thr_join): removed comments about possible implementation using ::taskSafe ()/::taskUnsafe () on VxWorks. Join functionality is better implemented in the Thread_Manager. Thanks to Umar for asking about this comment. Mon May 15 09:09:49 2000 Darrell Brunsch * ace/Local_Name_Space_T.cpp: * ace/Remote_Name_Space.cpp: * netsvcs/lib/Name_Handler.cpp: Changed my use of ACE_Auto_Array_Ptr for ACE_USHORT16 to ACE_Auto_Basic_Array_Ptr. Thanks to Andy Gokhale for reporting this. Mon May 15 08:31:13 2000 Darrell Brunsch * ace/streams.h: Undid the commenting out of #include for ACE_USES_OLD_IOSTREAMS. It had previously been commented out because of a problem with Qt. A better solution would be to not include it only when ACE is used with Qt. This problem was showing up with Explicit_Event_Loop. Sun May 14 12:43:35 2000 Darrell Brunsch (On behalf of Christopher Kohlhoff ) * ace/Makefile.bor: * include/makeinclude/ace_flags.bor: Added new file, moved ACE_BUILD_DLL macro into ACE library's makefile. Thanks also to Mogens Hansen . * include/makeinclude/recurse.bor: Arguments like -i should now be propogated with makefile recursion Sun May 14 12:19:41 2000 Darrell Brunsch * bin/msvc_auto_compile.pl: Added a -TAO option to specify that the TAO subdirectory should be compiled. Sat May 13 19:05:23 2000 Darrell Brunsch * ace/SString.cpp: Forgot to add a base member initialization for the allocator in the new ACE_USHORT16 constructor for ACE_WString. Thanks to Chris Kohlhoff for noticing this. Sat May 13 19:07:32 2000 Nanbor Wang * ace/config-kcc-common.h: Added ACE_HAS_STRING_CLASS. This fixed the IOStream_Test. Sat May 13 13:01:08 2000 Darrell Brunsch * tests/SString_Test.cpp: So yesterday I changed a type from ACE_USHORT16 to wchar_t. Rather, it should have been ACE_WSTRING_TYPE. Sat May 13 01:06:22 2000 Darrell Brunsch * ace/Local_Name_Space_T.cpp: * ace/Remote_Name_Space.cpp: SunCC 5 didn't like the template instantiations in the Local_Name_Space_T file, so I moved them to Remote_Name_Space.cpp. Fri May 12 17:48:17 2000 Darrell Brunsch * bin/generate_export_file.pl: Found a new way to write this script using map and a __DATA__ block. Fri May 12 17:52:22 2000 Nanbor Wang * ace/OS.cpp (ACE_Thread_Adapter::invoke): Reverted James' previous change for now. It's causing problem with MSVC. Fri May 12 15:04:58 2000 Carlos O'Ryan * bin/run_all_list.pm: * bin/auto_compile_win32.pl: Updated to include the new TAO test. Fri May 12 11:25:10 2000 Darrell Brunsch * ace/Basic_Types.h: Didn't understand at first why ACE_SIZEOF_WCHAR wasn't defined to just "sizeof (wchar_t)". So I changed it, but now I realize that this will not work if ACE_SIZEOF_WCHAR is used in a #if. Bleh. Since wchar_t is always different, I just defined it as 2 for WIN32 and 0 for others (so the tests/Basic_Types_Test will catch it). [Bug 560] * ace/ACE.cpp: Chris Kohlhoff reported that Borland didn't like "sizeof wchar_t", but adding parenthesis worked. Applied this patch, and changed the cast to an ACE_static_cast. [Bug 560] * ace/High_Res_Timer.cpp: Borland was giving some warnings here since a const method was calling this->global_scale_factor (), which is a static method. Changed it to ACE_High_Res_Timer::global_scale_factor () and things compiled cleanly. * ace/config-win32-borland.h: * ace/README: * ace/SString.cpp: * ace/SString.h: * ace/Local_Name_Space_T.cpp: * ace/Remote_Name_Space.cpp: * netsvcs/lib/Name_Handler.cpp: On Borland BCB 5, wchar_t is (correctly) a separate type than unsigned short, so all the implicit casting between the two in the ACE Name Space. So added a new macro, ACE_WSTRING_HAS_USHORT_SUPPORT, that enables another constructor for ACE_WString. Chris Kohlhoff also reported this problem and a solution, but unfortunately ACE_Name_Space requires that this type is 2 bytes so we couldn't just use ACE_WSTRING_TYPE here. Instead I added in both the new constructor and a ushort_rep method on ACE_WString. I changed the Name Space stuff to use this instead. BTW, old code shouldn't need to be changed on MSVC, just if you use BCB. [Bug 561] * tests/SString_Test.cpp: We were using ACE_USHORT16 as the single character type for ACE_WString. This has been changed to wchar_t. Thanks to Chris for this one also. [Bug 561] Fri May 12 10:12:05 2000 James Hu * ace/OS.cpp (ACE_Thread_Adapter::invoke): If the TSS instance of the ACE_Thread_Exit class fails to create, the application will crash. The new code will detect the failure, and use an instance created off the stack if it happens. This mimics how ACE does it in the case of platforms that do not support TSS. Thu May 11 18:07:53 2000 Chris Cleeland * ace/OS.i (malloc): Bug 566. * ace/OS.i (realloc): * ace/OS.i (calloc): * ace/OS.i (free): Use the new macros (below) instead of directly calling malloc-like functions, thereby allowing an installation to substitute an alternate mallocator for the global (see comment for OS.h below). * ace/OS.i (strdup): Changed the emulation of strdup() to use ACE_OS::malloc() rather than ::malloc(). * ace/OS.h: Added the four macros ACE_MALLOC_FUNC, ACE_CALLOC_FUNC, ACE_REALLOC_FUNC, and ACE_FREE_FUNC which default to the names of the global ::malloc, ::calloc, ::realloc and ::free. Using this, a site can define these in their config.h in order to substitute an alternate malloc-like allocator. Thu May 11 17:23:14 2000 Jeff Parsons * ace/ace_dll.dsp: Removed non-existent file Configuration.i from project. Thu May 11 15:21:34 2000 Darrell Brunsch * ace/OS.i (dlsym): I was checking for ACE_HAS_WIN32 instead of ACE_WIN32, so this wasn't doing what it was supposed to with ACE_USES_WCHAR turned on. Thu May 11 02:04:58 2000 Irfan Pyarali * ace/OS.h * ace/OS.cpp * ace/SOCK_Stream.h * ace/SOCK_Stream.i * ace/TLI_Stream.h * ace/TLI_Stream.i * ace/ACE.cpp * ace/ACE.h * ace/ACE.i In order to make the return values of recv_n() and send_n() match the return values of recv() and send(), the following changes were made to the interface: old interface: static ssize_t recv_n (ACE_HANDLE handle, void *buf, size_t len, const ACE_Time_Value *timeout = 0, int error_on_eof = 1); new interface: static ssize_t recv_n (ACE_HANDLE handle, void *buf, size_t len, const ACE_Time_Value *timeout = 0, size_t *bytes_transferred = 0); Return value are: - On complete transfer, is returned. - On timeout, -1 is returned, errno == ETIME. - On error, -1 is returned, errno is set to appropriate error. - On EOF, 0 is returned, errno is irrelevant. On partial transfers, i.e., if any data is transferred before timeout/error/EOF, will contain the number of bytes transferred. These return values now closely match the return values from the non "_n" methods. Thanks to Douglas Schmidt, Chris Cleeland, Steve Huston, James Hu, and Rich Seibel for helping out! Thu May 11 01:59:10 2000 Irfan Pyarali * ace/Pipe.cpp: Reader and writer handles were being left open when there was an error in ACE_Pipe::open(). This fixes bug 549. Thanks to Rick Ohnemus for reporting this bug and providing patches. Wed May 10 18:36:58 2000 Carlos O'Ryan * THANKS: Add a new contributor * bin/msvc_auto_compile.pl: * bin/auto_compile_win32.pl: Upgraded to use the new libraries in orbsvcs. Tue May 9 20:02:41 2000 Darrell Brunsch * ace/Asynch_Acceptor.cpp: Was still including "Asynch_Acceptor.i" which has been removed. * apps/JAWS2/JAWS/Cache_Manager_T.cpp: Removed iostream.h include here. This is not good since ACE already includes it, and ACE might already include , which is incompatible with . * examples/Reactor/WFMO_Reactor/test_talker.cpp: Looks like the constructor to Proactor was changed, but this test didn't get changed also. Removed one of the arguments being passed to it. * websvcs/lib/websvcs_export.h: Regenerated it. It seems like I changed the websvcs library based on what I thought was in this file. This didn't work, since I was assuming that ACE_WEBSVCS_HAS_DLL was automatically defined (and older versions of these export files did not do that). * apps/JAWS/server/HTTP_Helpers.cpp: * examples/Shared_Malloc/test_malloc.cpp: Changed empty ;'s in if statements to {} to remove warnings. * bin/msvc_auto_compile.pl: Added a -u option that tells the script to pass the /USEENV flag to msdev when it runs. Added a -ACE option that tells the script just to compile the ACE directories. Changed -core to -CORE to be consistent with -ACE (and the upcoming -TAO). * apps/Gateway/Gateway/Gateway.dsp: * apps/Gateway/Gateway/gatewayd.dsp: * apps/Gateway/Peer/Peer.dsp: * apps/Gateway/Peer/peerd.dsp: * apps/JAWS/clients/Caching/Caching.dsp: * apps/JAWS/server/jaws.dsp: * apps/JAWS2/server.dsp: * apps/JAWS2/HTTPU/HTTPU.DSP: * apps/JAWS2/HTTPU/HTTPU.DSW: * apps/JAWS2/JAWS/jaws.dsp: * examples/ASX/Event_Server/Event_Server/Event_Server.dsp: * examples/ASX/Event_Server/Transceiver/transceiver.dsp: * examples/ASX/Message_Queue/Bounded_Buffer.dsp: * examples/ASX/Message_Queue/Buffer_Stream.dsp: * examples/ASX/Message_Queue/Priority_Buffer.dsp: * examples/ASX/UPIPE_Event_Server/UPIPE_Event_Server.dsp: * examples/Bounded_Packet_Relay/Bounded_Packet_Relay.dsp: * examples/Configuration/Test.dsp: * examples/Connection/blocking/SPIPE.dsp: * examples/Connection/blocking/acceptor.dsp: * examples/Connection/non_blocking/non_blocking.dsp: * examples/Connection/non_blocking/server.dsp: * examples/IPC_SAP/ATM_SAP/CPP_client.dsp: * examples/IPC_SAP/ATM_SAP/CPP_server.dsp: * examples/IPC_SAP/SOCK_SAP/CPP_inclient.dsp: * examples/IPC_SAP/SOCK_SAP/CPP_inserver.dsp: * examples/IPC_SAP/SOCK_SAP/CPP_memclient.dsp: * examples/IPC_SAP/SOCK_SAP/CPP_memserver.dsp: * examples/IPC_SAP/SOCK_SAP/C_inserver.dsp: * examples/IPC_SAP/SOCK_SAP/SOCK_SAP.dsp: * examples/Log_Msg/Callback.dsp: * examples/Log_Msg/Log_Msg.dsp: * examples/Log_Msg/Ostream.dsp: * examples/Logger/Acceptor-server/server_loggerd.dsp: * examples/Mem_Map/file-reverse/file_reverse.dsp: * examples/Naming/Naming.dsp: * examples/Naming/multiple_contexts.dsp: * examples/Naming/non_existent.dsp: * examples/OS/Process/Process.dsp: * examples/OS/Process/imore.dsp: * examples/QOS/client.dsp: * examples/QOS/server.dsp: * examples/Reactor/Dgram/CODgram.dsp: * examples/Reactor/Dgram/Dgram.dsp: * examples/Reactor/Misc/Misc.dsp: * examples/Reactor/Misc/demuxing.dsp: * examples/Reactor/Misc/early_timeouts.dsp: * examples/Reactor/Misc/notification.dsp: * examples/Reactor/Misc/reactors.dsp: * examples/Reactor/Misc/signals_1.dsp: * examples/Reactor/Misc/signals_2.dsp: * examples/Reactor/Ntalker/ntalker.dsp: * examples/Reactor/Proactor/post_completions.dsp: * examples/Reactor/Proactor/test_cancel.dsp: * examples/Reactor/Proactor/test_end_event_loop.dsp: * examples/Reactor/Proactor/test_multiple_loops.dsp: * examples/Reactor/Proactor/test_proactor.dsp: * examples/Reactor/Proactor/test_timeout.dsp: * examples/Reactor/WFMO_Reactor/Handle_Close.dsp: * examples/Registry/Registry.dsp: * examples/Registry/update.dsp: * examples/Service_Configurator/Misc/Timer.dsp: * examples/Service_Configurator/Misc/main.dsp: * examples/Shared_Malloc/malloc.dsp: * examples/Shared_Malloc/multiple_mallocs.dsp: * examples/Shared_Malloc/persistence.dsp: * examples/Shared_Malloc/position_independent_malloc.dsp: * examples/Web_Crawler/Web_Crawler.dsp: * performance-tests/Misc/basic_perf.dsp: * performance-tests/Misc/childbirth_time.dsp: * performance-tests/Misc/context_switch_time.dsp: * performance-tests/Misc/test_mutex.dsp: * performance-tests/Misc/test_naming.dsp: * performance-tests/Misc/test_singleton.dsp: * performance-tests/Server_Concurrency/Leader_Follower/Leader_Follower.dsp: * performance-tests/Server_Concurrency/Queue_Based_Workers/Queue_Based_Workers.dsp: * performance-tests/TCP/TCP.dsp: While testing the -ACE flag in msvc_auto_compile, I found that there were many dsps that were either creating precompiled headers, didn't have the correct include paths, or even weren't in the CRLF format. Fixed them up. * apps/JAWS/clients/Caching/testing.dsp: * performance-tests/Synch-Benchmarks/Synch_Tests.dsp: These project files didn't look like they are used anymore, so I removed them. Tue May 9 17:38:47 2000 Carlos O'Ryan * bin/auto_compile_win32.pl: Include the new library used in the RT CORBA tests. Tue May 9 09:01:24 2000 Darrell Brunsch * examples/Export/README: (added) * examples/Export/dll.cpp: (added) * examples/Export/dll.h: (added) * examples/Export/export_dll.dsp: (added) * examples/Export/export_test.dsw: (added) * examples/Export/run_test.pl: (added) * examples/Export/test.cpp: (added) * examples/Export/test.dsp: (added) * examples/Export/test_export.h: (added) The export example is an example of how to use the ACE_Export type macros for DLLs. Mon May 8 14:37:32 2000 Douglas C. Schmidt * ace/Task.h: Cleaned up the documentation so that it will work correctly with class2man. Thanks to Charlie Duke for reporting this. Mon May 08 22:56:28 2000 Carlos O'Ryan * ACE version 5.1.2 released. Mon May 8 11:02:49 2000 Darrell Brunsch * docs/CE-status.txt: I will not get a chance to update this before the beta, so I just put in a note mentioning that it is out of date and will be updated next time. Mon May 8 12:30:15 2000 Nanbor Wang * include/makeinclude/platform_sunos5_kcc.GNU: Added "--once_instantiation_per_object" flag for both compiler and linker to avoid some warnings about duplicate symbol definitions. Sun May 7 19:50:21 2000 Darrell Brunsch * include/makeinclude/platform_sunos5_sunc++.GNU: Undid Doug's change on "Wed May 3 18:07:16 2000". The fix wasn't working in our SUNCC 5 builds. Sat May 6 17:49:01 2000 Darrell Brunsch * ace/Log_Msg.h: * ace/Log_Msg.cpp: Changed the signature of log_priority_enabled to have both the char * and wchar_t * versions when using ACE_USES_WCHAR. The reason why this has to be done is because of ACE_HEX_DUMP. ACE_HEX_DUMP calls both log_priority_enabled and log_hexdump, and it doesn't make sense to change the signature of log_hexdump. If it were to take in a wchar_t buffer, it should print the entire wchar_t. But if we have a buffer that is a char *, then it doesn't make sense to convert it to a wchar_t * buffer, since it adds all those extra bytes that would show up with hexdump. And now that we have 3 versions of this method which do the same things, I changed the ones that is used by the macros to call the one that just takes in the priority. An extra function call, but if that is a problem, then they can be inlined. Sat May 6 19:33:49 2000 Nanbor Wang * include/makeinclude/platform_freebsd.GNU: Removed definition BIN_TRUE. It's no longer used. Thu May 4 14:53:45 2000 Darrell Brunsch * ace/config-all.h: * ace/config-win32-common.h: * bin/generate_export_file.pl: Changed the ACE_EXPORT_SINGLETON_DECLARE and ACE_IMPORT_SINGLETON_DECLARE to take in arguments, but this time it takes in 3, the singleton type, the class, and then the lock. So we have: ACE_EXPORT_SINGLETON_DECLARE (ACE_Singleton, foo, ACE_Null_Mutex); Thu May 4 13:59:58 2000 Darrell Brunsch * ace/config-all.h: * ace/config-win32-common.h: Added two new macros, ACE_EXPORT_SINGLETON_DECLARE and ACE_IMPORT_SINGLETON_DECLARE. They do the same thing as the *_DECLARATION macros except they do not take arguments. So instead of ACE_EXPORT_SINGLETON_DECLARATION (foo); you use ACE_EXPORT_SINGLETON_DECLARE foo; This was needed since foo may be a template, and if so, the comma that can be between multiple arguments causes problems. * bin/generate_export_file.pl: Now creates the above DECLARE macros in addition to the rest. Thu May 4 14:47:09 2000 Nanbor Wang * include/makeinclude/platform_freebsd.GNU: Defined BIN_TRUE as /usr/bin/true. Wed May 3 19:35:48 2000 Carlos O'Ryan * ace/Log_Msg.cpp: The implementation of the log_priority_enabled function did not match its declaration. Wed May 3 17:21:50 2000 Darrell Brunsch * ace/config-win32-common.h: After many reports of not having _MT defined (and then not quite knowing what to do about it), I felt we needed a bit more descriptive error and comment. * docs/ACE-FMM.html: * docs/ACE-bug-process.html: * docs/ACE-development-process.html: * docs/ACE-guidelines.html: * docs/ACE-lessons.html: * docs/ACE-porting.html: * docs/ACE-subsets.html: * docs/exceptions.html: * docs/index.html: (added) * docs/usage-bugzilla.html: Added an index for the files in this directory. Added backlinks to the other files. Wed May 3 18:07:16 2000 Douglas C. Schmidt * ace/Malloc_T (memory_pool): Found another bug with SunC++ 5.0... Moved the ACE_Allocator_Adapter::protect() into the Malloc_T.cpp file. Wed May 3 17:16:12 2000 Ossama Othman * ace/Log_Msg.h (log_priority_enabled): Corrected use of "ASYS_TCHAR." "ACE_TCHAR" should be used instead. Wed May 3 18:07:16 2000 Douglas C. Schmidt * ace/Log_Msg: Added the new log_priority_enabled() method. Thanks to Ossama for reporting this ;-). * include/makeinclude/platform_sunos5_sunc++.GNU (CC_VERSION): The keywords to check if the version if greater than 5 is "C++" on Solaris, not "Compilers." Thanks to Rick Weisner for reporting this. Wed May 3 15:08:03 2000 Nanbor Wang * include/makeinclude/platform_freebsd.GNU: Changed to set versioned_so only when building on version 2 of FreeBSD. Thanks to Henrik Kai for pointing this out. Wed May 3 12:31:32 2000 Ossama Othman * ace/Makefile.am (INLINE_FILES): Removed deprecated inline files from the list. Wed May 3 11:59:14 2000 Carlos O'Ryan * include/makeinclude/macros.GNU: * include/makeinclude/rules.common.GNU: * include/makeinclude/rules.local.GNU: New target that recusively builds all the IDL generated files. Wed May 3 11:43:05 2000 Douglas C. Schmidt * ace/Log_Msg.h: Only call set() in the ACE_{ERROR,DEBUG} macros if the log_priority_enabled() is non-0, which avoids making unecessary strcpy() calls. Thanks to Ganesh Pai for reporting this. * ace/Timer_Queue_Adapters (schedule): Make sure to pass the act to the schedule() method. Also, updated the header file so that it explains that interval timers aren't implemented. Thanks to Umar Syyid for reporting these. Wed May 3 09:49:57 2000 Jeff Parsons * ace/Caching_Utility_T.cpp: * ace/Map.cpp: * ace/Pair.cpp: * ace/Svc_Handler.cpp: * ace/Win32_Asynch_IO.cpp: * ace/Win32_Proactor.cpp: * ace/ace_dll.dsp: * ace/ace_lib.dsp: Removed inclusion of non-existent .i files from corresponding .cpp files and from the project files. Tue May 2 19:33:57 2000 Douglas C. Schmidt * Updated all the dependencies. * ace: Removed all the following files because they were empty and yet were being #included into various other *.h files, which slowed down compilation unnnecessarily! Thanks to Espen Harlinn for reporting this. * ace/Acceptor.i * ace/WIN32_Proactor.i: * ace/WIN32_Asynch_IO.i: * ace/Token_Invariants.i: * ace/TLI_Acceptor.i: * ace/Svc_Handler.i: * ace/Proactor.i: * ace/Stream_Modules.i: * ace/Select_Reactor.i: * ace/Map.i: * ace/Priority_Reactor.i: * ace/Pair.i: * ace/Hash_Map_Manager.i: * ace/LSOCK_Acceptor.i * ace/CORBA_Ref.i: * ace/Configuration.i: * ace/Connector.i: * ace/Cleanup_Strategies_T.i; * ace/SPIPE_Acceptor.i: * ace/Trace.i: * ace/Log_Msg.i: * ace/IO_Cntl_Msg.i: * ace/Dynamic_Service.i: * ace/Caching_Utility_T.i: * ace/Cached_Connect_Strategy_T.i: * ace/Asynch_IO.i: * ace/Asynch_Acceptor.i: * ace/OS.i (readdir_r): Apparently the GNU compiler on DEC UNIX defines a macro for readdir_r() that was breaking things. Therefore, we #ifdef for that! Thanks to Jean-Marc Strauss for reporting this. Tue May 2 12:48:00 2000 Carlos O'Ryan * bin/g++dep: Use `pwd` instead of $PWD to get the currenct directory because some shell don't get that one right. Tue May 02 13:51:21 2000 David L. Levine * bin/create_ace_build: updated comments at top to reflect the fact that dead symlinks are removed when run on an existing build tree. Tue May 2 10:24:10 2000 Darrell Brunsch * bin/auto_compile_win32.pl: Fixed a couple of release configurations that were out of date. Tue May 2 10:05:21 2000 Darrell Brunsch * websvcs/lib/URL_Addr.cpp: * websvcs/lib/URL_Addr.h: * websvcs/lib/URL_Addr.i: * websvcs/lib/websvcs.dsp: The changes to the new wchar style wasn't completely correct, and I missed quite a few LPCTSTRs in the .i file. Also corrected my earlier attempt at doing the export stuff the "right way". Also changed the use of the variable passwd to password. passwd is also used as a structure so it confused MSVC when used in the FTP class constructor Tue May 2 09:34:31 2000 Steve Huston * tests/SOCK_Send_Recv_Test.cpp: Fix signed/unsigned warnings. Mon May 1 16:51:07 2000 Darrell Brunsch * bin/msvc_auto_compile.pl: Now gets the current directory for the default of ACE_ROOT instead of using ".". Also only tries compiling files ending with dsp, not just ones with .dsp in their name (like *.dsp.bak). Finally, added a print_status options (-s) that will output status messages to STDERR, so you can see how much far it has progressed when you are redirecting stdout to a file. Mon May 01 12:41:39 2000 Irfan Pyarali * ace/Hash_Map_Manager_T.cpp (close_i): Restored freeing of the table memory which had been mistakenly removed. Thanks to David for pointing this out. Mon May 1 10:27:48 2000 Darrell Brunsch * bin/auto_compile_win32.pl: Some minor changes that should make the Win32 builds clean ( which I want to see once before bugging Nanbor to switch to my script :-) ) Mon May 01 02:06:02 2000 Nanbor Wang * ace/Malloc_T.cpp (avail_chunks): Changed to use do-while loop to go over all freelist when calculating the avail_chunks to make sure all nodes in the freelist are accounted for. doesn't always point to the anchoring Malloc_Header in the control block. Thanks to Ivan Murphy for reporting the problem. Also we must reduce the header size count by one when calculating the avail_chunks because each returning allocated memory chunk takes at least two Malloc_Header's. This change made the result of more realistic. * ace/Malloc.h: Added more documentation explaining how Malloc_T works. Sun Apr 30 23:20:00 2000 Darrell Brunsch * ace/SString.h: SunCC 5 had problems with ACE_TString when it was typdefed, but not when it was #defined. * ace/ace_wchar.h: Noticed I was including tchar.h still, which is no longer necessary since ACE's use of wchar_t is separate from tchar.h's. Sat Apr 29 20:02:39 2000 Ossama Othman * bin/autoconf_compile (BUILD_LIST): Remove TAO from the build list. It's autoconf support hasn't been fully integrated yet. Sat Apr 29 19:45:41 2000 Ossama Othman * netsvcs/lib/Log_Message_Receiver.cpp (attach, detach): Fixed warning that occured when ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES was not defined. Use ACE_GUARD{_RETURN} macro instead of naked ACE_Guard. Sat Apr 29 19:17:25 2000 Ossama Othman * ace-dll.icc: * ace_dll.dsp: * ace_lib.dsp: These files still referred to the deprecated `inc_user_config.h' header. The header is now called `config-all.h'. Sat Apr 29 19:09:00 2000 Ossama Othman * ace/QoS_Manager.h: Moved inclusion of one of the ACE headers prior to the check for ACE_LACKS_PRAGMA_ONCE. The definition of ACE_LACKS_PRAGMA_ONCE wasn't pulled before the check, so it ended up being defined twice. Sat Apr 29 16:15:29 2000 Ossama Othman * bin/autoconf_compile: * bin/autoconf_compile_wrapper: The ACE+autoconf counterparts to the auto_compile* scripts. These scripts are used to run automatic builds of the ACE's autoconf support. Sat Apr 29 15:59:53 2000 Ossama Othman * ace/Makefile.am (HEADER_FILES): Removed `inc_user_config.h' from the list of headers. It no longer exists. Added `config-all.h', `ACE_export.h' and `svc_export.h' to the list of headers. Sat Apr 29 17:13:55 2000 Vishal Kachroo * ace/Makefile.am: Added the SOCK_Dgram_Mcast_QoS.{cpp,h,i} Sat Apr 29 14:49:13 2000 Darrell Brunsch * examples/DLL/Newsweek.dsp: * examples/Threads/barrier1.dsp: * examples/Threads/barrier2.dsp: * examples/Threads/cancel.dsp: * examples/Threads/future1.dsp: * examples/Threads/future2.dsp: * examples/Threads/manual_event.dsp: * examples/Threads/process_mutex.dsp: * examples/Threads/process_semaphore.dsp: * examples/Threads/reader_writer.dsp: * examples/Threads/recursive_mutex.dsp: * examples/Threads/task_five.dsp: * examples/Threads/task_four.dsp: * examples/Threads/task_one.dsp: * examples/Threads/task_three.dsp: * examples/Threads/task_two.dsp: * examples/Threads/test.dsp: * examples/Threads/thread_manager.dsp: * examples/Threads/thread_pool.dsp: * examples/Threads/thread_specific.dsp: * examples/Threads/token.dsp: * examples/Threads/tss1.dsp: * examples/Threads/tss2.dsp: * examples/Timer_Queue/Async_Timer_Queue_Test.dsp: * examples/Timer_Queue/Reactor_Timer_Queue_Test.dsp: * examples/Timer_Queue/Thread_Timer_Queue_Test.dsp: * examples/Web_Crawler/Web_Crawler.dsp: * performance-tests/Synch-Benchmarks/synch_driver.dsp: * performance-tests/Synch-Benchmarks/Base_Test/Base_Test.dsp: * performance-tests/Synch-Benchmarks/Perf_Test/Perf_Test.dsp: * performance-tests/Synch-Benchmarks/Synch_Lib/Synch_Lib.dsp: * websvcs/lib/websvcs.dsp: * websvcs/tests/Test_URL_Addr.dsp: I started to test out my msvc_auto_compile.pl script and after testing it for the whole thing, found out that I soon ran out of disk space. By the time I ran out of space, the PCH files made up 3 GB of disk. So I removed them from these projects. Sat Apr 29 14:15:12 2000 Darrell Brunsch * bin/clean_dsp.pl: Was still some bugs in this script. In general, beware of using it. There is no guarantess that it does or ever will work. * ace/ace_dll.dsp: * ace/ace_lib.dsp: Having said that, I went and used it on these project files anyway. Reduced their size by a good 50%. * ace/ace_dll_ce.dsp: Made the x86 emulation release configuration build correctly by ingoring default libraries. Also cleaned this dsp, which had an improvement of 98%. Sat Apr 29 13:20:11 2000 Darrell Brunsch * apps/drwho/PMS_All.cpp: * apps/drwho/PMS_Ruser.cpp: Was still using some ACE::strecpy, changed to ACE_OS::strecpy. Fri Apr 28 21:30:46 2000 Darrell Brunsch * bin/msvc_auto_compile.pl: Fixed the build core logic to work correctly when more than one configuration is specified. * bin/vc_filter.pl: Now ignores the LINK4089 warnings. We haven't quite figured out how to fix them yet. Fri Apr 28 21:11:32 2000 Darrell Brunsch * bin/clean_dsp.pl: (added) This script should clean out excess baggage from DSP files. Fri Apr 28 13:11:20 2000 Ossama Othman * include/makeinclude/platform_linux_lxpthread.GNU: * include/makeinclude/platform_linux_lxpthreads.GNU: Renamed `platform_linux_lxpthread.GNU' to platform_linux_lxpthreads.GNU to be consistent with the name of its corresponding config header `config-linux-lxpthreads.h'. Thanks to Ken Weinert for reporting this. `platform_linux_lxpthread.GNU' now includes the newly renamed file for backward compatibility. Fri Apr 28 11:54:21 2000 Douglas C. Schmidt * ace/SString.cpp: Fixed the delimiter_replace() method so that it actually does what it's comment implies... Thanks to Martin Krumpolec for reporting this. Thu Apr 27 18:19:19 2000 James Hu * ace/Dirent.i: Added checks to see if dirp_ is initialized before calling into ACE_OS. Thu Apr 27 16:53:49 2000 Irfan Pyarali * ace/Hash_Map_Manager_T.cpp (unbind_all_i): Added new method unbind_all() for removing all the entries in one shot. Thanks to Boris Sukholitko for providing this enhancement. * tests/Hash_Map_Manager_Test.cpp: Added test for unbind_all(). Thu Apr 27 14:17:52 2000 Darrell Brunsch * ace/OS.i: isatty (): Messed up on my CE change, so the version that takes an int was hidden by a ACE_WIN32 block. This has been moved outside again. * ace/OS.cpp: Weird, somehow part of a section that should have been removed with the CE changes was still present. Removed again. Thu Apr 27 13:08:00 2000 Darrell Brunsch * bin/msvc_auto_compile.pl: Changed the code style and made it consistent. Also changed the core build to build all of the orbsvcs and do the static builds in the right order. * ace/OS.cpp: * ace/OS.i: For some reason, I had trouble with the libraries when the ACE_Cleanup destructor was in the .i file. So I moved it to the .cpp file instead. * ace/ace_dll.dsp: Was defining ACE_ACE_HAS_DLL=1, which is #1, not needed and, #2, the wrong macro name. * ace/ace_lib.dsp: Changed the static configs to be of type Win32 Static Release/ Debug instead of Win32 Release/Debug. * apps/gperf/src/gperf.dsp: * apps/gperf/src/gperf_lib.dsp: Added Win32 Static Release/Debug configs. Thu Apr 27 14:32:45 2000 Douglas C. Schmidt * ACE-INSTALL (make): Updated the documentation. Thanks to Ken Weinert for reporting this. Thu Apr 27 12:41:42 2000 James C. Hu * ace/OS.i: * ace/OS.cpp: * ace/config-freebsd-pthread.h: * ace/README: Removed ACE_HAS_TIME_R in favor of using existing mechanism of ACE_HAS_REENTRANT_FUNCTIONS, and then adding ACE_LACKS_NETDB_REENTRANT_FUNCTIONS and also ACE_LACKS_PWD_REENTRANT_FUNCTIONS. Created a new lacks called ACE_LACKS_RAND_REENTRANT_FUNCTIONS to match the previous two. FreeBSD can now use its native *time_r functions. Thu Apr 27 10:55:11 2000 Darrell Brunsch These changes bring the Windows CE port up to date. It currently supports Windows CE 2.11 on the H/PC Pro. I am looking into the 2.11 P/PC port, but there are other problems with it still. Hopefully the WinCE 3.0 SDK will be more mature. * ace/ace_dll_ce.dsp: (added) * ace/ace_ce_dll.dsp: (removed) * ace/ace_ce.dsw: Created a new dsp file from scratch from CE to see how the toolkit sets up the projects. Removed the old one. * ace/ACE.cpp: format_hexdump (): Changed usage of isprint to ACE_OS::ace_isprint. get_ip_interfaces (): Changed use of deprecated ACE_TEXT_STRING to ACE_TString. Also added an ACE_TEXT_CHAR_TO_TCHAR to a use of the ACE_INET_Addr constructor. * ace/ARGV.cpp: create_buf_from_queue (): We were not adjusting the size of a ACE_TCHAR buffer by sizeof ACE_TCHAR when we did a memcopy. Thanks to Valery Arkhangorodsky for reporting this. * ace/Memory_Pool.cpp: seh_selector (): Changed use of LPEXCEPTION_POINTERS to EXCEPTION_POINTERS * since it seems like that definition is missing in some WinCE configs. * ace/ace_wchar.h: Added deprecated definition of ACE_TEXT_STRING. convert (): Changed the conversions from CharToOem to MultiByteToWideChar, since it is more widely supported in Win32. Also removed the loading of user32.lib since it was only needed for CharToOem. * ace/config-win32-common.h: Changed the _MT check so it doesn't do anything on CE. Some CE targets do not have the Multithreaded DLL generation option. * ace/config-WinCE.h: Changed ACE_DEFAULT_LD_SEARCH_PATH to use ACE_TEXT. Added a define for ACE_HAS_WCHAR and a check to always define ACE_USES_WCHAR. Commented out the ACE_HAS_MFC check. Defined FILE, since it seems to be missing from CE 2.11 H/PC Pro. Added a definition for EXCEPTION_ACCESS_VIOLATION that was in older SDK's. Removed some UNDER_CE < 2.11 defines. < 2.11 CE will not be supported anymore. Removed definition of is_print, since it was moved into ACE_OS. Added a definition for the operator placement new, which is missing when MFC isn't used. * ace/OS.h: Enabled is_atty for Windows CE. Added ace_isprint and made ace_isspace an ACE_TCHAR method. * ace/OS.i: chdir (): NOTSUP on CE 2.11 tempnam (): Also NOTSUP on CE 2.11 abort (): changed ::exit to exit to get it to compile. ace_isspace (): Changed to use ACE_TCHAR, but also made it NOTSUP on CE 2.11. ace_isprint (): Added, but NOTSUP on CE 2.11. sema_init (): Needed to cast an void *arg to ACE_mutexattr_t. dlsym (): Changed the way ACE declares symbolname so it uses the right one on Win32 (WinNT always uses char *, CE always uses wchar_t *). The function still takes in ACE_TCHAR * though. Thanks to Jeff Greif for reporting this. Removed a few global function definitions that were just for CE (like fwrite, fread, getc, etc.). These are either supported in newer CE's or is disabled in the ACE_OS methods. is_atty (): Enabled on CE. * ace/OS.cpp: Enabled fopen on CE by using _wfopen (but not sure if this will work correctly, since on other Win32 platforms we have a lot more stuff. Enabled several printf methods on CE. open (): Removed the use of FILE_SHARE_DELETE on CE. * ace/Service_Config.i: initialize (): Added an ACE_TEXT_CHAR_TO_TCHAR and replaced an ACE_WIDE_STRING with it also. * ace/Svc_Conf.h: * ace/Svc_Conf.y: * ace/Svc_Conf_y.cpp: ace_yyerror (): Takes an ACE_TCHAR * instead of char * now. Thanks to Valery Arkhangorodsky for also reporting this. * ace/Svc_Conf.l: * ace/Svc_Conf_l.cpp: Changed to use ACE_OS::isatty () and ACE_OS::ace_isprint. Thu Apr 27 11:49:52 2000 Douglas C. Schmidt * ace/OS.i (memchr): Do not cast away constness when emulating memchr(). Thanks to Rick Ohnemus for reporting this. * ace/Select_Reactor_Base.cpp (open): The notification pipe handlers created by the ACE_Select_Reactor_Notify::open were being left open after fork() and exec(). Thanks to Rick Ohnemus for reporting this. Wed Apr 26 23:47:31 2000 Douglas C. Schmidt * ace/Process_Manager.cpp (open): Make sure that the dummy I/O handle is not inherited by child processes. Thanks to Rick Ohnemus for reporting this. Wed Apr 26 20:32:59 2000 James C. Hu * ace/OS.cpp: * ace/OS.i: * ace/README: * ace/config-freebsd-pthread.h: Added a new define ACE_HAS_TIME_R. FreeBSD supports *time_r() calls, but not gethostbyname_r, so a new feature specification was needed to get these functions into ACE_OS. Wed Apr 26 12:21:16 2000 Steve Huston * ace/ACE.cpp (send_n_i (ACE_HANDLE, const void *, size_t, int) and send_n_i (ACE_HANDLE, const void *, size_t): If the send fails with EWOULDBLOCK, wait for the handle to become writeable again before retrying the send. Thanks to Edan Ayal for reporting this. * tests/SOCK_Send_Recv_Test.cpp: Added test 3 for send_n to verify fix for writing to nonblocking handle. Wed Apr 26 08:43:21 2000 Darrell Brunsch * apps/drwho/PMC_Flo.cpp: * apps/drwho/PMC_Usr.cpp: * apps/drwho/PMS_All.cpp: * apps/drwho/PMS_Flo.cpp: * apps/drwho/PMS_Ruser.cpp: * apps/drwho/PMS_Usr.cpp: Was still using ACE::strecpy, changed to ACE_OS::strecpy. Tue Apr 25 15:11:41 2000 Carlos O'Ryan * THANKS: Add new member to the list. Tue Apr 25 11:35:07 2000 Darrell Brunsch * ace/Local_Name_Space.cpp: The hash function was using the wrong length of the USHORT16 string representation. The len_ actually is the length in bytes, not characters. Tue Apr 25 08:57:59 2000 Darrell Brunsch * ASNMP/tests/test_config.h: Was using XXX_A and XXX_W macros which really do not make sense anymore. Removed them and replaced with just the XXX macro which uses ACE_TEXT. * examples/Naming/test_multiple_contexts.cpp: * examples/Naming/test_non_existent.cpp: * examples/Naming/test_writers.cpp: * performance-tests/Misc/test_naming.cpp: * tests/Naming_Test.cpp: * tests/SString_Test.cpp: All of these were still being disabled when ACE_HAS_WCHAR wasn't defined. Since the naming stuff was changed to work without ACE_HAS_WCHAR, these were reenabled. Tue Apr 25 00:02:08 2000 Douglas C. Schmidt * ace/Log_Msg.h (ACE_Log_Msg): Split msg_ostream() into two functions, one of which allows the delete_ostream_ flag to be reset and the other that doesn't. Thanks to Boris Sukholitko for reporting this. * ace/Message_Block.i (replace_data_block): If a data block is replaced with a NULL pointer then don't bother doing certain operations! Thanks to Boris Sukholitko for reporting this. * ace/OS.i (dlerror): Changed sizeof buf to sizeof buf / sizeof buf[0] to avoid over-allocating a buffer in the ACE_TEXT_FormateMessage() function. Thanks to Valery Arkhangorodsky for reporting this. * ace/Service_Repository.cpp: The fini() method was claiming it was the close() method. Likewise, changed the close() method so that it keeps decrementing the current_size each time through the look to allow checking the respository size or doing other work from inside the fini() call. Thanks to Valery Arkhangorodsky for reporting this. Mon Apr 24 17:44:21 2000 Darrell Brunsch * ace/Object_Manager.cpp: Ai Carumba! I disabled some stuff here a while back when I first disabled the Naming Service, but forgot to enable it again once I fixed that. Mon Apr 24 16:44:22 2000 Darrell Brunsch * ace/SString.i: A couple of compilers were having problems with some casting I was doing in a const hash method. Changed the types of casts to hopefully make the compilers happy. Mon Apr 24 10:04:51 2000 Darrell Brunsch * ace/OS.cpp: Another problem with a missing parenthesis. Mon Apr 24 09:15:03 2000 Darrell Brunsch * ace/OS.i: Forgot a couple of ')'s that showed up on Lynx builds. Also, ACE_const_char doesn't exist, ACE_const_cast does. Sun Apr 23 19:51:41 2000 Darrell Brunsch * ace/ACE.cpp: * ace/Naming_Context.cpp: * ace/SOCK_Dgram_Mcast_QoS.cpp: Just tried the ACE_USES_WCHAR build and there were a couple of things that needed updating. Mainly some missing ACE_TEXT's or char's used instead of ACE_TCHAR's. * tests/Process_Mutex_Test.cpp: Was still using an old ACE_DEFAULT_MUTEX_A macro (updated to ACE_DEFAULT_MUTEX). * ace/ace_lib.dsp: Added "static" to the config names (Win32 Debug => Win32 Static Debug) so it is easier for the msvc_auto_compile.pl script to figure out which is which. Sun Apr 23 18:14:33 2000 Darrell Brunsch * ace/ace_wchar.h: Added compatibility for all the old ASYS_* macros by default. But no part of ACE/TAO should still use them anymore. This compatibility can be turned off by defining ACE_ONLY_LATEST_AND_GREATEST. * ace/SString.cpp: * ace/SString.h: * ace/SString.i: * ace/Local_Name_Space.cpp: * ace/Local_Name_Space.h: * ace/Local_Name_Space_T.h: * ace/Name_Space.cpp: * ace/Name_Space.h: * ace/Naming_Context.cpp: * ace/Naming_Context.h: * ace/Remote_Name_Space.cpp: * ace/Remote_Name_Space.h: Found a better way of support for the ACE_Name_Space classes when there isn't a wchar_t. We now define the ACE_WString to internally use a type called ACE_WSTRING_TYPE, which is defined to wchar_t unless ACE_USES_WCHAR is not defined (in which case it is defined to ACE_USHORT16). Sun Apr 23 14:27:11 2000 Darrell Brunsch * ace/CLASSIX/CLASSIX_Port.cpp: * tests/IOStream_Test.cpp: * tests/SOCK_Connector_Test.cpp: Found some old ASYS macros still hanging around in code that wasn't enabled on NT. Sat Apr 22 22:01:15 2000 Darrell Brunsch * ace/Local_Name_Space_T.cpp: * ace/Naming_Context.cpp: Fixed some wchar related changes. Sat Apr 22 20:53:11 2000 Darrell Brunsch This is my first checkin of my Unicode changes. They should be mostly harmless, since most platforms and build do not use Unicode stuff, in which these changes *should* result in the exact same behavior as before. But, if Unicode was being used, then chances are it is not going to work without a few changes. A summary of the changes are: - Standardized wide char support to the following macros: ACE_HAS_WCHAR - if not defined, ACE will not use the type wchar_t or provide any of the functions that use it. ACE_USES_WCHAR - if defined, ACE will use wchar_t instead of char for its strings (but not its buffers). This support has been mostly completed, but there are still some loose ends that need to be cleaned up. Note also that even if ACE_USES_WCHAR is defined or not, both wide and narrow versions of the string operations will be available. - Removed all the ASYS_* macros (besides ASYS_INLINE). So all code using ASYS_TEXT and ASYS_TCHAR should now use ACE_TEXT and ACE_TCHAR. And unlike their predecessers, these *will* turn into wide character versions when ACE_USES_WCHAR is defined. - Removed the macros ACE_HAS_WCHAR_TYPEDEFS_USHORT and ACE_HAS_WCHAR_TYPEDEFS_CHAR since ACE will not depend on what wchar_t defaults to. - Messed around with Windows CE support, most likely it broke it even more. I've halted my work on Windows CE until after this change, so I'll be fixing it up in upcoming checkins. - Since ACE_WString was changed, everything using it will now not be available when ACE_HAS_WCHAR is not defined. The motivation for this change was that the Unicode support was a mess and was very unintuitive. Since I was given the job of maintaining it (since I'm doing Windows CE stuff now), I decided to fix it instead of try to figure out what was currently happening. A consistent design is much easier to explain and maintain. * ace/ACE.h: * ace/ACE.i: * ace/ACE.cpp: * ace/ARGV.cpp: Removed ACE's strecpy since all it did was call ACE_OS's strecpy. * ace/ace_wchar.h: (added) Moved all the unicode specific stuff here. * ace/SString.cpp: * ace/SString.h: * ace/SString.i: ACE_WString used to use ACE_USHORT16 instead of wchar_t. I changed it so it does, since it will be more useful and intuitive this way. * ace/Log_Record.cpp: We were using ACE_OS::fwrite to print the string. This didn't work when the string was wchar_t, so this was changed to ACE_OS::fprintf instead. * TODO: * acconfig.h: * configure.in: * ace/ACE.cpp: * ace/ACE.h: * ace/ACE.i: * ace/ARGV.cpp: * ace/ARGV.h: * ace/ARGV.i: * ace/ATM_Addr.cpp: * ace/ATM_Addr.h: * ace/ATM_Connector.i: * ace/ATM_QoS.cpp: * ace/Acceptor.cpp: * ace/Acceptor.h: * ace/Activation_Queue.cpp: * ace/Addr.cpp: * ace/Arg_Shifter.cpp: * ace/Arg_Shifter.h: * ace/Asynch_Acceptor.cpp: * ace/Asynch_IO.cpp: * ace/Based_Pointer_T.cpp: * ace/Basic_Types.h: * ace/CORBA_Handler.cpp: * ace/Cache_Map_Manager_T.cpp: * ace/Cached_Connect_Strategy_T.cpp: * ace/Caching_Strategies_T.i: * ace/Capabilities.cpp: * ace/Capabilities.h: * ace/Capabilities.i: * ace/Configuration.cpp: * ace/Configuration.h: * ace/Connector.cpp: * ace/Connector.h: * ace/Containers_T.cpp: * ace/DEV_Addr.cpp: * ace/DEV_Addr.h: * ace/DEV_Addr.i: * ace/DEV_Connector.i: * ace/DLL.cpp: * ace/DLL.h: * ace/Dirent.h: * ace/Dirent.i: * ace/Dynamic_Service.cpp: * ace/Dynamic_Service.h: * ace/Env_Value_T.h: * ace/Env_Value_T.i: * ace/FIFO.cpp: * ace/FIFO.h: * ace/FIFO.i: * ace/FIFO_Recv.cpp: * ace/FIFO_Recv.h: * ace/FIFO_Recv_Msg.cpp: * ace/FIFO_Recv_Msg.h: * ace/FIFO_Send.cpp: * ace/FIFO_Send.h: * ace/FIFO_Send_Msg.cpp: * ace/FIFO_Send_Msg.h: * ace/FILE_Addr.cpp: * ace/FILE_Addr.h: * ace/FILE_Addr.i: * ace/FILE_Connector.cpp: * ace/FILE_Connector.i: * ace/Filecache.cpp: * ace/Filecache.h: * ace/Functor.h: * ace/Functor.i: * ace/Future.cpp: * ace/Get_Opt.cpp: * ace/Get_Opt.h: * ace/Handle_Set.cpp: * ace/Hash_Map_Manager_T.cpp: * ace/Hash_Map_Manager_T.i: * ace/High_Res_Timer.cpp: * ace/High_Res_Timer.h: * ace/INET_Addr.cpp: * ace/INET_Addr.h: * ace/INET_Addr.i: * ace/IO_SAP.cpp: * ace/IPC_SAP.cpp: * ace/LSOCK.cpp: * ace/LSOCK_CODgram.cpp: * ace/LSOCK_Connector.cpp: * ace/LSOCK_Dgram.cpp: * ace/Local_Name_Space.cpp: * ace/Local_Name_Space.h: * ace/Local_Name_Space_T.cpp: * ace/Local_Name_Space_T.h: * ace/Local_Tokens.cpp: * ace/Local_Tokens.h: * ace/Local_Tokens.i: * ace/Log_Msg.cpp: * ace/Log_Msg.h: * ace/Log_Record.cpp: * ace/Log_Record.h: * ace/Log_Record.i: * ace/MEM_Acceptor.cpp: * ace/MEM_Acceptor.h: * ace/MEM_Acceptor.i: * ace/MEM_Addr.cpp: * ace/MEM_Addr.h: * ace/MEM_Addr.i: * ace/MEM_Connector.cpp: * ace/MEM_SAP.cpp: * ace/MEM_SAP.h: * ace/Malloc.cpp: * ace/Malloc_T.cpp: * ace/Malloc_T.h: * ace/Malloc_T.i: * ace/Map_Manager.cpp: * ace/Map_Manager.i: * ace/Mem_Map.cpp: * ace/Mem_Map.h: * ace/Mem_Map.i: * ace/Memory_Pool.cpp: * ace/Memory_Pool.h: * ace/Message_Block.cpp: * ace/Message_Queue.cpp: * ace/Message_Queue_T.cpp: * ace/Module.cpp: * ace/Module.h: * ace/Module.i: * ace/NT_Service.cpp: * ace/NT_Service.h: * ace/NT_Service.i: * ace/Name_Proxy.cpp: * ace/Name_Request_Reply.cpp: * ace/Name_Space.cpp: * ace/Name_Space.h: * ace/Naming_Context.cpp: * ace/Naming_Context.h: * ace/OS.cpp: * ace/OS.h: * ace/OS.i: * ace/Object_Manager.cpp: * ace/Obstack.cpp: * ace/Obstack.h: * ace/POSIX_Asynch_IO.cpp: * ace/Parse_Node.cpp: * ace/Parse_Node.h: * ace/Pipe.cpp: * ace/Proactor.cpp: * ace/Process.cpp: * ace/Process.h: * ace/Process.i: * ace/Process_Manager.cpp: * ace/QoS_Manager.cpp: * ace/QoS_Session_Factory.cpp: * ace/QoS_Session_Impl.cpp: * ace/RB_Tree.cpp: * ace/RB_Tree.i: * ace/README: * ace/Read_Buffer.cpp: * ace/Registry.cpp: * ace/Registry.h: * ace/Registry_Name_Space.cpp: * ace/Remote_Name_Space.cpp: * ace/Remote_Name_Space.h: * ace/Remote_Tokens.cpp: * ace/Remote_Tokens.h: * ace/Remote_Tokens.i: * ace/SOCK.cpp: * ace/SOCK_Acceptor.cpp: * ace/SOCK_CODgram.cpp: * ace/SOCK_Connector.cpp: * ace/SOCK_Dgram.cpp: * ace/SOCK_Dgram_Bcast.cpp: * ace/SOCK_Dgram_Bcast.h: * ace/SOCK_Dgram_Mcast.cpp: * ace/SOCK_Dgram_Mcast.h: * ace/SOCK_Dgram_Mcast_QoS.cpp: * ace/SOCK_Dgram_Mcast_QoS.h: * ace/SPIPE_Acceptor.cpp: * ace/SPIPE_Addr.cpp: * ace/SPIPE_Addr.h: * ace/SPIPE_Addr.i: * ace/SPIPE_Connector.cpp: * ace/SString.cpp: * ace/SString.h: * ace/SString.i: * ace/SV_Message_Queue.cpp: * ace/SV_Semaphore_Complex.cpp: * ace/SV_Semaphore_Simple.cpp: * ace/SV_Shared_Memory.cpp: * ace/Select_Reactor_Base.cpp: * ace/Select_Reactor_T.cpp: * ace/Service_Config.cpp: * ace/Service_Config.h: * ace/Service_Config.i: * ace/Service_Manager.cpp: * ace/Service_Manager.h: * ace/Service_Object.cpp: * ace/Service_Object.h: * ace/Service_Object.i: * ace/Service_Repository.cpp: * ace/Service_Repository.h: * ace/Service_Types.cpp: * ace/Service_Types.h: * ace/Service_Types.i: * ace/Shared_Memory_MM.cpp: * ace/Shared_Memory_MM.h: * ace/Shared_Memory_MM.i: * ace/Shared_Object.cpp: * ace/Shared_Object.h: * ace/Singleton.cpp: * ace/Stats.cpp: * ace/Stats.h: * ace/Stats.i: * ace/Strategies_T.cpp: * ace/Strategies_T.i: * ace/Stream.cpp: * ace/Stream.h: * ace/Stream_Modules.cpp: * ace/Stream_Modules.h: * ace/Svc_Conf.h: * ace/Svc_Conf.l: * ace/Svc_Conf.y: * ace/Svc_Conf_l.cpp: * ace/Svc_Conf_y.cpp: * ace/Svc_Handler.cpp: * ace/Svc_Handler.h: * ace/Synch.cpp: * ace/Synch.h: * ace/Synch.i: * ace/Synch_T.cpp: * ace/Synch_T.h: * ace/Synch_T.i: * ace/System_Time.cpp: * ace/System_Time.h: * ace/TLI.cpp: * ace/TLI_Acceptor.cpp: * ace/TLI_Connector.i: * ace/TP_Reactor.cpp: * ace/TP_Reactor.i: * ace/Task_T.cpp: * ace/Task_T.h: * ace/Template_Instantiations.cpp: * ace/Thread_Manager.cpp: * ace/Time_Request_Reply.cpp: * ace/Timeprobe_T.cpp: * ace/Timer_Hash_T.cpp: * ace/Timer_Heap_T.cpp: * ace/Timer_List_T.cpp: * ace/Timer_Queue_Adapters.cpp: * ace/Timer_Queue_T.cpp: * ace/Timer_Wheel_T.cpp: * ace/Token.cpp: * ace/Token.h: * ace/Token_Collection.cpp: * ace/Token_Collection.h: * ace/Token_Collection.i: * ace/Token_Invariants.cpp: * ace/Token_Invariants.h: * ace/Token_Manager.cpp: * ace/Token_Manager.h: * ace/Token_Request_Reply.cpp: * ace/Token_Request_Reply.h: * ace/Token_Request_Reply.i: * ace/Trace.cpp: * ace/Trace.h: * ace/UPIPE_Acceptor.cpp: * ace/UPIPE_Connector.cpp: * ace/UPIPE_Connector.i: * ace/WFMO_Reactor.cpp: * ace/WFMO_Reactor.i: * ace/WIN32_Asynch_IO.cpp: * ace/WIN32_Proactor.cpp: * ace/XTI_ATM_Mcast.i: * ace/config-WinCE.h: * ace/config-all.h: * ace/config-ghs-common.h: * ace/config-tandem.h: * ace/config-win32-borland.h: * ace/config-win32-common.h: * ace/config-win32-msvc.h: * ace/config-win32-visualage.h: * ace/CLASSIX/CLASSIX_CLD_Connector.cpp: * ace/CLASSIX/CLASSIX_CO_Acceptor.cpp: * ace/CLASSIX/CLASSIX_Port.cpp: * ace/CLASSIX/CLASSIX_Port.h: * ace/CLASSIX/CLASSIX_Select_Reactor.cpp: * apps/Gateway/Gateway/Options.cpp: * apps/JAWS/PROTOTYPE/JAWS/JAWS.h: * bin/envinfo.cpp: * docs/ACE-guidelines.html: * docs/tutorials/Chap_3/mm.cpp: * examples/Connection/blocking/SPIPE-acceptor.cpp: * examples/Connection/blocking/SPIPE-acceptor.h: * examples/Connection/blocking/SPIPE-connector.cpp: * examples/Connection/blocking/SPIPE-connector.h: * examples/Connection/non_blocking/test_lsock_acceptor.cpp: * examples/Connection/non_blocking/test_lsock_connector.cpp: * examples/IPC_SAP/ATM_SAP/CPP-client.cpp: * examples/IPC_SAP/ATM_SAP/CPP-server.cpp: * examples/IPC_SAP/SOCK_SAP/CPP-inclient.cpp: * examples/IPC_SAP/SOCK_SAP/CPP-inserver-fancy.cpp: * examples/IPC_SAP/SOCK_SAP/CPP-inserver.cpp: * examples/IPC_SAP/UPIPE_SAP/ex3.cpp: * examples/Naming/test_multiple_contexts.cpp: * examples/Naming/test_non_existent.cpp: * examples/Naming/test_writers.cpp: * examples/Reactor/WFMO_Reactor/test_console_input.cpp: * examples/Reactor/WFMO_Reactor/test_directory_changes.cpp: * examples/Reactor/WFMO_Reactor/test_handle_close.cpp: * examples/Reactor/WFMO_Reactor/test_registry_changes.cpp: * examples/Registry/test_registry_iterator.cpp: * examples/Service_Configurator/Misc/Timer_Service.cpp: * examples/Service_Configurator/Misc/Timer_Service.h: * examples/Service_Configurator/Misc/main.cpp: * examples/Service_Configurator/Misc/main.dsp: * examples/Web_Crawler/Options.cpp: * examples/Web_Crawler/Options.h: * examples/Web_Crawler/URL_Addr.cpp: * examples/Web_Crawler/URL_Addr.h: * netsvcs/clients/Logger/indirect_logging.cpp: * netsvcs/clients/Naming/Client/main.cpp: * netsvcs/lib/Logging_Strategy.cpp: * netsvcs/lib/TS_Clerk_Handler.cpp: * netsvcs/lib/TS_Clerk_Handler.h: * performance-tests/Misc/test_naming.cpp: * performance-tests/Server_Concurrency/Leader_Follower/leader_follower.cpp: * performance-tests/Server_Concurrency/Queue_Based_Workers/workers.cpp: * performance-tests/TCP/tcp_test.cpp: * tests/ACE_Init_Test.dsp: * tests/ARGV_Test.cpp: * tests/Atomic_Op_Test.cpp: * tests/Auto_IncDec_Test.cpp: * tests/Barrier_Test.cpp: * tests/Basic_Types_Test.cpp: * tests/Buffer_Stream_Test.cpp: * tests/CDR_File_Test.cpp: * tests/CDR_Test.cpp: * tests/Cache_Map_Manager_Test.cpp: * tests/Cached_Accept_Conn_Test.cpp: * tests/Cached_Conn_Test.cpp: * tests/Capabilities_Test.cpp: * tests/Collection_Test.cpp: * tests/Conn_Test.cpp: * tests/DLL_Test.cpp: * tests/DLL_Test.h: * tests/DLList_Test.cpp: * tests/Dynamic_Priority_Test.cpp: * tests/Enum_Interfaces_Test.cpp: * tests/Env_Value_Test.cpp: * tests/FlReactor_Test.cpp: * tests/Future_Set_Test.cpp: * tests/Future_Test.cpp: * tests/Handle_Set_Test.cpp: * tests/Hash_Map_Bucket_Iterator_Test.cpp: * tests/Hash_Map_Manager_Test.cpp: * tests/High_Res_Timer_Test.cpp: * tests/IOStream_Test.cpp: * tests/Lazy_Map_Manager_Test.cpp: * tests/Log_Msg_Test.cpp: * tests/MM_Shared_Memory_Test.cpp: * tests/MT_Reactor_Timer_Test.cpp: * tests/MT_SOCK_Test.cpp: * tests/Malloc_Test.cpp: * tests/Map_Manager_Test.cpp: * tests/Map_Test.cpp: * tests/Mem_Map_Test.cpp: * tests/Message_Block_Test.cpp: * tests/Message_Queue_Notifications_Test.cpp: * tests/Message_Queue_Test.cpp: * tests/Naming_Test.cpp: * tests/New_Fail_Test.cpp: * tests/Notify_Performance_Test.cpp: * tests/Object_Manager_Test.cpp: * tests/OrdMultiSet_Test.cpp: * tests/Pipe_Test.cpp: * tests/Priority_Buffer_Test.cpp: * tests/Priority_Reactor_Test.cpp: * tests/Priority_Task_Test.cpp: * tests/Process_Manager_Test.cpp: * tests/Process_Mutex_Test.cpp: * tests/Process_Strategy_Test.cpp: * tests/Process_Strategy_Test.h: * tests/RB_Tree_Test.cpp: * tests/Reactor_Exceptions_Test.cpp: * tests/Reactor_Notify_Test.cpp: * tests/Reactor_Performance_Test.cpp: * tests/Reactor_Timer_Test.cpp: * tests/Reactors_Test.cpp: * tests/Reader_Writer_Test.cpp: * tests/Recursive_Mutex_Test.cpp: * tests/Reverse_Lock_Test.cpp: * tests/SOCK_Connector_Test.cpp: * tests/SOCK_Send_Recv_Test.cpp: * tests/SOCK_Test.cpp: * tests/SPIPE_Test.cpp: * tests/SString_Test.cpp: * tests/SV_Shared_Memory_Test.cpp: * tests/Semaphore_Test.cpp: * tests/Service_Config_Test.cpp: * tests/Signal_Test.cpp: * tests/Sigset_Ops_Test.cpp: * tests/Simple_Message_Block_Test.cpp: * tests/Svc_Handler_Test.cpp: * tests/TSS_Test.cpp: * tests/Task_Test.cpp: * tests/Thread_Manager_Test.cpp: * tests/Thread_Mutex_Test.cpp: * tests/Thread_Pool_Reactor_Test.cpp: * tests/Thread_Pool_Test.cpp: * tests/Time_Service_Test.cpp: * tests/Time_Value_Test.cpp: * tests/Timeprobe_Test.cpp: * tests/Timer_Queue_Test.cpp: * tests/TkReactor_Test.cpp: * tests/Tokens_Test.cpp: * tests/UPIPE_SAP_Test.cpp: * tests/Upgradable_RW_Test.cpp: * tests/XtReactor_Test.cpp: * tests/test_config.h: * websvcs/lib/URL_Addr.cpp: * websvcs/lib/URL_Addr.h: * websvcs/lib/URL_Addr.i: * websvcs/tests/Test_URL_Addr.cpp: Made all the appropriate changes to support the new wide char policy. Most changes were macro changes, changing ASYS_* to ACE_*, changing char's to ACE_TCHAR's, adding in ACE_TEXT ()'s when necessary, etc. Sat Apr 22 18:41:06 2000 Vishal Kachroo * ace/SOCK_Dgram_Mcast.h: * ace/SOCK_Dgram_Mcast.cpp: * ace/SOCK_Dgram_Mcast.i: Removed the QoS enabled overloaded methods. * ace/SOCK_Dgram_Mcast_QoS.h: * ace/SOCK_Dgram_Mcast_QoS.cpp: * ace/SOCK_Dgram_Mcast_QoS.i: Added this new class that derives from ACE_SOCK_Dgram_Mcast and handles all the QoS functionality that was being done by the latter. * ace/ace_dll.dsp: * ace/ace_lib.dsp: Added the ace/SOCK_Dgram_Mcast_QoS.{cpp,i,h} Fri Apr 21 10:23:19 2000 Darrell Brunsch * bin/msvc_auto_compile.pl: Removed all chdir's and fixed a bug with specifying multiple -dir's. Fri Apr 21 09:13:20 2000 Carlos O'Ryan * websvcs/lib/URL_Addr.cpp: The URL schemes are supposed to be case insensitive, thanks to Paul Carreiro for pointing this out. Thu Apr 20 21:05:42 2000 Darrell Brunsch * bin/msvc_auto_compile.pl: Added a -core for only the core libraries. Also fixed a problem with specifying incorrect directories and the -DLL/-Debug/etc. macros. Thu Apr 20 18:11:48 2000 Darrell Brunsch * examples/DLL/Main.dsp: * examples/DLL/Newsweek.dsp: * examples/DLL/Today.dsp * examples/Configuration/Configuration.dsw: * examples/Bounded_Packet_Relay/Bounded_Packet_Relay.dsp: * examples/Configuration/Test.dsp: * examples/IPC_SAP/ATM_SAP/ATM_SAP.dsw: * examples/IPC_SAP/ATM_SAP/CPP_client.dsp: * examples/IPC_SAP/ATM_SAP/CPP_server.dsp: * examples/IPC_SAP/SOCK_SAP/CPP_memclient.dsp: * examples/Mem_Map/file-reverse/file_reverse.dsp: * examples/NT_Service/NT_Service.dsp: * examples/NT_Service/NT_Service.dsw: * examples/OS/Process/Process.dsp: * examples/OS/Process/imore.dsp: * examples/QOS/client.dsp: * examples/QOS/server.dsp: * examples/Reactor/Misc/demuxing.dsp: * examples/Reactor/Multicast/client.dsp: * examples/Reactor/Multicast/server.dsp: * examples/Service_Configurator/Misc/Timer.dsp: * examples/Service_Configurator/Misc/main.dsp: * examples/Timer_Queue/Async_Timer_Queue_Test.dsp: * examples/Timer_Queue/Reactor_Timer_Queue_Test.dsp: * examples/Timer_Queue/Thread_Timer_Queue_Test.dsp: * examples/Timer_Queue/Timer_Queue.dsw: * examples/Web_Crawler/Web_Crawler.dsp: Fixed miscellaneous problems with these projects and workspaces. Some projects were missing from workspaces or listed incorrectly. Many project didn't have the correct include paths or definitions. * examples/Reactor/Proactor/post_completion.dsp: (removed) There was already a post_completions.dsp that was being used. * examples/OS/Process/imore.cpp: * examples/OS/Process/process.cpp: Changed the type of the variables used with Process::wait from int to ACE_exitcode. * examples/Reactor/WFMO_Reactor/test_abandoned.cpp: * examples/Reactor/WFMO_Reactor/test_apc.cpp: Missing parentheses. * Synch-Benchmarks/Synch_Lib/Synch_Lib.dsp: Changed the name of the project so win32_auto_compile.pl works with it properly. * bin/msvc_auto_compile.pl: (added) This is a new script for autocompiling with MSVC 6. Eventually this should replace auto_compile_win32.pl. It still needs more directories added to it and tested before we put it into production * bin/vc_filter.pl: Updated to properly color code output from msvc_auto_compile.pl also. Thu Apr 20 09:50:49 2000 Carlos O'Ryan * ace/RB_Tree.h: * ace/RB_Tree.i: Fixed implementation of the end() method. It should return a singular iterator that is different from all valid iterator, not an iterator pointing to the last element in the collection. Thu Apr 20 08:53:31 2000 Carlos O'Ryan * ace/CDR_Stream.i: Fixed problem in the align_write_ptr() method. It was optimized for the case where there was enough room in the current buffer, but the optimization broke with a previous fix from Feb 29. Thu Apr 20 08:40:00 2000 Chris Gill * examples/Bounded_Packet_Relay/BPR_Drivers_T.h, examples/Bounded_Packet_Relay/Thread_Bounded_Packet_Relay.cpp: Fixed warnings from g++ Wed Apr 19 21:53:52 2000 Douglas C. Schmidt * examples/Bounded_Packet_Relay: Added some missing template instantiations and other assorted problems. Thanks to Aoxiang Xu for reporting these. Wed Apr 19 07:04:13 2000 Douglas C. Schmidt * ace/Containers_T.cpp (copy_nodes): insert_head() should have been insert_tail(). Thanks to Umar Syyid for clarifying this. Also, added some comments to explain what's going on in insert_tail() since the code was somewhat non-intuitive ;-). Wed Apr 19 15:00:44 2000 Carlos O'Ryan * apps/Makefile: * apps/drwho/Makefile: * performance-tests/Makefile: * performance-tests/Server_Concurrency/Leader_Follower/Makefile: * performance-tests/Server_Concurrency/Queue_Based_Workers/Makefile: More Makefiles that were not in the default compilation path, added them and update dependencies. * bin/Makefile: * examples/Bounded_Packet_Relay/Makefile: * examples/QOS/Makefile: * performance-tests/RPC/Makefile: * performance-tests/Synch-Benchmarks/Base_Test/Makefile: * performance-tests/Synch-Benchmarks/Perf_Test/Makefile: * performance-tests/Synch-Benchmarks/Synch_Lib/Makefile: * ASNMP/asnmp/Makefile: * ASNMP/examples/get/Makefile: * ASNMP/examples/next/Makefile: * ASNMP/examples/set/Makefile: * ASNMP/examples/trap/Makefile: * ASNMP/examples/walk/Makefile: * ASNMP/tests/Makefile: Just updated dependencies. More fixes are needed to put them in the normal compilation path. * performance-tests/Server_Concurrency/Queue_Based_Workers/workers.cpp: * performance-tests/Server_Concurrency/Leader_Follower/leader_follower.cpp: They wouldn't compile on platforms that lack context switch counters in rusage. Conditionally compile that code to avoid the problem. Wed Apr 19 14:09:29 2000 Darrell Brunsch * etc/Svc_Conf_l.cpp.diff: Fixed the diff so it generates the correct Svc_Conf_l.cpp. Wed Apr 19 12:48:21 2000 Balachandran Natarajan * ace/ACE.cpp: Added a missing pointer in the signature of ACE::t_rcv_n_i (). Wed Apr 19 10:11:23 2000 Darrell Brunsch * tests/Atomic_Op_Test.dsp: * tests/Auto_IncDec_Test.dsp: * tests/Barrier_Test.dsp: * tests/Basic_Types_Test.dsp: * tests/Buffer_Stream_Test.dsp: * tests/CDR_File_Test.dsp: * tests/CDR_Test.dsp: * tests/Cache_Map_Manager_Test.dsp: * tests/Cached_Accept_Conn_Test.dsp: * tests/Cached_Conn_Test.dsp: * tests/Capabilities_Test.dsp: * tests/Collection_Test.dsp: * tests/Conn_Test.dsp: * tests/DLList_Test.dsp: * tests/Dynamic_Priority_Test.dsp: * tests/Enum_Interfaces_Test.dsp: * tests/Env_Value_Test.dsp: * tests/Future_Set_Test.dsp: * tests/Future_Test.dsp: * tests/Handle_Set_Test.dsp: * tests/Hash_Map_Bucket_Iterator_Test.dsp: * tests/Hash_Map_Manager_Test.dsp: * tests/High_Res_Timer_Test.dsp: * tests/IOStream_Test.dsp: * tests/Lazy_Map_Manager_Test.dsp: * tests/MM_Shared_Memory_Test.dsp: * tests/MT_Reactor_Timer_Test.dsp: * tests/MT_SOCK_Test.dsp: * tests/Malloc_Test.dsp: * tests/Map_Manager_Test.dsp: * tests/Map_Test.dsp: * tests/Mem_Map_Test.dsp: * tests/Message_Block_Test.dsp: * tests/Message_Queue_Notifications_Test.dsp: * tests/Message_Queue_Test.dsp: * tests/Naming_Test.dsp: * tests/New_Fail_Test.dsp: * tests/Notify_Performance_Test.dsp: * tests/Object_Manager_Test.dsp: * tests/OrdMultiSet_Test.dsp: * tests/Pipe_Test.dsp: * tests/Priority_Buffer_Test.dsp: * tests/Priority_Reactor_Test.dsp: * tests/Priority_Task_Test.dsp: * tests/Process_Manager_Test.dsp: * tests/Process_Mutex_Test.dsp: * tests/Process_Strategy_Test.dsp: * tests/RB_Tree_Test.dsp: * tests/Reactor_Exceptions_Test.dsp: * tests/Reactor_Notify_Test.dsp: * tests/Reactor_Performance_Test.dsp: * tests/Reactor_Timer_Test.dsp: * tests/Reactors_Test.dsp: * tests/Reader_Writer_Test.dsp: * tests/Recursive_Mutex_Test.dsp: * tests/Reverse_Lock_Test.dsp: * tests/SOCK_Connector_Test.dsp: * tests/SOCK_Send_Recv_Test.dsp: * tests/SOCK_Test.dsp: * tests/SPIPE_Test.dsp: * tests/SString_Test.dsp: * tests/SV_Shared_Memory_Test.dsp: * tests/Semaphore_Test.dsp: * tests/Service_Config_Test.dsp: * tests/Sigset_Ops_Test.dsp: * tests/Simple_Message_Block_Test.dsp: * tests/Svc_Handler_Test.dsp: * tests/TSS_Test.dsp: * tests/Task_Test.dsp: * tests/Thread_Manager_Test.dsp: * tests/Thread_Mutex_Test.dsp: * tests/Thread_Pool_Reactor_Test.dsp: * tests/Thread_Pool_Test.dsp: * tests/Time_Service_Test.dsp: * tests/Time_Value_Test.dsp: * tests/Timeprobe_Test.dsp: * tests/Timer_Queue_Test.dsp: * tests/Tokens_Test.dsp: * tests/UPIPE_SAP_Test.dsp: * tests/Upgradable_RW_Test.dsp: * tests/pharlap/Atomic_Op_Test.dsp: (added) * tests/pharlap/Auto_IncDec_Test.dsp: (added) * tests/pharlap/Barrier_Test.dsp: (added) * tests/pharlap/Basic_Types_Test.dsp: (added) * tests/pharlap/Buffer_Stream_Test.dsp: (added) * tests/pharlap/CDR_File_Test.dsp: (added) * tests/pharlap/CDR_Test.dsp: (added) * tests/pharlap/Cache_Map_Manager_Test.dsp: (added) * tests/pharlap/Cached_Accept_Conn_Test.dsp: (added) * tests/pharlap/Cached_Conn_Test.dsp: (added) * tests/pharlap/Capabilities_Test.dsp: (added) * tests/pharlap/Collection_Test.dsp: (added) * tests/pharlap/Conn_Test.dsp: (added) * tests/pharlap/DLList_Test.dsp: (added) * tests/pharlap/Dynamic_Priority_Test.dsp: (added) * tests/pharlap/Enum_Interfaces_Test.dsp: (added) * tests/pharlap/Env_Value_Test.dsp: (added) * tests/pharlap/Future_Set_Test.dsp: (added) * tests/pharlap/Future_Test.dsp: (added) * tests/pharlap/Handle_Set_Test.dsp: (added) * tests/pharlap/Hash_Map_Bucket_Iterator_Test.dsp: (added) * tests/pharlap/Hash_Map_Manager_Test.dsp: (added) * tests/pharlap/High_Res_Timer_Test.dsp: (added) * tests/pharlap/IOStream_Test.dsp: (added) * tests/pharlap/Lazy_Map_Manager_Test.dsp: (added) * tests/pharlap/MM_Shared_Memory_Test.dsp: (added) * tests/pharlap/MT_Reactor_Timer_Test.dsp: (added) * tests/pharlap/MT_SOCK_Test.dsp: (added) * tests/pharlap/Malloc_Test.dsp: (added) * tests/pharlap/Map_Manager_Test.dsp: (added) * tests/pharlap/Map_Test.dsp: (added) * tests/pharlap/Mem_Map_Test.dsp: (added) * tests/pharlap/Message_Block_Test.dsp: (added) * tests/pharlap/Message_Queue_Notifications_Test.dsp: (added) * tests/pharlap/Message_Queue_Test.dsp: (added) * tests/pharlap/Naming_Test.dsp: (added) * tests/pharlap/New_Fail_Test.dsp: (added) * tests/pharlap/Notify_Performance_Test.dsp: (added) * tests/pharlap/Object_Manager_Test.dsp: (added) * tests/pharlap/OrdMultiSet_Test.dsp: (added) * tests/pharlap/Pipe_Test.dsp: (added) * tests/pharlap/Priority_Buffer_Test.dsp: (added) * tests/pharlap/Priority_Reactor_Test.dsp: (added) * tests/pharlap/Priority_Task_Test.dsp: (added) * tests/pharlap/Process_Manager_Test.dsp: (added) * tests/pharlap/Process_Mutex_Test.dsp: (added) * tests/pharlap/Process_Strategy_Test.dsp: (added) * tests/pharlap/RB_Tree_Test.dsp: (added) * tests/pharlap/Reactor_Exceptions_Test.dsp: (added) * tests/pharlap/Reactor_Notify_Test.dsp: (added) * tests/pharlap/Reactor_Performance_Test.dsp: (added) * tests/pharlap/Reactor_Timer_Test.dsp: (added) * tests/pharlap/Reactors_Test.dsp: (added) * tests/pharlap/Reader_Writer_Test.dsp: (added) * tests/pharlap/Recursive_Mutex_Test.dsp: (added) * tests/pharlap/Reverse_Lock_Test.dsp: (added) * tests/pharlap/SOCK_Connector_Test.dsp: (added) * tests/pharlap/SOCK_Send_Recv_Test.dsp: (added) * tests/pharlap/SOCK_Test.dsp: (added) * tests/pharlap/SPIPE_Test.dsp: (added) * tests/pharlap/SString_Test.dsp: (added) * tests/pharlap/SV_Shared_Memory_Test.dsp: (added) * tests/pharlap/Semaphore_Test.dsp: (added) * tests/pharlap/Service_Config_Test.dsp: (added) * tests/pharlap/Sigset_Ops_Test.dsp: (added) * tests/pharlap/Simple_Message_Block_Test.dsp: (added) * tests/pharlap/Svc_Handler_Test.dsp: (added) * tests/pharlap/TSS_Test.dsp: (added) * tests/pharlap/Task_Test.dsp: (added) * tests/pharlap/Thread_Manager_Test.dsp: (added) * tests/pharlap/Thread_Mutex_Test.dsp: (added) * tests/pharlap/Thread_Pool_Reactor_Test.dsp: (added) * tests/pharlap/Thread_Pool_Test.dsp: (added) * tests/pharlap/Time_Service_Test.dsp: (added) * tests/pharlap/Time_Value_Test.dsp: (added) * tests/pharlap/Timeprobe_Test.dsp: (added) * tests/pharlap/Timer_Queue_Test.dsp: (added) * tests/pharlap/Tokens_Test.dsp: (added) * tests/pharlap/UPIPE_SAP_Test.dsp: (added) * tests/pharlap/Upgradable_RW_Test.dsp: (added) * tests/pharlap/pharlap_tests.dsw: (added) Moved all the pharlap configurations to their own dsp files in their own subdirectory. This was done so those of us who don't have pharlap can load tests.dsw and do a select all in the Build All window and only get the relavant builds. * tests/run_pharlap_tests.bat: (removed) * tests/pharlap/run_pharlap_tests.bat: (added) Moved this file to the pharlap directory also. Wed Apr 19 10:03:10 2000 Carlos O'Ryan * ace/SOCK_Stream.i: The new flag was present but not used in several methods, just forward them to the ACE::xxx() operation. Wed Apr 19 08:18:30 2000 Carlos O'Ryan * */Makefile: Updated all the dependencies Wed Apr 19 09:44:14 2000 Jeff Parsons * ace/Log_Msg.cpp: Changed the signature of a (WIN32-specific) call to send_n, to resolve a function overload ambiguity on NT. Wed Apr 19 00:00:29 2000 Irfan Pyarali * ace: There are two general use cases of the _n() methods: (1) The method keeps looping, until all the data has been transmitted, or until timeout occurs, or until the handle is closed. This use case occurs when one does not know how much data is coming across in the case of a recv(), or one wants to know exactly how much data was sent in the case of a send(). And one don't want to treat a premature eof as an error but wants to know the exact number of bytes that have been transferred so far. (2) In other cases when one knows exactly how much data is coming across in the case of recv(), or how much data needs to be transmitted in the case of a send(). Premature closing of the handle is usually an error. By adding an additional parameter to all the _n() methods, the above two use cases can be distinguished. The following files were modified: - OS - ACE - SOCK_Stream - TLI_Stream The other IO classes such as FIFO, MEM_IO, PIPE, etc., should also include this change. However, they should first get fixed with respect to timeouts. If comes before timeouts, ordering of the parameters will get messed up. Thanks to Steffen Winther Sorensen for reporting this second use of the _n() methods. * ace/OS.h: t_snd() interface was fixed. The buffer parameter should be const. * ace/ACE: Added support for TLI I/O functions to the ACE class. Tue Apr 18 19:08:37 2000 Darrell Brunsch * ace/config-all.h: (added) * ace/inc_user_config.h: (removed) * ace/Codeset_IBM1047.h: * ace/NT_Service.h: * ace/config-win32-common.h: * ace/OS.h: Started moving several of the macros from OS.h to config-all.h. The plan is to eventually split up OS.h, and config-all is a place where the macros (which are not specific to any part of ACE_OS) can go. config-all.h also ate inc_user_config.h. * ASNMP/agent/main.cpp: * ace/iosfwd.h: * ace/streams.h: * apps/JAWS/PROTOTYPE/JAWS/Assoc_Array.cpp: * tests/OrdMultiSet_Test.cpp: * tests/Time_Value_Test.cpp: * tests/test_config.h: Since inc_user_config.h was eaten, needed to change includes of it to config-all.h. * bin/generate_export_file.pl: (added) * bin/GenExportH.BAT: (removed) Replaced the batch file with a perl file so - people can generate on other platforms - it can generate Word_export and WORD_BUILD_DLL (the batch file couldn't change the case of the key) * ace/ACE_export.h: (added) * ace/svc_export.h: (added) Took the existing ACE_Export and ACE_Svc_Export macro and moved them to separate files. Also tested out the new generate_export_file.pl. * ace/ACE.cpp: * ace/ARGV.cpp: * ace/ATM_Acceptor.cpp: * ace/ATM_Addr.cpp: * ace/ATM_Connector.cpp: * ace/ATM_Params.cpp: * ace/ATM_QoS.cpp: * ace/ATM_Stream.cpp: * ace/Acceptor.cpp: * ace/Activation_Queue.cpp: * ace/Active_Map_Manager.cpp: * ace/Addr.cpp: * ace/Arg_Shifter.cpp: * ace/Asynch_Acceptor.cpp: * ace/Asynch_IO.cpp: * ace/Asynch_IO_Impl.cpp: * ace/Auto_IncDec_T.cpp: * ace/Auto_Ptr.cpp: * ace/Based_Pointer_Repository.cpp: * ace/Based_Pointer_T.cpp: * ace/Basic_Types.cpp: * ace/CDR_Stream.cpp: * ace/CORBA_Handler.cpp: * ace/CORBA_Ref.cpp: * ace/Cache_Map_Manager_T.cpp: * ace/Cached_Connect_Strategy_T.cpp: * ace/Capabilities.cpp: * ace/Cleanup_Strategies_T.cpp: * ace/Configuration.cpp: * ace/Connector.cpp: * ace/Containers.cpp: * ace/Containers_T.cpp: * ace/DEV.cpp: * ace/DEV_Addr.cpp: * ace/DEV_Connector.cpp: * ace/DEV_IO.cpp: * ace/DLL.cpp: * ace/Date_Time.cpp: * ace/Dirent.cpp: * ace/Dump.cpp: * ace/Dynamic.cpp: * ace/Dynamic_Service.cpp: * ace/Event_Handler.cpp: * ace/Event_Handler_T.cpp: * ace/FIFO.cpp: * ace/FIFO_Recv.cpp: * ace/FIFO_Recv_Msg.cpp: * ace/FIFO_Send.cpp: * ace/FIFO_Send_Msg.cpp: * ace/FILE.cpp: * ace/FILE_Addr.cpp: * ace/FILE_Connector.cpp: * ace/FILE_IO.cpp: * ace/Filecache.cpp: * ace/FlReactor.cpp: * ace/Functor.cpp: * ace/Functor_T.cpp: * ace/Future.cpp: * ace/Future_Set.cpp: * ace/Get_Opt.cpp: * ace/Handle_Set.cpp: * ace/Hash_Cache_Map_Manager_T.cpp: * ace/Hash_Map_Manager.cpp: * ace/High_Res_Timer.cpp: * ace/INET_Addr.cpp: * ace/IOStream.cpp: * ace/IOStream_T.cpp: * ace/IO_SAP.cpp: * ace/IPC_SAP.cpp: * ace/LSOCK.cpp: * ace/LSOCK_Acceptor.cpp: * ace/LSOCK_CODgram.cpp: * ace/LSOCK_Connector.cpp: * ace/LSOCK_Dgram.cpp: * ace/LSOCK_Stream.cpp: * ace/Local_Name_Space.cpp: * ace/Local_Name_Space_T.cpp: * ace/Local_Tokens.cpp: * ace/Log_Msg.cpp: * ace/Log_Record.cpp: * ace/MEM_Acceptor.cpp: * ace/MEM_Addr.cpp: * ace/MEM_Connector.cpp: * ace/MEM_IO.cpp: * ace/MEM_SAP.cpp: * ace/MEM_Stream.cpp: * ace/Malloc.cpp: * ace/Malloc_T.cpp: * ace/Managed_Object.cpp: * ace/Map.cpp: * ace/Map_Manager.cpp: * ace/Mem_Map.cpp: * ace/Memory_Pool.cpp: * ace/Message_Block.cpp: * ace/Message_Block_T.cpp: * ace/Message_Queue.cpp: * ace/Message_Queue_T.cpp: * ace/Method_Request.cpp: * ace/Module.cpp: * ace/Msg_WFMO_Reactor.cpp: * ace/Multiplexor.cpp: * ace/NT_Service.cpp: * ace/Name_Proxy.cpp: * ace/Name_Request_Reply.cpp: * ace/Name_Space.cpp: * ace/Naming_Context.cpp: * ace/OS.cpp: * ace/Object_Manager.cpp: * ace/Obstack.cpp: * ace/POSIX_Proactor.cpp: * ace/Pair.cpp: * ace/Parse_Node.cpp: * ace/Pipe.cpp: * ace/Priority_Reactor.cpp: * ace/Proactor.cpp: * ace/Process.cpp: * ace/Process_Manager.cpp: * ace/Profile_Timer.cpp: * ace/QoS_Manager.cpp: * ace/QoS_Session_Factory.cpp: * ace/QoS_Session_Impl.cpp: * ace/Reactor.cpp: * ace/Read_Buffer.cpp: * ace/Registry.cpp: * ace/Registry_Name_Space.cpp: * ace/Remote_Name_Space.cpp: * ace/Remote_Tokens.cpp: * ace/SOCK.cpp: * ace/SOCK_Acceptor.cpp: * ace/SOCK_CODgram.cpp: * ace/SOCK_Connector.cpp: * ace/SOCK_Dgram.cpp: * ace/SOCK_Dgram_Bcast.cpp: * ace/SOCK_Dgram_Mcast.cpp: * ace/SOCK_IO.cpp: * ace/SOCK_Stream.cpp: * ace/SPIPE.cpp: * ace/SPIPE_Acceptor.cpp: * ace/SPIPE_Addr.cpp: * ace/SPIPE_Connector.cpp: * ace/SPIPE_Stream.cpp: * ace/SString.cpp: * ace/SV_Message.cpp: * ace/SV_Message_Queue.cpp: * ace/SV_Semaphore_Complex.cpp: * ace/SV_Semaphore_Simple.cpp: * ace/SV_Shared_Memory.cpp: * ace/Sched_Params.cpp: * ace/Select_Reactor.cpp: * ace/Select_Reactor_Base.cpp: * ace/Select_Reactor_T.cpp: * ace/Service_Config.cpp: * ace/Service_Manager.cpp: * ace/Service_Object.cpp: * ace/Service_Repository.cpp: * ace/Service_Types.cpp: * ace/Shared_Memory.cpp: * ace/Shared_Memory_MM.cpp: * ace/Shared_Memory_SV.cpp: * ace/Shared_Object.cpp: * ace/Signal.cpp: * ace/Singleton.cpp: * ace/Stats.cpp: * ace/Strategies.cpp: * ace/Strategies_T.cpp: * ace/Stream.cpp: * ace/Stream_Modules.cpp: * ace/Svc_Conf.y: * ace/Svc_Conf_l.cpp: * ace/Svc_Conf_y.cpp: * ace/Svc_Handler.cpp: * ace/Synch.cpp: * ace/Synch_Options.cpp: * ace/Synch_T.cpp: * ace/System_Time.cpp: * ace/TLI.cpp: * ace/TLI_Acceptor.cpp: * ace/TLI_Connector.cpp: * ace/TLI_Stream.cpp: * ace/TP_Reactor.cpp: * ace/TTY_IO.cpp: * ace/Task.cpp: * ace/Task_T.cpp: * ace/Thread.cpp: * ace/Thread_Manager.cpp: * ace/Time_Request_Reply.cpp: * ace/Timeprobe.cpp: * ace/Timer_Hash.cpp: * ace/Timer_Hash_T.cpp: * ace/Timer_Heap.cpp: * ace/Timer_Heap_T.cpp: * ace/Timer_List.cpp: * ace/Timer_List_T.cpp: * ace/Timer_Queue.cpp: * ace/Timer_Queue_Adapters.cpp: * ace/Timer_Queue_T.cpp: * ace/Timer_Wheel.cpp: * ace/Timer_Wheel_T.cpp: * ace/TkReactor.cpp: * ace/Token.cpp: * ace/Token_Collection.cpp: * ace/Token_Invariants.cpp: * ace/Token_Manager.cpp: * ace/Token_Request_Reply.cpp: * ace/Trace.cpp: * ace/Typed_SV_Message.cpp: * ace/Typed_SV_Message_Queue.cpp: * ace/UNIX_Addr.cpp: * ace/UPIPE_Acceptor.cpp: * ace/UPIPE_Connector.cpp: * ace/UPIPE_Stream.cpp: * ace/WFMO_Reactor.cpp: * ace/WIN32_Asynch_IO.cpp: * ace/WIN32_Proactor.cpp: * ace/XTI_ATM_Mcast.cpp: * ace/XtReactor.cpp: * include/makeinclude/ace_flags.bor: * ace/ace_dll.dsp: * ace/ace_lib.dsp: The definition of ACE_BUILD_DLL was moved from the .cpp files to the project files - so it is now handled like most of the other libraries in ACE and TAO. Tue Apr 18 21:32:21 2000 Douglas C. Schmidt * ace/OS.i (sema_init): Fixed another problem that required a cast to ACE_mutexattr_t *. Thanks to Priyanka for reporting this. Tue Apr 18 19:39:41 2000 Douglas C. Schmidt * ace/Synch.cpp, * ace/OS.cpp: Added a cast to ACE_mutexattr_t *. Thanks to Darrell for pointing this out. Tue Apr 18 15:18:53 2000 Douglas C. Schmidt * ace/OS.h, * ace/OS.i, * ace/Synch.h, * ace/Synch.cpp: Updated the ACE_OS::*mutex_init() methods (and the corresponding ACE_Thread_Mutex, ACE_Mutex, and ACE_Recursive_Thread_Mutex classes) so that they now take an optional ACE_mutexattr_t * rather than just a void *. This is nice because it makes it possible to pass in special attributes, such as the mutex prioceiling attribute, to the underlying pthreads mutex (assuming we're running on pthreads, of course). Thanks to lafortg@res.raytheon.com for motivating this. * ace/Containers_T.cpp (copy_nodes): Added a call to the allocator->malloc() rather than new. Thanks to Umar Syyid for reporting this. Tue Apr 18 14:06:32 2000 Jeff Parsons * ace/CDR_Stream.cpp: Patch to ACE_CDR::consolidate() sent in by Carlos, that fixes a bug reported by Harald Finster , and an added check for 0 value of the 'length' arg in read_array() and write_array(), that fixes [Bug 540], reported by Mathew Samuel . Tue Apr 18 11:47:57 2000 Ossama Othman * ace/SOCK_Connector.cpp: Removed inclusion of `ace/Handle_Set.h'. The ACE_SOCK_Connector doesn't directly use an ACE_Handle_Set. * ace/Makefile: Updated dependencies. Tue Apr 18 08:54:04 2000 Darrell Brunsch * bin/vc_filter.pl: Brand spankin' new filter script for Win32 auto build results. Sun Apr 16 22:24:34 2000 Douglas C. Schmidt * ACE-INSTALL.html: Updated the link for GNU make to be more specific. Thanks to Xiaojun Wu for reporting this. BTW, Xiaojun was the 900th contributor to ACE+TAO, so he gets a free copy of ACE+TAO! Mon Apr 17 20:10:18 2000 Vishal * ACE version 5.1.1 released. Mon Apr 17 16:33:17 2000 Ossama Othman * acconfig.h (ACE_LACKS_ACE_OTHER, ACE_LACKS_ACE_SVCCONF, ACE_LACKS_ACE_TOKEN): Added support for these macros. They are used when enabling subsetting. * configure.in: lseek64() and llseek() test has been moved to `m4/acinclude.m4'. Include `sys/types.h' when running the TLI/XTI tests. Some platforms use typedefs such as "ulong" but such typedefs may not be defined in the TLI/XTI headers. (ACE_HAS_BROKEN_T_ERROR): Corrected test for broken t_error(). A variable, "errmsg" was being passed to the t_error() call in the test, but the variable was declared as "ace_errmsg." Thanks to Roland Gigler for pointing this out. (ACE_MAJOR, ACE_MINOR, ACE_BETA): If any of these variables is evaluates to the empty string, then set it to zero. This fixes a problem that was occuring when the the ACE version contained no beta number (e.g. "5.1" instead "5.1.0"). Libtool didn't like the fact that one of the numbers was an empty string. * ace/Makefile.am (libACE_IPC_la_SOURCES, libACE_Other_la_SOURCES, HEADER_FILES, INLINE_FILES): Synchronized the sources associated with these Makefile variables with those in the classical ACE Makefile. * m4/acinclude.m4 (ACE_CHECK_LSEEK64): Moved checks for lseek64() and llseek() from configure.in to this file. The beginnings of a test for a 64 bit offset type have also been added, but that test is currently not in use. * m4/ace.m4 (ACE_COMPILATION_OPTIONS): Removed check for exception support in C compiler. It didn't make too much sense to check for exception support in a C compiler. Since exception support is disabled by default, make sure "-fno-exceptions" is set when using g++ with the default ACE exception configuration value. * m4/compiler.m4 (ACE_SET_COMPILER_FLAGS): Fixed typos where "$GXX" was used instead of "$CXX." "$GXX" is set to yes when GNU C++ is being used, and "$CXX" is set to the compiler being used (e.g. "c++"). Thanks to Rich Seibel for pointing this out. This also fixes a problem where "-fcheck-new" wasn't being added to the C++ flags ($CXXFLAGS). * m4/subsets.m4 (ACE_LACKS_ACE_OTHER, ACE_LACKS_ACE_SVCCONF, ACE_LACKS_ACE_TOKEN): When disabling the "Other," "SvcConf" and/or the "Token" subset, then define the corresponding preprocessor macro. Sat Apr 15 21:49:04 2000 Darrell Brunsch * ace/ACE.cpp: * apps/Gateway/Gateway/Options.cpp: Nick Pratt reported two cases where we were using sizeof some_string to figure out its length. This of course doesn't work when the string is a wide string, so they have been changed to account for the character size. * ace/ace_dll.dsp: * ace/ace_lib.dsp: * apps/gperf/src/gperf.dsp: * apps/gperf/src/gperf_lib.dsp: Changed around the order of the configurations so that in the default case (such as out of the box) the regular Debug version will be the current configuration. Sat Apr 15 19:35:57 2000 Darrell Brunsch (On behalf of Christopher Kohlhoff ) * ace/Makefile.bor: Added new file QoS_Manager.cpp. * ace/Basic_Types.h: * ace/Timer_Queue_Adapters.h: Added missing pre/post includes. * include/makeinclude/ace_flags.bor: * include/makeinclude/build_example.bor: Updated for new orbsvcs libraries. Sat Apr 15 18:17:02 2000 Douglas C. Schmidt * apps/Gateway/Gateway/Concrete_Connection_Handlers.cpp: Fixed the handle_output() function so that it does the "Right Thing"[TM] on Windows NT. Win32 Winsock doesn't trigger multiple "You can write now" signals, so we have to assume that we can continue to write until we get another EWOULDBLOCK. Thanks to Nick Pratt Thu Apr 13 16:30:01 2000 David L. Levine * ace/config-sunos5.7.h: added #undef ACE_NEEDS_LWP_PRIO_SET. SunOS 5.7 no longer needs it, as shown by performance-tests/Misc/preempt (run as superuser). Thanks to John Foresteire for reporting this. Tue Apr 11 21:41:20 2000 Nanbor Wang * bin/auto_compile_win32.pl: Updated the lists of workspaces/projects to build. Tue Apr 11 16:15:31 2000 David L. Levine * ace/OS.cpp: moved ACE_Thread_Exit::is_constructed_ definition so that it's seen on all platforms, not just those that are ACE_MT_SAFE. Fixes: Mon Apr 10 07:30:22 2000 John Rodgers Thanks to Vishal for reporting it. Tue Apr 11 13:57:11 2000 Douglas C. Schmidt * ace/Synch_T.cpp: Make sure to cast the "type" argument to "short" to avoid overload confusions by certain compilers. Thanks to Charles Taurines for reporting this. Tue Apr 11 12:52:04 2000 Vishal Kachroo * ace/SOCK_Dgram_Mcast.cpp (subscribe): Removed the #ifdef for template instantiation. Tue Apr 11 11:32:03 2000 Chad Elliott * bin/ACEutils.pm Refactored duplicate test code into ACEutils.pm Mon Apr 10 19:45:32 2000 Vishal Kachroo * ace/SOCK_Dgram_Mcast.cpp (subscribe): Added a #ifdef to get past a g++ error. I am looking into the right way to do this. Mon Apr 10 17:37:53 2000 Nanbor Wang * ace/config-freebsd-pthread.h: Addplied John Aughey 's patch for FreeBSD 4.0. Mon Apr 10 07:30:22 2000 John Rodgers * ace/OS.{h,cpp},Thread_Manager.cpp (instance,~ACE_Thread_Exit): added a state variable, is_constructed_, to ACE_Thread_Exit. instance () sets it, ~ACE_Thread_Exit () clears it. This allows ACE::init () to be called after ACE::fini (), because a new ACE_Thread_Exit instance will be created. [Bug 526] Sun Apr 9 14:16:23 2000 James CE Johnson * docs/tutorials/015/page01.html : Thanks to Conrad Hughes for pointing out that a real implementation would compress before encrypting since encrypted data shouldn't really be compressible anyway. * docs/tutorials/015/Protocol_Stream.cpp (open): Reorder the module pushing so that encryption happens before compression. * docs/tutorials/015/Crypt.cpp : * docs/tutorials/015/Compressor.cpp : Add a few extra bytes when creating the new message blocks. A real implementation would probably need that. Sun Apr 09 00:04:25 2000 Nanbor Wang * ace/Malloc_T.cpp (remove): Removed invocation of destructor to . It is a member of Control_Block and does not require explicit initialization/destruction. This was causing ACE not to compile when ACE_HAS_MALLOC_STATS was defined. Thanks to John Smyder for reporting the problem. * ace/Malloc_T.cpp (open): Removed invocation of contructor to for the same reason. Fri Apr 07 23:32:16 2000 Nanbor Wang * ace/ace_dll.dsp: * ace/ace_lib.dsp: Added QoS_Manager.* into project files. Thu Apr 6 07:29:48 2000 Douglas C. Schmidt * ace/Token.h (ACE_Token): Clarified the recursive semantics of ACE_Token. Thanks to Antti Valtokari for reporting this. Wed Apr 5 22:59:58 2000 Douglas C. Schmidt * ace/config-sunos5.5.h: Moved the ACE_HAS_USING_KEYWORD into the part of this header file that's enabled when __SUNPRO_CC_COMPAT >= 5 is defined. Thanks to Susan Liebeskind for reporting this. Tue Apr 4 23:50:02 2000 Douglas C. Schmidt * ace/ACE.cpp (sock_error): Changed "int error" to "ssize_t error" to be consistent... Tue Apr 4 20:19:36 2000 * ace/Acceptor.cpp: Modified the implementation of ACE_Acceptor::open() and ACE_Acceptor::accept_svc_handler() so that the peer acceptor's handle is set into non-blocking mode. This is a safe-guard against the race condition that can otherwise occur between the time when