Fri Jul 5 10:30:44 2002 Douglas C. Schmidt * ace/Array_Base.cpp: Swapped the order of includes so that Array_Base.h comes after Malloc_Base.h. Thanks to Al Pariante for reporting this. Thu Jul 4 11:27:05 2002 Douglas C. Schmidt * Happy 226th Birthday USA! Sat Jul 06 19:32:40 2002 Balachandran Natarajan * ace/Time_Value.h (ACE_Time_Value): Fix for [BUGID 1240]. Some of the operators were missing explicit declarations in the header file (they were anyway defined in the inlined files) which created problems in builds where inlining was diabled. Please see http://bugzilla.dre.vanderbilt.edu/show_bug.cgi?id=1240 for more details. Thanks to Marina Spivak for reporting this. Fri Jul 5 18:44:39 2002 Steve Huston * ace/ACE.cpp: Corrected undeclared 'select_width' errors and signed/unsigned mismatch warnings. Fri Jul 5 16:14:51 2002 Steve Huston * ace/OS.{h i} (send, sendto, recv, recvfrom): Change 'len' argument from int to size_t. Removed conditional typedef of ssize_t; it's done in Basic_Types.h. * ace/ACE.h (recv): Filled in documentation for varargs variant. * ace/ACE.cpp (send, recv): Properly convert size_t 'count' arg to int iovec count for call to ACE_OS::sendv/recvv(). (handle_timed_accept, handle_timed_complete, handle_ready): Use an int select_width for ACE_OS::select() calls to get the types correct. This arg is ignored on Windows anyway. * ace/Basic_Types.h: If ACE_HAS_SSIZE_T not defined, and Win64, typedef SSIZE_T ssize_t; else use the existing int typedef. * tests/SSL/Thread_Pool_Reactor_SSL_Test.cpp: Change thread function to return ACE_THR_FUNC_RETURN, not void *. Tue Jul 02 21:43:53 2002 Nanbor Wang * ACEXML/common/XMLFilterImpl.h: One more pre/post mismatch. Tue Jul 2 16:58:55 2002 Krishnakumar B * ACEXML/common/XML_Types.h: Removed unnecessary includes and fixed a typo. Tue Jul 02 16:35:19 2002 Nanbor Wang * ACEXML/common/Attributes.h: * ACEXML/common/Locator.h: Fixed mismatched pre/post inclusions. * ACEXML/parser/parser/Parser.cpp: Fixed compilation errors. Tue Jul 2 11:53:29 2002 Steve Huston * ace/config-all.h: Changed definition of ACE_THR_FUNC to incorporate the platform's thread function return type (DWORD on Windows, void * on most others). Uses a new typedef ACE_THR_FUNC_RETURN to specify the platform's thread function return type. * ace/OS.{h i cpp} (thr_exit, thr_join): The status arg is now a ACE_THR_FUNC_RETURN *. Also moved remaining thread function definition type things to config-all.h with the rest of them. * ace/Base_Thread_Adapter.{h cpp} (invoke(), ace_thread_adapter()): * ace/OS_Thread_Adapter.{h cpp} * ace/Thread_Adapter.{h cpp} (invoke(), invoke_i()): Return type changed from void * to ACE_THR_FUNC_RETURN. * ace/Event_Handler.{cpp h} (read_adapter): Change return value from void* to ACE_THR_FUNC_RETURN. * ace/Thread_Hook.{h cpp}: ACE_Thread_Hook::start () returns ACE_THR_FUNC_RETURN, not void *. * ace/Thread.{h i} (exit, join): 'status' arg is now ACE_THR_FUNC_RETURN *, not void *. * ace/Thread_Control.{h inl cpp} (status, exit): * ace/Thread_Manager.{h cpp} (exit, join): Thread exit status type changed from void * to ACE_THR_FUNC_RETURN. * ace/Task.{h cpp} (ACE_Task_Base): Return type from svc_run now ACE_THR_FUNC_RETURN. * examples/C++NPv1/RT_Thread_Per_Connection_Logging_Server.cpp: * examples/C++NPv1/Thread_Per_Connection_Logging_Server.{cpp, h}: * examples/C++NPv2/Select_Reactor_Logging_Server.cpp: * examples/C++NPv2/Server_Shutdown.cpp: * examples/C++NPv2/TP_Reactor_Logging_Server.cpp: * examples/C++NPv2/WFMO_Reactor_Logging_Server.cpp: * examples/C++NPv2/Client_Logging_Daemon.cpp: * examples/Connection/blocking/SPIPE-acceptor.cpp: * examples/IPC_SAP/SOCK_SAP/CPP-inserver.cpp: * examples/IPC_SAP/SSL_SAP/SSL-server.cpp: * examples/Reactor/WFMO_Reactor/Abandoned.cpp: * performance-tests/TCP/tcp_test.cpp: * tests/ACE_Init_Test.cpp: * tests/MEM_Stream_Test.cpp: * tests/Service_Config_DLL.cpp: * tests/Task_Test.cpp: * tests/Thread_Pool_Reactor_Resume_Test.cpp: * tests/Thread_Pool_Reactor_Test.cpp: Change thread function to return ACE_THR_FUNC_RETURN, not void *. * examples/C++NPv2/TP_Logging_Server.cpp (handle_input, svc): * examples/C++NPv2/AC_Client_Logging_Daemon.cpp (open): * examples/C++NPv2/display_logfile.cpp (svc): Change ACE_reinterpret_cast to ACE_static_cast. Thanks to Doug Schmidt for finding this. * examples/C++NPv2/TP_Logging_Server.h: * examples/C++NPv2/Reactor_Logging_Server_Adapter.cpp: Corrected use of ACE_NEW_RETURN. Mon Jul 1 23:16:47 2002 Jeff Parsons * */Makefile: Updated dependencies. Mon Jul 1 21:59:44 2002 Krishnakumar B * ACEXML/common/Attributes.h: * ACEXML/common/AttributesImpl.h: * ACEXML/common/Attributes_Def_Builder.h: * ACEXML/common/CharStream.h: * ACEXML/common/ContentHandler.h: * ACEXML/common/DTDHandler.h: * ACEXML/common/DTD_Manager.h: * ACEXML/common/DefaultHandler.h: * ACEXML/common/Element_Def_Builder.h: * ACEXML/common/EntityResolver.h: * ACEXML/common/Env.h: * ACEXML/common/ErrorHandler.h: * ACEXML/common/Exception.h: * ACEXML/common/FileCharStream.h: * ACEXML/common/HttpCharStream.h: * ACEXML/common/InputSource.h: * ACEXML/common/Locator.h: * ACEXML/common/LocatorImpl.h: * ACEXML/common/Mem_Map_Stream.h: * ACEXML/common/NamespaceSupport.h: * ACEXML/common/SAXExceptions.h: * ACEXML/common/StrCharStream.h: * ACEXML/common/Transcode.h: * ACEXML/common/URL_Addr.h: * ACEXML/common/Validator.h: * ACEXML/common/XMLFilter.h: * ACEXML/common/XMLFilterImpl.h: * ACEXML/common/XMLReader.h: * ACEXML/common/XML_Codecs.h: * ACEXML/common/XML_Types.h: * ACEXML/parser/debug_validator/Debug_Attributes_Builder.cpp: * ACEXML/parser/debug_validator/Debug_Attributes_Builder.h: * ACEXML/parser/debug_validator/Debug_DTD_Manager.h: * ACEXML/parser/debug_validator/Debug_Element_Builder.h: * ACEXML/parser/debug_validator/Element_Tree.h: * ACEXML/parser/parser/Entity_Manager.h: * ACEXML/parser/parser/Parser.cpp: * ACEXML/parser/parser/Parser.h: ACE_LACKS_PRAGMA_ONCE fixes. Mon Jul 1 06:21:00 2002 Douglas C. Schmidt * ace/Sock_Connect.cpp (count_interfaces): Added a MacOSX-specific value for OSIOCGIFCONF. Thanks to John Zorko for this fix. Sun Jun 30 22:22:05 2002 Irfan Pyarali * ace/MEM_Addr.cpp (same_host): This method was unnecessarily creating and copying both the local and remote addresses. I changed it so that we only compare the IP addresses. * ace/MEM_Connector.cpp (connect): Changed debugging statement to provide additional information. Sun Jun 30 15:32:47 2002 Douglas C. Schmidt * ace/Based_Pointer_Repository.h: * ace/Array_Base.h: Added #include "ace/OS.h" to get the definition of size_t on MacOS. Thanks to John Zorko for this fix. * ace/Synch.cpp: Fixed the ACE_recursive_mutex_state::reset() method so that it sets m.LockCount to 0. Thanks to Davide Pasetto for reporting this. * ace/Synch.cpp: Fixed the implementation of ACE_Condition so that it works properly on Windows, where the recursive mutex count is incremented by the OS. Thanks to Davide Pasetto for reporting this. * examples/C++NPv2/AC_Client_Logging_Daemon.cpp: * examples/C++NPv2/Client_Logging_Daemon.cpp: Changed "blocks" parameter to "chunk" to be consistent with the terminology in the book. * examples/C++NPv2/TP_Logging_Server.h: * examples/C++NPv2/Reactor_Logging_Server_Adapter.cpp: Added some new code to safely allocate an array. Sun Jun 30 08:55:18 2002 Douglas C. Schmidt * tests/Enum_Interfaces_Test.cpp (ACE_TMAIN): Fixed this to use ACE_Sock_Connect::get_ip_interfaces() rather than ACE::get_ip_interfaces(). Thanks to for reporting this. Sun Jun 30 12:22:12 2002 Johnny Willemsen * etc/tao_portablegroup.doxygen: Added this file that configures the doxygen configuration of the TAO PortableGroup library. * html/index.html: * bin/generate_doxygen.pl: Updated these files so that the new PortableGroup doxygen documentation is generated and listed in the index page. Fri Jun 28 08:07:12 2002 Douglas C. Schmidt * ace/Logging_Strategy.cpp: Added the ability to toggle the LM_STARTUP and LM_SHUTDOWN messages. Thanks to Adee Ran for the patch. Fri Jun 28 07:37:12 2002 Johnny Willemsen * ACEXML/common/URL_Addr.cpp: Fixed BCB Unicode build error. Thu Jun 27 16:50:19 2002 Balachandran Natarajan * ace/TP_Reactor.cpp: * ace/TP_Reactor.h: * ace/TP_Reactor.i: Moved common code in get_socket_event_info () to a new method clear_handle_read_set () and simplified the code in get_notify_handle () so that it improves readability. Thu Jun 27 20:26:33 UTC 2002 Craig Rodrigues * tests/DLL_Test.cpp: Define retval before preprocessor checks to fix Lynx build problem. Thu Jun 27 14:32:50 2002 Nanbor Wang * bin/nightlybuilds/builds.lst: Moved Fuzz, DLL_Core, DLL_Debug builds to the new scoreboard also. Thu Jun 27 07:47:12 2002 Johnny Willemsen * ACEXML/tests/HttpCharStream_Test.cpp: Fixed BCB Unicode build errors. * ACEXML/common/URL_Addr.h: Documentation update. Wed Jun 26 09:56:38 2002 Nanbor Wang * bin/msvc_auto_compile.pl: Changed the list of XML related directory name from XML to ACEXML. Wed Jun 26 13:55:01 UTC 2002 Craig Rodrigues * examples/Reactor/Multicast/Log_Wrappers.cpp: * examples/Reactor/Ntalker/Log_Wrappers.cpp: Remove references to SOCK_Dgram_Mcast_T. Tue Jun 25 15:13:49 2002 Steve Huston * ace/Basic_Types.h: Added ACE_WIN64 versions of ACE_SSIZE_T_FORMAT_SPECIFIER and ACE_SIZE_T_FORMAT_SPECIFIER. Tue Jun 25 23:22:09 UTC 2002 Craig Rodrigues * ace/SOCK_Dgram_Mcast.cpp: * ace/SOCK_Dgram_Mcast.h: * ace/SOCK_Dgram_Mcast.i: * ace/SOCK_Dgram_Mcast_T.cpp: Removed. * ace/SOCK_Dgram_Mcast_T.h: Removed. * ace/SOCK_Dgram_Mcast_T.i: Removed. * ace/QoS/SOCK_Dgram_Mcast_QoS.cpp: * ace/QoS/SOCK_Dgram_Mcast_QoS.h: Reverted these files to before June 9. Existing code in QoS and AVStreams were broken do to the changes. Tue Jun 25 14:45:31 2002 Steve Huston * examples/C++NPv2/AC_Client_Logging_Daemon.cpp: Comment out declarations for info(), suspend(), and resume() - they're left as exercises for the reader. * examples/C++NPv2/AC_CLD.dsp: Added SSL link libraries. Tue Jun 25 12:13:39 2002 Steve Huston * examples/C++NPv2/AC_CLD.dsp: * examples/C++NPv2/examples.dsw: Added project for the Acceptor-Connector Client Logging Daemon in chapter 7. * examples/C++NPv2/AC_Client_Logging_Daemon.cpp: Use the ACE traits macros instead of relying on traits class support to help the aged MSVC 6 compiler along. Mon Jun 24 20:55:45 2002 Irfan Pyarali * ace/ACE.cpp (select): Fixed typo. Mon Jun 24 17:39:31 2002 Steve Huston * ace/ace_dll64.mak: * ace/ace_lib64.mak: NMAKE files for building ACE on 64-bit Windows XP with the Platform SDK compiler. At some point, hopefully, MSVC will allow 64-bit builds via the regular project files, but for now, must use NMAKE. * ace/config-win32-common.h: #define ACE_WIN64 if doing a 64-bit build. * ace/ACE.cpp (select): Don't sync() the handles after select() on Win64. The cast is illegitmate, and the call is a no-op on Windows. Mon Jun 24 17:55:58 2002 Krishnakumar B * include/makeinclude/wrapper_macros.GNU (ACE_BETA_VERSION): Grab the version information from Version.h rather than VERSION as VERSION is not likely to installed when doing a make install. Thanks to Bala for the suggestion. * ACEXML/parser/parser/Parser.cpp: * ACEXML/parser/parser/Parser.h: Get the prefix right in case of a default namespace being present. Previously we were using a URI a get to the prefix, which doesn't work when the URI is the same as URI for another namespace prefix. Mon Jun 24 19:54:34 UTC 2002 Craig Rodrigues * ace/config-g++-common.h: Define ACE_HAS_STD_TEMPLATE_METHOD_SPECIALIZATION for gcc 2.95 and higher. Mon Jun 24 07:26:41 2002 Douglas C. Schmidt * ace/Timer_Queue_Adapters.cpp: * ace/Timer_Queue_Adapters.h: Changed uses of ACE_Recursive_Thread_Mutex to ACE_RECURSIVE_SYNCH_MUTEX so things will work properly on single-threaded configurations. Thanks to Craig Rodrigues for reporting this. Mon Jun 24 12:07:00 UTC 2002 Craig Rodrigues * ace/RMCast/RMCast_IO_UDP.cpp: Remove ACE_SOCK_Dgram_Ex template instantiation. Mon Jun 24 03:26:10 2002 Krishnakumar B * ACEXML/common/AttributesImpl.cpp(isDuplicate): New function isDuplicate() to check duplicate attributes. Merged support for duplicate attribute checking in setAttribute(). * ACEXML/common/AttributesImpl.h: Fixed documentation for a bunch of functions which had set/get roles reversed. * ACEXML/common/AttributesImpl.i: Fixed more memory leaks. * ACEXML/common/NamespaceSupport.cpp(processName): Added support for processing attributes. * ACEXML/parser/parser/Parser.cpp: * ACEXML/parser/parser/Parser.h: Implement XML Namespace (http://www.w3.org/TR/REC-xml-names) support. ACEXML parser supports the SAX 2.0 XML API. Parser has two user tunable features available: namespaces (defaults to true) and namespace_prefixes (defaults to false). * ACEXML/examples/SAXPrint/Print_Handler.cpp: * ACEXML/examples/SAXPrint/SAXPrint_Handler.cpp: Changed to reflect more event callbacks available now due to above added support. * ACEXML/examples/SAXPrint/ns.svc.conf.xml: Changed to include a default namespace to test more code paths. Found a bug in the process :-) Will fix tomorrow. The only remaining feature in ACEXML parser needed for CCM is validator. Next target.... * ace/Message_Block.h: Fixed typo in documentation (ceases to exist and not seizes to exist). Sun Jun 23 21:06:28 UTC 2002 Craig Rodrigues Bill Fulton * ace/SOCK_Dgram_Mcast.cpp: * ace/SOCK_Dgram_Mcast.h: * ace/SOCK_Dgram_Mcast_T.cpp: * ace/SOCK_Dgram_Mcast_T.h: * ace/SOCK_Dgram_Mcast_T.i: More SOCK_Dgram fixes supplied by Bill Fulton with modifications by Craig Rodrigues. - Remove proprietary typedefs for ACE mutex classes - Make default mutex strategy for SOCK_Dgram_Mcast ACE_SYNCH_MUTEX - (subscribe_ifs) fix check when determining if subscribed address is the same as the bound address Sun Jun 23 14:51:48 2002 Douglas C. Schmidt * ace/Synch.h: Put the class ACE_recursive_mutex_state inside the section ACE_HAS_THREADS. Thanks to Craig Rodrigues for noticing the need for this. Sun Jun 23 14:05:12 2002 Johnny Willemsen * ACEXML/common/HttpCharStream.cpp: Fixed BCB Unicode compile errors. Fri Jun 21 19:18:05 UTC 2002 Craig Rodrigues * bin/nightlybuilds/builds.lst: Move to IA64_Linux_GCC_3.1 and Tru64_CXX builds to new scoreboard. Fri Jun 21 14:34:51 2002 Steve Huston * ace/config-sunos5.5.h: Enable ACE_HAS_STD_TEMPLATE_METHOD_SPECIALIZATION for Forte 6 Update 1. Fri Jun 21 14:06:33 2002 Steve Huston * ace/Timer_Queue_Adapters.cpp (ACE_Thread_Timer_Queue_Adapter): Changed ACE_GUARD_RETURN uses of command_mutex_ from ACE_Recursive_Condition_Mutex to ACE_SYNCH_MUTEX to match its definition. Fri Jun 21 06:21:33 2002 Christopher Kohlhoff * ace/config-win32-borland.h: Re-enable ACE_HAS_STD_TEMPLATE_METHOD_SPECIALIZATION for all versions of Borland C++. Thu Jun 20 20:50:51 2002 Steve Huston * ace/config-sunos5.5.h: Re-enable ACE_HAS_STD_TEMPLATE_METHOD_SPECIALIZATION for Forte 6 Update 2. * ace/Functor.i: * ace/Synch.cpp: Commented out all the uses of ACE_TEMPLATE_METHOD_SPECIALIZATION. The class specialization was already declared such, and doing it on the methods is not right. But they're only commented out for now, just in case... Thu Jun 20 20:29:31 2002 Steve Huston * ace/Codecs.h (ACE_Base64): Added "friend class ace_dewarn_gplusplus" to silence g++ warnings about private ctors and no friends. Thu Jun 20 20:21:39 2002 Steve Huston * tests/Recursive_Condition_Test.icc: Visual Age C++ configuration for this new test. * tests/tests.icp: Added Recusrive_Condition_Test.icc. Fri Jun 21 00:21:48 UTC 2002 Craig Rodrigues * examples/Timer_Queue/Thread_Timer_Queue_Test.cpp (dump): Switch from ACE_SYNCH_MUTEX to ACE_SYNCH_RECURSIVE_MUTEX. Thu Jun 20 14:32:03 2002 Douglas C. Schmidt * ace/Synch.cpp (ACE_recursive_mutex_state): Replaced the ACE_OS::mutex_lock/unlock calls with ACE_OS::thread_mutex_lock/unlock so things will work on NT. Thanks to Jeff Parsons for reporting this. * ace/Synch.{h,cpp}: Only compile the new ACE_Condition template specialization if ACE_HAS_THREADS. Thanks to Craig Rodrigues for motivating this. * include/makeinclude/platform_sunos5_sunc++.GNU (CC_VERSION): Added additional cases for SunC++ 5.2 and 5.3. Thanks to Carsten Tonsberg Nielsen for reporting this. * ace/ATM_Stream.cpp (get_peer_name): * ace/Log_Msg_UNIX_Syslog.cpp (log): * ace/Logging_Strategy.cpp: Replaced the use of ACE_OS::strtok() with ACE_OS::strtok_r(). Thanks to Eugene Alterman for motivating this. Thu Jun 20 16:02:22 2002 Steve Huston * ace/config-sunos5.5.h: Commented out the below addition for now. Thu Jun 20 15:49:39 2002 Steve Huston * ace/config-sunos5.5.h: For Forte 6, Update 2 and up, add #define ACE_HAS_STD_TEMPLATE_METHOD_SPECIALIZATION. Earlier Forte 6 versions may also support this, but I don't have one to test on. Fixes compile warning on Filecache.cpp. Thu Jun 20 13:37:55 2002 Douglas C. Schmidt * examples/C++NPv2/README: Updated the README file to map the filenames to the chapters in C++NPv2. Wed Jun 19 21:30:05 UTC 2002 Craig Rodrigues Bill Fulton * ace/SOCK_Dgram_Mcast_T.cpp: Fix Win32 wchar build problems. Thanks to Bill Fulton for supplying these fixes. Wed Jun 19 16:16:32 2002 Nanbor Wang * tests/tests.dsw: * tests/Recursive_Condition_Test.dsp: Added a new project file. Wed Jun 19 06:50:54 2002 Douglas C. Schmidt * tests/run_test.lst: * tests/Makefile.bor: * tests/Makefile: Added the new Recursive_Condition_Test. * ACE/Timer_Queue_Adapters.{h,cpp}: Enhanced ACE_Thread_Timer_Queue_Adapter so it uses the new ACE_Condition. Thanks to Stephen Howard for suggesting this. * ace/Synch_T.h: Added a new RECURSIVE_CONDITION trait in ACE_NULL_SYNCH and ACE_MT_SYNCH. * ace/Synch_T.h: Added a #define for ACE_SYNCH_RECURSIVE_CONDITION so that we can parameterize it based on threads vs. non-threads. * docs/exceptions.html: Updated document to use ACE_RE_THROW instead of the deprecated ACE_RETHROW macro. Thanks to Andy Ling for reporting this. * ace/Timer_Queue_Adapters.h: Changed the order in which the condition variable and mutex are defined to ensure the mutex is initialized before we pass it to condition_'s constructor. * ace/Filecache.cpp: * ace/Synch.cpp: * ace/Atomic_Op.i: Replaced ACE_TEMPLATE_SPECIALIZATION with ACE_TEMPLATE_METHOD_SPECIALIZATION so this will compile correctly on certain (broken) compilers, such as SunC++ 6.1. Wed Jun 19 14:25:52 2002 Balachandran Natarajan * ace/TP_Reactor.cpp (handle_socket_events): Couple of small fixes. The fixes are for 1. Bug http://bugzilla.dre.vanderbilt.edu/show_bug.cgi?id=1231 and it is self-explanatory 2. The find () operation after dispatch was not holding the lock and chances of race are high. This is documented as #2 in bug http://bugzilla.dre.vanderbilt.edu/show_bug.cgi?id=1233 Added some comments in the code explaining what is going on. Thanks to Carlos for identifying the problem. * ace/Event_Handler.h: Added a enum to indicate the two states returnable by the call resume_handler (). * ace/Event_Handler.cpp (resume_handler): Instead of returning 0, we return ACE_Event_Handler::ACE_REACTOR_RESUMES_HANDLER. Wed Jun 19 13:42:16 2002 Balachandran Natarajan * tests/tests.dsw (Project): Added TP_Reactor_Test.dsp to the workspace. Wed Jun 19 11:57:02 2002 Carlos O'Ryan * bin/auto_run_tests.lst: Disable TAO/tests/Nested_Upcall_Crash on minimum_corba builds. Tue Jun 18 14:29:26 2002 Douglas C. Schmidt * ace/Synch.{h,i}: Added a new template specialization of ACE_Condition<> that supports recursive mutexes used in conjunction with ACE condition variables. Thanks to Michael Lindner and Mike Vitalo for contributing this. * ace/SOCK_Dgram_Mcast.cpp: Reverted the file to the previous version since somehow things got messed up... Tue Jun 18 12:44:54 2002 Douglas C. Schmidt * ace/OS.{h,i}: Added a new method called stopped() that returns 1 if the timer has already been stopped. Thanks to Giovanni Zito for this suggestion. Tue Jun 18 12:17:58 2002 Jaiganesh Balasubramanian * ace/QoS/SOCK_Dgram_Mcast_QoS.cpp: Added the RCS ID symbol. Tue Jun 18 12:41:15 2002 Balachandran Natarajan * ace/CDR_Stream.i (adjust): Added a check for pointer overflow befor setting the write pointer. thanks to Rich Siebel and Byron Harris for pointing this out. Tue Jun 18 07:50:14 2002 Ossama Othman * ace/Env_Value_T.h: Include "ace/OS.h". It is required for some types and function calls made in this header. Thanks to Michael Kircher for pointing this out. Mon Jun 17 17:36:52 2002 Steve Huston * examples/C++NPv2/AIO_Client_Logging_Daemon.cpp: Changed call to ACE_Asynch_Connector::open() to take advantage of new defaults, made on: Sat Jun 15 20:30:41 2002 Steve Huston Mon Jun 17 17:21:38 2002 Steve Huston * ace/SUN_Proactor.cpp (handle_events): Remove the now-deleted success argument from call to application_specific_code(). Mon Jun 17 13:40:24 2002 Balachandran Natarajan * include/makeinclude/platform_osf1_4.x_cxx.GNU: Removed the hard override of LDFLAGS. Thanks to Martin Krumpolec . Mon Jun 17 06:20:55 2002 Christopher Kohlhoff * ace/Object_Manager.cpp: * ace/Service_Config.h: * ace/Service_Config.cpp: Some components registered with the framework repository have dependencies on the ACE_Log_Msg or ACE_Thread_Manager singletons. Reorganised the ACE_Object_Manager::fini function so that the framework repository is cleaned up before these objects. Thanks to Don Hinton for assistance in tracking this down. * ace/Reactor.cpp: Prevent the reactor from being erroneously registered with the framework repository a second time, as happened when the reactor instance pointer was explicitly set. Sun Jun 16 20:38:27 2002 Krishnakumar B * ace/DLL_Manager.cpp (ACE_DLL_Handle): * ace/DLL.cpp: More mismatched delete/delete[] errors. I am fixing the easier ones. There may be more. Sun Jun 16 20:22:28 2002 Krishnakumar B * ACEXML/common/AttributesImpl.i (qName): Fixed memory leaks caused by mismatched delete/delete[]. Caught by Valgrind. * ACEXML/examples/SAXPrint/main.cpp: Give useful usage messages. Sat Jun 15 20:56:29 2002 Steve Huston * tests/tests.dsw: Added Proactor_Timer_Test.dsp. Sat Jun 15 20:30:41 2002 Steve Huston * ace/Asynch_Acceptor.{h cpp}: Added a new template method, virtual int validate_connection (const ACE_Asynch_Connect::Result& result, const ACE_INET_Addr &remote, const ACE_INET_Addr& local) It replaces the old validate_new_connection() method, which is now marked deprecated. Semantics are the same (return -1 to ask framework to abort the connection before activating a service). However, more information is available, including the socket handle. * ace/Asynch_Connector.{h cpp}: Replaced validate_new_connection() method with: virtual int validate_connection (const ACE_Asynch_Connect::Result& result, const ACE_INET_Addr &remote, const ACE_INET_Addr& local) Examining the result argument is the only way to find out if the asynchronous connect attempt succeeded or not. The connect completion calls validate_connection() on either success or failure as long as the validate_new_connection flag is set on open(). The default value was changed from 0 (don't call) to 1 (call) since this is the only way to learn about connection success/failure. * ace/POSIX_Proactor.{h cpp} (application_specific_code): * ace/WIN32_Proactor.{h cpp} (application_specific_code): Removed the 'int success' argument. Success/fail is determined by the error value now (0 == success). Simplifies the code, and makes the result.success() call return 1 iff the operation succeeded. Thanks very much to Alex Libman for these ideas and for working to improve these classes for ACE and C++NPv2! Sat Jun 15 12:01:38 2002 Steve Huston * ace/Obstack_T.cpp (request): Don't lose an initial set of characters if the requested length won't fit. Thanks to Christopher W. Midgley for this report and fix. * tests/Obstack_Test.{cpp dsp icc}: New test for the above, and its MSVC and Visual Age C++ files. * tests/Makefile: * tests/Makefile.bor: * tests/run_test.lst: * tests/tests.dsw: * tests/tests.icp: Added new Obstack_Test. * THANKS: Added Christopher W. Midgley. Sat Jun 15 12:41:07 Frank Hunleth * THANKS: Added Nick Cross to the hall of fame. Fri Jun 14 14:39:33 2002 Nanbor Wang * ace/Filecache.cpp: Removed excessive ACE_DEBUG statements. Thanks to Charles F. Frasch for reporting them. Fri Jun 14 12:04:17 2002 Jaiganesh Balasubramanian * ace/QoS/SOCK_Dgram_Mcast_QoS.cpp: * ace/QoS/SOCK_Dgram_Mcast_QoS.h: Removed build errors for QoS library, due to dependencies to the old SOCK_Dgram_Mcast class. Thanks to Bill Fulton for this fix. Fri Jun 14 14:17:49 2002 Carlos O'Ryan * bin/auto_run_tests.pl: Fixed wrong application name in Usage message. * bin/auto_run_tests.lst: Add the Nested_Upcall_Crash test. Fri Jun 14 09:34:41 2002 Ossama Othman * ace/OS.i (ctime): For the ACE_HAS_WINCE, pass a statically allocated buffer to ctime_r() since ctime_r() will return that same buffer as the return value of ctime(). Fixes memory access violations. Thanks to Michael Searles for pointing out the problem. Thu Jun 13 21:26:49 2002 Steve Huston * ace/Configuration_Import_Export.cpp (squish): Replaced use of naked isspace() with ACE_OS_String::ace_isspace() to work with wide chars also. Thu Jun 13 21:09:33 2002 Steve Huston * tests/Config_Test.cpp (run_tests): Added a test for importing a previously-existing ini file and verifying its contents. * tests/Config_Test_Import_1.ini: File for the above test. Thu Jun 13 19:05:57 2002 Krishnakumar B * include/makeinclude/rules.local.GNU: Added a rule to install a symlink to libfoo.so.3 under $(ACE_ROOT)/ace. This should fix all the build errors. ld.so needs libfoo.so.3 to be in LD_LIBRARY_PATH. libfoo.so doesn't do. Thanks to Marvin Wolfthal for reporting the problem. * bin/make_release: Changes to ensure that all major releases are named ACE-[0-9]+.0.0 and all minor releases are named ACE-[0-9]+.[0-9]+.0. PLEASE TAG THE REPOSITORY AS ACE_5_3_0 and TAO_1_3_0 or ACE_6_0_0 and TAO_2_0_0 WHEN MAKING A MINOR OR A MAJOR RELEASE. Pointers to add this to somewhere more prominent are welcome. Thu Jun 13 14:45:13 2002 Douglas C. Schmidt * ace/SOCK_Dgram_Mcast_T.cpp: Added wchar support - remove warnings in MSVC when #define ACE_USES_WCHAR used in config.h. Thanks to Bill Fulton for this fix. Wed Jun 12 21:28:29 2002 Steve Huston * tests/Framework_Component_DLL.cpp (Server_T): Add template parameter name to class template arg to get aC++ to eat it. Wed Jun 12 18:29:11 2002 Krishnakumar B * include/makeinclude/rules.lib.GNU: * include/makeinclude/rules.local.GNU: * include/makeinclude/wrapper_macros.GNU: * TAO/rules.tao.GNU: * include/makeinclude/platform_g++_common.GNU: Added support for shared library versioning. Libraries built with GNU ld will be versioned by default. * include/makeinclude/platform_aix4_cset++.GNU: * include/makeinclude/platform_aix4_g++.GNU: * include/makeinclude/platform_aix_g++.GNU: * include/makeinclude/platform_aix_ibm.GNU: * include/makeinclude/platform_hpux.GNU: * include/makeinclude/platform_hpux_aCC.GNU: * include/makeinclude/platform_hpux_gcc.GNU: * include/makeinclude/platform_hpux_kcc.GNU: Added null SONAME and SOVERSION for disabling shared library versioning. * include/makeinclude/platform_dgux4_epc.GNU: * include/makeinclude/platform_freebsd.GNU: * include/makeinclude/platform_gnuwin32_common.GNU: * include/makeinclude/platform_irix5.3_g++.GNU: * include/makeinclude/platform_irix5.3_sgic++.GNU: * include/makeinclude/platform_irix6.x_g++.GNU: * include/makeinclude/platform_irix6.x_kcc.GNU: * include/makeinclude/platform_irix6.x_sgic++.GNU: * include/makeinclude/platform_linux.GNU: * include/makeinclude/platform_linux_cxx.GNU: * include/makeinclude/platform_linux_icc.GNU: * include/makeinclude/platform_linux_kcc.GNU: * include/makeinclude/platform_m88k.GNU: * include/makeinclude/platform_macosx.GNU: * include/makeinclude/platform_mvs.GNU: * include/makeinclude/platform_netbsd.GNU: * include/makeinclude/platform_osf1_3.2_cxx.GNU: * include/makeinclude/platform_osf1_4.x_cxx.GNU: * include/makeinclude/platform_osf1_4.x_g++.GNU: * include/makeinclude/platform_osf1_4.x_kcc.GNU: * include/makeinclude/platform_osf1_4.x_rcc.GNU: * include/makeinclude/platform_psosim_g++.GNU: * include/makeinclude/platform_qnx_neutrino.GNU: * include/makeinclude/platform_qnx_rtp_gcc.GNU: * include/makeinclude/platform_sco-nothread.GNU: * include/makeinclude/platform_sco5.0.0-CC-fsu-pthread.GNU: * include/makeinclude/platform_sco5.0.0-mit-pthread.GNU: * include/makeinclude/platform_sco5.0.0-nothread.GNU: * include/makeinclude/platform_sunos4_g++.GNU: * include/makeinclude/platform_sunos4_lucid.GNU: * include/makeinclude/platform_sunos4_sunc++3.x.GNU: * include/makeinclude/platform_sunos4_sunc++4.x.GNU: * include/makeinclude/platform_sunos5_centerline.GNU: * include/makeinclude/platform_sunos5_g++.GNU: * include/makeinclude/platform_sunos5_ghs.GNU: * include/makeinclude/platform_sunos5_kcc.GNU: * include/makeinclude/platform_sunos5_sunc++.GNU: * include/makeinclude/platform_tandem.GNU: * include/makeinclude/platform_unixware_g++.GNU: * include/makeinclude/platform_unixware_udk.GNU: Changed SOFLAGS = to SOFLAGS += to avoid dealing with order of includes of various Makefile rules. Wed Jun 12 11:25:22 2002 Douglas C. Schmidt * tests/Config_Test.cpp (test): Removed what appeared to be an unnecessary and unused called to const ACE_Configuration_Section_Key &root = config->root_section (); * ace/Configuration.cpp (open_section): Fixed a warning in the loop expression. Wed Jun 12 11:49:33 2002 Steve Huston * examples/C++NPv2/AC_Client_Logging_Daemon.cpp: Changed to match book. * examples/C++NPv2/Reactor_Logging_Server_Adapter.cpp (init): Use ACE_Auto_Array_Ptr to be cleaner about allocated char ptr array. Coincides with book change. Tue Jun 11 10:23:03 2002 Stephen Torri * ace/String_Base.h: Updated comments/documentation on the String_Base class. * ace/String_Base.{i,cpp}: Added brackets to if/else statements for better structure/readability. Changed "(cond) ? true : false" to better "if/else" structure. Tue Jun 11 19:05:39 2002 Douglas C. Schmidt * ace/SOCK_Dgram_Mcast.h: Added a default constructor for ACE_SOCK_Dgram_Mcast. * tests/Config_Test.cpp (test): Added tests for the following capability. Thanks to Eugene Alterman for contributing these tests. * ace/Configuration.{h,cpp}: ACE_Configuration_Heap::open_section() now accepts path separators in section name, so that it is consistent with the updated version of ACE_Configuration_Win32Registry::open_section(). Thanks to Eugene Alterman for contributing this patch. Tue Jun 11 20:02:39 2002 Steve Huston * ace/DLL_Manager.cpp (ACE_DLL_Handle::error()): Change to a different form of auto_ptr initialization that Visual Age C++ likes better. Tue Jun 11 13:17:29 2002 Douglas C. Schmidt * ace/Cache_Map_Manager_T.h: * ace/Caching_Utility_T.h: * ace/Env_Value_T.h: Added #include "ace/Global_Macros.h". Thanks to Ty Tenait for reporting this. * ace/Dirent_Selector.h: Added #include "ace/ACE_export.h". Thanks to Ty Tenait for reporting this. Tue Jun 11 09:42:06 2002 Ossama Othman * ace/SOCK_Dgram_Mcast_T.cpp (make_multicast_ifaddr): Use ACE_HTONL instead of htonl(). The latter causes the assembler to choke on some Linux installations. Mon Jun 10 14:50:46 2002 Nanbor Wang * examples/DLL/Dll.dsw: * examples/ASX/CCM_App/CCM_App.dsw: Updated project dependencies. Mon Jun 10 14:23:28 2002 Douglas C. Schmidt * ace/Reactor.h (ACE_Reactor): Added a comment explaining that the mask passed to notify() can only be READ_MASK, WRITE_MASK, or EXCEPT_MASK. Thanks to Cary Steinmetz for motivating this comment. * ace/OS_String.cpp: Make sure to check whether src == dst and avoid doing any copies in this case. Thanks to Michael Searles for reporting this. Sun Jun 9 20:01:00 2002 Douglas C. Schmidt * ace/Makefile: Something is wrong with my ACE_ROOT environment variable, which caused problems with the dependency generation. This is now fixed. Sun Jun 9 19:31:04 2002 Douglas C. Schmidt * ace/SOCK_Dgram_Mcast.h: Added ACE_Export to ACE_SOCK_Dgram_Mcast. Sun Jun 9 18:57:07 2002 Douglas C. Schmidt * examples/Reactor/Ntalker/ntalker.cpp: * examples/Reactor/Multicast/Log_Wrapper.cpp: Added template instantiations for the new ACE_SOCK_Dgram_Mcast_Ex<> template. Sun Jun 9 18:47:22 2002 Douglas C. Schmidt * tests/Config_Test.cpp (run_tests): Added code to exercise the new subkey path feature contributed by Eugene Alterman. * ace/Configuration.{h,cpp}: Added support for the path separator ('\\') in key names. Thanks to Eugene Alterman for contributing this patch. * ace/Date_Time.{h,i}: Added support for weekday. Thanks to Eyal Lubetzky for reporting this. Sun Jun 9 18:11:02 2002 Douglas C. Schmidt * ace/SOCK_Dgram_Mcast.cpp: Removed the explicit inclusion of "ace/SOCK_Dgram_Mcast_T.cpp" since this is #included appropriately by SOCK_Dgram_Mcast.h. * ace/SOCK_Dgram_Mcast.cpp: Removed the ';' from the end of the #pragma instantiates. * ace/Makefile: Added SOCK_Dgram_Mcast_T. * ace/SOCK_Dgram_Mcast_T.cpp ace/SOCK_Dgram_Mcast_T.i ace/SOCK_Dgram_Mcast_T.h: Minor changes to conform to ACE coding conventions. Sun Jun 9 17:50:37 2002 Bill Fulton * ace/SOCK_Dgram_Mcast.cpp ace/SOCK_Dgram_Mcast.h ace/SOCK_Dgram_Mcast_T.cpp ace/SOCK_Dgram_Mcast_T.i ace/SOCK_Dgram_Mcast_T.h Somewhat massive changes to the (already very useful) ACE_SOCK_Dgram_Mcast class; some fixes to existing functionality, some new functionality, and a different way of controlling optional (per-instance) functionality. The intent was to preserve existing interface and functionality (when correct), including environment- specific functionality. Fixes to Existing Functionality: - For ::unsubscribe(void); unsubscribes from all active subscriptions. Previous version unsubscribed only from the most recently subscribed group/net_if. * This could change execution behavior of existing code. - Enhanced support for a passed port# of '0'. The ephemeral port# assigned by the system when the socket is bound is used for all local ::send methods. - Validation of non-zero port# and, optionally, the address passed to the ::subscribe method, if the socket has been bound. On second and subsequent ::subscribe invocations, the previous version allowed passed parameters that were inconsistent with the bound socket parameters. This could result in a confusing condition; you would not receive messages sent to the port and/or address passed to ::subscribe. * This could change execution behavior of existing code. Added Functionality: - Support specification of the (multicast) address and interface to be used by all local ::send methods, independent of the receive address and interface. The same port# is used for all base class ::recv methods and all local class ::send methods. The send interface applies to all local and all base class ::send methods. - Enhanced ::dump method, to show the dynamic list of subscriptions, the bound address/port#, the send address/interface, and the state of optional functionality. Also did some output reformatting. Optional Functionality via Template Parameters and Ctor Args: In the previous implementation, some aspects of class functionality were transparently configured based on the OS it was compiled under. This has been changed so that all optional functionality is explicitly specified, using (a baroque set of) optional constructor arguments. In addition, new optional functionality was added and is specified with template parameters and optional constructor arguments. For backward compatibility, there is an explicit specialization called ACE_SOCK_Dgram_Mcast - this should have the same functionality, including OS-specific functionality, as the previous class implementation, and can still be used for most normal (if there is such a thing with multicast) apps. Overview of new template parameter: ACE_SDM_LOCK_* - Strategized locking (very limited MT-safety - see below). Overview of new, optional ctor arguments (enumerations): opt_bindaddr_* - Whether to bind the address as well as the port#. opt_nulliface_* - Defines semantics of passing net_if parameter of NULL; i.e. use all or only one iface. opt_dtorunsub_* - Whether destructor explicitly unsubscribes from all groups. See SOCK_Dgram_Mcast_T.h for a full description. Environment- specific default values are explicitly declared, for use by app code. Changes to Previous Class (public) Interface & Functionality: - Added a public (overloaded) ::open method. This allows explicit specification of the port# and the multicast address (if opt_bindaddr_yes is used) that is bound to this socket. This also allows specification of the address and the network interface to be used by local ::send methods (and the network interface used by super-class and sub-class ::send methods). There is only one address parameter; the same parameter is used for both the send address/port# and the bound address/port#. The port# in the address may be 0 (to use a system-assigned ephemeral port# for sending and receiving). NOTE: Use of this method is optional and, if used, must be invoked _before_ any ::subscribe method is invoked - otherwise it is _ignored_, and the (first) ::subscribe parameters will be used to bind the socket and set the send parameters (as in the previous code). Note that ::subscribe need not be invoked at all, now; if only ::open is used, you can send but not receive multicast messages, and you can specify the interface used for sending. - Validation of ::subscribe parameters is now strict. Once the port# is bound (by ::open or the first ::subscribe), the port# passed to every ::subscribe call must either be '0' or match the bound port#. Additionally; if opt_bindaddr_yes is used, the address passed must match the bound address. If these conditions are not met, an error is returned (with errno=ENXIO). Note that such subscriptions would have no (useful) effect, since messages could never be received for the given port#/address, due to IP stack filtering. This condition was ignored in the previous version; it is now an error condition. This may break some existing code - but note that it flushes out a (silent) logical error condition. The port# in ::unsubscribe(addr,...) is _not_ checked, though; this is not logically consistent, but ... a mistaken port# here seems less potentially dangerous and/or confusing. - The previous ::subscribe and ::unsubscribe methods had a special return code (1) to indicate that (previously Win32-specific) multiple-interface subscription/unsubscription had been done. This seemed to be useful only internally, but was visible to the caller. The new methods will always return '0' for success (even if opt_nulliface_all is used). - The dynamic subscription list housekeeping adds slight processing overhead, and even more overhead is added if locking is enabled. This should not be noticeable, except in MT thrashing conditions and/or if doing very frequent subscribes/unsubscribes. Known Restrictions: - Interaction/Integration with other ACE multicast-oriented classes and library code is _undefined_, i.e.: + ACE_SOCK_Dgram_Mcast_QoS: Presumably works ok, but inherits legacy class; can't specify optional functionality. + ACE_RMCast: Presumably works ok, but uses legacy class; can't specify optional functionality. + ACE_XTI_ATM_Mcast: I presume there's no integration desirable. I've re-built vers. 5.2 ACE under Solaris and Windows with the modified files, and it builds ok. Since the original functionality is (basically) unchanged, it is _assumed_ that any other ACE lib code that references the ACE_SOCK_Dgram_Mcast class signature still functions ok. But ... things like adding templated code could introduce problems! Also note that these classes use (now) deprecated interface methods; e.g. RMCast passes protocol options to ::subscribe that are now ignored. - Environment-specific notes/restrictions on use of options: + The opt_nulliface_all option should be used only in environments for which the ACE_Sock_Connect::get_ip_interfaces call is correctly implemented (currently only Windows). In other environments, using this option will _always_ return an error from ::subscribe/::unsubscribe. + The opt_dtorunsub_yes option allows finer control of multicast group "leave" effects for environments that do not automatically unsubscribe when the socket is closed, or in situations where the underlying handle has been duplicated (e.g. via fork()), but will not be used. All in all, this option is useful only under special, controlled circumstances. + The effect of using opt_bindaddr_yes is very environment- specific; it may not do what you expect (or may do what you don't expect :-) The default option values are defined with these notes in mind. - Options enumeration weaknesses. + The options enumeration list was put in the global namespace. It seems like a pain for user code to have to prefix the option values with the templated class name. + All option values use the same enumeration; this could allow option values to be used for the "wrong" option in the ctor options list. This was a trade-off; I didn't want to add too many things to the global namespace. (Note that more options might be added to the list, in the future.) All new code compares against explicit enum values (instead of 0), for safety. - The ::open parameter list may be too "dense" - it tries to do too many different things with the passed parameters. This is an artifact of its heritage. (Note that ::subscribe can also invoke ::open behavior). In particular, it would be nice to separate bound addr/iface from send addr/iface. - Does not explicitly check for duplicate active subscriptions (i.e. subscription to the same address and interface while a previous subscription is still active). (Subscription to the same address but different interface is not a duplicate and is fully supported.) Note that, for most IP stacks, a subscription attempt for a duplicate addr/iface will fail (and a duplicate entry will not be created). If it is allowed by the IP stack and you create duplicate internal subscription list entries, you must call ::unsubscribe(addr) for _each_ duplicate subscription (or ::unsubscribe(void)) - until this is done, you will continue to recv messages for this subscription. - This implementation carries forward (for backward compatibility) certain environment-specific hacks, i.e.: + A Win32 hack such that the default opt_nulliface_defopt value for Win32 is different from all other environments. + A Linux hack such that the full address is unconditionally bound. These would seem likely to lead to unexpected behavior for the "casual user", but changing the default would break existing code. - The SDM_OPT_LOCK parameter only controls locking of the dynamic subscription list; and the need/use for this is debatable. It was added as a fail-safe, in case one class instance is shared by multiple threads. Note that a given instance can _not_ (reliably) be shared by multiple threads; there are logical race conditions (e.g. calling ::open) - but the logical race conditions should cause only unpredictable operation, not corruption. However; the subscription list could be corrupted if one instance is shared by multiple threads, which could lead to undefined behavior/crashes. - The class interface is probably too "busy"; there are a _lot_ of side-effects that may not be evident. - Currently only built and tested under Solaris w/ Forte-C++ and Windows NT and 2000 w/ MSVC 6. Implementation Changes: - Now implemented as a templated class (ACE_SOCK_Dgram_Ex), via the new SOCK_Dgram_Mcast_Ex.* files. The (remaining) SOCK_Dgram_Mcast.* files are vestigial; they remain due to the build rules and documentation conventions, and because existing user code references the ace/SOCK_Dgram_Mcast.h file. Note that this differs from most other *_Ex.* template source files in ACE, where there is still at least some function implemented in the non-templated source files; here there is none. An explicit specialization is declared that matches the old class signature. - The constructor now has optional arguments (to specify per-instance optional functionality. A default ctor can still be used; the legacy default environment-specific functionality will be declared. - I've tried to generalize code that was previously overly environment-dependent and/or macro-driven. The intent was to make future enhancements easier (there's still much desirable work to be done ... speaking of which ...) Suggested Future Work: - Expose the SOCK_Dgram::send methods; i.e. allow specification of an arbitrary dest address/port# with the ::send call. (Must check for port# of '0' in the send address and set port# to the bound port#). This would allow the specification of the network interface for arbitrary multicast transmissions from one instance, and should work as expected if the address specified is unicast. This seems useful; currently, if you want to send multicast messages with interface control, you would either have to create one instance of this class for each send address, or force access to the inherited ACE_SOCK_Dgram instance (which works ... "but it would be wrong"). I'm not sure why access to these was disabled in the original design. (Is there a good reason not to do this?) - Mark the current ::subscribe and ::unsubscribe interfaces as deprecated and add new interfaces that remove all unnecessary parameters. + Remove the (optional) protocol* parameters from the ::subscribe and ::unsubscribe methods - they don't do anything. I (really) wanted to do this now, but it could break existing app code (but you can't really specify anything other than the default values, anyway!) + Remove the (optional) reuse_addr parameter from the ::subscribe method - it is only useful if ::open has not been previously invoked. Problem: This will require that the ::open method be explicitly invoked before invoking ::subscribe, which makes the interface more clumsy. Problem: Hard to get a unique signature for the new methods, especially for ::unsubscribe. - It seems that an ACE_SOCK_Dgram_Mcast_Manager class could be a useful "layered" addition, e.g.: - Trap ::subscribe invocations using different port numbers, and create separate instances/sockets for each unique port#. - Implement software loopback filtering for environments that do not implement loopback disabling in the IP stack (e.g. older Windows). Also implement per-interface filters for environments (like Win/NT) that don't do this right. - Implement multicast group "sets" to support easy and atomic joins/leaves of a user-defined list of group/interface combinations. Include enhanced failure condition handling, such as subscription "roll-back"; all-or-none of the set's members are joined. Actually; all of these could be done in the current class - but there are too many options in this class already, and the function seems (to me) more appropriate to a higher-level "manager". - Allow the send interface (and default send addr) to be changed, after initial setting. (OS-specific support needed - most stacks allow the interface to be changed once set, but I presume that not all do.) In general; might be worth splitting out the send from the ::open/::subscribe methods - e.g. ::send_parameters. Might add optional TTL and loopback parameters to this, too. - Add explicit methods to set common multicast socket options, e.g. TTL, loopback. (So you don't have to remember the macro names and to make these macros/actions more portable!). - Tighten up the parameter semantics and/or validation, e.g.: + Verify that all addresses passed are multicast addresses. For example, ::open does not check the send address. (It should still work as expected - sending unicast on the route-derived interface - but that's not the intended use.) + The reuse_addr parameter in ::open is used for both REUSEADDR and REUSEPORT (if implemented) option setting; should these be distinct parameters? (They do different things!) - Enhanced integration with other ACE multicast classes, as needed or desirable (see Restrictions section). - (?) For ::subscribe and ::unsubscribe - if successful, return the (positive) number of subscribes/unsubscribes done (instead of '0'). Possibly useful, as a way for the app to sense multi-interface subs/unsubs (e.g. code that is passed an instance and does not know what options were used when the instance was created). - (?) Add method ::unsubscribe(int n) to unsubscribe from most recent n subscription(s) (including opt_nulliface_all option support.) The implementation of group sets might obviate the usefulness of this. - (?) Enhanced MT-safety and exception handling. Don't know if any particular problems; but haven't tested extensively. Also; might be able to make it more efficient. In particular; if one instance is intended to be shared by multiple threads, there is _much_ work to be done. - (??) Track subscription list state; i.e. recognize the state when any ::unsubscribe emptys the subscription list. This state might be used to re-define some parameters (especially the network interface for sends) set with ::open and for other changes ... but utility vs. added complexity ratio seems low. (Note that closing the socket and reopening another can cause nasty side-effects, so probably can't change the bound parameters, anyway.) Sun Jun 9 16:26:00 2002 Douglas C. Schmidt * ace/ATM_Acceptor.cpp: * ace/ATM_Addr.cpp: * ace/ATM_Connector.i: * ace/ATM_QoS.cpp: * ace/ATM_Stream.cpp: * ace/CE_Screen_Output.cpp: * ace/Configuration.cpp: * ace/Handle_Set.i: * ace/IOStream.cpp: * ace/Lib_Find.cpp: * ace/Log_Msg.cpp: * ace/Log_Record.cpp: * ace/MEM_Addr.cpp: * ace/Malloc_T.i: * ace/Memory_Pool.cpp: * ace/Message_Queue.cpp: * ace/Msg_WFMO_Reactor.cpp: * ace/OS.cpp: * ace/OS.i: * ace/OS_String.cpp: * ace/Process.cpp: * ace/SOCK_Connector.i: * ace/SPIPE_Connector.cpp: * ace/Sock_Connect.cpp: * ace/Synch_T.cpp: * ace/ace_wchar.inl: Changed improper use of NULL to 0. Sun Jun 9 15:33:05 2002 Jeff Parsons * ace/Date_Time.i: Fixed some typos that caused build errors. Sat Jun 8 14:46:19 2002 Douglas C. Schmidt * ace/Array_Base.h: Replaced #include "Global_Macros.h" with #include "ace/Global_Macros.h" Thanks to Bill Fulton for reporting this. Fri Jun 7 19:00:31 2002 Steve Huston * ace/OS_String.inl (strstr): Also see: Thu May 30 16:45:10 UTC 2002 Craig Rodrigues HP-UX 11.00 doesn't supply wcsstr(), only wcswcs (), so special-case that one with #if defined (HPUX). Fri Jun 7 16:42:29 2002 Steve Huston * ace/Date_Time.i (update): Use ACE_OS::localtime_r rather than ACE_OS::localtime to avoid MT time confusion. Thanks to Kelly Hickel for reporting this. Fri Jun 7 16:29:21 2002 Steve Huston * ace/Acceptor.{h cpp}: (ACE_Strategy_Acceptor) Added an open () method with signature that matches ACE_Acceptor::open to avoid hiding the one in ACE_Acceptor, according to Forte 6. In the new open(), however, the ACE_Reactor* arg is required, to make it distinguishable from the existing open(). The new open forwards everything to the previously-existing, more full-featured open(). Constructors and full-featured open(), added optional reuse_addr arg - it's passed down to the ACE_Accept_Strategy::open method. Removed the service_port_ member - it's not used. (ACE_Acceptor::open): If the reactor registration fails, close the peer_acceptor_ object. * netsvcs/TS_Server_Handler.cpp (ACE_TS_Server_Acceptor::parse_args): * netsvcs/Name_Handler.cpp (ACE_Name_Acceptor::parse_args): * netsvcs/Server_Logging_Handler_T.cpp (ACE_Server_Logging_Acceptor_T): Use a local variable for the -p port option; server_port_ is gone. Fri Jun 7 14:30:22 2002 Steve Huston * ace/Message_Queue.{h cpp} (ACE_Message_Queue_NT): Change deactivate (int pulse) to deactive() and pulse() - forgot this one in "Thu Jun 6 18:10:45 2002 Steve Huston" set of changes. Also, corrected the way the completion routine checks state of the queue. enqueue() will always pass ACTIVATED as the queue state to be sure that blocks are seen when dequeued. Thu Jun 6 17:41:24 2002 Krishnakumar B * ACEXML/common/Mem_Map_Stream.h: * ACEXML/common/Mem_Map_Stream.cpp: * ACEXML/common/HttpCharStream.h: * ACEXML/common/HttpCharStream.cpp: * ACEXML/common/URL_Addr.cpp: Fixed the explicit template instantiation problems on Solaris. Thu Jun 6 18:35:49 2002 Steve Huston * ace/Acceptor.h (ACE_Strategy_Acceptor): Made open() virtual since its parent class (ACE_Acceptor) ope() is also virtual. Resolves warning from Forte 6 that open() hides its parent class's open(). Thu Jun 6 18:10:45 2002 Steve Huston * ace/README: Removed ACE_HAS_OPTIMIZED_MESSAGE_QUEUE. No configs use it, and it's functionality doesn't really support the message queue deactivation/pulse semantics. * ace/Message_Queue.h: * ace/Message_Queue_T.{h cpp i}: Removed the "int pulse" argument from deactivate() and add a pulse() method. States stay the same. Took out all the ACE_HAS_OPTIMIZED_MESSAGE_QUEUE stuff. It's not used any longer. * examples/C++NPv2/AC_Client_Logging_Daemon.cpp: Use the pulse() method instead of deactivate (1). * examples/C++NPv2/AIO_Client_Logging_Daemon.cpp: Removed answered questions. Removed reimplemented handle_connect() method because the needed things are now available via the framework. * ace/Asynch_Acceptor.{h cpp}: * ace/Asynch_Connector.{h cpp}: Added new hook method, int validate_connection (const ACE_Asynch_Accept::Result&result, const ACE_INET_Addr& remote_addr, const ACE_INET_Addr& local_addr) that allows access to success/fail, handle, and addresses. The validate_new_connection (const ACE_INET_Addr&) method is now deprecated. * ace/WFMO_Reactor.{h cpp} (ACE_WFMO_Reactor_Notify): Add an optional argument to ACE_WFMO_Reactor_Notify constructor. size_t max_notifies is used to specify a limit for how many notifications can be queued. The value is used to calculate new high and low watermarks to the message_queue_. Default 1024. * ace/Activation_Queue.cpp: * ace/Message_Block.cpp: * ace/Message_Queue_T.cpp: Added #include "ace/Log_Msg.h" to get the ACE_DEBUG, etc. definitions. * ace/Read_Buffer.cpp: Added #include for ace/Log_Msg.h and ace/Malloc_Base.h (for ACE_Allocator). * ace/Log_Msg.cpp (log (ACE_Log_Record&)): If there's a ACE_Log_Msg_Callback, do it before sending the log record to any other logging sinks. Allows the callback to munge the data. Thu Jun 06 10:50:37 2002 Ossama Othman * ace/Dev_Poll_Reactor.cpp (cancel_timer): Fixed race condition by adding an ACE_GUARD. Basically the same fix that Doug made to the Select_Reactor below. Thu Jun 6 12:28:20 2002 Douglas C. Schmidt * ace/Select_Reactor_T.cpp: Moved the cancel_timer() methods from the Select_Reactor_T.i file and added ACE_GUARD's around them to ensure we're serialized correctly. Thanks to Johnny Chen for motivating this. Thu Jun 6 08:24:43 2002 Jeff Parsons * ace/Malloc_T.h: Removed extra comment closer */. Thu Jun 6 07:11:15 2002 Douglas C. Schmidt * THANKS: Just added our 1,500th ACE+TAO contributor!!!!! * ace/Malloc_T.cpp: Clarify that the memory backing store must reside in a directory with the appropriate visibility and permissions. Thanks to Frank O. Flemisch for reporting this. Wed Jun 5 23:06:11 UTC 2002 Don Hinton * ace/DLL_Manager.h: Fixed compile error. Thanks to Jai Balasubramanian for pointing this out. Wed Jun 5 16:58:41 2002 Krishnakumar B * ACEXML/common/Mem_Map_Stream.cpp: Instantiate the templates needed when explicit templates are defined. Thanks to Carlos for pointing this out. * ACEXML/common/HttpCharStream.cpp: Peek means "get the next character", not "get the character after next". The previous change to the test caught this bug. Wed Jun 5 16:42:43 2002 Krishnakumar B * ACEXML/examples/SAXPrint/main.cpp (ACE_TMAIN): Modified the example to test fetching and parsing an XML URL. This actually tests most of the functions of the new stream class and is better than the lame test that I wrote the other day. Wed Jun 5 13:54:03 UTC 2002 Don Hinton * ace/DLL_Manager.{h,cpp}: * ace/Framework_Component.cpp: Made ACE_DLL_Manager a true singleton instead of using the ACE_*Singleton templates, thus avoiding a problem with multiple instantiations by broken compilers. Thanks to Chris Kohlhoff for this suggestion. Wed Jun 5 08:33:25 2002 Douglas C. Schmidt * ace/Timer_Queue_T.h (class ACE_Timer_Queue_T): Clarify that the second calculate_timeout() method doesn't use a lock. Thanks to Johnny Chen for motivating this. * ace/Process_Manager.cpp (handle_signal): Added a check for i == -1. Thanks to Dimitrije Jankovic for reporting this and providing a fix! Tue Jun 04 16:47:27 2002 Ossama Othman * ace/Service_Config.h: No need to include "ace/DLL.h". Forward declaring ACE_DLL is enough. * ace/Service_Config.cpp: Include "ace/DLL.h" to pull in ACE_DLL class declaration. Tue Jun 04 16:34:18 2002 Ossama Othman * ace/Service_Config.cpp: Removed duplicate "ace/Auto_Ptr.h" include. * ace/Svc_Conf_Lexer_Guard.cpp: Moved Svc_Conf.h include within the ACE_USES_CLASSIC_SVC_CONF preprocessor block. It isn't needed for the XML-based Service Configurator. Tue Jun 04 16:02:11 2002 Krishnakumar B * ACEXML/common/HttpCharStream.h: * ACEXML/common/HttpCharStream.cpp: * ACEXML/common/Filecharstream.h: * ACEXML/common/Filecharstream.cpp: Removed the constructor which accepted a string containing either a filename or a URL from these files. Problem was it was relying on calling open to do the work, but if open fails there was no way to report the error without throwing exceptions. So don't allow people to use this constructor and always insist on using open. * ACEXML/common/Mem_Map_Stream.cpp: * ACEXML/common/URL_Addr.h: * ACEXML/common/URL_Addr.cpp: * ACEXML/common/XML_Codecs.cpp: * tests/Codecs_Test.cpp: Other miscellaneous fixes including using ACE_Auto_Basic_Array_Ptr instead of ACE_Auto_Array_Ptr. * ACEXML/common/Makefile.bor: * ACEXML/tests/Makefile.bor: Added new files. * ACEXML/tests/HttpCharStream_Test.cpp: Cosmetic fixes. Tue Jun 04 14:18:56 2002 Nanbor Wang * ACEXML/tests/HttpCharStream_Test.dsp: * ACEXML/tests/Tests.dsw: Added a new test project. Tue Jun 04 13:45:39 2002 Nanbor Wang * ACEXML/common/Mem_Map_Stream.h: Fixed typedefs of template classes. * ACEXML/common/XML_Common.dsp: Added new files to project files. Tue Jun 4 12:35:12 2002 Jeff Parsons * ace/Message_Queue*: Moved the state_ member and the accessor method to the non-template base class to get rid of the Win32 build bustage, since ACE_Message_Queue_NT is not a template class, and does not inherit from ACE_Message_Queue<>. Tue Jun 4 10:03:19 2002 Douglas C. Schmidt * examples/C++NPv2/AC_Client_Logging_Daemon.cpp: Reverted the thr_count() stuff since we need to reactivate the queue now. * ace/Message_Queue*: Changed all the message queue implementations to use the new ACTIVATED/DEACTIVATED/PULSED implementation of deactivate()/activate(). Tue Jun 4 09:48:34 2002 Jeff Parsons * ace/Message_Queue.h: * ace/Message_Queue_T.h: Fixed the signatures of deactivate and deactivate_i to make the appearance of the default parameter 'int pulse' consistent. Tue Jun 4 06:46:27 2002 Douglas C. Schmidt * examples/C++NPv2/AC_Client_Logging_Daemon.cpp: Added the "1" parameter to the call to deactivate() method to simply "pulse" the queue. Also, changed the AC_Output_Handler::open() method to check if thr_count() == 0 when determining if to activate the service handler. * ace/Message_Queue_T.h: Added new pulse parameter to ACE_Message_Queue::deactivate() so that callers can decide whether to change the state of the queue to be "deactivated" or just to pulse waiting threads to wake up and continue their processing. This simplies one of the examples in C++NPv2. Mon Jun 3 16:11:12 2002 Krishnakumar B * ACEXML/common/FileCharStream.cpp: Fixed a memory leak. * ACEXML/common/HttpCharStream.cpp: * ACEXML/common/HttpCharStream.cpp: * ACEXML/common/HttpCharStream.h: * ACEXML/common/Makefile: * ACEXML/common/Mem_Map_Stream.cpp: * ACEXML/common/Mem_Map_Stream.h: * ACEXML/common/URL_Addr.cpp: * ACEXML/common/URL_Addr.h: Functionality needed by the parser to fetch URI's (DTDs etc) from the web. This is a simple http_get implementation and doesn't work for https URLs (which can be fixed easily provided there is interest). * ACEXML/common/Parser.cpp: Fixed a typo. * ACEXML/tests/HttpCharStream_Test.cpp: * ACEXML/tests/Makefile: New regression test to test fetching of URI's from the web by the parser. Mon Jun 3 06:21:57 2002 Douglas C. Schmidt * examples/C++NPv2/AIO_Client_Logging_Daemon.cpp: Removed unnecessary 'return;' calls. Mon Jun 3 07:23:56 UTC 2002 Don Hinton * Framework_Component_DLL.bor: Fixed typo. Sun Jun 2 22:52:23 UTC 2002 Craig Rodrigues [Bug 1208] * ace/README: Document new ACE_HAS_3_PARAM_WCSTOK macro. * ace/OS_String.inl (strtok_r): Check ACE_HAS_3_PARAM_WCSTOK macro. * ace/config-aix-4.x.h: * ace/config-linux-common.h: * ace/config-sunos5.7.h: Define ACE_HAS_3_PARAM_WCSTOK on these platforms after doing the appropriate checks. Sun Jun 2 15:34:41 UTC 2002 Don Hinton * ace/DLL.cpp: Test for null dll_name_ before calling open() in the copy ctor, since open would flag it as an error. Improved error messages. * ace/DLL_Manager.{h,cpp}: * ace/Framework_Component.cpp: Changed ACE_DLL_Manager to use ACE_Unmanaged_Singleton so that it can be explicitely closed by ACE_Framework_Repository after ACE_Service_Config is closed. Improved error messages. Thanks to Steve Huston for finding this. Sun Jun 2 09:03:06 2002 Douglas C. Schmidt * ace/Select_Reactor_Base.cpp: Delete temp buffers if enqueue_head() fails in the ACE_Select_Reactor_Notify open() and notify() methods. Thanks to Chris Uzdavinis for reporting this. Sat Jun 1 22:42:17 2002 Steve Huston * examples/C++NPv2/AC_CLD.mak: * examples/C++NPv2/TPCLS.mak: Added "ssl=1" to properly include the SSL stuff in the build; these examples use SSL. * examples/C++NPv2/AIO_Client_Logging_Daemon.cpp: * examples/C++NPv2/AIO_CLD_export.h: * examples/C++NPv2/AIO_CLD.mak: Asynch I/O example from Chapter 8. Sat Jun 1 15:38:40 2002 Steve Huston * ace/Asynch_Acceptor.cpp (open): bind_port is in ACE_Sock_Connect, not ACE. Added #include "ace/SOCK_Stream.h" that class is also used, and #include "ace/Log_Msg.h" to get the ACE_ERROR macros. * ace/Asynch_Connector.cpp (handle_connect): clr_flags() is in ACE_Flag_Manip, not ACE. Added #include "ace/Log_Msg.h" to get ACE_ERROR macros. Fri May 31 13:35:41 2002 Steve Huston * examples/C++NPv2/TPC_Logging_Server.{h cpp}: * examples/C++NPv2/AC_Client_Logging_Daemon.cpp: Primarily formatting changes to match the book. * examples/C++NPv2/SLDex.mak: Removed Logging_Acceptor_Ex from files list; it's only a header file. Fri May 31 11:07:25 2002 Douglas C. Schmidt * examples/C++NPv2/AC_Client_Logging_Daemon.cpp: Modified this so use pointers rather than references to simplify things in the book. Thu May 30 23:03:38 2002 Steve Huston * examples/C++NPv2/SR_Configurable_Logging_Server.{cpp mak}: * examples/C++NPv2/Makefile: Added new ACE_Select_Reactor-based configurable logging server. * examples/C++NPv2/AC_Client_Logging_Daemon.cpp: Code changes to match book and fix reconnect problems. Thu May 30 18:02:35 2002 Douglas C. Schmidt * ace/OS.h: Changed EACESS to EACCES to be POSIX compliant. Thanks to Eric Eide for (re)reporting this! Thu May 30 10:01:12 2002 Ossama Othman * ace/UPIPE_Stream.h (ACE_UPIPE_Stream): Added missing PEER_ADDR trait. Thu May 30 16:45:10 UTC 2002 Craig Rodrigues [Bug 1208] * ace/OS_String.inl (strstr): Remove wcswcs(), use wcsstr() instead. Thu May 30 9:15:19 2002 Douglas C. Schmidt Thanks to Edan Ayal and Alex Libman for the following fixes. * ACE_WIN32_Asynch_Read_Stream_Result::complete () ACE_WIN32_Asynch_Write_Stream_Result::complete () ACE_WIN32_Asynch_Write_Dgram_Result::complete ACE_WIN32_Asynch_Read_Dgram_Result::complete improved readability and logic * ACE_WIN32_Asynch_Read_File_Result::complete () ACE_WIN32_Asynch_Write_File_Result::complete () fixed errors,improved readability and logic * ACE_WIN32_Asynch_Read_Stream::read () ACE_WIN32_Asynch_Read_File::read () ACE_POSIX_Asynch_Read_Stream::read () ACE_POSIX_Asynch_Read_File::read () Added check for enough space in message block bytes_to_read <= mb->space() * ACE_WIN32_Asynch_Write_Stream::write () ACE_WIN32_Asynch_Write_File::write () ACE_POSIX_Asynch_Write_Stream::write () ACE_POSIX_Asynch_Write_File::write () Added check for correct length of message block bytes_to_write <= mb->length() * ACE_WIN32_Asynch_Read_Stream::readv () ACE_WIN32_Asynch_Read_File::readv () ACE_WIN32_Asynch_Read_Dgram::recv Added checks for: never read more bytes_to_read bytes; correct using of buffers - message blocks * ACE_POSIX_Asynch_Write_Stream::writev () ACE_POSIX_Asynch_Write_File::writev () ACE_WIN32_Asynch_Write_Dgram::send Added checks for: never write more bytes_to_write bytes; correct using of buffers - message blocks improved readability and logic Thu May 30 08:48:19 2002 Douglas C. Schmidt * ace/Configuration_Import_Export.cpp (squish): Replaced (*cp == ' ') || (*cp == '\t') || (*cp == '\n') || (*cp == '\r')) with isspace (*cp). Thanks to Gonzalo A. Diethelm and Dave Steele for this suggestion. Thu May 30 11:53:05 UTC 2002 Don Hinton * ace/DLL_Manager.cpp: Fixed Fuzz errors. Thanks to Johnny Willemsen for pointing this out. Thu May 30 11:40:45 UTC 2002 Don Hinton * tests/Framework_Component_DLL.bor: Fixed cut-n-paste error that caused the symbols not to be exported. Should fix the Borland builds. Thu May 30 10:18:27 UTC 2002 Don Hinton * tests/Framework_Component_Test.cpp: Modified test to use the new macro definitions and method names. * tests/Framework_Component_DLL.cpp: Added ACE_DLL_UNLOAD_POLICY declaration specifying LAZY unloading. Changed an errant ACE_LIB_TEXT macro to ACE_TEXT. * ace/config-all.h: Added the dll unloading policies mentioned below as well as an ACE_DLL_UNLOAD_POLICY macro dlls can use to set/export their own policy. If no policy is exported, the current per-process policy is used. * ace/DLL_Manager.{h,cpp}: Renamed unload_strategy to unload_policy and moved the policy definitions to config-all.h so that they can be used without including DLL_Manager.h (which includes OS.h, etc...). Refactored the unloading policies and implemented the per-dll case by probing the dll for a "_get_dll_unload_policy" function that returns the dll specific policy--if the dll chose to implement it. Added missing template instantiations. * ace/DLL.{h,cpp} (symbol): * ace/DLL_Manager.{h,cpp} (symbol): Added additional default parameter, ignore_errors, so the dll can be probed for symbols without sending error messages to the log. Thu May 30 08:53:12 2002 Johnny Willemsen * tests/Codecs_Test.cpp: Removed not needed ; after the ACE_RCSID. This will fix a warning in the Tru64 build * tests/Framework_Component_DLL.cpp: Corrected playing of ;. This will fix a warning in the Tru64 build. Thu May 30 02:27:29 2002 Steve Huston * examples/C++NPv2/AC_Client_Logging_Daemon.cpp: * examples/C++NPv2/AC_CLD_export.h: * examples/C++NPv2/AC_CLD.mak: * examples/C++NPv2/Makefile: Added remaining Chapter 7 example. Thu May 30 08:04:12 2002 Johnny Willemsen in comment to \ because the

is a commend that is recognized by doxygen. Thu May 30 07:46:12 2002 Johnny Willemsen * ace/Acceptor.h (ACE_Acceptor, ACE_Oneshot_Acceptor): * ace/Connector.h (ACE_Connector): Use ACE_TYPENAME where appropriate in newly added traits to correct build problems in g++ 2.95.x or better builds. Wed May 29 22:13:19 2002 Ossama Othman * ace/Acceptor.h (ACE_Acceptor, ACE_Oneshot_Acceptor): * ace/Connector.h (ACE_Connector): * ace/Svc_Handler.h (ACE_Svc_Handler): Added STL-style traits that may be useful when subclassing these classes. Wed May 29 21:55:49 2002 Steve Huston * examples/C++NPv2/TPC_Logging_Server.{h cpp}: * examples/C++NPv2/TPCLS_export.h: * examples/C++NPv2/TPCLS.mak: * examples/C++NPv2/Makefile: Added Chapter 7 examples. * ace/Acceptor.h (ACE_Acceptor::open): Made open() virtual. Thu May 30 01:38:51 UTC 2002 Craig Rodrigues * ace/OS_String.inl: Revert: Wed May 29 09:38:53 2002 Ossama Othman The intended fix is satisfactorily addressed by: Tue May 28 18:35:46 UTC 2002 Craig Rodrigues Wed May 29 16:36:42 2002 Ossama Othman * ace/CDR_Stream.cpp (write_wchar, read_wchar, skip_wchar): * ace/CDR_Stream.i (write_wchar_array, read_wchar_array): Take into account the actual size of the ACE_CDR::WChar type instead of assuming that it is always 16 bits long. Wed May 29 20:16:48 UTC 2002 Don Hinton * tests/Framework_Component_Test.cpp: Changed ACE_Service_Config::open() to call the ignore_default_svc_conf_file flag since all the directives are passed directly without using a config file anyway. * ACEXML/apps/svcconf/Svcconf_Handler.{h,cpp}: Removed handle_ member variable and pass the local svc_dll object instead of handle_ to ACE_Service_Config::create_service_type() in accordance with changes below to ACE_DLL. Wed May 29 12:35:21 2002 Ossama Othman * ace/OS.h: If ACE_HAS_WCHAR is defined define the ACE_OS::WChar type to be of type wchar_t. Otherwise, define it to be ACE_UINT16 (the previous default). Addresses some wide character CDR and CORBA C++ mapping issues. Thanks to David Smith for reporting this. Wed May 29 09:46:56 2002 Ossama Othman * ace/Message_Queue.h: Include "ace/Synch.h" to pull in ACE_Thread_Mutex class declaration. Thanks to Marek Maleta for reporting the problem. * THANKS: Added Marek to the Hall of Fame. Wed May 29 09:38:53 2002 Ossama Othman * ace/OS_String.inl (strstr): Only use wcswcs() if _XOPEN_SOURCE is defined. In any case, the Single UNIX Specification version 2 strongly encourages use of wcsstr(). Fixes a compile-time error on glibc 2.x platforms. (strtok_r): Glibc has the 3 argument version of wcstok(). Use it instead. Fixes a compile-time error on glibc 2.x platforms. Wed May 29 15:52:52 UTC 2002 Don Hinton * ace/DLL_Manager.{h,cpp}: Cleaned some problems with auto_ptr usage and added symbol name to the debug message if the symbol isn't found--not all systems seem to give you the name of the unfound symbol. Wed May 29 15:06:32 UTC 2002 Craig Rodrigues * bin/nightlybuilds/builds.lst: Move Debian_NoInterceptors to new scoreboard. Wed May 29 10:29:10 2002 Steve Huston * examples/C++NPv2/Client_Logging_Daemon.cpp: Use a safer scheme to clean up sent blocks; compile the INET_Addr stuff clean. Wed May 29 12:54:23 2002 Johnny Willemsen * ace/DLL_Manager.cpp: * ace/Framework_Component.cpp: Fixed msvc wchar compile errors Wed May 29 08:41:12 2002 Johnny Willemsen * ace/Codecs.h: Removed the ; after the ACE_UNIMPLEMENTED_FUNC, the BCB compiler has problems with it. * tests/Makefile.bor: Added the new Codecs_Test. Tue May 28 19:40:44 2002 Steve Huston * examples/C++NPv2/Client_Logging_Daemon.cpp: * examples/C++NPv2/CLD_export.h: * examples/C++NPv2/CLD.mak: * examples/C++NPv2/TP_Logging_Server.{h cpp}: * examples/C++NPv2/TPLS_export.h: * examples/C++NPv2/TPLS.mak: * examples/C++NPv2/Makefile: Added new client logging daemon and thread pool logging server examples from chapter 6. Wed May 29 02:09:32 UTC 2002 Craig Rodrigues * bin/nightlybuilds/builds.lst: Move RedHat_7.1_Full and RedHat_7.1_NO_AMI_Messaging builds to new scoreboard. Tue May 28 19:20:58 2002 Krishnakumar B * ace/Read_Buffer.cpp (rec_read): It seems that my changes trash the files written by test programs. I need to write a test to check out what's happening before changing the CVS head. Reverting my change of Tue May 28 17:00:21 2002 Krishnakumar B . Tue May 28 23:13:45 UTC 2002 Don Hinton * tests/Framework_Component_DLL.cpp: Added missing ";" to end of template instantiation statements. Tue May 28 22:34:03 UTC 2002 Don Hinton * ace/DLL.cpp: Added missing ACE_const_cast(). Tue May 28 17:00:21 2002 Krishnakumar B * ace/Read_Buffer.cpp (rec_read): Fixed stupid thinko when decrementing slot. Tell myself to think twice to about using ?:. My previous change also ate the character when only one character is in a file. ACE_Read_Buffer is crying for a test under $ACE_ROOT/tests which tests variable sized buffers with sizes of 1, < BUFSIZ, BUFSIZ, > BUFSIZ instead of under examples/misc/test_tead_buffer.cpp. Will try to get in one. * docs/ACE-guidelines.html: Update guidelines to be careful about using ?: in some situations. Thanks to Doug for suggesting this. Tue May 28 21:54:44 UTC 2002 Craig Rodrigues * bin/nightlybuilds/builds.lst: Move Debian_NoInline and Debian_GCC_3.0.4 builds to new scoreboard. Tue May 28 21:32:42 UTC 2002 Don Hinton * ace/DLL.cpp: * ace/DLL_Manager.cpp: * ace/Framework_Component.cpp: * ace/Framework_Component_T.cpp: Fixed Fuzz errors. Tue May 28 18:35:46 UTC 2002 Craig Rodrigues [Bug 1208] * ace/OS_String.cpp (strok_r_emulation): Call ACE_OS_String::strtok instead of ::wcstok. * ace/OS_String.inl (strtok): If ACE_HAS_XPG4_MULTIBYTE_CHAR is defined, call 3 parameter version of wcstok, else call 2 parameter version. * ace/config-linux-common.h: Only define ACE_LACKS_WCSTOK and ACE_LACKS_WCSDUP_PROTOTYPE for glibc versions less than 2. Define ACE_HAS_XPG4_MULTIBYTE_CHAR for glibc 2 and higher. * tests/OS_Test.cpp: Add test for wchar_t version of strtok. Tue May 28 15:02:01 UTC 2002 Don Hinton * tests/tests.dsw: * tests/Framework_Component_DLL.dsp: Added new dsp. Tue May 28 09:35:17 2002 Jeff Parsons * ace/ace_dll.dsp: * ace/ace_lib.dsp: Added DLL_Manager.* to these projects. Tue May 28 10:47:50 UTC 2002 Don Hinton * tests/Logging_Strategy_Test.cpp: Fixed typo, ACE_AS_* > ACE_HAS_*. * tests/Makefile.Framework_Component_DLL: * tests/Makefile: * tests/Makefile.bor: Added/modified Makefiles to add new test file, and updated dependancies. * tests/Framework_Component_Test.{h,cpp}: * tests/Framework_Component_DLL.{h,cpp}: Added. * tests/Framework_Component_DLL_export.h: Added. Modified to test to exercise the new ACE_DLL_Singleton and ACE_DLL* classed in concert with the Service Config framework and new Framework Component mechanisms. * tests/DLL_Test.{h,cpp}: Modified test to fully test all the features of the new ACE_DLL, ACE_DLL_Handle, and ACE_DLL_Manager classes. * ace/Makefile: * ace/Makefile.bor: Added DLL_Manager and updated dependancies. * bin/generate_export_file.pl: Added generation of library specific TRACE macros in terms of the new ACE_TRACE_IMPL macro below. * ace/Global_Macros.h: Added new macro, ACE_TRACE_IMPL and implemented ACE_TRACE in terms of it if tracing is enabled. This allows you to turn tracing on for a particular cpp by just undef'ing ACE_TRACE and redefining it as ACE_TRACE_IMPL. * ace/Parse_Node.{h,cpp}: Removed handle() method and added a dll() method. Also, since ACE_DLL_Handle::symbol() calls ACE::ldname() internally, changed the ACE::ldname() calls in the ctors for ACE_Object_node and ACE_Function_Node to ACE::strnew(). * ace/Svc_Conf_y.cpp: Changed call to ACE_Location_Node::handle() to ACE_Location_Node::dll() in ACE_Service_Type::ctor. * ace/Service_Object.{h,cpp,i}: Modified ACE_Service_Type to maintain an ACE_DLL member variable instead of an ACE_SHLIB_HANDLE, and changed ctor accordingly. Removed call to ACE_OS::dlclose() from dtor. Removed handle() methods. * ace/Object_Manager.cpp: * ace/Service_Config.cpp: The Object Manager is now always responsible for cleaning up the ACE_Framework_Repository, but only after the Service Config framework has been cleanup. ACE_Service_Config no longer knows anything about ACE_Framework_Repository. * ace/Service_Config.cpp: Changed create_service_type() to take an ACE_DLL& instead of an ACE_SHLIB_HANDLE. Removed unneeded call to ACE::ldname(). * ace/DLL_Manager.{h,cpp}: Added. * ace/DLL.{h,cpp}: Added new classes, ACE_DLL_Manager_Ex and ACE_DLL_Handle, and and moved all functionalility from ACE_DLL to the new classes. ACE_DLL maintains the same interface and semantics but defers all calls to the new classes. ACE_DLL_Manager is a singleton that manages the lifetimes of instances of refcounted ACE_DLL_Handle objects that represent the actual dlls. The following unloading strategies are available: per-process/dll, eager/lazy. Added copy ctor to ACE_DLL so that the get/set_handle() methods aren't needed--there use in the Service Config framework can complicate orderly destruction of singletons based on ACE_DLL_Singleton. Added call to ACE::ldname() to the symbol() method so that the caller no longer needs to do it themselves. * ace/Singleton.{h,cpp,i}: Added new singleton template, ACE_DLL_Singleton, that registers itself with the ACE_Framework_Repository so that it can be destroyed when the dll with which it is associated is unloaded. * ace/Proactor.{h,cpp}: * ace/Reactor.{h,cpp}: Added name() method as needed by changes below, and implemented dll_name() method to return "ACE". * ace/Framework_Component.{h,cpp,inl}: * ace/Framework_Component_T.{h,cpp}: Enhanced the Framework Component "framework" ;-) to allow the removal of registered components, either individually by name or as a group, based on the dll that registered them. Mon May 27 15:59:17 2002 Nanbor Wang * ACEXML/common/XML_Codecs.h: * ACEXML/common/XML_Codecs.cpp: Fixed VC warnings. * ace/ace_dll.dsp: * ace/ace_lib.dsp: Added Codecs.*. * tests/tests.dsw: * tests/Codecs_Test.dsp: Added a new test. * ACEXML/common/XML_Common.dsp: Added XML_Codecs.*. Mon May 27 15:47:44 2002 Steve Huston * ace/OS.h: Add new service-related macro, ACE_Local_Service_Export. This is intended for use in the ACE_FACTORY_DEFINE macro, for static services whose factory functions need not be exported. To use this when defining a factory function, do ACE_FACTORY_DEFINE(ACE_Local_Service, StaticSvcClass) * examples/C++NPv2/Service_Reporter.cpp: Use ACE_Local_Service in the ACE_FACTORY_DEFINE for the Service_Reporter service. Mon May 27 15:21:57 2002 Krishnakumar B * ace/Codecs.h: * ace/Codecs.cpp: New files meant to hold all encoding/decoding classes/functions. Currently implements Base 64 encoding. * ACEXML/common/XML_Codecs.h: * ACEXML/common/XML_Codecs.cpp: * ACEXML/common/Makeile: Same guy under a different hood. * ace/Basic_Types.h: Added definition of ACE_Byte. * tests/Codecs_Test.cpp: * tests/run_test.lst: Regression test which tests the encoding/decoding functionality added above. * tests/Makefile: * tests/RMCast/Makefile: * ace/Makefile: * ace/RMCast/Makefile: Updated dependencies. * ace/Read_Buffer.cpp: Decrement the extra increment of slot. This is not completely correct, as we should abstract the handling of end-of-line across Unix and Windows and then use it here and all the places which read stuff from files. See Fri May 24 10:42:25 2002 Douglas C. Schmidt for another manifestation of the same bug. * include/makeinclude/rules.local.GNU: Remove files named core.[0-9]+. Newer kernels dump a core file associated with each process separately. Mon May 27 15:04:31 2002 Steve Huston * ace/OS.h (ACE_FACTORY_DEFINE): Add the export declaration to the generated factory, removing the need to also use the ACE_FACTORY_DECLARE in simple (most common) situations. * examples/C++NPv2/SLD.cpp: * examples/C++NPv2/SLDex.cpp: * examples/C++NPv2/Server_Shutdown.cpp: Remove ACE_FACTORY_DECLARE. It's not needed in these situations. Mon May 27 07:39:41 2002 Douglas C. Schmidt * ace/Configuration_Import_Export.cpp (squish): Added a check for '\r' to ensure that empty lines are handled properly. Thanks to Vladimir Chovanec for reporting this. Mon May 27 09:20:12 2002 Johnny Willemsen * bin/generate_doxygen.pl: Added tao_costime to the list of doxygen files that must be run * etc/tao_costime.doxygen: Created doxygen config file for this TAO service * html/index.html: Added link for the TAO CosTime service doxygen documentation Mon May 27 08:18:12 2002 Johnny Willemsen * ACEXML/common/Attributes_Def_Builder.h: * ACEXML/common/DTD_Manager.h: * ACEXML/common/Element_Def_Builder.h: * ACEXML/common/Validator.h: * ACEXML/parser/debug_validator/Debug_Attributes_Builder.h: * ACEXML/parser/debug_validator/Debug_Element_Builder.h: * ACEXML/parser/debug_validator/Element_Tree.h: Corrected doxygen commands, no space between @ and the command is allowed. * ace/Active_Map_Manager.h: * ace/Arg_Shifter.h: * ace/Based_Pointer_Repository.cpp: * ace/CDR_Stream.h: * ace/Caching_Utility_T.h: * ace/Configuration.h: * ace/DEV_IO.h: * ace/Dev_Poll_Reactor.h: * ace/Dirent_Selector.h: * ace/Env_Value_T.h: * ace/FILE.h: * ace/Get_Opt.h: * ace/Hashable.h: * ace/IO_Cntl_Msg.cpp: * ace/Init_ACE.h: * ace/Local_Tokens.h: * ace/Log_Msg.cpp: * ace/Log_Msg.h: * ace/Memory_Pool.h: * ace/Message_Block.h: * ace/OS.cpp: * ace/OS.h: * ace/Object_Manager.cpp: * ace/POSIX_Asynch_IO.cpp: * ace/POSIX_Asynch_IO.h: * ace/POSIX_Proactor.cpp: * ace/POSIX_Proactor.h: * ace/Pair_T.h: * ace/Proactor.cpp: * ace/Process.h: * ace/Reactor_Impl.h: * ace/Remote_Tokens.h: * ace/SV_Message.h: * ace/Select_Reactor_T.h: * ace/Svc_Conf.h: * ace/System_Time.h: * ace/TLI_Stream.h: * ace/TP_Reactor.cpp: * ace/TP_Reactor.h: * ace/Task.h: * ace/Task_T.h: * ace/Thread.h: * ace/Timer_Wheel_T.cpp: * ace/Token.h: * ace/Token_Manager.h: * ace/WIN32_Proactor.cpp: Improved the doxygen documenation by converting old style documentation to doxygen style. Also corrected small typing errors, start sentences with capital letters and corrected incorrected doxygen commands. * ace/POSIX_Proactor.cpp: Corrected the signature of handle_events from unsigned long to u_long to match the declaration of this method. This was found using the warning file of the doxygen generation. * ace/Future.h: Corrected brief documentation. Brief documentation ends when a dot is found followed by a space of a newline. We had "i.e. " in the brief documenation and now this documentation ended after the second dot, changed it to "i.e.,". This fixed [Bug 892]. * ace/config-doxygen.h: Added ACE_HAS_TOKENS_LIBRARY to generate ACE token library documentation * bin/generate_doxygen.pl: Added tao_cosnaming to the list of doxygen files that must be run * etc/tao_cosnaming.doxygen: Created doxygen config file for this TAO service * etc/tao_cosnotification.doxygen: Corrected tagfile name and directory that is generated * html/index.html: Added link for the TAO Naming service doxygen documentation Sun May 26 21:48:49 2002 Steve Huston * examples/C++NPv2/Reactor_Logging_Server_Adapter.cpp: Added include guard. * examples/C++NPv2/SLD.dsp: Define SLD_BUILD_DLL, not ACE_BUILD_DLL, to set up the export stuff correctly. * examples/C++NPv2/SLDex.dsp: * examples/C++NPV2/examples.dsw: Add new project for second part of chap 5 example. * examples/C++NPv2/SLD.cpp: * examples/C++NPv2/SLDex.cpp: * examples/C++NPv2/Server_Shutdown.cpp: Add ACE_FACTORY_DECLARE to get correct export declaration for factory. Sun May 26 13:20:15 2002 Douglas C. Schmidt * ace/config-macosx.h: Added #define ACE_LACKS_SYSTIME_H. Thanks to Dennis C. De Mars for recommending this. Sat May 25 17:45:21 2002 Nanbor Wang * tests/Proactor_Scatter_Gather_Test.dsp: * tests/tests.dsw: Added Proactor_Scatter_Gather_Test. Sat May 25 16:42:46 2002 Douglas C. Schmidt * tests/run_test.lst, * tests/Makefile.bor, * tests/Makefile: Added Proactor_Scatter_Gather_Test. Sat May 25 16:30:00 2002 Edan Ayal * tests/Proactor_Scatter_Gather_Test.cpp: Added a new test for the asynch scatter/gather I/O functionality. It is currently supported (as the feature itself) only under Win32 - actually NT4 SP2 and above. The test runs in a single thread, and involves a single Sender, two Receivers and a single Writer. The Sender async-reads (scattered) from a file into chunks of . It async-sends (gathered) the odd chunks to the first receiver over a stream, and the even chunks to the second receiver over a different stream. The receivers async-read (scattered) from the socket streams into chunks in size of , and convey the data to the Writer. The Writer reconstructs the file using async-write (gathered). Finally, the reconstructed file is compared to the original file to determine test success. The test therefore covers both async scatter/gather stream I/O and async scatter/gather file I/O. Sat May 25 14:52:06 2002 Douglas C. Schmidt * ace/Strategies_T.cpp (make_svc_handler): Fixed a typo where dll_name_ was misspelled as shared_library_. Thanks to Nathan Krasney for reporting this. Fri May 24 10:42:25 2002 Douglas C. Schmidt * ace/Configuration_Import_Export.cpp (squish): Added a check for '\n' to ensure that empty lines are handled properly. Thanks to Vladimir Chovanec for reporting this. Sat May 25 15:09:42 2002 Steve Huston * examples/C++NPv2/SLDex.{cpp mak}: * examples/C++NPv2/Server_Shutdown.cpp: * examples/C++NPv2/SLDEX_export.h: * examples/C++NPv2/Makefile: Add new dll for second part of Chapter 5 dynamic (re)config example. Sat May 25 11:47:33 2002 Steve Huston * examples/C++NPv2/Reactor_Logging_Server_Adapter.cpp (init): Add wide->narrow char conversion to get ACE_TCHAR into a char-based method. Sat May 25 01:15:02 UTC 2002 Craig Rodrigues * bin/nightlybuilds/builds.lst: Move Debian_Minimum bulid to new scoreboard. Fri May 24 23:52:39 2002 Steve Huston * examples/C++NPv2/Configurable_Logging_Server.dsp: * examples/C++NPv2/SLD.dsp: * examples/C++NPv2/examples.dsw: Added new projects for chapter 5's configurable logging server. Fri May 24 20:51:25 2002 Christopher Kohlhoff * ace/Log_Msg_NT_Event_Log.cpp (open): Need to use logger_key, when it is supplied, to register the event source with the system. * ace/Log_Msg_NT_Event_Log.cpp (log): Replace all newlines in the message with the CR-LF character sequence so that line breaks are correctly displayed in the event viewer. Fri May 24 20:18:41 2002 Steve Huston * examples/C++NPv2/Reactor_Logging_Server.cpp: * examples/C++NPv2/Reactor_Logging_Server_T.cpp: Move all the method implementations for Reactor_Logging_Server<> into Reactor_Logging_Server_T.cpp so they're reuseable in a shared library. * examples/C++NPv2/Reactor_Logging_Server.h: Add template implementation reference plumbing for compilers. * examples/C++NPv2/Select_Reactor_Logging_Server.cpp: * examples/C++NPv2/TP_Reactor_Logging_Server.cpp: * examples/C++NPv2/WFMO_Reactor_Logging_Server.cpp: Remove the (duplicate) definitions of Reactor_Logging_Server<>; the compiler now generates this using the code in Reactor_Logging_Server_T.cpp. * examples/C++NPv2/svc.conf: * examples/C++NPv2/SLD.cpp: * examples/C++NPv2/SLD_export.h: * examples/C++NPv2/SLD.mak: Code and Makefile for the dynamic logging service in chapter 5. * examples/C++NPv2/Makefile: Added SLD.mak. * examples/C++NPv2/Logging_Acceptor.h: Added a PEER_ADDR trait. The Reactor_Logging_Server_Adapter's use of Logging_Acceptor needs the trait. * examples/C++NPv2/Service_Reporter.h: Make ctor public so the service factory can instantiate this class. Sat May 25 00:20:50 UTC 2002 Craig Rodrigues * bin/nightlybuilds/builds.lst: Move Debian_WChar to new scoreboard. Fri May 24 10:18:39 2002 Steve Huston * bin/auto_compile: Don't bail out if the only CVS conflict is in ChangeLog or THANKS. * ace/CDR_Stream.h (ACE_InputCDR): Added comments clarifying the behavior of the ctor that takes a const ACE_Message_Block *. Thanks to Alexander Maack for motivating this. * examples/C++NPv2/display_logfile.cpp (svc): Fix memory leak (thanks to Alexander Maack for reporting this) and don't lose the host name in the data if demarshaling has to be aborted to go read more data from the file. * examples/C++NPv2/Logging_Acceptor_Ex.h: * examples/C++NPv2/Logging_Event_Handler_Ex.h: Remove trailing ';' on inlined methods; Changed to match book. * examples/C++NPv2/Select_Reactor_Logging_Server.cpp: Changed to match book. * examples/C++NPv2/Reactor_Logging_Server_Adapter.{h cpp}: * examples/C++NPv2/Service_Reporter.{h cpp}: * examples/C++NPv2/Configurable_Logging_Server.{cpp mak}: Example code from Chapter 5 of C++NPv2 (Service Configurator). * examples/C++NPv2/Makefile: Added new examples. * THANKS: Added Alexander Maack to the Hall of Fame. * ace/Reactor.h: Mark run[_alertable]_event_loop, end_event_loop, event_loop_done, and reset_event_loop static methods deprecated in favor of calling the non-static methods on ACE_Reactor::instance(). Thanks to Don Hinton for motivating this. * ace/String_Base.h (rep): Added note that directs the caller to free the returned memory. Mon May 13 19:15:49 2002 Steve Huston * ace/Service_Config.h: Doxygen-ized comments for open(), and added a note on -b that files are evaluated relative to "/". * netsvcs/servers/main.cpp: Move the reactor/signal initialization to be after the service loading. If the user specifies -b (be a daemon) it closes all handles, including the reactor notification pipe. Also added ACE_TEXT decorator to the string literals. Fri May 24 13:29:05 UTC 2002 Craig Rodrigues * bin/nightlybuilds/builds.lst: Move Debian_Full and Debian_Minimum_Static builds to new scoreboard. Thu May 23 20:35:22 2002 Steve Huston * ace/RB_Tree.h: Clarified that iterator is valid after changes to container only if the iterated-over element is not removed. Thanks to Craig Ching for noticing this. * ace/Module.cpp (close): Fixed to only use the passed-in flags if the task delete policy was not set explicitly. Thanks to Doug Schmidt for this fix! * examples/C++NPv2/WFMO_Reactor_Logging_Server.cpp: Use new technique for detecting "quit" command. Unified with book content. Thu May 23 20:36:46 UTC 2002 Craig Rodrigues * bin/nightlybuilds/builds.lst: Move Lynx_PPC build to new scoreboard. Thu May 23 14:04:52 2002 Krishnakumar B * ACEXML/common/LocatorImpl.cpp: * ACEXML/common/LocatorImpl.h: * ACEXML/common/LocatorImpl.i: * ACEXML/parser/parser/Parser.cpp: * ACEXML/parser/parser/Parser.h: * ACEXML/parser/parser/Parser.i: Implemented the Locator for the XML parser. * ACEXML/common/CharStream.h: * ACEXML/common/DTDHandler.h: * ACEXML/common/Env.h: * ACEXML/common/Exception.h: * ACEXML/common/FileCharStream.h: * ACEXML/common/InputSource.cpp: * ACEXML/common/SAXExceptions.cpp: * ACEXML/common/SAXExceptions.h: * ACEXML/examples/SAXPrint/SAXPrint_Handler.cpp: * ACEXML/examples/SAXPrint/SAXPrint_Handler.h: Cosmetic fixes including some fixing some memory leaks. * ACEXML/examples/SAXPrint/Print_Handler.cpp: * ACEXML/examples/SAXPrint/Print_Handler.h: * ACEXML/examples/SAXPrint/main.cpp: Add support for printing out errors which uses the Locator. This will print out errors only if there is an error in the XML file. Thu May 23 07:53:37 2002 Douglas C. Schmidt * examples/Misc/test_read_buffer.cpp (ACE_TMAIN): Use ACE_STDIN rather than 0. Thanks to Soeren Gerlach for motivating this. Tue May 21 06:13:50 2002 Douglas C. Schmidt * ace/Hash_Map_Manager_T.h (class ACE_Hash_Map_Manager_Ex): Made shared_find() protected rather than private. Thanks to Ganesh Pai for reporting this. Wed May 22 23:18:26 2002 Priyanka * ACE version 5.2.3 released. Sat May 18 09:32:58 2002 Ossama Othman * ace/SSL/SSL_SOCK_Stream.cpp (get_remote_addr): Set errno to ENOTCONN if the SSL connection hasn't been completed yet, and errno to EBADF if the file descriptor hasn't been set yet. This emulates the getpeername() errno semantics. Sat May 18 08:19:48 2002 Ossama Othman * ace/SSL/SSL_Connector.h: * ace/SSL/SSL_Connector.cpp: Temporarily removed these files since there are still some thread-safefy issues to be addressed in the implementation. Better to wait until after the forthcoming beta to ship them. Fri May 17 07:32:49 2002 Douglas C. Schmidt * ace/Log_Msg.cpp: Replaced ACE_NEW_RETURN_I with ACE_NEW_RETURN. Thanks to Johnny Willemsen for reporting this. Thu May 16 20:15:36 2002 Douglas C. Schmidt * ace/OS.i: Added ACE_HAS_ISASTREAM_PROTO guard around the extern "C" int isastream() method. Thanks to Oleg Terletsky for reporting this. * ace/ARGV.h: Added a comment that points out the "add()" method doesn't handle memory management. Thanks to Kyle Brost and Don Hinton for clarifying this. Thu May 16 17:05:19 2002 Ossama Othman * ace/SSL/SSL_Connector.cpp (handle_input, handle_output): Qualify the AST type with its appropriate scope. g++ requires it. Thu May 16 15:28:24 2002 Ossama Othman * ace/SSL/SSL_Connector.h: * ace/SSL/SSL_Connector.cpp: New ACE_SSL-specific subclasses of the standard ACE_{Strategy_}Connector classes. The standard ACE_Connector class assumes that a connection is established once the stream handle becomes writable. However, that only holds for protocols with a single handshake, such as TCP. Protocols with multiple handshakes, such as SSL, require special handling to prevent the connection from being considered completed once the stream handle becomes writable. The subclasses simply override the handle_input() and handle_output() methods for each of base classes that were subclassed. If possible, these changes will be generalized and merged into ACE proper. When that occurs, these classes will be deprecated. As such, these classes are only intended to be an interim solution. * ace/SSL/SSL_SOCK_Connector.cpp (connect): Fixed bug where the handle in the SSL_SOCK_Stream was not set if a connection is in progress. In that case, the handle must also be set in the SSL_SOCK_Stream so that the correct handle is returned from SSL_SOCK_Stream::get_handle() when performing non-blocking connect()s via the SSL_SOCK_Connector. (complete): No need to set the handle in SSL_SOCK_Stream since it is already set in the connect() method. Only attempt to complete the TCP connection if that hasn't already been done. * ace/SSL/SSL_SOCK_Stream.h (peer): Made this method public so that it can be called by the new SSL_{Strategy_}Connector classes. * ace/SSL/SSL_SOCK_Stream.cpp (get_remote_addr): Overrode the base class implementations of this method. Some applications use get_remote_addr() as a way of determining whether or not a connection has been established. In SSL's case, the remote addr will be available once the TCP handshake has been complete. Despite that fact, the SSL connection may not have been completed. In such a case, a successful return from get_remote_addr() would be misleading. Thu May 16 13:34:19 2002 Nanbor Wang * ACEXML/examples/SAXPrint/main.cpp: Added constness to . This fixed a GCC 3.0 warning. Wed May 15 17:47:24 UTC 2002 Don Hinton * ace/DLL.cpp: Fixed compile error in an AIX ifdef'd section of code I missed before. Wed May 15 17:18:58 UTC 2002 Don Hinton * ace/DLL.cpp (open): Removed unreferenced return value. Thanks to Nanbor for noticing this. Wed May 15 16:44:27 UTC 2002 Don Hinton * ace/DLL.cpp (save_last_error): Use ACE::strnew to make a copy of the saved string. Wed May 15 15:58:07 UTC 2002 Don Hinton * tests/DLL_Test.cpp: Modified test to make calles to ACE_DLL::error () in order to test changes below. * ace/DLL.{h,cpp}: Removed the return in open() after an ACE_Lib_Find error, so that dlopen() will be called and the appropriate error stored. Added new static flag, open_called_, to keep track of whether or not a library function (specifically dlopen) has been called. This is used internally to make sure that dlerror() isn't called unless the library has been initialized with a call to dlopen first. Otherwise it seg-faults on Linux (and perhaps others). Also added a last_error_ variable and save_last_error() method and placed a call to save_last_error() after each library call. Then changed error() so it just returns last_erro_. This solves a few problems, since open() made calls to error() which returned the appropriate error but cleared the value for the next call. So for instance, when the ctor failed and tried to call error() to report the error, it didn't return anything since open() had already called it. Also, if open() failed, and the called tried to call error() to find out why, they got a blank error message since error() had already been called by open(). Tue May 14 19:40:11 2002 Priyanka Gontla * tests/Proactor_Test.cpp (initiate_write_stream): Applied the Patch Johnny Willemsen sent to fix the test for the unicode builds. Tue May 14 19:14:11 2002 Priyanka Gontla * tests/TP_Reactor_Test.cpp (Connector): Fixed the warnings by removing the check condition 'size_t index_ >= 0' which is always going to be true. * tests/Proactor_Test.cpp: Integrated the changes sent by Alex Libman to fix the test on linux and other platforms that has a weak AIO implementation. Mon May 13 16:43:34 2002 Krishnakumar B * ACEXML/parser/parser/Parser.cpp (parse_xml_prolog): I meant to change "standalong" to "standalone" not "encoding" to "encodine". Brain damage... Mon May 13 16:31:33 2002 Krishnakumar B * ACEXML/parser/parser/Parser.cpp (parse_xml_prolog): Fixed a small typo. We should parse "standalone" not "standalong". Mon May 13 10:19:48 2002 Nanbor Wang * ace/Message_Block.cpp: Fixed a fuzz warning. Mon May 13 08:36:38 2002 Alex Libman * tests/Proactor_Test.cpp: Improved flow-control in full-duplex mode by increasing the window size, total_send - total_recv to achieve max performance from TCP/IP Improved static info which includes the number of bytes sent/recv and the number of read/write operations. This allows to see distribution of I/O operations between handlers. Would be useful for Proactor's future improvements. Impoved scatter/gather branch under Win32. Instead of splitting one message into 3 small blocks we now send them as a chain. This helps to improve performance. Mon May 13 07:33:43 2002 Chad Elliott * ACEXML/examples/SAXPrint/main.cpp: Fix the Debian build by using ACEXML_Char instead of ACE_TCHAR. Sun May 12 23:20:06 2002 Alex Libman * tests/TP_Reactor_Test.{h,cpp}: Improved flow-control in full-duplex mode by increasing the window size, total_send - total_recv to achieve max performance from TCP/IP Improved static info which includes the number of bytes sent/recv and the number of read/write operations. This allows to see distribution of I/O operations between handlers. Would be useful for TP_Reactor's future improvements. Sun May 12 10:11:07 2002 Douglas C. Schmidt * ace/Message_Queue_T.cpp: Updated all the enqueue*() and dequeue*() methods so that they use the new total_size_and_length() method, which is more efficient. * ace/Message_Block.h (ACE_Message_Block): Added new total_size_and_length() method to speed up calculation of these values by putting them into one loop. Sun May 12 11:12:00 2002 Nanbor Wang * Makefile: Moved ACEXML directory up so it would be compile right after ACE. We will need them when XML-based Service Configurator becomes the default. Thank to Kitty for pointing this out. Sat May 11 13:04:49 2002 Douglas C. Schmidt * ace/Synch.h: Updated the documentation explaining what an ACE_Barrier does. Thanks to Timothy Culp for motivating this. Sun May 12 09:45:37 2002 Edan Ayal * ace/WIN32_Asynch_IO.cpp: Fixed check for ACE_IOV_MAX limitation in the following methods: - ACE_WIN32_Asynch_Read_Dgram::recv - ACE_WIN32_Asynch_Write_Dgram::send - ACE_WIN32_Asynch_Read_Stream::readv - ACE_WIN32_Asynch_Write_Stream::writev - ACE_WIN32_Asynch_Read_File::readv - ACE_WIN32_Asynch_Write_File::writev. Fri May 10 18:29:48 2002 Krishnakumar B * ace/config-icc-common.h (ACE_HAS_ANSI_CASTS): * include/makeinclude/platform_linux_icc.GNU: Fixed the config file to ensure compilation with Intel C++ Compiler version 6.0. Fri May 10 18:16:50 2002 Irfan Pyarali * ace/Connector.cpp (handle_output): Removed unnecessary debug statement. Thu May 9 20:02:10 2002 Douglas C. Schmidt * docs/ACE-bug-process.html: Fixed a typo in the hostname of the TAO FAQ. Thanks to Jeff Adams for reporting this. Thu May 9 16:26:48 2002 Nanbor Wang * ACEXML/examples/SAXPrint/main.cpp: Added missing include file. * ace/Service_Config.cpp: * ace/Service_Config.h: * ace/Svc_Conf.y: * ace/Svc_Conf_y.cpp: Consolidated ace_create_service_type into ACE_Service_Config::create_service_type_impl. Thu May 9 14:35:24 2002 Nanbor Wang * ace/XML_Svc_Conf.h: Changed to include ACE_export.h instead of config-all.h and added #pragma once macros. Thu May 09 12:12:59 2002 Nanbor Wang * ACEXML/apps/svcconf/Svcconf.h: * ACEXML/apps/svcconf/Svcconf.cpp: * ACEXML/apps/svcconf/Svcconf_Handler.h: * ACEXML/apps/svcconf/Svcconf_Handler.cpp: Commented out the code if XML-based Service Configurator is not used. * ACEXML/apps/svcconf/Makefile: * ACEXML/apps/svcconf/XML_Svc_Conf_Parser.dsp: Removed ACEXML from the list of include path to be consistent with other projects. Thu May 09 10:53:51 2002 Nanbor Wang * ACEXML/common/XML_Common.dsp: One more mis-merged project file. Thu May 09 10:39:17 2002 Nanbor Wang * ace/ace_dll.dsp: * ace/ace_lib.dsp: Fixed link error on win32. I forgot to merge these project files differently (they can not be merged.) Thu May 9 01:07:56 2002 Nanbor Wang * ACEXML/common/StrCharStream.h: * ACEXML/common/StrCharStream.cpp: Fixed Linux compilation errors. Thu May 09 00:38:22 2002 Irfan Pyarali * ace/WFMO_Reactor.cpp (event_handling): Added a fix for bug 1161. The problem was described aptly and the fix was applied exactly as suggested by Lyn Headley : Problem: "The do-while loop in this function is problematic, because active threads is incremented once prior to executing the loop, and then decremented on every iteration of the loop inside safe dispatch(). Thus on the second iteration of the loop active threads is decremented to 2^32, which causes the thread to block on waiting to change state inside update state(), which is never signaled (because there are no other active threads)." Solution: "Moving the do clause of the loop up a few statements to include the increment of active threads (and the acquisition of the lock) would probably fix the larger bug." Also, thanks to Lyn Headley and Paxton Mason at Wolverine, and Kobi Cohen Arazi , Mike Winter (mwinter@sonic.net), who have all suggested fimilar problems and fixes. Thu May 09 00:06:47 2002 Irfan Pyarali * examples/Reactor/WFMO_Reactor: Added the "Static Debug", "Static Release", and "Release" build configurations to the "Debug" configuration for all the 16 dsp files in this directory. Wed May 8 23:57:32 UTC 2002 Craig Rodrigues * bin/nightlybuilds/builds.lst: Move Redhat 7.1 Core build to new scoreboard. Wed May 8 15:15:41 2002 Nanbor Wang Merged in the XML-based Service Configurator framework. The XML-based Service Configruator is *not* enabled by default and the merge should not affect existing applications. We will make the XML-based Service Configurator the defualt one at some point in the future. So you might want to try it out before that time. :) To switch current ACE to use XML Service Configurtor, Add #define ACE_HAS_XML_SVC_CONF in your . You can use the $(ACE_ROOT)/bin/svcconf_convert.pl to convert your existing svc.conf files to svc.conf.xml. * ace/OS.h: * ace/Parse_Node.cpp: * ace/Parse_Node.h: * ace/Service_Config.cpp: * ace/Service_Config.h: * ace/Svc_Conf.h: * ace/Svc_Conf_Lexer_Guard.cpp: * ace/Svc_Conf_l.cpp: * ace/Svc_Conf_y.cpp: * tests/Service_Config_DLL.cpp: Simplified the macro check. * ace/Service_Config.h: * ACEXML/apps/svcconf/Svcconf.cpp: Fixed Linux compilation warnings. * ACEXML/apps/svcconf/Svcconf_Handler.cpp: * ace/Service_Config.cpp: Added more comprehensive error messages. * ACEXML/Makefile: * ACEXML/Makefile.bor: * ACEXML/apps/Makefile: * ACEXML/apps/Makefile.bor: * ACEXML/apps/svcconf/Makefile: * ACEXML/apps/svcconf/Makefile.bor: * ACEXML/parser/parser/Makefile: * ace/Makefile: * ace/Makefile.am: * ace/Makefile.bor: * ace/ace.icc: * examples/ASX/CCM_App/Makefile: * examples/ASX/CCM_App/Makefile.CCM_App: Added or Updated Makefiles. * bin/svcconf-convert.pl: Added more debugging info printout. Fixed incorrect mapping on initializer path/path and state/params. * ace/Service_Object.h: Added enum definition to differentiate ACE_Service_Type_Impl. The enum values are taken from "ace/Svc_Conf_Toekns.h" so that the same service can work with both classic and XML service configurator frameworks. * ace/Service_Config.h: * ace/Service_Config.cpp: Added and methods to ensure objects are allocated in consistent DLL. * ACEXML/parser/parser/Parser.cpp: Made the exception messages more comprehensive so it's easier to determine the origins of parse errors. * ACEXML/apps/svcconf/Svcconf_Handler.h: * ACEXML/apps/svcconf/Svcconf_Handler.i: * ACEXML/apps/svcconf/Svcconf_Handler.cpp: Added more implementation. * examples/ASX/CCM_App/svc.conf.xml: * netsvcs/servers/svc.conf.xml: * tests/Service_Config_Test.conf.xml: Added new XML-based svc.conf files. * tests/Service_Config_DLL.cpp: Added xml-based inline svc.conf directives. * ACEXML/apps/XML_Apps.dsw: Added new workspace for XML applications. This should contains all projects under this subdirectory. * ACEXML/apps/svcconf/README: * ACEXML/apps/svcconf/Svcconf.cpp: * ACEXML/apps/svcconf/Svcconf.h: * ACEXML/apps/svcconf/Svcconf_Handler.cpp: * ACEXML/apps/svcconf/Svcconf_Handler.h: * ACEXML/apps/svcconf/Svcconf_Handler.i: * ACEXML/apps/svcconf/XML_Svc_Conf_Parser.dsp: Added new files that implement the parser for XML-based Service Configurator. * bin/svcconf-convert.pl: Updated the help message. * ace/config-all.h: Added ACE_DEFAULT_SVC_CONF_EXT to define the default file extention name for svc.conf files. It is ".conf" when using classic Service Configurator and ".conf.xml" when using XML Service Configurator. * tests/Service_Config_Test.cpp: Changed to use different file extension with different Service Configurator. * tests/Service_Config_Test.conf.xml: Added the converted XML based svc.conf file. * ace/ace_dll.dsp: * ace/ace_lib.dsp: * ace/XML_Svc_Conf.h: * ace/XML_Svc_Conf.cpp: Added abstract interface definition for DLL based XML parser. * ace/OS.h: Defined ACE_DEFAULT_SVC_CONF_FILE to "svc.conf.xml" if ACE_USES_CLASSIC_SVC_CONF is not defined. * ace/Service_Config.cpp: Adapt Service_Config to use XML parser to process an svc.conf.xml file. * bin/generate_export_file.pl: Added code to record the flags used to generate an export file. * XML/examples/svcconf/Svcconf_Handler.h: * XML/examples/svcconf/Svcconf_Handler.i: * XML/examples/svcconf/Svcconf_Handler.cpp: Added Svcconf handling simulation. * XML/examples/test_docs/svcconf.dtd: Revised Svcconf DTD. * XML/examples/test_docs/svcconf.dtd: Updated the DTD again. The tag also needed an "id" attribute. * XML/examples/SAXPrint/main.cpp: * XML/examples/SAXPrint/svc.conf.xml: Modified the sample XML to conform to the updated svcconf.dtd. * XML/examples/svcconf/README: * XML/examples/svcconf/Svcconf.dsp: * XML/examples/svcconf/Svcconf.dsw: * XML/examples/svcconf/Svcconf_Handler.cpp: * XML/examples/svcconf/Svcconf_Handler.h: * XML/examples/svcconf/Svcconf_Handler.i: * XML/examples/svcconf/main.cpp: New example to test out svc.conf.xml parsing. Not finished. * XML/examples/test_docs/svcconf.dtd: Simplied the svc.conf.dtd by removing the tags and making it an attribute for and tags. * ace/Parse_Node.cpp: * ace/Parse_Node.h: * ace/Service_Config.cpp: * ace/Service_Config.h: * ace/Svc_Conf.h: * ace/Svc_Conf.y: * ace/Svc_Conf_Lexer_Guard.cpp: * ace/Svc_Conf_l.cpp: * ace/Svc_Conf_y.cpp: Decoupled old Service_Config parser from ACE. * XML/examples/SAXPrint/main.cpp: Added a new test to try the new StrCharStream and switch to use ACE_Get_Opt to support more robust command line arguments. * XML/common/StrCharStream.h: * XML/common/StrCharStream.cpp: Added new CharStream class that take a null-terminated ACEXML_Char string as an input source. * XML/common/FileCharStream.h: Removed unnecessary inclusion of "ace/streams.h". * XML/common/Makefile: * XML/common/Makefile.bor: * XML/common/XML_Common.dsp: Added StrCharStream.*. Wed May 8 16:29:05 2002 Krishnakumar B * bin/nightlybuilds/builds.lst (STATUS): Added more information about the build on toutatis. Wed May 8 13:57:58 2002 Chad Elliott * ace/OS_Dirent.h: * ace/OS_Dirent.cpp: Fixed the Dirent_Test under wide character builds with Visual C++ 6.0. The d_name member of the dirent struct is normally a one element ACE_TCHAR array that is used as an ACE_TCHAR pointer. This doesn't work properly under wide character builds with VC6. Note: because of this change, memcpy on a 'struct dirent' no longer works on Windows as it would on UNIX. Wed May 8 11:02:44 2002 Balachandran Natarajan * tests/TP_Reactor_Test.cpp: Turned off full traces, only the error messages will goto the log. Wed May 8 10:58:15 2002 Alex Libman * tests/Proactor_Test.cpp: Fixed the test to work right on Linux. Turned off full traces, only the error messages and statistics will go to the log. Wed May 8 06:14:08 2002 Douglas C. Schmidt * ace/Proactor.h (ACE_Proactor): Fixed a comment that said "ACE_Reactor" rather than "ACE_Proactor" (cut+paste error ;-)). Thanks to Don Hinton for reporting this. * ace/Filecache.cpp (R_MASK): Allow file sharing by default. Thanks to Peter Kullmann" for reporting this. Tue May 07 21:03:01 2002 Ossama Othman * ace/Dev_Poll_Reactor.cpp: Removed vestigial debugging code. Tue May 07 17:42:16 2002 Irfan Pyarali * ace/OS.i: Added missing "\". Tue May 7 16:45:13 2002 Krishnakumar B * ace/ACE.cpp (handle_timed_complete): Check for the return value from ACE_OS::getsockopt(). Return ACE_INVALID_HANDLE if return value is -1. Thanks to Jonathan Wackley for reporting this. * ace/OS.i (ACE_LACKS_SETREUID_PROTOTYPE): Check if we are compiling with gcc in addition to checking for _XOPEN_SOURCE. GCC unconditionally turns on _XOPEN_SOURCE, but it is not defined in Solaris 2.5.1. So this hack to expose the missing prototypes of setreuid() and setregid(). Thanks to Jonathan Wackley for reporting this. * include/makeinclude/platform_sunos5_sunc++.GNU: Cosmetic fixes. Tue May 07 15:44:41 2002 Balachandran Natarajan * bin/auto_run_tests.lst: Reverted the change "Tue May 07 15:15:30 2002 Balachandran Natarajan ". Got an idea waht was going wrong with the test and fixed that. Tue May 07 15:15:30 2002 Balachandran Natarajan * bin/auto_run_tests.lst: Removed No_Server_MT_Connect_Test from the daily builds. The testing methodology needs to be rethought. Thanks to Ru for ppointing out that the test is failing on a few paltforms. Tue May 7 12:59:24 2002 Balachandran Natarajan * tests/Proactor_Test.cpp (handle_write_stream): Tried to fix warnings and errors in Borland builds. Thanks to Ru for pointing it out. Tue May 7 10:31:24 2002 Alex Libman * tests/TP_Reactor_Test.cpp: * tests/TP_Reactor_Test.h: Fixed the tests to work fine on all platforms. * tests/run_test.lst (TP_Reactor_Test): Enabled the test for the daily runs. Mon May 06 16:31:14 2002 Irfan Pyarali * examples/Reactor/WFMO_Reactor/Abandoned.cpp (handle_timeout): * examples/Reactor/WFMO_Reactor/APC.cpp (handle_signal): Make sure to remove handlers from the reactor if they are not going to be around when the reactor closes down. * examples/Reactor/WFMO_Reactor/Handle_Close.cpp: Reactor creation was buggy and the wrong reactor's event loop was being run. * examples/Reactor/WFMO_Reactor/Talker.cpp: STDIN handler was not getting cleaned up properly. Also, Proactor was not getting removed properly from the Reactor. * examples/Reactor/WFMO_Reactor/Network_Events.cpp: Network listener was not getting cleaned up properly. * examples/Reactor/WFMO_Reactor/Multithreading.cpp (Task_Handler): Fixed an "out of bounds" error where a "for" loop that was going from 1 to n rather than from 0 to n-1. Also, added a debug statement. * examples/Reactor/WFMO_Reactor/run_test.pl: Redirected some of the output from STDERR to STDOUT. Mon May 06 15:45:35 2002 Nanbor Wang * ACEXML/parser/debug_validator/Debug_Validator.dsp: Fixed rum-time library options to avoid compilation errors when MFC is enabled. Mon May 6 14:26:52 2002 Balachandran Natarajan * tests/Proactor_Test.cpp: Fixed unused variable warnings in non-win32 builds. Mon May 6 13:37:45 2002 Balachandran Natarajan * bin/generate_performance_chart.sh: Changed the range of the y range for the plots. Mon May 6 07:39:22 2002 Douglas C. Schmidt * ace/Message_Queue_T.cpp (notify): Moved int queue_count definition to outside the scope. Thanks to Chad Elliot for reporting this. Sun May 5 19:14:34 2002 Douglas C. Schmidt * ace/Message_Queue_T.cpp: Modified all the enqueue*() methods so that their calls to notify() occur *outside* of the monitor lock. This change prevents deadlock from occurring when a reactor's notification pipe is full. Thanks to Sasha Agranov for reporting this. Mon May 6 10:24:12 2002 Johnny Willemsen * apps/gperf/src/Makefile: Removed INSBIN because this didn't work before my change of Fri May 03 2002, but now it works and it causes error in all builds. Sun May 5 22:23:00 2002 Edan Ayal * tests/Proactor_Test.cpp (Sender): - Totally removed the message content mem-copies by having the message blocks assume ownership without copying, by pre-allocating space for the ending '\0' (needed for the printouts), and by using an additional complete message content string for the non-scatter/gather case. - Added missing message blocks releases when the write operations fail. - Added a missing message block rd_ptr adjustment at the message content printout in the non-scatter/gather case. Fri May 03 20:29:12 UTC 2002 Johnny Willemsen * include/makeinclude/wrapper_macros.GNU: Only set INSBIN, INSLIB, INSMAN and INSINC when they are not set yet. This way these can be overruled in a makefile. Fri May 03 08:38:27 2002 Ossama Othman * ace/SSL/SSL_Context.cpp (ssl_library_init): Removed extraneous "SSL_library_init()" call. SSLeay_add_ssl_algorithms(), which is an alias for SSL_library_init(), is already called. Thu May 02 16:33:05 2002 Nanbor Wang * ace/OS.i (mmap): On Win32, check for both ERROR_INVALID_NAME and ERROR_FILE_NOT_FOUND to account for difference when running it on WINNT but with ACE_HAS_WINNT4 = 0. Thanks to Ram Ben-Yakir for figuring this out. Fri May 3 07:21:20 2002 Ossama Othman * tests/Dev_Poll_Reactor_Test.cpp: Uncommented ACE_START/END_TEST macros and removed extraneous debugging statements. Fri May 3 08:00:55 2002 Chad Elliott * docs/tutorials/012/work.h: Include ace/Log_Msg.h to get the definition of ACE_DEBUG and related macros. Fri May 3 07:07:31 2002 Chad Elliott * tests/Proactor_Test.cpp: Put ACE_TEXT around bare char strings. Fri May 3 06:57:13 2002 Chad Elliott * tests/Proactor_Test.cpp: Add a conditional to avoid building this test if threads are not enabled. Fri May 3 06:47:23 2002 Chad Elliott * tests/Dev_Poll_Reactor_Test.cpp: Add a conditional main for when ACE_HAS_DEV_POLL and ACE_HAS_EVENT_POLL are not defined. Fri May 3 06:41:10 2002 Chad Elliott * ace/Token.h: Remove parameter name to avoid a warning from g++. Thu May 02 15:54:48 2002 Ossama Othman * ace/Select_Reactor_T.cpp (work_pending): Check if any timers are pending. If so, override any timeout from the select() call. Corrects a problem where the decision that no work was pending despite the fact that timers were pending. Thu May 02 15:53:39 2002 Ossama Othman * tests/Dev_Poll_Reactor_Test.cpp: Added some comments that briefly describe the test. Thu May 2 15:45:34 2002 Ossama Othman * tests/Dev_Poll_Reactor_Test.cpp: New one-button test for the Dev_Poll_Reactor. Currently it is fairly simple. Improvements to be added soon. Thu May 2 15:22:36 2002 Ossama Othman * ace/Dev_Poll_Reactor.h (work_pending_i): * ace/Dev_Poll_Reactor.cpp (work_pending_i): Accept a pointer to ACE_Time_Value instead of a reference. Corrected the logic for the test for pending timers. Thu May 02 14:38:53 2002 Ossama Othman * examples/Reactor/Misc/pingpong.cpp: Include "ACE.h" to pull in methods in the ACE class/namespace. Thu May 2 14:02:20 2002 Ossama Othman * ace/Dev_Poll_Reactor.cpp (work_pending_i): Take into account pending timers when deciding if there is work to be done. Thu May 02 13:34:08 2002 Ossama Othman * ace/Dev_Poll_Reactor.cpp: Include "ACE.h" to pull in methods in the ACE class/namespace. Thu May 2 13:28:01 2002 Ossama Othman * ace/Dev_Poll_Reactor.h: Updated some documentation. * ace/Dev_Poll_Reactor.inl (upcall): New method containing common upcall operations for all types of IO events. * ace/Dev_Poll_Reactor.cpp: Commented out "ready set" code since the upcall will simply loop until the event handler no longer desires callbacks. This is okay since multiple threads may dispatch event handlers (similar to what the TP_Reactor does). (close): Cleaned up memory and resource leaks. (handle_events_i, work_pending_i): Moved "event polling" code to the new work_pending_i() method. handle_events_i() now calls that method to determine if any events must be dispatched. If the underlying ioctl() call was interrupted (e.g. via the INTR signal), i.e. returns -1 with errno set to EINTR, then automatically restart the event loop if so desired by the user. (work_pending): Implemented this method. It simply grabs the reactor lock and calls the new work_pending_i() method. (dispatch_io_events): Call the remove_handler() method that acquires the lock instead of the one doesn't. The lock must be reacquired since reactor state will potentially change during an upcall and since the lock was released prior to dispatching the upcall. Fixes a race condition. Directly use pollfd pointers as the loop variables instead of an integer. No need for the additional indirection. Since the underlying event demultiplexing mechansim (`/dev/poll' or '/dev/epoll') is stateful, and since only one result buffer is used, all pending events (i.e. those retrieved from a previous poll) must be dispatched before any additional event can be polled. As such, the Dev_Poll_Reactor keeps track of the progress of events that have been dispatched. The semantics of the event loop in the presence of multiple threads is non-trivial. The "start point" of the loop will be incremented each time an event handler is dispatched, which may be done across multiple threads. Multiple threads may change the loop variables. Care must be taken to only change those variables with the reactor lock held. (dispatch_timer_handlers): Release the reactor lock during the upcall. Fixes a potential deadlock. Thu May 2 10:35:25 2002 Phil Mesnier * ace/Log_Msg.cpp: ACE_Log_Msg::open() did not properly initialize a custom backend due to improper evaluation of result code. Thu May 02 07:15:31 2002 Ossama Othman * ace/IO_Cntl_Msg.h: Include OS.h to pull in size_t typedef. Thu May 2 07:50:29 2002 Chad Elliott * examples/Web_Crawler/URL_Addr.h: Include ace/ACE.h to avoid compilation error due to missing method (ACE::hash_pjw) in inline method ACE_URL_Addr::hash(). Thu May 2 07:46:59 2002 Chad Elliott * websvcs/lib/URL_Addr.h: Include ace/ACE.h to avoid compilation error due to missing method (ACE::hash_pjw) in inline method ACE_URL_Addr::hash(). Thu May 2 07:34:59 2002 Chad Elliott * ace/QoS/SOCK_Dgram_Mcast_QoS.cpp: Switch ACE::get_ip_interfaces() to ACE_Sock_Connect::get_ip_interfaces() and include ace/Sock_Connect.h. This only applies to Win32. Thu May 2 00:39:32 2002 Irfan Pyarali * ace/Dynamic.i: Uncommented ACE_TRACE calls. Thu May 2 00:29:34 2002 Irfan Pyarali * ace/TLI_Stream: Uninlined a methods that needed access to the ACE class. * ace/Service_Object: Uninlined ACE_Service_Type::name(). * ace/Malloc_T.cpp: * ace/Process_Mutex.cpp: * ace/SOCK_Dgram_Bcast.cpp: * ace/TLI_Acceptor.cpp: * ace/TLI_Connector.cpp: * ace/TLI_Stream.cpp: Added #include "ace/ACE.h". Wed May 1 21:07:23 2002 Ossama Othman * ace/config-win32-msvc-6.h: Moved library "decorator" related macros to config-win32-msvc.h. * ace/config-win32-msvc.h: Support "decorated" library names for MSVC 6 or better. Fixes run-time library search problems in MS Visual Studio .NET builds. * ace/ATM_Addr.h: * ace/ATM_Params.h: * ace/MEM_Addr.h: * ace/Module.h: * ace/Name_Space.h: * ace/Naming_Context.h: * ace/Remote_Name_Space.h: Include "ACE_export.h" instead of "ACE.h." The latter is overkill. * ace/PI_Malloc.h: Include "ACE_export.h" instead of "ACE.h." The latter is overkill. No need to include "ace/Malloc_T.h" and "ace/Memory_Pool.h" * ace/Date_Time.h: * ace/Event_Handler.h: * ace/High_Res_Timer.h: * ace/Malloc.h: * ace/Malloc_Allocator.h: * ace/Malloc_T.h: * ace/Mem_Map.h: * ace/Pipe.h: * ace/Profile_Timer.h: * ace/Read_Buffer.h: * ace/Shared_Memory.h: * ace/Shared_Object.h: * ace/SOCK.h: * ace/SPIPE_Addr.h: * ace/Stats.h: * ace/SV_Message.h: * ace/SV_Semaphore_Simple.h: * ace/SV_Shared_Memory.h: * ace/Synch.h: * ace/Synch_Options.h: * ace/Thread.h: * ace/Typed_SV_Message.h: Include "OS.h" and "ACE_export.h" instead of "ACE.h." The latter is overkill. * ace/Configuration.h: * ace/DEV_Addr.h: * ace/FIFO.h: * ace/Get_Opt.h: * ace/Vector_T.h: No need to include "ACE.h." * ace/Dynamic.h: No need to include "ACE.h", "Synch_T.h" and "Singleton.h." "ACE_export.h" is enough. * ace/INET_Addr.h: Include "Sock_Connect.h" instead of "ACE.h". The latter is overkill. * ace/Message_Block.h: Include "ace/OS.h" and "ace/ACE_export.h" instead "ace/ACE.h". The latter is overkill. No need to include "Malloc.h" * ace/IO_Cntl_Msg.h: * ace/Sock_Connect.h: Include "ACE_export.h" to pull in ACE_Export macro definition. * ace/Activation_Queue.cpp: * ace/Message_Block.cpp: Include "ace/Malloc_Base.h" to pull in ACE_Allocator class declaration. * ace/DEV_IO.h: * ace/FIFO_Recv.h: * ace/FIFO_Send.h: * ace/NT_Service.h: * ace/SOCK_Dgram.cpp: * ace/SOCK_Dgram_Mcast.cpp: * ace/SOCK_IO.h: * ace/SPIPE_Stream.h: * ace/SV_Semaphore_Simple.cpp: * ace/Service_Types.h: * tests/test_config.h: Include "ace/ACE.h" pull in methods in the "ACE" class/namespace. * ace/Stream.h: * ace/SV_Message_Queue.h: Include "config-all.h" instead of "ACE.h." The latter is overkill. * ace/OS_Memory.h: * ace/config-all.h: Moved default definition of the ACE_HAS_POSITION_INDEPENDENT_POINTERS macro to "ace/config-all.h". Allows for additional reductions in inter-header dependencies. * ace/PI_Malloc.cpp: Moved non-essential includes within the "ACE_HAS_POSITION_INDEPENDENT_POINTERS == 1" block. No need to include them if the implementation won't be compiled. * ace/Select_Reactor_T.cpp: Include "ace/ACE.h" pull in methods in the "ACE" class/namespace. (handle_events): Moved ACE_Countdown_Time declaration within the ACE_MT_SAFE block. It is only used for the multi-threaded case. (work_pending): As part of the timeout take into account the time taken to acquire the lock. Copy the timeout value. Do not ignore the interface by casting away the const-ness. Do not bother continuing if the reactor has been deactivated. Wed May 1 15:49:33 2002 Steve Huston * tests/DLL_Test_Impl.{h cpp}: Add a nothrow variant of operator new for platforms with ACE_HAS_NEW_NOTHROW (like HP-UX, aC++). Tue Apr 30 14:54:02 2002 Balachandran Natarajan * bin/auto_run_tests.lst: Added $TAO_ROOT/tests/Connection_Timeout to the daily build list. Tue Apr 30 14:42:06 2002 Chad Elliott * ace/Synch.h: * ace/Synch.i: Change the Null wait condition wait() method to take a const ACE_Time_Value* like the Mutex wait condtion. Mon Apr 29 20:28:49 UTC 2002 Craig Rodrigues * bin/nightlybuild/builds.lst: Move SunOS_SunCC51, SunOS_GCC_2_95, Solaris8_FORTE_UP_1 to new scoreboard. Sun Apr 28 18:03:50 2002 Balachandran Natarajan * bin/auto_run_tests.lst: Added the new tests to our daily list of tests that needs to be run. Sun Apr 28 11:50:17 2002 Edan Ayal * ace/WIN32_Asynch_IO.cpp: ACE_WIN32_Asynch_Read/Write_Stream/File_Result::complete - corrected the updates to the chained message blocks (rd_ptr and wr_ptr) in case of scatter-gather IO. This was apparently a cut-n-paste bug. Sun Apr 28 08:19:37 2002 Balachandran Natarajan * tests/Proactor_Test.cpp: Added code to test async scatter-gather IO on Win32. Thanks Edan Ayal for donating this. Sun Apr 28 12:27:12 2002 Johnny Willemsen * include/makeinclude/ace_flags.bor: Added cflags and lib for new TAO IFRService library Sat Apr 27 20:00:27 2002 Nanbor Wang * ace/ace_dll.dsp: * ace/ace_lib.dsp: Exclude template files Atomic_Op.cpp and Framework_Component_T.cpp from compilation. Sat Apr 27 18:10:37 2002 Balachandran Natarajan * ace/Message_Queue_T.cpp (flush): Fixed fuzz error. Sat Apr 27 17:13:16 2002 Balachandran Natarajan * ace/Svc_Handler.cpp: Added a closing '}' for the method ACE_Buffered_Svc_Handler::dump () const. This should fix the compile errors with g++ that will start showing up shortly in the Scoreboard. * ace/*makefile: Updated dependencies. Sat Apr 27 11:16:03 2002 Douglas C. Schmidt Thanks to Boris Temkin for motivating the following fixes: * ace/Svc_Handler.cpp: Updated the flush_i() method to call the message queue's flush_i() method to avoid deadlocks on platforms that lack recursive mutexes. * ace/Message_Queue_T.{h,cpp}: Added the flush() and flush_i() methods to the ACE_Message_Queue in order to remove messages without deactivating the queue. Also refactored the close() method to use flush_i(). Sat Apr 27 09:26:43 2002 Edan Ayal Added support (currently under win32 only) for asynchronous scattered read and asynchronous gathered write with socket streams and with files. * ace/Asynch_IO.{h cpp}: Added methods 'readv' to ACE_Asynch_Read_Stream/File, and 'writev' to ACE_Asynch_Write_Stream/File, for win32 only. The methods just delegate to the implementation. * ace/Asynch_IO_Impl.h: Added pure virtual methods 'readv' to ACE_Asynch_Read_Stream/File_Impl, and 'writev' to ACE_Asynch_Write_Stream/File_Impl, for win32 only. * ace/WIN32_Asynch_IO.{h cpp}: Implemented the 'readv' for ACE_WIN32_Asynch_Read_Stream/File and 'writev' for ACE_WIN32_Asynch_Write_Stream/File. Modified the 'complete' method and the ctor of ACE_WIN32_Asynch_Read_Stream/File_Result and ACE_WIN32_Asynch_Write_Stream/File_Result. Sat Apr 27 16:07:12 UTC 2002 Johnny Willemsen * examples/Reactor/Proactor/test_udp_proactor.cpp: Fixed BCB warning about hides virtual function by renaming open to open_addr * ace/Asynch_IO.h: Minor comment update Sat Apr 27 08:59:56 2002 Douglas C. Schmidt * ace/Process.i: If getpid() is ACE_INVALID_HANDLE, don't call ACE::terminate_process() or ACE_OS::kill() since ACE_INVALID_HANDLE is -1 on UNIX, which causes all sorts of problems due to the fact that -1 terminates the whole session group! Thanks to Olivier Brunet for reporting this. Sat Apr 27 15:28:12 UTC 2002 Johnny Willemsen * examples/Reactor/Proactor/test_proactor.cpp: * examples/Reactor/WFMO_Reactor/Talker.cpp: Fixed MSVC6 compile errors Fri Apr 26 17:00:23 2002 Dante J. Cannarozzi * ace/Containers_T.h * ace/Unbounded_Set.h * ace/Hash_Map_Manager.h * ace/RB_Tree.h * ace/Vector_T.h * ace/Unbounded_Queue.h : with the help of Matt Hampton updated doxygen to contain a consistent html list that summarizes the each container (like internal structure, duplicates allowed, etc.) at the request of Steve Huston. Fri Apr 26 16:36:52 2002 Steve Huston * netsvcs/lib/Server_Logging_Handler_T.cpp: Added #include "ace/Log_Record.h" to pick up ACE_Log_Record declaration. Fixes compile error on HP-UX. Fri Apr 26 15:10:21 2002 Steve Huston * ace/ACE.cpp: * ace/Sock_Connect.cpp: Moved ACE_Auto_Array_Ptr<> and ACE_Auto_Basic_Array_Ptr<> instantiations from ACE.cpp to Sock_Connect where they are now used. Also added MACOSX to the platforms that get them instantiated. Added include of OS.h in Sock_Connect.cpp to pick up the ifreq stuff portably. * ace.icc: Added Time_Value, Copy_Disabled, Argv_Type_Converter, Dev_Poll_Reactor, POSIX_CB_Proactor, WIN32_Proactor, WIN32_Asynch_IO, Obstack, Vector_T. Added the new group TIMER_FILES (and TIMER_INCLUDES) to parallel the TIMER_FILES in ace/Makefile. Fri Apr 26 14:05:49 2002 Chad Elliott * ace/OS.i: Modify the ACE_OS::fflush() method to not call the system implementation on VxWorks if the FILE* is 0. This causes problems for the OS. Thanks to Michael Kirher for reporting and providing a fix for this. * ace/Svc_Conf.l: * ace/Svc_Conf_l.cpp: Use ACE_OS::fflush() instead of fflush(). Fri Apr 26 13:22:18 2002 Douglas C. Schmidt * ace/Svc_Handler.{h,cpp}: Applied the Thread-safe Interface pattern by factoring out the flush logic into a flush_i() method (that doesn't hold a lock) and call this method from the put() and flush() methods (that do hold locks). Thanks to Boris Temkin for reporting this problem. Fri Apr 26 14:45:28 2002 Steve Huston * tests/Proactor_Test.cpp: Replace CALLBACK with CB. Apparantly, CALLBACK is a macro with MSVC. Fri Apr 26 14:39:37 2002 Steve Huston * tests/Proactor_Test.cpp: Use default proactor type for platform if no specific proactor type for platform is chosen. Fri Apr 26 11:39:22 2002 Steve Huston * examples/C++NPv2/examples.dsw: * examples/C++NPv2/display_logfile.dsp: * examples/C++NPv2/Reactor_Logging_Server.dsp: * examples/C++NPv2/Select_Reactor_Logging_Server.dsp: * examples/C++NPv2/TP_Reactor_Logging_Server.dsp: * examples/C++NPv2/WFMO_Reactor_Logging_Server.dsp: New project/workspace for the examples here so far. * examples/C++NPv2/WFMO_Reactor_Logging_Server.cpp: Make dtor public - this object is created on the stack. Added constructor that accepts a ACE_Reactor * and passes it up the inheritance chain. * examples/C++NPv2/Select_Reactor_Logging_Server.cpp: * examples/C++NPv2/TP_Reactor_Logging_Server.cpp: Add preprocessor check to be sure that the correct C++ library is enabled on Windows. Qualify "getline" call with "std::". Fri Apr 26 07:42:12 2002 Johnny Willemsen * tests/IOStream_Test.cpp: Corrected the debug output string of server received so that the formatting is the same as client received. Thanks to Soeren Gerlach for reporting this. * examples/Reactor/WFMO_Reactor/Talker.cpp: * examples/Reactor/Proactor/test_proactor.cpp: * examples/Reactor/Proactor/test_proactor2.cpp: Fixed BCB compile warnings Thu Apr 25 17:34:31 2002 Steve Huston * bin/auto_compile: When doing 'realclean', do them in reverse order of the builds, else ace/ACE_COMPONENTS.list gets wiped out first, preventing things that examine the components list (like netsvcs) from getting cleaned. Thu Apr 25 16:20:33 2002 Steve Huston * examples/C++NPv2/TP_Reactor_Logging_Server.{cpp mak}: * examples/C++NPv2/WFMO_Reactor_Logging_Server.cpp: New source and makefiles for C++NPv2 chapter 4 examples. * examples/C++NPv2/Makefile: Added TP_Reactor_Logging_Server. Thu Apr 25 15:46:39 2002 Steve Huston POSIX asynch I/O improvements/corrections submitted by Alex Libman : * ace/POSIX_CB_Proactor.{h i cpp}: New POSIX Proactor implementation that makes use of the AIO facility's callback feature. This has only been tested on SGI Irix. * ace/Makefile: Added POSIX_CB_Proactor. * ace/POSIX_Proactor.{h cpp}: Refactored some code and added better cancellation/cleanup handling. Added hooks for the new ACE_POSIX_CB_Proactor class and refactored methods close(), get_result_status(), create_result_aiocb_list(), and delete_result_aiocb_list(). * ace/SUN_Proactor.{h cpp}: Add the new get_result_status() method and refactored the old results code into the new method. Also, make good use of the new aiocb create/delete methods. Improvements to operation status detection based on input from Sun. * tests/Proactor_Test.cpp: Add support for new ACE_POSIX_CB_Proactor. Added a log lock to be sure all messages from one transaction are logged together. Also, sets up full duplex I/O for Windows and Solaris; half duplex for all others due to general weakness in AIO subsystems. If further testing reveals that more can be set to full duplex, this can be expanded. Thu Apr 25 14:02:38 2002 Steve Huston * tests/MT_Reactor_Upcall_Test.cpp: Fixed compile errors by using sizeof (type) instead of sizeof type. Thu Apr 25 06:51:58 2002 Douglas C. Schmidt * ace/OS.h (ACE_FACTORY_DEFINE): Replaced an ACE_reinterpret_cast() with an ACE_static_cast() since the latter works correctly with multiple inheritance. Thanks to Chris Uzdavinis for reporting this. * ace/CDR_Base.h (ACE_CDR): Improved the documentation of the consolidate() method. Thanks to Alain Decamps for helping with this. Thu Apr 25 03:34:43 2002 Irfan Pyarali * tests/MT_Reactor_Upcall_Test.cpp: Changed the test such that the end of the test is indicated by a shutdown message rather than an explicit message count. Wed Apr 24 23:39:00 2002 Irfan Pyarali * examples/Reactor/WFMO_Reactor: Updated file names to match executable names. Thu Apr 25 07:34:12 UTC 2002 Johnny Willemsen * ace/Log_Msg.h: Doxygen-ized some of the comments Wed Apr 24 18:53:56 2002 Balachandran Natarajan * include/makeinclude/rules.local.GNU (clean.local): Reverted the change "Wed Apr 24 16:08:30 2002 Balachandran Natarajan " since it is bogus. Wed Apr 24 16:08:30 2002 Balachandran Natarajan * include/makeinclude/rules.local.GNU: Added a rule to clean up Sunws_cache properly. Should help SunCC5_1 builds. Wed Apr 24 11:07:15 2002 Douglas C. Schmidt * ace/RMCast/Makefile (FILES): Removed a stray "\". Thanks to Amir Kunst for reporting this. Also reordered the files so they would be in alphabetical order. Wed Apr 24 11:17:31 2002 Steve Huston * PROBLEM-REPORT-FORM: Always ask for config.h and platform_macros.GNU; not just on compilation issues. Wed Apr 24 07:56:12 UTC 2002 Johnny Willemsen * ace/Future_Set.h: Converted a comment to javadoc style because it is very long for the brief documentation. * ace/DEV_IO.h: * ace/TTY_IO.h: Removed not needed includes Wed Apr 24 03:14:11 UTC 2002 Craig Rodrigues * tests/MT_Reactor_Upcall_Test.cpp: Fix warnings on threads=0 build. Tue Apr 23 18:45:31 2002 Steve Huston * examples/C++NPv2/Logging_Event_Handler.h (get_handle): Cast away const-ness of logging_handler_ member to call it's peer() method, but use that in a const method call. Keeps the interface contract intact. This example now works. * examples/C++NPv2/display_logfile.mak: Makefile for the display_logfile example (chapter 9). * examples/C++NPv2/Select_Reactor_Logging_Server.{cpp mak}: New example for the ACE_Select_Reactor section in chapter 4. * examples/C++NPv2/Makefile: Added Select_Reactor_Logging_Server. Tue Apr 23 16:01:47 2002 Balachandran Natarajan * bin/auto_run_tests.lst: Prevented the Miop/McastHello test from running in SUNCC51 builds. SUNCC51 is too broken. Time to remove the build of the scoreboard. Tue Apr 23 11:31:43 2002 Ossama Othman * ace/Dev_Poll_Reactor.inl (ACE_Dev_Poll_Handler_Guard): (~ACE_Dev_Poll_Handler_Guard): Added "todo" comments about suspending and resuming the event handler before and after the upcall, respectively. Tue Apr 23 11:38:40 2002 Steve Huston * examples/C++NPv2/Makefile: Rearranged to build all the examples. Tue Apr 23 13:32:12 UTC 2002 Johnny Willemsen * examples/Reactor/Makefile.bor: Added Proactor directory * examples/Reactor/Proactor/Makefile.bor: Added this BCB makefile * examples/Reactor/Proactor/*.cpp Made all files compiling when doing a wchar build. Tue Apr 23 10:03:12 UTC 2002 Johnny Willemsen * examples/Reactor/Makefile.bor: Added WFMO_Reactor directory * examples/Reactor/WFMO_Reactor/Makefile.bor: Added this BCB makefile * examples/Reactor/WFMO_Reactor/*.cpp Fixed several unused argument warnings that appeared with bcb. Made all files compiling when doing a wchar build. Tue Apr 23 07:35:12 UTC 2002 Johnny Willemsen * ace/Base_Thread_Adapter.h: * ace/Future.h: * ace/Naming_Context.h: * ace/Malloc.h: * ace/Malloc_Base.h: * ace/Malloc_T.h: * ace/NT_Service.h: * ace/Notification_Strategy.h: * ace/Object_Manager.h: * ace/OS_Thread_Adapter.h: * ace/WIN32_Asynch_IO.h: Doxygen-ized some of the comments * ace/OS.h: Added ACE_ALLOCATOR_NORETURN and ACE_NEW_MALLOC_NORETURN, these macro's set errno to ENOMEM incase of an memory error but don't call return but guarantee that the pointer is 0. * ace/QoS/QoS_Manager.h: * ace/QoS/QoS_Session_Impl.h: Doxygen-ized some of the comments * ace/config-doxygen.h: Added define ACE_YY_USES_PROTOS to parse ace/Svc_Conf_l.cpp correctly * tests/MT_Reactor_Upcall_Test.cpp: Fixed unicode and single threaded build errors/warnings Mon Apr 22 20:40:41 2002 Steve Huston * examples/C++NPv2/Logging_Event_Handler.{cpp h}: Moved LOGFILE_SUFFIX to open() method. Changed get_handle() to be const to match the signature inherited from ACE_Event_Handler. * examples/C++NPv2/Logging_Event_Handler_Ex.h: Moved MAX_CLIENT_TIMEOUT into class declaration as an enum. * examples/Logging_Handler.h: Added terminating ';' to inlined methods. Mon Apr 22 18:33:20 2002 Irfan Pyarali * examples/Reactor/WFMO_Reactor/run_test.pl: This file will allow us to run these tests nightly. Note that Console_Input, Network_Events, and Talker are not included since they are interactive tests. * bin/auto_run_tests.lst: Added new test script. * examples/Reactor/WFMO_Reactor/test_handle_close.cpp: * examples/Reactor/WFMO_Reactor/test_multithreading.cpp: * examples/Reactor/WFMO_Reactor/test_network_events.cpp: Fixed several memory management and shutdown issues. * examples/Reactor/WFMO_Reactor/WFMO_Reactor.dsw: Changed "Abondoned" to "Abandoned" * examples/Reactor/WFMO_Reactor/test_window_messages.cpp: Fixed debug message formatting. * examples/Reactor/WFMO_Reactor/test_network_events.cpp: Fixed documentation to says that ACE_DEFAULT_SERVER_PORT defaults to 10002; correct value is 20002. Mon Apr 22 17:24:39 2002 Steve Huston * examples/C++NPv2/Reactor_Logging_Server.mak: * examples/C++NPv2/Logging_Acceptor.{cpp h}: * examples/C++NPv2/Logging_Acceptor_Ex.h: * examples/C++NPv2/Logging_Event_Handler.{cpp h}: * examples/C++NPv2/Logging_Event_Handler_Ex.{cpp h}: * examples/C++NPv2/Reactor_Logging_Server.{cpp h}: New files for examples in C++NPv2, chapter 3. Mon Apr 22 15:43:15 2002 Nanbor Wang * examples/DLL/Today.h: * examples/DLL/Today.cpp: * examples/DLL/Newsweek.h: * examples/DLL/Newsweek.cpp: Added overloaded new/delete opertors and updated magazine messages. Mon Apr 22 15:20:02 2002 Nanbor Wang * tests/DLL_Test.h: * tests/DLL_Test.cpp: Removed the destroy method as it didn't help ensuring allocating/deallocating the DLL object with consistent heap. Instead, we reverted back to use auto_ptr and relied on the overloaded new/delete operators. * tests/DLL_Test_Impl.h: * tests/DLL_Test_Impl.cpp: Added the aforementioned overloaded new/delete operator implementations. Mon Apr 22 12:33:30 2002 Irfan Pyarali * tests/MT_Reactor_Upcall_Test: This is a test that shows how to handle upcalls from the TP_Reactor and the WFMO_Reactor when the event loop is being run by multiple threads. The following files were updated to include the new test: - tests/Makefile - tests/Makefile.am - tests/Makefile.bor - tests/Reactor_Dispatch_Order_Test.dsp - tests/Reactor_Dispatch_Order_Test.icc - tests/icc.bat - tests/run_test.lst - tests/run_tests.bat - tests/run_tests.psosim - tests/run_tests_remote.lst - tests/tests.dsw - tests/tests.icp - tests/MT_Reactor_Upcall_Test_WinCE.vcp - tests/tests_WinCE.vcw Mon Apr 22 15:27:12 UTC 2002 Johnny Willemsen * docs/tutorials/021/page01.html Corrected incorrect link Mon Apr 22 11:20:12 UTC 2002 Johnny Willemsen * ace/Svc_Conf_y.cpp: Removed some strange characters from this file * ace/config-doxygen.h: Added define of __cplusplus so that the file Svc_Conf_y.cpp and Svc_Conf_l.cpp are correctly parsed. We parsed the c-code and we got the following defines which we don't want: #define const Also there was a global variable 'int size' which cluttered other documentation. Mon Apr 22 08:55:12 UTC 2002 Johnny Willemsen * ace/Timer_Queue_T.h: Doxygen-ized some of the comments * etc/*.doxygen: Added the following to all doxygen config files DISTRIBUTE_GROUP_DOC = YES When a doxygen group is used (starts with //@{ and ends with //@}) and if there is only one description for all group members than this description is used for all the members separately. If a member has its own description than that description is used. Mon Apr 22 01:34:32 2002 Nanbor Wang * ace/Task.h: Enhanced the comment for method to make it clear that it will not wait for detached thread. Thanks to Alain Decamps for suggesting this. Sun Apr 21 21:23:59 2002 Krishnakumar B * include/makeinclude/platform_osf1_4.x_cxx.GNU (SOFLAGS): Re-enable -use_ld_input in SOFLAGS. Seems that this flag is used to identify Digital Unix in some Makefiles which resort to all kinds of hackery to get some files to link. Sun Apr 21 20:59:26 2002 Krishnakumar B * include/makeinclude/platform_osf1_4.x_cxx.GNU (OCFLAGS): * include/makeinclude/platform_osf1_4.x_g++.GNU (OCFLAGS): Set the optimization to level -O3. That way we will might just get two builds in a day. This is also the recommended level in the manual. Sun Apr 21 15:02:52 UTC 2002 Craig Rodrigues * ace/TP_Reactor_Test.cpp: Add checks for ACE_AS_THREADS. Sun Apr 21 09:42:05 2002 Douglas C. Schmidt * ace/config-win32-common.h: Changed the value of ACE_IOV_MAX to be 64 rather than 1024. Thanks to Alain Decamps for motivating this. Sat Apr 20 19:57:55 2002 Craig Rodrigues * ace/Asynch_Pseudo_Task.cpp (stop): Wrap ace_mon in ACE_MT() to eliminate errors on builds which are configured single-threaded. Fri Apr 19 12:05:42 2002 Ossama Othman * examples/Bounded_Packet_Relay/bpr_thread.cpp: * examples/Timer_Queue/main_async.cpp: * examples/Timer_Queue/main_reactor.cpp: * examples/Timer_Queue/main_thread.cpp: The recent "ace/OS.h" inclusion reductions prevented a pragma that disables a MSVC 6 warning about an overly long debugging symbol from occurring. Explicitly disable that warning in this file to silence the warning. Fri Apr 19 11:41:12 UTC 2002 Johnny Willemsen * ace/Typed_SV_Message_Queue.h: * ace/Strategies_T.h: * ace/OS.h: * ace/MEM_SAP.h: * ace/Asynch_IO.h: Doxygen-ized some of the comments Thu Apr 18 15:58:49 2002 Steve Huston * ace/Asynch_Connector.{h cpp}: Removed static member inet_addr_any_. It doesn't work for all compilers (static in a template). Replaced default arg for ACE_Asynch_Connector::connect with ACE_INET_Addr ((u_short)0) to get the equivalent effect, i.e., let the OS pick an unused port. * ace/Asynch_Acceptor.cpp (parse_address): Use the ACE_SOCK support for dealing with addresses, else the ability to deal with both IPv4 and IPv6 is lost. Also get rid of a lot of debugging output; use ACE_TRACE instead. * tests/Proactor_Test.cpp: Fixed log file name. Corrected formatting per ACE guidelines. * tests/run_test.lst: Enabled Proactor_Test and Proactor_Timer_Test everywhere except Chorus, VxWorks, LynxOS. Thu Apr 18 11:34:12 UTC 2002 Johnny Willemsen * ace/Asynch_IO.h: * ace/ATM_Params.h: * ace/ATM_Stream.h: * ace/Caching_Strategies_T.h: * ace/Event_Handler.h: * ace/MEM_Acceptor.h: * ace/MEM_Connector.h: * ace/MEM_SAP.h: * ace/Memory_Pool.h: * ace/Message_Block.h: * ace/Message_Queue_T.h: * ace/Pair_T.h: * ace/Parse_Node.h: * ace/Select_Reactor_Base.h: * ace/Thread_Adapter.h: * ace/Thread_Adapter.h: * ace/Thread_Manager.h: * ace/WIN32_Asynch_IO.h: * ace/WIN32_Proactor.h: Doxygen-ized some of the comments Tue Apr 18 07:39:12 UTC 2002 Johnny Willemsen * performance-tests/Synch-Benchmarks/Base_Test/Baseline_Test.h: * performance-tests/Synch-Benchmarks/Perf_Test/Benchmark_Performance.h: * performance-tests/Synch-Benchmarks/Perf_Test/Performance_Test_Options.h: Added include of svc_export.h. Wed Apr 17 18:41:30 2002 Steve Huston * ace/Activation_Queue.h: * ace/Method_Request.h: Doxygen-ize and improve some documentation. Wed Apr 17 15:24:36 2002 Ossama Othman * bin/auto_run_tests.lst: Added ORT test to the list of tests to run. Wed Apr 17 14:30:29 2002 Steve Huston * examples/C++NPv2/display_logfile.cpp (Logrec_Module ctor): Change name from ACE_TCHAR * to const ACE_TCHAR *. Wed Apr 17 10:39:24 2002 Ossama Othman * ace/Dev_Poll_Reactor.cpp (open): Corrected a potential resource (file descriptor) leak for the "ACE_HAS_DEV_POLL" case. Fixed a warning. Use "ACE_NEW_RETURN" instead of "ACE_NEW." Wed Apr 17 10:29:14 2002 Ossama Othman * ace/Dev_Poll_Reactor.cpp (ACE_HAS_DEV_POLL): Added missing "#endif" for this configuration. Wed Apr 17 12:47:41 2002 Steve Huston * ace/WIN32_Asynch_IO.cpp (set_handle, handle_close): Fixed "unused argument" warnings from C++Builder. Wed Apr 17 14:30:12 UTC 2002 Johnny Willemsen * ace/config-doxygen.h: Added define UNICODE to generate ACE_Registry_Name_Space * ace/Proactor.h: * ace/Proactor_Impl.h: * ace/RB_Tree.h: * ace/Reactor_Notification_Strategy.h: * ace/Recyclable.h: * ace/Registry.h: * ace/Service_Types.h: * ace/Signal.h: * ace/Token_Request_Reply.h: * ace/Typed_SV_Message.h: Doxygen-ized some of the comments Wed Apr 17 12:27:23 UTC 2002 Johnny Willemsen * etc/ace.doxygen: * etc/ace_man.doxygen: Removed ACE_COMPILE_TIMEPROBES as PREDEFINED because it should be defined in Config-doxygen.h * ace/Config-doxygen.h Added ACE_COMPILE_TIMEPROBES as define to generate timeprobe documentation. This config file is automatically included when doing a doxygen generation. * ace/Intrusive_List.h: * ace/Synch.h: Doxygen-ized some of the comments * ace/Message_Queue.h: Fixed typo Wed Apr 17 07:28:12 UTC 2002 Johnny Willemsen * examples/DLL/Newsweek.cpp: * examples/DLL/Today.cpp: Added include of svc_export.h. * tests/Proactor_Test.cpp: Fixed fuzz and unicode error * ace/Asynch_Acceptor.h: * ace/Functor.h: * ace/Message_Queue.h: * ace/Module.h: * ace/Thread_Manager.h: Doxygen-ized some of the comments Tue Apr 16 23:32:49 2002 Steve Huston * ace/ace_dll.dsp: * ace/ace_lib.dsp: Added Asynch_Connector.{h cpp} and Asynch_Pseudo_Task.{h cpp}. Tue Apr 16 16:39:07 2002 Ossama Othman * ace/POSIX_Asynch_IO.cpp (set_handle, handle_close): Fixed unused argument warnings. Tue Apr 16 19:25:47 2002 Steve Huston * ace/Makefile.bor: * ace/ace.icc: Added new Asynch_Connector and Asynch_Pseudo_Task files. Tue Apr 16 19:07:22 2002 Steve Huston * tests/Proactor_Test.cpp: Basically replaced; new version also tests new ACE_Asynch_Connector facility. Tue Apr 16 18:42:39 2002 Steve Huston New feature, ACE_Asynch_Connect, contributed by Alex Libman . Allows asynchronous connect using the ACE Proactor framework. The new classes follow the same arrangement as the existing ACE_Asynch_Accept framework. * ace/Asynch_Connector.{h cpp}: New files * ace/Asynch_IO.{h cpp}: Added new ACE_Asynch_Connect class and its result. Added new method, ACE_Handler::handle_connect(), to handle completion of asynch connect operations. * ace/Asynch_IO_Impl.{h i cpp}: Added new classes ACE_Asynch_Connect_Impl and ACE_Asynch_Connect_Result_Impl. * ace/Asynch_Pseudo_Task.{h cpp}: Generalized task that handles asynch emulation where needed, for example, asynch accept/connect. Replaces the ACE_Asynch_Accept_Task and used for both accept/connect. * ace/POSIX_Asynch_IO.{h cpp}: Removed ACE_POSIX_Asynch_Accept_Task (subsumed by ACE_Asynch_Pseudo_Task, above) and add the ACE_POSIX_Asynch_Connect and its Result class. * ace/POSIX_Proactor.{h cpp}: Added asynch connect plumbing. * ace/Proactor.{h cpp}: Added asynch connect support methods. * ace/Proactor_Impl.h: Added create_asynch_connect[_result] methods. * ace/SUN_Proactor.cpp: Change from asynch_accept_task to asynch_pseudo_task. * ace/WIN32_Asynch_IO.{h cpp}: Add new ACE_WIN32_Asynch_Connect and _Result. * ace/WIN32_Proactor.{h cpp}: Added new create_asynch_connect() and create_asynch_connect_result() methods. * ace/Makefile: Added Asynch_Connector, Asynch_Pseudo_Task Tue Apr 16 11:49:00 2002 Ossama Othman * ace/Service_Templates.cpp: * ace/Thread_Manager.cpp: Only instantiate ACE_Auto_Basic_Ptr templates if ACE_LACKS_AUTO_PTR is defined or if ACE_HAS_STANDARD_CPP_LIBRARY is not defined. In the above cases, they are only used as base classes for ACE's implementation of the standard auto_ptr template. When using the auto_ptr implementation provided by the standard C++ library in use, the ACE_Auto_Basic_Ptr template instances aren't needed. Reduces footprint in cases where the standard C++ library implementation is used, and explicit template instantation is required. Tue Apr 16 14:38:12 UTC 2002 Johnny Willemsen * etc/ace.doxygen: * etc/ace_man.doxygen: Set ACE_COMPILE_TIMEPROBES as PREDEFINED so that timeprobe doxygen documentation is generated * ace/Dump.h: * ace/Message_Block.h: * ace/Task.h: * ace/Task_T.h: * ace/Thread_Manager.h: * ace/TLI_Stream.h: Doxygen-ized some of the comments Tue Apr 16 11:04:12 UTC 2002 Johnny Willemsen * ace/Event_Handler.h: * ace/Log_Msg.h: * ace/Message_Block.h: * ace/Timer_Hash_T.h: Doxygen-ized some of the comments Mon Apr 15 22:25:28 2002 Balachandran Natarajan * THANKS: Added Andrew Guy to the hallf of fame. Mon Apr 15 21:43:44 2002 Krishnakumar B * ace/Log_Msg.cpp (log): * ace/Log_Msg.h: Added new option '@' to ACE_Log_Msg to print out pointers in hexadecimal format. This is equivalent to the "%p" option of the standard C library printf. Mon Apr 15 14:04:28 2002 Ossama Othman * ace/Dev_Poll_Reactor.h: * ace/Dev_Poll_Reactor.inl: * ace/Dev_Poll_Reactor.cpp: Experimental implementation of a /dev/poll (or Linux /dev/epoll) based Reactor. Refinements will be committed to the implementation very soon. Mon Apr 15 11:29:49 2002 Ossama Othman * ace/config-win32-msvc-7.h (ACE_NEEDS_FUNC_DEFINITIONS): MSVC 7 requires "hidden" functions/methods to be defined. A declaration is not enough. Fixes link-time "unresolved symbol" errors when using the ACE_UNIMPLEMENTED_FUNC macro in exported templates. Mon Apr 15 16:20:12 UTC 2002 Johnny Willemsen * ace/Timer_Queue_Adapters.{h,i,cpp}: Made several additions to the ACE_Thread_Timer_Queue_Adapter - Make it possible to pass a timer queue instance to the ACE_Thread_Timer_Queue_Adapter instance using the constructor - Make it possible to get/set the timer queue based on pointers, the get method with a & is still available, but is marked as deprecated - Make the thr_id method const - When the timer queue is created by the ACE_Thread_Timer_Queue_Adapter then it is also deleted, if it is passed or set afterwards it isn't deleted by ACE_Thread_Timer_Queue_Adapter (just like in the ACE_Reactor). Mon Apr 15 10:22:12 UTC 2002 Johnny Willemsen * ace/Containers_T.h: Doxygen-ized some of the comments Mon Apr 15 08:49:23 UTC 2002 Johnny Willemsen * examples/Makefile.bor: * examples/Timer_Queue/Makefile.bor: * exmaples/Timer_Queue/Async_Timer_Queue_Test.bor: * examples/Timer_Queue/Reactor_Timer_Queue_Test.bor: * examples/Timer_Queue/Thread_Timer_Queue_Test.bor: Added BCB makefiles * examples/Timer_Queue/main_async.cpp: * examples/Timer_Queue/main_reactor.cpp: * examples/Timer_Queue/main_thread.cpp: Made the example compiling in an unicode build Mon Apr 15 07:39:12 UTC 2002 Johnny Willemsen * examples/IPC_SAP/SOCK_SAP/CPP-unclient.cpp: * examples/IPC_SAP/SOCK_SAP/FD-unclient.cpp: * examples/IPC_SAP/SOCK_SAP/FD-unserver.cpp: Added include of OS.h to get ACE_TMAIN macro * apps/JAWS/server/HTTP_Server.h: Added include of svc_export.h. Sun Apr 14 20:33:12 UTC 2002 Johnny Willemsen * ace/Connector.h: * ace/Process.h: Doxygen-ized some of the comments Sun Apr 14 19:25:12 UTC 2002 Johnny Willemsen * ace/Future.h: Fixed small typing errors in comments Sun Apr 14 17:56:33 UTC 2002 Johnny Willemsen * ace/SOCK_Dgram_Bcast.h: * ace/SV_Message.h: * ace/SV_Message_Queue.h: Doxygen-ized some of the comments Sun Apr 14 11:59:12 UTC 2002 Johnny Willemsen * ace/SPIPE_Addr.h: * ace/Filecache.h: * ace/Time_Request_Reply.h: * ace/TLI.h: Doxygen-ized some of the comments Sat Apr 13 19:28:40 UTC 2002 Don Hinton * ace/Basic_Types.h: Added include of pthread.h to pick up typedef of pthread_key_t. Sat Apr 13 17:16:10 UTC 2002 Don Hinton * examples/Service_Configurator/IPC-tests/server/Handle_L_SPIPE.h: * examples/ASX/CCM_App/CCM_App.cpp: Added include of svc_export.h. Sat Apr 13 15:42:03 UTC 2002 Don Hinton * tests/DLL_Test.{h,cpp}: * tests/DLL_Test_Impl.{h,cpp}: Added methods to test the the malloc/free and strnew/strdelete methods below. Also removed use auto_ptr and added a destroy method to delete the object within the dll/heap it was allocated. * ace/OS_Memory.{inl,cpp}: Changed malloc(), calloc() realloc(), and free() to be non-inlined to avoid the heap problem on Windows. * ace/ACE.{h,i,cpp}: Changed strnew() to be non-inlined and added strdelete() for the same reason. Sat Apr 13 14:33:12 2002 Johnny Willemsen * ace/Configuration.h: * ace/Containers_T.h: * ace/High_Res_Timer.h: * ace/Object_Manager.h: * ace/Reactor.h: * ace/Reactor_Impl.h: * ace/Select_Reactor_T.h: * ace/WFMO_Reactor.h: Improved doxygen comments. Added @deprecated to methods that are deprecated so that in the doxygen description this is also clearly list. Sat Apr 13 03:32:52 2002 Krishnakumar B * ace/Proactor.h: Moved OS.h and ACE_export.h outside the #ifdef ACE_WIN32. ACE_export.h beacuse the #else part uses it and OS.h because sig_atomic_t is used in one of the dummy class's signatures. If others have other opinions, please fix the case for the #else part also. Fixes Tru64 bustage. Fri Apr 12 19:15:39 2002 Steve Huston * ace/Asynch_Acceptor.cpp (parse_address): Set the entire address (address and port) instead of just the IP address part. Thanks to Alex Libman for this fix. Fri Apr 12 18:00:41 UTC 2002 Don Hinton * ace/Log_Msg.h: Added missing includes. * ace/Basic_Types.h: Removed erroneous ENOMEM definition. Fri Apr 12 10:02:58 2002 Priyanka Gontla * ace/Based_Pointer_T.h: Included ace/Trace.h to fix the compilation errors about undeclared ACE_TRACE. Fri Apr 12 08:56:46 2002 Priyanka Gontla * tests/DLL_Test_Impl.cpp: Included OS_Errno.h to fix the compilation error about undeclared errno. Fri Apr 12 15:03:12 2002 Johnny Willemsen * etc/*.doxygen: Set JAVADOC_AUTOBRIEF to YES. From now on, when there is only javadoc style comments, there first line until the first '.' is used as brief comment. In the brief class description a lof of more methods will have a description. * Timer_Heap_T.h: Change the comment style for method remove_first from doxygen style to javadoc style Fri Apr 12 13:32:12 2002 Johnny Willemsen * ace/WFMO_Reactor.h: * ace/Timer_List_T.h: * ace/Timer_Heap_T.h: * ace/Timer_Hash_T.h: * ace/Timeprobe_T.h: Minor improvements doxygen comments * ace/POSIX_Asynch_IO.h: Doxygen-ized some of the comments Fri Apr 12 00:15:32 2002 Krishnakumar B * include/makeinclude/platform_sunos5_sunc++.GNU: * ace/config-sunos5.5.h: Reverted to status quo. If and when things go fine, I will re-enable them. Too many things breaking currently. Thu Apr 11 20:37:53 2002 Krishnakumar B * ace/OS.i (ftell): * ace/OS.h: Added new wrappers for ftell, fgetpos & fsetpos. * ACEXML/common/FileCharStream.cpp: * ACEXML/common/FileCharStream.h: Implemented the previously unavailable available() call. Thu Apr 11 20:06:41 2002 Steve Huston * examples/C++NPv2/display_logfile.cpp: Spacing/line length changes so it fits on the book pages. Thu Apr 11 18:29:27 2002 Steve Huston * examples/C++NPv2/Makefile: New Makefile to build display_logfile. * examples/C++NPv2/display_logfile.cpp: Finished and debugged on Linux. Thu Apr 11 22:07:40 UTC 2002 Don Hinton * netsvcs/lib/Client_Logging_Handler.cpp: Added missing Log_Record.h include. * tests/Svc_Handler_Test.cpp: Changed ACE_Log_Record::MAXLOGMSGLEN to ACE_MAXLOGMSGLEN. Thu Apr 11 20:04:22 UTC 2002 Don Hinton * ace/ARGV.h: Rolled back the change and readded ACE.h. Too many error down the line to fix. * ace/Sample_History.cpp: Added include of OS.h. * apps/apps/gperf/src/Options.h: Added include of OS.h. Thu Apr 11 14:37:09 2002 Nanbor Wang * ace/config-win32-common.h: Added ACE_LACKS_PARAM_H. Thu Apr 11 18:21:25 UTC 2002 Don Hinton * ace/Basic_Types.h: Added include of to pickup MAXPATHLEN if available and get rid of warning. Thu Apr 11 17:37:20 UTC 2002 Don Hinton * ace/Basic_Types.h: Added missing typedefs for pid_t and ssize-t for WIN32 builds needed for my Log_Msg changes below. Thu Apr 11 14:42:32 UTC 2002 Don Hinton * ace/ARGV.h: Replaced include of ACE.h with config-all.h. * ace/Addr.cpp: * ace/OS_Dirent.cpp: * ace/Trace.cpp: Added include of OS.h. * apps/gperf/src/Bool_Array.cpp: Changed ACE_OS::memset() to ACE_OS_String::memset() and added include of OS_String.h. * tests/Log_Msg_Test.cpp: * examples/Logger/Acceptor-server.cpp: * examples/Logger/simple-server/Logging_Handler.cpp: * examples/Log_Msg/test_callback.cpp: Added includes of Log_Record.h. * ace/Log_Msg.{h,cpp}: Added new method, last_error_adapter(), and changed the ACE_DEBUG, et al, macros to use new method instead of ACE_OS::last_error(). Removed includes of OS.h and Log_Record. Changed ACE_Log_Record::MAXLOGMSGLEN to ACE_MAXLOGMSGLEN. Removed ACE_OS::cleanup_tss friend. * ace/Basic_Types.h: Added definition of MAXPATHLEN and typedef of ACE_thread_t to prevent need to include OS.h in Log_Msg.h above. * ace/Default_Constants.h: * ace/OS.h: Moved definitions of ACE_MAXLOGMSGLEN, ACE_MAXTOKENNAMELEN, and ACE_MAXCLIENTIDLEN here from OS.h. Thu Apr 11 14:26:12 2002 Johnny Willemsen * Timer_Hash_T.h: * Timer_Heap_T.h: * Timer_List_T.h: * Timer_Wheel_T.cpp: * Timer_Wheel_T.h: The timer queue classes schedule timers using absolute time. The describtion in the implementaton files correctly described this, but the header file comment and the argument name where describing that the queues work on delta timers, so corrected this. * Timer_Queue_Adapters.cpp: * Timer_Queue_Adapters.h: Updated the describtion that the schedule method expects an absolute time. Thu Apr 11 13:29:12 2002 Johnny Willemsen * ace/String_Base.h: Fixed some small typo in comment Thu Apr 11 08:30:11 UTC 2002 Don Hinton * ace/OS_String.inl (strnlen): Fixed compile error. Thu Apr 11 08:16:12 2002 Johnny Willemsen * ace/Timer_Queue_T.cpp: Reverted my change of yesterday. Already the copy constructor is called * ace/Task.h: * ace/Timer_Queue_Adapters.h: Fixed some small typos in comment * ace/Capabilities.h: Placed right comment with right method Wed Apr 10 20:00:57 2002 Ossama Othman * ace/Proactor.h: Include "ace/ACE_export.h" to pull in definition of ACE_Export macro. Wed Apr 10 19:53:01 2002 Ossama Othman * ace/Argv_Type_Converter.cpp: Include "ace/OS_Errno.h" to pull in ENOMEM definition. (align_char_with_wchar): Fixed remaining ACE_OS::strcmp() to be ACE_OS_String::strcmp(). Wed Apr 10 19:37:58 2002 Ossama Othman * apps/gperf/src/Bool_Array.h: * apps/gperf/src/Iterator.h: * apps/gperf/src/List_Node.h: No need to include "ace/OS.h". "ace/config-all.h" is enough. Wed Apr 10 19:25:39 2002 Ossama Othman * apps/Gateway/Gateway/Config_Files.cpp (read_entry): Use "unsigned short" instead of the "u_short" typedef to avoid including "ace/OS.h". * apps/Gateway/Gateway/Gateway.h: * apps/Gateway/Gateway/Event_Channel.h: * apps/Gateway/Gateway/Options.h: * apps/Gateway/Peer/Options.h: * examples/Service_Configurator/IPC-tests/server/Handle_Broadcast.h: * examples/Service_Configurator/IPC-tests/server/Handle_L_CODgram.h: * examples/Service_Configurator/IPC-tests/server/Handle_L_Dgram.h: * examples/Service_Configurator/IPC-tests/server/Handle_L_FIFO.h: * examples/Service_Configurator/IPC-tests/server/Handle_L_Pipe.h: * examples/Service_Configurator/IPC-tests/server/Handle_L_Stream.h: * examples/Service_Configurator/IPC-tests/server/Handle_R_Dgram.h: * examples/Service_Configurator/IPC-tests/server/Handle_R_Stream.h: * examples/Service_Configurator/IPC-tests/server/Handle_Timeout.h: * examples/Service_Configurator/Misc/Timer_Service.h: * netsvcs/clients/Naming/Client/Client_Test.h: * netsvcs/clients/Naming/Dump_Restore/Dump_Restore.h: * tests/DLL_Test_Impl.cpp: Include "ace/svc_export.h" to pull in ACE_Svc_Export macro. Wed Apr 10 18:57:11 2002 Ossama Othman * netsvcs/lib/Client_Logging_Handler.h: * netsvcs/lib/Name_Handler.h: * netsvcs/lib/Server_Logging_Handler.h: * netsvcs/lib/TS_Clerk_Handler.h: * netsvcs/lib/TS_Server_Handler.h: Include "ace/svc_export.h" to pull in ACE_Svc_Export macro. Wed Apr 10 19:37:12 2002 Krishnakumar B * ace/config-g++-common.h: Fixed a missing #define. This should fix the Lynx PPC build. Wed Apr 10 17:23:09 2002 Ossama Othman * ace/Auto_IncDec_T.h: Include "ace/Global_Macros.h" to pull ACE_UNIMPLEMENTED_FUNC macro definition. Wed Apr 10 19:28:27 2002 Steve Huston * examples/C++NPv2/display_logfile.cpp: First cut at the C++NPv2 Streams chapter code for displaying a logfile written from any C++NPv1 or C++NPv2 logging daemon. Wed Apr 10 17:38:31 2002 Steve Huston * ace/README: New config macros ACE_HAS_STRNLEN and ACE_HAS_WCSNLEN. * ace/OS_String.{h inl}: New method ACE_OS_String::strnlen finds the length of a string with a specified maximum length. Mimicks the GNU strnlen(3) and wcsnlen(3) functions. * ace/config-linux-common.h: Added ACE_HAS_STRNLEN and ACE_HAS_WCSNLEN if _GNU_SOURCE is defined, else glibc headers doesn't declare them. Wed Apr 10 11:16:57 2002 Ossama Othman * ace/Addr.h (hash): * ace/Addr.i (hash): Use "unsigned long" instead of the "u_long" typedef to avoid including "ace/OS.h". Wed Apr 10 11:07:42 2002 Ossama Othman * ace/Method_Request.h: Fixed remaining "u_long" to "unsigned long" change. Wed Apr 10 11:04:56 2002 Ossama Othman * ace/Array_Base.h: Include "ace/Global_Macros.h" to pull in the ACE_DES_* macros that required by the inlined ACE_Array_Base destructor. Wed Apr 10 11:01:56 2002 Ossama Othman * ace/Global_Macros.h: * ace/OS.h: Moved ACE_DES_* macros to Global_Macros.h. This allows some sources to avoid including ace/OS.h. Wed Apr 10 10:54:58 2002 Ossama Othman * ace/OS.h: * ace/Time_Value.h: Moved "time" related includes from OS.h to Time_Value.h. Fixes build problems on Unix platforms. Wed Apr 10 10:40:36 2002 Ossama Othman Inter-header dependency reductions: * ace/Auto_IncDec_T.h: * ace/Auto_Ptr.h: * ace/Based_Pointer_T.h: * ace/Bound_Ptr.h: * ace/Cached_Connect_Strategy_T.h: * ace/Cache_Map_Manager_T.h: * ace/Caching_Strategies_T.h: * ace/Caching_Utility_T.h: * ace/Capabilities.h: * ace/Cleanup_Strategies_T.h: * ace/Containers_T.h: * ace/CORBA_macros.h: * ace/Dynamic_Service.h: * ace/Env_Value_T.h: * ace/Managed_Object.h: * ace/Map.h: * ace/Map_Manager.h: No need to include "ace/OS.h". "ace/config-all.h" is enough. * ace/Asynch_Acceptor.h: No need to include "ace/OS.h". "ace/Default_Constants.h" is enough. * ace/Addr.h: * ace/Arg_Shifter.h: * ace/Argv_Type_Converter.h: * ace/Based_Pointer_Repository.h: * ace/Containers.h: * ace/Containers.cpp: * ace/Init_ACE.h: * ace/Trace.h: No need to include "ace/OS.h". "ace/ACE_export.h" is enough. * ace/RB_Tree.h: No need to include "ace/OS.h". "ace/Global_Macros.h" is enough. * ace/Global_Macros.h: Moved ACE_GUARD macros to this file, meaning that it is no longer necessary to include "ace/OS.h" just to get those macros. This should save on pre-processing times for some sources. Include "ace/OS_Export.h" to pull in the ACE_OS_Export macro definitions. * ace/Arg_Shifter.cpp: * ace/Argv_Type_Converter.cpp: Include "ace/OS_String.h" to pull in static string manipulation methods. Changed all ACE_OS string method calls to ACE_OS_String. * ace/Trace.cpp: Minor include file cosmetic tweaks. * ace/Time_Value.h: * ace/Time_Value.inl: * ace/Time_Value.cpp: Moved ACE_Time_Value class and related macros/constants to these files. Files that only need the ACE_Time_Value class declaration need only include this header instead of "ace/OS.h", thus reducing pre-processing times. * ace/OS.h: Moved ACE_Time_Value class and ACE_GUARD macros out of this header. * ace/OS.i: * ace/OS.cpp: Moved ACE_Time_Value methods out of the files into the new Time_Value.* files. * ace/Init_ACE.cpp: Use "unsigned int" instead of the "u_int" typedef to avoid including "ace/OS.h". * ace/Hashable.h: * ace/Hashable.cpp: * ace/Method_Request.h: * ace/Method_Request.cpp: No need to include "ace/OS.h". "ace/ACE_export.h" is enough. Use "unsigned long" instead of the "u_long" typedef to avoid including "ace/OS.h". * ace/Proactor.h: No need to include "ace/OS.h" to pull in ACE_Time_Value class declaration. A forward declaration is enough. * ace/Argv_Type_Converter.inl: * ace/CE_Screen_Output.h: Cosmetic changes to improve conformance to our coding style/guidelines. * ace/config-all.h: No need to include "ace/ACE_export.h" and "ace/svc_export.h". They should only be included by headers that need them. Do not include "ace/OS_Errno.h". Fixes a circular dependency. * ace/Copy_Disabled.h: * ace/Dirent.h: * ace/Log_Msg_Backend.h: * ace/Refcountable.h: * ace/Recyclable.h: * ace/String_Base_Const.h: * ace/Thread_Adapter.h: Include "ace/ACE_export.h" to pull in definition of ACE_Export macro. * ace/OS_Export.h: Include "ace/config.h" instead of "ace/config-all.h" to fix a circular include. * ace/OS_Errno.h: No need to include "ace/config.h". It is already included indirectly by "ace/OS_Export.h". * ace/OS_Dirent.h: Include "ace/OS_Errno.h" to pull in errno definitions. * ace/Handle_Ops.h: Include "ace/ACE_export.h" to pull in ACE_Export macro definition. Added missing "#pragma once". * ace/Makefile: * ace/Makefile.bor: Added new Time_Value.* sources to these Makefiles. Wed Apr 10 13:32:15 2002 Johnny Willemsen * ace/Token.h: * ace/Timer_Queue_T.h: Doxygen-ized some of the comments * ace/Select_Reactor_T.cpp: Fixed typo in comment Wed Apr 10 07:44:12 2002 Johnny Willemsen * ace/Timer_Queue_T.cpp: Instead of creating a ACE_Time_Value with the default constructor and immediatly filling it with the assignment operator, create the ACE_Time_Value with the copy constructor * examples/Logger/simple-server/Logging_Acceptor.cpp: * examples/Service_Configurator/IPC-tests/server/Handle_R_Stream.h: * examples/Reactor/Misc/test_signals_2.cpp: Added missing includes of Log_Msg.h. These where caused by the compilation speedup of Don Hinton on April 5th. * ace/Name_Request_Reply.h: Tue Apr 9 22:59:20 2002 Krishnakumar B * ace/config-sunos5.5.h: Added ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES to fix errors. * ace/config-sunos5.6.h: Removed definition of ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION as we turn it on on the command line. Tue Apr 9 19:48:15 2002 Krishnakumar B * include/makeinclude/platform_osf1_4.x_cxx.GNU (LDFLAGS): Moved the -hidden and -non_hidden from LIBS to LDFLAGS. The linker doesn't like it seeing at the end. This fixes the problems with Tru64. Tue Apr 9 12:43:04 2002 Balachandran Natarajan * bin/auto_run_tests.lst: Added POA_BiDir to the list of tests to be run and prevented MT_BiDir from running in minimum_corba builds. Tue Apr 9 11:46:52 2002 Steve Huston * ace/Message_Block.h: Doxygen tweaks to block type enum. Tue Apr 9 11:20:19 2002 Steve Huston * netsvcs/Server_Logging_Handler_T.cpp (handle_logging_record): Moved variable 'count' inside the #if 0 block so it's not flagged as unused. Tue Apr 9 15:02:12 2002 Johnny Willemsen * ace/Containers_T.h: Fixed two small typos * ace/Thread_Manager.h: Doxygen-ized some of the comments Tue Apr 9 03:04:19 2002 Krishnakumar B * include/makeinclude/rules.lib.GNU (VLIB): Ensure that templates in the repository get added to the static library during creation. This build now uses a new variable called TMPINCDIR which points to the template repository from which the templates should be pulled in. * include/makeinclude/platform_osf1_4.x_cxx.GNU: Added support for different template instantiations. * include/makeinclude/platform_tru64_cxx.GNU: Removed some repeated flags from the command line. * ace/config-cxx-common.h: Added ACE_TEMPLATES_REQUIRE_SOURCE to pull in the template definitions to ensure proper template instantiation. Tue Apr 9 00:52:42 2002 Krishnakumar B * ace/config-sunos5.5.h (ACE_TEMPLATES_REQUIRE_SOURCE): Moved this from within a guard to enable it unconditionally. * ace/Obstack_T.cpp: Added guards to make it consistent with other usage of _T.cpp files. * tests/test_config.h: Reverted the change Sun Apr 7 18:04:56 2002 Krishnakumar B . The original code was right. * include/makeinclude/platform_g++_common.GNU: Cosmetic fixes. Explicitly check for egcs. It dumps out version information in a non-standard format confusing the make conditionals. Should fix the RedHat Static build. * include/makeinclude/platform_sunos5_sunc++.GNU: Cosmetic fixes to fix build bustage. Tue Apr 9 00:05:37 2002 Douglas C. Schmidt * ace/Logging_Strategy.h (ACE_Logging_Strategy): Changed "private" to "protected" so subclasses can access the implementation. Thanks to Martin Krumpolec for reporting this. This fixes bugid 1182. Mon Apr 8 13:18:12 2002 Johnny Willemsen * ace/Activation_Queue.h: Corrected location of doxygen comments so that the right comment is placed below the right method Sun Apr 7 18:04:56 2002 Krishnakumar B * tests/test_config.h (randomize): Wrapped the initialization of singleton_ within a ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES guard. This should fix the problems on FreeBSD and under RedHat static. Thanks to Craig Rodrigues for reporting this. Sun Apr 7 06:02:26 2002 Krishnakumar B * include/makeinclude/platform_lynxos.GNU: * include/makeinclude/platform_macosx.GNU: Didn't know that these platforms used g++. Fixing them. Sun Apr 7 05:27:35 2002 Krishnakumar B * include/makeinclude/platform_g++_common.GNU: Fixed a comment from the previous checkin. * include/makeinclude/platform_sunos5_sunc++.GNU: * include/makeinclude/platform_sunos5_ghs.GNU: * include/makeinclude/platform_sunos5_kcc.GNU: Changed these files to the new template instantiation mechanism. * tests/test_config.h: Added missing definition for the template member. Sun Apr 7 04:22:19 2002 Krishnakumar B * include/makeinclude/wrapper_macros.GNU(templates): Added option templates which can be used to specify the instantiation policy desired. Allowed values are explicit, automatic and used. Added flag TEMPLATE_FLAGS which should be set to the proper value in each of the platform config files. * include/makeinclude/platform_g++_common.GNU: New file which holds the parsing and setting logic for GNU C++. * include/makeinclude/platform_aix4_g++.GNU(templates): * include/makeinclude/platform_aix_g++.GNU: * include/makeinclude/platform_chorus4.x_g++.GNU: * include/makeinclude/platform_freebsd.GNU: * include/makeinclude/platform_gnuwin32_common.GNU: * include/makeinclude/platform_hpux_gcc.GNU: * include/makeinclude/platform_irix5.3_g++.GNU: * include/makeinclude/platform_irix6.x_g++.GNU: * include/makeinclude/platform_linux.GNU: * include/makeinclude/platform_osf1_4.x_g++.GNU: * include/makeinclude/platform_psosim_g++.GNU: * include/makeinclude/platform_rtems.x_g++.GNU: * include/makeinclude/platform_sco5.0.0-mit-pthread.GNU: * include/makeinclude/platform_sco5.0.0-nothread.GNU: * include/makeinclude/platform_sunos4_g++.GNU: * include/makeinclude/platform_sunos5_g++.GNU: * include/makeinclude/platform_unixware_g++.GNU: For all of the platforms above, when using g++ versions 2.95.x, 2.96, 3.0.x or 3.x or later, the instantiation policy is set to automatic. * include/makeinclude/platform_vxworks5.x_g++.GNU: Only exception to the above. The kind of parsing that is done in this file scares me. So I explicitly set it to "explicit". Thanks to Alex Libman for motivating this. If people with any of the above platforms can test if this works for them, it would be great. If suddenly your files don't link, just set templates="explicit" in platform_macros.GNU and all will be fine. This one was easy :-) Next round of changes is for the above platforms with different compilers. Sun Apr 7 04:02:23 2002 Krishnakumar B * ace/config-g++-common.h (ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES): Moved common definitions for egcs into a single block. Wrapped ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES inside appropriate compiler checks. * ace/config-all.h: Added a negation before check for ACE_HAS_GNUC_BROKEN_TEMPLATE_INLINE_FUNCTIONS. * ace/config-sunos5.5.h: Enabled ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION and ACE_TEMPLATES_REQUIRE_SOURCE only if Sun CC version <= 5.0. Sun Apr 07 10:25:12 2002 Johnny Willemsen * examples/IPC_SAP/SOCK_SAP/FD-unserver.cpp: * examples/IPC_SAP/SOCK_SAP/FD-unclient.cpp: * examples/IPC_SAP/SOCK_SAP/CPP-unclient.cpp: Added include of Log_Msg.h to fix build errors in BCB Fri Apr 05 21:17:44 2002 Balachandran Natarajan * ace/CDR_Stream.cpp: Initialized a null wstring properly. * tests/CDR_Test.cpp (test_get): Added a test case for a marshalling and unmarshalling a zero length wstring. The above changes fix [Bug 1169]. Thanks to Duane Binder for suggesting these fixes. Fri Apr 5 19:20:39 2002 Steve Huston * ace/Proactor.h: Add #include "ace/OS.h" in the "non-AIO" section to get the ACE_Time_Value class needed for the stubbed-out class. * ace/config-aix-4.x.h: Add some commentary about ACE_HAS_AIO_CALLS. * ace/Service_Manager.cpp: Added #include "ace/Log_Msg.h" to fix a compile problem on AIX. Fri Apr 5 11:30:00 2002 Justin Michel * ace/OS.i: * ace/config-win32-common.h: SO_REUSEADDR fix brought over from 1.2a FD_SETSIZE fix brought over from 1.2a Thanks to Juergen Pfreundt for motivating this. Fri Apr 5 07:45:54 2002 Balachandran Natarajan * ace/Local_Tokens.cpp: Fixed a compile error. Fri Apr 5 12:51:11 UTC 2002 Don Hinton * ace/ACE.i (strnew): Added null pointer check to the wchar_t version so its behavior matches the char version. Fri Apr 5 11:40:00 UTC 2002 Don Hinton * ace/ATM_Acceptor.h * ace/ATM_Addr.cpp * ace/ATM_Addr.h * ace/ATM_Connector.cpp * ace/ATM_Connector.h * ace/ATM_Params.h * ace/ATM_QoS.h * ace/ATM_Stream.h * ace/Asynch_Acceptor.h * ace/Asynch_IO.h * ace/Asynch_IO_Impl.cpp * ace/Asynch_IO_Impl.h * ace/CE_Screen_Output.cpp * ace/CE_Screen_Output.h * ace/FlReactor.cpp * ace/FlReactor.h * ace/IOStream.h * ace/LSOCK.cpp * ace/LSOCK.h * ace/LSOCK_Acceptor.cpp * ace/LSOCK_Acceptor.h * ace/LSOCK_CODgram.cpp * ace/LSOCK_CODgram.h * ace/LSOCK_Connector.cpp * ace/LSOCK_Connector.h * ace/LSOCK_Dgram.cpp * ace/LSOCK_Dgram.h * ace/LSOCK_Stream.cpp * ace/LSOCK_Stream.h * ace/Local_Tokens.cpp * ace/Local_Tokens. * ace/Msg_WFMO_Reactor.h * ace/POSIX_Asynch_IO.h * ace/POSIX_Proactor.h * ace/Proactor.cpp * ace/Proactor.h * ace/Proactor_Impl.h * ace/QtReactor.h * ace/Reactor.cpp * ace/SUN_Proactor.h * ace/TkReactor.cpp * ace/TkReactor.h * ace/UNIX_Addr.cpp * ace/UNIX_Addr.h * ace/WFMO_Reactor.cpp * ace/WFMO_Reactor.h * ace/WIN32_Asynch_IO.h * ace/WIN32_Proactor.h * ace/XTI_ATM_Mcast.h * ace/XtReactor.cpp * ace/XtReactor.h Moved all includes inside the platform- or feature-specific macro guards and added config-all.h to the headers in order to speed up compiles when the guard isn't defined. Fri Apr 5 08:51:12 2002 Johnny Willemsen * apps/Gateway/Peer/Peer.h: Added missing explicit template instantion exports for msvc7. Thanks to Tom Phan for reporting this Thu Apr 4 21:01:11 2002 Carlos O'Ryan * ace/SOCK_Dgram.cpp: I accidentally left out some code in my last change, without it platforms that lack IPV6 support will probably break. Whoopsie. Thu Apr 4 20:39:51 2002 Carlos O'Ryan * bin/g++dep: Remove bogus path(s) to find gcc, they were site-specific, host-specific and version-specific, and then outdated at that. The developer better has a decent version of gcc in her PATH already, or the 'make depend' commands simply won't work. Thu Apr 4 13:17:52 2002 Balachandran Natarajan * bin/auto_run_tests.lst: Added a new test to the list of tests that need to be run. Thu Apr 4 11:52:45 2002 Carlos O'Ryan * ace/SOCK_Dgram.cpp: Add support for anonymous PF_LOCAL/SOCK_DGRAM (aka PF_UNIX/SOCK_DGRAM) sockets. As the class stood before these changes it was impossible to create such sockets, forcing people to choose a binding address even for sockets that are used only to send messages. For PF_INET this is not a big deal, because the OS (or ACE::bind_port) can choose a port for the application. But there is no such luck for PF_LOCAL sockets, where the application has to choose a filename for the socket, functions like ACE_OS::tempnam() or ACE_OS::mktemp() are more trouble than they are worth, as they open a security can of worms. This fixes bug 1179. Thu Apr 4 10:30:54 2002 Balachandran Natarajan * ace/RMCast/Makefile: * ace/SSL/Makefile: * ace/Makefile: Updated dependency. Other directories need this too. Will get to them before the beta. Thu Apr 4 11:05:48 2002 Carlos O'Ryan * ace/Select_Reactor_Base.cpp: Apply proposed patch for bug 1175, i.e. a possible deadlock condition when ACE_HAS_REACTOR_NOTIFICATION_QUEUE is defined. Thu Apr 4 08:32:26 UTC 2002 Don Hinton * ace/CDR_Stream.cpp (ctor): Modified default ctor to always add ACE_CDR::MAX_ALIGNMENT to the size parameter since it is always required since the subsequent call to ACE_CDR::mb_align() might advance the (rd|wr)_ptr's up to ACE_CDR::MAX_ALIGNMENT-1 bytes. Wed Apr 3 18:01:33 2002 Steve Huston * ace/SOCK_Dgram.cpp (shared_open): Add PF_INET6 to the test for need to bind an unused port if ACE_HAS_IPV6 is defined. Wed Apr 3 11:04:37 2002 Steve Huston * ace/Handle_Ops.{h, cpp} (handle_timed_open): * ace/SPIPE_Connector.{h cpp} (ctor, connect): Added optional LPSECURITY_ATTRIBTUES arg, defaults to 0. Allows Windows users to set security for the new file/pipe open. * ace/SPIPE_Acceptor.{h cpp} (ctor, open): Added optional LPSECURITY_ATTRIBUTES arg, defaults to 0, same as above. Also added a LPSECURITY_ATTRIBUTES member for NT4 and up. The LPSECURITY_ATTRIBUTES passed in is remembered across named pipe instances, and is used to create each new instance. Doxygen-ized the comments. Wed Apr 3 10:15:00 2002 Si Mong Park * tests/Atomic_Op_Test_WinCE.vcp: * tests/Auto_IncDec_Test_WinCE.vcp: * tests/Barrier_Test_WinCE.vcp: * tests/Basic_Types_Test_WinCE.vcp: * tests/Bound_Ptr_Test_WinCE.vcp: * tests/Buffer_Stream_Test_WinCE.vcp: * tests/Cached_Accept_Conn_Test_WinCE.vcp: * tests/Cached_Conn_Test_WinCE.vcp: * tests/Cache_Map_Manager_Test_WinCE.vcp: * tests/Capabilities_Test_WinCE.vcp: * tests/CDR_Array_Test_WinCE.vcp: * tests/CDR_File_Test_WinCE.vcp: * tests/CDR_Test_WinCE.vcp: * tests/Collection_Test_WinCE.vcp: * tests/Conn_Test_WinCE.vcp: * tests/DLList_Test_WinCE.vcp: * tests/DLL_Test_WinCE.vcp: * tests/Dynamic_Priority_Test_WinCE.vcp: * tests/Enum_Interfaces_Test_WinCE.vcp: * tests/Future_Set_Test_WinCE.vcp: * tests/Future_Test_WinCE.vcp: * tests/Handle_Set_Test_WinCE.vcp: * tests/Hash_Map_Bucket_Iterator_Test_WinCE.vcp: * tests/Hash_Map_Manager_Test_WinCE.vcp: * tests/High_Res_Timer_Test_WinCE.vcp: * tests/Lazy_Map_Manager_Test_WinCE.vcp: * tests/Logging_Strategy_Test_WinCE.vcp: * tests/Log_Msg_Test_WinCE.vcp: * tests/Malloc_Test_WinCE.vcp: * tests/Map_Manager_Test_WinCE.vcp: * tests/Map_Test_WinCE.vcp: * tests/Max_Default_Port_Test_WinCE.vcp: * tests/Mem_Map_Test_WinCE.vcp: * tests/MEM_Stream_Test_WinCE.vcp: * tests/Message_Block_Test_WinCE.vcp: * tests/Message_Queue_Notifications_Test_WinCE.vcp: * tests/Message_Queue_Test_Ex_WinCE.vcp: * tests/Message_Queue_Test_WinCE.vcp: * tests/MM_Shared_Memory_Test_WinCE.vcp: * tests/MT_Reactor_Timer_Test_WinCE.vcp: * tests/MT_SOCK_Test_WinCE.vcp: * tests/Naming_Test_WinCE.vcp: * tests/New_Fail_Test_WinCE.vcp: * tests/Notify_Performance_Test_WinCE.vcp: * tests/Object_Manager_Test_WinCE.vcp: * tests/OrdMultiSet_Test_WinCE.vcp: * tests/OS_Test_WinCE.vcp: * tests/Priority_Buffer_Test_WinCE.vcp: * tests/Priority_Reactor_Test_WinCE.vcp: * tests/Priority_Task_Test_WinCE.vcp: * tests/Process_Manager_Test_WinCE.vcp: * tests/RB_Tree_Test_WinCE.vcp: * tests/Reactors_Test_WinCE.vcp: * tests/Reactor_Exceptions_Test_WinCE.vcp: * tests/Reactor_Notify_Test_WinCE.vcp: * tests/Reactor_Performance_Test_WinCE.vcp: * tests/Reactor_Timer_Test_WinCE.vcp: * tests/Reader_Writer_Test_WinCE.vcp: * tests/Recursive_Mutex_Test_WinCE.vcp: * tests/Refcounted_Auto_Ptr_Test_WinCE.vcp: * tests/Reverse_Lock_Test_WinCE.vcp: * tests/Semaphore_Test_WinCE.vcp: * tests/Service_Config_Test_WinCE.vcp: * tests/Sigset_Ops_Test_WinCE.vcp: * tests/Simple_Message_Block_Test_WinCE.vcp: * tests/SOCK_Connector_Test_WinCE.vcp: * tests/SOCK_Send_Recv_Test_WinCE.vcp: * tests/SOCK_Test_WinCE.vcp: * tests/SPIPE_Test_WinCE.vcp: * tests/SString_Test_WinCE.vcp: * tests/Svc_Handler_Test_WinCE.vcp: * tests/Task_Test_WinCE.vcp: * tests/Thread_Manager_Test_WinCE.vcp: * tests/Thread_Mutex_Test_WinCE.vcp: * tests/Thread_Pool_Reactor_Resume_Test_WinCE.vcp: * tests/Thread_Pool_Reactor_Test_WinCE.vcp: * tests/Thread_Pool_Test_WinCE.vcp: * tests/Timeprobe_Test_WinCE.vcp: * tests/Timer_Queue_Test_WinCE.vcp: * tests/Time_Service_Test_WinCE.vcp: * tests/Time_Value_Test_WinCE.vcp: * tests/Tokens_Test_WinCE.vcp: * tests/TSS_Test_WinCE.vcp: * tests/Upgradable_RW_Test_WinCE.vcp: Added aygshell.lib to the link option. Wed Apr 3 00:03:05 2002 Krishnakumar B * include/makeinclude/platform_sunos5_g++.GNU (exceptions): * include/makeinclude/platform_qnx_neutrino.GNU: * include/makeinclude/platform_qnx_rtp_gcc.GNU: Removed redefinitions of ACE_HAS_GNUG_PRE_2_8 as they were unnecessary. Some more files also seem to be abusing this flag. But I don't have access to those exotic platforms. Tue Apr 2 19:36:31 2002 Steve Huston * ace/OS_String.inl (strtok_r): Another variant of wcstok()... Linux/glibc uses the 3-arg version of wcstok(), and says it's from UNIX98 and ISO/ANSI C. Tue Apr 2 16:21:39 2002 Steve Huston * ace/Get_Opt.h: Doxygen-ized the comments. Tue Apr 02 15:12:10 2002 Nanbor Wang * bin/nightlybuilds/builds.lst: Removed KCC builds from the list. Tue Apr 2 14:02:06 2002 Chris Cleeland * ace/SSL/SSL_Context.cpp (dh_params): Changed this to use the OpenSSL 'BIO' abstraction for file i/o rather than file pointers. Using file pointers caused problems on Win32 platforms, and BIOs don't. So, despite the fact that it's ugly and pollutes ACE code with an OpenSSL abstraction, at least it works. We'll have to figure out a more palatable way of dealing with this eventually. Tue Apr 2 12:53:00 2002 Si Mong Park * ace/Argv_Type_Converter.cpp: Fixed possible memory leak in the Dtor with incorrect counter of argv. Thanks to Don Hinton for finding this bug. Mon Apr 1 18:27:46 2002 Steve Huston * ace/OS_String.inl (strtok_r): Corrected decision to call wcstok() or wcstok_r(). This fixes builds on HP-UX 11. Mon Apr 1 16:35:29 2002 Steve Huston * ace/Containers_T.h (ACE_Array): Added performance characteristics and requirements table. Mon Apr 1 11:56:55 2002 Steve Totten * ace/Process.h: * ace/Process.cpp: Applied change from Rich Seibel to add a reset for the command_line_calculated_ flag (three places) and rewrote the description of command_line_buf(). Mon Apr 1 12:38:44 2002 Steve Huston * ace/Asynch_Acceptor.h: Corrected @arg to be @a for Doxygen. Sun Mar 31 22:44:00 2002 Si Mong Park * apps/FaCE/FaCE_OS.h: * apps/FaCE/FaCE.cpp: * apps/FaCE/Main.cpp: Changed 'LPWSTR' to 'ACE_TCHAR*' and 'LPCTSTR' to 'const ACE_TCHAR*'. Also removed fuzz no-checking header to enable fuzz again. Sun Mar 31 22:08:00 2002 Si Mong Park * ChangeLog: Fixed incorrect path for FaCE related files on prior change log items. Sat Mar 30 08:58:57 2002 Douglas C. Schmidt * ace/Asynch_Acceptor.cpp: (handle_accept): Removed a stray ACE_DEBUG() call. Thanks to Edan Ayal for reporting this. Sun Mar 31 01:18:00 2002 Si Mong Park * apps/FaCE/FaCE_OS.h: * apps/FaCE/FaCE.cpp: * apps/FaCE/Main.cpp: Added "// FUZZ: disable check_for_tchar" as the code is only and specifically for the WinCE. Thanks to Nanbor Wang for help. * apps/CE_ARGV.H: * apps/CE_ARGV.CPP: Minor lower/upper case change in the include statement. Sat Mar 30 22:19:00 2002 Si Mong Park * ace/OS.h: Removed FaCE_MAIN definition originally added during WinCE port and moved to FaCE_OS.h in the FaCE package since it is FaCE specific macro. * apps/FaCE/Face_OS.h: Contains FaCE_MAIN macro definition to set entry point on WinCE. * apps/FaCE/ReadMe.txt: Updated installation part for FacE_OS.h. Fri Mar 29 17:35:39 2002 Steve Huston * ace/Proactor.h: Doxygen-ize some comments; correct the close() comment (no I/O completion port is known at this level). Fri Mar 29 13:40:00 2002 Si Mong Park * ace/OS.h: Minor fix for WinCE IDC name. * apps/FaCE/ACE.ico: * apps/FaCE/ACE_Racer.bmp: * apps/FaCE/CE_ARGV.CPP * apps/FaCE/CE_ARGV.H * apps/FaCE/CE_Screen_Output.cpp: * apps/FaCE/CE_Screen_Output.h: * apps/FaCE/FaCE.cpp: * apps/FaCE/FaCE.h: * apps/FaCE/FACE.ico: * apps/FaCE/FaCE.rc: * apps/FaCE/FaCE.vcp: * apps/FaCE/FaCE.vcw: * apps/FaCE/FaCENOACE.vcp: * apps/FaCE/FaCENOACE.vcw: * apps/FaCE/License.txt: * apps/FaCE/Main.cpp: * apps/FaCE/newres.h: * apps/FaCE/ReadMe.txt: * apps/FaCE/resource.h * apps/FaCE/TAO.BMP: A new front-end framework utility/plug-in for ACE on WinCE. Fri Mar 29 11:33:00 2002 Si Mong Park * ace/ace_dll.vcp: * tests/Refcounted_Auto_Ptr_Test_WinCE.vcp: * tests/Service_Config_DLL_WinCE.vcp: Added few files into project. * tests/CE_fostream.h: * tests/CE_fostream.cpp: A class that simulates fostream on WinCE for CDR File test. * tests/Bound_Ptr_Test.cpp: * tests/CDR_File_Test.cpp: * tests/Log_Msg_Test.cpp: * tests/Logging_Strategy_Test.cpp: * tests/Malloc_Test.cpp: * tests/MEM_Stream_Test.cpp: * tests/MM_Shared_Memory_Test.cpp: * tests/MT_SOCK_Test.cpp: * tests/Priority_Task_Test.cpp: * tests/Refcounted_Auto_Ptr_Test.cpp: * tests/SOCK_Send_Recv_Test.cpp: * tests/SOCK_Test.cpp: * tests/Svc_Handler_Test.cpp: * tests/Thread_Pool_Test.cpp: Minor updates for WinCE build. Fri Mar 29 11:08:29 2002 Steve Huston * ace/Asynch_Acceptor.h: Doxygen-ized the method comments. Fri Mar 29 02:50:33 2002 Craig Rodrigues * examples/QOS/Diffserv/README: Update links to RFC's for Expedited Forwarding. Fri Mar 29 08:32:12 2002 Johnny Willemsen * tests/Makefile.bor: Added new Cached_Allocator_Test * tests/Cached_Allocator_Test.cpp: Fixed unicode build errors Thu Mar 28 23:47:00 2002 Si Mong Park * ace/OS.h: * ace/OS.cpp: Fixed WinCE entry point definitions, and factored out Unicode format checking parts as a separate function for both WinCE and Unicode builds. * ace/config-WinCE.h: Commented out the part that 'forces' WinCE to use DLL only. The 'commented out' part has been left for possible future reference. * tests/test_config.h: Changed path settings for WinCE file system as CE only supports absolute- path and does not have concept of './'. * tests/tests_WinCE.vcw: * tests/ARGV_Test_WinCE.vcp: * tests/Atomic_Op_Test_WinCE.vcp: * tests/Auto_IncDec_Test_WinCE.vcp: * tests/Barrier_Test_WinCE.vcp: * tests/Basic_Types_Test_WinCE.vcp: * tests/Bound_Ptr_Test_WinCE.vcp: * tests/Buffer_Stream_Test_WinCE.vcp: * tests/Cached_Accept_Conn_Test_WinCE.vcp: * tests/Cached_Conn_Test_WinCE.vcp: * tests/Cache_Map_Manager_Test_WinCE.vcp: * tests/Capabilities_Test_WinCE.vcp: * tests/CDR_Array_Test_WinCE.vcp: * tests/CDR_File_Test_WinCE.vcp: * tests/CDR_Test_WinCE.vcp: * tests/Collection_Test_WinCE.vcp: * tests/Conn_Test_WinCE.vcp: * tests/DLList_Test_WinCE.vcp: * tests/DLL_Test_DLL_WinCE.vcp: * tests/DLL_Test_WinCE.vcp: * tests/Dynamic_Priority_Test_WinCE.vcp: * tests/Enum_Interfaces_Test_WinCE.vcp: * tests/Future_Set_Test_WinCE.vcp: * tests/Future_Test_WinCE.vcp: * tests/Handle_Set_Test_WinCE.vcp: * tests/Hash_Map_Bucket_Iterator_Test_WinCE.vcp: * tests/Hash_Map_Manager_Test_WinCE.vcp: * tests/High_Res_Timer_Test_WinCE.vcp: * tests/Lazy_Map_Manager_Test_WinCE.vcp: * tests/Logging_Strategy_Test_WinCE.vcp: * tests/Log_Msg_Test_WinCE.vcp: * tests/Malloc_Test_WinCE.vcp: * tests/Map_Manager_Test_WinCE.vcp: * tests/Map_Test_WinCE.vcp: * tests/Max_Default_Port_Test_WinCE.vcp: * tests/Mem_Map_Test_WinCE.vcp: * tests/MEM_Stream_Test_WinCE.vcp: * tests/Message_Block_Test_WinCE.vcp: * tests/Message_Queue_Notifications_Test_WinCE.vcp: * tests/Message_Queue_Test_Ex_WinCE.vcp: * tests/Message_Queue_Test_WinCE.vcp: * tests/MM_Shared_Memory_Test_WinCE.vcp: * tests/MT_Reactor_Timer_Test_WinCE.vcp: * tests/MT_SOCK_Test_WinCE.vcp: * tests/Naming_Test_WinCE.vcp: * tests/New_Fail_Test_WinCE.vcp: * tests/Notify_Performance_Test_WinCE.vcp: * tests/Object_Manager_Test_WinCE.vcp: * tests/OrdMultiSet_Test_WinCE.vcp: * tests/OS_Test_WinCE.vcp: * tests/Priority_Buffer_Test_WinCE.vcp: * tests/Priority_Reactor_Test_WinCE.vcp: * tests/Priority_Task_Test_WinCE.vcp: * tests/Process_Manager_Test_WinCE.vcp: * tests/RB_Tree_Test_WinCE.vcp: * tests/Reactors_Test_WinCE.vcp: * tests/Reactor_Exceptions_Test_WinCE.vcp: * tests/Reactor_Notify_Test_WinCE.vcp: * tests/Reactor_Performance_Test_WinCE.vcp: * tests/Reactor_Timer_Test_WinCE.vcp: * tests/Reader_Writer_Test_WinCE.vcp: * tests/Recursive_Mutex_Test_WinCE.vcp: * tests/Refcounted_Auto_Ptr_Test_WinCE.vcp: * tests/Reverse_Lock_Test_WinCE.vcp: * tests/Semaphore_Test_WinCE.vcp: * tests/Service_Config_DLL_WinCE.vcp: * tests/Service_Config_Test_WinCE.vcp: * tests/Sigset_Ops_Test_WinCE.vcp: * tests/Simple_Message_Block_Test_WinCE.vcp: * tests/SOCK_Connector_Test_WinCE.vcp: * tests/SOCK_Send_Recv_Test_WinCE.vcp: * tests/SOCK_Test_WinCE.vcp: * tests/SPIPE_Test_WinCE.vcp: * tests/SString_Test_WinCE.vcp: * tests/Svc_Handler_Test_WinCE.vcp: * tests/Task_Test_WinCE.vcp: * tests/Thread_Manager_Test_WinCE.vcp: * tests/Thread_Mutex_Test_WinCE.vcp: * tests/Thread_Pool_Reactor_Resume_Test_WinCE.vcp: * tests/Thread_Pool_Reactor_Test_WinCE.vcp: * tests/Thread_Pool_Test_WinCE.vcp: * tests/Timeprobe_Test_WinCE.vcp: * tests/Timer_Queue_Test_WinCE.vcp: * tests/Time_Service_Test_WinCE.vcp: * tests/Time_Value_Test_WinCE.vcp: * tests/Tokens_Test_WinCE.vcp: * tests/TSS_Test_WinCE.vcp: * tests/Upgradable_RW_Test_WinCE.vcp: Project files for WinCE build on eMbedded Visual C++ 3.0. Note that some tests run fine under emulator but not on the real machine, and some tests run okay on WinCE 3.0 but not on Pocket PC 2002. The missing tests are mostly not supported by WinCE 3.0/PPC 2002. For example, WinCE does not have 'fork' or environment variables. Also, WinCE supports memory mapped file; however, the method is so different to other Windows platforms that it is really hard to make it work correctly on current ACE mem-map function structure. Thu Mar 28 16:15:17 2002 Douglas C. Schmidt * ace/TTY_IO.h: Added the ACE_Export macro to the Serial_Params struct. Thanks to Pavel Repin for reporting this. Thu Mar 28 13:31:19 2002 Priyanka Gontla * ace/POSIX_Asynch_IO.cpp (handle_close): Fixed the warnings on Debian_Core build that were caused by the changes earlier today. Thu Mar 28 16:14:39 2002 Steve Huston * ace/OS.h (ACE_Time_Value::dump): Added comments that'll go to the man page to explain why this is a no-op. Thu Mar 28 14:26:19 2002 Douglas C. Schmidt * tests/Cached_Allocator_Test.cpp: Added a missing template instantiation. Thu Mar 28 10:45:16 2002 Nanbor Wang * tests/tests.dsw: * tests/Cached_Allocator_Test.dsp: Added this new MSVC project. Thu Mar 28 10:12:13 2002 Douglas C. Schmidt * ace/Malloc_T.{h,i,cpp}: Added support for ACE_Dynamic_Cached_Allocator. Thanks to Jaroslaw Nozderko for contributing this. * tests: Added Cached_Allocator_Test.cpp. Thanks to Jaroslaw Nozderko for contributing this. * tests/Makefile (BIN): * tests/run_test.lst: Added Cached_Allocator_Test. Thu Mar 28 06:15:22 2002 Alex Libman * ace/POSIX_Asynch_IO.cpp, ace/POSIX_Asynch_IO.h: ACE_POSIX_AOICB_Asynch_Operation and ACE_POSIX_Asynch_Operation merged in one class ACE_POSIX_Asynch_Operation Since POSIX_SIG_Proactor and SUN_Proactor are based on POSIX_AIOCB_Proactor and both of them use ACE_POSIX_AOICB_Asynch_Operation, there is no necessity to support extra class tree. * ace/POSIX_Asynch_IO.cpp, ace/POSIX_Asynch_IO.h: ACE_POSIX_AOICB_Transmit_Handler and ACE_POSIX_Transmit_Handler merged in ACE_POSIX_Transmit_Handler for same reason as previous change. * ace/POSIX_Asynch_IO.cpp, ace/POSIX_Asynch_IO.h: ACE_POSIX_Asynch_Accept merged with ACE_POSIX_Asynch_Accept_Hanlder and redesigned and added new class ACE_POSIX_Asynch_Accept_Task. POSIX_AIOCB_Proactor has new member ACE_POSIX_Asynch_Accept_Task asynch_accept_task_. Task activation should be done from the most derived constructors , when the final table of virtual functions is built (simular case with notify_manager). // start asynch accept task this->get_asynch_accept_task.start (); All POSIX_Proactors implementations ( AIOCB,SIG,SUN ) should stop ACE_POSIX_Asynch_Accept_Task in their destructors to avoid post_completions from based classes // stop asynch accept task this->get_asynch_accept_task.stop (); Thu Mar 28 06:14:22 2002 Douglas C. Schmidt * ace/TTY_IO.cpp (Serial_Params): Zero out the values in the Serial_Params constructor. Thanks to Pavel Repin for reporting this. Wed Mar 27 20:00:31 2002 Douglas C. Schmidt * include/makeinclude/platform_linux.GNU: Fixed a typo where PLATFORM_XT_LDFLAGS was spelled incorrectly. Thanks to Eric Eide and Ansgar Konermann for reporting this. Wed Mar 27 18:36:14 2002 Krishnakumar B * include/makeinclude/platform_linux.GNU (CXX_VERSION): Reorganised the switches a bit for handling the implicit templates. * include/makeinclude/wrapper_macros.GNU (ACE_HAS_GNUG_PRE_2_8): If the compiler has g++ or any mutations of g++, test whether the version is less than 2.8. If so set ACE_HAS_GNUG_PRE_2_8 to 1 else set it to 0. Thanks to James Haiar for reporting this. Wed Mar 27 16:32:55 2002 Irfan Pyarali * tests/Reactor_Dispatch_Order_Test.cpp: Minor compilation fixes. Wed Mar 27 15:10:27 2002 Irfan Pyarali * tests/Reactor_Dispatch_Order_Test: Added a new test to check the order of dispatching of ACE Reactors. Order should be: timeout, output, and then input. Currently, Select and WFMO Reactors are tested. The following files we updated to include the new test: - tests/Makefile - tests/Makefile.am - tests/Makefile.bor - tests/Reactor_Dispatch_Order_Test.dsp - tests/Reactor_Dispatch_Order_Test.icc - tests/icc.bat - tests/run_test.lst - tests/run_tests.bat - tests/run_tests.psosim - tests/run_tests_remote.lst - tests/tests.dsw - tests/tests.icp * ace/WFMO_Reactor.cpp (upcall): Changed the dispatch order to match the Select_Reactor's dispatch order. The order now is: FD_WRITE FD_CONNECT FD_OOB FD_READ FD_CLOSE FD_ACCEPT FD_QOS FD_GROUP_QOS Thanks to Steve Huston for pointing this out. * tests/icc.bat: Removed duplicates. Wed Mar 27 10:25:12 2002 Johnny Willemsen * ace/High_Res_Timer.{h,cpp}: Fixed a few small typing errors in comments Tue Mar 26 13:55:19 2002 Douglas C. Schmidt * ace/OS.i (operator *=): Explicitly promote sec() to double before multiplying it to prevent problems with overflow. Thanks to Eric Page for reporting this. This fixes BugId [1174]. Tue Mar 26 06:50:58 2002 Douglas C. Schmidt * ace/Synch.h (ACE_Null_Mutex): Added a dummy "lock_" variable to make ACE_Condition work properly. Thanks to Ido Yellin for reporting this. Wed Mar 21 08:11:15 2002 Boris Kolpackov * THANKS: Added Frank Rybak to the Hall of fame. Wed Mar 20 11:23:38 2002 Priyanka Gontla * ace/Service_Manager.cpp (handle_input): Moved the declaration of 'error' outside the do-while loop to fix the 'error (undeclared)' error. Wed Mar 20 09:51:47 2002 Douglas C. Schmidt * ace/Acceptor.cpp (handle_input): Updated the comments to point out that svc_handler->close() is called in accept_svc_handler() and activate_svc_handler() if a failure occurs. Thanks to Rainer Lucas for motivating this. Wed Mar 20 06:44:02 2002 Douglas C. Schmidt * ace/Service_Manager.cpp (handle_input): Fixed a bug that prevents an infinite loop. Thanks to Sandro Doro for reporting this. * include/makeinclude/platform_vxworks5.x_g++.GNU (HOST_DIR): Fixed a typo where -mlongcal should be -mlongcall. Thanks to Erik Johannes for reporting this. Wed Mar 20 14:26:12 2002 Johnny Willemsen * docs/usage-bugzilla.html: Updated the link to the Bugzilla project Tue Mar 19 15:17:25 2002 Dante J. Cannarozzi * ace/Containers_T.h: with the help of Matt Hampton updated doxygen comments for container classes with more details at the request of Steve Huston. Tue Mar 19 02:40:00 2002 Si Mong Park * ace/OS_String.h: * ace/OS_String.inl: * ace/OS_String.cpp: Corrected proper ACE_HAS_REENTRANT_FUNCTIONS macro checking location for the strtok_r_emulation functions. Debian compilation error was because ACE_HAS_REENTRANT_FUNCTIONS was not defined in the configuration. If ACE_HAS_REENTRANT_FUNCTIONS is defined, then emulation functions should not be visible. Mon Mar 19 08:32:34 2002 Boris Kolpackov * THANKS: Added Chen Jian to the Hall of fame. Sun Mar 17 18:22:12 2002 Craig Rodrigues * include/makeinclude/platform_freebsd.GNU: Copy lines from platform_linux.GNU. exceptions=1 is now the default, unless overridden by the user, just like for Linux. Sun Mar 17 11:53:12 2002 Johnny Willemsen * include/makeinclude/compiler.bor: When doing a wchar build don't automatically define UNICODE and _UNICODE. Fri Mar 15 18:08:28 2002 Steve Huston * ace/config-aix-4.x.h: Removed the optional setting of ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION for Visual Age C++ 5 without __TEMPINC__ set. This was an experiment to try and rid the build of all the "duplicate symbol" warnings, and it broke the incremental builds. Fri Mar 15 12:19:58 2002 Chad Elliott * include/makeinclude/platform_vxworks5.x_ghs.GNU: Added support for building with exceptions enabled. Fri Mar 15 05:59:45 2002 Douglas C. Schmidt * ace/SPIPE_Acceptor.cpp: Removed the ACE_ASSERT (result == FALSE) macro call. Thanks to Oleg Burlachenko for reporting this. Fri Mar 15 00:16:06 2002 Craig Rodrigues * include/makeinclude/platform_freebsd.GNU: * include/makeinclude/platform_netbsd.GNU: Make -fno-implicit-templates conditional, instead of default. Thanks to Denis Otchenashko for motivating me to look into this and fix this. Thu Mar 14 12:50:00 2002 Si Mong Park * ace/OS_String.h: * ace/OS_String.inl: * ace/OS_String.cpp: Fixed a skipping strtok_r_emulation definition when ACE_HAS_WCHAR is defined. Thu Mar 14 11:26:41 2002 Nanbor Wang * performance-tests/Misc/context_switch_time.cpp: Renamed the internally used macro, DEBUG, to ACE_DEBUG_CST to avoid clashing with the compiler defined macro. Thanks to Allan S Iverson for motivating the fix. Thu Mar 14 09:17:55 2002 Douglas C. Schmidt * ace/Strategies_T.cpp (activate_svc_handler): Added a call to destroy() the svc_handler if ACE::fork() fails. Thanks to Rainer Lucas for reporting this. * ace/Configuration.cpp (remove_section): Made the code consistent for all versions of Windows. Thanks to Jon Lambert for the fix. * examples/Service_Configurator/IPC-tests/client/remote_service_directory_test.cpp (ACE_TMAIN): Added '\n' to the end of command strings so that the client won't hang. Thanks to Marc M Adkins for this fix. Wed Mar 13 15:55:54 2002 Douglas C. Schmidt * ace/OS.h: EACCESS was misspelled! Thanks to Eric Eide for reporting this. Wed Mar 13 20:50:00 2002 Si Mong Park * ace/OS.i: Minor change to resolve signed/unsigned comparison warning. * ace/OS_String.h: * ace/OS_String.inl: * ace/OS_String.cpp: Added wide-char version of strtok_r and strtok_r_emulation. * ace/Functor.h: * ace/Functor.i: Added hash related templates for ACE_ANTI_TCHAR type when ACE_USES_WCHAR is defined. * ace/ace_dll.vcp: * ace/ace_os_dll.vcp: Added missing files. Wed Mar 13 11:57:41 2002 Steve Huston * ace/Configuration_Import_Export.cpp: Replace ACE_ASSERTs with validity checks that set errno and return -1. ACE_ASSERT is a little too drastic for a simple error, and the ACE_ASSERT check is removed altogether when building with ACE_NDEBUG. Wed Mar 13 10:36:02 2002 Craig Rodrigues * ace/config-freebsd-pthread.h: Fix test for POSIX RT signals. Thanks to Denis Otchenashko for reporting these problems. Wed Mar 13 10:21:49 2002 Steve Huston * ace/Configuration_Import_Export.cpp (ACE_Ini_ImpExp::import_config): Remove the "else value = ACE_LIB_TEXT("")" for zero-length values - value is already a zero-length string. Wed Mar 13 09:40:12 2002 Johnny Willemsen * ace/Registry_Name_Space.cpp: Fixed warnings about unused variables in BCB Unicode build Tue Mar 12 18:37:49 2002 Steve Huston * ace/Configuration_Import_Export.{h cpp} (ACE_Ini_ImpExp): Changed behavior of ACE_Ini_ImpExp::import_config() to take the entire string, with or without whitespace, without requiring quotes around the string. This puts functionality on par with regular Windows INI files. Also, on ACE_Ini_ImpExp::export_config(), don't add quotes to string values that are exported. import_config() will still read files exported previously (which have quotes around strings) but when re-exported, the quotes will not be added. Tue Mar 12 17:43:32 2002 Balachandran Natarajan * ace/CDR_Base.cpp (consolidate): If the incoming message block does not have a chain of message blocks, there is no need to do a deep copy, a refcount increment on the incoming datablock would do. Thanks to Lothar Werzinger for the patches. Tue Mar 12 15:32:46 2002 Balachandran Natarajan * PROBLEM-REPORT-FORM (Subject): Added a request for the version of winsock on Windows based OS's. Tue Mar 12 15:22:29 2002 Balachandran Natarajan * ace/OS.i (sendv): When using winsock1, we transfer data by sending one iovec at a time. If transfer of a buffer isnt complete because the socket buffers got full, we need to drop out of the loop that sends data. Thanks to Stephan Gudmundson for providing this patch. * THANKS: Added Stephan Gudmundson to the Hall of fame. Mon Feb 25 14:06:45 2002 Chad Elliott * ace/config-hpux-11.00.h: Do not define __HP_aCC if using KCC. * include/makeinclude/platform_hpux_kcc.GNU: Add the --one-instantiation-per-object parameter to avoid build problems with KCC. * tests/Dirent_Test.cpp: Modify this test to work with Chorus (as it does with VxWorks). * ace/config-aix-4.x.h: Defined ACE_HAS_USING_KEYWORD for AIX 4.x with Visual Age 5 or later. This change came from Yan Dai Tue Mar 12 11:53:53 2002 Chad Elliott * bin/perltest2cpp.pl: Corrected the code for array assignments. * bin/vxworks_modify.pl: Use ACE_ENV_* instead of TAO_ENV_*. Tue Mar 12 10:45:00 2002 Justin Michel * ace/OS.i: Added call to ACE_OS::set_errno_to_last_error() in two places where Winsock WSARecvFrom or WSASendTo were called. Tue Mar 12 09:06:00 2002 Si Mong Park * etc/Svc_Conf_l.cpp.diff: Incorrect file had been checked in on prior commit. This is the correct file. * tests/Config_Test.cpp: Fixed incorrect delete statement. Tue Mar 12 08:54:00 2002 Si Mong Park * etc/Svc_Conf_l.cpp.diff: Fixed CR/LF (DOS format) problem: no content changed. Tue Mar 12 13:52:12 2002 Johnny Willemsen * THANKS : Added Oleg Kraynov Mon Mar 11 21:05:26 2002 Krishnakumar B * ACEXML/parser/parser/Parser.cpp (parse): Added comment on the order of processing that should be done by the parser. Mon Mar 11 20:21:38 2002 Steve Huston * ace/config-all.h: Fixed ACE_NEW section to work with HP-UX 10.20, aC++ A.01.27 with -AA option. Mon Mar 11 18:48:41 2002 Steve Huston * examples/C++NPv1/Logging_Client.cpp: Added a compile-time check for Win32 to be sure ACE_HAS_STANDARD_CPP_LIBRARY is set, else trying to use the new getline() method with an old cin won't work. Mon Mar 11 17:43:00 2002 Si Mong Park * ace/Svc_Conf_l.cpp: Minor comment change to make diff file. * etc/Svc_Conf_l.cpp.diff: Updated diff file for Svc_Conf_l.cpp. Mon Mar 11 16:59:42 2002 Steve Huston * tests/TP_Reactor_Test.h (new file): * tests/TP_Reactor_Test.cpp: Moved declarations for Receiver, Acceptor, Sender, and Connector classes to the new file TP_Reactor_Test.h so Visual Age C++ can find them when instantiating templates. Mon Mar 11 16:38:49 2002 Steve Huston * tests/Reactor_Notify_Test.cpp: Added missing #include "ace/Reactor.h" to fix Visual Age C++ compile error. Mon Mar 11 16:27:59 2002 Steve Huston * examples/C++NPv1/RT_Thread_Per_Connection_Logging_Server.cpp: Added missing #include "ace/Auto_Ptr.h" to fix compile problem for platforms w/o native auto_ptr (like MSVC). Mon Mar 11 14:23:00 2002 Si Mong Park * tests/Config_Test.cpp: Removed one of the delete statement that deletes twice and thus causing an invalid access violation. Mon Mar 11 10:28:45 2002 Chad Elliott * bin/vxworks_modify.pl: Update this script to work correctly with the new CORBA Environment style. Mon Mar 11 12:17:12 2002 Johnny Willemsen * include/makeinclude/build_dll.bor: * include/makeinclude/build_exe.bor: * include/makeinclude/build_lib.bor: * include/makeinclude/compiler.bor: * include/makeinclude/decorator.bor: * include/makeinclude/make_flags.bor: * include/makeinclude/outputdir.bor: Added support for a real unicode build with BCB builder. A real unicode build can for example be done with: make -f makefile.bor -DUNICODE Doing a real unicode build means that the defines ACE_USES_WCHAR, UNICODE and _UNICODE are set, diffent BCB object files are used to link with and the compiler gets the extra compiler option -WU. The dll names have a 'u' added so that unicode dll's are separated from the non-unicode dll's. Also the output files are build in a separate subdirectory. * ACE-INSTALL.html: Explained the BCB make options that can be used with ACE Mon Mar 11 11:35:12 2002 Johnny Willemsen * ace/Registry_Name_Space.cpp: Changed ACE_USHORT16 to ACE_WSTRING_TYPE because the underlying type of ACE_WString is ACE_USHORT16 with MSVC and with BCB it is wchar_t. The define ACE_WSTRING_TYPE hides these differences. When UNICODE and ACE_USES_WCHAR are defined BCB gave a compile error. Sun Mar 10 18:53:48 2002 Si Mong Park * ace/Svc_Conf_l.cpp: Commented out 'break' line to resolve unreachable statement warning. Sun Mar 10 05:54:30 2002 Balachandran Natarajan * THANKS : Added Val Dumitrescu to the Hal of Fame. * bin/auto_run_tests.lst: Added a new test to the daily builds. Sat Mar 9 21:22:51 2002 Balachandran Natarajan * ace/CDR_Stream.cpp: * ace/CDR_Stream.i: * ace/CDR_Stream.h: Added accessor methods for GIOP versions of Input and Output CDR streams. Sat Mar 9 07:52:45 2002 Douglas C. Schmidt * ace/SPIPE_Addr.cpp (set): Changed a strcpy() to a strcat() to fix the code. Thanks to Robert Laferriere for reporting this. Fri Mar 8 22:29:36 2002 Si Mong Park * ace/Argv_Type_Converter.cpp: * ace/Argv_Type_Converter.h: * ace/Argv_Type_Converter.inl: new class to convert command line parameter type between char and wchar_t. * ace/Basic_Types.h: Set the endian type to 'little endian' for ARM processor - Pocket PC 2002 platform. * ace/Log_Record.cpp: * ace/Log_Record.h: Removed print method that uses ACE_CE_Bridge since CE_Bridge is no longer supported by ACE CE port. * ace/ace_dll.dsp: * ace/ace_lib.dsp: Added Argv_Type_Converter class to the project. * ace/WFMO_Reactor.cpp: * ace/WFMO_Reactor.h: * ace/WFMO_Reactor.i: Updated to support WinCE. * ace/Process.cpp: Fixed incorrect call to CreateProcess for WinCE. * ace/config-WinCE.h: Updated for WinCE Pocket PC 2002. * ace/ace.vcw: * ace/ace_dll.vcp: * ace/ace_os_dll.vcp: New ACE project file for WinCE Pocket PC 2002 build on eMbedded Visual C++ 3.0. * ace/Makefile: * ace/Makefile.am: * ace/Makefile.bor: Added Argv_Type_Converter file. * ace/Configuration.cpp: * ace/Memory_Pool.cpp: Updated for the WinCE port. * ace/Read_Buffer.cpp: * ace/Read_Buffer.h: Disabled Ctor with ACE_HANDLE on WinCE since ACE_HANDLE is same as FILE* on WinCE. * ace/OS.cpp: * ace/OS.h: * ace/OS.i: Updated for WinCE port. Changes includes removal of CE Bridge added CE argv process class, enabled many file IO functions that formerly disabled on CE, bypassing QoS parts for CE, and other CE specific declarations. * ace/Dynamic_Service.h: * ace/Dynamic_Service.i: Added 'instance' method uses ACE_ANTI_TCHAR type name for when ACE_TCHAR is wchar_t. * ace/CE_Screen_Output.cpp: * ace/CE_Screen_Output.h: screen output helper class only for WinCE platform - should not be used on any other platform. * ace/OS_Memory.h: * ace/OS_String.h: Changed to skip including stddef.h for WinCE. * ace/MEM_Acceptor.h: * ace/MEM_Acceptor.i: * ace/SOCK_Acceptor.cpp: * ace/SOCK_Acceptor.h: * ace/SOCK_Connector.cpp: * ace/SOCK_Connector.h: * ace/SOCK_Dgram_Mcast.h: Updated to skip QoS part on WinCE. * ace/Svc_Conf.l: * ace/Svc_Conf_l.cpp: Fixed a problem giving a parse error on reading carriage return token on Unicode formatted svc conf file. * ace/Registry.cpp: Changed connect function for WinCE to return -1 because CE does not allow direct registry connection. * ace/Sock_Connect.cpp: Changed to use Iphlpapi library (standard on WinCE) on WinCE to find IP address instead of searching registry since CE has so many variations on registry settings. * ace/Log_Msg.cpp: Minor change for WinCE on stderr. Fri Mar 8 19:45:31 2002 Steve Huston * examples/C++NPv1/Thread_Per_Connection_Logging_Server.cpp: * examples/C++NPv1/RT_Thread_Per_Connection_Logging_Server.cpp: Use auto_ptr<> to manage dynamically-allocated Thread_Args. Thanks to Chris Uzdavinis for this suggestion. Thu Mar 7 16:10:02 2002 Douglas C. Schmidt * include/makeincludes/platform_linux_icc.GNU, * ace/config-icc-common.h, * ace/config-linux-common.h: Added support for the Intel C++ compiler (icc). Thanks to Roger Tragins for contributing this. Thu Mar 7 11:17:12 2002 Johnny Willemsen * tests/RMCast/RMCast_Fragment_Test.cpp: * tests/RMCast/RMCast_Membership_Test.cpp: * tests/RMCast/RMCast_Reassembly_Test.cpp: * tests/RMCast/RMCast_Reordering_Test.cpp: * tests/RMCast/RMCast_Retransmission_Test.cpp: * tests/RMCast/RMCast_UDP_Best_Effort_Test.cpp: * tests/SSL/Thread_Pool_Reactor_SSL_Test.cpp: Replaced main with ACE_TMAIN. Wed Mar 6 21:48:15 2002 Krishnakumar B * include/makeinclude/platform_linux_kcc.GNU (CCFLAGS): Moved --one_instantiation_per_object flag as a common flag. Otherwise building with debugging enabled doesn't work with libraries built without debug information. Wed Mar 6 21:42:37 2002 Krishnakumar B * bin/ace-install: Make sure that the .inl files are also installed. Thanks to Carsten Prescher for reporting this. Wed Mar 6 18:30:49 2002 Steve Huston * examples/C++NPv1/Thread_Per_Connection_Logging_Server.h: Reimplemented the Logging_Server::run method. Because the handle_connections() method spawns a new thread to run the logging session, and it calls handle_data(), the call to handle_data() from Logging_Server::run() is incorrect. Thanks to Raghuram Shetty for reporting this issue. * examples/C++NPv1/Reactive_Logging_Server.h: Fix wait_for_multiple_events() to correctly check error return from select(). Also, in handle_connections(), sync the code with the book to clear acceptor handles from the active_handles_ after accepting all ready connections. * examples/C++NPv1/Reactive_Logging_Server_Ex.h (handle_connections): Clear acceptor's handle from active_read_handles_ to keep from dispatching it as a data handle. See, this is why you should use the Reactor framework - so be sure to buy vol 2 ;-) * THANKS: Added Raghuram Shetty to the Hall of Fame. Wed Mar 06 17:06:43 2002 Nanbor Wang * tests/Cached_Accept_Conn_Test.cpp: * tests/Cached_Conn_Test.cpp: Replaced main with ACE_TMAIN. Wed Mar 6 14:43:34 2002 Nanbor Wang * ace/OS.h: Reverted my previous "fix" to the argv argument type. Mon Jan 21 23:27:03 2002 Nanbor Wang A program entry poing main can take any of the three forms: int main (int argc, char *argv[]) int wmain (int argc, wchar_t *argv[]) int ACE_TMAIN (int argc, ACE_TCHAR *argv[]) Of them, the entry point main always gives you the command line arguemnt in char strings form. The entry point wmain currently can only be used under Win32 and it returns the command line arguments in wchar strings format. Defining the ACE_TMAIN as the program entry point is the more portable form. The command line arguments are given in char strings in most cases, or wchar strings when ACE_USES_WCHAR is defined. See $ACE_ROOT/docs/wchar.txt for more information on ACE support on wchar. * docs/ACE-guidelines.html: Added a new guideline explaining which main entry point to use, as above. * bin/main2TMAIN.pl: Script to replace entry points of the form main (int, ACE_TCHAR *[]) to ACE_TMAIN (int, ACE_TCHAR *[]) * *.cpp: Changed to use the new ACE_TMAIN. Tue Mar 06 14:30:12 2002 Johnny Willemsen * tests/MEM_Stream_Test.cpp: Fixed the shutdown of this test. When _TEST_USES_THREADS is defined we must do a wait() on the thread manager, else on the process manager. Tue Mar 05 20:34:22 2002 Ossama Othman * ace/OS_Thread_Adapter.cpp (invoke): * ace/Thread_Adapter.cpp (invoke_i): Fixed "jump out of __finally block" warning emanating from MSVC 7. Tue Mar 05 15:46:15 2002 Nanbor Wang * ace/Memory_Pool.h: * ace/Memory_Pool.i: Added a base_addr () method for all memroy pool classes. For memory pools that don't have a base_addr and will never remap the pool to a different area, this method always return 0. * ace/Malloc_T.cpp: Reset this->cb_ptr_ after acquiring new memory to memory_pool's base_addr (if base_addr != 0). This makes sure the cb_ptr_ points to the right memory after a remap. Thanks to Ariel Peltz for pointing this out. Tue Mar 5 12:20:26 2002 Ossama Othman * ace/INET_Addr.cpp (get_host_name_i, set): h_errno -> h_error. h_errno conflicts with a declaration in Microsoft's Winsock headers. Thanks to Nanbor for pointing out the problem. Tue Mar 05 09:26:46 2002 Ossama Othman * ace/INET_Addr.cpp (get_host_name_i, set): Do not clobber errno with the h_errno value returned from gethostbyaddr_r(). They are two distinct types of errors. Renamed "error" to "h_errno" where appropriate to make it more obvious that errno should not be set to the value of h_errno. Thanks to Felix Wyss for reporting this. Tue Mar 5 05:51:44 2002 Douglas C. Schmidt * ace/Process.cpp (spawn): If fork()/exec() fail, call ACE_OS::_exit() rather than ACE_OS::exit() to avoid destructors being called that will yield hang problems. Thanks to Renjie Tang , Max V. Zinal , and Michael Hornok for this suggestion. This fixes BugID 1147. Tue Mar 5 12:24:12 2002 Johnny Willemsen * ace/Auto_IncDec_T.h: Corrected typing error in comment Mon Mar 4 19:59:31 2002 Steve Huston * tests/Process_Strategy_Test.h: Added #include "ace/Strategies_T.h" so Visual Age C++ can find ACE_Process_Strategy when instantiating templates. Mon Mar 4 19:52:27 2002 Steve Huston * tests/Message_Queue_Test_Ex.h (new file): * tests/Message_Queue_Test_Ex.cpp: Moved declaration of User_Class to .h file so Visual Age C++ can find it when instantiating templates. Mon Mar 4 19:43:51 2002 Steve Huston * tests/Framework_Component_Test.h (new file): * tests/Framework_Component_Test.cpp: Moved declaration of My_Singleton to .h file so Visual Age C++ can find it when instantiating templates. Mon Mar 04 11:20:45 2002 Carlos O'Ryan * ace/Copy_Disabled.h: * ace/Copy_Disabled.cpp: Add new helper class to disable copy constructors and assignment operators. I simply got sick of writing this repetitive code: // private & undefined Foo (const Foo &); Foo &operator= (const Foo&); The new class makes life *much* easier, simply say: class Foo : private ACE_Copy_Disabled Isn't that cool? * ace/Makefile: * ace/Makefile.am: * ace/Makefile.bor: * ace/ace_dll.dsp: * ace/ace_lib.dsp: Add new file to the project files and Makefiles. Mon Mar 4 07:36:12 2002 Johnny Willemsen * tests/Token_Strategy_Test.cpp: Fixed MSVC6 unicode build errors. Sun Mar 3 15:56:23 2002 Craig Rodrigues * tests/Token_Strategy_Test.cpp: Add template instantiations for ACE_Array, ACE_Array_Base, ACE_Array_Iterator. Sun Mar 3 16:23:12 2002 Johnny Willemsen * tests/Token_Strategy_Test.cpp: Fixed MSVC6 unicode build errors. Sun Mar 3 11:00:12 2002 Johnny Willemsen * tests/Token_Strategy_Test.dsp: Added MSVC project for this test * tests/Token_Strategy_Test.cpp: Corrected small typing errors in comment * tests/tests.dsw: Added new Token_Strategy_Test.dsp Sat Mar 2 09:17:45 2002 Douglas C. Schmidt * ace/INET_Addr.cpp (set): Change errno = EINVAL to errno = error if the call to ACE_OS::gethostbyname_r() fails since errno should already have been set! Thanks to Felix Wyss for reporting this. Fri Mar 01 08:03:12 2002 Johnny Willemsen * ace/Makefile.bor: Added Swap.cpp to the list of installable files * ace/SSL/SSL_Context.cpp: Added ACE_TEXT_CHAR_TO_TCHAR around first argument of ACE_OS::fopen call to convert char to ACE_TCHAR to fix compile errors in unicode build * include/makeinclude/ace_flags.bor: Corrected typing error for new tao messaging library Wed Feb 27 13:50:20 2002 Jaiganesh Balasubramanian * ace/INET_Addr.cpp: Pull back changes from last night. Wed Feb 27 06:00:37 2002 Douglas C. Schmidt * ace/Synch.h: Clarified that ACE_Auto_Event, ACE_Manual_Event, and ACE_Event all support process-scope locking, but only Win32 supports global naming and system-scope locking. Thanks to Kobi Cohen Arazi for motivating this change. Wed Feb 27 09:24:30 2002 Carlos O'Ryan * include/makeinclude/platform_linux.GNU: Pull back Jai's change from last night. It looks like an accident to me, and it is breaking all the builds. Wed Feb 27 12:09:12 2002 Johnny Willemsen * ACE-INSTALL.html: Added description about setting environment variable BCBVER to the Borland building instructions Wed Feb 27 10:47:12 2002 Johnny Willemsen * include/makeinclude/ace_flags.bor: Added lines for new TAO_Messaging library Wed Feb 27 01:12:32 2002 Carlos O'Ryan * ace/Swap.h: * ace/Swap.inl: * ace/Swap.cpp: Add helper template to swap variables, very useful when implementing exception neutral/safe classes. Wed Feb 26 00:38:50 2002 UTC Don Hinton * ace/Select_Reactor_Base.h: * ace/Select_Reactor.cpp: * ace/Select_Reactor_T.cpp: Removed ACE_SELECT_REACTOR_HAS_DEADLOCK_DETECTION since it isn't used. Tue Feb 26 22:54:50 2002 UTC Don Hinton * ace/Synch.i (ACE_Noop_Token::queueing_strategy): Removed ACE_UNUSED_ARG and commented out the parameter instead. Thanks to Ossama and Craig for pointing this out. Tue Feb 26 16:17:45 2002 Nanbor Wang * ace/Thread_Manager.h (ACE_Thread_Manager): Fixed a typo in doxygen document tag. Thanks to Brad Hoskins for reporting this. Tue Feb 26 10:22:39 2002 Steve Huston * include/makeinclude/platform_sunos5_sunc++.GNU: Added the ability to enable RTTI in the compat=4 case. Removed the explicit inclusion of an installation-specific path to -L for compat=4. Installation-specific adidtions/changes should go in the installation's platform_macros.GNU file. Tue Feb 26 09:48:24 2002 Craig Rodrigues * apps/drwho/Protocol_Manager.cpp: Replace #include "new.h" with #include "ace/config.h" to eliminate gcc 3.1 warning about deprecated header. Tue Feb 25 10:16:12 2002 Johnny Willemsen * tests/Token_Strategy_Test.cpp: Fixed unicode compile error Mon Feb 25 19:30:54 2002 Steve Huston * tests/Collection_Test.cpp: Moved the declaration of UglyThing to a new file, Collection_Test.h. Visual Age C++ needs it in a separate file to do auto template instantiation. * tests/Collection_Test.h: New file. Mon Feb 25 19:27:41 2002 Steve Huston * ace/Log_Msg.cpp (log): In handling for %t, fixed the feature test that changes behavior for AIX 4.2 and earlier. This section missed my long-time-ago change to the AIX OS version constants, and ended up being used for all AIX versions which is wrong. Thanks to Yan Dai for reporting this problem. * THANKS: Added Yan Dai to the Hall of Fame. Mon Feb 25 19:16:12 2002 Johnny Willemsen * docs/tutorials/007/thread_pool.{h|cpp}: * docs/tutorials/007/page07.html: * docs/tutorials/007/page08.html: * docs/tutorials/013/mld.h: * docs/tutorials/013/page03.html: * docs/tutorials/017/Barrier_i.h: * docs/tutorials/017/page03.html: * docs/tutorials/018/page03.html: Added missing include of 'ace/Atomic_Op.h' Mon Feb 25 18:51:37 2002 Johnny Willemsen * tests/Makefile.bor: Added new Token_Strategy_Test * tests/Token_Strategy_Test.cpp: Fixed small compile error that appeared with the BCB compiler Mon Feb 25 17:17:37 2002 UTC Don Hinton * ace/Select_Reactor.h: * ace/Select_Reactor_Base.h: * ace/Select_Reactor_T.h: Added a new typedef, ACE_SELECT_TOKEN, to Select_Reactor_Base.h so that the choice of TOKEN type can be made prior to typedefing the class. This allows the use of the TOKEN type within the paramaterized class, i.e., ACE_Select_Reactor_Token_T and ACE_Select_Reactor_T. Otherwise you get an error on some compilers, e.g., M$VC, that complain about generic types. Mon Feb 25 15:53:56 2002 UTC Don Hinton * ace/Synch.i (queueing_strategy): Added ACE_UNUSED_ARG for unused queueing_strategy parameter, thanks to Craig Rodrigues for pointing this out. Mon Feb 25 09:17:39 2002 Chris Cleeland * ace/SSL/SSL_Context.cpp (dh_params): Wrapped the second argument to ACE_OS::fopen with ACE_TEXT so that it behaves properly on wide character platforms. Thanks to Craig Rodrigues for pointing this out and Ossama Othman for explaining the difference btw. ACE_TEXT and ACE_LIB_TEXT. Mon Feb 25 13:50:43 2002 UTC Don Hinton * ace/Token.{h|i|cpp}: Added the ability to chose the queueing strategy, FIFO or LIFO, by using the queueing_strategy() methods. The default is FIFO, which was the previous behavior. Now ACE_Token_Queue::insert_entry() is always called with the queueing_strategy in order to determine where the thread should requeue itself. * ace/Synch.{h|i}: Added queueing strategy methods to ACE_Noop_Token. * ace/Select_Reactor_T.{h|cpp}: * ace/TP_Reactor.{h|cpp}: Added QUEUEING_STRATEGY parameter to ACE_Select_Reactor_Token_T, ACE_Select_Reactor_T, and ACE_TP_Reactor ctors with FIFO default. * tests/Token_Strategy_Test.cpp : * tests/Makefile : * tests/run_test.lst: Added new Token_Strategy_Test.cpp to test the FIFO/LIFO strategies. Mon Feb 25 13:44:12 2002 Johnny Willemsen * docs/tutorials/018/Test_T.h: Added missing include of Atomic_Op.h Fri Feb 22 15:54:32 2002 Craig Rodrigues * ace/Refcounted_Auto_Ptr.h: Fix comment, thanks to Serge Kolgan . Fri Feb 22 09:31:35 2002 Craig Rodrigues * ace/QoS/QoS_Session_Factory.h (ACE_QoS_Session_Type): Change "const static" to "static const" to remove gcc 3.1 warning. Fri Feb 22 08:07:12 2002 Johnny Willemsen * ace/Makefile.bor: Added String_Base.cpp and Atomic_op.cpp to the list of files that must be installed when doing a make install. Thanks to Cyrille Ch�p�lov for reporting that these files missed. Thu Feb 21 16:33:11 2002 Douglas C. Schmidt * docs/tutorials/007: Rename Thread_Pool::open() to Thread_Pool::start() and Thread_Pool::close() to Thread_Pool::stop() and fixed all the usages. Also removed the unneeded parameter from stop() and removed the unneeded re-definition of close() (since we are not shadowing it any more). Thanks to Peter Heitman for reporting this. Thu Feb 21 13:12:44 2002 Chris Cleeland * ace/SSL/SSL_Context.* (ACE_SSL_Context): Added new methods to specify Diffie-Hellman parameters. These parameters are required when using DSA certificates/keys. The new methods are dh_params, dh_params_file_name, and dh_params_file_type. Thu Feb 21 09:32:56 2002 Douglas C. Schmidt * ace/TTY_IO.cpp (control): Use the appropriate B* macros to set all the baudrate cases. Thanks to Olli Savia for contributing this. * ace/Signal.cpp (dispatch): Added a cast of (ACE_SignalHandler) to the SIG_DFL parameter so things will work on IRIX 6.5 with GCC 3.0.1. Thanks to Dan Green for reporting this. Thu Feb 21 13:09:13 2002 Craig Rodrigues * ace/streams.h: strstream was deprecated in the 1998 ISO C++ standard [D.7 depr.str.strstreams], and has been replaced by sstream. Including or causes annoying warnings with gcc 3.1. Since strstream and sstream are not used internally within ACE or TAO, remove includes for strstream, and let the developer include them in their own code. Wed Feb 20 15:26:43 2002 Phil Mesnier * apps/soreduce/Library.cpp: * apps/soreduce/Library.h: * apps/soreduce/Makefile: * apps/soreduce/Obj_Module.cpp: * apps/soreduce/Obj_Module.h: * apps/soreduce/README: * apps/soreduce/SO_Group.cpp: * apps/soreduce/SO_Group.h: * apps/soreduce/Sig_List.cpp: * apps/soreduce/Sig_List.h: * apps/soreduce/Signature.cpp: * apps/soreduce/Signature.h: * apps/soreduce/soreduce.cpp: New application to assist in production of reduced footprint shared libraries for specific collections of applications. For more details see the enclosed README. Wed Feb 20 14:18:14 2002 Phil Mesnier * ace/Process.cpp: * ace/Process.h: Added a new method ACE_Process_Options::release_handles() to fix the trouble of using a pipe as stdout, where the pipe closes completely when the child terminates. This method replaces some functionality in the Process options destructor. Wed Feb 20 13:01:25 2002 Douglas C. Schmidt * ace/Atomic_Op.i: Fix the return value of the ACE_GUARD_RETURN macros so that if the lock fails, the comparison also fails. Thanks to Ivan Pia for reporting this. Wed Feb 20 17:00:34 2002 Balachandran Natarajan * include/makeinclude/platform_sunos5_sunc++.GNU: Users who use 5.2 and above could use native exceptions with inlining turned on. Thanks to Ken O'Brien for reporting this problem. * THANKS: Added Ken O'Brien to the hall of fame. Mon Feb 18 23:17:08 2002 Christopher Kohlhoff * ACEXML/parser/parser/Makefile.bor: Changed library name for the Borland build to be consistent with the UNIX build. * include/makeinclude/ace_flags.bor: Added macros for the ACEXML Parser library. * ACEXML/examples/Makefile.bor: * ACEXML/examples/SAXPrint/Makefile.bor: Added Borland makefiles for the SAXPrint example. Mon Feb 18 20:16:27 2002 Douglas C. Schmidt * ace/Acceptor.cpp (make_svc_handler): * ace/Connector.cpp (make_svc_handler): There doesn't seem to be anypoint in *conditionally* assigning the Acceptor/Connector's reactor to the Svc_Handler, so we'll just assign it... Mon Feb 18 18:41:33 2002 Steve Huston Integrated the following from the ACE 5.2 stream: Wed Feb 13 15:37:41 2002 Steve Huston * ace/Hash_Cache_Map_Manager_T.h: Added #include "ace/Synch.h" to pick up ACE_Null_Mutex. * tests/Process_Manager_Test.cpp: Added #include "ace/Thread.h" to pick up ACE_Thread::self (). * tests/Refcounted_Auto_Ptr_Test.h (new file): * tests/Refcounted_Auto_Ptr_Test.cpp: Moved definition of Printer from .cpp to .h so Visual Age C++ can find it when instantiating templates. Also removes the compile warning where the compiler warns that the test won't work... Tue Feb 12 21:59:42 2002 Steve Huston * include/makeinclude/platform_aix_ibm.GNU: Added -qstaticinline to CCFLAGS to tell compiler to generate inlined functions with static scope instead of extern scope (how stupid is this?). Removed error suppression options which should be unnecessary now. Sat Feb 9 18:34:59 2002 Steve Huston * examples/C++NPv1/Reactive_Logging_Server_Ex.h: Removed an extra master_handle_set_.set_bit call. Thanks to Craig Perras for reporting this. Sat Feb 9 13:49:44 2002 Steve Huston * ace/Hash_Map_With_Allocator_T.h: Added #include "ace/Synch.h" to see the definition of ACE_Null_Mutex. * ace/config-all.h (ACE_RCSID): Make generated function static to keep Visual Age C++ from complaining about the multiple definitions. Fri Feb 8 16:20:51 2002 Steve Huston * ace/config-aix-4.x.h: Removed #define ACE_TEMPLATES_REQUIRE_SOURCE for Visual Age C++ 5. As it turns out, wherever the compiler sees source and a template is referenced, it generates the template class functions used. This is very bad for size as well as for situations counting on only one such as ACE_Singleton. Also added support for explicit template instantiation with Visual Age C++. If the preprocessor define __TEMPINC__ is not defined, explicit instantiation is turned on. Mon Feb 4 17:21:39 2002 Steve Huston * ace/Singleton.h (ACE_TSS_Singleton): Added ACE_UNIMPLEMENTED_FUNCS for assignment and copy ctor methods. This is necessary to allow the *_SINGLETON_DECLARE macro, that explicitly instantiates a template class on Win32, to compile clean when instantiating an ACE_TSS_Singleton class. Thanks very much to Nanbor Wang for direction on solving this problem. * ace/config-win32-msvc-6.h: Added ACE_NEEDS_FUNC_DEFINITIONS. This avoids warnings when explicitly instantiating an entire class, as with ACE_TSS_Singleton and *_SINGLETON_DECLARE, above. Mon Feb 18 18:23:49 2002 Steve Huston * ace/Reactor.h: Clarified behavior with respect to remaining queued notifications when end_reactor_event_loop() is called or when the reactor instance is closed/deleted. Mon Feb 18 19:28:12 2002 Johnny Willemsen * ace/README: * ace/Proactor.cpp: * ace/SString.h: * ace/Task_T.h: * ace/Timer_Queue_Adapters.h: * ace/config-win32-msvc-7.h: * netsvcs/lib/Client_Logging_Handler.h: * netsvcs/lib/Name_Handler.h: * netsvcs/lib/TS_Clerk_Handler.h: * netsvcs/lib/TS_Server_Handler.h: Made ACE compiling with the Microsoft Visual C++ 7 compiler. Template classes cannot be exported when doing a dynamic build, so removed some export macro's from template definitions. When a class is derived from a class template then the class template must be explicit instantiated and be exported. To make sure that we only do this when a compiler supports this we introduced the new define ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION_EXPORT. Also vc++ 7 generates now a warning when a class is exported is derived from a class that is not exported. The following info was given by Microsoft on this: The reason that a template can't be exported anymore is that it is unlikely that anyone wants to export all specializations of a class template. When B is a template and D is a class, the construction 'class ACE_Export D : public B' should give no problems, but unfornately there is a bug in the vc++ compiler. That's why we now explicit export the template instantations in ace. Mon Feb 18 11:00:17 2002 Nanbor Wang * html/index.html: Added an entry for ACEXML document. * ace/OS.h: Removed the extern "C" link designator from the typedef of ACE_Service_Object_Exterminator and the definition of gobbler functions in ACE_FACTORY_DEFINE. They are not used outside of a DLL so it's okay to have a mangled gobbler name. Thanks to Doug for noticing this. Mon Feb 18 11:12:39 2002 Steve Huston * ace/Refcounted_Auto_Ptr.h: Improved Doxygenation of some comments. Mon Feb 18 10:45:00 2002 Craig Rodrigues * ace/QoS/QoS_Session_Factory.h: Add new constant ACE_QoS_Session_Factory::ACE_DEFAULT_QOS_SESSION. Give ACE_QoS_Session_Factory::create_session() a default argument of ACE_DEFAULT_QOS_SESSION. * ace/QoS/QoS_Session_Factory.cpp: Set the value of ACE_DEFAULT_QOS_SESSION to ACE_RAPI_SESSION on platforms with RAPI RSVP support. Set it to ACE_GQOS_SESSION on Win32 platforms with GQoS support. Otherwise, issue a compilation error, since these are the only two QoS types supported currently. * examples/QOS/Change_Receiver_FlowSpec/receiver.cpp: * examples/QOS/Change_Receiver_FlowSpec/sender.cpp: * examples/QOS/Change_Sender_TSpec/receiver.cpp: * examples/QOS/Change_Sender_TSpec/sender.cpp: * examples/QOS/Simple/receiver.cpp: * examples/QOS/Simple/sender.cpp: Remove reference to ACE_RAPI_SESSION from invocations of create_session(), leave it empty and choose default argument instead. This will allow the examples to compile and run on Win32. Mon Feb 18 08:07:59 2002 Douglas C. Schmidt * ace/String_Base.{h,i}: Added two new overloaded operators that work on characters. Thanks to Martin Krumpolec for contributing these patches. Mon Feb 18 13:05:12 2002 Johnny Willemsen * ace/config-all.h: Added ACE_NEW_NORETURN macro. This macro is the same as ACE_NEW but doesn't do a return when an out of memory error occured so that the caller can do extra handling. * tests/New_fail_test.cpp: Extended this test to test the new ACE_NEW_NORETURN macro. Mon Feb 18 01:45:07 2002 Christopher Kohlhoff * include/makeinclude/compiler.bor: * include/makeinclude/make_flags.bor: Added support for Borland C++Builder 6. Sun Feb 17 16:32:01 2002 Venkita * ACE version 5.2.2 released. Sun Feb 17 16:03:03 2002 Nanbor Wang * etc/acexml.doxygen: Fixed the output directory name for ACEXML. Fri Feb 15 10:50:26 2002 Venkita Subramonian * ace/Dynamic_Service.h: Fixed compile error. Added forward declaration for ACE_Service_Object. Thu Feb 14 19:10:04 2002 Douglas C. Schmidt * ace/Refcounted_Auto_Ptr.h: Make the rep_ protected rather than private. Rodney Morris for motivating this. Thu Feb 14 15:26:06 2002 Douglas C. Schmidt * ace/Dynamic_Service.i (instance): Fixed instance to use an ACE_dynamic_cast() so that the vptr is set correctly. Thanks to Bill Dyer for suggesting this. Thu Feb 14 16:15:50 2002 Balachandran Natarajan * COPYING: Updated copyright years. Thu Feb 14 11:25:39 2002 Nanbor Wang * ACEXML/docs/bugs.txt: * ACEXML/docs/guidelines.txt: Updated document. Thu Feb 14 08:17:40 2002 Douglas C. Schmidt * ace/config-all.h: There was a subtle difference between the ACE_NEW based on try/catch and a 0 pointer. The version based on the fact that new can return 0 always sets the pointer to 0 when a memory error occured. The version that is based on try/catch the pointer wasn't set to 0. If the pointer had a different value, the pointer stays at the old value and wasn't set to 0. This is now fixed. Thanks to Peter van Merkerk for noticing this and to Johnny Willemsen for reporting it. * ace/Strategies_T.h: * ace/Strategies_T.i: Allow the reactor of the Svc Handler to be set to the reactor passed to the Creation Strategy. Thanks to David Smith for motivating this. Thu Feb 14 01:14:40 2002 Nanbor Wang * include/makeinclude/ace_flags.bor: Updated ACE_XML_CFLAGS. Thanks to Johnny Willemsen for reminding this. Thu Feb 14 01:01:10 2002 Nanbor Wang * ACEXML/ACEXML.dsw: * ACEXML/common/XML_Common.dsp: * ACEXML/examples/SAXPrint/SAXPrint.dsp: * ACEXML/parser/debug_validator/Debug_Validator.dsp: * ACEXML/parser/parser/Parser.dsp: * ACEXML/tests/NamespaceSupport_Test.dsp: * ACEXML/tests/Transcoder_Test.dsp: Updated base include directories. Thu Feb 14 00:20:39 2002 Nanbor Wang * Makefile: * Makefile.bor: * ACEXML/common/Attributes.h: * ACEXML/common/AttributesImpl.cpp: * ACEXML/common/AttributesImpl.h: * ACEXML/common/Attributes_Def_Builder.cpp: * ACEXML/common/Attributes_Def_Builder.h: * ACEXML/common/CharStream.cpp: * ACEXML/common/CharStream.h: * ACEXML/common/ContentHandler.h: * ACEXML/common/DTDHandler.h: * ACEXML/common/DTD_Manager.cpp: * ACEXML/common/DTD_Manager.h: * ACEXML/common/DefaultHandler.cpp: * ACEXML/common/DefaultHandler.h: * ACEXML/common/Element_Def_Builder.cpp: * ACEXML/common/Element_Def_Builder.h: * ACEXML/common/EntityResolver.h: * ACEXML/common/Env.cpp: * ACEXML/common/Env.h: * ACEXML/common/ErrorHandler.h: * ACEXML/common/Exception.cpp: * ACEXML/common/Exception.h: * ACEXML/common/FileCharStream.cpp: * ACEXML/common/FileCharStream.h: * ACEXML/common/InputSource.cpp: * ACEXML/common/InputSource.h: * ACEXML/common/Locator.h: * ACEXML/common/LocatorImpl.cpp: * ACEXML/common/LocatorImpl.h: * ACEXML/common/Makefile: * ACEXML/common/NamespaceSupport.cpp: * ACEXML/common/NamespaceSupport.h: * ACEXML/common/SAXExceptions.cpp: * ACEXML/common/SAXExceptions.h: * ACEXML/common/Transcode.cpp: * ACEXML/common/Transcode.h: * ACEXML/common/Validator.cpp: * ACEXML/common/Validator.h: * ACEXML/common/XMLFilter.h: * ACEXML/common/XMLFilterImpl.cpp: * ACEXML/common/XMLFilterImpl.h: * ACEXML/common/XMLReader.h: * ACEXML/common/XML_Types.h: * ACEXML/examples/SAXPrint/Makefile: * ACEXML/examples/SAXPrint/Print_Handler.h: * ACEXML/examples/SAXPrint/SAXPrint_Handler.h: * ACEXML/examples/SAXPrint/main.cpp: * ACEXML/parser/debug_validator/Debug_Attributes_Builder.cpp: * ACEXML/parser/debug_validator/Debug_Attributes_Builder.h: * ACEXML/parser/debug_validator/Debug_DTD_Manager.cpp: * ACEXML/parser/debug_validator/Debug_DTD_Manager.h: * ACEXML/parser/debug_validator/Debug_Element_Builder.cpp: * ACEXML/parser/debug_validator/Debug_Element_Builder.h: * ACEXML/parser/debug_validator/Element_Tree.cpp: * ACEXML/parser/debug_validator/Element_Tree.h: * ACEXML/parser/parser/Entity_Manager.cpp: * ACEXML/parser/parser/Entity_Manager.h: * ACEXML/parser/parser/Makefile: * ACEXML/parser/parser/Parser.cpp: * ACEXML/parser/parser/Parser.h: * ACEXML/tests/Makefile: * ACEXML/tests/NamespaceSupport_Test.cpp: * ACEXML/tests/Transcoder_Test.cpp: * etc/acexml.doxygen: Renamed directory XML to ACEXML and moved the base directory to include XML related files to $(ACE_ROOT). Thanks to Johnny Tucker for the suggestion. Wed Feb 13 17:42:32 2002 Balachandran Natarajan * ace/Configuration.cpp (operator=): Fixed a warning in g++ builds. Stupid mistake on my part :(. Wed Feb 13 12:45:06 2002 Balachandran Natarajan * ace/Configuration.cpp: * tests/Config_Test.cpp (iniCompare): Fixed memory leaks. Thanks to Johnny willemson for providing the patches. Wed Feb 13 11:46:54 2002 Nanbor Wang * XML/parser/parser/Makefile: Added a library (-lACEXML) to link to. Thanks to John Michael Zorko for reporting this. Tue Feb 12 20:30:53 2002 Douglas C. Schmidt * ace/WIN32_Proactor.cpp (handle_events): When the proactor was called by the reactor in handle_signal() this method should loop till all events are done. But the loop never got executed twice because handle_events returned 1 on success and the loop exits. To catch more than one notifications handle_events should be called again. Even if the loop is executed twice and no more events are outstanding handle_events should return 0 and not -1 when calling with timeout 0. Calling GetQueuedCompletionStatus with timeout value 0 returns FALSE and errno "ERROR_SUCCESS". This check has to be added to handle_events and 0 has to be returned. Thanks to Hartmut Quast for reporting this. Tue Feb 12 16:18:59 2002 Ossama Othman * tests/Proactor_Test.cpp (logflag): * tests/TP_Reactor_Test.cpp (logflag): Removed these unused global variables. Fixes an unused variable warning. Tue Feb 12 11:50:18 2002 Nanbor Wang * bin/pippen.pl: Applied a patch from "the source" to fix a problem in determining project dependencies. Tue Feb 12 09:37:56 2002 Ossama Othman * ACE-INSTALL.html: Corrected EGCS documentation. Native exception support is now the default. [Bug 1149] G++ 2.7.x is no longer supported. Updated accordingly. Mon Feb 11 16:31:04 2002 Ossama Othman * bin/make_pretty.pl (is_warning): Do not flag Fuzz's "#pragma warning(push)/(pop)" test title as a warning. Mon Feb 11 13:49:35 2002 Ossama Othman * bin/fuzz.pl (check_for_push_and_pop): New test that verifies the number of #pragma warning(push) pragmas matches the number of #pragma warning(pop) pragmas. * examples/IPC_SAP/SSL_SAP/SSL-client.cpp (shared_client_test): * examples/IPC_SAP/SSL_SAP/SSL-client-simple.cpp (shared_client_test): Do not convert the buffer length to network byte order when allocating the buffer. Fixes excessive memory allocation. This was apparently a cut-n-paste bug. Thanks to M Schulze . * THANKS: Added M Schulze to the Hall of Fame. Mon Feb 11 05:42:02 2002 Balachandran Natarajan * ace/Connector.h: Fixed a typo in the coments. Thanks to Miljenko Norsic (ETK) for reporting this. Sun Feb 10 16:28:30 2002 Douglas C. Schmidt * ace/config-macosx.h * ace/config-freebsd.h * ace/config-freebsd-pthread.h * ace/TTY_IO.cpp: * TODO: Removed the ACE_USES_HIGH_BAUD_RATES macro since it no longer seems to be necessary. Thanks to Olli Savia for reporting this. * ace/TTY_IO.cpp: Replaced the two strcmp() calls with one strcasecmp(). Thanks to Olli Savia for reporting this. Sat Feb 9 15:17:45 2002 Balachandran Natarajan * bin/make_release: Changed the path of gv as a new version of GV was installed on deuce.doc. The old version had less colors and it started mapping them to a smaller range. The graphs looked very ugly. The new version fixes the problem and hence a change in path. Fri Feb 8 22:56:29 2002 Balachandran Natarajan * ace/Log_Msg.cpp (log): Fixed a warning in TRU 64 builds. Fri Feb 8 14:54:21 2002 Douglas C. Schmidt * apps/JAWS2/Makefile (LDFLAGS): * apps/JAWS2/HTTPU/Makefile (LDFLAGS): Fixed some makefile bugs so that this stuff compiles on AIX. Thanks to Steve Ige for reporting this. Thu Feb 7 18:13:03 2002 Douglas C. Schmidt * tests/ACE_Init_Test.cpp (wait_and_kill_dialog): Replaced the call to EndDialog() with EndModalLoop() to fix a race condition. Thanks to Petru Marginean for reporting this. Fri Feb 8 14:02:06 2002 Balachandran Natarajan * THANKS: Added Marco Kranawetter to the hall of fame. Fri Feb 08 11:24:36 2002 Nanbor Wang * ace/String_Base.h: * ace/Task_T.h: Removed the ACE_Export decl from ACE_Task and ACE_String_Base. They were added as work-aronds for a VC7's internal compiler bug but didn't seem to solve the problem. Thanks to Patrick Bennett , Johnny, and Christian Veleba for reporting this. Thu Feb 7 16:19:39 2002 Steve Huston * ace/config-all.h: Define new macros, ACE_nothrow and ACE_nothrow_t, to decide which variety of nothrow is used in new (nothrow). At this point, HP aC++ is the only platform defined to use this feature, so that's the only section that defines it. * ace/Svc_Handler.(cpp h): * examples/Shared_Malloc/test_persistence.cpp: Use the new ACE_nothrow[_t] macros in overridden operator new. Thu Feb 7 14:11:31 2002 Douglas C. Schmidt * ace/Singleton.cpp (close): Fixed the implementation so that the ACE_Unmanaged_Singleton's internal singleton point is reset to 0 after cleanup to avoid double-deletion. Thanks to Marc Walrave for this fix. Thu Feb 7 07:52:47 2002 Douglas C. Schmidt * ace/Activation_Queue.{h,i}: Added get/set methods to access/update the underlying ACE_Message_Queue so users can call methods on the queue directly if necessary. Thanks to Timothy Kilbourn for reporting this. Tue Feb 5 07:25:49 2002 Douglas C. Schmidt * tests/TP_Reactor_Test.cpp: Improved the comments to clarify the differences between this test and the Thread_Pool_Reactor_Test.cpp. Thanks to Alex Libman for explaining this. Thu Feb 7 08:16:24 2002 Oliver Kellogg * ACE-INSTALL.html: Document the include_env=1 make switch. * docs/exceptions.html: Replaced the "Transition from TAO_TRY to ACE_TRY" section with "Transition from ACE_TRY_ENV usage to ACE_ENV_ARG". Wed Feb 6 06:57:35 2002 Balachandran Natarajan * tests/run_test.lst: Disabled TP_Reactor_Test as the test is hanging. Tue Feb 5 11:59:00 2002 Craig Rodrigues * tests/TP_Reactor_Test.cpp (disable_signal): Eliminate unused arguments warning on Win32 platforms. Mon Feb 4 16:22:20 2002 Craig Rodrigues * ace/OS.h: Include instead of if ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB is defined. Mon Feb 4 19:58:03 2002 Boris Kolpackov * ace/Log_Msg.cpp: Fixed minor bug in what's just commited before. Thanks to Craig Rodrigues for pointing it out. Mon Feb 4 14:11:14 2002 Boris Kolpackov * ace/Log_Msg.h: * ace/Log_Msg.cpp: Added ability to install custom backend which is a per-process entity as opposite to callback which is a per-thread not-inheritable entity. Sun Feb 3 17:59:36 2002 Krishnakumar B * ace/config-sunos5.5.h (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION): Explicitly defined the above macro as this is needed for SunOS gcc to work. This was inside a __SUNPRO_CC #ifdef. I missed that in my previous change. This should fix the builds under SunOS gcc. Sun Feb 3 18:32:29 2002 Craig Rodrigues * tests/TP_Reactor_Test.cpp: Use size_t instead of long and int for index_ and sessions_ in order to eliminate more compiler warnings. Sun Feb 3 09:20:04 2002 Douglas C. Schmidt * tests/TP_Reactor_Test.cpp: Fixed a bunch of warnings. Thanks to Venkita for reporting this. Sun Feb 3 08:22:28 2002 Venkita Subramonian * tests/Makefile: Regenerated makefile to create dependencies for TP_Reactor_Test. Sun Feb 3 08:05:12 2002 Venkita Subramonian * tests/TP_Reactor_Test.dsp (RSC): Regenerated the file in MSVC++. Sun Feb 3 11:16:12 2002 Johnny Willemsen * tests/TP_Reactor_Test.cpp: Fixed compile error in BCB unicode build Sat Feb 2 07:45:51 2002 Douglas C. Schmidt * tests/run_test.lst: * tests/TP_Reactor_Test.dsp: * tests/Makefile.bor: * tests/Makefile: Added the TP_Reactor_Test. * tests/TP_Reactor_Test.cpp: Added another test of the ACE_TP_Reactor. Thanks to Alex Libman for contributing this. * ace/config-irix6.x-common.h: IRIX 6.5 supports AIO, so we'll enable these features. Thanks to Alex Libman for validating this. * ace/Select_Reactor_T.cpp: Fixed work_pending() so that it takes into account pending timers that need to be expired. Thanks to Russ Noseworthy for reporting this. * ace/Select_Reactor_T.cpp: Simplified the logic for calculating timeouts in wait_for_multiple_events(). * ace/Process.{h,i,cpp}: When using ACE_Process_Options with the inherit_environment set to off, i.e., ACE_Process_Options opts (0), ACE_Process::spawn() was improperly setting the environment in the child's process after fork (), before exec (). Changed ACE_Process::spawn to check for the inherit_environment flag, and to use the execve () call instead of execvp () if inherit_environment is false. Thanks to James Risinger for contributing this fix. * ace/Process.{h,i}: Added "const" to the various accessor methods. Sat Feb 2 00:01:36 2002 Venkita Subramonian * ace/config-sunos5.6.h: Added missing #endif. Fri Feb 1 23:42:03 2002 Venkita Subramonian * ace/config-all.h: Removed extra ). Fri Feb 1 21:08:37 2002 Steve Huston * tests/Framework_Component_Test.icc: * tests/Vector_Test.icc: New Visual Age C++ test configurations. * tests/tests.icp: Add new test configurations to the project. Fri Jan 1 19:33:49 2002 Steve Huston * ace/Vector.(h i cpp): Removed 'const' from the 2nd template argument (size_T DEFAULT_SIZE). A size_t is always const, and having const there causes errors from HP aC++. I'm not sure if they're completely legit, but Stroustrup 3rd Ed says the template argument is const anyway... if this is a problem, please let me know. Fri Feb 1 18:53:44 2002 Steve Huston * ace/ace.icc: Added Framework_Component.(h cpp) to the files list. Fri Feb 1 10:19:46 2002 Jeff Parsons * Thread_Manager.h: Removed extra '*/'. Fri Feb 01 00:00:12 2002 Nanbor Wang * ace/Task.h: * ace/Thread_Manager.h: Added more explanation on how to use the argument. Thanks to Petr Shelomovsky for motivating the change. Thu Jan 31 19:18:37 2002 Steve Huston * ace/NT_Service.{h cpp}: To avoid race condition at shutdown time, moved the call to report_status(SERVICE_STOPPED, 0) from the open() method to a new override of the fini() method. Setting status to SERVICE_STOPPED frees up Windows to do its own shutdown for the service, and that can't be allowed to commence until all ACE_NT_Service things are done. Thanks to Zoran Cetusic , Patrick Bennett and Felix Wyss from Interactive Intelligence, Inc. for diagnosing this problem and sending in a fix. * THANKS: Added Zoran Cetusic, Patrick Bennett, and Felix Wyss to the Hall of Fame. Thu Jan 31 17:00:52 2002 Balachandran Natarajan * ace/config-all.h: Need to include with all versions of SunCC compiler and not just CC 5.0, when the compiler is using compat mode 4. * ace/config-sunos5.6.h: Need to define ACE_LACKS_ACE_IOSTREAM when higher versions of CC are used with compat mode 4 and such. Thanks to Tim Rydell for the fixes. * THANKS: Added Tim Rydell to the hall of fame. Thu Jan 31 17:21:49 2002 Steve Huston * ace/Trace.cpp (constructor and destructor): Do not attempt trace output if ACE has not been initialized. There is too much not set up yet to bother trying. If you are on a platform with ACE_HAS_NONSTATIC_OBJECT_MANAGER (such as Windows) and you really, really need tracing in static objects, you should try #define ACE_HAS_NONSTATIC_OBJECT_MANAGER 0 in your config.h along with #define ACE_NTRACE 0. Beware, though, there are crocodiles lurking there - platforms defined to use non-static object manager are that way for good reason. Thank you to Shmulik Regev for reporting this. Thu Jan 31 13:32:07 2002 Nanbor Wang * XML/common/XML_Common.dsp: Fixed the LIB path to use relative path. Thu Jan 31 19:18:16 2002 Oliver Kellogg * include/makeinclude/wrapper_macros.GNU: Corrected placement of the include_env switch. include_env=1 is only sensible in combination with exceptions=1. NB: The include_env switch is only intended to facilitate transition to the ACE_ENV_ARG macros and should not be used for new applications. There will be unused-variable warnings when using this build configuration. Thu Jan 31 11:57:07 2002 Nanbor Wang * XML/parser/debug_validator/Debug_Attributes_Builder.cpp: * XML/parser/debug_validator/Debug_Element_Builder.cpp: Temporarily removed unused arguments. * XML/common/FileCharStream.cpp (get): Made sure the character read from the input file was converted to ACEXML_Char type correctly. Casted the read XML_Char before comparing it to 'EOF'. Thu Jan 31 13:06:12 2002 Boris Kolpackov * THANKS: Added Koushik Banerjee to the hall of fame. Wed Jan 30 22:41:39 2002 Krishnakumar B * include/makeinclude/platform_linux.GNU (CXX_VERSION): Made it work when someone wants to turn off the implicit template instantiation. Care should be taken to #define ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION in config.h also. Surprisingly the code compiles without that also... Wed Jan 30 17:22:49 2002 Steve Huston * ace/Process.cpp (wait (const ACE_Time_Value&, ACE_exitcode *)): * ace/Process_Manager.cpp (wait (pid_t, const ACE_Time_Value&, ACE_exitcode *)): The mechanism for waiting up to a specified time for a child process to exit has been replaced. Replaces the fix from: Fri Jan 25 19:58:41 2002 Steve Huston and makes unnecessary any further work from: Sat Jan 26 21:41:39 2002 Steve Huston Both classes now do a timed wait for a child by doing an ACE_OS::sleep, counting on being interrupted if a SIGCHLD is delivered. In ACE_Process_Manager when a reactor hasn't been specified, and always in ACE_Process, a temporary SIGCHLD handler is installed for the duration of the wait. This is necessary because the default SIGCHLD action on POSIX (and holds true for most non-Win32) is SIG_IGN, and SIGCHLD is not generated when a child process exits. Therefore, a handler is installed to force the SIGCHLD. It's not needed in ACE_Process_Manager when a reactor is in place because the reactor already has a handler for SIGCHLD. Wed Jan 30 15:11:49 2002 Krishnakumar B * include/makeinclude/platform_linux.GNU (CXX_VERSION): * ace/config-g++-common.h: Turned off explicit template instantiation with gcc under Linux. The specific versions are 2.95.x, 2.96, 3.0.x (3.x). Added a flag implicit_templates to tweak the behaviour from the platform_macros.GNU file. The combination of the compiler and binutils seems to give a nice reduction in the footprint. Wed Jan 30 16:00:39 2002 Steve Huston * ace/Process_Manager.cpp (register_handler): Replaced ECHILD with EINVAL if the pid is not found. Probably a more accurate assessment of the situation, and should compile clean on WinCE. Wed Jan 30 13:50:17 2002 Douglas C. Schmidt * docs/index.html: Fixed the ACE-inheritance.pdf document so it isn't gzipped. Thanks to Michael Searles for reporting this. Wed Jan 30 09:28:12 2002 Johnny Willemsen * XML/parser/debug_validator/Debug_Attributes_Builder.cpp: * XML/parser/debug_validator/Debug_DTD_Manager.cpp: * XML/parser/debug_validator/Debug_Element_Builder.cpp: * XML/parser/debug_validator/Element_Tree.cpp: Added missing ACE_LIB_TEXT. This fixes the BCB unicode build errors Tue Jan 29 20:11:21 2002 Balachandran Natarajan * etc/*.doxygen (EXPAND_AS_DEFINED): Added ACE_CACHE_MAP_MANAGER to the list in EXPAND_AS_DEFINED. Thanks to Don Hinton for the suggestion. Tue Jan 29 19:36:24 2002 Balachandran Natarajan * bin/make_release: The whole release process has been moved to Linux box. This is because the sun machines at WashU were having problems and they are not dependable. The following are the list of changes made - All the path related stuff have been changed ie. instead of using /pkg/gnu tools, we use native tools on Linux now. - The gnu suffixes to many of the tools have been removed. - Most of the path to the tools have been hardcoded in the PATH environment variabe. - Tools that were missing have been loaded on 3 main Linux boxes at WashU including Graphviz and doxygen. - A beta cannot be cut from a sun box. - The script will recommend cutting a beta from deuce.doc. The script has been tested with a dummy release. Tue Jan 29 16:01:54 2002 Ossama Othman * bin/fuzz.pl (check_for_missing_rir_env): Check for ACE_ENV_ARG_PARAMETER instead of TAO_ENV_ARG_PARAMETER. The latter is deprecated. Tue Jan 29 20:47:24 2002 Oliver Kellogg * docs/exceptions.html: Document the new ACE_ENV_ macros. * bin/subst_env.pl: Transform to ACE_ENV_ instead of TAO_ENV_. Tue Jan 29 08:39:24 2002 Oliver Kellogg * ace/CORBA_macros.h: Added ACE_ENV_ARG macros to replace the TAO_ENV_ARG macros defined in TAO/tao/orbconf.h. All exception related macros are now defined in ace/CORBA_macros.h, and the TAO_ENV_ARG macros will soon be deprecated. * include/makeinclude/wrapper_macros.GNU: Added the include_env switch for compatibility with the exception handling use before TAO 1.2.2. Tue Jan 29 08:17:12 2002 Johnny Willemsen * include/makeinclude/ace_flags.bor: Added compiler flags for new cosevent orbsvcs test library CECTEST Added compiler flags for new notify orbsvcs test library NotifyTests Mon Jan 28 17:44:51 2002 Steve Huston * ace/Process_Manager.cpp (wait): When waiting for a non-specific process, specify -1 pid for waitpid(). This is necessary because of Fri Jan 25 19:58:41 2002 Steve Huston change to not alter the process group ID when ACE_Process_Manager spawns a process. Timed waits for a process still don't work on non-Win32, but this fix corrects the failed wait with errno == ECHILD. Mon Jan 28 12:16:28 2002 Carlos O'Ryan * bin/auto_run_tests.lst: Removed EC_Basic and Event_Latency tests from nightly builds, I left them there by mistake when I took them out of the repository (around December, 25th 2001) Mon Jan 28 13:20:32 2002 Nanbor Wang * XML/common/AttributesImpl.cpp: Removed a bunch of inline designators. Sun Jan 27 22:18:50 2002 Nanbor Wang * bin/msvc_auto_compile.pl: Projects in XML subdirectory are interdependent. List out the order they should be built explicitly. Sun Jan 27 12:48:48 2002 Ossama Othman * bin/auto_run_tests.lst * bin/performance_stats.sh: Updated in accordance with the new TAO "Latency" performance test organization. Sun Jan 27 12:08:45 2002 Nanbor Wang * XML/common/Transcode.h (ACEXML_Transcoder): Improved the documentation. The followings fixed the Tru64 warnings/errors. * XML/common/AttributesImpl.i (operator): * XML/common/Env.i: Reordered inline functions. * XML/tests/Transcoder_Test.cpp: Removed an unused argument. * XML/common/Attributes_Def_Builder.h: Added inclusion of "ace/Auto_Ptr.h". * XML/examples/SAXPrint/SAXPrint_Handler.cpp: * XML/examples/SAXPrint/Print_Handler.cpp: Added inclusion of "ace/Log_Msg.h". Sun Jan 27 15:03:12 2002 Johnny Willemsen * Makefile.bor: Build the XML library with BCB * XML/parser/Makefile.bor: Added debug_validator * XML/parser/debug_validator/Makefile.bor: Added BCB makefile Sat Jan 26 19:02:49 2002 Ossama Othman * ace/Process_Manager.cpp (register_handler): Corrected code that always returned -1. Code that should only have been run on error was always run since it was outside of an "if block." Curly braces are a good thing (they were missing). Sat Jan 26 21:41:39 2002 Steve Huston * ace/Process_Manager.cpp (wait): Fixed compiler warning on Linux about unused wait_until. This fix removes the ability to spin around the 'for' loop waiting for signals multiple times with the timeout decreasing to account for wait time. Will have to come back to restore this functionality later. Sat Jan 26 14:40:12 2002 Johnny Willemsen * include/makeinclude/ace_flags.bor: Added compiler and linker flags for new XML library * XML/common/Makefile.bor: * XML/parser/parser.Makefile.bor: * XML/Makefile.bor: * XML/parser/Makefile.bor: * XML/tests/Makefile.bor: Added BCB makefiles for the new XML library. Fri Jan 25 19:58:41 2002 Steve Huston * ace/Process_Manager.cpp (wait(pid_t, const ACE_Time_Value &, ACE_exitcode *status)): If platform offers sigtimedwait, use it instead of setting ualarm and then doing sigwait. Once ualarm is set, it will fire, even if this method has returned. This causes Solaris processes to die on SIGALRM. Also, do not play with the process group ID by default. It's not needed for doing normal signal management by most processes. If processes really have a need to change or set a new process group, they need to do it explicitly by using ACE_OS::setpgid() or by setting a process group ID in an ACE_Process_Options object when spawning processes. * tests/Process_Manager_Test.cpp: Added a bit more diagnostic info. Fri Jan 25 18:29:37 2002 Steve Huston * ace/config-aix-4.x.h: Removed ACE_HAS_SIGTIMEDWAIT. It compiles, but returns ENOSYS at run time. * ace/config-aix5.1.h: Added ACE_HAS_SIGTIMEDWAIT. Fri Jan 25 15:36:40 2002 Nanbor Wang * ace/ace_dll.dsp: Removed /version flags from the project since they have been taken care of by ace.rc file. Thanks to Ossama for pointing it out. Fri Jan 25 14:45:00 2002 Venkita Subramonian * bin/auto_run_tests.lst: Added Two_Objects test to the list. Fri Jan 25 14:40:15 2002 Nanbor Wang * XML/common/Exception.cpp: * XML/common/NamespaceSupport.cpp: * XML/common/SAXExceptions.cpp: * XML/parser/parser/Parser.cpp: Moved the initialization of static members before the inclusion of inline files to avoid compilation erros on Borland compiler. Thanks to Johnny Willemsen for figuring this out. Fri Jan 25 14:31:06 2002 Nanbor Wang * XML/common/NamespaceSupport.cpp: * XML/parser/parser/Parser.cpp: Fixed several KCC warnings. Fri Jan 25 12:01:14 2002 Nanbor Wang The following changes fixed SunCC5.1 compilation errors. * XML/common/Makefile: * XML/parser/parser/Makefile: * XML/tests/Makefile: * XML/examples/SAXPrint/Makefile: Removed extra spaces for -I flags. * XML/common/Attributes_Def_Builder.h: Removed a redundant comma. * XML/common/NamespaceSupport.i: Changed ACE_TEMPLATE_METHOD_SPECIALIZATION to ACE_TEMPLATE_SPECIALIZATION. * XML/tests/NamespaceSupport_Test.cpp: String literals needed to be assigned to const char *. Fri Jan 25 09:42:12 2002 Ossama Othman * ace/ace_dll.dsp: Corrected inconsistency in the DLL minor version. The correct minor version for the ACE 5.2 series is "2," not "1." Fri Jan 25 11:21:28 2002 Nanbor Wang * bin/msvc_auto_compile.pl: Added XML into the list of auto build targets. Fri Jan 25 00:37:00 2002 Douglas C. Schmidt * We now have 1,400 contributors to the ACE+TAO software. Yow! Thu Jan 24 17:49:46 2002 Balachandran Natarajan * ace/CDR_Stream.i: Fixed the check for the length within ACE_InputCDR::read_*_array (). The method was checking just for length passed in, which happens to be the number of elements in the array, instead of the number of bytes necessary for the elements. Thanks to William R Volz for reporting this. * THANKS: Added William Volz to the hall of fame. Thu Jan 24 18:31:49 2002 Steve Huston * tests/Process_Manager_Test.cpp: Better diagnostics added. Thu Jan 24 15:14:52 2002 Nanbor Wang * ace/Lib_Find.cpp (ldfind): Restored previously removed Win32 code and re-organized macros so we wouldn't upset CE builds. Thu Jan 24 14:53:38 2002 Nanbor Wang * bin/generate_doxygen.pl: * etc/acexml.doxygen: Added the doxygen config file for XML subdirectory. * Makefile: Added XML subdirectory into the lists to be compiled and be included in the release. * XML/*: Merged in the XML parser code. Thu Jan 24 10:14:47 2002 Nanbor Wang * ace/ace_wchar.h: Added the definition for ACE_TEXT_SearchPath. * ace/Lib_Find.cpp (ldfind): Fixed UNICODE and Fuzz builds errors. Thanks to Johnny Willemsen for the fix. Wed Jan 23 16:48:54 2002 Nanbor Wang * ace/Lib_Find.h: * ace/Lib_Find.cpp (ldfind): Change to use Win32 API SearchPath to search for the target DLL and updated the document for ldfind in header file. Thanks to Eugene Alterman for submitting the patch. Wed Jan 23 14:01:32 2002 Ossama Othman * ace/config-lynxos.h (ACE_LACKS_INET_ATON): LynxOS does not implement the inet_aton() function. Wed Jan 23 16:37:52 2002 Steve Huston * ace/NT_Service.cpp (insert): If the CreateService call fails, be sure to save the error value before making another Win32 call that will smash it. Thanks to Kelly Hickel for reporting this. Also ACE-ified the source better. * examples/NT_Service/main.cpp: Added some ACE_ERROR output if operations requested from the command line fail. Wed Jan 23 16:14:43 2002 Boris Kolpackov * include/makeinclude/platform_sunos5_sunc++.GNU Added work around for famous Sun CC "pure virtual function called" bug. Unfortunately this involves introduction of yet another #define. See TAO/tao/ValueBase.h for more information. Tue Jan 22 21:27:25 2002 Balachandran Natarajan * ace/ace_dll.vcp: Add Frameork_Component.* to the builds. Thanks to Venkita for pointing it out. Tue Jan 22 17:42:39 2002 Steve Huston * ace/NT_Service.(h cpp): Added two new methods: void capture_log_msg_attributes (void): Grabs a copy of the calling thread's ACE_OS_Log_Msg_Attributes to facilitate inheritance of the logging attributes in the service thread. void inherit_log_msg_attributes (void): Called in a service thread, inherits the main thread's logging attributes. Modified the ACE_NT_SERVICE_RUN macro to capture the main thread's logging attributes before starting the service control dispatcher. Modified the ACE_NT_SERVICE_DEFINE macro to call inherit_log_msg_attributes if the ACE_NT_Service object for the service was set up before the thread started. Fixes Bugzilla # 82. * examples/NT_Service/main.cpp: * examples/NT_Service/ntsvc.cpp: Now writes a log file in the current working directory which should have messages from both main and service threads in it. Tue Jan 22 15:19:29 2002 Nanbor Wang * ace/DLL.cpp: Changed to invoke this->open() in the constructor. Thanks to Eugene Alterman for motivating this. Mon Jan 21 23:27:03 2002 Nanbor Wang * ace/OS.h: Reordered main redefinition macros so that it actually passed wchar argv to main when UNICODE is defined. Mon Jan 21 10:01:34 2002 Frank Hunleth * bin/auto_run_tests.lst: Added MIOP unit tests. Mon Jan 21 03:00:14 2002 Ossama Othman * ace/Framework_Component.cpp (register_component): Removed debugging statements that always printed text. Mon Jan 21 07:45:12 2002 Johnny Willemsen * ace/Framework_Component.cpp: Fixed fuzz error Mon Jan 21 00:13:42 2002 Christopher Kohlhoff * ace/streams.h: Workaround for Borland C++ 5.5.1 bug we have now just hit. Sun Jan 20 21:42:53 2002 Balachandran Natarajan * ace/Framework_Component.cpp: * ace/Framework_Component_T.cpp: Fixed fuzz errors. 2002-01-20 Oliver Kellogg * bin/subst_env.pl: New script to ease the transition to the TAO_ENV_ARG macros defined in TAO/tao/orbconf.h. Sun Jan 20 12:38:28 2002 Balachandran Natarajan * tests/Framework_Component_Test.dsp: New dsp file for the test. * tests/tests.dsw: Added the above test to the workspace. Sun Jan 20 12:25:28 2002 Balachandran Natarajan * ace/Framework_Component.h: Removed the definition of the default constructor (in ACE_UNIMPLEMENTED_FUNC definition). The other private constructor with a default argument tends towards a default constructor and VC++ signals a multiple definition error. Not sure how g++ didnt signal this one. * ace/Framework_Component_T.h: #include'd Framework_Component.h * ace/Framework_Component_T.cpp: Added a #ifndef around the file. * ace/ace_dll.dsp: * ace/ace_lib.dsp: Added the Framwork_Component* files to the project file. Sun Jan 20 10:40:28 2002 Nanbor Wang * tests/Vector_Test.dsp: * tests/tests.dsw: Added a new project for Vector_Test. Sun Jan 20 16:25:12 2002 Johnny Willemsen * ace/Makefile.bor: Added new Framework_Component * tests/Makefile.bor: Added new Framework_Component_Test Sun Jan 20 00:00:30 2002 UTC Don Hinton * ace/Vector_T.cpp (dump): Commented out the contents of this function for the time being. It assumed that the element was an object with a dump() method, which won't always be the case. * tests/Vector_Test.cpp: Changed a few data types from signed to unsigned, size_t, to get rid of compiler warnings. Sat Jan 19 17:29:50 2002 Douglas C. Schmidt * ace/Vector_T.cpp (dump): Fixed problems with this method. Thanks to Don Hinton for reporting this. * tests/Vector_Test.cpp: Changed the typedef of DATA from int to size_t to avoid "type mismatch" compiler warnings. Thanks to Don Hinton for reporting this. Sat Jan 19 22:30:26 UTC 2002 Don Hinton * apps/JAWS2/JAWS/Hash_Bucket_T.h: * apps/JAWS2/JAWS/Assoc_Array.h: Added missing keyword "class" to friend declarations. * ace/SString.cpp: Removed unneeded include of Service_Config.h. * ace/Service_Config.{h|cpp}: * examples/Connection/misc/Connection_Handler.cpp: Removed static methods from ACE_Service_Config that delegated to ACE_Reactor::instance(), and fixed a few instances where they were still called. * ace/Object_Manager.cpp: * ace/Service_Config.cpp: * ace/Proactor.cpp: * ace/Reactor.cpp: Added call to instance() methods that registers the singleton with the new ACE_Framework_Repository so it can handle destruction, and replaced explicit references to ACE_Reactor and ACE_Proactor with calls to ACE_Framework_Repository. * ace/Framework_Component.{h|inl|cpp}: * ace/Framework_Component_T.{h|inl|cpp}: * ace/Makefile: * tests/Framework_Component_Test.cpp: * tests/Makefile: * tests/run_test.lst: Added ACE_Framework_Repository to manage ACE_Framework_Component's, e.g., singletons like ACE_Reactor or ACE_Proactor. It uses External Polymorphism obviating any interface changes. The components register themselves with repository in their instance methods. This allows the Object_Manager and Service_Config to manage these components without having to know about them a priori. This was needed to reduce footprint for applications like TAO that don't need to use all the available components, e.g., ACE_Proactor. Sat Jan 19 10:23:39 2002 Douglas C. Schmidt * ace/Makefile (TEMPLATE_FILES): * tests/Makefile.bor: * tests/Makefile: * tests/run_test.lst: * ace/Vector_T.{h,i,cpp}: * tests/Vector_Test.cpp: Added support for the new ACE_Vector to the appropriate places. This vector behaves like the STL vector. Thanks to Gonzo and Craig Ching for contributing this. * ace/Future_Set.h: Updated the documentation to explain how various features work better. Thanks to Johnny Tucker for contributing this. Fri Jan 18 19:09:41 2002 Steve Huston * tests/run_test.lst: Re-enabled Process_Manager_Test for all but Chorus and VxWorks. Could not find a reason it was disabled. Also enabled Process_Mutex_Test on Win32. Fri Jan 18 16:44:29 2002 Steve Huston * ace/ace.icc: Added Reactor_Notification_Strategy.(h cpp) sources. * ace/Reactor_Notification_Strategy.cpp: Fixed ACE_RCSID to refer to Reactor_Notification_Strategy, not Strategies. * tests/Get_Opt_Test.icc: * tests/INET_Addr_Test.icc: New Visual Age C++ configs for these tests. * tests/tests.icp: Added Get_Opt_Test.icc and INET_Addr_Test.icc Fri Jan 18 12:56:36 2002 Douglas C. Schmidt * ace/Log_Msg.cpp (init_backend): Added support for SysLog on platforms that don't lack it. Thanks to Alexei I. Adamovich for reporting this fix. Fri Jan 18 10:29:06 2002 Ossama Othman * ace/Service_Config.h (process_file): * ace/Service_Config.cpp (process_directives, process_file): Factored out code that processes a svc.conf file into the new static process_file() method. This allows svc.conf files to be explicitly parsed by the application at any arbitrary point in time instead of Service Configuration initialization time alone. Thu Jan 17 18:51:09 2002 Douglas C. Schmidt * ace/Name_Space.cpp (operator =): Fixed a memory leak. Thanks to Ian Cahoon for reporting this. Thu Jan 17 12:13:51 2002 Ossama Othman * ace/SSL/SSL_Context.h (private_key, verify_private_key): Added new documentation. These methods should only be called after a certificate has been set since key verification is performed against the certificate, among other things. Thu Jan 17 13:11:27 2002 Chad Elliott * ace/Message_Queue.h: * ace/Message_Queue.cpp: * ace/Message_Queue_T.h: * ace/Message_Queue_T.cpp: Provide the ability to enqueue based on the message deadline and to dequeue based on priority, deadline and from the end. Wed Jan 16 11:24:52 2002 Priyanka Gontla * THANKS: Updated to add Gerhard Voss . Wed Jan 16 06:19:01 2002 Douglas C. Schmidt * ace/OS.i: Replaced "set" with "sset" in sigtimedwait() and sigwait() to avoid STL symbol clashes with MSVC++ 6.0. Thanks to Shmulik Regev for reporting this. Wed Jan 16 09:01:12 2002 Johnny Willemsen * ace/Containers_T.{h,cpp}: Added ACE_Fixed_Set_Const_Iterator to make it possible to iterate through a const ACE_Fixed_Set instance Wed Jan 16 07:53:12 2002 Johnny Willemsen * include/makeinclude/ace_flags.bor: Added new flags for the new TAO ETCL orbsvcs library Tue Jan 15 17:24:53 2002 Steve Huston * ace/SSL/SSL_Context.cpp (report_error()): Set ACE_OS::last_error() to ERR_get_error() so the caller can get the error code later. * ace/SSL/SSL_SOCK_Connector.cpp: If the SSL handshake phase of a connection attempt fails, close the underlying socket. Tue Jan 15 15:35:41 2002 Steve Huston * ace/SOCK_Connector.(h cpp): * ace/LSOCK_Connector.(h i cpp): * ace/MEM_Connector.(h cpp): * ace/SSL/SSL_SOCK_Connector.(h cpp): Improved the Doxygenation and removed the protocol_family and protocol arguments from the ctors and connect() methods. The protocol family is always taken from the ACE_Addr remote_sap argument since it can now be either PF_INET or PF_INET6 (for SOCK_Connector objects) and should be PF_UNIX for LSOCKs. It is pointless to allow the user to request something that is impossible to do correctly. Tue Jan 15 10:52:12 2002 Johnny Willemsen * include/makeinclude/ace_flags.bor: Added new flags for the new TAO PortableGroup library Mon Jan 14 14:40:25 2002 Carlos O'Ryan * bin/g++dep: Fixed small problems in the dependency generation: - The script did not properly handle files with '+' in their names. - In some cases the script generated escaped blanks, i.e. lines containing a blank preceded by a backslash. Such blanks are interpreted as part of a dependency name and break havoc with the builds. Mon Jan 14 16:49:37 2002 Steve Huston * ace/OS.h (ACE_STATIC_SVC_DEFINE): Corrected the documentation to say the service-implementing class must be derived from ACE_Service_Object, not ACE_Service_Config. Mon Jan 14 07:40:16 2002 Douglas C. Schmidt * ace/OS.i (mmap): There was a typo that prevented the ACE Memory Map stuff from working properly on Win9x. Thanks to Edan Ayal for reporting this. Sun Jan 13 18:59:37 2002 Douglas C. Schmidt * ace/Memory_Pool.{h,cpp}: Added a new option that makes is possible to control whether or not a fixed address will be used when remapping a memory-mapped file. Thanks to Jonathan Reis for this enhancement. Mon Jan 14 11:02:12 2002 Johnny Willemsen * include/makeinclude/ace_flags.bor: Added flags for new TAO FT_ORB library Sun Jan 13 08:20:05 2002 Craig Rodrigues * ace/config-all.h: Make sure that ACE_bad_alloc is defined as std::bad_alloc if ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB macro is set. Fixes gcc 3.0.3 compilation problem. Fri Jan 11 22:54:22 2002 Balachandran Natarajan * ace/config-lynxos.h: Added #define ACE_HAS_USING_KEYWORD to teh file. The compiler supports namespaces. According to the new rules at the doc_group, we dont use any compilers that dont support namespaces. The above macro is itself a waste. But we cannot remove it overnight as it has far reaching consequences. Working around that for the timebeing. Thu Jan 10 18:35:41 2002 Steve Huston * ace/Profile_Timer.h: Clarified that elapsed_time() calculates time from start() to stop(). Improved Doxygenation. Thu Jan 10 16:53:41 2002 Nanbor Wang * examples/Service_Configurator/IPC-tests/server/server.dsp: The Release version of the library needs to link in ADVAPI32.LIB as GetUserName is used in ACE's inline code. Wed Jan 9 22:07:50 2002 Douglas C. Schmidt * ace/Logging_Strategy.cpp (fini): Make sure to cancel the timer if interval_ and max_size_ are > 0. Thanks to Yaniv Ben Ari for reporting this. Wed Jan 9 11:38:58 2002 Ossama Othman * tests/SSL/Makefile (LDLIBS): Added missing SSL and crypto libraries. Fixed link errors. Thanks to Marvin Wolfthal for reporting the error and suggesting a fix. Wed Jan 9 12:24:39 2002 Steve Huston * ace/Process.cpp (spawn): Don't attempt ACE_OS::setpgid if ACE_LACKS_SETPGID is defined. Thanks to Victor Terber for reporting this. Wed Jan 09 11:19:07 2002 Nanbor Wang * ace/OS.h: Updated the comment for ACE_CE_Bridge to indicate that it's obsolete and will be removed in the future. Wed Jan 9 00:48:48 2002 Don Hinton * ace/Get_Opt.cpp: Make sure to cast away constness before deleting an ACE_TCHAR array. Thanks to Bala for reporting this. Tue Jan 8 17:29:33 2002 Steve Huston * ace/SSL/SSL_SOCK_Connector.cpp: Don't try to dereference a 0 timeout pointer. Gack. Thanks to Ossama for pointing this out. Tue Jan 8 15:51:06 2002 Don Hinton * ace/Get_Opt.cpp * ace/Service_Config.cpp: Moved the template instantiations from Service_Config.cpp to Get_Opt.cpp where they belong. * ace/Get_Opt.{h.cpp}: Replaced ACE_TString with ACE_TCHAR for type of member variable ACE_Get_Opt_Long_Option since it wasn't really needed and took up space. Tue Jan 8 10:43:48 2002 Ossama Othman * ace/config-sunos5.5.h (ACE_LACKS_INET_ATON): Solaris does indeed implement the inet_aton() function, but it is found in `libresolv.*'. It doesn't seem worth it to link another library just for that function. Just use the emulation in ACE that has been used for years. Tue Jan 8 11:31:22 2002 Steve Huston * tests/Makefile: When doing realclean, use the DLL_Test and Service_Config_DLL Makefiles to clean their files up. Tue Jan 8 08:36:33 2002 Steve Huston * ace/SSL/SSL_SOCK_Acceptor.cpp (ssl_accept): * ace/SSL/SSL_SOCK_Connector.cpp (ssl_connect): Corrected order of operations checking EWOULDBLOCK, and fixed compile errors. Thanks to Vlado Chovanec for this fix. Mon Jan 7 19:55:39 2002 Steve Huston * ace/SSL/SSL_SOCK_Acceptor.cpp (ssl_accept): * ace/SSL/SSL_SOCK_Connector.cpp (ssl_connect): Added extra check for SSL_accept/connect status failure to avoid looping on a bad socket if the socket closes during handshake. Thanks to Vlado Chovanec for this fix. Also added timeout countdown support for SSL_SOCK_Connector, same as in: Sun Jan 6 09:37:02 2002 Ossama Othman Mon Jan 7 15:55:26 2002 Ossama Othman * ace/INET_Addr.cpp (set): Pass a pointer to a "struct in_addr" to inet_aton(), i.e. the proper type, instead of a forcibly casted ACE_UINT32. Also updated existing code to use the in_addr::s_addr member instead of the previous ACE_UINT32 variable. Mon Jan 7 15:13:09 2002 Mayur Deshpande * performance-tests/Misc/context_switch_time.cpp (main): Since the Yield_test does seem to work on VxWorks now (see ChangeLog below), the 'ifdefs' for bypassing VxWorks for the Yield-Test have now been removed. Mon Jan 7 15:08:25 2002 Mayur Deshpande * ace/OS.i (thr_yield): Changed ::taskDelay (1) to ::taskDelay (0) for VxWorks in thr_yield (). The change with (0), now does seem to perform the yield correctly as reflected in the Yield-Test of context_switch_time. Thanks to Charlie Grames for this tip. Mon Jan 7 15:16:10 2002 Ossama Othman * ace/OS.h (INADDR_NONE): If the platform does not define this constant, then define it. * ace/OS.cpp (inet_aton): For some reason we were emulating inet_aton() on all platforms using the now deprecated inet_addr() function. Use the native inet_aton() function unless ACE_LACKS_INET_ATON is defined. Instead of performing a memcpy() of the IPv4 32-bit address into the in_addr data structure, simply assign it to the s_addr field of that data structure. It's not clear why we didn't do this in the first place. (inet_ntoa): Fixed PSoS emulation of this method. The result is supposed to be stored in a statically allocated string, not a dynamically allocated one. Fixes a memory leak. Note that this change makes the implementation non-reentrant. However, inet_ntoa() was not designed to be reentrant to begin with. * ace/OS.i (inet_addr): On error, inet_addr() is supposed to return INADDR_NONE. The return value should be a 32 bit unsigned integer, not a signed one. * ace/config-win32-common.h: MS Windows does not support the inet_aton() function. Define ACE_LACKS_INET_ATON. Mon Jan 7 12:20:26 2002 Ossama Othman * bin/auto_run_tests.lst: Added the MT_SSLIOP test to the regression test suite list. Sun Jan 6 21:19:10 2002 John Aughey * tests/run_test.lst: Uncommented out Conn_Test from daily builds. Sun Jan 6 21:09:10 2002 John Aughey * ace/INET_Addr.cpp: * ace/INET_Addr.h: Reverted to January 1 version until I have time to put the set_host_name() method in correctly. Sun Jan 6 20:01:10 2002 Balachandran Natarajan * tests/run_test.lst: Commented out Conn_Test from the daily builds. This test seems to hang blocking build progress. Have sent a mail to John Aughey on this. Sun Jan 6 09:37:02 2002 Ossama Othman * ace/SSL/SSL_SOCK_Acceptor.cpp (accept, ssl_accept): Take into account the time to complete the basic TCP handshake and the SSL handshake. Specifically, ACE_Countdown_Time is used to reduce the timeout value after each IO operation (e.g. accept(), SSL_accept()) used during SSL passive connection establishment. [Bug 1110] Commented out debugging statements. Sat Jan 5 20:57:36 2002 Venkita Subramonian * ace/Future.cpp (get): Added another ACE_const_cast in addition to Doug's changes to fix compile errors. See below. Sat Jan 5 14:57:36 2002 Craig Rodrigues * ace/OS_QoS.h: Fix comments, put in doxygen format. Sat Jan 5 08:59:41 2002 Douglas C. Schmidt * ace/Future.cpp (get): Added an ACE_const_cast() to silence certain C++ compilers. Thanks to Venkita for reporting this. Fri Jan 5 15:17:12 2002 Johnny Willemsen * ace/OS.{h,cpp}: Added ACE_TSS_Emulation::release_key() method to release a thread_key within the TSS_Emulation when a thread is stopped. Added ACE_TSS_Emulation::tss_keys_used_ member to administrate which thread_keys are used and which not. Added ACE_TSS_Keys::is_set() method to test whether a specific thread_key is marked as used. Changed ACE_TSS_Emulation::next_key() method to return a thread_key that is not used yet, this key is then marked as used at the same time. Changed ACE_OS::thr_keyfree() method to release the key in the TSS_Emulation when ACE_HAS_TSS_EMULATION is defined. These changes fix the bugzilla bugs 223 and 657. The ACE_TSS_Emulation now recycles keys that are released earlier. Fri Jan 4 19:59:03 2002 John Aughey * ace/INET_Addr.cpp: Fixed the new set_host_name method Fri Jan 4 18:59:27 2002 Balachandran Natarajan * ChangeLogs/ChangeLog-01b: Added a new file. Trimmed this file to have entries only in 2002. Fri Jan 4 15:50:42 2002 Steve Huston * ace/SSL/SSL_SOCK_Acceptor.cpp (ssl_accept): * ace/SSL/SSL_SOCK_Connector.cpp (ssl_connect): On ACE::select-reported timeout or failure, set status to return a -1 to caller, not 0. Thanks to Vladimir Chovanec for reporting this and sending a fix. Fri Jan 4 08:31:49 2002 Douglas C. Schmidt * tests/Thread_Manager_Test.cpp (test_task_record_keeping): Fixed a typo in an expression on line 226. Thanks to Harvinder Sawhney for reporting this. Fri Jan 4 05:51:22 2002 Douglas C. Schmidt * ace/Future.{h,cpp}: Made the get() and ready() methods const. Thanks to Ran Kohavi for reporting this. Fri Jan 4 15:06:31 2002 Steve Huston * ace/String_Base.h (operator=): Add to ACE_String_Base return type. Fixes compile error on IBM C/C++. * ace/SSL/SSL_SOCK_Acceptor.cpp (ssl_accept): If SSL_get_error() returns SSL_ERROR_SYSCALL and it's EWOULDBLOCK, don't blindly set both read and write handles for select. Check if SSL is indicating SSL_want_write() and set the proper handle. Also, don't ACE_ASSERT SSL_pending before return... if there's an SSL handshake screw-up (like someone trying to break in) just report the failure, don't abort/crash. Wed Jan 02 13:27:09 2002 Nanbor Wang * ace/INET_Addr.h: * ace/INET_Addr.cpp: Removed tabs and trailing whitespaces. Wed Jan 2 08:19:18 2002 Douglas C. Schmidt * ace/FILE_Connector.h, * ace/OS.h (ACE_OS): Clarified the weak semantics of O_APPEND on Win32. Thanks to Eugene Alterman for reporting this. Wed Jan 2 12:43:00 2002 John Aughey * ace/INET_Addr.h * ace/INET_Addr.cpp : Added set_host_name method and moved relevant code into this method. Changed signature of set_address method to take a void pointer rather than a char *. Wed Jan 2 12:30:01 2002 Chris Gill * ace/RB_Tree.i * tests/RB_Tree_Test.cpp : added check for valid current node to forward_i and reverse_i methods of iterator base class. Thanks to Craig L. Ching for reporting this! Wed Jan 2 08:19:18 2002 Douglas C. Schmidt * tests/README: Clarify that run_test.pl should be used rather the run_tests.sh. * tests/run_tests.bat: Clarify that run_test.pl should be used on Win9x. Thanks to Edward A Thompson for prompting this. Wed Jan 2 07:37:01 2002 Balachandran Natarajan * ace/Handle_Set.h: * ace/Handle_Set.cpp: Added a method reset_state () to the ACE_Handle_Set_Iterator class. Tue Jan 2 11:39:12 2002 Johnny Willemsen * ace/OS.i: Added missing ACE_UNUSED_ARG in ACE_OS::event_timedwait Tue Jan 1 15:36:39 2002 Steve Huston * include/makeinclude/platform_sunos5_sunc++.GNU: Added support for the buildbits=64 make option. Tue Jan 1 20:05:12 2002 Johnny Willemsen * ace/Name_Request_Reply.{h,cpp}: Changed type of 3 constructor arguments from size_t to ACE_UINT32 because the members in which these arguments are stored are also of type ACE_UINT32 * ace/OS.i In ACE_OS::umask method, changed the type in the ACE_OSCALL_RETURN macro from int to mode_t because that is the return type of the method Tue Jan 1 08:47:25 2002 Douglas C. Schmidt * ace/Thread.h: Clarify how the ACE_Thread_Adapter is deleted when spawn() is called. Thanks to Preston Elder for reporting this confusion. Tue Jan 1 14:09:26 2002 Johnny Willemsen * examples/Map_Manager/test_hash_map_manager.cpp: Made this example compiling when ACE_USES_WCHAR is set * Makefile.bor: Added examples directory because all examples for which there are BCB makefiles now build when ACE_USES_WCHAR is set Tue Jan 1 00:02:12 2002 Nanbor Wang * ace/ace_dll.vcp: Added String_Base_Const.*.