Mon Dec 16 16:34:23 2002 Nanbor Wang * ace/OS.i: Applied the following patch from Eugene Alterman . It appears that Win32 mmap() emulation implements MAP_FIXED semantic under the wrong assumption about MapViewOfFileEx() behavior. In fact if a non-null base address is supplied to MapViewOfFileEx() it behaves like mmap() with MAP_FIXED set - it maps at that address or fails if it unable to do it. If a null base address is supplied it behaves like mmap() with MAP_FIXED not set. This means that if MAP_FIXED is not set the emulation should set the base address argument to 0, and it should fail if MAP_FIXED is set and is 0. Besides, it makes sense for WinCE emulation to fail whenever MAP_FIXED is set since WinCE does not support MAP_FIXED semantic. Wed Dec 18 08:29:04 2002 Rich Seibel * ace/Timer_Wheel_T.cpp: Changed types from int to long to match the return for timer ids. Wed Dec 18 05:42:52 2002 Douglas C. Schmidt * ace/High_Res_Timer.cpp (global_scale_factor): The INTEL compiler can also set the global scale factor. Thanks to Chris Kohlhoff for reporting this. Tue Dec 17 11:22:31 2002 Phil Mesnier * ace/Codeset_IBM1047.h: * ace/Codeset_IBM1047.cpp: Added implementations of ncs and tcs methods to return the proper values as defined by the OSF's code and character set registry. * ace/CDR_Stream.cpp: * ace/CDR_Stream.h: * ace/CDR_Stream.i: Stripped out the reference counting on translator objects to avoid build problems. Tue Dec 17 11:30:31 2002 Balachandran Natarajan * ACE-INSTALL.html: Fixed fuzz errors. Tue Dec 17 08:20:22 2002 Chad Elliott * bin/MakeProjectCreator/modules/NMakeWorkspaceCreator.pm: Fixed a problem with generated Makefiles where CFG is defaulted. * bin/MakeProjectCreator/templates/nmake.mpd: Modified the dependencies file name. Tue Dec 17 07:03:40 2002 Chad Elliott * ace/Array_Base.h: * ace/Atomic_Op_T.cpp: * ace/Message_Queue.cpp: * ace/OS.h: Added #include's for various files for the Green Hills compiler for VxWorks. * ace/OS.cpp: Added a call to ::inet_aton() with a non-const char* for VxWorks. * ace/Thread_Adapter.cpp: Changed the pointer type from ACE_THR_FUNC_INTERNAL to ACE_THR_FUNC. * ace/config-vxworks5.x.h: Added a #define for ACE_LACKS_CLEARERR for the Green Hills compiler. Mon Dec 16 12:28:05 2002 Douglas C. Schmidt * ACE-INSTALL.html: Fixed some broken links. Thanks to Jonathan Wackley for reporting this. Sat Dec 14 13:06:09 2002 Douglas C. Schmidt * docs/ACE-categories.html: Removed all mention of the ACE_Multiplexor class. Thanks to Marc Tardif for reporting this. Tue Dec 17 07:37:40 2002 Balachandran Natarajan * tests/README: Fixed typos. Mon Dec 16 23:31:25 2002 Balachandran Natarajan * THANKS: Added Guan Joe to the hall of fame. Mon Dec 16 18:11:03 2002 Balachandran Natarajan * ace/CDR_Stream.h: Moved the destructor of ACE_Char_Codeset_Translator to be public. Mon Dec 16 13:14:34 2002 Phil Mesnier * ace/CDR_Stream.cpp: * ace/CDR_Stream.h: * ace/CDR_Stream.i: Preparing for codeset negotiation. The ACE input/output CDR streams' support for wide character IO is enhanced by adding a flag to allow or disallow wchar i/o regardless of whether a translator is present. There are times when wchar is not allowed, such as GIOP 1.0, or when a native codeset for wchar was not specified. In CORBA, a native wchar codeset must be specified, it may not be defaulted. Within the ACE CDR streams, wchar i/o is allowed by default, to ensure backwards compatibility. I fixed a few of the reading and writing methods to ensure that the good_bit_ flag is cleared if an error occurs. This was not happening in all cases, leading to errors elsewhere. I have extended the definition of the ACE_[W]Char_Codeset_Translator classes to make them reference counted objects. There are some codesets that support shifting and may be stateful. By using reference counting, the CDR streams don't have to worry about ownership of stateful translators. Finally, the translators now have pure virtual methods that return the native and translated codeset ID values. These values refer to entries in the DCE Code and Character Set Registry, which is the reference for CORBA codeset ids. Anyone implementing a char or wchar codeset will have to supply a numeric value for the native codeset (ncs) and the translated codeset (tcs). NCS refers to the codeset of the text on the application side of the stream, and TCS refers to the codset of the text on the "wire" side of the stream. These changes are not everything that is required to support codeset negotiation, but it is all the changes required to the CDR streams. Sat Dec 14 08:56:23 2002 Douglas C. Schmidt * ace/Timer_Queue_T.cpp (timeout): Commented out the change below until we figure out how to break the dependencies on the Reactor. Thanks to Bala for reporting this. Fri Dec 13 16:05:05 2002 Douglas C. Schmidt * ace/Timer_Queue_T.cpp (timeout): Optimize Steve's patch below for the case where the upcall is coming from a reactor. Thanks to Irfan for pointing this out. Fri Dec 13 21:12:29 2002 Steve Huston * ace/test_config.h: Add __hpux to the conditions needed to instantiate ACE_Singleton::singleton_. Also see Sat Nov 23 18:12:37 2002 Steve Huston Fri Dec 13 18:25:42 2002 Steve Huston * ace/config-aix-4.x.h: Set ACE_HAS_THREADS to 1 or 0 based on the compiler's predefined macros. This lets users build easier without having to worry about what ACE expects - they just have to invoke the compiler correctly. Add #include "ace/config-posix.h" to pick the detectable POSIX-ish settings. * ace/config-posix.h: If ACE_HAS_THREADS is defined as 0 on entry, undef it and don't pick up the POSIX threads settings. Allows single-threaded builds using this very handy config. Fri Dec 13 18:10:31 2002 Steve Huston * ace/OS.cpp (wchar snprintf, sprintf): Change the selection for ability to use vswprintf from ACE_HAS_XPG4_MULTIBYTE_CHAR to _XOPEN_SOURCE >= 500. vswprintf came in at XPG5 (and C99). * ace/config-hpux-11.00.h: Enable ACE_HAS_SNPRINTF if _INCLUDE_HPUX_SOURCE is set after including stdsyms.h. * ace/config-posix.h: Set ACE_HAS_SNPRINTF if _XOPEN_SOURCE >= 500. Thu Dec 12 20:11:39 2002 Steve Huston * ace/Timer_Heap_T.cpp (cancel): Release the queue lock before upcalling to handle_close. Fixed Bugzilla #1387. Thu Dec 12 12:50:34 2002 Douglas C. Schmidt * ace/OS.cpp: Changed a cast of unique_name to &unique_name to fix a bug on pSoS. Thanks to Dieter Knueppel for reporting this. Thu Dec 12 12:55:41 2002 Steve Huston * ace/OS.h: Add missing snprintf() method declaration for ACE_HAS_WCHAR Thu Dec 12 08:49:31 2002 Balachandran Natarajan * ace/Log_Msg.cpp: Fixed a warning in LynxOS builds. Thu Dec 12 06:18:02 2002 Chad Elliott * bin/MakeProjectCreator/modules/Parser.pm: Fixed a bug with setting and retrieving the current working directory. Thanks to Steve Huston for reporting this. Thu Dec 12 00:01:37 2002 Balachandran Natarajan * netsvcs/clients/Naming/Client/Makefile: Fixed a small problem in static builds. Hopefully they should be fine in the next round of builds. Wed Dec 11 23:11:09 2002 Balachandran Natarajan * bin/clean_sems.sh: A shell script to remove semaphores. Integrating the script that Ossama used to the daily build system. Wed Dec 11 21:05:49 2002 Steve Huston * ace/Message_Block_T.cpp: * examples/ASX/Message_Queue/priority_buffer.cpp: * examples/Misc/test_read_buffer.cpp: * examples/Threads/TSS_Obj.h: Added missing #include "ace/Malloc_Base.h" to build clean on AIX, Visual Age C++ 6. * examples/C++NPv1/Logging_Client.cpp: * examples/C++NPv2/Reactor_Logging_Server.cpp: * examples/C++NPv2/Service_Reporter.cpp: * examples/C++NPv2/SLD.cpp: * examples/C++NPv2/SLDex.cpp: Add missing #include "ace/Log_Msg.h" to pick up ACE_ERROR_RETURN for AIX Visual Age C++ 6. * examples/C++NPv2/Makefile.SLD: Remove the tempinc-bashing redefinition of COMPILE.cc... that only works if there's a single source file for each program. Wed Dec 11 19:33:19 2002 Steve Huston * ace/config-hpux-10.x-hpc++.h: * ace/config-hpux-10.x.h: Picked up these changes from the 11.x config: Sat Nov 23 17:54:18 2002 Steve Huston * ace/config-hpux-11.00.h: Control the ACE_HAS_STANDARD_CPP_LIBRARY and ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB settings by compiler- defined macro _HP_NAMESPACE_STD, not passing them through from platform_hpux_aCC.GNU. Similarly with ACE_HAS_EXCEPTIONS (define it unless __HPACC_NOEH is set). This breaks a coupling from the platform_hpux_aCC.GNU file, and will make autoconf easier as well as making it easier for users to write makefiles without following the ties through and trying to duplicate them. Also, include config-posix.h to let it pick up system-supplied settings. * ace/Time_Value.h: For HP-UX 10, need to typedef timespec_t because the OS doesn't define it. Wed Dec 11 17:05:28 2002 Balachandran Natarajan * examples/Reactor/WFMO_Reactor/Talker.cpp: Fixed a warning in Borland builds. Wed Dec 11 17:00:21 2002 Balachandran Natarajan * ace/WIN32_Asynch_IO.cpp: Fixed a warning in Borland builds. Tue Dec 10 19:42:29 2002 Steve Huston * ace/OS.{h cpp}: Added new method, ACE_OS::snprintf() that wraps native snprintf() if available (ACE_HAS_SNPRINTF for char, ACE_HAS_XPG4_MULTIBYTE or ACE_WIN32 for wide char); else returns -1, ENOTSUP. * ace/config-linux-common.h: Add detection for ACE_HAS_SNPRINTF. * ace/config-win32-common.h: Removed #define ACE_HAS_VSWPRINTF. vswprintf() on Windows is not the standard way, and this setting was only used for Win32. See comments in OS.cpp, sprintf(wchar_t...) for more info. Added ACE_HAS_SNPRINTF in its place. * ace/Log_Msg.cpp (log): Don't overrun the msg_ buffer while building the logged message. Silently stops logging characters when the limit is reached. Also, on %a aborts, don't just do a "while (1);" on WinCE. Forcing the user to cycle power is not a good idea. * tests/Log_Msg_Test.cpp: Add a test case for logging a string that can't possibly fit in the logging buffers. Tue Dec 10 18:10:41 2002 Steve Huston * tests/Proactor_Test.cpp: Changed the default proactor type to DEFAULT. If a specific proactor implementation type is desired, that must be specified now. This matches ACE's behavior that users will get unless they specifically change it. Also, changed loglevel to be 0 (only highlights and errors), 1 (more progress information), and 2 (all operation parameters and result information). The default is 0, allowing for increased load on this test without creating gigantic log files. All platforms now use the same test parameters (clients, byte counts, threads, etc.) except that if the SUN proactor is selected, the test will run with one thread regardless of user selection. The ACE_SUN_Proactor's completion detector (aiowait) is not multithread safe. Tue Dec 10 17:19:06 2002 Balachandran Natarajan * tests/OS_Test.cpp (ACE_TMAIN): Integrated the latest tests from Alain for string_strsncpy_test (). The test is more robust and tests things better. It also has comments on what it is testing :-). Tue Dec 10 16:53:29 2002 Steve Huston * tests/OS_Test.cpp: Add missing '=' signs to fix compile error on wide-char builds. Tue Dec 10 16:05:37 2002 Balachandran Natarajan * Makefile: Added a target 'reverseclean' * bin/reverse_clean: Added a small perl script that does a realclean in the reverse order on the directories passed to it. The motivation for this is that some of our builds dont clean up properly due to the dependencies. The reason for this is that ace/ACE_COMPONENTS.list gets wiped out first, preventing things that examine the components list (like netsvcs) from getting cleaned. Hence we need to do a 'realclean' in reverse order of the builds. Tue Dec 10 13:23:37 2002 Nanbor Wang * bin/PerlACE/Process.pm: * bin/PerlACE/Process_Win32.pm: * bin/PerlACE/Process_Unix.pm: Changed WAIT_DELAY_FACTORY from a data member in Process_Win32 to a global data in PerlACE::Process. You can now define an environment variable "ACE_RUNTEST_DELAY" on both Win32 and UNIX to multiply the wait time with the number. The same trick that I added last time into Process_Win32 to invoke tests with purify should also work with valgrind. * bin/PerlACE/Run_Test.pm (waitforfile): Changed to multiply the wait time with the PerlACE::Process::WAIT_DELAY_FACTOR . Tue Dec 10 10:20:35 2002 Balachandran Natarajan * ace/Synch.cpp: Commented out the dump () call on ACE_cond_t, which caused build errors from the checkin "Mon Dec 9 18:54:09 2002 Douglas C. Schmidt ". There is no dump method on ACE_cond_t. Fixed the return type of the implementation to match the declaration. Mon Dec 9 18:54:09 2002 Douglas C. Schmidt * ace/Synch.{h,cpp}: Added a dump() method to the template specialization of ACE_Condition. Thanks to Mathias Waack for reporting this. * ace/Get_Opt.{h,i} Added a new argc() accessor. Thanks to Volker Boerchers for contributing this. Mon Dec 9 17:58:31 2002 Steve Huston * tests/Multicast_Test.cpp: Added missing template instantiation for Sun Workshop 5 compiler. Mon Dec 9 17:27:49 2002 Steve Huston * tests/Recursive_Condition_Test.cpp: In test_4, wait for the waiter thread to wake up and exit itself before checking the mutex recursion count. Else, the waiter may have the mutex while the main thread is checking the count and detect a false fail. Mon Dec 9 17:02:41 2002 Steve Huston * include/makeinclude/platform_aix_ibm.GNU: Change from using -qtemplateregistry to use -qtempinc for Visual Age C++ 6 template handling. -qtemplateregistry is a nice idea, but generates too many errors from missing templates. Using -qtempinc still generates gobs of multiple-instantiation warnings, but the build is correct and the tests run. * bin/aix_shr: Add the error number patterns for VA 6's multiple template instantiation warnings to the filter-out pattern. Mon Dec 9 15:42:39 UTC 2002 Don Hinton * examples/C++NPv1/Reactive_Logging_Server_Ex.cpp: Removed duplicate template specialization for ACE_Hash on Windows that's no longer needed. Mon Dec 9 07:41:39 2002 Balachandran Natarajan * tests/OS_Test.cpp: * ace/OS_String.cpp (strsncpy): Fixed a cut and paste error. Mon Dec 9 00:09:55 2002 Balachandran Natarajan * ace/INET_Addr.cpp (get_host_addr): Changed the usage of strncpy () to strsncpy (). Thanks to Alain Decamps for donating this patch. Sun Dec 8 23:56:09 2002 Balachandran Natarajan * ace/OS_String.cpp: Applied patches from Alain Decamps to make strsncpy () more robust. If dst == src, the return string will have utmost 'maxlen'. * tests/OS_Test.cpp: Added a test case for strsncpy (). Thanks to Alain Decamps for donating the patch. Sun Dec 08 22:44:07 2002 Balachandran Natarajan * ace/Functor.h (void *): * ace/Functor.i: Added a template specialization for ACE_Hash . Sun Dec 08 09:45:34 UTC 2002 Johnny Willemsen * ace/Map_Manager.h: * ace/SString.h: * ace/Unbounded_Queue.h: Improved doxygen documentation Sun Dec 08 09:37:12 UTC 2002 Johnny Willemsen * etc/*.doxygen: Set JAVADOC_AUTOBRIEF to NO in all doxygen config files. When only javadoc style documentation is used, only detailed documentation is generated. Sun Dec 08 01:17:26 2002 Nanbor Wang * ace/Event_Handler.cpp: Fixed a typo. Thu Dec 5 20:30:56 2002 Douglas C. Schmidt * ace/Event_Handler.cpp: Updated the implementation of ACE_Event_Handler::read_adapter() so that the code is consistent with the stated semantics. Thanks to Ron Muck for the fix. * ace/OS_Dirent.inl (readdir_r): Enhanced the ACE_OS_Directn::readdir_r() wrapper facade so that it returns 1 (i.e., "done") when an error occurs. Thanks to Abhay Kulkarni for reporting this. Sat Dec 7 19:54:12 2002 Steve Huston * ace/OS.h: For WinCE, define S_IFDIR and S_IFREG file mode masks. Sat Dec 07 14:29:47 2002 Nanbor Wang * ace/ACE.cpp (format_hexdump): This change fixed the problem that a character is missing when the last line has less than 16 bytes or less to display. Thanks to Terry Lao for submitting the patch, and Johnny Willemsen for reviewing the change. Fri Dec 6 23:58:47 2002 Balachandran Natarajan * ace/CDR_Stream.cpp: * ace/CDR_Stream.i: Set good_bit_ to zero whenever the sanity check for remaining length in the stream fails. Thanks to Jerry D. De Master for pointing out the problem. * ace/CDR_Array_Test.cpp: Extended the test to include test for checking the value of good_bit () by forcing an erroneous read. Fri Dec 6 16:26:49 2002 Krishnakumar B * ace/FILE_Addr.cpp (set): Windows appends ASCII 'a' - 'z' and 'A' - 'Z' to generate unique filenames and gives up if the character in the template is a non-alphabetic character. In such cases, it returns a NULL. Make sure that we supply a template with a alphabetic character before XXXXXX as well as check for a NULL return value. Thu Dec 5 22:19:41 2002 Steve Huston * ace/OS.{h i}: Added ACE_OS::sigwaitinfo() wrapper. * ace/POSIX_Proactor.{h cpp} (ACE_POSIX_SIG_Proactor): Clean up some spelling and formatting in documentation comments. Clean up the signal calls, and substitue ACE_OS calls for naked API calls. Unless we have specific evidence to the contrary, trust what the OS says with signal information. Otherwise, if we run through all the aiocbs on every signal, we could get into a situation where deferred I/O operations are never restarted. * ace/POSIX_CB_Proactor.h: Changed the comments to say this is a callback-based proactor, not an SGI IRIX one. The callback paradigm is part of newer POSIXes and available on more than SGI... HP-UX, for instance. Thu Dec 5 20:33:18 2002 Steve Huston * ace/config-aix-4.x.h: Removed ACE_NEEDS_DEV_IO_CONVERSION. This seems like a ludicrous workaround to some old, buggy compiler. Thu Dec 5 14:35:50 2002 Balachandran Natarajan * netsvcs/clients/Naming/Client/Makefile: Do not build in static builds. Thu Dec 5 09:45:25 2002 Douglas C. Schmidt * examples/Synch/proc_sema.cpp: Fixed some typos. Thanks to Andy King for reporting this. Thu Dec 5 07:39:45 2002 Balachandran Natarajan * bin/auto_run_tests.lst: Removed Bug_1020_Regression from the nightly regression test on Win32. Thu Dec 5 09:58:45 UTC 2002 Don Hinton * ace/config-openbsd-pthread.h: Added ACE_LACKS_PERFECT_MULTICAST_FILTERING 1. This should fix the errors in the test/Multicast_Test in the nightly autobuilds. Wed Dec 4 21:53:28 2002 Steve Huston * ace/OS.h: Include for __hpux platform. * ace/OS.cpp (num_processors_online): Try the syscall for this on HP-UX if __hpux is defined, not hpux (only set for g++). Wed Dec 4 21:18:31 2002 Steve Huston * ace/Proactor_Timer_Test.cpp: Fix incorrect use of pointer-integer casting. Log pointers with %@, not %x. Wed Dec 4 21:11:41 2002 Steve Huston * tests/Proactor_Test.cpp: Set all the default options and values before parsing command line options to make it easy to predictably vary things by hand. Also, rather than run for a determined number of seconds, run a specific number of bytes around the loop. This limits the size of the log, especially nice for fast processors. Thanks to Johnny Willemsen for this idea. Wed Dec 4 18:37:10 2002 Balachandran Natarajan * bin/auto_run_tests.lst: Added a Server_Connection_Purging to the nightly regression tests. Wed Dec 4 17:47:49 2002 Steve Huston * tests/Proactor_Test.cpp: On Sender read complete, start another read if either in full duplex mode OR writing has been stopped. We want to catch the Receiver closing the socket (read 0 bytes). Wed Dec 4 11:41:15 2002 Balachandran Natarajan * bin/auto_run_tests.lst: Added a Bug_1020_Regression to the nightly regression test on Win32. Tue Dec 3 20:47:39 2002 Steve Huston * ace/SSL/SSL_Context.cpp: Add explicit instantiation of ACE_Singleton::singleton_. * netsvcs/lib/Name_Handler.cpp: Add explicit instantiation of ACE_Singleton::singleton_. * netsvcs/lib/Server_Logging_Handler.cpp: Add explicit instantiation of ACE_Server_Logging_Handler_T::request_count_; * tests/Framework_Component_DLL.cpp: Add explicit instantiation of ACE_DLL_Singleton_T, ACE_SYNCH_MUTEX>::singleton_. * tests/MEM_Stream_Test.cpp: Add explicit instantiation of ACE_Singleton, ACE_SYNCH_RECURSIVE_MUTEX>::singleton_. * tests/Process_Strategy_TEst.cpp: Add explicit instantiation of ACE_Singleton::singleton_. * tests/Timeprobe_Test.cpp: Add explicit instantiation of ACE_Singleton::singleton_. These are similar to those done in: Sat Nov 23 18:12:37 2002 Steve Huston * netsvcs/clients/Naming/Client/Makefile: * netsvcs/clients/Naming/Dump_Restore/Makefile: Add ACELIB to LIBS to include -lACE for building the shared libs. rules.lib.GNU doesn't add VLDLIBS when linking a shared lib, but rules.bin.GNU adds it for binaries. This should probably be changed, but it's a quagmire to wade into at this point, and autoconf is coming. This fix is needed now to get this stuff building with g++ on AIX. Mon Dec 2 20:09:29 2002 Steve Huston * examples/C++NPv1/Reactive_Logging_Server_Ex.cpp: * ACEXML/common/Mem_Map_Stream.cpp: * ACEXML/common/URL_Addr.cpp: * ACEXML/common/XML_Codecs.cpp: Added missing explicit template instantiations to build clean on Sun Workshop 5. Mon Dec 2 19:41:27 2002 Steve Huston * tests/Proactor_Test.cpp: Rather than close connections outright when beginning to shut down test, just shut down the write side. This is an effort to make the receiving closes cleaner. Mon Dec 2 17:58:06 2002 Balachandran Natarajan * ace/ACE.cpp: Fixed a compile error with g++. Sat Nov 30 09:18:51 2002 Douglas C. Schmidt * ace/ACE.{h,cpp}: Added a new crc32() method that works on an iovec. Thanks to Tufan Oruk for contributing this. * THANKS: Just added our 1,600 contributor to ACE+TAO! Mon Dec 02 18:59:33 UTC 2002 Johnny Willemsen * ace/DLL.h: * ace/Dirent.h: * ace/Future_Set.h: * ace/UPIPE_Connector.h: * ace/UPIPE_Acceptor.h: * ace/UNIX_Addr.h: * ace/Configuration_Import_Export.h: Improved doxygen documentation. Mon Dec 02 18:47:32 UTC 2002 Johnny Willemsen * THANKS: Added Tim Smith Sun Dec 01 10:16:45 2002 Balachandran * ACE version 5.2.7 released. Sat Nov 30 22:46:00 2002 Balachandran Natarajan * THANKS: Added Christophe Vedel to the hall of fame. Fri Nov 29 12:23:14 2002 Nanbor Wang * ace/Thread_Manager.h (ACE_Thread_Manager): Changed all the accessors to the Thread_Descriptor to be protected. * ace/Thread_Manager.i: Removed assertion test for null Thread_Descriptor pointer. This can happen when calling thread_desc_self() from a thread not spawned by the Thread_Manager, e.g., the main thread. Added checks in all ACE_Thread_Manager::at_exit for null thread_desc_self to avoid crash. Thanks to Mathias Waack for reporting the bug. Thu Nov 28 06:36:04 2002 Douglas C. Schmidt * apps/soreduce/Makefile: Changed INSBIN from $ACE_ROOT/bin/soreduce/ to $ACE_ROOT/bin/. Thanks to Jaroslaw Nozderko for reporting this. Thu Nov 28 07:54:28 2002 Craig Rodrigues * docs/tutorials/022/Acceptor_Service.h: Add include of svc_export.h to fix compilation errors. Thanks to Viktor Ransmayr for reporting the problem. Not sure whether this example would still compile fine. Thu Nov 28 09:04:12 UTC 2002 Johnny Willemsen * ace/FILE.h: * ace/Default_Constants.h: Improved usage of doxygen commands. Thu Nov 28 07:23:12 UTC 2002 Johnny Willemsen * ace/Typed_SV_Message_Queue.h: * ace/Strategies_T.h: * ace/Framework_Component.h: Improved doxygen documentation. * ace/TLI_Connector.i: Made method definition and implementation the same. Wed Nov 27 22:38:15 2002 Balachandran Natarajan * ace/Connector.h: * ace/Connector.cpp: Fix for BUG 1361. Please see http://deuce.doc.wustl.edu/bugzilla/show_bug.cgi?id=1361 for more details on the problem. The fix is based on the assumption that ACE_Connector need not be resumed by the TP_Reactor when used for asynch connects. The supporting reason for this assumption is that during connection completion or connection closure, the handler ie. the ACE_Connector in this case is removed from the Reactor. Hence this fix, which essentially implements the virtual function resume_handler () and prevents itself from being resumed. Thaks to Irfan for reviewing the fix. Wed Nov 27 20:35:49 2002 Steve Huston * include/makeinclude/platform_aix_ibm.GNU: Add Visual Age C++ 6 to the list of compiler versions it knows about. For VA 6, use the new -qtemplateregistry build option to try to be more efficient about template compilation. It's still lamer than most though, and Visual Age C++ 6 needs the aixshr filter to weed out the Duplicate Symbol warnings. * include/makeinclude/rules.local.GNU: Add templateregistry to the files/directories removed on clean. It's used by Visual Age C++ 6. Wed Nov 27 19:42:51 2002 Steve Huston * tests/MT_Reactor_Upcall_Test.cpp: Send and receive each message field specifically; don't rely on the type and size fields being adjacent in memory. On 64-bit Solaris w/ Forte 7 and on 64-bit Windows XP, they aren't. Wed Nov 27 15:47:41 2002 Steve Huston * ace/config-aix5.1.h: Add #define ACE_HAS_AIO_CALLS, but commented out. AIX did things differently enough here to be a real problem. It should be possible to get AIO working on AIX 5, but it will take some real work. * ace/POSIX_Proactor.cpp: Add #include "ace/ACE.h" * ace/Sock_Connect.cpp: Visual Age C++ 6 still needs to hack to get the templates built correctly :-( Changed the compile-time check to an alleged Visual Age C++ 7 to see if they get it right then. * ACEXML/common/Env.i: Add missing #include "ace/Log_Msg.h" to pick up ACE_ASSERT. * ACEXML/common/FileCharStream.cpp: * ACEXML/common/StrCharStream.cpp: Add missing #include "ace/Log_Msg.h" * ACEXML/common/NamespaceSupport.h: * ACEXML/parser/parser/Entity_Manager.h: Add missing #include "ace/Synch.h" Wed Nov 27 07:23:30 2002 Balachandran Natarajan * bin/auto_run_tests.lst: Two new tests cannot run in single threaded builds. Wed Nov 27 09:30:33 UTC 2002 Johnny Willemsen * ace/DLL.h: * ace/Singleton.h: Improved doxygen documentation. Tue Nov 26 20:04:38 2002 Steve Huston * tests/Proactor_Test.cpp: Added checks for condition where a read or write fails to initiate because the socket was closed. For Windows, this is a ERROR_NETNAME_DELETED error on the ReadFile/WriteFile call under ACE_WIN32_Asynch_Read/Write_Stream. The test now checks for this and doesn't report an error, but this is a departure from what one would expect from a socket. It might be better if the underlying call was changed to WSARecv/WSASend for Winsock2-enabled systems. Tue Nov 26 16:08:22 2002 Balachandran Natarajan * bin/auto_run_tests.lst: Added two new tests to our daily builds. Tue Nov 26 15:10:57 2002 Balachandran Natarajan * ACE-INSTALL.html: Updated the file to have the right GNU make version. Our make's dont work well with 3.78 and lower. Mon Nov 25 23:49:38 2002 Craig Rodrigues * ace/config-macosx.h: Updates for pthread configuration, provided by John Zorko and Rich Seibel . * ace/OS.i: * ace/Sock_Connect.cpp: Remove unnecessary __MACOSX__ macros. See: Thu Oct 17 19:18:02 UTC 2002 Craig Rodrigues Mon Nov 25 18:20:41 2002 Steve Huston * ace/config-hpux-11.00.h: Added #define ACE_SIZEOF_WCHAR _WCHAR_T to get ACEXML to compile. ACEXML's usage of ACE_SIZEOF_WCHAR breaks the previous allowance for ACE_SIZEOF_WCHAR to be sizeof (wchar_t) because it uses ACE_SIZEOF_WCHAR in a math expression. * examples/C++NPv2/Reactor_Logging_Server_Adapter.cpp: Added #include "ace/INET_Addr.h" to build clean on HP-UX. Mon Nov 25 20:32:02 UTC 2002 Don Hinton * ace/README: Added ACE_LACKS_PERFECT_MULTICAST_FILTERING. Mon Nov 25 18:58:33 2002 Johnny Willemsen * ace/Local_Name_Space_T.cpp: * ace/Process.h: * ace/Local_Name_Space_T.h: * ace/ATM_Params.h: * ace/Timer_Queue_Adapters.h: Improved documentation for doxygen generation. * ace/Svc_Handler.cpp: Made method definition and implementation arguments match. Sat Nov 23 20:01:36 2002 Balachandran Natarajan * apps/*/Makefile: Updated dependecies. Thanks to Erwin Rol for pointing out the problem. Sat Nov 23 18:12:37 2002 Steve Huston * ace/SString.cpp: Add explicit instantiation of ACE_String_Base::NULL_String_ and ACE_String_Base::NULL_String. * ace/Based_Pointer_Repository.cpp: Add explicit instantiation of ACE_Singleton:: singleton_. * ace/Dynamic.cpp: Add explicit instantiation of ACE_TSS_Singleton::singleton_. * tests/test_config.h: Added explicit instantiation of ACE_Singleton::singleton_. The above are only done when using automatic template instantiation on AIX with g++. Without this, the compiler and linker don't get things done right and static data members in templates don't get instantiated correctly. * ace/SSL/Makefile: Set LIBS = $(ACELIB). Else it won't link on AIX, g++. * include/makeinclude/platform_aix4_g++.GNU: Removed. Use platform_aix_g++.GNU instead. They were similar, though not equal, and confusing each other. * include/makeinclude/platform_aix_g++.GNU: Fixed to work correctly and is now the one to use for AIX 4 and 5 with g++. Sat Nov 23 18:03:41 2002 Steve Huston * ace/String_Base.i (compare): Fix a size_t/int mismatch. Sat Nov 23 17:54:18 2002 Steve Huston * ace/POSIX_CB_Proactor.{h cpp}: Changes to align with recent ACE_POSIX_AIOCB_Proactor changes: changed handle_events (ulong) to handle_events_i() and made nonvirtual. Removed get_result_status(), cancel_aiocb(), and cancel_aio() since they simply forwarded to ACE_POSIX_AIOCB_Proactor. Remove most of allocate_aio_slot(); call up to ACE_POSIX_AIOCB_Proactor::allocate_aio_slot then tweak the aiocb fields for the callback. * ace/config-hpux-11.00.h: Control the ACE_HAS_STANDARD_CPP_LIBRARY and ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB settings by compiler- defined macro _HP_NAMESPACE_STD, not passing them through from platform_hpux_aCC.GNU. Similarly with ACE_HAS_EXCEPTIONS (define it unless __HPACC_NOEH is set). This breaks a coupling from the platform_hpux_aCC.GNU file, and will make autoconf easier as well as making it easier for users to write makefiles without following the ties through and trying to duplicate them. Also, include config-posix.h to let it pick up system-supplied settings. * ace/OS_Memory.h: In the HP aCC section, remove the checks for aCC version > 32500 and _HP_NAMESPACE_STD... just use the ACE_HAS_STANDARD_CPP_LIBRARY setting from config-hpux-11.00.h. * ace/Proactor.cpp (ctor): When no implementation is supplied, be sure to make one up, even w/o presence of realtime signals. * include/makeinclude/platform_hpux_aCC.GNU: If stdcpplib is not specified by user, set it to 1 always, unless the compiler is a .2x version and not .27 (03.27 (01.27 on 10.20) is the first version that can do -AA); makes it unnecessary to update this every time HP releases a new compiler version. Also rearranged the thread-related compiler option settings to be simpler and easier to match with what the documentation says to set. Removed the ACE_HAS_STANDARD_CPP_LIBRARY settings; they're defined in ace/config-hpux-11.00.h when proper (see above). Also, added +W930 to CCLFAGS when -AA to stop a spurious warning about placement operator delete on aC++ 03.37, 03.39. Sat Nov 23 17:43:29 2002 Steve Huston * ace/ACE.cpp (send_n): Properly update byte count for each message block in the chain to send. Thanks to Venkita Subramonian for reporting this and sending a fix. Sat Nov 23 16:55:39 2002 Steve Huston * tests/MEM_Stream_Test.cpp: * tests/Notify_Performance_Test.cpp: * tests/Priority_Reactor_Test.cpp: * tests/Process_Manager_Test.cpp: * tests/Reactor_Performance_Test.cpp: Replaced calls to the deprecated ACE_Reactor::run_event_loop() and end_event_loop() with run_reactor_event_loop() and end_reactor_event_loop(). * tests/Proactor_Test.cpp: Add missing \n in an ACE_DEBUG message. Sat Nov 23 00:16:59 2002 Craig Rodrigues * ace/config-posix.h: Define ACE_HAS_PTHREADS_STD if platform defines _POSIX_THREADS. Fri Nov 22 13:48:39 2002 Nanbor Wang * ace/Containers_T.cpp (init_head): Broke up the cascading pointer assignments to avoid a problem when using position independent pointer. Thanks to Eugene Alterman for reporting this. * ace/Svc_Conf.l: * ace/Svc_Conf_l.cpp: Changed to always remove the matching quote character (' or ") instead of first search for double quote, then single quote. Thanks to Johnny Willemsen for sumitting the patch. Fri Nov 22 04:52:16 2002 Bala * ACE version 5.2.6 released. Tue Nov 19 22:36:38 2002 Ossama Othman * ace/Time_Value.h (sec, usec, msec): Documentation updates/clarifications. * ace/Time_Value.cpp (operator++, operator--): Fixed postfix increment and decrement operators. Previously they had the same implementation as their prefix increment and decrement operator counterparts. A copy of the ACE_Time_Value is now done prior to in/decrementing it via the corresponding prefix operator. That copy is returned. A copy is only performed for the postfix case. Tue Nov 19 18:14:10 2002 Pradeep Gore * bin/auto_run_tests.lst: Modified Notify configurations. * bin/auto_run_tests.pl: Checkin on behalf of Irfan - Changed logic so that it checks for the existence of the executable and not of the parameters passed to the executable. Tue Nov 19 07:09:15 2002 Balachandran Natarajan * bin/auto_run_tests.lst: Tests not runnable in minimum configuration were being run. Hence prevented them from running. Mon Nov 18 20:49:33 2002 Nanbor Wang * examples/IPC_SAP/FILE_SAP/client.cpp (ACE_TMAIN): Changed to use predefined ACE_DEFAULT_FILE_PERMS instead of the non-portable 0666. Mon Nov 18 12:27:46 2002 Balachandran Natarajan * ace/Dev_Poll_Reactor.cpp (handler): * ace/WFMO_Reactor.i (handler): * ace/Select_Reactor_Base_T.cpp (handler_i): The methods that returns a signal handler associated with a certain type of signal, does restrictive sanity checks. One of the checks that it performs is to see whether a pointer to an event_handler is 0 just before assigning a new event handler pointer. This check was not required at all and hence it is now removed. Thanks to Edan Ayal for reporting this. Sat Nov 16 09:38:38 2002 Balachandran Natarajan * ace/*/Makefile: * tests/Makefile: * examples/*/Makefile: * performance-tests/*/Makefile: * ACEXML/*/Makefile: Updated dependencies. Fri Nov 15 20:33:02 UTC 2002 Don Hinton * ace/SOCK_Dgram_Mcast.h: * ace/config-all.h: Added new macro for platforms that don't yet implement the new IGMPv3, perfect multicast filtering, and replaced the #ifdef linux in the ACE_SOCK_Dgram_Mcast::ctor with the new macro, since this isn't just a linux thing. * ace/config-aix-4.x.h: * ace/config-freebsd.h: * ace/config-linux-common.h: * ace/config-netbsd.h: * ace/config-openbsd.h: Defined ACE_LACKS_PERFECT_MULTICAST_FILTERING for these platforms. * ace/SOCK_Dgram_Mcast.cpp (open_i): Removed redundant call to ACE_SOCK::set_option() to set SO_REUSEADDR, since it's set in the call to ACE_SOCK::open(). This fixes [bug 1111]. * tests/Multicast_Test.cpp: Enhanced test by adding new options control the wait time when running test as a CONSUMER only, and contol the TTL so the test could be used over routers. Also cleaned up the code a bit to make it more readable. Thanks to Bill Fulton for motivating these enhancements. Fri Nov 15 14:16:10 2002 Nanbor Wang * ace/Thread_Exit.h: * ace/Thread_Exit.cpp (cleanup): Changed the type of the argument takes to the generic (void*) and avoid including in Thread_Exit.h. This eliminated the circular header dependencies when ACE_LEGACY_MODE is define. * ace/ace_dll.dsp: * ace/ace_lib.dsp: Removed some template files from the build lists and make sure all template files are not being built. Fri Nov 15 13:22:41 2002 Steve Huston * tests/Proactor_Test.cpp: On Win32, check for canceled I/O using ERROR_OPERATION_ABORTED instead of ECANCELED. Fri Nov 15 16:51:11 UTC 2002 Craig Rodrigues * ace/POSIX_CB_Proactor.h: * ace/POSIX_CB_Proactor.cpp: Do not build on Lynx. Fri Nov 15 14:14:39 UTC 2002 Craig Rodrigues * ace/POSIX_CB_Proactor.h: * ace/POSIX_CB_Proactor.cpp: Do not build on Sun. Fri Nov 15 14:08:11 UTC 2002 Craig Rodrigues * include/makeinclude/platform_linux.GNU: Linux glibc has aio_ and pthread_ calls in librt.so. Add fix so that librt.so is linked in if threads=0. Fri Nov 15 07:48:37 2002 Balachandran Natarajan * tests/OS_Test.cpp: Added the test cases for itoa from Joseph Sarbak . Fri Nov 15 07:08:46 2002 Balachandran Natarajan * bin/auto_run_tests.lst: Fixed a few minor problems that showed up in the daily builds. Thu Nov 14 22:08:49 2002 Steve Huston * tests/Proactor_Test.cpp: Make this test behave better: - At the end of running time, close all the Senders. This should cancel all the Sender outstanding operations and trip all the Receivers into finishing their receives and closing themselves. - Change the default Sender/Receiver count from 20 to 10. This shrinks the log a bit without sacrificing test quality. - Change the "inferior platforms" default Sender/Receiver count from 1 to 3. With Proactor improvements made so far, let's give these platforms some more exercise and see what happens. Thu Nov 14 23:10:32 UTC 2002 Craig Rodrigues * ace/POSIX_CB_Proactor.cpp: * ace/POSIX_CB_Proactor.h: * ace/POSIX_CB_Proactor.i: * ace/POSIX_Proactor.cpp: * ace/POSIX_Proactor.h: * ace/POSIX_Proactor.i: * ace/Proactor.cpp: * tests/Proactor_Test.cpp: Fixed Proactor so that on platforms that support POSIX IO, but not POSIX RT signals, it will compile. Use the new ACE_HAS_POSIX_REALTIME_SIGNALS macro. Thu Nov 14 22:47:45 UTC 2002 Craig Rodrigues * include/makeinclude/platform_freebsd.GNU: Merged with the pthread version of this file. To compile without threads, set, do make threads=0, or set threads=0 in this file. * include/makeinclude/platform_freebsd_pthread.GNU: Removed. * ace/config-freebsd.h: Merge with pthread version of this file. * ace/config-freebsd-pthread.h: Removed. * ace/OS.h: Use new ACE_HAS_POSIX_REALTIME_SIGNALS macro for POSIX RT signals stuff, instead of ACE_HAS_AIO_CALLS. FreeBSD has POSIX AIO, but not POSIX RT signals. * ace/config-sunos5.6.h: Define ACE_HAS_POSIX_REALTIME_SIGNALS, ACE_HAS_POSIX_MESSAGE_PASSING. * ace/config-linux-common.h: Define ACE_HAS_POSIX_REALTIME_SIGNALS, ACE_HAS_AIO_CALLS. Thu Nov 14 16:19:57 2002 Balachandran Natarajan * bin/auto_run_tests.lst: Added two tests, Bug_1269_Regression and Bug_1270_Regression into the daily regression suite. They will not run on Win32. Thu Nov 14 13:35:44 2002 Nanbor Wang * ace/Containers_T.cpp: Changed to deallocate internal nodes in ACE_Double_Linked_List with the allocator. Thanks to Eugene Alterman for reporting the problem. Thu Nov 14 10:57:47 2002 Carlos O'Ryan * ace/OS.h (ace_timezone): Fixed broken implementation for Linux. Call tzset() and then return the global "timezone" variable instead. [Bug 1359] Thu Nov 14 12:19:51 2002 Chad Elliott * bin/MakeProjectCreator/modules/Creator.pm: Modify the way projects are created on windows. If using cygwin perl then use \n instead of \r\n. * bin/MakeProjectCreator/modules/VC7WorkspaceCreator.pm: Sort the list of projects to make the generated solution file more similar to actual solution files. Thu Nov 14 06:16:51 2002 Chad Elliott * bin/MakeProjectCreator/modules/Parser.pm: Take into account relative directories in the cd() method. The original optimization overlooked this. Thu Nov 14 06:59:12 UTC 2002 Johnny Willemsen * ace/Date_Time.{h,i}: Added update() method with which it is possible to set the values in ACE_Date_Time based on a passed ACE_Time_Value. * ace/Time_Request_Reply.{h,cpp}: Made the argument of the timeout method const&. Updated doxygen documentation and marked init() as deprecated because it is a no-op. Wed Nov 13 18:28:39 2002 Steve Huston * tests/FIFO_Test.cpp: Changed to both clarify the usage of ACE_FIFO_(Send|Recv)_Msg with and without ACE_HAS_STREAM_PIPES and test that usage. Wed Nov 13 17:39:41 2002 Steve Huston * ace/POSIX_Proactor.{h cpp}: * ace/SUN_Proactor.{h cpp}: Leave two handle_events() methods available; one with a timeout, one without. Each proactor's implementations calls an internal handle_events_i() method that does the right thing. (start_aio): This is a virtual method used to start an asynch I/O request from outside the proactor (such as from an asynch read stream). When the actual operation is to start, start_aio calls start_aio_i(), implemented differently for the different proactors. Similar arrangement for cancel_aio(). * tests/Proactor_Test.cpp: Cancel all outstanding operations before trying to abruptly stop everything. Wed Nov 13 17:29:31 2002 Steve Huston * ace/WIN32_Asynch_IO.h (cancel_uncompleted): Filled in description of the 'set' parameter. Thanks to Craig Rodrigues for noticing its omission. Wed Nov 13 16:52:04 UTC 2002 Craig Rodrigues * ace/Lib_Find.cpp (ldname): MacOS X prepends an underscore to symbols in shared libaries. * ace/config-macosx.h: * include/makeinclude/platform_macosx.GNU: - add support for dlcompat, a third party package which provides dlopen(), dlsym(), dlcose() functions - Define ACE_LD_SEARCH_PATH to DYLD_LIBRARY_PATH and ACE_LD_SUFFIX to .dylib Tue Nov 12 14:12:59 2002 Balachandran Natarajan This is a hackish fix for BUG 1361. Please see http://deuce.doc.wustl.edu/bugzilla/show_bug.cgi?id=1361 for details of this problem * ace/TP_Reactor.cpp (handle_socket_events): A hack to prevent BUG 1361 from surfacing for applications like TAO, using the TP_Reactor. This fix basically ensures that resume_i () is not called naively. * ace/Event_Handler.h: Added a enum type which could be could be used by the TP_Reactor. Tue Nov 12 11:53:29 2002 Steve Huston * tests/run_test.lst: Change FIFO_Test from !MSVC to !Win32 to prevent it from running with Borland on Windows. Thanks to Johnny Willemsen for pointing this out. Tue Nov 12 14:11:33 UTC 2002 Johnny Willemsen * ace/Time_Value.h: Doxygen documentation improvements. Tue Nov 12 13:15:12 UTC 2002 Johnny Willemsen * ace/Message_Queue_T.h: Doxygen documentation improvements. Mon Nov 11 20:37:18 2002 Ossama Othman * bin/auto_run_tests.lst: Added Jai's application-controlled membership load balancing test to the list of regression tests to be run. Mon Nov 11 17:57:12 2002 Ossama Othman * bin/auto_run_tests.lst: Added Carlos' new PortableInterceptor AMI test to the list of regression tests to be run. Mon Nov 11 16:17:59 2002 Nanbor Wang * bin/MakeProjectCreator/modules/TemplateParser.pm (relative): Changed to invoke slash_to_backslash from $self. The original code only runs on some specific version of perl. Mon Nov 11 13:35:53 2002 Douglas C. Schmidt * ace/Hash_Map_Manager_T.h: Updated comments on the class ACE_Hash_Map_Bucket_Iterator. Thanks to Kitty and Irfan for helping with this. Mon Nov 11 12:52:41 2002 Steve Huston * docs/ACE-subsets.html: Added the Timer component to the list of buildable pieces. Thanks to Jason Pasion for reporting this problem. * THANKS: Added Jason Pasion to the Hall of Fame. Mon Nov 11 12:39:18 2002 Steve Huston * ace/FIFO_Send_Msg.cpp (send): When setting iovec length, static_cast the int length to size_t; the target is not an int (as the strbuf length is). When returning the sent byte count, don't include any additional bytes added internally for record framing. * tests/FIFO_Test.cpp: New test to exercise basic and overflow message-based FIFO I/O. * tests/Makefile: * tests/run_test.lst: Added FIFO_Test. Disabled on MSVC builds since Windows doesn't have FIFOs. Mon Nov 11 09:58:13 2002 Douglas C. Schmidt * ace/CDR_Stream.{i,cpp} Add casts to ACE_CDR::Octet and ACE_CDR::Boolean to prevent warnings when run with MSVC++ level 4 warnings. Thanks to Lukas Gruetzmacher for motivating this fix. * ace/OS_String.cpp (itoa_emulation): Updated the code so that it'll work correctly with negative numbers. Thanks to Joseph Sarbak for reporting this and providing a fix. Sun Nov 10 19:38:45 2002 Balachandran Natarajan * ace/Message_Block.cpp(copy): The copy () methods were copying data till the end_ pointer. This is a wrong assumption, especially in places where the alloted bytes are less than the allocated bytes. Now we use the space () method to find out the amount of space available in the data block for copying. Thanks to Edan Ayal for finding this and providing a patch. * ace/Simple_Message_Block_Test.cpp: Added a test which tests copying in a case where the alloted space is less than the allocated space. Thanks to Edan Ayal for this test case. Sat Nov 9 12:37:54 2002 Douglas C. Schmidt * docs/ACE-guidelines.html: Updated the ACE guidelines to refer to the correct Doxygen links. Thanks to Johnny Willemsen for reporting this. Sat Nov 9 21:48:31 2002 Steve Huston * tests/Proactor_Test.cpp: When disabling Nagle's, use IPPROTO_TCP, not SOL_SOCKET, for the setsockopt level. Fixes set_option errors in this test log. Sat Nov 9 18:49:11 2002 Steve Huston * ace/POSIX_Proactor.{h cpp i} (create_asynch_read_stream, create_asynch_write_stream, create_asynch_read_dgram, create_asynch_write_dgram, create_asynch_read_file, create_asynch_write_file, create_asynch_accept, create_asynch_connect, create_asynch_transmit_file): Refactored all the factory creation methods from ACE_POSIX_AIOCB_Proactor to ACE_POSIX_Proactor. Moved the pseudo task from ACE_POSIX_AIOCB_Proactor to ACE_POSIX_Proactor as well. (handle_events, cancel_aio): Added these methods to ACE_POSIX_Proactor as pure virtual, forcing their definition in the specific implementations. (start_aio): This is now a pure virtual function that all more specific proactors need to implement. The old start_aio() is now start_aio_i(). What used to be ACE_POSIX_AIOCB_Proactor:: register_and_start_aio() is now ACE_POSIX_AIOCB_Proactor::start_aio. Which type of I/O to start is now defined by an enum Opcode that's passed to start_aio(). * ace/POSIX_Asynch_IO.{h cpp} (ACE_POSIX_Asynch_Operation): Replace references to ACE_POSIX_AIOCB_Proactor with ACE_POSIX_Proactor. Refactoring things out of specific proactor types. (ACE_POSIX_Asynch_Read_Stream, ACE_POSIX_Write_Stream, ACE_POSIX_Asynch_Read_File, ACE_POSIX_Asynch_Write_File, ACE_POSIX_Asynch_Accept, ACE_POSIX_Asynch_Connect, ACE_POSIX_Asynch_Transmit_File, ACE_POSIX_Asynch_Transmit_Handler, ACE_POSIX_Asynch_Read_Dgram, ACE_POSIX_Asynch_Write_Dgram): Replace args of type ACE_POSIX_AIOCB_Proactor with ACE_POSIX_Proactor. Matches POSIX_Proactor.* changes above. Removed all the methods that said they were only there to kill dominance warnings. These are not needed. These things all simplify the proactor framework code. Thanks to Alex Libman for these ideas. Sat Nov 9 13:16:50 2002 Balachandran Natarajan * THANKS: Added Simon McQueen to the hall of fame. Fri Nov 8 13:04:10 2002 Chad Elliott * bin/MakeProjectCreator/modules/ProjectCreator.pm: Fixed a bug in MPC where the idl file name could cause an error on Windows if it had a slash in it. It would be converted to a back slash and then interpreted inside a regular expression which would cause MPC to abort. Fri Nov 8 13:00:56 2002 Chad Elliott * bin/MakeProjectCreator/modules/BorlandProjectCreator.pm: * bin/MakeProjectCreator/modules/BorlandWorkspaceCreator.pm: * bin/MakeProjectCreator/modules/Creator.pm: * bin/MakeProjectCreator/modules/Driver.pm: * bin/MakeProjectCreator/modules/EM3ProjectCreator.pm: * bin/MakeProjectCreator/modules/EM3WorkspaceCreator.pm: * bin/MakeProjectCreator/modules/GHSProjectCreator.pm: * bin/MakeProjectCreator/modules/GHSWorkspaceCreator.pm: * bin/MakeProjectCreator/modules/GNUProjectCreator.pm: * bin/MakeProjectCreator/modules/GNUWorkspaceCreator.pm: * bin/MakeProjectCreator/modules/GUID.pm: * bin/MakeProjectCreator/modules/NMakeProjectCreator.pm: * bin/MakeProjectCreator/modules/NMakeWorkspaceCreator.pm: * bin/MakeProjectCreator/modules/Parser.pm: * bin/MakeProjectCreator/modules/ProjectCreator.pm: * bin/MakeProjectCreator/modules/TemplateInputReader.pm: * bin/MakeProjectCreator/modules/TemplateParser.pm: * bin/MakeProjectCreator/modules/VA4ProjectCreator.pm: * bin/MakeProjectCreator/modules/VA4WorkspaceCreator.pm: * bin/MakeProjectCreator/modules/VC6ProjectCreator.pm: * bin/MakeProjectCreator/modules/VC6WorkspaceCreator.pm: * bin/MakeProjectCreator/modules/VC7ProjectCreator.pm: * bin/MakeProjectCreator/modules/VC7WorkspaceCreator.pm: * bin/MakeProjectCreator/modules/WorkspaceCreator.pm: Performed various optimization which dramatically decreased the amount of time to generate projects for the entire ACE tree. In tests, the time went from 2 minutes to 1 minute. Fri Nov 8 12:57:57 2002 Chad Elliott * bin/MakeProjectCreator/README: Added documentation for the new verbatim keyword. * bin/MakeProjectCreator/modules/ProjectCreator.pm: * bin/MakeProjectCreator/modules/TemplateParser.pm: Added functionality to place test verbatim into a generated project file. * bin/MakeProjectCreator/templates/gnu.mpd: Added verbatim markers top, macros, local and bottom. Fri Nov 8 12:52:16 2002 Chad Elliott * bin/MakeProjectCreator/README: Added documentation about the new idlgendir keyword. * bin/MakeProjectCreator/modules/GHSWorkspaceCreator.pm: * bin/MakeProjectCreator/modules/Parser.pm: * bin/MakeProjectCreator/modules/ProjectCreator.pm: * bin/MakeProjectCreator/modules/TemplateParser.pm: * bin/MakeProjectCreator/modules/VC6WorkspaceCreator.pm: * bin/MakeProjectCreator/modules/VC7WorkspaceCreator.pm: Modified flag_overrides to work with both idlflags and idlgendir. * bin/MakeProjectCreator/templates/bor.mpd: * bin/MakeProjectCreator/templates/em3vcp.mpd: * bin/MakeProjectCreator/templates/gnu.mpd: * bin/MakeProjectCreator/templates/nmake.mpd: * bin/MakeProjectCreator/templates/vc6dsp.mpd: * bin/MakeProjectCreator/templates/vc7.mpd: Modified all templates that deal with idl files to utilize the idlgendir keyword. Fri Nov 8 04:03:29 UTC 2002 Don Hinton * tests/Multicast_Test.cpp: Cleaned up error messages and error handling and insure that errors are returned. Added 2 second timeout to call to ACE_Thread_Manager::wait() so that lost messages won't cause test to hang. Wed Nov 6 18:55:22 2002 Steve Huston * ace/OS.{h i} (recursive_mutex_cond_unlock, recursive_mutex_cond_relock): For Windows, don't try to save/restore CRITICAL_SECTION members individually - there are undocumented details at work there. Instead, release and acquire the mutex one fewer times than the recursion count, letting Windows take care of its internals. Fixes the hung Recursive_Condition_Test on Windows. This also neatly removes the WinCE conditional code in this area. * tests/Recursive_Condition_Test.cpp: Fix a const error that gcc pointed out. Wed Nov 6 11:12:28 2002 Steve Huston * tests/Recursive_Condition_Test.cpp: Replaced ACE_TRACE with ACE_DEBUG so the log gets all the info. Re-enabled the timer queue part of the test and added a check to be sure "enough" expirations are recorded. Added a piece of data protected by the mutex/condition to be sure threads aren't released too early. Tue Nov 5 21:54:40 2002 Balachandran Natarajan * tests/run_tests.lst: * tests/run_tests_remote.lst: Removed these files, since they served no purpose other than adding to the noise. Tue Nov 5 15:51:29 2002 Steve Huston * ace/INET_Addr.cpp (set_addr): Add missing ';' in the IPv6 case. Tue Nov 5 20:26:33 UTC 2002 Don Hinton * tests/tests.mpc: Added Multicast_Test entry. * tests/README: Upadate instructions for adding new tests. Tue Nov 5 12:12:05 2002 Balachandran Natarajan * tests/Multicast_Test.cpp: Fixed compile errors in single threaded builds. Tue Nov 5 11:24:03 2002 Nanbor Wang * ace/Process.h: * ace/Process.i: Added a new method which returns the actual value returned or 'ed by the child process. The accessor returns the raw exit status returned by the system APIs and the value is OS dependent. Changed the mutator to be a proctected method and declare ACE_Process_Manager a fried of ACE_Process as mutator should only be used by ACE_Process_Manager. Thanks to Stephen Blake for reporting the problem. Tue Nov 5 05:12:16 2002 Ossama Othman * ace/Acceptor.h: * ace/Connector.h: * ace/Strategies_T.h: Added missing STL-style template traits found in C++NPv2 including the following: addr_type acceptor_type connector_type handler_type stream_type base_type accept_strategy_type connect_strategy_type creation_strategy_type concurrency_strategy_type recycling_strategy_type scheduling_strategy_type where applicable. The old traits are still available and remain unchanged. Tue Nov 5 05:54:16 UTC 2002 Don Hinton * tests/Multicast_Test.cpp: Fixed typo in pragma instantiation, and replaced an instance of char* with ACE_TCHAR* to fix unicode builds. Added #ifdef for ACE_HAS_THREADS, since it uses ACE_Task as an active object. * tests/run_test.lst: Turned off Multicast_Test and Token_Stategy_Test for single threaded builds. Mon Nov 4 18:01:25 UTC 2002 Don Hinton * tests/Makefile.bor: Added new Multicast_Test. Thanks to Johnny Willemsen for noticing this. Mon Nov 4 16:14:21 UTC 2002 Don Hinton * tests/Multicast_Test.cpp (get_handle): Made return type of definition ACE_HANDLE to match the declaration. Thanks to Ed Skees for reporting this. * tests/Multicast_Test.dsp: * tests/tests.dsw: Added new dsp. Thanks again to Ed Skees for providing this. * THANKS: Added Ed Skees to hall of fame... Mon Nov 4 09:28:34 UTC 2002 Don Hinton * ace/SOCK_Dgram.cpp (recv): Corrected method signature in .cpp to match the one in the .h. The .h version specified iovec*, but the .cpp had iovec[] which confused doxygen. This fixes bug [1353]. Sun Nov 3 19:41:30 UTC 2002 Don Hinton * tests/Multicast_Test.cpp: * tests/Makefile: * tests/run_test.lst: Added a new test to exercise some of the new functionality of ACE_SOCK_Dgram_Mcast. Sun Nov 3 10:36:50 2002 Balachandran Natarajan * tests/run_test.lst: Prevented SV_Shared_Memory test from running in RH_7.1 configurations. Please see BUGID 1351 for details. Sat Nov 2 17:44:00 2002 Balachandran Natarajan * ace/Select_Reactor_Base.h: * ace/Select_Reactor_Base.cpp: Fixed a subtle bug in the Select_Reactor. The following were performed during the bind () operation, which binds a handle with interested mask to an event_handler, - The new masks were added to the existing wait_set - and the new masks were also removed from the suspend_set. Though the above steps were fine, there exists a possibility when the reactor could land up with a state when the handle could be both in the wait_set and suspend_set. If suppose a handle is initially registered for READ and EXCEPTION with the reactor and then suspended. If the user calls register_handler () to register the same handle for READ and WRITE, things could go totally bizzare. The present fix does the following - If the handle is suspended, the masks are added to the suspend_set - else the masks are added to the wait_set and the flag that indicates state changes within the reactor is set to 1. A pure virtual call is_suspended_i () was added to the ACE_Select_Reactor_Base class to make the check for a suspended handle possible within the bind () call. Thanks to Irfan Pyarali who reported this problem. This should fix the problem reported in [BUG 1305]. Fri Nov 1 07:35:10 2002 Balachandran Natarajan * bin/auto_run_tests.lst: Added the new MProfile_Connection_Timeout test to the daily regression tests. Thu Oct 31 19:15:49 2002 Nanbor Wang * ACEXML/common/Attributes.h: Added the missing inclusion of ACEXML_Export.h and the #pragma once directive. Thanks to Paul Marquis for reporting this. Thu Oct 31 12:57:10 2002 Nanbor Wang * ace/OS.i (fstat): Added check for FILE_ATTRIBUTE_DIRECTORY on Win32 to set the file type in the st_mode so one can determine if it's a file or a directory. Thanks to Paul Marquis for submitting the patch. Wed Oct 30 13:47:14 2002 Steve Huston * ace/Thread_Exit.cpp: Add #include "ace/Managed_Object.h" to get the definition of ACE_Managed_Object. Wed Oct 30 11:38:36 2002 Irfan Pyarali * ace/Timeprobe.h: Fixed formatting of comments that somehow got messed up in: http://cvs.doc.wustl.edu/viewcvs.cgi/ace/Timeprobe.h.diff?r1=4.29&r2=4.30 Tue Oct 29 22:27:24 2002 Frank Hunleth * apps/gperf/src/Key_List.cpp: Added cast to int on UCHAR_MAX and USHRT_MAX to remove warnings of comparing signed and unsigned values under OpenBSD. * ace/config-openbsd.h: * ace/config-openbsd-pthread.h: Added ACE_HAS_MKSTEMP since OpenBSD has the mkstemp() function, and it helps clear up linker warnings. Also added ACE_HAS_ALT_CUSERID to clear up errors due to _cuserid(). Thanks to Craig Rodrigues for the latter patch. Tue Oct 29 15:45:06 2002 Nanbor Wang * ace/Thread_Exit.h: * ace/Thread_Exit.cpp: * ace/Thread_Manager.h: * ace/Thread_Manager.cpp: Changed to use ACE_Thread_Manager to clean up the global TSS ACE_Thread_Exit object instead of depending on the more general ACE_Object_Manager::at_exit method so we can better control the order of destruction. The change makes sure the global TSS ACE_Thread_Exit object will only get deleted *after* ACE_Thread_Manager has cleaned up all threads and destroyed itself. Thanks to Patrick McNerthney and Daniel Bell for reporting the problem. Tue Oct 29 16:19:54 UTC 2002 Craig Rodrigues * ace/INET_Addr.cpp: * ace/INET_Addr.i: * ace/INET_Addr.h: - Added a reset() method to initialize the underlying sockaddr_in or sockaddr_in6 structure, and set the address family. Changed all constructors to use this reset() method. [Bug 1342] - (INET_Addr::set_addr) the port number was not being set, so set it. [Bug 1329] * tests/INET_Addr_Test.cpp: Add test to verify that address family is being set. * THANKS: Added Thomas Devanneaux who provided these fixes. Mon Oct 28 20:46:33 2002 Steve Huston * ace/SOCK_Dgram_Mcast.cpp (ACE_SDM_helpers::addr_to_string): Use the "" string in place rather than try to declare it a static. gcc reports the original usage won't do what you think (keep one copy for the method) but will duplicate it in each generated method. Use it as a literal and let the compiler try to place a single copy in a read-only section. Mon Oct 28 20:38:27 2002 Steve Huston * ace/Asynch_IO.cpp (ACE_Service_Handler::addresses()): Don't print addresses from here. It's inappropriate for a framework to be printing things out without being asked to. * ace/POSIX_Asynch_IO.cpp (ACE_POSIX_Asynch_Read_Stream::read): * ace/WIN32_Asynch_IO.cpp (ACE_WIN32_Asynch_Read_Stream::read): Don't print a message for a 0-byte/no space read - set errno to ENOSPC so the caller can figure out what's going on. * ace/SUN_Proactor.{h cpp}: * ace/POSIX_Proactor.{h cpp} (ACE_POSIX_AIOCB_Proactor):Change 'return_status' arg to get_result_status(), find_completed_aio() from int to size_t and rename transfer_count; get_result_status() takes care of sensing -1 count and changing to 0. Passing back a size_t smooths the path from here through to the result object. Removed application_specific_code() - reuse the one from ACE_POSIX_Proactor - this one called it; remove the middle-man. * tests/Proactor_Test.cpp: Added addresses() method implementations to print address with session IDs; helps to match Sender/Receiver pairs in the log. Also added some logging of basic send/recv info to help try to track down why this facility doesn't work well. Added a check for comparable sends/receives when a session ends. Added a warning if there are outstanding I/O when the session ends. This probably should be an error, but I haven't thought through it enough to go that far. For the SUN Proactor, use one thread by default (not 3) - aiosuspend() is not MT safe. Mon Oct 28 12:48:14 2002 Nanbor Wang * bin/PerlACE/Process_Unix.pm (Spawn): Return 0 when the function complete successfully. Thanks to Charles F. Frasch for reporting and suggesting the fix. Sun Oct 27 07:44:32 2002 John Aughey * ace/INET_Addr.cpp: Changed the default constructor to only set the address family rather than doing a full set. This should exhibit the same behavior without additional overhead. Sat Oct 26 21:49:15 2002 Nanbor Wang * ace/Process.cpp (wait): * ace/Process.i (wait): Changed to always update this->exit_code_ when waiting on a child process to allow method to function properly. Removed the use of the macro ACE_OSCALL_RETURN on ACE_OS::waitpid since ACE_OS::waitpid is already signal safe. * ace/Process.h: Changed the type of this->exit_code_ from int to ACE_exitcode. Updated documentation for mutator method to better reflect the intention for using this method. Thanks to Artashes Ghazaryan , Jaroslaw Nozderko , and Stephen Blake for reporting the problem. Sat Oct 26 11:42:04 UTC 2002 John Aughey * ace/INET_Addr.cpp: Changed default behavior to set 0 port and INADDR_ANY address. Sat Oct 26 09:45:12 UTC 2002 Johnny Willemsen * ace/Timer_Heap_T.h: Doxygen documentation fix * ace/OS.h: The BCB4 header files don't define ENOTEMPTY, so define this when detecting the BCB4 compiler. Thanks to Mike Curtis for reporting this. * examples/Reactor/Proactor/test_proactor2.cpp: Removed not needed return. Fixes a BCB4 build error * THANKS: Added Mike Curtis Wed Oct 23 16:37:15 2002 Balachandran Natarajan * THANKS: Added Sandeep to the Hall of Fame. Wed Oct 23 17:20:18 UTC 2002 Don Hinton * ace/Service_Object.{h,cpp} (suspend, resume, fini): Changed return value from void to int so that the return value of the contained ACE_Service_Type could be propagated. * ace/Service_Repository.cpp (suspend, resume, fini): Changed to propagate the return value from the ACE_Service_Type instead of always 0. Tue Oct 22 16:26:56 2002 Rich Seibel * ace/Basic_Types.h: Added a test for _BYTE_ORDER, same as BYTE_ORDER and __BYTE_ORDER. VxWorks defines this. Also note, compilers that previously automatically looked for _BYTE_ORDER when only BYTE_ORDER was specified will likely not do so in the future. This will proactively fix them also. * ace/config-all.h: Moved the use of FUNCPTR until after the include that defines it. Only affects VxWorks. Tue Oct 22 13:11:42 2002 Nanbor Wang * ace/OS.cpp (DllMain): Added code to invoke DisableThreadLibraryCalls during PROCESS_ATTACH when ACE_DISABLES_THREAD_LIBRARY_CALLS is defined to 1 as described below. This should enhance performance of applications that spawn a lot of threads. Thanks to Patrick McNerthney for suggesting the change. We should probably apply the same optimization for the core TAO libraries. * ace/config-win32-common.h: Defined a Win32-only new macros ACE_DISABLES_THREAD_LIBRARY_CALLS which is default to 0 if not defined by users. Mon Oct 21 17:26:15 2002 Douglas C. Schmidt * ace/SPIPE_Acceptor.cpp: Modified SPIPE_Acceptor::create_new_instance to manually signal the event used in the ConnectNamedPipe call when an ERROR_PIPE_CONNECTED status is returned. Also added the handling of the status of ERROR_NO_DATA to the same logic as ERROR_PIPE_CONNECTED. Thanks to Patrick J. McNerthney for contributing this. Tue Oct 22 10:20:41 2002 Balachandran Natarajan * examples/C++NPv2/Reactor_Logging_Server_T.cpp: Fixed a typo that broke the builds. My bad :( Mon Oct 21 20:13:27 2002 Balachandran Natarajan * examples/C++NPv2/Reactor_Logging_Server_T.cpp: * examples/C++NPv1/Logging_Server.cpp: * examples/C++NPv1/Process_Per_Connection_Logging_Server.cpp: * examples/C++NPv1/RT_Thread_Per_Connection_Logging_Server.cpp: * examples/C++NPv1/Thread_Per_Connection_Logging_Server.cpp: Fix for compile errors on Lynx platform. Thanks to Craig Rodrigues for supplying the patches. Tue Oct 22 12:36:12 UTC 2002 Johnny Willemsen * ace/Basic_Stats.h: * ace/Dirent_Selector.h: * ace/Service_Config.h: * ace/Timer_Heap_T.h: Improved doxygen documentation. Mon Oct 21 22:30:51 2002 Balachandran Natarajan * tests/SString_Test.cpp (ACE_TMAIN): Fixed a warning in Win32 builds. Mon Oct 21 20:04:12 2002 Balachandran Natarajan * ace/WIN32_Asynch_IO.h: * ace/WIN32_Asynch_IO.cpp: Integrated the latest patches from Eric Frias . Mon Oct 21 06:54:12 2002 Balachandran Natarajan * tests/Recursive_Condition_Test.cpp (test_4): * tests/RB_Tree_Test.cpp: Fixed compile errors arising out of M$ quirks. The scoping rules for 'for' loops are busted and hence these fixes. These fixes basically change the variable names for the different for loops inside the same scope. Sun Oct 20 21:40:13 2002 Krishnakumar B * ACEXML/common/HttpCharStream.cpp: Handle all the error paths gracefully and don't leak memory/sockets. Sun Oct 20 14:06:36 2002 Krishnakumar B * ACEXML/common/FileCharStream.cpp (peek_i): Fixed more compilation errors in Borland WCHAR builds. MSVC sucks... Sun Oct 20 11:36:34 2002 Balachandran Natarajan * ACEXML/common/FileCharStream.cpp: Fixed a compile error in Borland builds. The compile error is due to strict enforcement of scoping rules in a for loop by Borland compiler. Sun Oct 20 11:31:45 2002 Balachandran Natarajan * ACEXML/common/Makefile.bor: Added Encoding.obj to the list of object files. Thanks to Johnny for pointing this out. Sun Oct 20 11:30:04 2002 Balachandran Natarajan * tests/SPIPE_Test.cpp: Fixed compile errors in Borland builds. Sun Oct 20 10:16:23 2002 Balachandran Natarajan * examples/C++NPv2/display_logfile.cpp: Fix for single threaded builds. Sun Oct 20 10:12:42 2002 Balachandran Natarajan * tests/Recursive_Condition_Test.cpp: Fix for single threaded builds. The ACE_HAS_THREADS were improperly placed. Sun Oct 20 09:26:58 2002 Balachandran Natarajan * examples/C++NPv1/Makefile: Added changes from "Fri Oct 18 21:01:25 UTC 2002 Craig Rodrigues " back since the changes are fine. Thanks to Craig for pointing that out. Sun Oct 20 13:34:45 UTC 2002 Craig Rodrigues * examples/C++NPv2/Makefile: Replace with recursive Makefile which does not use for loops. Add .NOTPARALLEL target to fix build errors on parallel builds. Sun Oct 20 08:10:43 2002 Balachandran Natarajan * tests/Recursive_Condition_Test.cpp: Fixed a unused variable warning. Sun Oct 20 00:27:02 2002 Balachandran Natarajan * tests/Recursive_Condition_Test.cpp: Fixed a fuzz error. Sun Oct 20 00:14:32 2002 Balachandran Natarajan * examples/C++NPv1/Makefile: Reverted the change "Fri Oct 18 21:01:25 UTC 2002 Craig Rodrigues " since this opens up some problems. Craig will look into it later and provide a clean fix. Till then.. Sat Oct 19 20:00:00 2002 Stephen Torri * tests/Recursive_Condition_Test.cpp: Added test to check nesting_level after requiring a Recursive Condition Mutex multiple times. Also after releasing for the same number of times. * tests/SString_Test.cpp: * ace/String_Base.i: Bug 1323 (Reported by Wayne Erchak ): Fixed. In the effort to protect from memory problems with non-null terminated strings the operators '<' and '>' where rendered useless. Now the comparions use memcmp instead of strncmp. A series of tests have been added to SString_Test.cpp to ensure this does not happen again. Sat Oct 19 21:58:00 2002 Krishnakumar B * ace/Argv_Type_Converter.cpp: * ace/Argv_Type_Converter.h: * ace/Argv_Type_Converter.inl: * ace/Codecs.cpp: * ace/Codecs.h: * ace/OS.cpp: * ace/Vector_T.cpp: * ace/Vector_T.h: * ace/WFMO_Reactor.cpp: * tests/Proactor_Scatter_Gather_Test.cpp: Convert bool to use int. * ace/SString.cpp: Removed a redundant initialization to 0. * tests/Makefile: Add DIRS_PARALLEL=1 to allow building in parallel in $ACE_ROOT/tests. Sat Oct 19 11:40:22 2002 Steve Huston * ace/OS.h: Added a ptrdiff_t typedef for ACE_HAS_WINCE. eVC3, PocketPC2002 don't define this type. * ace/OS.i (recursive_mutex_cond_unlock, recursive_mutex_cond_relock): PocketPC 2002 doesn't have the RecursionCount member in the CRITICAL_SECTION. * ace/OS.cpp: ACE-ified the ACE_CE_ARGV class. * ace/OS_Errno.cpp: Add #include "ace/OS_Memory.h" to get ACE_NEW. * ace/ace_os_dll.vcp: Added files Time_Value.{h cpp inl}. Changed preprocessor file locations from $ACE_ROOT to ".." to allow working with more than one ACE version/build. * ace/ace_dll.vcp: Added files DLL_Manager.{h cpp}. Changed preprocessor file locations from $ACE_ROOT to ".." to allow working with more than one ACE version/build. * ace/config-win32-common.h: Set ACE_HAS_WIN32_TRYLOCK for WinCE in addition to ACE_HAS_WINNT4. Also ACE_HAS_INTERLOCKED_EXCHANGEADD, but only for PPC. * ace/Atomic_Op.h: Only set ACE_HAS_BUILTIN_ATOMIC_OP without ACE_HAS_INTERLOCKED_EXCHANGEADD for MSVC on x86. It's not available for eVC, CE on other than PPC. * 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.vcpL * 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_Reactor_Upcall_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.vcpS * 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 Changed include file path from $ACE_ROOT to .. to allow building multiple versions. Added aced.lib to CE ARM Debug builds. Sat Oct 19 16:57:44 UTC 2002 Johnny Willemsen * etc/tao_*.doxygen: Disabled the doxygen warnings. The warnings about not documented members are still on. The warnings are not disabled in the ace libraries because we could fix them there, but we can't fix them in TAO because of the environment macro's that cause the method definition arguments to be different than the implementation arguments. Sat Oct 19 16:47:12 UTC 2002 Johnny Willemsen * ace/ace_wchar.h: Added ACE_TEXT_WaitNamedPipe to the list of Windows functions we use and for which there is an ascii and unicode version. * ace/SPIPE_Connector.cpp: Used ACE_TEXT_WaitNamedPipe instead of ::WaitNamedPipe. This fixes the problems in the BCB Unicode build. Sat Oct 19 10:09:38 2002 Balachandran Natarajan * examples/C++NPv2/Makefile: Reverted the change "Fri Oct 18 21:01:25 UTC 2002 Craig Rodrigues " since this opens up some problems. Craig will look into it later and provide a clean fix. Till then.. Sat Oct 19 09:25:52 2002 Douglas C. Schmidt * examples/Reactor/Misc/test_timer_queue.cpp, * tests/Timer_Queue_Test.cpp: Fixed warnings with G++. Thanks to Bala for reporting this. Fri Oct 18 22:07:31 2002 Steve Huston * ace/config-aix-4.x.h: Only define ACE_HAS_ALLOCA for IBM compilers. They do it via "builtin" trickery and g++ doesn't know that trick. * include/makeinclude/platform_aix4_g++.GNU: Set with_ld to aix to avoid trying to do an soname - AIX's ld doesn't do that. * include/makeinclude/platform_g++_common.GNU: If with_ld is aix, don't try to add to soname option to the linker. Fri Oct 18 20:13:29 2002 Steve Huston * include/makeinclude/platform_hpux_gcc.GNU: Added an optional build parameter, with_ld, whose default value is hpux. This says which ld is used with g++. * include/makeinclude/platform_g++_common.GNU: When setting the SOFLAGS for setting SONAME, if with_ld is hpux, use +h, not -h. -h means "hide symbol" in HP-UX ld. Fri Oct 18 17:12:03 2002 Balachandran Natarajan * examples/C++NPv2/display_logfile.cpp: * examples/C++NPv2/Client_Logging_Daemon.cpp: * examples/C++NPv2/TP_Logging_Server.h: * examples/C++NPv2/TP_Logging_Server.cpp: Fixed compile errors in single threaded builds. All they needed was the usage of the right macros like ACE_SYNCH instead of ACE_MT_SYNCH and ACE_SYNCH_MUTEX instead of ACE_Thread_Mutex. Fri Oct 18 16:25:09 2002 Yuanfang Zhang * tests/RB_Tree_Test.h: * tests/RB_Tree_Test.cpp: add a new method to test forward and reverse partial tree traversal. Fri Oct 18 21:01:25 UTC 2002 Craig Rodrigues * examples/C++NPv1/Makefile: Fix comment. * examples/C++NPv1/Makefile: Replace with recursive Makefile which does not use for loops. Fri Oct 18 15:44:19 2002 Priyanka Gontla * THANKS: Added Christian Barheine to the hall of fame. Fri Oct 18 19:37:20 GMT 2002 Craig Rodrigues * ace/config-macosx.h: Define ACE_HAS_NONSTATIC_OBJECT_MANAGER for gperf. Fri Oct 18 14:52:37 2002 Steve Huston * examples/C++NPv2/Reactor_Logging_Server.cpp: * examples/C++NPv2/Select_Reactor_Logging_Server.cpp: * examples/C++NPv2/TP_Reactor_Logging_Server.cpp: * examples/C++NPv2/display_logfile.cpp: Added necessary explicit template instantiations. Fri Oct 18 13:21:05 2002 Douglas C. Schmidt * tests/Timer_Queue_Test.cpp, * examples/Reactor/Misc/test_timer_queue.cpp: Fixed these tests so that it passes dynamically allocated memory rather that values via the "act" parameter to ACE_Timer_Queue::schedule(). This ensures the test will work properly on strange OS platforms, such as Win64 where pointers and longs/ints are different sizes. Thanks to Cristian Ungureanu for motivating this. Fri Oct 18 17:20:02 UTC 2002 Don Hinton * ace/SOCK_Dgram_Mcast.{h,cpp}: Factored out common code to an open_i() method that open() can call at this level and in inherited classes. * ace/QoS/SOCK_Dgram_Mcast_QoS.{h.cpp}: Modified ctor to take same default param as base class and invoke the base class ctor. Removed duplicate code in open() and have it call base::open_i() after opening the socket with QoS. Changed 1st parameter from ACE_Addr to ACE_INET_Addr to match base classes. Removed duplicate code from subscribe by having it call base class methods. Fri Oct 18 11:51:44 2002 Nanbor Wang * bin/PerlACE/Run_Test.pm: Created a new variable $PerlACE::svcconf_ext which defines the canonical svc.conf file extention used by various run_test scripts. By default, this is defined to ".conf". It can be overwritten using the environment variable ACE_RUNTEST_SVCCONF_EXT. For example, you can define ACE_RUNTEST_SVCCONF_EXT to ".conf.xml" if you have built your ACE with XML-based service configurator. Fri Oct 18 11:55:33 2002 Steve Huston * ace/POSIX_CB_Proactor.cpp: Removed unneeded argument to application_specific_code(). Thanks to Tommy Persson for contributing this fix. Fixes Bugzilla #1325. * THANKS: Added Tommy Persson to the Hall of Fame. Fri Oct 18 11:39:29 2002 Steve Huston * examples/C++NPv1/Process_Per_Connection_Logging_Server.cpp: * examples/C++NPv1/RT_Thread_Per_Connection_Logging_Server.cpp: * examples/C++NPv1/Thread_Per_Connection_Logging_Server.cpp: Put the sigterm_handler function in an unnamed namespace to avoid issues with g++ not liking 'static' and 'extern "C"' together. Fri Oct 18 03:55:51 UTC 2002 Don Hinton Bill Fulton * ace/SOCK_Dgram_Mcast.{h,i,cpp}: Enhanced support for join()'ing multiple multicast groups. Ctor now offers finer control over a bind()'ing to an address or interface. Appropriate default behavior has been specified, but note that due to issues on Linux, portable code should not join() more than one multicast group per instance. An open() method has been added/exposed. If not explicitely called, it will be implicitely called by the first join(), and will bind() the address if the OPT_BINDADDR_YES options was specified in the ctor. Error handling has also been enhanced. For instance, if OPT_BINDADDR_YES has been specified (the default on Linux), additional join()'s will fail since the socket gets bound on the first call to open() or join(). Previously, subsequent calls to join() would silently fail, i.e., the call succeeded but only datagrams sent to the first, bound address where actually delivered. If ACE_SOCK_DGRAM_MCAST_DUMPABLE is defined, a list of all subscribed groups is maintained and can be dump()'ed, although access to this list is not public. Added new join()/leave() methods that remove unused, deprecated protocol_family and protocol arguments. These values can be determined on the fly. The old subscribe()/unsubscribe() methods have been deprecated and are now implemented in terms of join()/leave() respectively. The unsubscribe(void) method has also been deprecated. It was designed to allow the caller to unsubscribe/leave() all groups at once, but since a list was never kept (and still isn't unless ACE_SOCK_DGRAM_MCAST_DUMPABLE is defined) only the last group join()'ed was ever left. A better way would be to either keep track of you own groups and call leave() for each, or let the dtor close() the socket which automatically unsubscribes from all groups. Some IPv6 support has been added either directly or by removing the need for the caller to handle it (see join()/leave() above), although the internal calls to setsockopt() are still hard wired for IPv4. Fri Oct 18 06:51:07 2002 Douglas C. Schmidt * ace/String_Base.{i,cpp}: Fixed the formatting in these files... Thu Oct 17 20:02:39 2002 Steve Huston * examples/C++NPv1/Process_Per_Connection_Logging_Server.cpp: * examples/C++NPv1/RT_Thread_Per_Connection_Logging_Server.cpp: * examples/C++NPv1/Thread_Per_Connection_Logging_Server.cpp: Add extern "C" to the signal handler function declaration to conform strictly to its definition. When explicitly instantiating auto_ptr<>, fully specify the Thread_Args type else modern compilers (Forte 7) can't see it. Thu Oct 17 17:32:39 2002 Krishnakumar B * ACEXML/examples/svcconf/Svcconf_Handler.cpp: * ACEXML/examples/svcconf/Svcconf_Handler.h: * ACEXML/examples/svcconf/main.cpp: Fixed compilation errors under Windows. Thu Oct 17 19:18:02 UTC 2002 Craig Rodrigues * ace/config-macosx.h: - Remove define of __MACOSX__, and use constant __APPLE__ instead defined by Apple's gcc. - Removed definitions: ACE_HAS_MACOSX_DYLIB, ACE_LACKS_SEMBUF_T - Added definitions: ACE_HAS_SEMUN, ACE_HAS_SIGINFO_T, ACE_LACKS_SIGINFO_H, ACE_HAS_UCONTEXT_T, ACE_HAS_GETIFADDRS, ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES - Defined ACE_HAS_POSITION_INDEPENDENT_POINTERS to 0 for temporary Apple gcc bug workaround. * ace/Log_Msg.cpp (ACE_Log_Msg::log): Add check for __APPLE__ to catch right prototype for sys_errlist. * ace/OS.h: Remove unnecessary __MACOSX__ check. * include/makeinclude/platform_macosx.GNU: Minor cleanups. Thu Oct 17 13:47:39 2002 Steve Huston * ace/OS.h: Added typedef for ACE_recursive_mutex_state for !defined (ACE_HAS_THREADS) section. Thu Oct 17 16:28:05 UTC 2002 Don Hinton * THANKS: Added Jon Franklin to the hall of fame. Thu Oct 17 10:26:59 2002 Balachandran Natarajan * examples/C++NPv2/display_logfile.cpp (ACE_MT_SYNCH>): Fixed a uninitialized member usage warning. Thu Oct 17 00:26:13 2002 Nanbor Wang * ace/Malloc_T.i (release): Instead of releasing the memory_pool_ explicitly, changed to use remove () to make sure all resources are removed properly. Wed Oct 16 20:23:09 2002 Krishnakumar B * ACEXML/common/FileCharStream.cpp (getchar_i): * ACEXML/common/FileCharStream.h: Borland defines getchar() as a macro. Rename it as getchar_i to resolve the clash and fix compilation errors in the build. Wed Oct 16 18:47:44 2002 Stephen Torri * examples/C++NPv1/Makefile: Replaced Makefile with non-for-loop version provided by Craig Rodrigues. Wed Oct 16 16:52:52 2002 Nanbor Wang * ace/MEM_SAP.cpp (close_shm_malloc): Fixed a memory leak that I added last time when I fixed a race condition in removing mmap file. Wed Oct 16 15:35:22 2002 Steve Huston * tests/SPIPE_Test.cpp: Fixed compile error. Wed Oct 16 14:02:27 2002 Yuanfang Zhang * ace/RB_Tree.cpp: * ace/RB_Tree.h: forward and reverse partial tree traversal. Changed the find_i method by adding a parameter "find_Exact". Wed Oct 16 12:18:03 2002 Stephen Torri * examples/C++v1/Makefile: * examples/C++NPv1/Makefile.Iterative_Logging_Server: * examples/C++NPv1/Makefile.Logging_Client: * examples/C++NPv1/Makefile.Reactive_Logging_Server: * examples/C++NPv1/Makefile.Reactive_Logging_Server_Ex: * examples/C++NPv1/Makefile.RT_Thread_Per_Connection_Logging_Server: * examples/C++NPv1/Makefile.Thread_Per_Connection_Logging_Server: * examples/C++NPv1/Makefile.wProcess_Per_Connection_Logging_Server: Renamed from *.mak to Makefile.* to avoid looking like an exported MSVC project NMAKE file. (Following Steve Huston's change to examples/C++v2). Fixed Make error that make realclean was not in Makefile. * tests/Recursive_Condition_Test.cpp: Changed function call of signal() to broadcast() to awaken multiple threads waiting on a shared condition variable. Oct 16 11:44:27 2002 Nanbor Wang * ace/Thread_Manager.cpp (check_state): Changed to return 0 if the thread id is not managed by the Thread_Manager. * ace/Thread_Manager.h: Updated documentation for testcancel(), testsuspend(), and testresume (). They all return false now if the you try to test the status of a tid that is not managed by the Thread_Manager. Thanks to Giovanni Zito for reporting it. Wed Oct 16 12:41:29 2002 Steve Huston * examples/Makefile: Add C++NPv1 and C++NPv2 to the DIRS list. * examples/C++NPv2/Makefile: Only build the SSL-using examples (AC_CLD, AIO_CLD, TPCLS) is ssl=1 is set. * examples/C++NPv2/Makefile.AC_CLD: * examples/C++NPv2/Makefile.AIO_CLD: * examples/C++NPv2/Makefile.TPCLS: Set up the SSL build params correctly and warn if ssl=1 not used. Wed Oct 16 12:08:21 2002 Steve Huston * examples/C++NPv2/AC_CLD.mak: * examples/C++NPv2/AIO_CLD.mak * examples/C++NPv2/CLD.mak: * examples/C++NPv2/Configurable_Logging_Server.mak: * examples/C++NPv2/display_logfile.mak: * examples/C++NPv2/Reactor_Logging_Server.mak: * examples/C++NPv2/Select_Reactor_Logging_Server.mak: * examples/C++NPv2/SLDex.mak: * examples/C++NPv2/SLD.mak: * examples/C++NPv2/SR_Configurable_Logging_Server.mak: * examples/C++NPv2/TPCLS.mak: * examples/C++NPv2/TPLS.mak: * examples/C++NPv2/TP_Reactor_Logging_Server.mak: Renamed from *.mak to Makefile.* to avoid looking like an exported MSVC project NMAKE file. * examples/C++NPv2/Makefile: Changed to process new Makefile names. Wed Oct 16 11:02:41 2002 Douglas C. Schmidt * ace/High_Res_Timer.cpp (get_cpuinfo): Removed the recalibration of the scale factor every time the application is launched. Thanks to Bo Balder for reporting this. Wed Oct 16 10:55:11 2002 Balachandran Natarajan * ace/config-linux-common.h: Added support for ACE_CC_NAME, ACE_CC_MAJOR_VERSION and ACE_CC_MINOR_VERSION for linux. Thanks to Jaroslaw Nozderko for suggesting this. Wed Oct 16 10:55:44 2002 Balachandran Natarajan * ace/config-win32-msvc.h (ACE_HAS_ALLOCA): Enabled alloca support for MSVC. Thanks to Pat McNertney for providing the patch. Tue Oct 15 18:49:25 2002 Stephen Torri * tests/Recursive_Condition_Test.cpp: Added two tests. Test 2: repeat of test 1 but with a 2 second delay after main thread signals the waiting thread. (Works) Test 3: repeat of test 1 but with 4 threads waiting on the condition variable. (Broken - no threads awaken). Tue Oct 15 17:27:34 2002 Krishnakumar B * ACEXML/docs/bugs.txt: * ACEXML/docs/TODO.txt: Updated to reflect the current status. Tue Oct 15 17:23:43 2002 Krishnakumar B * tests/Service_Config_Test.UTF-16.conf.xml: New file added which is used in Service_Config_Test when ACE_HAS_XML_SVC_CONF and ACE_USES_WCHAR is enabled. Tue Oct 15 17:17:44 2002 Krishnakumar B * ACEXML/common/Encoding.cpp: * ACEXML/common/Encoding.h: New files which handle the automatic detection of encoding in XML files. * ACEXML/apps/svcconf/Makefile: * ACEXML/common/CharStream.h: * ACEXML/common/Exception.cpp: * ACEXML/common/FileCharStream.cpp: * ACEXML/common/FileCharStream.h: * ACEXML/common/HttpCharStream.cpp: * ACEXML/common/HttpCharStream.h: * ACEXML/common/InputSource.cpp: * ACEXML/common/Makefile: * ACEXML/common/Mem_Map_Stream.cpp: * ACEXML/common/Mem_Map_Stream.h: * ACEXML/common/StrCharStream.cpp: * ACEXML/common/StrCharStream.h: * ACEXML/common/XML_Common.dsp: * ACEXML/examples/SAXPrint/Makefile: * ACEXML/parser/parser/Makefile: * ACEXML/parser/parser/Parser.cpp: Handle the automatic detection of encoding in XML files. Tue Oct 15 17:15:41 2002 Steve Huston Fixes for Bugzilla #1319: * ace/OS.i (ctime_r): For the 2-param ctime_r platforms, restrict buflen to at least 26, just as 3-param platforms do. If less than 26, return 0 and errno = ERANGE. * ace/OS.cpp (ctime_r): The WinCE implementation of ctime_r already had the 26-char minimum check, but didn't set errno to ERANGE. Now it does. * tests/OS_Test.cpp (ctime_r_test): Make sure that ctime_r with length less than 26 fails and doesn't scribble on the buffer. Tue Oct 15 11:43:27 2002 Balachandran Natarajan * ace/SPIPE_Connector.cpp (connect): Convert the first argument in the ::WaitNamedPipe () call to char * always using the macro defined. This shold fix compilation errors in WCHAR builds. Tue Oct 15 16:19:33 UTC 2002 Craig Rodrigues [Bug 1090] * ace/config-freebsd-pthread.h: Add ACE_HAS_GETIFADDRS. This fixes Bugzilla bug 1090. Tue Oct 15 10:47:20 2002 Balachandran Natarajan * ace/SPIPE_Connector.cpp: Fixed a unused variable warning. Tue Oct 15 06:56:18 2002 Patrick J. McNerthney * tests/SPIPE_Test.cpp: Added support for testing the new Windows bytestream mode. Mon Oct 14 20:47:21 2002 Douglas C. Schmidt * ace/SPIPE_Acceptor.cpp (open): Changed "mode" to "pipe_mode", which is the name of the parameter. Thanks to Don Hinton for reporting this. Mon Oct 14 19:20:35 2002 Frank Hunleth * ACE-INSTALL.html: Added installation notes for the OpenBSD port. * ace/config-openbsd.h: * ace/config-openbsd-pthread.h: * include/makeinclude/platform_openbsd.GNU: * include/makeinclude/platform_openbsd_pthread.GNU: Configuration files for OpenBSD. * ace/ACE.cpp: Added OpenBSD-specific error code to ACE::out_of_handles * ace/OS.h: Added #define for OpenBSD-specific path to siginfo.h and ACE_LACKS_CLEARERR guards around clearerr() for OpenBSD. * ace/OS.i: Added support for getifaddrs() with ACE_HAS_GETIFADDRS and fix for segfault when calling dlsym with a null handle. Added guards on clearerr using ACE_LACKS_CLEARERR. (All only affect OpenBSD.) * ace/POSIX_Proactor.cpp: * ace/POSIX_Proactor.h: Added SystemType family for OpenBSD. * ace/README: Added new ACE #defines to support OpenBSD. These include: ACE_HAS_GETIFADDRS - for support of the getifaddrs() system call ACE_HAS_DLSYM_SEGFAULT_ON_INVALID_HANDLE - add check to dlsym call to protect against NULL. OpenBSD 3.1 needs this. ACE_LACKS_CLEARERR - #define to remove clearerr definition due to bogus syntax error on OpenBSD. * ace/Sock_Connect.cpp: Added code to get_ip_interfaces to use getifaddrs() if it is supported. OpenBSD is the only platform to use this currently. Under OpenBSD, the code to parse the return values from the corresponding ioctl calls gets confused when IPv6 interfaces are present. * tests/Malloc_Test.cpp: Added OpenBSD to the list of platforms that can't handle the remap of fault part of the test. * tests/Reactor_Dispatch_Order_Test.cpp: Added code for OpenBSD to clear the write mask after handle_output is called, since OpenBSD calls handle_output more than once before the data is received over the pipe. Mon Oct 14 18:21:40 2002 Patrick J. McNerthney * ace/OS.h: Added FILE_FLAG_WRITE_THROUGH defines for non-supporting operating systems and added various PIPE_* defines for non-supporting operating systems. * ace/SPIPE_Connector.{h,cpp}: Added support to enable the selection of whether bytestream or message mode is used on Windows. Also added support for both blocking and timeout connections on Windows, only non-blocking connections where support before. * ace/SPIPE_Acceptor.{h.cpp}: Added support to enable the selection of whether bytestream or message mode is used on Windows. Mon Oct 14 20:19:51 2002 Steve Huston * ChangeLog: Removed a large chunk of duplicated dates from Oct 11 back to July. * ace/OS.{h i}: Removed the owning_thread_ member from ACE_recursive_mutex_state on Windows. This isn't needed since the OS mutex restores the owner properly - it was in to do a sanity check ACE_ASSERT, but can't do that from ACE_OS. * ace/WFMO_Reactor.h: Expanded and clarified the class comments to resolve Bugzilla #772. Mon Oct 14 17:23:43 2002 Balachandran Natarajan * ace/CDR_Base.cpp (consolidate): Reverted the optimization performed in "Tue Mar 12 17:43:32 2002 Balachandran Natarajan ". This optimizations created problems for CORBA::Any implementation which assumes that the data is totally contained within the Any. Using the optimization created problems for Any's that are copied between different threads. Thanks to Jian Chen for reporting this problem. Mon Oct 14 10:12:31 2002 Steve Huston Fix for Bugzilla # 1316: * ace/Synch.h: * ace/OS.h: Moved the ACE_recursive_mutex_state from Synch.h to OS.h. The recursive mutex methods need to handle this stuff internally to properly synchronize releasing and reacquiring the mutex around condition variable waits. * ace/OS.i: Added ACE_OS::recursive_mutex_cond_unlock() and ACE_OS::recursive_mutex_cond_relock() methods to support recursive mutex handling around waiting on a condition variable. * ace/Synch.cpp (ACE_Condition): Removed the guards from the broadcast() and signal() methods. Removed the ACE_recursive_mutex_state class methods - this functionality is now in the ACE_OS space; see above. Reimplemented the wait() method to make use of the new ACE_OS methods (above), enabling proper reclaiming of the recursive mutex after cond_wait, and avoiding deadlock. Mon Oct 14 00:12:48 2002 Krishnakumar B * ACEXML/docs/bugs.txt: Updated to match the current status of ACEXML parser. Sun Oct 13 19:38:35 2002 Krishnakumar B * ace/Exception_Macros.h: Consolidated the checking of exceptions preprocessor hacking into this file. * ACEXML/common/XML_Macros.h: Include the above file and get rid of redundant and broken checking for exceptions. * ace/CORBA_macros.h: Moved over the stuff from Exception_Macros.h to where it was originally. This should fix all the build breakage. Thanks to Bala for pointing out the errors in the build. Sun Oct 13 18:50:53 2002 Douglas C. Schmidt * ace/SPIPE_Stream.h: Enhanced the documentation of ACE_SPIPE_Stream. Thanks to Pat McNerthney for motivating this. Sun Oct 13 15:57:04 2002 Balachandran Natarajan * ace/Asynch_IO.cpp: * ace/Asynch_IO.h: Protected ACE_Asynch_Read_File::readv () and ACE_Asynch_Write_File::writev () from being called when ACE_HAS_WINNT4 == 0. * ace/WIN32_Asynch_IO.cpp: * ace/WIN32_Asynch_IO.h: Protected ACE_WIN32_Asynch_Read_File::readv () and ACE_WIN32_Asynch_Write_File::writev () from being called when ACE_HAS_WINNT4 == 0. Thanks to Eric Frias for reporting the problem and Alex Libman for suggesting the fix. * THANKS: Added Eric Frias to the hall of fame. Sun Oct 13 15:54:59 2002 Krishnakumar B * ACEXML/apps/svcconf/Svcconf_Handler.cpp: Fixed a couple of warnings related to the exception argument handling. Sun Oct 13 00:55:27 2002 Krishnakumar B * ACEXML/common/XML_Common.dsp: Added XML_Macros.h to the project file. * ACEXML/examples/SAXPrint/svc.conf.xml: Reverted a mistaken change used for testing. * ACEXML/apps/svcconf/Svcconf_Handler.cpp: * ACEXML/common/SAXExceptions.cpp: * ACEXML/parser/debug_validator/Debug_DTD_Manager.cpp: Added ACE_TEXT around strings so that WCHAR build is happy. Sat Oct 12 23:01:29 2002 Krishnakumar B * ACEXML/apps/svcconf/Svcconf.h (ACEXML_Svcconf_Parser): Removed the unused member env_. Sat Oct 12 22:50:02 2002 Krishnakumar B * ACEXML/common/XML_Macros.h: New file which contains the macros needed to enable support for Exceptions in ACEXML. * ACEXML/apps/svcconf/Makefile: * ACEXML/common/Makefile: * ACEXML/examples/SAXPrint/Makefile: * ACEXML/parser/parser/Makefile: * ACEXML/tests/Makefile: Regenerate dependencies. * ACEXML/common/Env.cpp: * ACEXML/common/Env.h: * ACEXML/common/Env.i: * ACEXML/common/Exception.cpp: * ACEXML/common/Exception.h: * ACEXML/common/Exception.i: Enable support for Native Exceptions. * ACEXML/apps/svcconf/Svcconf.cpp: * ACEXML/apps/svcconf/Svcconf.h: * ACEXML/apps/svcconf/Svcconf_Handler.cpp: * ACEXML/apps/svcconf/Svcconf_Handler.h: * ACEXML/common/Attributes_Def_Builder.h: * ACEXML/common/ContentHandler.h: * ACEXML/common/DTDHandler.h: * ACEXML/common/DTD_Manager.h: * ACEXML/common/DefaultHandler.cpp: * ACEXML/common/DefaultHandler.h: * ACEXML/common/Element_Def_Builder.h: * ACEXML/common/EntityResolver.h: * ACEXML/common/ErrorHandler.h: * ACEXML/common/HttpCharStream.cpp: * ACEXML/common/SAXExceptions.cpp: * ACEXML/common/SAXExceptions.h: * ACEXML/common/SAXExceptions.i: * ACEXML/common/Validator.h: * ACEXML/common/XMLFilterImpl.cpp: * ACEXML/common/XMLFilterImpl.h: * ACEXML/common/XMLReader.h: * ACEXML/examples/SAXPrint/Print_Handler.cpp: * ACEXML/examples/SAXPrint/Print_Handler.h: * ACEXML/examples/SAXPrint/SAXPrint_Handler.cpp: * ACEXML/examples/SAXPrint/SAXPrint_Handler.h: * ACEXML/examples/SAXPrint/main.cpp: * ACEXML/examples/SAXPrint/svc.conf.xml: * ACEXML/examples/svcconf/Svcconf_Handler.cpp: * ACEXML/examples/svcconf/Svcconf_Handler.h: * ACEXML/examples/svcconf/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: Switch over the files to support Native Exceptions. * ACEXML/parser/parser/Parser.cpp: * ACEXML/parser/parser/Parser.h: Use the obstack unwind to unwind the stack and reuse memory. Currently not done throughout the parser. That will come later. * ace/Makefile.ace: Added Codecs to ACE_COMPONENTS when building FOR_TAO. Thanks to Don Hinton for suggesting this. * include/makeinclude/rules.local.GNU: Clean up the old symlinks under $ACE_ROOT/ace when building a new version of the libraries. * tests/Makefile: Cleanup the Codecs_Test when $ACE_ROOT/ace has been realcleaned previously. Fri Oct 11 12:44:58 UTC 2002 Craig Rodrigues * RTJava/*: Removed. Angelo Corsaro keeps RTJperf related files in another CVS repository. * ace/config-freebsd-pthread.h: Improved check of _POSIX_REALTIME_SIGNALS preprocessor constant. Thu Oct 10 16:02:20 2002 Ossama Othman * ACE version 5.2.5 released. Thu Oct 10 13:56:35 2002 Ossama Othman * bin/make_release (check_workspace): Ignore platform_macros.GNU and config.h files. They are needed when cutting the beta/release. This isn't a problem since the ACE/TAO kits are created from a "cvs export"ed workspace that doesn't include those files. Thu Oct 10 15:11:07 2002 Balachandran Natarajan * bin/make_release: A pattern matching issue. The cvs server now gives a message starting with "cvs server:.." instead of "cvs checkout:..". This created problems for Ossama when he was trying to cut the beta. Wed Oct 9 23:43:51 2002 Steve Huston * ace/WIN32_Asynch_IO.cpp (ACE_Asynch_Read_Stream::readv, ACE_Asynch_Write_Stream::writev, ACE_Asynch_Read_Dgram::recv, ACE_Asynch_Write_Dgram::send): Don't double-increment iovcnt while checking for the need for multiple iov per message block. Fixes bug introduced in: Fri Oct 4 20:22:41 2002 Steve Huston Wed Oct 9 23:08:19 2002 Steve Huston * include/makeinclude/rules.lib.GNU: For the funky AIX shr.o/lib*.a machination, declare shr.o as .INTERMEDIATE to avoid rebuilding it all the time for nothing. Thanks to Craig L. Ching for motivating this. Wed Oct 09 12:19:40 2002 Nanbor Wang * bin/PerlACE/Process_Win32.pm: Added hack to purify a process. This will allow us to purify all the examples, tests much easier. It is, however, tightly coupled to Purify 6.0. The script automaticaly switch to purifying the process if the ACE_RUN_PURIFY_CMD environment variable is defined. See the comments in this file for more details. Tue Oct 8 21:06:23 2002 Steve Huston * ace/config-sunos5.6.h: Undef ACE_HAS_TEMPLATE_TYPEDEFS for the Forte 7 compiler (C++ 5.4). It should work, but Malloc_T doesn't compile correctly with it enabled. Thanks to Serge Kolgan for this fix. * ace/config-sunos5.9.h: New config.h file for Solaris 9. Right now, it just includes config-sunos5.8.h, but Solaris 9 has some new things to play with as time goes on. Tue Oct 8 09:22:41 2002 Steve Huston * ace/SOCK_Dgram_Bcast.cpp (send): Use next_ to find next ACE_Bcast_Node in if_list_ rather than incrementing pointer. Thanks to for this fix. Mon Oct 7 17:29:14 2002 Ossama Othman * tests/Proactor_Scatter_Gather_Test.cpp (initiate_read_file): Cast one of the operands in a subtraction operation to a size_t to address a problem exhibited by Borland C++ where the ACE_MIN template expects two parameters of the same type, but was getting two parameter of different types. This problem occurred on platforms where "unsigned int" and "unsigned long" are different types. Mon Oct 07 15:21:44 2002 Nanbor Wang * ACEXML/apps/svcconf/XML_Svc_Conf_Parser.dsp: * ACEXML/common/XML_Common.dsp: * ACEXML/parser/debug_validator/Debug_Validator.dsp: * ACEXML/parser/parser/Parser.dsp: * ACEXML/tests/HttpCharStream_Test.dsp: * ACEXML/tests/NamespaceSupport_Test.dsp: * ACEXML/tests/Transcoder_Test.dsp: * apps/JAWS2/server.dsp: * examples/Export/test.dsp: * examples/IPC_SAP/FILE_SAP/client.dsp: * examples/Logger/client/client.dsp: * examples/Logger/simple-server/server_loggerd.dsp: * examples/QOS/Simple/receiver.dsp: * examples/QOS/Simple/sender.dsp: * examples/Reactor/Multicast/client.dsp: * examples/Reactor/Multicast/server.dsp: * examples/Reactor/Proactor/test_udp_proactor.dsp: * examples/Synch/proc_sema.dsp: * tests/DLL_Test_Impl.dsp: * tests/Framework_Component_DLL.dsp: Disabled the generation of precompiled headers. They were taking up too much disk space on the nightly build machines. Thanks to Ossama for noticing this. Sun Oct 6 09:03:28 2002 Ossama Othman * ace/UPIPE_Stream.cpp (send): Silenced a signed/unsigned conversion warning using a static_cast<> until a better solution presents itself. Sat Oct 5 17:04:38 2002 Steve Huston * ace/Memory_Pool.cpp (ACE_Pagefile_Memory_Pool::acquire): Remove casts on comparisons, allowing size_t values to compare directly. * apps/JAWS/server/IO.cpp (JAWS_Synch_IO::transmit_file): Remove cast from send_n() return value to avoid signed/unsigned compare. Sat Oct 5 12:30:49 2002 Steve Huston * ace/Service_Manager.cpp (list_services): Remove extra right paren. * tests/Proactor_Timer_Test.cpp: Fixed signed/unsigned mismatch. Fri Oct 04 22:24:23 2002 Krishnakumar B * ACEXML/common/URL_Addr.cpp (string_to_addr): Added a new wrapper which matches the signature in ACE_INET_Addr, and delegates the work to the ACEXML_Char function to work around Borland BCB warning about hidden virtual function. Fri Oct 4 21:32:51 2002 Steve Huston * ace/Service_Manager.cpp (list_services): Correct compiler warning about sign/unsigned comparison. Don't bother for checking transfer count != requested, since send_n always reports an error (0 or -1) if there was a fail before the whole 'n' sent. Fri Oct 4 20:22:41 2002 Steve Huston * ace/ace_dll64.mak: Removed the /wd4267 to re-enable the conversion size_t to int warning. Added Atomic_Op.obj to the files to compile directly. * ace/ACE.cpp (recv, send): Extract int, not size_t, from implicit char */int pairs. (send_n, recv_n with ACE_Message_Blocks): Message block length is a size_t but iov_len is u_long, so make as many iovs as needed to fit the entire requested length. * ace/Asynch_Acceptor.cpp: Added casts to fix size_t->DWORD warnings. * ace/Asynch_IO.cpp (transmit_buffers): Cast lengths to DWORD for Win64. * ace/Configuration.{h cpp} (set_binary_value, get_binary_value): Change length arg from u_int to size_t. * ace/Configuration_Import_Export.cpp: Align use of u_int, size_t. * ace/Containers_T.cpp (ACE_Fixed_Set::insert): Use ssize_t, not int, to track free slot since max size is a size_t. * ace/FIFO_Recv_Msg.i (recv): * ace/FIFO_Send_Msg.i (send): Squeeze size_t max_len down to an int because this gets run through the ACE_Str_Buf variant of recv/send. If this restriction is too much, the code will need to be refactored. * ace/FILE_Addr.cpp (set): Cast size_t back to int for base_set(). * ace/FILE_IO.cpp (recv): Count iov tuples as an int to match what's expected at the ACE_OS::readv level. * ace/Filecache.h (ACE_File_Object): Change size_ from size_t to off_t. It's a better match for what it's used for (checking against stat.st_size, which is an off_t also). * ace/Functor_T.i (ACE_Pointer_Hash): Add #pragmas for Win64 to shut up the compiler warnings about casting a pointer to u_long. * ace/INET_Addr.{h i} (ip_addr_size): Return an int, not size_t. This value is just passed on to other methods (like host db functions) that are expecting an int. Also, being the size of a IP addressing structure, all the values are well within range of an int. * ace/Lib_Find.cpp (ldfind, get_temp_dir): Cast path length value to DWORD for calls to SearchPath and GetTempPath on Windows. * ace/Local_Name_Space.{h cpp} (ACE_NS_String::strstr): Cast return value from size_t to int. (hash): Change return type from size_t to u_long to match what's expected from ACE_Hash<>, which this is an adapter for. * ace/Log_Msg_NT_Event_Log.cpp (open): Cast msg_file length to DWORD for use in Windows API. Use size_t for reg key string length since it need not be passed to a Windows API. * ace/Log_Record.cpp (round_up): Do all the rounding math in size_t terms, since all factors are size_t, but cast it back to ACE_UINT32 since the ACE_Log_Record length_ field is ACE_UINT32 and should stay that way due to the need to send it over the network as a known-length field. (print): Cast verbose_msg string length to int so it can be compared to fprintf return value. * ace/MEM_Acceptor.cpp (accept): Cast string length to ACE_UINT16. * ace/MEM_SAP.h: * ace/MEM_IO.{h cpp} (ACE_Reactive_MEM_IO, ACE_MT_MEM_IO): Changed return type of send_buf and recv_buf from int to ssize_t. This is consistent with other ACE sock-type send methods, and matches the range of sizes allowed to request sending of and the return type expected by ACE_MEM_IO::send() and recv(). * ace/Mem_Map.i (advise): Get a size_t length as expected by ACE_OS::madvise(). * ace/Mem_Map.cpp (map_it): Use off_t instead of size_t to calculate null_byte_positition when extending the file. This is the type that ACE_OS::pwrite() expects. * ace/Memory_Pool.h (ACE_Pagefile_Memory_Pool::Shared_Control_Block): Changed mapped_size_ from int to size_t to match the sizes it can take (max_size_)and what's expected in the Win32/64 API calls. Changed free_offset_ from int to ptrdiff_t to represent the full range of mapped address range. Changed free_size_ from int to size_t to match max_size_ and the range of mappable sizes. Changed 'append' arg to map() from int to size_t, also to represent full range of mappable size. * ace/Memory_Pool.i (round_up): Cast nbytes to off_t for call to ACE::round_to_page_size(). * ace/Memory_Pool.cpp: Adjust usage of size_t/off_t, usually with casts where needed. (map): For Win64, allow full 64-bit range of file mapping size. * ace/Message_Queue.{h i cpp} (ACE_Message_Queue_NT): Changed max_threads arg (ctor and open()) and max_cthrs_/cur_thrs_ from size_t to DWORD, as expected by the underlying API (this class is not portable, or compilable outside of ACE_WIN32). * ace/Msg_WFMO_Reactor.{h cpp} (poll_remaining_handles()): Changed argument from size_t to DWORD - matches similar changes to WFMO_Reactor, below. * ace/Name_Request_Reply.cpp (ctor): Cast length to ACE_UINT32. * ace/Naming_Context.cpp (info): Cast info string length to int. * ace/OS.{h i cpp}: (sema_post): Changed count from size_t to u_int, to match both the value range for initializing (sema_init) and the underlying OS calls on all platforms. (getipnodebyaddr): For IPv4 case, cast len to int. (recvfrom): size_t->int casting for Windows. (read, write, pread, pwrite): Reduce byte count to DWORD range for Windows. (getcwd): Windows offers an int len for getcwd(), as opposed to size_t everywhere else... so special-case the Windows need to cast the length down. (thr_create): Cast stack_size to u_int for beginthreadex(). Other miscellaneous int/size_t casts to get Win64 to build clean. (iovec): Changed iov_len field from size_t to u_long to match WSABUF, as comment says to. * ace/OS_String.cpp (strtok_r_emulation): Change string lengths from int to size_t, matching that returned from strlen(). * ace/Process.{h cpp} (setenv_i): Change len arg from int to size_t. Matches string lengths in general, and the expectations of both callers and callees with this information. Changed environment_buf_index_ and environment_buf_len_ from int to size_t as well, matching available range. * ace/Process_Manager.cpp: size_t to DWORD casting for current_count_. * ace/Registry.cpp (make_name): Use ssize_t instead of int for string positions - matches interface for ACE_TString, which this method accepts and uses. * ace/Remote_Name_Space.cpp (bind, rebind, resolve, list_names, list_values, list_types, list_name_entries, list_value_entries, list_type_entries): Cast length values to ACE_UINT32 as ACE_Name_Request expects. * ace/Select_Reactor_Base.cpp (ACE_Select_Reactor_Handler_Repository): In open(), cast size to int for call to ACE::set_handle_limit(). * ace/Service_Config.cpp (ctor): Cast size value to int for passing to ACE_Service_Repository::instance(). The ACE_Service_Repository size should probably be changed to size_t for consistency. * ace/Service_Manager.cpp (info): Cast return string length to int. * ace/Service_Types.cpp (info): Cast return string length to int. * ace/Shared_Memory_MM.i (get_segment_size): * ace/Shared_Memory_SV.i (get_segment_size): Cast shared_memory_ size to int. Legit since the open() call's size is an int; otherwise this should be changed to return a size_t. * ace/SOCK_Connector.cpp (shared_connect_start): Align use of int/size_t. * ace/SOCK_Dgram.{h cpp} (recv, send): * ace/SOCK_Dgram_Bcast.{h cpp} (recv, send): * ace/SOCK_Sgram_Mcast.{h i} (send, recv): Change iovcnt from size_t to int to match the args used by other iovcnt-accepting methods in ACE. * ace/SOCK_Dgram_Bcast.i (send): Align use of int/size_t. * ace/SOCK_IO.cpp (recv (size_t, ...), send(size_t, ...)): The comments say the pairs are char*, int, but the code extracted ssize_t values instead of int. Changed to extract ints as the comment says. The values are put in iovecs which accept unsigned long, not ssize_t. * ace/SPIPE_Addr.cpp (set): Align use of int/size_t. * ace/SPIPE_Stream.cpp (send, recv): Align use of int/size_t. * ace/SString.i (ACE_NS_WString): Add missing arg for ACE_WString ctor initialization. (ACE_SString::rfind): Cast string len to int for searching... note this limits the string to 'int' range, though the other size arguments/parameters are size_t. There are crocodiles lurking here... hopefully this class is on its way out. * ace/SV_Shared_Memory.{h i} (get_segment_size, round_up): Changed return type from int to size_t, matching it's argument type. Also changed class's size_ member from int to size_t, matching the arg from which it's set. * ace/Synch.{h i} (ACE_Semaphore::release): Change release count from size_t to u_int - also see corresponding change to OS.h, above. * ace/Thread.{h cpp} (spawn_n): Change return value from int to size_t, matching the range available via the 'n' argument. * ace/Thread_Manager.{h i cpp}: (count_threads): Change return value from int to size_t. Matches the requestable number of threads in spawn_n, as well as underlying container size return. (find_task): Change slot argument from int to size_t... matches range of available slots. The default changed from -1 to 0, but should make no difference since first check is for 0 >= . (thread_all_list, task_all_list, task_list, thread_list, hthread_list, thread_grp_list, hthread_grp_list): Changed return value from int to ssize_t, to match argument. * ace/Timer_Hash_T.{h cpp}: This timer queue generates timer IDs by casting a pointer to a dynamically-allocated structure to a long. This, of course, is invalid on Win64. On Win64, the ID is obtained by masking off the lower 32 bits of the pointer, and saving the upper 32 bits. This adds an assumption that all the Hash_Tokens allocated will have the same upper 32 bits in the pointer value. Note that the original pointer value is used as the ACT value in the timer scheduled within this class. The timer ID must only be reconverted to cancel a timer by ID, or to explicitly reschedule it. Expiration and cancel-by-handler are all handled by reconverting the ACT to the dynamically-allocated memory area (Hash_Token). Also changed hash starter from time.usec() to time.sec(). usec() isn't usually anything of value. * ace/Timer_Wheel_T.cpp: Added #pragma to disable compile warnings. We know of the issue and deliberately used the fields this way. * ace/UPIPE_Stream.{h cpp} (send, recv): Changed return value from int to ssize_t, consistent with other IPC streams in ACE. * ace/WFMO_Reactor.{h cpp} (ACE_WFMO_Reactor_Handler_Repository): Changed max_handlep1_ and max_handlep1 () from size_t to DWORD. Matches what they're used for (input to WaitForMultipleObjects). (ACE_WFMO_Reactor): Changed wait_for_multiple_events() to return DWORD, not int - matches what WaitForMultipleObjects returns. Changed wait_status and slot args to dispatch(), safe_dispatch(), dispatch_handles (), dispatch_handler (), simple_dispatch_handler (), complex_dispatch_handler (), and poll_remaining_handles () to also be DWORD, not int, as they're working directly (or close to it) with the same WFMO return value. * ace/WIN32_Asynch_IO.cpp (ACE_WIN32_Asynch_Read_Stream::readv, ACE_WIN32_Write_Stream::writev, ACE_WIN32_Asynch_Read_Dgram::recv, ACE_WIN32_Asynch_Write_Dgram::send): Make multiple iovecs if needed to transfer all data requested. (ACE_WIN32_Asynch_Read_Stream::shared_read, ACE_WIN32_Asynch_Write_Stream::shared_write, ACE_WIN32_Asynch_Read_File::readv, ACE_WIN32_Asynch_Write_File::writev, ACE_WIN32_Asynch_Accept::accept, ACE_WIN32_Asynch_Transmit_File::transmit_file): Limit requested bytes to MAXDWORD. Return -1, ERANGE if over. * ace/WIN32_Proactor.{h cpp}: Changed number_of_threads_ member from size_t to DWORD, matching the API calls it's passed to. (post_completion): Cast transfer count from size_t back to DWORD for posting. The cast is ok since the original requested transfer counts (in WIN32_Asynch_IO) were limited to DWORD range. * tests/Config_Test.cpp: * tests/Proactor_Scatter_Gather_Test.cpp: * tests/Proactor_Test.cpp: * tests/Proactor_Timer_Test.cpp: * tests/Reactor_Timer_Test.cpp: * tests/Semaphore_Test.cpp: * tests/TP_Reactor_Test.cpp: size_t/int fixes. Fri Oct 4 18:39:19 2002 Steve Huston * tests/Recursive_Condition_Test.cpp: Added a deactivate/wait on the timer queue to make sure the queue shuts down. This reveals a bug in the recursive condition... it's stuck. Also added a much simpler wait/signal test that shows the issue without the additional stuff to trudge through while looking for the problem. Thanks to Philippe Haussy for reporting this and sending a nice, concise test case. * THANKS: Added Philippe Haussy to the Hall of Fame. Thu Oct 3 17:29:36 2002 Douglas C. Schmidt * ace/OS_Dirent.cpp (readdir_emulation): Don't do a FindNextFile() right after FindFirstFile() to avoid overwriting the existing data! Thanks to Dmitry Botcharnikov for reporting this. Wed Oct 2 20:44:19 2002 Steve Huston * tests/Proactor_Scatter_Gather_Test.cpp: Added some more diagnostic info and removed ACE_ASSERT on file not compared correctly - just note the error and return. When about to writev a chain of blocks, update the odd/even chains before writing in case the write fails; fixes a crash on NT4... test still fails, but doesn't crash. Wed Oct 2 10:50:49 2002 Ossama Othman * ace/Basic_Types.h: * ace/Basic_Types.cpp: Do not rely on the u_int and u_long typedefs. They are not always defined in system headers. Addresses a compile-time issue when _XOPEN_SOURCE is explicitly set to 600 on Glibc platforms, such as Linux. * ace/OS.h: Explicitly define the u_{char,short,int,long} typedefs on Glibc platforms when _BSD_SOURCE is not defined. Addresses a compile-time issue when _BSD_SOURCE is not defined. * ace/config-linux.h: If ACE_HAS_PTHREADS_UNIX98_EXT is not defined, do not define ACE_LACKS_RWLOCK_T. Addresses a compile-time issue when _XOPEN_SOURCE is not set to a value >= 600. * ace/config-linux-common.h: Reverted change that explicitly defined _XOPEN_SOURCE to 600. Explicitly defining _XOPEN_SOURCE to 600 causes many compile-time errors and warnings to occur. Moved the check for (_XOPEN_SOURCE >= 600) after the include. That header may define _XOPEN_SOURCE when other macros, such as _GNU_SOURCE, are defined. Wed Oct 2 01:08:51 2002 Krishnakumar B * ace/SString.cpp (ACE_NS_WString): Fix the silly off-by-one error causing heap corruption and core dumps in $ACE_ROOT/Naming_Test. Thanks to Vladislav for reporting the problem. Tue Oct 1 20:46:35 2002 Christopher Kohlhoff * ace/Atomic_Op.cpp: Added explicit instantiations for ACE_Atomic_Op and ACE_Atomic_Op_Ex. Programs using ACE should no longer explicitly instantiate these classes. This change eliminates the complexity of having to test for the ACE_HAS_BUILTIN_ATOMIC_OP define when doing explicit instantiations. * tests/Atomic_Op_Test.cpp: * tests/Notify_Performance_Test.cpp: Removed ACE_Atomic_Op explicit instantiations that are now made in the ACE library itself. Tue Oct 1 19:49:36 2002 Krishnakumar B * ace/Exception_Macros.h: Fixed some documentation for using the Exception macros. * ace/OS.i: * ace/config-aix-4.x.h: * ace/config-hpux-11.00.h: * ace/config-linux-common.h: * ace/config-linux.h: Enable support for using native rwlocks on Linux. Tue Oct 1 05:06:18 2002 Balachandran Natarajan * ace/WIN32_Asynch_IO.cpp: Minor cosmetic changes. Mon Sep 30 12:21:32 2002 Ossama Othman From Christophe Juniet * ace/Sock_Connect.cpp (get_bcast_addr, get_ip_interfaces) (count_interfaces): The ifr_addr.sa_len field was not taken into account when incrementing the ifreq pointer on FreeBSD. Addresses network interface enumeration problems in FreeBSD builds. Mon Sep 30 09:33:42 2002 Christopher Kohlhoff * bin/MakeProjectCreator/templates/bor.mpd: * include/makeinclude/build_dll.bor: * include/makeinclude/build_exe.bor: * include/makeinclude/build_lib.bor: * include/makeinclude/clean.bor: * include/makeinclude/outputdir.bor: Add support for the 'install', 'dllout' and 'libpaths' MakeProjectCreator settings in generated Borland makefiles. Mon Sep 30 13:25:12 2002 Johnny Willemsen * include/makeinclude/platform_linux_borland.GNU: Now it is possible to create shared libraries, but no executables yet with Kylix3. Mon Sep 30 11:33:12 2002 Johnny Willemsen * include/makeinclude/platform_linux_borland.GNU: Extended Kylix3 GNU file. Mon Sep 30 11:13:33 2002 Johnny Willemsen * ace/config-borland-common.h: * ace/config-win32-common.h: Moved the dll export stuff for the Borland compiler from the win32 file to the borland file because the Kylix compiler also supports the dll export stuff for shared objects. Mon Sep 30 10:19:33 UTC 2002 Johnny Willemsen * include/makeinclude/rules.bin.GNU: Added special part for Kylix. The Kylix linker expects that the object files and the name of the executable are separated using a comma. Sun Sep 29 08:19:09 2002 Nanbor Wang * ACEXML/examples/SAXPrint/Makefile: Removed inclusion of rules.lib.GNU to allow mingw compilation to proceed. Thanks to Vince Mounts for reporting this. * ace/SString.h: Moved the ACE_INLINE before ACE_Export in declaration of operator+ to resolved a mingw warning. Thanks to Vince Mounts for reporting this. Fri Sep 27 12:49:33 2002 Johnny Willemsen * include/makeinclude/rules.lib.GNU: Added special part for Kylix Thu Sep 26 21:52:05 2002 Balachandran Natarajan * THANKS: Added Erich Hochmuth" to the hall of fame. Thu Sep 26 13:48:26 2002 Balachandran Natarajan * ace/TP_Reactor.cpp (remove_handler): Make a check for the return value from the remove_handler_i () call before calling handle_close (). Thanks to Eric Malenfant for suggesting this. Eric mentions that doesnt show up the BUG 1020 problem. But local testing here doesnt tell so. I still see some core dumps with a test, albeit slowly! The patch cannot do any harm and hence this is checked in. Thu Sep 26 07:16:56 2002 Douglas C. Schmidt * ace/Local_Name_Space.h (ACE_NS_String): Removed the comment about ACE_NS_String not having a destructor since this seems to have been overtaken by events. Thanks to Vladislav Zverev for reporting this inconsistency. Thu Sep 26 09:18:55 UTC 2002 Johnny Willemsen * ace/Logging_Strategy.h: Improved doxygen documentation. Thu Sep 26 05:42:33 UTC 2002 Johnny Willemsen * include/makeinclude/platform_gnuwin32_common.GNU: Since mingw can now handle exceptions across dll boundries removed that restriction. Thanks for Vince Mounts for reporting this. Wed Sep 25 17:58:43 UTC 2002 Johnny Willemsen * ace/Basic_Stats.h: * ace/Connector.h: * ace/INET_Addr.h: * ace/OS.h: * ace/OS.i: * ace/Service_Config.h: * ace/Stats.h: * ace/Timer_Queue_T.cpp: * ace/TLI_Connector.cpp: * ace/XTI_ATM_Mcast.i: * ace/RMCast/RMCast_Reliable_Factory.h: Small fixes in method argument names, types, comments to fix doxygen warnings and improve the generated documentation. Wed Sep 25 08:44:13 2002 Ossama Othman * tests/Notify_Performance_Test.cpp: Do not explicitly instantiate an ACE_Atomic_Op template if ACE_HAS_BUILTIN_ATOMIC_OP is defined. Defining it causes template specialization with the same parameters to be declared. Fixes a compile-time problem in explicit template instantiation builds. Wed Sep 25 14:49:12 UTC 2002 Johnny Willemsen * bin/fuzz.pl: Extended the types of files that are tested in the doxygen @file with the files_idl. Some of the idl files are parsed to generate doxygen documentation and when then a @file tag exists the filename must be correct. Tue Sep 24 20:17:50 UTC 2002 Don Hinton * tests/Process_Manager_Test.cpp: Removed the ACE_HAS_THREADS requirement and the unneeded call to ACE_Reactor::instance ()->owner () so that it would run cleanly on single threaded builds. Thanks to Steve Huston for this suggestion. * tests/run_test.lst: Added !STATIC to Framework_Component_Test since it must load a shared library as part of the test. Tue Sep 24 16:07:21 2002 Steve Huston * examples/C++NPv1/Logging_Client.cpp: * examples/C++NPv2/Select_Reactor_Logging_Server.cpp: * examples/C++NPv2/Server_Shutdown.cpp: * examples/C++NPv2/TP_Reactor_Logging_Server.cpp: For Windows builds without ACE_HAS_STANDARD_CPP_LIBRARY, use gets() and a char[] instead of the standard string and getline functions. We don't want to be going this way for ACE in general, but this fixes the legacy-mode builds. Tue Sep 24 06:30:31 UTC 2002 Johnny Willemsen * ace/ACE.h: * ace/Acceptor.h: * ace/Activation_Queue.h: * ace/Asynch_Acceptor.h: * ace/Asynch_Connector.h: * ace/Arg_Shifter.h: * ace/Get_Opt.h: * ace/Local_Tokens.h: * ace/Method_Request.h: * ace/Thread_Manager.h: * ace/WIN32_Asynch_IO.h: * ace/INET_Addr.h: Corrected doxygen tags. * ace/CDR_Stream.cpp (write_string): * ace/Map_T.i (find, unbind): * ace/Timer_Hash_T.cpp: Made arguments in method definition and implementation the same. * ace/Future.h: Improved doxygen documentation. * ace/POSIX_CB_Proactor.i: Added same ifdef as in the header file around the code in this file, so that doxygen doesn't parse it. Mon Sep 23 13:43:11 2002 Chad Elliott * bin/MakeProjectCreator/modules/WorkspaceCreator.pm: Fixed a bug with the per-project workspaces. Mon Sep 23 13:00:13 2002 Douglas C. Schmidt * ace/Log_Msg_NT_Event_Log.{h,cpp}: Made the #ifdefs consistent in both the *.h and *.cpp files. Thanks to Johnny Willemsen for reporting this. Mon Sep 23 13:14:28 2002 Steve Huston * ace/Task.h (wait()): * ace/Thread_Manager.h (wait_task()): Improved documentation, also clarifying that the waited-for threads have been joined upon return. Mon Sep 23 12:05:38 2002 Chad Elliott * bin/MakeProjectCreator/modules/BorlandWorkspaceCreator.pm: * bin/MakeProjectCreator/modules/GNUWorkspaceCreator.pm: * bin/MakeProjectCreator/modules/NMakeWorkspaceCreator.pm: * bin/MakeProjectCreator/modules/WorkspaceCreator.pm: For GNU, NMake and Borland projects, create a workspace per project file. * bin/MakeProjectCreator/modules/BorlandProjectCreator.pm: * bin/MakeProjectCreator/modules/Creator.pm: * bin/MakeProjectCreator/modules/GHSWorkspaceCreator.pm: * bin/MakeProjectCreator/modules/TemplateParser.pm: Remove trailing whitespace. Sun Sep 22 08:49:41 2002 Douglas C. Schmidt * ace/Svc_Handler.cpp (flush_i): Don't flush the queued messages if the connection fails. Thanks to Andrew Finnell for this fix. Sat Sep 21 23:05:56 2002 Balachandran Natarajan * bin/subst_env.pl: Improved conversion to different coding styles. Thanks to Oliver Kellog for suggesting this. Fri Sep 20 13:52:23 2002 Chad Elliott * bin/MakeProjectCreator/modules/NMakeProjectCreator.pm: Fixed a problem with implicit idl dependencies. * bin/MakeProjectCreator/README: * bin/MakeProjectCreator/modules/Creator.pm: * bin/MakeProjectCreator/modules/ProjectCreator.pm: * bin/MakeProjectCreator/modules/TemplateParser.pm: * bin/MakeProjectCreator/templates/bor.mpd: * bin/MakeProjectCreator/templates/em3vcp.mpd: * bin/MakeProjectCreator/templates/gnu.mpd: * bin/MakeProjectCreator/templates/nmake.mpd: * bin/MakeProjectCreator/templates/vc6dsp.mpd: * bin/MakeProjectCreator/templates/vc7.mpd: Added the ability to override or modify idlflags on a per file group basis. Thu Sep 19 22:13:13 2002 Krishnakumar B * ACEXML/common/HttpCharStream.cpp: Added license for the FSM in HttpCharStream.cpp. It is a shortened BSD license which is compatible with ACE/TAO licensing. Wed Sep 18 12:26:22 2002 Douglas C. Schmidt * examples/Misc/test_trace.cpp: The call to activate() was being invoked with the parameters in the wrong order. Thanks to Jeff W for reporting this. Tue Sep 17 17:26:40 2002 Ossama Othman * ace/Basic_Types.cpp: Cosmetic changes to clarify some preprocessor blocks. * ace/CDR_Base.h: Corrected placement of '#' character in preprocessor directives. It belongs in the first column, not arbitrary ones. Tue Sep 17 01:35:54 UTC 2002 Don Hinton * ace/OS.h: Remove redundant MAXPATHLEN definition when building VxWorks. Thanks to Rob Andzik for pointing this out. Mon Sep 16 17:36:33 UTC 2002 Johnny Willemsen * ace/Hash_Cache_Map_Manager_T.cpp: Use typedefs from header file. * ace/Process.i (setreugid): Made method implementation same as definition Mon Sep 16 15:26:56 UTC 2002 Johnny Willemsen * ace/config-doxygen.h: Added define ACE_HAS_TEMPLATE_TYPEDEFS to generate ACE_Event_Handler_T documentation. Mon Sep 16 07:35:12 UTC 2002 Johnny Willemsen * ace/config-doxygen.h: Added define ACE_HAS_EVENT_POLL to generate Dev_Poll reactor documentation * ace/Acceptor.h: * ace/Containers_T.{h,cpp}: * ace/Dev_Poll_Reactor.h: * ace/Sample_History.h: * ace/Service_Config.h: Improved doxygen documentation. Sat Sep 14 10:34:34 2002 Douglas C. Schmidt * ace/config-freebsd-pthread.h: Added #undef ACE_LACKS_UCONTEXT_H if we're compiling for FreeBSD version > 4. Thanks to Christophe Juniet for reporting this. Fri Sep 13 08:37:09 2002 Ossama Othman * ace/Time_Value.h: * ace/Time_Value.inl: Removed copy constructor. The default compiler-generated copy constructor will do fine since ACE_Time_Value is a POD class. This may also avoid potential confusion due to a missing explicit assignment operator. The compiler-generated assignment operator will suffice in this case, too. From Gonzalo Diethelm * bin/.cvsignore: * tests/.cvsignore: * tests/log/.cvsignore: Files to silence annoying CVS messages regarding generated files it doesn't know about. Fri Sep 13 08:57:03 2002 Chad Elliott * bin/MakeProjectCreator/USAGE: * bin/MakeProjectCreator/modules/Creator.pm: * bin/MakeProjectCreator/modules/Driver.pm: * bin/MakeProjectCreator/modules/ProjectCreator.pm: * bin/MakeProjectCreator/modules/TemplateParser.pm: * bin/MakeProjectCreator/modules/WorkspaceCreator.pm: * bin/MakeProjectCreator/templates/bor.mpd: * bin/MakeProjectCreator/templates/em3vcp.mpd: * bin/MakeProjectCreator/templates/gnu.mpd: * bin/MakeProjectCreator/templates/nmake.mpd: * bin/MakeProjectCreator/templates/vc6dsp.mpd: * bin/MakeProjectCreator/templates/vc7.mpd: Added the ability to modify template and project variable assignments from the command line. Also added rules to process idl files and place the output in the directory relative to the specified idl file. Modified to not add duplicates to file lists. Thu Sep 12 17:18:43 2002 Douglas C. Schmidt * ace/Synch.{h,cpp}: Only define the recursive condition support if we're running on Win32. Hopefully, this will be generalized for VxWorks at some point. Thanks to Rob Andzik for reporting this. Thu Sep 12 19:29:41 2002 Steve Huston * ace/Atomic_Op_T.i (dump): Don't try to return a value from a 'void' method. Thu Sep 12 17:38:10 2002 Nanbor Wang * ace/Malloc_T.h: * ace/Malloc_T.i (release): Added an extra argument (with default value) to release so that we could decrease the refcount and release the backing store if needed atomically (while holding the lock.) This was causing a race condition when removing mmap files used by MEM_Stream's. * ace/Memory_Pool.h: * ace/Memory_Pool.i: * ace/Memory_Pool.cpp: Changed the release method to take an extra argument so that we can control whether we want to perform cleanup on backing store or not. * ace/MEM_SAP.cpp (close_shm_malloc): Changed to use the extended release method to remove the shared_memory. * ace/MEM_IO.cpp: When sending/receiving data reactively, make sure we don't even try if the socket is not valid. Thu Sep 12 08:39:46 2002 Douglas C. Schmidt * ace/Synch.h (class ACE_recursive_mutex_state): Changed "HANDLE" to "ACE_HANDLE" to avoid problems with VxWorks. Thanks to Rob Andzik and Don Hinton for reporting this. Thu Sep 12 17:36:36 UTC 2002 Craig Rodrigues * include/makeinclude/wrapper_macros.GNU: Use awk instead of perl to determine the ACE major, minor, and beta versions. Thu Sep 12 12:02:31 2002 Steve Huston * tests/TSS_Test.cpp: Pass iteration count to worker() as a pointer to int, not an int cast to a pointer and back. Wed Sep 11 08:44:28 2002 Douglas C. Schmidt * Our thoughts and prayers go out to the victims of 9/11/01 on the anniversary of this terrible tragedy. Wed Sep 11 13:03:48 2002 Carlos O'Ryan * ace/Select_Reactor_Base.cpp: Check the suspend mask before completely forgetting about a handle, otherwise things do not work correctly with TP_Reactors and multiply-registered handlers. This fixes: http://deuce.doc.wustl.edu/bugzilla/show_bug.cgi?id=1306 Tue Sep 10 17:46:51 2002 Steve Huston * ace/Malloc_T.{h i cpp} (ACE_Malloc_T): Changed the lock_ member from an ACE_LOCK to an ACE_LOCK *. Also added another constructor that accepts an ACE_LOCK pointer instead of a ACE_TCHAR *lock_name. This allows someone to form an ACE_LOCK externally and supply it to the ACE_Malloc_T object. This is useful if special permissions need to be set on the lock, such as the mode_t for ACE_Process_Mutex. Tue Sep 10 14:06:02 2002 Krishnakumar B * ace/Obstack_T.cpp: * ace/Obstack_T.h: Obstack is no longer restricted to fixed-size chunks. Chunk size is increased by a power of two if we run out of memory in a chunk. Added implementation of unwind operations. Stack can be unwound by giving the address of an object on the stack. Fixed a couple of bugs in the existing implementation when used with WCHAR. We were incrementing the pointers by sizeof (CHAR) as well as multiplying by sizeof (CHAR) to get the number of bytes to be copied. This improvement doesn't deal with the alignment issues as it requires a change in Obchunk which is postponed till after ACE 5.3 is released. * tests/Obstack_Test.cpp: New, improved test which exercises all the code paths in the implementation unlike the previous test. Tue Sep 10 12:32:33 2002 Carlos O'Ryan * ace/Connector.cpp: Be more informative in error messages, at least report in what library, class and function was the error detected. This fixes: http://deuce.doc.wustl.edu/bugzilla/show_bug.cgi?id=1304 Tue Sep 10 12:28:41 2002 Carlos O'Ryan * ace/Connector.cpp: Be more paranoid about using AST's returned from cleanup_AST() and always check the return value of that function. This fixes: http://deuce.doc.wustl.edu/bugzilla/show_bug.cgi?id=1303 Mon Sep 9 16:44:00 2002 Balachandran Natarajan * THANKS: Surprise, surprise, Gautam Thaker'ss name was not there in the THANKS file. So added it. Mon Sep 9 16:57:41 2002 Steve Huston * ace/POSIX_Asynch_IO.cpp (cancel): Don't sanity-check the proactor type - just call cancel_aio and let the proactor impl figure it out. * examples/Reactor/Proactor/test_aiocb.cpp: Fixes to not crash. Mon Sep 09 11:37:13 2002 Nanbor Wang * ace/OS.cpp (cond_timedwait): Changed to pass absolute time when using emulated semaphore on WinCE. Thanks to Herbert Wang for reporting this. * ace/Thread_Manager.cpp (join): This function was not cropping the thread return status when a thread had already exited when we called and its Thread_Descriptor had been moved to terminated_thr_list_. Thanks to Roger Weeks for reporting the problem. Mon Sep 9 00:12:04 UTC 2002 Craig Rodrigues * ace/Makefile.dirs: * examples/Makefile: * tests/Makefile: Remove references to obsolete ACE_HAS_GNUG_PRE_2_8 make variable. Sat Sep 7 23:22:20 2002 Balachandran Natarajan * bin/make_release: The tar ball that is put out during the release, is copied now to the the previous_versions directory with the appopriate version information. This should work right since this was tested against a local repo. Thanks to Preston A. Elder for motivating this change. Sat Sep 7 18:03:21 2002 Steve Huston * ace/Proactor.cpp: Removed some ACE_Proactor:: prefixes on member variable access, replacing with this-> to clarify what's happening. * ace/SUN_Proactor.cpp (handle_events): No need to cast a pointer to long to check for 0. Re-enabled some "should never happen" ACE_DEBUG lines until we find out what's going wrong with this stuff. Thu Sep 5 12:13:51 2002 Steve Huston * ACEXML/common/URL_Addr.inl: Removed ACE_RCSID - it's in URL_Addr.cpp. Wed Sep 4 16:31:29 2002 Douglas C. Schmidt * Kelly Clarkson wins "American Idol." Go Kelly!! Wed Sep 4 17:50:27 2002 Steve Huston * tests/run_test.pl: Change run time limit from 300 to 400 seconds. Some tests are timing out, and when run by hand, they run just over 5 minutes, so give them a little more time. Wed Sep 4 17:31:24 2002 Steve Huston * tests/Cached_Conn_Test.cpp: ACE_DEBUG %@ for pointers, not %d. Wed Sep 4 20:59:40 UTC 2002 Craig Rodrigues * include/makeinclude/platform_irix5.2.GNU: * include/makeinclude/platform_m88k.GNU: * include/makeinclude/platform_netbsd.GNU: * include/makeinclude/platform_qnx_neutrino.GNU: * include/makeinclude/platform_qnx_rtp_gcc.GNU: * include/makeinclude/platform_sco-nothread.GNU: Instead of setting -fno-implicit-templates, use $(TEMPLATES_FLAG). Include platform_g++.GNU to get the correct value of $(TEMPLATES_FLAG). Wed Sep 4 16:31:29 2002 Steve Huston * ace/Timer_Wheel_T.cpp: Formatting tweaks for ACE coding style. Wed Sep 4 20:08:54 UTC 2002 Don Hinton * ace/Framework_Component.cpp (close): Delete each component explicitely instead of calling close_singleton () to avoid a memory leak. The dtor calls close_singleton () anyway. Thanks Vladimir Chovanec for reporting the leak and suggesting the fix. Tue Sep 03 22:59:27 2002 Krishnakumar B * ACEXML/common/XML_Common.dsp: Added URL_Addr.inl to common. Tue Sep 03 22:40:22 2002 Krishnakumar B * ACEXML/common/HttpCharStream.cpp: Handle WCHAR properly when getting data from URLs. * ACEXML/common/URL_Addr.cpp: * ACEXML/common/URL_Addr.h: * ACEXML/common/URL_Addr.inl: Fixes for proper parsing of URLs when URLs are WCHARs. * ACEXML/examples/SAXPrint/main.cpp: Use int in GetOpt instead of char or ACEXML_Char. Tue Sep 3 17:12:59 2002 Ossama Othman * ace/OS.cpp (num_processors_online): Fixed ACE_TRACE macro. Tue Sep 3 16:38:47 2002 Ossama Othman * ace/ace_dll.dsp: * ace/ace_lib.dsp: Atomic_Op.cpp is no longer a template source file. Moved it to the "Source Files" folder. * ace/Synch.cpp (ACE_Mutex): Fixed "unused 'mode' argument" warning. Tue Sep 3 15:54:33 2002 Christopher Kohlhoff * ace/OS.h: * ace/OS.cpp: Added new functions ACE_OS::num_processors() and ACE_OS::num_processors_online() for determining the number of CPUs available on a system. * ace/Atomic_Op.cpp: * ace/Atomic_Op.h: * ace/Atomic_Op.i: * ace/Atomic_Op_T.cpp: * ace/Atomic_Op_T.h: * ace/Atomic_Op_T.i: * ace/Object_Manager.cpp: * ace/Makefile.bor: * ace/Makefile.ace: * ace/ace.mpc: * tests/Atomic_Op_Test.cpp: Added a new fast, lightweight ACE_Atomic_Op template specialization for x86 platforms that uses the architecture's atomic integer primitives. It currently supports Win32 using MSVC6 or BCB, and g++ for (in theory) all x86 operating systems. It selects the appropriate implementation for single- or multi-CPU systems at runtime, based on the return value of the ACE_OS::num_processors function added above. Note that Atomic_Op.cpp is now a real .cpp file and not a template file, and so project files need to be updated accordingly. The template definitions have been moved to the new Atomic_Op_T.* files. Note also that the ACE_Atomic_Op::mutex() operation has been deprecated (and is not supported for the new specialization). If you need this functionality, consider using the ACE_Atomic_Op_Ex template instead. Tue Sep 3 15:40:39 2002 Ossama Othman * tests/XtReactor_Test.cpp (sock_callback): Removed this unused static function. * tests/TkReactor_Test.cpp (sock_callback): Likewise. (ACE_TMAIN): Fixed "deprecated conversion from string constant to char *" warning. Tue Sep 3 15:16:03 2002 Balachandran Natarajan * bin/auto_run_tests.lst: Fixed a typo! Mon Sep 2 16:48:29 2002 Steve Huston * tests/OS_Test.cpp (ctime_r_test): Corrected ACE_Log_Msg to use %P, not %p, to list process ID. Mon Sep 2 13:17:26 2002 Steve Huston * ace/Memory_Pool.{h cpp}: (ACE_MMAP_Memory_Pool_Options): Added optional file_mode arg to set the protection mode on the mapped file, if it is created; defaults to ACE_DEFAULT_FILE_PERMS. (ACE_MMAP_Memory_Pool): Added file_mode_ member that can be set by the ACE_MMAP_Memory_Pool_Options. Defaults to ACE_DEFAULT_FILE_PERMS. It's used for call to ACE_Mem_Map::open() and ACE_Mem_Map::map(). * ace/Process_Mutex.{h cpp}: ACE_Process_Mutex ctor takes an optional mode_t arg to set the backing store mode (for ACE_Mutex use) or the mode for the System V semaphore, when it's used. * ace/Synch.{h cpp} (ACE_Mutex): Constructor takes an optional mode to set backing store protection for Pthreads process mutex case, where memory must be allocated to hold the mutex. These are laying the groundwork for fixing Bugzilla #1219. Mon Sep 2 14:07:12 2002 Krishnakumar B * ace/Exception_Macros.h: New file which holds the exception macros previously present in CORBA_macros.h. This file also makes the macros a bit generic so that they can be used in other modules than TAO. * ace/CORBA_macros.h: Include only the definitions needed for TAO/CORBA. This file can be placed under $TAO_ROOT now. Leaving it for compatibility reasons. * ace/OS.i: Changed the definition of ctime_buf_size to const so that gcc doesn't complain about using variable-sized array which is non-ISO C++. Mon Sep 2 10:00:40 2002 Balachandran Natarajan * ace/Timer_List_T.cpp (get_first_i): Fixes fuzz errors. Sun Sep 01 08:18:37 UTC 2002 Johnny Willemsen * ace/Task.cpp (svc_run): The latest version of the Borland compiler doesn't like the static cast, so only do the static cast when the compiler version is smaller than 0x570 * ace/Handle_Set.cpp: When using Borland on Linux, we don't have fds_bits, but we have __fds_bits. Sun Sep 01 07:57:12 UTC 2002 Johnny Willemsen * ace/config-win32-borland.h: * ace/config-borland-common.h: Improved Borland config files for Kylix support. Sun Sep 01 07:25:12 UTC 2002 Johnny Willemsen * include/makeinclude/platform_linux_borland.GNU: Added first version of platform .GNU file for the Borland Kylix compiler. Thanks to Newton Aird for providing this first version. * THANKS: Added Newton Aird Sat Aug 31 14:57:53 2002 Balachandran Natarajan * THANKS: Added Cemal Yilmaz to the hall of fame. Sat Aug 31 13:55:52 2002 Balachandran Natarajan * ace/OS.i (ctime_r): This fixes a problem on Linux for the call to ::ctime_r where the pointer returned (result) is the same as the pointer (buf) passed in, causing the buffer to get clobbed if strsncpy is used subsequently to move the result back to the caller's buffer. * tests/OS_Test.cpp: Added a test for ACE_OS::ctime_r (). Thanks to Michael Searles for providing this patch. Sat Aug 31 17:45:12 UTC 2002 Johnny Willemsen * ace/config-borland-common.h: Created a new config file for the Borland compiler. This will be used on the Win32 platform and the Kylix3 compiler on Linux * ace/config-linux-common.h: When the Borland compiler is detected, include the config-borland-common.h file * ace/config-win32-borland.h: Moved most of the contents to the config-borland-common.h file, only the lines that are Win32 specific stay here. Sat Aug 31 10:32:38 2002 Douglas C. Schmidt * ace/Future.cpp (set): Removed a stray reference to "iterator" and replaced the for loop with a while loop. Thanks to Craig Rodrigues for reporting this. Sat Aug 31 01:20:09 UTC 2002 Craig Rodrigues Gary Duzan * include/makeinclude/rules.nested.GNU: Rewritten by Gary Duzan. If a list of directories is specified with DIRS= for a recursive make, make will halt immediately and propagate a non-zero return code to the shell if an error is encountered in a subdirectory. The present behavior does not propagate any errors to make if there is an error in a subdirectory. If make -k is specified, make will keep on going even if it encounters an error in a subdirectory, but it will also propagate a non-zero return code to make when the make finishes. The current behavior is to keep on going if an error is encountered in a subdirectory, but NOT propagate a non-zero return code upon termination of make. * ace/Makefile.dirs: (Added) Specifies the DIRS= list of directories to invoke recursive makes on. * ace/Makefile.ace: (Added). This builds libACE, like the old Makefile did. * ace/Makefile: Invoke Makefile.ace first, then Makefile,dirs. It was necessary to split apart the DIRS= rule from the part of the Makefile which builds libACE in order to have parallel makes (-j 2) work on recursive makes. Fri Aug 30 17:34:00 2002 Justin Michel * ace/Timer_List_T.cpp: * ace/Timer_List_T.h: * ace/Timer_Wheel_T.cpp: * tests/Timer_Queue_Test.cpp: Reimplemented timer list to be compatible with Itanium. It no longer uses a Node* as the timer_id, so the cancel operation is now much more expensive. On the plus side I was able to make a few optimizations that improve the speed of the schedule operations. I also made a small optimization to the timer wheel, and updated the test slightly. Fri Aug 30 15:53:18 2002 Steve Huston * tests/SSL/Makefile: Move the addition of SSL options/flags up to before the hackery of the compile command for AIX. Fri Aug 30 05:48:12 UTC 2002 Johnny Willemsen * ace/OS.i (tempnam): Changed defines because special things only happen on Win32 Thu Aug 29 22:01:27 2002 Steve Huston * include/makeinclude/platform_hpux_gcc.GNU: Make the build options settable by the command line (and/or platform_macros.GNU), and fix the threads and soname options, as well we remove the -fstrict-prototype option from the compile options - it was needed for an older g++ (nothing prior to g++ 3 works right on HP-UX anyway) and is not valid for g++ 3.2 and later. Thanks to Ville Lehtiniemi for reporting these issues and sending fixes. Thu Aug 29 15:18:31 2002 Steve Huston * ace/Get_Opt.{h i cpp} (long_option): Only print error messages for long message addition problems if opterr is set. Also added ACE_LIB_TEXT to naked strings for ACE_ERROR. Added opt_opt() method to return the most recently matched short option character. Thanks to Rich (Mr. POSIX) Seibel for the idea and POSIX spec info for this new method. * ace/Object_Manager.cpp (init): When finishing up initialization of the object manager, call ACE_Trace::start_tracing() to reenable trace in cases where a user does init/fini/init. * tests/Get_Opt_Test.cpp: Added usage of ACE_Get_Opt::opt_opt(). Thu Aug 29 15:03:23 2002 Ossama Othman * ace/README: Documented ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS macro. * ace/config-win32-msvc-6.h (ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS): MSVC++ 6 does not correctly handle exceptions thrown from functions/methods that do not list them in the exception specification. In particular, the unexpected exception handler is not invoked. Thu Aug 29 06:12:56 2002 Douglas C. Schmidt * ace/Future.cpp (set): Fixed the loop code so it's possible for the observer object to be deleted or detached in its update() operation. Thanks to Tomer Amiaz for this fix. Thu Aug 29 09:40:20 2002 Nanbor Wang * ACEXML/common/Transcode.h: * ACEXML/parser/parser/Parser.h: Fixed incorrect usage of Doxygen tag. Thanks to Johnny for pointing this out. Thu Aug 29 12:20:17 UTC 2002 Johnny Willemsen * ace/config-win32-borland.h: Removed the 1 after 2 defines, so that they are like the defines in other files. Thu Aug 29 05:53:12 UTC 2002 Johnny Willemsen * examples/Reactor/Proactor/post_completions.cpp: Fixed compile error. * ace/OS_Dirent.h: * ace/OS_Errno.cpp: * ace/Time_Value.h: * ace/Time_Value.inl: Made method signature the same in definition and implementation. * ace/TkReactor.cpp: * ace/TkReactor.h: Made method argument names the same as in the base so that doxygen can generate the documentation. Wed Aug 28 23:30:31 2002 Steve Huston * include/makeinclude/wrapper_macros.GNU: Remove addition of SSL compile/link options so that not all parts of ACE, needing SSL or not, get these options. * ace/SSL/Makefile: * tests/SSL/Makefile: Added the SSL compile/link options from wrapper_macros.GNU to these files, where they're needed. * ace/POSIX_Proactor.cpp (post_wakeup_completions): Use int to count completions, not ssize_t - match the passed-in arg type. Post the completion directly via the proactor, not via the wakeup completion; the dynamic_cast in ACE_POSIX_Asynch_IO::post_ completion loses the subclass of ACE_POSIX_AIOCB_Proactor and when using any other subtype of proactor, the notification is queued incorrectly. (POSIX_SIG_Proactor::notify_completion()) - always queue the signal. Not doing so leaves a window where MT proactors can lose a signal. * tests/Proactor_Test.cpp: Use ACE_Proactor::close_singleton() to delete proactor instance. Just to be sure we try it. * ace/SSL/SSL_Asynch_Stream.{h cpp}: u_long->size_t changes. Wed Aug 28 22:42:41 2002 Steve Huston * examples/Service_Configurator/Misc/main.cpp: * netsvcs/clients/Naming/Client/main.cpp: * tests/ARGV_Test.cpp: * tests/Get_Opt_Test.cpp: Change size_t to int as a side-affect of: Tue Aug 27 13:28:17 2002 Steve Huston * ace/ARGV.{h i cpp}: Changed argc() value from size_t to int. It needs to get passed to many places that expect int (argc, argv). * tests/Semaphore_Test.cpp: * tests/TP_Reactor_Test.{cpp h}: * tests/Upgradable_RW_Test.cpp: Further int/size_t corrections. Wed Aug 28 19:56:16 2002 Douglas C. Schmidt * docs/ACE-subsets.html: Updated the document to point to the soreduce tool and to remove the discussion of PACE. Thanks to Chumsu Kim for motivating this. Wed Aug 28 14:24:36 2002 Steve Huston * ace/Log_Msg.h: Fixed Doxygenation of ACE_Log_Msg. Thanks to Philip Miller for reporting this. Wed Aug 28 11:21:04 2002 Chad Elliott * bin/MakeProjectCreator/templates/em3vcpdll.mpt: * bin/MakeProjectCreator/templates/em3vcpdllexe.mpt: * bin/MakeProjectCreator/templates/em3vcplib.mpt: * bin/MakeProjectCreator/templates/em3vcplibexe.mpt: * bin/MakeProjectCreator/templates/nmakedll.mpt: * bin/MakeProjectCreator/templates/nmakeexe.mpt: * bin/MakeProjectCreator/templates/vc6dspdll.mpt: * bin/MakeProjectCreator/templates/vc6dspdllexe.mpt: * bin/MakeProjectCreator/templates/vc6dsplib.mpt: * bin/MakeProjectCreator/templates/vc6dsplibexe.mpt: Enabled RTTI for all VC based template input files. Wed Aug 28 06:18:35 2002 Douglas C. Schmidt * ace: Removed the config-sunos5.8-sunc++-5.4.h file since these changes should go in the config-sunos5.8.h file rather than a special file. Thanks to Steve Huston for noticing this. * include/makeincludes: Removed the platform_sunos5_sunc++5.4.GNU file since it's no different from the platform_sunos5_sunc++.GNU file. Thanks to Steve Huston for noticing this. Wed Aug 28 06:12:12 UTC 2002 Johnny Willemsen * etc/tao.doxygen: Removed Services.h of the list of not to parse files * etc/tao_rtportableserver.doxygen: Added TAO_NAMESPACE to list of to expanded macros * tests/Timer_Queue_Test.cpp: Fixed unicode build error * ace/Timer_Wheel_T.cpp: Fixed doxygen tags. Tue Aug 27 19:09:17 2002 Steve Huston * ace/Get_Opt.h: Documentation improvements. Tue Aug 27 17:00:20 2002 Douglas C. Schmidt * ace/Signal.cpp: Fixed the ACE_Sig_Action constructors so that it doesn't break out of the loop just because a signal handler failed. Thanks to Marcel Loose for reporting this. Tue Aug 27 19:03:05 2002 Balachandran Natarajan * bin/auto_run_tests.lst: Added $TAO_ROOT/tests/ORB_shutdown test to the daily builds. Tue Aug 27 18:52:59 2002 Balachandran Natarajan * ace/Select_Reactor_T.cpp (wait_for_multiple_events): Normally, select() will reset the bits in dispatch_set so that only those filed descriptors that are ready will have bits set. However, when an error occurs, the bit set remains as it was when the select call was first made. Thus, we now have a dispatch_set that has every file descriptor that was originally waited for, which is not correct. We must clear all the bit sets because we have no idea if any of the file descriptors is ready. Thanks to Jody Hagins and Carlos O'Ryan for reporting this problem and proving the patches. Tue Aug 27 15:56:10 2002 Ossama Othman * ace/config-sunos5.8-sunc++-5.4.h: * include/makeinclude/platform_sunos5_sunc++5.4.GNU: Solaris 8 + SunC++ SPRO 5.4 platform configuration files. Thanks to Serge Kolgan for contributing these files. Tue Aug 27 17:25:39 2002 Steve Huston * ace/WIN32_Proactor.{h cpp}: More u_long->size_t corrections. Tue Aug 27 16:50:41 2002 Steve Huston * tests/Proactor_Test.cpp: Fixed mismatched printf formats for size_t arguments. Tue Aug 27 16:32:18 2002 Steve Huston * ace/Proactor_Impl.h: Fixed some u_long->size_t changes missed on POSIX platforms. Tue Aug 27 14:44:00 2002 Justin Michel * ace/Timer_Wheel_T.cpp: Fixed problem with incorrect name in ACE_TRACE macro. Tue Aug 27 13:28:17 2002 Steve Huston * ace/config-win32-common.h: Added #define ACE_MALLOC_ALIGN 8 for Win64. * ace/Malloc_T.cpp (ACE_Cached_Allocator): When dividing up the allocated space, maintain the platform's alignment requirements. * ace/ace_dll64.mak: Removed references to Hash_Map_Manager_rt.*. * ace/Stream_Modules.cpp (info): Cast string length back to int. * ace/ARGV.{h i cpp}: Changed argc() value from size_t to int. It needs to get passed to many places that expect int (argc, argv). * ace/OS.{h cpp} (ACE_OS::string_to_argv): argc changed from size_t& to int& to match the change above. * ace/FILE_IO.{h i cpp}: * ace/SPIPE_Stream.{h i}: Follow-up to ACE_SOCK_Stream change in: Mon Jul 22 16:39:21 2002 Steve Huston (sendv_n, recvv_n, sendv, send, recv) - change iov count from size_t to int. * ace/Functor_T.i (ACE_Pointer_Hash::operator()): Use reinterpret_cast to go from pointer to u_long. * ace/config-win32-msvc-7.h: Define ACE_AUTO_PTR_LACKS_RESET for Win64 SDK compiler. * ace/Strategies_T.{h i cpp} (ACE_Thread_Strategy): Changed n_threads parameter (and n_threads_ member) from size_t to int - matches what's expected by ACE_Task::activate(), which is where this value is passed. * ace/Asynch_Acceptor.{h cpp}: * ace/Asynch_IO.{h cpp}: * ace/Asynch_IO_Impl.h: * ace/POSIX_Asynch_IO.{h cpp}: * ace/POSIX_Proactor.{h cpp}: * ace/WIN32_Asynch_IO.{h cpp}: * ace/WIN32_Proactor.{h cpp}: All byte-count arguments and members in all classes changed from u_long to size_t. Some already were... * ace/SOCK_Dgram.i (send): address length is an int, not size_t. * tests/Cache_Map_Manager_Test.h (Hash_Key::operator()): Cast the size_t argument to u_long for return. * tests/Cache_Map_Manager_Test.cpp: Cast arg for ACE_OS::srand to u_int (matches ACE_OS signature), not size_t. * tests/CDR_Array_Test.cpp (zero): Change len arg to size_t, and also the values passed to it. Also, correct length args to ACE_InputCDR and ACE_OutputCDR - they're size_t, not int. * tests/Handle_Set_Test.cpp: Disable the conversion warnings initializing the array of ACE_HANDLE values on Win64. They're fine. * tests/Mem_Map_Test.cpp (reverse_file): Changed size arg from int to size_t. * tests/Buffer_Stream_Test.cpp: * tests/CDR_Test.cpp: * tests/Message_Block_Test.cpp: * tests/Message_Queue_Notifications_Test.cpp: * tests/Priority_Buffer_Test.cpp: * tests/Proactor_Scatter_Gather_Test.cpp: * tests/Proactor_Test.cpp: * tests/Semaphore_Test.cpp: * tests/Thread_Pool_Test.cpp: * tests/TP_Reactor_Test.{h cpp}: * tests/Upgradable_RW_Test.cpp: Align size_t/int usage. * tests/Message_Queue_Notifications_Test.cpp (Watermark_Test::producer) Change hwm from size_t to ssize_t so it can go less than zero and break the 'for' loop properly. * tests/MT_SOCK_Test.cpp: * tests/SOCK_Test.cpp: Use an int to pass to select(), always 0 for Win64. * tests/SOCK_Send_Recv_Test.cpp: * tests/Thread_Pool_Reactor_Resume_Test.cpp: * tests/Thread_Pool_Reactor_Test.cpp: * tests/TSS_TEst.cpp: Add missing type cast. Tue Aug 27 11:08:54 2002 Douglas C. Schmidt * ace/Pair_T.{h,i}: Added support for operator== to the ACE_Pair can be used in maps, etc. Thanks to Gonzalo Diethelm for this addition. Tue Aug 27 06:45:58 2002 Chad Elliott * bin/MakeProjectCreator/modules/ProjectCreator.pm: Fixed a problem where .i and .h files would be added even if they didn't exist. Tue Aug 27 10:09:12 UTC 2002 Johnny Willemsen * etc/tao_dynamicany.doxygen: * etc/tao_dynamicinterface.doxygen: * etc/tao_iormanip.doxygen: * etc/tao_iortable.doxygen: * etc/tao_portableserver.doxygen: * etc/tao_rtcorba.doxygen : Added TAO_NAMESPACE to the list of defines to expand. Mon Aug 26 17:33:54 2002 Ossama Othman * bin/msvc_auto_compile.pl (Build_Core): Build the Messaging, PortableGroup and CosLoadBalancing libraries in a specific order. CosLoadBalancing depends on the first two. Fixes automated Win32 static builds. Mon Aug 26 17:14:20 2002 Ossama Othman * tests/TkReactor_Test.cpp: Fixed a number of warnings. Mon Aug 26 18:21:34 UTC 2002 Justin Michel * ace/Timer_Wheel_T.cpp: * ace/Timer_Wheel_T.h: * tests/Timer_Queue_Test.cpp: New and improved timer wheel implementation. Mon Aug 26 09:51:12 UTC 2002 Johnny Willemsen * ace/FlReactor.{h,cpp}: * ace/TkReactor.{h,cpp}: * ace/QtReactor.{h,cpp}: Made the names of the arguments of the schedule_timer() method the same as in the base class. That way doxygen generates the same documentation for this overruled method as in the base. * ace/TLI_Connector.i: * ace/XTI_ATM_MCast.i: Made argument names the same as in the header file. Mon Aug 26 08:29:12 UTC 2002 Johnny Willemsen * ace/Connector.cpp: Replaced all short defines with the original ones. Doxygen can't generate the documentation because of the short defines. Sun Aug 25 14:15:12 UTC 2002 Johnny Willemsen * ace/config-win32-borland.h: Certain defines should only be defined without a value. Sun Aug 25 12:45:12 UTC 2002 Johnny Willemsen * etc/tao.doxygen: Added TAO_NAMESPACE to the list of macro's that must be expanded when generating doxygen documentation. Sat Aug 24 22:47:22 2002 Christopher Kohlhoff * include/makeinclude/ace_flags.bor: * include/makeinclude/clean.bor: * include/makeinclude/compiler.bor: Updated to support MakeProjectCreator. * bin/MakeProjectCreator/config/core.mpb: * bin/MakeProjectCreator/modules/ProjectCreator.pm: * bin/MakeProjectCreator/modules/BorlandProjectCreator.pm: * bin/MakeProjectCreator/modules/BorlandWorkspaceCreator.pm: * bin/MakeProjectCreator/templates/bor.mpd: Fixed support for Borland makefile generation. New "core" config for projects that would typically be installed on production system, i.e. pretty much everything except examples and tests. New "include_dir" project attribute used to specify a directory path where header files for the project should be installed. * ace/ace.mpc: * ace/QoS/qos.mpc: * ace/RMCast/rmcast.mpc: * ace/SSL/ssl.mpc: Added "core" as a base project and added "include_dir" value. * apps/gperf/src/gperf.mpc: Added "core" as a base project. Sat Aug 24 16:41:36 2002 Krishnakumar B * ACEXML/common/FileCharStream.cpp (get): Remove :: in front of the macro feof. VC is hopelessly confused. * ace/Argv_Type_Converter.h: Added #include "ace/OS_Memory.h" to get ACE_NEW. I needed to touch this to test my changes. Sat Aug 24 12:01:54 2002 Douglas C. Schmidt * ace/OS.h: #undef the atop macro so that it won't break the new ACE_OS::atop() method on FreeBSD. Thanks to Russell Carter and Christophe Juniet for this report. * ace/config-lynxos.h: Added some #defines for LynxOS 4.0. We'll leave these comments out for now until we figure out how to add them without breaking earlier versions of LynxOS. Thanks to Umberto Mascia for reporting this. * docs/tutorials/015/Protocol_Stream.h (class Protocol_Stream): Changed a comment to say "server-side applications" rather than "client-side applications." Thanks to Mark Xu for reporting this. Fri Aug 23 18:20:31 2002 Steve Huston * ace/config-all.h: * ace/OS_Memory.h: Moved the ACE_NEW macros from config-all.h to OS_Memory.h * ace/Log_Msg.h: Removed #include "ace/Basic_Types.h" (not needed) and replaced "ace/OS_Errno.h" with "ace/OS.h" since thread defs are necessary. * ace/Basic_Types.h: Don't make thread definitions here - they belong in ace/OS.h. * ace/Cache_Map_Manager_T.h: Added #include "ace/Default_Constants.h" to get ACE_DEFAULT_MAP_SIZE when instantiating templates on AIX with Visual Age C++. * ace/Caching_Utility_T.cpp: #include "ace/Min_Max.h" and "ace/OS_Memory.h" so Visual Age C++ can see ACE_MAX and ACE_NEW when instantiating templates. * ace/Arg_Shifter.cpp: Added #include "ace/OS_Memory.h" to get ACE_NEW. * netsvcs/clients/Naming/Dump_Restore/Dump_Restore.cpp: Added #include "ace/Malloc_Base.h" to pick up ACE_Allocator. * tests/Cached_Allocator_Test.cpp: Changed default speed tests loops from 100,000,000 to 10,000,000. run_test.pl times it out on non-nuclear processors ;-) Fri Aug 23 16:59:51 2002 Nanbor Wang * bin/svcconf-convert.pl: Fixed regex to handle empty option strings in static/dynamic entries correctly. Fri Aug 23 16:25:47 2002 Krishnakumar B * ace/OS.i: * ace/OS.h: Removed the wrappers for functions that are known to be overloaded by macros. #undef will break user code for these functions. This includes feof(), ferror() and ungetc(). The other functions seem to only have a function implementation. * ACEXML/common/FileCharStream.cpp: Removed the use of ACE_OS wrappers for the above functions. Fri Aug 23 08:40:38 2002 Douglas C. Schmidt * ace/config-qnx-rtp.h: Added some new #defines so ACE will compile on QNX 6.2. Thanks to Leen Van Kampen for reporting this. * ace/Task.cpp (svc_run): Added a #ifdef for _MSC_VER <= 1200 since there are complaints about reinterpret_cast from int to unsigned long. Thanks to Espen Harlinn for this fix. Fri Aug 23 13:04:34 2002 Nanbor Wang * ace/Service_Config.cpp: Some minor cosmetic changes. Fri Aug 23 07:16:13 2002 Chad Elliott * bin/MakeProjectCreator/templates/vc6dsp.mpd: Fixed a problem where the pch header files is not in the list of header files. Fri Aug 23 06:07:38 2002 Krishnakumar B * ace/OS.h (ACE_OS): ungetc() is a macro under Borland. Undefine it to make Borland compiler happy. Thu Aug 22 21:27:56 2002 Nanbor Wang * ace/OS_String.cpp (strtok_r_emulation): Applied the patch Frank Kuhlman submitted in [Bug 1272] which resolved an overrun error. Thu Aug 22 21:20:01 2002 Krishnakumar B * include/makeinclude/rules.local.GNU (realclean.local): Remove older cruft when doing a realclean. Note this is a sledgehammer (libfoo.so*). Don't blame me if you shoot yourself in the feet, which technically shouldn't happen as long as you have the sources to the libraries that you built. Thanks to Ossama for pointing out that cruft was left behind. Thu Aug 22 19:14:44 2002 Ossama Othman * ace/OS.i (fgetwc, ungetwc): These functions are supposed to return WEOF on error, not -1 as their ACE_OS wrappers were doing. Corrects a warning about initialization of a negative value to "wint_t", which is an unsigned integer on some platforms (e.g. GNU libc). Thu Aug 15 10:43:51 2002 Steve Huston * ace/Message_Queue_T.cpp (enqueue_tail): Moved notify() call outside lock scope, as Sun May 5 19:14:34 2002 Douglas C. Schmidt suggested. Wed Aug 14 18:14:57 2002 Steve Huston * ace/OS.cpp (ACE_TSS_Cleanup::remove()): Always mark the key no longer in use, instead of simply decrementing the reference count. Shouldn't call remove() until there are no more references to the key. (ACE_TSS_Cleanup::detach()): Decrement the reference count when detaching. Previously, the count could never get to 0 and the remove() method would never be called until object manager shutdown. This resolves a problem where a service using ACE_Unmanaged_TSS_Singleton would do its cleanup(), but there would still be a reference to the key... if the destructor (in an unloaded service DLL) was called at process shutdown, it would crash. Thanks to Craig L. Ching for pointing this problem area out. Fri Aug 9 16:11:39 2002 Steve Huston * ace/Message_Block.cpp: (ACE_Data_Block::ACE_Data_Block): If the data allocation fails, reset the cur_size_ and max_size_ to 0 to reflect the fact that there is no legitimate memory allocated. (ACE_Message_Block::init_i): If the data block size() that results from allocating a new ACE_Data_Block is not what was requested, return -1 to indicate the failure. * ace/Malloc_T.i (ACE_Cached_Allocator::free): Don't attempt to return a 0 pointer to the free_list_. Thanks to Laxmikant Bopalkar for this fix. * THANKS: Added Laxmikant Bopalkar to the Hall of Fame. Thu Aug 22 17:34:18 2002 Steve Huston * ace/FIFO_Recv_Msg.{h i}: Fixed recv() in the non- ACE_HAS_STREAM_PIPES case to throw away the part of a message longer than the max number of bytes requested by the caller. Filled out the doxygen comments in the header to explain the behavior, and the differences when (not) using ACE_HAS_STREAM_PIPES. Wed Aug 21 17:48:29 2002 Steve Huston * examples/C++NPv2/TP_Logging_Server.cpp (TP_Logging_Task): * examples/C++NPv2/display_logfile.cpp (svc): Must use reinterpret_cast, not static_cast, to cast between unrelated types (char *, class *). * examples/C++NPv2/Makefile: Added AIO_CLD to top-level build. Thu Aug 22 18:10:46 UTC 2002 Craig Rodrigues * bin/nightlybuilds/builds.lst: Move RedHat_Static build to new scoreboard. Thu Aug 22 01:32:46 2002 Krishnakumar B * ACEXML/common/StreamFactory.cpp: Use ACE_TEXT for literals. Add destructor to avoid linker problems. * ACEXML/parser/parser/Parser.cpp: Use ACEXML_Char instead of char* to fix compilation with WCHAR. * ACEXML/common/XML_Common.dsp: Add files StreamFactory.{h,cpp} to the project files. Thu Aug 22 01:16:16 2002 Krishnakumar B * ace/OS.h: Fixed compilation error under Windows by undefining the macros. Wed Aug 21 22:22:42 2002 Ossama Othman * bin/msvc_auto_compile.pl (Build_Core): Removed "LoadBalancing_Static.dsp" from the list of static library projects to build. That MSVC++ project was for the old load balancer, and no longer exists. Thu Aug 22 03:50:02 UTC 2002 Craig Rodrigues * bin/performance_stats.sh: * bin/footprint_stats.sh: Calculate value of DATE inside these scripts instead of passing it in as the third parameter. This will make it easier to make an autobuild script around this. Wed Aug 21 20:40:20 2002 Krishnakumar B * ace/OS.h: * ace/OS.i: Added wrappers for fgetc, fgetwc, ferror, clearerr, feof, ungetc, ungetwc. All these are guaranteed to not be macros. * ACEXML/apps/svcconf/Svcconf_Handler.cpp: * ACEXML/apps/svcconf/Svcconf_Handler.h: Fixed compilation errors. * ACEXML/common/FileCharStream.cpp: * ACEXML/common/HttpCharStream.cpp: * ACEXML/common/XMLFilterImpl.cpp: * ACEXML/examples/SAXPrint/Print_Handler.cpp: * ACEXML/examples/SAXPrint/SAXPrint_Handler.cpp: * ACEXML/examples/SAXPrint/main.cpp: * ACEXML/examples/svcconf/Svcconf_Handler.cpp: * ACEXML/parser/debug_validator/Debug_Attributes_Builder.cpp: * ACEXML/parser/debug_validator/Debug_DTD_Manager.cpp: * ACEXML/parser/debug_validator/Debug_Element_Builder.cpp: * ACEXML/parser/debug_validator/Element_Tree.cpp: * ACEXML/parser/parser/Parser.cpp: Use ACE_TEXT instead of ACE_LIB_TEXT. It results in reducing vertical space and the wchar.txt document also encourages it. Wed Aug 21 17:02:44 2002 Nanbor Wang * ace/OS_String.cpp: Changed to enabled wchar version of strtok_r_emulation when both ACE_HAS_WCHAR and ACE_LACKS_WCSTOK are both defined (instead of ACE_HAS_REENTRANT_FUNCTIONS.) Thanks to Brian Appel for reporting this. Wed Aug 21 12:41:51 2002 Chad Elliott * bin/MakeProjectCreator/config/notifytest.mpb: * tests/SSL/tests.mpc: Fixed a few problems with some of the mpc files. * nightly.mwc: Added an initial nightly build workspace file. Wed Aug 21 11:57:37 2002 Nanbor Wang * bin/msvc_auto_compile.pl: Added ACEXML/apps to the list of compiled ACE directories. Wed Aug 21 11:15:11 2002 Chad Elliott * bin/MakeProjectCreator/modules/NMakeWorkspaceCreator.pm: * bin/MakeProjectCreator/modules/TemplateParser.pm: * bin/MakeProjectCreator/templates/nmake.mpd: Fixed a problem dealing with Windows, NMake and idl files. Wed Aug 21 11:04:09 2002 Nanbor Wang * ace/Object_Manager.cpp (init): Changed to return failure (-1) if ACE_Object_Manager fail to acquire the TSS ACE_Log_Msg instance for whatever reason. Thanks to Jeremy Altavilla for suggesting the fix. Wed Aug 21 07:43:12 2002 Johnny Willemsen * ace/ATM_Addr.{h,i}: Made the signature definition and implementation of set_selector() and get_selector() the same. * ace/CDR_Stream.cpp: Made the read_string() signature the same as in the definition * ace/config-doxygen.h: Added ACE_HAS_XTI_ATM to the list of defines that must be set when generating the doxygen documentation * ace/config-win32-mingw.h: Added extern "C" around the win32api methods ace uses but which are not defined in the mingw win32api. * ace/Lib_Find.cpp: Made signature of ldfind method the same as in the definition * ace/Log_Record.cpp: Made signature of print method the same as in the definition * ace/Multiplexor.i: Added #ifdef 0/#endif around the contents of this file, because the header and cpp file also do this. Doxygen parses now this .i file and gives a lot of warnings about this file because it cannot find the definition of the methods in this file. * ace/Configuration.h: * ace/Containers_T.cpp: * ace/Lib_Find.h: * ace/OS.h: * ace/RMCast/RMCast_Reliable_Factory.h: * ace/RMCast/RMCast_UDP_Proxy.h: Small improvements for doxygen documentation. * include/makeinclude/ace_flags.bor: Added cflags and lib for TAO PSDL library * include/makeinclude/platform_mingw32.GNU: MingW doesn't support the adding of the version number after the .dll, so set SONAME and SOVERSION to empty. * examples/Connection/non_blocking/test_lsock_acceptor.cpp: * examples/Connection/non_blocking/test_lsock_connector.cpp: Added include of Log_Msg to fix compile errors with MingW Tue Aug 20 14:19:55 2002 Jaiganesh@doc * ACE version 5.2.4 released. Fri Aug 16 10:25:07 2002 Ossama Othman * include/makeinclude/ace_flags.bor: Corrected CosLoadBalancing library related variables. They were still setup for use with the old load balancer prototype. Fri Aug 16 11:15:49 2002 Douglas C. Schmidt * examples/Reactor/Proactor/test_aiosig_ace.cpp: Added #include "ace/Log_Msg.h" so things will compile. Thanks to Victor Poznyak for reporting this and Alexander Libman for suggesting the fix. Thu Aug 15 15:22:49 2002 Nanbor Wang * tests/tests.dsw: Re-added Thread_Manager_Test.dsp into this workspace. It got accidentally removed when someone merged a branch into the main trunk. Thanks to Ronald Berger for noticing this. Mon Aug 12 10:17:55 2002 Douglas C. Schmidt * ace/Thread_Manager.h (ACE_Thread_Manager): Fixed a type where "manipulated" was spelled "maniputated". Thanks to Eric Newton for reporting this. * PROBLEM-REPORT-FORM: Fixed a typo where "ASCII text" was spelled "ASCII test". Thanks to Eric Newton for reporting this. Fri Aug 9 12:13:21 2002 Jaiganesh Balasubramanian * bin/nightlybuilds/builds.1st: Moved the Debian_Core builds to the new scoreboard. Thanks to CRaig Rodrigues for the fix. Fri Aug 9 09:24:08 2002 Douglas C. Schmidt * ace/Time_Value.{inl,cpp}: Make sure to normalize the set() methods... Thanks to Francois for reporting this. This fixes BugID 1275. Thu Aug 8 23:11:30 2002 Balachandran Natarajan * include/makeinclude/rules.nested.GNU: Reverted this change "Thu Aug 8 18:28:34 UTC 2002 Craig Rodrigues " since it would break our daily builds. Thu Aug 8 18:28:34 UTC 2002 Craig Rodrigues * include/makeinclude/rules.nested.GNU: If we fail during a recursive make, exit with error code 1. This makes it easier to detect errors in automated builds. Thanks to Gary Duzan for showing inspiring the fix. Wed Aug 7 12:39:31 2002 Chad Elliott * bin/MakeProjectCreator/modules/Driver.pm: Speed up execution by changing the include path order. * bin/MakeProjectCreator/modules/GNUWorkspaceCreator.pm: Don't generate a for loop if there is only one project. * bin/MakeProjectCreator/modules/ProjectCreator.pm: Fixed a bug with the global assignments overwriting project assignments. Sun Aug 4 16:47:29 2002 Balachandran Natarajan * tests/Framework_Component_DLL.cpp: Added a missing template instantiation. It was caught only in SunCC53 builds. Sun Aug 4 16:01:28 2002 Balachandran Natarajan * bin/auto_run_tests.lst: Do not the Stack_Recursion tests in single threaded builds. Sat Aug 03 17:57:33 2002 Balachandran Natarajan * ace/ace_dll.dsp: Removed the Hash_Map_Manager_rt.cpp from the project file. Sat Aug 03 15:42:49 2002 Balachandran Natarajan * examples/Log_Msg/Log_Msg_MFC/Log_Msg_MFC.dsp: Made sure that it builds only in MFC debug builds. Sat Aug 3 14:56:23 2002 Krishnakumar B * ACEXML/common/HttpCharStream.cpp: Fixed a conversion error from char to wchar_t. Thanks to Johnny for pointing this out. * ACEXML/parser/parser/Parser.cpp: Fixed an unreachable statement warning. Thanks to Bala for pointing this out. Sat Aug 3 19:53:12 UTC 2002 Johnny Willemsen * ACEXML/common/XML_Codecs.h: * ACEXML/parser/parser/Parser.h: * ace/Registry.h: * ace/String_Base.h: * ace/QoS/QoS_Session_Factory.h: Fixed doxygen commands. Sat Aug 3 12:36:55 2002 Balachandran Natarajan * ace/Hash_Map_Manager_rt.h: * ace/Hash_Map_Manager_rt.cpp: * ace/Hash_Map_Manager_rt.i: Removed these files from the main trunk. They shouldnt have been there in the first place. Fri Aug 2 22:00:26 UTC 2002 Craig Rodrigues * examples/Log_Msg/Log_Msg_MFC/*: Added example to show how to send ACE_DEBUG output to the Microsoft Visual Studio debugger console. Thanks to Don Hinton and Chris Hafey for help with this. Fri Aug 2 13:10:05 2002 Krishnakumar B * ACEXML/examples/SAXPrint/main.cpp (ACE_TMAIN): * ACEXML/common/InputSource.cpp: Reverted the previous check-in with respect to the delete statement. Memory is getting leaked somewhere down in ACE. Fri Aug 2 12:31:34 2002 Krishnakumar B * ACEXML/common/ContentHandler.h: * ACEXML/parser/parser/Entity_Manager.cpp: * ACEXML/common/NamespaceSupport.cpp: Fixed minor typos in the comments. * ACEXML/common/InputSource.cpp: Removed an erroneous delete statement. Not sure if this is a implementation bug or a thinko. * ACEXML/common/HttpCharStream.cpp: * ACEXML/common/Mem_Map_Stream.cpp: * ACEXML/common/Mem_Map_Stream.h: Use char* when sending data on the network. Technically it should be byte. * ACEXML/examples/SAXPrint/Print_Handler.cpp: * ACEXML/examples/SAXPrint/main.cpp: Fixed a bug with getopt() when WCHAR is enabled. Since EOF is -1, never use a WCHAR in the while loop. * ACEXML/parser/parser/Parser.cpp: * ACEXML/parser/parser/Parser.h: Improved Namespace support. Modularized functions in the parser. * ACEXML/docs/TODO.txt: * ACEXML/docs/bugs.txt: * ACEXML/docs/guidelines.txt: * ACEXML/docs/parser_features.txt: Updated to reflect the current status. People were reading these old docs and assuming a lot of the features aren't implemented. Fri Aug 2 16:06:12 UTC 2002 Johnny Willemsen * ace/config-doxygen.h: Added ACE_HAS_ATM define to also generate the doxygen documentation of the ACE ATM classes. This is one of the last parts of ACE that are missing in the doxygen documentation. Fri Aug 2 07:54:24 2002 Balachandran Natarajan * ace/Malloc.cpp: Rearranged member initialization list in the constructor of ACE_Malloc_Stats, to fix warnings with explicit template builds. Thu Aug 01 13:40:59 2002 Balachandran Natarajan * tests/Malloc_Test.cpp: Changed the usage of ASYS_TEXT to ACE_TEXT. Should fix most of the compile errors with g++. Thu Aug 1 12:14:21 2002 Chad Elliott * bin/MakeProjectCreator/templates/gnu.mpd: Added $(ACELIB) to the list of ACE_SHLIBS. Thu Aug 1 11:13:20 2002 Balachandran Natarajan * ace/Malloc_Allocator.h: * ace/Malloc_Allocator.cpp: Removed the declaration and definition of ACE_Malloc_Stats since they are not needed in this translation unit. * ace/Malloc.h: * ace/Malloc.cpp: Retained the definition if ACE_Malloc_Stats here (yes, there were two declarations) and added the definition and template instantiation for ACE_Atomic_Op used by ACE_Alloc_Stats. This should fix the erros showing up on the scoreboard explicit template builds which has ACE_HAS_MALLOC_STATS turned on. Thu Aug 1 09:08:36 2002 Douglas C. Schmidt * ace/Message_Block.h: Made the non-static duplicate() and release() methods virtual so they can be overridden by subclasses. Thanks to Brian Raven for this suggestion. Thu Aug 01 15:24:32 UTC 2002 Johnny Willemsen * ace/OS_Thread_Adapter.h: Fixed incorrected doxygen @file command. Thu Aug 01 14:52:44 UTC 2002 Johnny Willemsen * bin/fuzz.pl: Improved the check for the @file doxygen command. Incomplete file names where not detected as error. Thu Aug 1 07:03:05 2002 Chad Elliott * bin/MakeProjectCreator/README: Added a bit of background on the tool before plunging into the details. Thu Aug 01 07:59:12 UTC 2002 Johnny Willemsen * ace/Asynch_Acceptor.h: * ace/XtReactor.cpp: * ace/XtReactor.h: Corrected argument names to fix doxygen warnings. Thu Aug 01 07:34:12 UTC 2002 Johnny Willemsen * ace/config-win32-mingw.h: Made the definition of the missing parts of the Win32api of MingW dependent on the version of the w32api instead of our own defines. This way we automically define the missing things when needed. Thanks to Craig for suggesting this. Wed Jul 31 23:39:27 UTC 2002 Craig Rodrigues * etc/*.doxygen: Change DOT_PATH from /usr/local/bin/ to empty, forcing doxygen to look for the dot program in PATH. This eliminates warnings in the Doxygen nightly build. Wed Jul 31 12:23:47 2002 Steve Huston * ace/Malloc.cpp: * ace/Malloc_T.cpp: * tests/Malloc_Test.cpp: Changed logging of pointers to %@ * tests/Mem_Map_Test.cpp: Fixed loop bound error. Wed Jul 31 11:34:58 2002 Nanbor Wang * docs/index.html: Added a link to ACEXML document. Wed Jul 31 10:47:54 2002 Chad Elliott * include/makeinclude/rules.local.GNU: Added a gnu macro (DEPEND_CMD_ARGS) to the g++dep line to allow pasing arguments (such as -R) to g++dep when running "make depend" Wed Jul 31 08:41:12 UTC 2002 Johnny Willemsen * ace/config-win32-mingw.h: For the compilation of Win32_Asynch_IO we now need to have FILE_SEGMENT_ELEMENT from winnt.h and ReadFileScatter and WriteFileScatter from winbase.h. These are not in the header files of the MingW w32api 1.4/1.5 release. That's why we do these union/defines also in this header file. By adding the defines ACE_MINGW_LACKS_READWRITE_FILESCATTER and ACE_MINGW_LACKS_FILE_SEGMENT_ELEMENT to your config.h file these defines/union are done by ACE for MingW32 so that everything will compile. Wed Jul 31 08:11:12 UTC 2002 Johnny Willemsen * etc/Task.cpp: Also the MinGW32 GCC3.1 compiler has problems with the reinterpret_cast in the svc_run method. Use the static_cast instead. Wed Jul 31 07:40:12 UTC 2002 Johnny Willemsen * etc/*.doxygen: Enabled warnings to get them in the doxygen scoreboard. * ace/Configuration.cpp: Fixed method argument names to fix doxygen warnings. Tue Jul 30 15:45:23 2002 Douglas C. Schmidt * ace/SOCK_Dgram.h: Fixed the comment for send(), which had a cut and paste error. Thanks to Jeff Wilson for reporting this. Tue Jul 30 14:09:35 2002 Chad Elliott * tests/tests.mpc: Update the mpc file to include the libraries. Tue Jul 30 09:07:29 2002 Ossama Othman * ace/Parse_Node.h: * ace/Parse_Node.cpp: Unexported all classes in this file. They are only meant for internal use by ACE's Service Configurator. Updated Doxygen comments accordingly. (apply, symbol, open_dll): These methods now accept a "yyerrno" reference argument to allow for modification of the error count in a reentrant manner. * ace/Svc_Conf.h: Removed "ace_yyerrno" and "ace_yylineno" global variables. Local ones are now used. Altered signature of ace_yyerror() function to accept two additional parameters, yyerrno and yylineno. Addresses a race condition. * ace/Svc_Conf.y: Removed all remnants of the global "yyerrno" and "yylineno" variables. Only the reentrant versions are used now. Pass the "yyerrno" variable as a parameter to all functions that read or modify the parse error count. Addresses several race conditions. Fixed call to ACE_Location_Node::handle(). This method no longer exists. The correct call is ACE_Location_Node::dll(). For some reason, Svc_Conf_y.cpp (a generated file!!!) was "fixed" but the parser grammar file was never fixed. * ace/Svc_Conf.l: Removed all remnants of the global "yylineno" variable. Only the reentrant version is used now. * ace/Service_Config.cpp (process_directives_i): Removed initialization of "ace_yyerrno" and "ace_yylineno" global variables. They no longer exist. Poof! Reverted my previous change. The above changes obviate the need to take into account the global parse error count. * ace/Makefile: Tweaked Svc_Conf_y.cpp and Svc_Conf_l.cpp generation rules so that yyerrno and yylineno are not prepended with an "ace_". That is no longer needed. * etc/Svc_Conf_y.cpp.diff: Regenerated this patch against parsers generated by the latest GNU Bison (1.35). * etc/Svc_Conf_l.cpp.diff: Regenerated this patch to pull in new changes to Svc_Conf_l.cpp. Tue Jul 30 10:06:04 2002 Douglas C. Schmidt * ace/Thread_Manager.cpp: Moved a stray colon until *after* the #if !defined(ACE_USE_ONE_SHOT_AT_THREAD_EXIT) check. Thanks to Alan Tanga for reporting this. * ace/POSIX_Proactor.cpp (delete_result_aiocb_list): Moved the definition of size_t ai out of the for loops to avoid problems on older C++ compilers. Thanks to George Varsamis for reporting this. Tue Jul 30 08:14:34 2002 Chad Elliott * bin/MakeProjectCreator/modules/Creator.pm: Added an error check for invalid inheritance syntax. * bin/MakeProjectCreator/modules/Driver.pm: Changed the progress indicator to allow for cleaner output when an error occurs. * bin/MakeProjectCreator/modules/ProjectCreator.pm: Remove duplicate libs, libpaths and includes when addition or subtraction is involved. * bin/MakeProjectCreator/templates/gnu.mpd: Cleaned up the template to make generated Makefiles a little more consistent. Tue Jul 30 06:50:26 2002 Douglas C. Schmidt * ace/Dynamic_Service.cpp: Moved ACE_Dynamic_Service::instance() from the .i file into the .cpp file and added a #include of "ace/Service_Object.h" to the .cpp file so the complete type of ACE_Service_Object would be available to the HP/UX C++ compiler. Thanks to Torsten Kuepper for reporting this. Tue Jul 30 07:51:12 UTC 2002 Johnny Willemsen * etc/ace.doxygen: Enabled warnings and undocument warnings to get these warnings into the doxygen scoreboard. When this works I will enable the warnings in all other .doxygen files later. Mon Jul 29 14:47:46 2002 Ossama Othman * ace/Service_Config.cpp (process_directives_i): In addition to the thread-safe yyerrno variable, check the global ace_yyerrno variable when determining if errors have occurred when processing Service Configurator directives. Thanks to Doug for tracking down the problem and suggesting a fix and to Denginere for reporting this. Mon Jul 29 17:30:27 2002 Steve Huston * ace/Get_Opt.h (ctor): Changed documented name of the skip_argv0 argument to skip_args to better reflect that it's not just argv[0] that can be skipped. Mon Jul 29 07:45:12 2002 Johnny Willemsen * ace/OS.cpp (uname): Only check for PROCESSOR_ARCHITECTURE_IA64 when this is defined. The MingW w32api doesn't define this constant. Sun Jul 28 17:17:50 2002 Douglas C. Schmidt * docs/ACE-subsets.html: Updated the breakdown of files to each subset component so it's consistent with the $ACE_ROOT/Makefile. Thanks to Ruslan Zasukhin for reporting this. Sun Jul 28 10:31:12 2002 Johnny Willemsen * include/makeinclude/platform_gnuwin32_common.GNU: Use -mcpu=$(TCPU) instead of -m$(TCPU), because MingW GCC 3.1 now gives warnings that -m is deprecated. Thanks to Craig Rodrigues for confirming that -m was already deprecated in GCC 2.95.3 Sat Jul 27 17:35:06 2002 Krishnakumar B * include/makeinclude/platform_g++_common.GNU (SOFLAGS): Allow building of shared libraries with gcc and Solaris ld. There wasn't any reason that it wouldn't work. * Changelog: Remove >>>>> left out by merge conflicts. People should be more careful about checking for conflicts. Sat Jul 27 16:20:19 2002 Douglas C. Schmidt * examples/Service_Configurator/Misc/main.cpp (ACE_TMAIN): Changed the code to be more resilient against errors that occur during parsing of the svc.conf file. Thanks to Denginere for motivating this change. Sat Jul 27 15:50:12 2002 Johnny Willemsen * ACEXML/examples/svcconf/main.cpp: Made this file compiling with BCB and Unicode * ACEXML/examples/svcconf/Svcconf_Handler.h: Made includes like the other examples so that we can build it with BCB * ACEXML/examples/svcconf/Svcconf_Handler.cpp: Fixed unused argument warnings * ACEXML/examples/svcconf/Makefile.bor: Added this BCB makefile * ACEXML/examples/Makefile.bor Added svcconf directory Fri Jul 26 21:00:32 2002 Balachandran Natarajan * ace/TP_Reactor.cpp: Fixed a unused variable warning in g++ builds. Fri Jul 26 20:08:41 2002 Steve Huston * include/makeinclude/platform_aix4_g++.GNU: Corrected option for using threads from -mthreads to -pthread. This may not work with pre-gcc 3 compilers, but those compilers are busted on AIX anyway. Added support for buildbits=32 and buildbits=64. Moved in the new AIX library-building setup from platform_aix_ibm.GNU. Fri Jul 26 15:52:12 2002 Balachandran Natarajan * ace/TP_Reactor.cpp: Fixed a problem with handle_event (ACE_Time_Value &). It should be calling the TP_Reactor's handle_event () instead of Select_Reactor's. This should fix [BUGID 1257]. Fri Jul 26 10:11:41 2002 Chad Elliott * bin/MakeProjectCreator/config/messaging.mpb: * bin/MakeProjectCreator/config/messaging_only.mpb: Set up a new base project that just contains information about the Messaging library. * bin/MakeProjectCreator/modules/GNUProjectCreator.pm: * bin/MakeProjectCreator/templates/gnu.mpd: Allow the file lists to contain names of files that correspond to relative directories. Fri Jul 26 06:40:12 2002 Douglas C. Schmidt * ace/OS_String.inl: Added casts of the input parameter to (unsigned char) for the ace_isprint() and ace_isspace() methods on ACE_OS_String to prevent problems with MSVC++ 7.0. Thanks to Colin Weaver for suggesting this fix. Fri Jul 26 10:37:12 2002 Johnny Willemsen * etc/tao_pss.doxygen: Added doxygen config file to generate the new TAO PSS. * bin/generate_doxygen_pl: Added tao_pss.doxygen to the list of files to generate. * htlm/index.html: Added link for the new PPS doxygen documentation. Thu Jul 25 22:58:24 2002 Balachandran Natarajan * ace/Synch.cpp: Removed explicit instantiation of ACE_Condition since a template specialization exists. This was causing a compile error when explicit template instantiations were used with g++-2.95.3. Thu Jul 25 11:32:41 2002 Chad Elliott * bin/MakeProjectCreator/README: Added a little more detail about what the depends keyword refers to. * bin/MakeProjectCreator/USAGE: * bin/MakeProjectCreator/modules/Driver.pm: Changed the code to show the default type in the usage message. * bin/MakeProjectCreator/modules/GNUWorkspaceCreator.pm: Change the workspace to use a for loop when building on UNIX. * tests/RMCast/tests.mpc: * tests/SSL/tests.mpc: Fixed the case on the dependencies lines. Wed Jul 24 13:38:40 2002 Chad Elliott * bin/MakeProjectCreator/modules/Creator.pm: * bin/MakeProjectCreator/modules/Driver.pm: * bin/MakeProjectCreator/modules/ProjectCreator.pm: * bin/MakeProjectCreator/modules/WorkspaceCreator.pm: Added a progress indicator (for those big workspaces). Wed Jul 24 13:10:19 2002 Chad Elliott * bin/MakeProjectCreator/modules/ProjectCreator.pm: Add README and readme to the default documentation files. * bin/MakeProjectCreator/modules/Creator.pm: * bin/MakeProjectCreator/modules/GUID.pm: * bin/MakeProjectCreator/modules/VC7ProjectCreator.pm: Change the GUID generation code to be deterministic (but still unique) to allow for multiple solution files to contain the same project files without having to regenerate the solutions. Wed Jul 24 13:42:37 2002 Steve Huston * ace/OS.cpp (uname): Added case for PROCESSOR_ARCHITECTURE_IA64 when decoding processor type. Wed Jul 24 10:58:22 2002 Steve Huston * ace/Acceptor.cpp (ACE_Acceptor::handle_input): When calling select(), use a int value instead of casting a ACE_HANDLE to an int. * tests/Cached_Accept_Conn_Test.cpp: Use %@ instead of %d when logging pointers. * tests/MT_Reactor_Upcall_Test.cpp: Added ACE_TEXT to char strings where needed. Changed the send to send fixed header, then the variable-size string. Sending all at once doesn't work if the string doesn't immediately follow the size_ member in memory, which happened on Win64. Wed Jul 24 10:07:24 2002 Chad Elliott * bin/MakeProjectCreator/README: * bin/MakeProjectCreator/USAGE: Update the documentation to reflect the current state. Wed Jul 24 08:13:48 2002 Christopher Kohlhoff * include/makeinclude/build_dll.bor: * include/makeinclude/build_exe.bor: * include/makeinclude/build_lib.bor: * include/makeinclude/make_flags.bor: Improve debugging support with Borland C++Builder by invoking the compiler with a full path to each source file. This can be disabled by setting a NO_FULL_PATH environment variable to 1 or by passing -DNO_FULL_PATH when running make, which may be necessary when doing a debug build on Win9x. Wed Jul 24 07:45:43 2002 Chad Elliott * THANKS: Added Tim Bradley to the hall of fame. Tue Jul 23 21:46:54 2002 Nanbor Wang * ace/Process_Mutex.h: * ace/Process_Mutex.cpp: Disallowed anonymous Process_Mutex by invoking this->unique_name() to create a temporary name if there's no mutex name passed to the constructor. Thanks John Michael Zorko for reporting this problem on Mac OSX and submitting the patch. Tue Jul 23 13:08:27 2002 Steve Huston * ace/Log_Msg.{h cpp} (log_hexdump): * ace/ACE.{h cpp} (format_hexdump): Change size arguments from int to size_t. Change format_hexdump()'s return from int to size_t. Tue Jul 23 09:48:15 2002 Chad Elliott * bin/MakeProjectCreator/modules/Driver.pm: Always add the default include paths. * bin/MakeProjectCreator/modules/ProjectCreator.pm: Make sure that idl generated source files go at the front of the file list in auto-generates source lists. * bin/MakeProjectCreator/templates/gnu.mpd: Only add LIB and SHLIB assignments if we are generating a Makefile for libraries. Mon Jul 22 22:30:53 2002 Nanbor Wang * ACEXML/common/XML_Common.dsp: Added the macro definition ACEXML_HAS_DLL=1 to the release configuration to resolve a nightly biuld problem. Mon Jul 22 18:28:48 2002 Steve Huston * ace/Configuration.h: Doxygen fixes. Mon Jul 22 16:57:19 2002 Chris Cleeland * bin/g++dep: Added a -R option that allows you to specify a variable which should be used to generate relative paths if it's defined. Mon Jul 22 17:45:48 2002 Steve Huston * ace/Get_Opt.h: Doxygen fixes. Mon Jul 22 16:39:21 2002 Steve Huston * ace/Acceptor.cpp (info): * ace/Connector.cpp (info): Cast return val to int. * ace/Message_Queue.h (message_count): * ace/Message_Queue_T.{h cpp i} (message_count): Change return value from size_t to int. Changed cur_count_ member (and accessors that return it) from size_t to int. This is a compromise to unify the length of arguments without changing the return types of all methods that return a message count (all the enqueue/dequeue methods, as well as a few others). Changed a number of @arg to @param for doxygen. * ace/SOCK_IO.{h i} (recvv, sendv): * ace/SOCK_Stream.{h i}(recvv_n, sendv_n): Changed iovcnt arg from size_t to int. int, though sort of odd as a choice, is the UNIX98 standard and more commonly implemented. Removes an arg size mismatch between the SOCK_IO and ACE layers, restricting the iovcnt range at the SOCK_IO layers to match the layer below. Changed the recv and send iov-enabled, deprecated methods to cast their size_t iovcnt args to int... these deprecated methods should be removed after 5.3 is out. * tests/Conn_Test.cpp: Replaced %d with %@ when logging pointers. Added missing string arg for a ACE_ERROR %p directive. Use a int select_width instead of casting ACE_HANDLE for Win64. Mon Jul 22 15:13:38 2002 Carlos O'Ryan * ace/Atomic_Op.h: * ace/Atomic_Op.i: Fixed bug 1253, add missing copy constructor. Mon Jul 22 13:25:29 2002 Stephen Torri * ace/streams.h: Fixed _MSC_VER compiler warning messages stating concern about using MSC_VER without assurance that the macro was defined. Mon Jul 22 12:20:21 2002 Krishnakumar B * THANKS: Added Sean Ogle to the hall of fame. Mon Jul 22 09:19:34 2002 Balachandran Natarajan * THANKS: Aded Kew Whitney and Colin Weaver to the hall of fame. Sat Jul 20 08:53:05 2002 Douglas C. Schmidt * ace/SOCK_Dgram.cpp (set_nic): Moved the #endif for ACE_WIN32 *ahead* of the set_options() call. Thanks to Joe Hayes for reporting this. Fri Jul 19 14:42:37 2002 Steve Huston * ace/WFMO_Reactor.cpp (make_changes_in_suspension_infos, make_changes_in_current_infos): Fixed bug resulting from: Wed Jul 17 11:34:28 2002 Steve Huston Thu Jul 18 15:48:29 2002 Steve Huston * ace/Future.h: Doxygenation improvements. Thu Jul 18 08:39:08 2002 Chad Elliott * bin/MakeProjectCreator/README: Update the documentation to reflect the additions to the grammar. * bin/MakeProjectCreator/config/avstreamsexe.mpb: * bin/MakeProjectCreator/config/corba_messaging.mpb: * bin/MakeProjectCreator/config/minimum_corba.mpb: * bin/MakeProjectCreator/config/namingexe.mpb: * bin/MakeProjectCreator/config/notify.mpb: * bin/MakeProjectCreator/config/orbsvcsexe.mpb: * bin/MakeProjectCreator/config/orbsvcslib.mpb: * bin/MakeProjectCreator/config/rt_client.mpb: * bin/MakeProjectCreator/config/rt_server.mpb: * bin/MakeProjectCreator/config/rteventexe.mpb: Add the GNU specific info for generating conditional target Makefiles. * bin/MakeProjectCreator/modules/GNUProjectCreator.pm: Added code to generate the conditional sections of the GNU Makefiles. * bin/MakeProjectCreator/modules/ProjectCreator.pm: * bin/MakeProjectCreator/modules/TemplateParser.pm: Fix some minor problems with generated project files. * bin/MakeProjectCreator/templates/gnu.mpd: Added template info for conditional targets. * bin/MakeProjectCreator/templates/vc6dsp.mpd: * bin/MakeProjectCreator/templates/vc7.mpd: Removed the tie class idl targets. * bin/ace_components: Added a new append option that will be used by the generated GNU Makefiles. Thu Jul 18 06:17:19 2002 Douglas C. Schmidt * Doug turns 40 today. Fortunately, 40 Octal is only 32 Decimal ;-). Wed Jul 17 15:18:31 2002 Steve Huston * ace/Configuration.h: Doxygen improvements. * ace/Configuration.cpp: All error cases where a return (-2, -3, -4, -5) occurred now return -1 with errno set. * ace/OS.{i cpp}: Follow-up to Wed Jul 17 11:34:28 2002 Steve Huston Only make ACE_WIN64 use intptr_t - must have a new SDK to get intptr_t, and not all have it.... so use it only for ACE_WIN64 since the compiler comes in the newer SDK... Win32 does fine with long, which is what an intrptr_t is on Win32. Also fixed the PACE-busted conditional compiles around siginfo_t to match the declaration in OS.h. Win32 needs this stuff. Wed Jul 17 14:25:39 2002 Steve Huston * include/makeinclude/platform_aix_ibm.GNU: Added -qfuncsect to the compile options. Allows for smaller executables/libraries, and gets rid of most of the multiple definition warnings for templates. Unfortunately, there are still a few stragglers so the aix_shr post-processing script is still required. * ace/Sock_Connect.cpp: Added a hack to get Visual Age C++ on AIX build running clean. Have to include a template instantiation we don't need to get the compiler to pull the proper header files at template compilation time. Wed Jul 17 11:34:28 2002 Steve Huston * ace/OS.{i cpp}: Windows, in calls to _open_osfhandle(), cast handle to long for C++Builder. Only MSVC has the intptr_t type. * ace/WFMO_Reactor.cpp (make_changes_in_current_infos, make_changes_in_suspension_infos): Run the index from 0 to last_valid_slot rather than valid slot down to 0 to allow correct use of size_t index. * ace/WIN32_Proactor.cpp (register_handle, post_completion): Use a reinterpret_cast, not static_cast to cast void* to ULONG for non-Win64. Wed Jul 17 03:50:56 UTC 2002 Don Hinton * ace/ACE.cpp: * ace/OS.{h,i,cpp}: * ace/OS_Dirent.inl: * ace/OS_Memory.h * ace/OS_String.inl: * ace/Thread_Manager.cpp: * ace/WFMO_Reactor.cpp: * ace/config-all.h: * ace/config-win32-borland.h: * ace/config-win32-msvc-5.h: * ace/config-win32-msvc-6.h: * include/makeinclude/wrapper_macros.GNU: Removed PACE. Tue Jul 16 14:19:37 2002 Steve Huston * ace/DLL_Manager.cpp: * ace/Parse_Node.cpp: (also see Fri Jul 12 12:37:42 2002 Steve Huston) Always use the ptrdiff_t trick to cast a void* to a func ptr. Nanbor was right ;-) Thanks to Carlos O'Ryan for clarifying this issue, including C++ chapter and verse. (It's in ISO C++ section 5.2.10 for those interested). * tests/DLL_Test.cpp: Use ptrdiff_t as a mediary to cast a void * to a func ptr, not a long. Mon Jul 15 21:23:47 2002 Balachandran Natarajan * ace/Message_Block.i (base): Fixed a warning in TRU 64 builds. Mon Jul 15 18:56:47 2002 Douglas C. Schmidt * ace/String_Base.cpp (substring): Changed "nil" to "nill" to avoid conflicts with a Mac OS X macro. Thanks to Ruslan Zasukhin for reporting this. Mon Jul 15 15:18:33 2002 Steve Huston * ace/Configuration.{h cpp}: Changed ACE_Configuration_Value_IntId data_ member to be a union with both pointer and u_int members. Also, the length_ member is now size_t, not u_int. * ace/Memory_Pool.cpp (ACE_Pagefile_Memory_Pool::map): Use INVALID_HANDLE_VALUE instead of a literal 0xFFFFFFFF for call to CreateFileMapping. * ace/OS.{h i}: New method, void *atop(const char *s) converts a string to void *. * ace/OS.i (fdopen): Don't cast arg to _open_osfhandle - Microsoft changed the type to something sensible. (isatty): open a C run-time handle for the ACE_HANDLE. * ace/OS.cpp (fopen): Don't cast arg to _open_osfhandle - Microsoft changed the type to something sensible. (unique_name): Use sprintf %p for pointer rather than casting to an int. * ace/Naming_Context.cpp (ACE_Name_Options::parse_args): Use ACE_OS::atop instead of ACE_OS::atoi for converting an argument to a pointer. * ace/SOCK_Dgram.cpp (recv, send): * ace/SOCK_IO.cpp (recvv): Use an int select_width to pass width to select() so it can be ignored on ACE_WIN64. * ace/SV_Semaphore_Simple.cpp (name_2_key): Disable the type cast conversion warning casting ACE::crc32() to key_t... it's fine. * ace/WIN32_Proactor.cpp (register_handle, post_completion): The I/O completion port's completionKey argument is a ULONG in "older" compiler/SDK versions, but was changed to a ULONG_PTR (new type in newer SDK/compiler) for 64-bit transition. The new type is used conditionally based on whether or not we're building a 64-bit version. Mon Jul 15 09:26:17 2002 Douglas C. Schmidt * ace/SString.cpp (substring): Changed "nil" to "nill" to avoid conflicts with a Mac OS X macro. Thanks to Ruslan Zasukhin for reporting this. Mon Jul 15 10:14:44 2002 Carlos O'Ryan * bin/MakeProjectCreator/README: Fixed typo Sun Jul 14 20:14:16 2002 Douglas C. Schmidt * FAQ: Fixed the use of "*.ps.gz" files. Thanks to Carol Hunsicker for pointing this out. Sun Jul 14 01:55:03 2002 Balachandran Natarajan * ace/Message_Block.i (reset_allocators): Reset the allocators in the chain if the message block is chained. Sun Jul 14 01:43:32 2002 Balachandran Natarajan * ace/Message_Block.h: * ace/Message_Block.i: Added two methods viz. reset_allocators () and access_allocators () to ACE_Message_Block. Sat Jul 13 17:29:35 2002 Balachandran Natarajan * bin/fuzz.pl: Removed the word "warning" from a print statement, since our scoreboard scripts seems to catch that as a warning. Sat Jul 13 13:31:54 2002 Balachandran Natarajan * bin/auto_run_tests.lst: Added the Stack_Recursion test to the daily builds. Fri Jul 12 20:28:52 2002 Krishnakumar B * ACEXML/common/URL_Addr.cpp (string_to_addr): Fixed confusion in handling normal and wchar strings. It should compile now without problems. * ACEXML/apps/svcconf/Svcconf_Handler.cpp: * ACEXML/apps/svcconf/Svcconf_Handler.i: Fixed memory leaks, some typos and used the locator to print out error messages. Fri Jul 12 17:55:08 2002 Carlos O'Ryan * ace/String_Base.i: Fixed rfind() to check for pos == npos also, that solved the regression test failures. Fri Jul 12 16:03:22 2002 Steve Huston * ace/Basic_Types.h: Itanium is little-endian, like x86. Although the Itanium architecture allows big-endian operation, Windows doesn't use it. * tests/test_config.h (randomize): Fixed some int/size_t mix-ups. Fri Jul 12 13:02:51 2002 Steve Huston * ace/String_Base.{h i} (rfind): Changed pos argument from size_t to ssize_t to make proper use of npos and avoid compile error for g++ 2.95.2. Fri Jul 12 12:37:42 2002 Steve Huston * ace/DLL_Manager.cpp: * ace/Parse_Node.cpp: g++ complains that ISO C++ won't allow cast from void * to func ptr... so cast void * to ptrdiff_t, then to func ptr. Fri Jul 12 12:26:27 2002 Steve Huston * ace/Timer_Heap_T.cpp (ctor): Alloc timer_ids_ as ssize_t[], not long[]. * examples/C++NPv2/TPCLS.dsp: Added SSL libraries to link input. * examples/C++NPv2/TPLS.dsp: Added Logging_Handler.{h cpp} to project. Fri Jul 12 12:15:49 2002 Steve Huston * ace/Timer_Heap_T.cpp (grow_heap): Fix compile warning. Thu Jul 11 21:09:36 2002 Nanbor Wang * Makefile.bor: Added a new BUILD target called "nightlybuild" to simplify nightlybuild script. Thu Jul 11 20:42:52 2002 Nanbor Wang * ace/OS.i (creat): The Win32 implementation of this function was broken. Thanks to Marvin Greenberg for submitting the fix. Thu Jul 11 18:37:35 2002 Krishnakumar B * ACEXML/common/URL_Addr.cpp (string_to_addr): * ACEXML/common/URL_Addr.h: Change the argument to match the base class INET_Addr so that warnings under Borland BCB is eliminated. * ACEXML/common/HttpCharStream.cpp: Use ACE_TEXT_ALWAYS_CHAR to convert an Unicode URL to char* before converting it to an address. Thanks to Nanbor for pointing this out. * ACEXML/common/Makefile: * ACEXML/common/StreamFactory.h: * ACEXML/common/StreamFactory.cpp: New class to create appropriate streams based on the URI. This is needed for handling the parameter entities. * ACEXML/examples/SAXPrint/main.cpp: Move common error message to a new usage function. Thu Jul 11 16:28:24 2002 Steve Huston * tests/Proactor_Scatter_Gather_Test.cpp: Changed Writer to derive from ACE_Handler, not ACE_Service_Handler. It's not the target of an asynch connection factory, and declares an open() method that hides the one in ACE_Service_Handler. Thu Jul 11 16:15:49 2002 Steve Huston * examples/C++NPv2/SR_Configurable_Logging_Server.dsp: * examples/TPCLS.dsp: * examples/TPLS.dsp: * examples/C++NPv2/examples.dsw: Added SR_Configurable_Logging_Server, TPCLS, and TPLS projects. * examples/C++NPv2/TPC_Logging_Server.h: Use ACE traits macros to allow build on Win32. * examples/C++NPv2/TPC_Logging_Server.cpp: Fix build problems on Win32. * examples/TP_Logging_Server.h (init): Added #include "ace/Auto_Ptr.h" and corrected use of ACE_NEW_NORETURN; use ACE_Auto_Ptr::get() to get the argv pointer. Thu Jul 11 15:03:47 2002 Steve Huston * ace/ace_dll64.mak: TEMPORARILY added /wd4267 to disable the conversion size_t to int warning. * ace/Activation_Queue.{h i} (method_count): Change return type from int to size_t. * ace/Arg_Shifter.cpp (cur_arg_strncasecmp): Change flag_length var to size_t to match string function signatures. If returning a 'remaining' length, cast back to int. * ace/ARGV.cpp (ctor): Build string length using size_t, not int. * ace/CDR_Base.cpp (ACE_CDR::consolidate): Use ptrdiff_t, not the nonstandard ptr_arith_t. * ace/CDR_Stream.cpp (grow_and_adjust): Use ptrdiff_t, notptr_arith_t. (write_string): Cast ACE_SString:length result to ACE_CDR::ULong. A number of other size_t<->ACE_CDR::ULong casts. * ace/CDR_Stream.i (write_string, operator<<): Use a ACE_CDR::ULong len, can't directly use the return from strlen(), a size_t. * ace/Codecs.cpp: size_t conversions. * ace/DEV_Addr.i (set): Cast strlen result to int for base_set. * ace/DEV_IO.{i cpp} (send, recv): Cast iovec count from size_t to int for call to ACE_OS level. * ace/Hash_Map_Manager_T.{h, i, cpp} (shared_find): Change loc argument from u_long to size_t. Better match for its use. * ace/OS.h (ACE_align_binary, ACE_ptr_align_binary): Change from using ptr_arith_t to the standard ptrdiff_t. * ace/DLL_Manager.cpp: * ace/Parse_Node.cpp: Avoid casting a void * to a long then back to a function pointer. Cast using proper calling signature. * ace/Reactor_Impl.h (ACE_Reactor_Notify::notify): * ace/Select_Reactor_Base.{h cpp} (ACE_Select_Reactor_Notify::notify): Change return type from ssize_t to int to match advertised return type from ACE_Reactor. * ace/Select_Reactor_T.cpp (check_handles): Use an int select_width to pass width to select() so it can be ignored on ACE_WIN64. * ace/String_Base_Const.{h cpp}: Changed npos from int to ssize_t. * ace/String_Base.{h i}: (operator[]) changed slot arg from int to size_t. (strstr(), find(), rfind()) changed return type from int to ssize_t; change pos arg from int to size_t. * ace/Timer_Heap_T.{h cpp}: Change 'slot' arg from int to size_t. Also changed timer_ids_ to use ssize_t rather than long to avoid length mismatches between the max size and the timer queue (a size_t) and the arrays. * ace/WFMO_Reactor.h (ACE_WFMO_Reactor_Notify): Change return type from ssize_to to int to match corresponding change in ACE_Reactor_Notify, above. The implementation already was returning int. * ace/WFMO_Reactor.cpp (make_changes_in_current_infos, make_changes_in_suspension_infos): Align use of size_t. (wait_for_multiple_events)...........Should maybe make the sizes in this class DWORD????? * ace/WIN32_Proactor.cpp (close, handle_events): completion_key needs to be a different on Win64 than on Win32. Thu Jul 11 08:34:22 2002 Chad Elliott * bin/MakeProjectCreator/USAGE: * bin/MakeProjectCreator/modules/Driver.pm: Added new options and documentation dealing with generation of relative paths in projects. Wed Jul 10 11:46:02 2002 Mayur Deshpande * bin/auto_run_tests.lst: Added tests/AMH_Exception and examples/AMH/Sink_Server as tests for AMH Wed Jul 10 13:31:49 2002 Steve Huston * examples/C++NPv2/CLD.dsp: * examples/C++NPv2/examples.dsw: Added CLD project. * examples/Client_Logging_Daemon.cpp: Disable the info, suspend, and resume methods - these are left as an exercise for the reader. Wed Jul 10 11:24:39 2002 Steve Huston * examples/C++NPv2/AIO_CLD.dsp: * examples/C++NPv2/examples.dsw: Added AIO_CLD project. * examples/C++NPv2/AIO_Client_Logging_Daemon.cpp: Fix Win32 compile problems. Wed Jul 10 07:22:24 2002 Chad Elliott * bin/MakeProjectCreator/modules/TemplateParser.pm: If the project creator needs the slashes converted, then do so when generating relative paths. Tue Jul 9 23:24:44 2002 Krishnakumar B * include/makeinclude/rules.local.GNU: Print out more explanative messages. * include/makeinclude/platform_osf1_4.x_cxx.GNU: * include/makeinclude/platform_sunos5_sunc++.GNU: Turn on symbol versioning for these platforms with the proprietary compilers that ships with these systems viz, Sun CC and cxx. Tue Jul 9 16:24:46 2002 Douglas C. Schmidt * ace/Containers_T.cpp: Fixed inconsistent initializer order for ACE_Fixed_Stack and ACE_Bounded_Stack. Thanks to Michael Searles for reporting this. Tue Jul 9 11:10:38 2002 Steve Huston * apps/Gateway/Peer/Peer.{h cpp}: Renamed Peer_Acceptor::open() to Peer_Acceptor::start() to avoid clashes with virtual ACE_Acceptor::open. Tue Jul 9 09:01:14 2002 Chad Elliott * bin/MakeProjectCreator/config/taolib_with_idl.mpb: Change the default tao_idl option from -Gs to -Sc. Tue Jul 9 08:07:20 2002 Chad Elliott * bin/MakeProjectCreator/modules/TemplateParser.pm: When using Cygwin Perl, we need to convert the cwd to a windows path to match up with environment variables that are usable outside of Cygwin. Tue Jul 9 07:46:57 2002 Chad Elliott * bin/MakeProjectCreator/modules/TemplateParser.pm: Fix up the relative value matching code to work correctly on Windows. Tue Jul 9 07:31:48 2002 Chad Elliott * ace/ace.mpc: * ace/QoS/qos.mpc: * ace/RMCast/rmcast.mpc: * ace/SSL/ssl.mpc: * apps/gperf/src/gperf.mpc: * tests/tests.mpc: * tests/RMCast/tests.mpc: * tests/SSL/tests.mpc: Input files for the Make Project Creator for just the basic libraries, exe's and tests. Tue Jul 9 07:24:06 2002 Chad Elliott * bin/mpc.pl: * bin/mwc.pl: The starting point for creating workspaces and projects. * bin/MakeProjectCreator/README: * bin/MakeProjectCreator/USAGE: A bit of lite documentation on the Make Project Creator. * bin/MakeProjectCreator/config/aceexe.mpb: * bin/MakeProjectCreator/config/acelib.mpb: * bin/MakeProjectCreator/config/aceversion.mpb: * bin/MakeProjectCreator/config/avstreamsexe.mpb: * bin/MakeProjectCreator/config/client.mpb: * bin/MakeProjectCreator/config/global.mpb: * bin/MakeProjectCreator/config/messaging.mpb: * bin/MakeProjectCreator/config/namingexe.mpb: * bin/MakeProjectCreator/config/notify.mpb: * bin/MakeProjectCreator/config/notifytest.mpb: * bin/MakeProjectCreator/config/orbsvcsexe.mpb: * bin/MakeProjectCreator/config/orbsvcslib.mpb: * bin/MakeProjectCreator/config/rt_client.mpb: * bin/MakeProjectCreator/config/rt_server.mpb: * bin/MakeProjectCreator/config/rteventexe.mpb: * bin/MakeProjectCreator/config/server.mpb: * bin/MakeProjectCreator/config/strategies.mpb: * bin/MakeProjectCreator/config/taoexe.mpb: * bin/MakeProjectCreator/config/taolib.mpb: * bin/MakeProjectCreator/config/taolib_with_idl.mpb: * bin/MakeProjectCreator/config/taoversion.mpb: Base projects for most of ACE and TAO. * bin/MakeProjectCreator/modules/Driver.pm: * bin/MakeProjectCreator/modules/Creator.pm: * bin/MakeProjectCreator/modules/WorkspaceCreator.pm: * bin/MakeProjectCreator/modules/GUID.pm: * bin/MakeProjectCreator/modules/Parser.pm: * bin/MakeProjectCreator/modules/ProjectCreator.pm: * bin/MakeProjectCreator/modules/TemplateInputReader.pm: * bin/MakeProjectCreator/modules/TemplateParser.pm: The main modules of the Make Project Creator which provide most of the functionalty. * bin/MakeProjectCreator/modules/BorlandProjectCreator.pm: * bin/MakeProjectCreator/modules/BorlandWorkspaceCreator.pm: * bin/MakeProjectCreator/modules/EM3ProjectCreator.pm: * bin/MakeProjectCreator/modules/EM3WorkspaceCreator.pm: * bin/MakeProjectCreator/modules/GHSProjectCreator.pm: * bin/MakeProjectCreator/modules/GHSWorkspaceCreator.pm: * bin/MakeProjectCreator/modules/GNUProjectCreator.pm: * bin/MakeProjectCreator/modules/GNUWorkspaceCreator.pm: * bin/MakeProjectCreator/modules/NMakeProjectCreator.pm: * bin/MakeProjectCreator/modules/NMakeWorkspaceCreator.pm: * bin/MakeProjectCreator/modules/VA4ProjectCreator.pm: * bin/MakeProjectCreator/modules/VA4WorkspaceCreator.pm: * bin/MakeProjectCreator/modules/VC6ProjectCreator.pm: * bin/MakeProjectCreator/modules/VC6WorkspaceCreator.pm: * bin/MakeProjectCreator/modules/VC7ProjectCreator.pm: * bin/MakeProjectCreator/modules/VC7WorkspaceCreator.pm: Subclassed workspace and project creators. * bin/MakeProjectCreator/templates/bor.mpd: * bin/MakeProjectCreator/templates/bordll.mpt: * bin/MakeProjectCreator/templates/borexe.mpt: * bin/MakeProjectCreator/templates/em3vcp.mpd: * bin/MakeProjectCreator/templates/em3vcpdll.mpt: * bin/MakeProjectCreator/templates/em3vcpdllexe.mpt: * bin/MakeProjectCreator/templates/em3vcplib.mpt: * bin/MakeProjectCreator/templates/em3vcplibexe.mpt: * bin/MakeProjectCreator/templates/ghs.mpd: * bin/MakeProjectCreator/templates/gnu.mpd: * bin/MakeProjectCreator/templates/gnudll.mpt: * bin/MakeProjectCreator/templates/gnuexe.mpt: * bin/MakeProjectCreator/templates/nmake.mpd: * bin/MakeProjectCreator/templates/nmakedll.mpt: * bin/MakeProjectCreator/templates/nmakeexe.mpt: * bin/MakeProjectCreator/templates/va4icc.mpd: * bin/MakeProjectCreator/templates/va4iccdll.mpt: * bin/MakeProjectCreator/templates/va4iccdllexe.mpt: * bin/MakeProjectCreator/templates/va4icclib.mpt: * bin/MakeProjectCreator/templates/va4icclibexe.mpt: * bin/MakeProjectCreator/templates/vc6dsp.mpd: * bin/MakeProjectCreator/templates/vc6dspdll.mpt: * bin/MakeProjectCreator/templates/vc6dspdllexe.mpt: * bin/MakeProjectCreator/templates/vc6dsplib.mpt: * bin/MakeProjectCreator/templates/vc6dsplibexe.mpt: * bin/MakeProjectCreator/templates/vc7.mpd: * bin/MakeProjectCreator/templates/vc7dll.mpt: * bin/MakeProjectCreator/templates/vc7exe.mpt: Template and template input files for all of the different project creators. Tue Jul 9 07:21:29 2002 Chad Elliott * ace/Map_T.h: * ace/Map.cpp: * ace/Pair_T.h: * ace/Pair.cpp: Remove the use of Map.h and Pair.h. * ace/gethrtime.cpp: Only compile the contents of this file if using GHS and are building for the x86. Mon Jul 8 17:26:51 2002 Steve Huston * ace/Task.cpp (svc_run): Borland complains about reinterpret_cast from int to unsigned long, so change the cast to ACE_THR_FUNC_RETURN to a static_cast for that compiler. Thanks to Johnny Willemsen for this fix. 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://deuce.doc.wustl.edu/bugzilla/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. Wed Jul 3 11:09:31 2002 Steve Huston * 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.