Tue Jun 13 02:10:12 UTC 2006 Johnny Willemsen * tests/run_tests.lst: Don't run netlink test in ACE_FOR_TAO configuration Mon Jun 12 17:00:02 UTC 2006 J.T. Conklin * include/makeinclude/wrapper_macros.GNU: Set winnt to 0 if not explicitly set by a platform_*.GNU makefile. Mon Jun 12 16:48:19 UTC 2006 Douglas C. Schmidt * tests/SV_Shared_Memory_Test.cpp (run_main): Moved a couple of calls outside of ACE_ASSERT since they don't belong in there. Mon Jun 12 14:34:12 UTC 2006 Johnny Willemsen * ace/OS_NS_sys_stat.h: Fixed mingw definition of ACE_stat Mon Jun 12 10:24:12 UTC 2006 Johnny Willemsen * bin/MakeProjectCreator/config/vc6.features: Removed this file, wer don't support vc6 anymore Mon Jun 12 01:30:03 UTC 2006 Douglas C. Schmidt * ace/Thread_Manager.cpp (wait): Changed the flag parameters to be bool rathet than int. Thanks to Johnny for this suggestion. Sat Jun 10 22:32:03 UTC 2006 Steve Huston * ACE-INSTALL.html: Corrected a bunch of platform build things and hopefully clarified the sections a bit. * bin/make_release: Removed the search for, and chmod for, dsp/dsw files - they're for MSVC6 which is no longer generated. Sat Jun 10 10:07:32 UTC 2006 Phil Mesnier * ace/Thread_Manager.cpp: Fix for compiler errors. Sat Jun 10 04:31:54 UTC 2006 J.T. Conklin * bin/MakeProjectCreator/config/automake.features: Define MPC feature variable "wxWindows" to 1. * bin/MakeProjectCreator/config/wxwindows.mpb: Add automake specific definitions for compile_flags, linkflags, and pure_libs. Fri Jun 9 19:25:19 UTC 2006 Douglas C. Schmidt * ace/Thread_Manager.h: Added a new parameter to wait() that determines whether relative or absolute time is used. Thanks to Sonicfly Zhou for this idea. Fri Jun 9 14:06:52 UTC 2006 Douglas C. Schmidt * ace/Hash_Map_With_Allocator_T.{h,inl,cpp}: Enhanced this class so that it compiles with the new "two allocator" ACE_Hash_Map_Manager_Ex class. This class needs to be improved so that it actually leverages the two allocator features, but that's something for the future. Fri Jun 9 13:15:38 UTC 2006 Douglas C. Schmidt * ace/Hash_Map_Manager_T.h: Clarified the meaning of the constructor and open() parameters. Fri Jun 9 13:07:40 UTC 2006 Douglas C. Schmidt * ace/Hash_Map_Manager_T.cpp (open): If the user doesn't supply an entry_alloc pointer then use the table_alloc pointer. Fri Jun 9 13:00:22 UTC 2006 Douglas C. Schmidt * ace/Hash_Map_Manager_T.cpp (open): Zapped the use of ACE_ASSERT and replaced it with and if statement. We shouldn't be using ACE_ASSERT in ACE library code.. Fri Jun 9 12:53:48 UTC 2006 Douglas C. Schmidt * ace/Hash_Map_Manager_T.{h,inl,cpp}: Added support for a separate allocator for creating the entries in the chain of ACE_Hash_Map_Entry objects in the buckets. There are now two allocators, one for the bucket table and the other for the entries in the buckets. Thanks to Jaroslaw Nozderko for this fix. Fri Jun 9 14:04:12 UTC 2006 Johnny Willemsen * ace/ace_for_tao.mpc: Updated because ARGV and Arg_Shifter are template files now Fri Jun 9 13:58:12 UTC 2006 Johnny Willemsen * ace/FILE_IO.cpp: Const improvements * ace/MMAP_Memory_Pool.cpp: Added static cast from ACE_LOFF_T to size_t and const improvements Fri Jun 9 13:58:12 UTC 2006 Johnny Willemsen * ace/FILE_IO.cpp: Added static cast from ACE_LOFF_T to size_t Fri Jun 9 13:42:12 UTC 2006 Johnny Willemsen * ace/OS_NS_sys_stat.inl: Use special stat call for vc71 Fri Jun 9 13:33:12 UTC 2006 Johnny Willemsen * ace/Connection_Recycling_Strategy.h: Doxygen improvement Fri Jun 9 13:12:12 UTC 2006 Johnny Willemsen * ace/OS_NS_unistd.{h,cpp}: Use ACE_LOFF_T in the pwrite interface Fri Jun 9 12:47:12 UTC 2006 Johnny Willemsen * ace/OS_NS_sys_stat.h: With vc71 use _stati64 for ACE_stat, not __stat64. The first has time as 32bit, the second time as 64 bit (__time64_t) which causes problems because the time interfaces of ACE use time_t which is 32bit with vc71 but 64bit with vc8. Fri Jun 9 10:29:12 UTC 2006 Johnny Willemsen * ace/Configuration_Import_Export.cpp: Initialise pointer with 0 Fri Jun 9 10:13:12 UTC 2006 Johnny Willemsen * ace/Arg_Shifter.{h,cpp}: Also refactored ACE_Arg_Shifter to ACE_Arg_Shifter and made ACE_Arg_Shifter a typedef. The refactoring fo ACE_ARGV resulted in a drop of the TAO Hello client executable of about 2.5Kb which is nice for such a small change. * ace/ace.mpc: * ace/Makefile.am: Updated because Arg_Shifter.cpp is not a template file Fri Jun 9 09:54:12 UTC 2006 Johnny Willemsen * ace/config-linux-common.h: Added ACE_HAS_NETLINK, all linux versions do support netlink sockets. This closes bugzilla bug 2317. Thanks to Robert Iakobashvili and Razi Ben-Yehuda for creating the netlink wrappers Fri Jun 9 08:16:12 UTC 2006 Johnny Willemsen * tests/SOCK_Netlink_Test.cpp: New test for netlink sockets. Thanks to Robert Iakobashvili for creating this test. * tests/tests.mpc: * tests/run_test.lst: Added new netlink test Fri Jun 9 07:55:12 UTC 2006 Johnny Willemsen * ace/ARGV.{h,cpp,inl}: Refactored ACE_ARGV to ACE_ARGV_T which is a template, where ACE_ARGV is now a typedef of ACE_ARGV_T. Taken the idea from the wchar work of David Giovannini * ace/ace.mpc: * ace/Makefile.am: ARGV.cpp added to the template files, added the new netlink files * ace/OS_NS_sys_stat.{h,inl}: * ace/MMAP_Memory_Pool{h,cpp}: * ace/Mem_Map.{h,cpp,inl}: * ace/Filecache.{h,cpp}: * ace/FILE_IO.cpp: * ace/FILE.h: Use ACE_LOFF_T for the filesize so that we can support files bigger then 2Gb on windows and other platforms. Also use for Borland the 64bit stat structure and api's. This fixes bugzilla bug 1286, thanks to Ruslan Zasukhin for reporting this. Also fixes part of bugzilla bug 2359, thanks to Olivier Brunet for reporting this. Thu Jun 8 17:13:42 UTC 2006 Douglas C. Schmidt * ace/String_Base.h, ace/Array_Map.h: Removed the @deprecated comments to make Ossama happy ;-) This fixes bugid 2558. Thu Jun 8 12:44:46 UTC 2006 Douglas C. Schmidt * ace/OS_NS_Thread.inl (recursive_mutex_lock): Cleaned up the structure of the code here so that we don't try to release the nesting lock unless it was acquired successfully. Thanks to J.T. for reporting this. Thu Jun 8 12:37:12 UTC 2006 Johnny Willemsen * bin/MakeProjectCreator/config/corba_e_compact.mpb: * bin/MakeProjectCreator/config/corba_e_micro.mpb: New base projects for CORBA/e micro and compact Thu Jun 8 12:28:49 UTC 2006 Chad Elliott * bin/DependencyGenerator/DependencyEditor.pm: * bin/DependencyGenerator/DependencyGenerator.pm: * bin/DependencyGenerator/GNUDependencyWriter.pm: * bin/DependencyGenerator/GNUObjectGenerator.pm: * bin/DependencyGenerator/Preprocessor.pm: * bin/depgen.pl: Committing performance improvements which take off about 7% from the dependency generation time for the whole ACE_wrappers tree. Thu Jun 8 11:57:58 UTC 2006 J.T. Conklin * ace/OS_NS_dirent.cpp: * ace/OS_NS_dirent.h: Don't compile the {opendir,readir,closedir,scandir}_emulation() functions if {opendir,readir,closedir,scandir} are provided by the OS. Thu Jun 8 11:29:12 UTC 2006 Johnny Willemsen * ace/Netlink_Addr.h: * ace/SOCK_SEQPACK_Association.h: Doxygen fixes * ace/OS_NS_Thread.inl: Const improvement Thu Jun 8 11:37:59 UTC 2006 J.T. Conklin * ace/config-netbsd.h: Define ACE_HAS_SCANDIR and ACE_SCANDIR_CMP_VOIDPTR. Wed Jun 7 23:02:53 UTC 2006 Krishnakumar B * tests/Recursive_Mutex_Test.cpp: Use ACE_TEST_MUTEX instead of ACE_Recursive_Thread_Mutex so that we use the right version of mutex (ACE_Process_Mutex) on Windows. Thanks to Doug for the suggestion. This should fix the Recursive_Mutex_Test failing on Windows. Wed Jun 7 21:42:36 UTC 2006 William R. Otte * bin/MakeProjectCreator/config/ciao_config_handlers.mpb Fixed static library ordering problem. Wed Jun 7 13:34:12 UTC 2006 Johnny Willemsen * ace/config-doxygen.h: Added ACE_HAS_NETLINK so that we get documentation for the new netlink classes Wed Jun 7 13:31:12 UTC 2006 Johnny Willemsen * tests/run_test.lst: Removed chorus Wed Jun 7 13:16:12 UTC 2006 Johnny Willemsen * ace/os_include/sys/os_socket.h: When ACE_HAS_NETLINK is defined, include more files specific for this protocol. Wed Jun 7 12:56:12 UTC 2006 Johnny Willemsen * ace/Netlink_Addr.{h,cpp,inl}: * ace/SOCK_Netlink.{h,cpp,inl}: New files for netlink sockets. Thanks to Robert Iakobashvili and Razi Ben-Yehuda for creating these new files. These files will be added to the ACE mpc later this week, with the files in the repo it is much easier to test them on multiple linux version. See bugzilla bug 2317 for more info. Wed Jun 7 12:28:18 UTC 2006 Chad Elliott * bin/MakeProjectCreator/templates/gnu.mpd: Changed the message displayed when a project isn't build when a particular feature is disabled. Many users thought that this message was an error, I believe, because of the word 'missing'. Wed Jun 7 11:46:12 UTC 2006 Johnny Willemsen * ace/config-suncc-common.h: New config file for the SunCC compiler, idea is to refactor all things related to the Sun C++ compiler to this file. This is to make it easier to support Sun C++ on Linux Wed Jun 7 10:45:12 UTC 2006 Johnny Willemsen * include/makeinclude/platform_linux_suncc.GNU: First version for using the Sun compiler on Linux. The compiler itself is an alpha version, so no guarantees at this moment Wed Jun 7 10:07:12 UTC 2006 Johnny Willemsen * ace/Strategies_T.cpp: Initialise pointer with 0 and const improvement Wed Jun 7 09:19:12 UTC 2006 Johnny Willemsen * bin/MakeProjectCreator/config/taoidldefaults.mpb: When using -SS we do generate an empty S.h file, so add S to the header_outputext so that we zap this file during a clean Wed Jun 7 09:02:12 UTC 2006 Johnny Willemsen * include/makeinclude/platform_aix_g++.GNU: Set X11 and Xt defines, thanks to Peter Grotrian for reporting this. This fixes bugzilla 2556 * ace/config-sunos5.5.h: Added fixes to build with threads=0, this fixes bugzilla bug 2555. Thanks to Peter Grotrian for reporting this. * ace/config-aix-4.x.h: Added fixes to build with threads=0, this fixes bugzilla bug 2553. Thanks to Peter Grotrian for reporting this. * include/makeinclude/platform_chorus.GNU: * include/makeinclude/platform_chorus4.x_g++.GNU: * include/makeinclude/platform_chorus_ghs.GNU: * include/makeinclude/platform_psos_diab.GNU: * include/makeinclude/platform_psos_diab_ppc.GNU: * include/makeinclude/platform_psos_tm.GNU: * include/makeinclude/platform_psosim_g++.GNU: Removed these files, psos and chorus are not supported anymore Wed Jun 7 08:27:12 UTC 2006 Johnny Willemsen * ace/OS_NS_Thread.cpp: Added needed check for VxWorks with task api * ace/os_include/sys/os_stat.h: Removed workarounds for old Borland compiler versions Wed Jun 7 03:25:00 UTC 2006 William R. Otte * bin/MakeProjectCreator/config/ciao_config_handlers_base.mpb * bin/MakeProjectCreator/config/ciao_config_handlers_base.mpc Corrected the file extension. Tue Jun 6 21:11:37 UTC 2006 Douglas C. Schmidt * ace/WFMO_Reactor.cpp (open): make sure we delete the notify_handler_ before reassigning it to prevent resource leaks. Thanks to Sonicfly Zhou for suggesting this. Tue Jun 6 21:41:02 UTC 2006 Steve Huston * ace/Service_Gestalt.{h cpp}: * ace/Dynamic_Service_Base.cpp: * ace/Dynamic_Service_Dependency.cpp: * ace/Service_Config.cpp: * ace/Service_Object.cpp: * ace/Svc_Conf_Lexer.cpp: Add missing #include directives. Tue Jun 6 18:09:12 UTC 2006 Johnny Willemsen * ace/OS_NS_Thread.cpp: Reverted a change for VxWorks, broke other platforms, will make a new change tomorrow. Tue Jun 6 17:14:51 UTC 2006 Chad Elliott * bin/MakeProjectCreator/modules/GNUACEProjectCreator.pm: Cleaned up the fill_value() method and removed an unused method. * bin/MakeProjectCreator/modules/GNUACEWorkspaceCreator.pm: Use DirectoryManager::mpc_basename() instead of File::Basename::basename(). Tue Jun 6 15:43:32 UTC 2006 William R. Otte * bin/MakeProjectCreator/templates/gnu.mpd Modified to explicitly state the name of a project being skipped due to missing features or libraries. Tue Jun 6 03:57:08 UTC 2006 J.T. Conklin * ace/Hash_Map_Manager_T.cpp: * ace/Hash_Map_Manager_T.h: Added key() and item() methods to ACE_Hash_Map_Entry<>, to be like ACE_RB_Tree_Node<>. This makes it easier to switch code to and from Hash_Maps and RB_Trees. Mark direct access to the ext_id_ and int_id_ fields @deprecated. * ace/Hash_Map_Manager_T.cpp: * ace/Hash_Map_Manager_T.h: * ace/Hash_Map_Manager_T.inl: * ace/RB_Tree.h: * ace/RB_Tree.inl: Added operator->() for iterators to be more like STL API. Mon Jun 5 20:27:42 UTC 2006 William R. Otte * bin/MakeProjectCreator/config/ciao_config_handlers.mpb * bin/MakeProjectCreator/config/ciao_config_handlers_base.mpc Restructured to clean up config handlers MPC files. Sun Jun 4 13:38:21 UTC 2006 Douglas C. Schmidt * tests/Array_Map_Test.cpp: Fixed all uses of empty() to be is_empty(). Sun Jun 4 13:35:25 UTC 2006 Douglas C. Schmidt * ace/Array_Map.{h,inl}, * ace/Intrusive_List.{h,inl}, * ace/String_Base.{h,inl}: Changed empty() to is_empty(), which makes more sense. Kept empty() around for the time being as a @deprecated method. Thanks to Domingos Monteiro for this suggestion. Sun Jun 4 00:51:38 UTC 2006 Douglas C. Schmidt * ace/CString.{h,inl,cpp}: Added some performance improvements for ACE_CString: . Introduced new operators == and != to compare ACE_CString and const char *. This results in at least a 10-fold performance improvement, due to avoiding dynamic memory allocation. . Streamlined the existing operator == between two ACE_CString's. (15% improvement in some cases, due to avoiding some of the overhead of compare()) Also cleaned up some of the doxygen comments, e.g., the ACE_CString comparison operators must have been returning an integer at some point (?), but it's not the case anymore. Thanks to Patrick Rabau for these patches. Fri Jun 2 19:52:19 UTC 2006 Yan Dai * bin/tao_orb_tests.lst: Removed DII_Collocation_Tests. Fri Jun 2 16:29:55 UTC 2006 Douglas C. Schmidt * ace/Select_Reactor_T.cpp (open): Added an error message explicitly noting that the notification pipe open failed, which should make debugging easier when this occurs, e.g., due to a disabled network interface. Thanks to David Highley for this suggestion. Fri Jun 2 12:20:12 UTC 2006 Johnny Willemsen * bin/MakeProjectCreator/config/taoidl3toidl2defaults.mpb: Updated to make cross compilation possible Fri Jun 2 12:12:12 UTC 2006 Johnny Willemsen * bin/MakeProjectCreator/templates/gnu.mpd: Added TAO_IDL3_TO_IDL2 and TAO_IDL3_TO_IDL2_DEP as first step to run idl3_to_idl2 in a cross build environment Fri Jun 2 11:51:12 UTC 2006 Johnny Willemsen * include/makeinclude/platform_vxworks6.2.GNU: Updated for VxWorks 6.2 Fri Jun 2 11:33:36 UTC 2006 Douglas C. Schmidt * tests/Recursive_Mutex_Test.cpp (test_recursion_depth): The get_nesting_level() only works on certain OS platforms, so don't use it as part of the test. Fri Jun 2 10:13:12 UTC 2006 Johnny Willemsen * ace/Configuration.cpp: Fixed operator== * tests/Config_Test.{h,cpp}: Added an explicit test for operator==. Thanks to Popeye Cai for reporting this. This fixes bugzilla bug 2550 Fri Jun 2 10:02:12 UTC 2006 Johnny Willemsen * ace/OS_NS_Thread.cpp: Improved VxWorks 6.2 support * ace/Svc_Handler.cpp: 64bit change and initialise pointer with 0 * ace/Process.cpp: Added support for VxWorks 6.x in rtp mode Fri Jun 2 09:42:12 UTC 2006 Johnny Willemsen * ace/OS_NS_Thread.inl: Added necessary code for VxWorks 6.2 Thu Jun 1 23:13:58 UTC 2006 Yan Dai * bin/tao_orb_tests.lst: Added oneway and twoway DII_Collocation_Tests. Thu Jun 1 20:53:31 UTC 2006 Jeff Parsons * tests/Recursive_Mutex_Test.cpp (run_main): Added ACE_UNUSED_ARG macros to eliminate 'unused parameter' warnings on single threaded builds. Thu Jun 1 16:54:56 UTC 2006 Yan Dai * bin/tao_orb_tests.lst: Added new DII_Collocation_Tests. Thu Jun 1 13:59:12 UTC 2006 Johnny Willemsen * ace/FILE.cpp: Const improvement Thu Jun 1 12:15:12 UTC 2006 Johnny Willemsen * tests/Dirent_Test.cpp: Updated VxWorks specific checks, removed chorus checks Thu Jun 1 11:03:12 UTC 2006 Johnny Willemsen * examples/Threads/thread_pool.cpp: Fixed 64bit conversion warnings Thu Jun 1 09:39:12 UTC 2006 Johnny Willemsen * bin/diff-builds.pl: Corrected usage of strftime Thu Jun 1 09:19:12 UTC 2006 Johnny Willemsen * ace/Default_Constants.h: Define the platform suffix for vxworks * ace/Sock_Connect.cpp: Added include for VxWorks and removed some unneeded checks for vxworks >= 0x600 * ace/ACE.h: Doxygen improvement * ace/config-vxworks6.2.h: Updated with more settings to better match vxworks 6.2 * ace/Process_Manager.cpp: Added specific check for vxworks * ace/OS_NS_stdlib.inl: Emulate putenv with setenv when putenv is not available but setenv is. Thu Jun 1 02:26:03 UTC 2006 Phil Mesnier * ace/Service_Gestalt.h: * ace/Service_Gestalt.cpp: Reworked the way static svc descriptors are kept so that if DLLs include static initializers, they won't cause a problem if the DLL is later unloaded and reloaded. There is currently no dependency replationship between these "static" services and the DLL that contains them, so there is still a slight risk that pointers held after the DLL is unloaded might be referenced. But the only thing that actually uses these pointers is the service gestalt itself if it is processing an explicit static directive and the desired service object had not yet been loaded in that configuration context. Wed May 31 20:49:03 UTC 2006 Jeff Parsons * examples/APG/Logging/Trace.h: Added '##' to several macro definitions in this file, at the suggestion of Steve Huston to get rid of warnings on GCC4 platforms. Wed May 31 18:18:37 UTC 2006 Jeff Parsons * bin/MakeProjectCreator/config/ciao_config_handlers.mpb: Shortened some line lengths, to make the file more readable. Wed May 31 16:36:43 UTC 2006 Steve Huston * tests/tests.mpc: * tests/run_test.lst: Don't build or run Unload_libACE on WinCE. The code is purposely leaving out ACE stuff and the ACE stuff is needed for WinCE, unless there's lots of conditional code added to duplicate the workings on ACE_TMAIN on CE. Wed May 31 14:33:16 UTC 2006 Jeff Parsons * ace/OS_NS_Thread.inl (recursive_mutex_lock): Added additional ACE_UNUSED_ARG for the timeout parameter, to eliminate warnings in single-threaded builds. Wed May 31 13:05:05 UTC 2006 Douglas C. Schmidt * ace/Argv_Type_Converter.cpp (align_char_with_wchar): ACE-ified this code. Wed May 31 14:00:16 UTC 2006 Jeff Parsons * tests/Recursive_Mutex_Test.cpp (run_main): Moved '#if defined (ACE_HAS_THREADS)' up a few lines to include a variable defined inside the same guard at the top of the file, to eliminate an 'undefined' error on single-threaded builds. Wed May 31 13:37:12 UTC 2006 Johnny Willemsen * bin/tao_orb_tests.lst: Added Bug_2542_Regression, this should run without problems Wed May 31 11:44:12 UTC 2006 Johnny Willemsen * ace/OS_NS_time.inl: Fixed unreachable code warning Wed May 31 09:23:12 UTC 2006 Johnny Willemsen * tests/run_test.lst: Changes for ACE_FOR_TAO configuration Wed May 31 08:19:12 UTC 2006 Johnny Willemsen * tests/Bound_Ptr_Test.cpp: Initalise pointers with 0 Wed May 31 08:16:12 UTC 2006 Johnny Willemsen * tests/Recursive_Mutex_Test.cpp: Added missing include to get ACE_OS::sleep Tue May 30 21:56:52 UTC 2006 Steve Huston * ACE-INSTALL.html: Corrected the AIX section; removed descriptions of old compilers that are no longer supported and suggested the config and platform_macros files to use. Thanks to Michelle Zheng for motivating this. * THANKS: Added Michelle Zheng to the Hall of Fame. Tue May 30 19:17:40 UTC 2006 Phil Mesnier * ace/Dynamic_Service.h: * ace/Dynamic_Service.inl: * ace/Dynamic_Service.cpp: * ace/Dynamic_Service_Base.h: * ace/Dynamic_Service_Base.cpp: * ace/Dynamic_Service_Dependency.cpp: In order to ensure proper separation of contexts, this patch gives the dynamic service instance lookup the ability to optionally exclude the global configuration context. * ace/Service_Gestalt.h: * ace/Service_Gestalt.cpp: To allow explicitly configured static service objects, those for which a directive such as 'static XYZ "foo bar"', to be independently configured in different configuration contexts, these changes retain any static service descriptor for service XYZ, then looks for a previous instance of XYZ in the local context only, otherwise it uses the previously retained static service descriptor to create a new instance. Tue May 30 18:24:54 UTC 2006 Douglas C. Schmidt * ace/DLL.h (ACE_DLL): Updated the documentation of open() to explain the lookup scheme when a filename is given. Thanks to Phlip for motivating this. Tue May 30 13:06:42 UTC 2006 Douglas C. Schmidt * ace/ACE.inl: * ace/Base_Thread_Adapter.cpp: * ace/Default_Constants.h: * ace/Global_Macros.h: * ace/OS.h: * ace/OS_NS_Thread.cpp: * ace/OS_NS_Thread.h: * ace/OS_NS_netdb.inl: * ace/OS_NS_signal.inl: * ace/OS_NS_sys_socket.inl: * ace/OS_NS_time.inl: * ace/OS_main.cpp: * ace/OS_main.h: * ace/Object_Manager_Base.h: * ace/Process_Manager.cpp: * ace/Process_Semaphore.cpp: * ace/Process_Semaphore.h: * ace/Process_Semaphore.inl: * ace/Recursive_Thread_Mutex.cpp: * ace/SV_Semaphore_Simple.h: * ace/TLI_Acceptor.cpp: * ace/Thread_Adapter.cpp: * ace/Token.h: * ace/config-macros.h: Removed all vestiges of PSOS. Tue May 30 12:22:53 UTC 2006 Chad Elliott * bin/mpc.pl: * bin/mwc.pl: Added a load-time check for the minimum perl version (5.6). Tue May 30 12:18:12 UTC 2006 Johnny Willemsen * ace/Log_Msg.cpp: * ace/OS_NS_dirent.inl: * ace/OS_NS_netdb.inl: * ace/OS_NS_pwd.inl: * ace/OS_NS_stdlib.inl: * ace/OS_NS_Thread.cpp: * ace/OS_NS_Thread.inl: * ace/OS_NS_time.cpp: * ace/OS_NS_time.inl: * ace/Thread_Manager.cpp: * ace/os_include/os_pthread.h: * ace/os_include/os_stdlib.h: Removed support for HPUX 10.20 * ace/os_include/net/os_if.h: * ace/os_include/netinet/os_tcp.h: Removed psos support * ace/os_include/sys/os_types.h: Removed ACE_LACKS_FLOATING_POINT Tue May 30 11:57:12 UTC 2006 Johnny Willemsen * ace/config-hpux-10.x-g++.h * ace/config-hpux-10.x-hpc++.h * ace/config-hpux-10.x.h Removed these files, not supported anymore * ace/OS_NS_time.inl: Removed check for ACE_CTIME_R_RETURNS_INT, it was for hpux 10.20 Tue May 30 11:57:12 UTC 2006 Johnny Willemsen * ace/config-osf1-4.0.h: Removed, contents merged to tru64 file * ace/config-tru64.h: Added osf1-4.0 file contents, be aware that tru64 support hasn't been tested for a long time. Tue May 30 11:45:12 UTC 2006 Johnny Willemsen * tests/Recursive_Mutex_Test.cpp: Fixed compile error Tue May 30 11:11:12 UTC 2006 Johnny Willemsen * ace/os_include/os_stdio.h: Removed psos support * ace/IOStream.h: Removed checks for ACE_LACKS_CHAR_STAR_RIGHT_SHIFTS, that was only set for chorus which is removed * ace/Basic_Types.h: * ace/Log_Msg.cpp: * ace/Profile_Timer.{h,cpp}: Removed checks for ACE_LACKS_FLOATING_POINT. Was only set for chorus which is now removed. * ace/OS_NS_Thread.cpp: Removed chorus support * ace/config-chorus.h: Removed. * ace/INET_Addr.cpp * ace/Lib_Find.cpp * ace/Local_Tokens.cpp * ace/Log_Record.cpp * ace/Parse_Node.cpp Removed check for ACE_HAS_BROKEN_CONDITIONAL_STRING_CASTS, is only set for psos which we don't support anymore * ace/os_include/os_signal.h: Removed check for ACE_SIGINFO_IS_SIGINFO_T, only set for psos * ace/config-psos-diab-mips.h * ace/config-psos-diab-ppc.h * ace/config-psos-diab.h * ace/config-psos-tm.h * ace/config-psosim-g++.h Removed from the repo, psos support has been removed Tue May 30 10:48:12 UTC 2006 Johnny Willemsen * ace/CDR_Stream.cpp: Use true/false, when demarshaling a string, check the result of the demarshaling of the length of the string, if that failed, just return directly instead of trying to demarshal a random lenght string * ace/Task.h: * ace/System_Time.h: Doxygen improvement * ace/ACE.cpp: * ace/SOCK_Dgram_Bcast.cpp: * ace/Sock_Connect.cpp: * ace/Process.cpp: * ace/OS_NS_unistd.cpp: * ace/Mem_Map.cpp: Removed chorus support * ace/config-fsu-pthread.h: Removed this file, this configuration isn't supported and used for ages * ace/Condition_Thread_Mutex.cpp: * ace/Recursive_Thread_Mutex.cpp: Removed fsu pthread support * ace/Process_Manager.cpp: Const improvement * ace/OS.inl: * ace/OS_NS_sys_socket.inl: * ace/OS_NS_stdlib.cpp: * ace/OS_NS_stdlib.inl: * ace/OS_NS_Thread.cpp: Removed psos support * ace/OS_NS_unistd.inl: * ace/OS_NS_stdio.{h,cpp,inl}: * ace/Handle_Set.h: * ace/OS_NS_Thread.{h,inl}: Removed psos and chorus support * ace/Thread_Manager.{h,cpp,inl}: Made terminated_ a real bool, removed chorus support, check for ACE_VXWORKS instead of VXWORKS * ace/OS_NS_sys_time.inl: Check for ACE_VXWORKS instead of VXWORKS * ace/MMAP_Memory_Pool.{h,cpp}: Removed chorus support, use bool internally and added an option to get each time an unique mmap filename * ace/config-linux-common.h: Added ACE_HAS_VOIDPTR_MMAP and removed KCC support * ace/ace_wchar.inl * ace/Default_Constants.h * ace/INET_Addr.h * ace/IPC_SAP.cpp * ace/Message_Queue.cpp * ace/Message_Queue.h * ace/Message_Queue.inl * ace/Message_Queue_T.cpp * ace/Message_Queue_T.h * ace/OS.h * ace/OS_NS_macros.h * ace/OS_NS_stdio.h * ace/OS_NS_stdio.inl * ace/OS_NS_stdlib.inl * ace/OS_NS_Thread.cpp * ace/OS_NS_Thread.h * ace/OS_NS_Thread.inl * ace/OS_NS_time.inl * ace/Recursive_Thread_Mutex.cpp * ace/Sched_Params.cpp * ace/Select_Reactor_T.cpp * ace/SOCK_Dgram_Bcast.cpp * ace/Thread_Manager.h * ace/Token.h Check for ACE_VXWORKS instead of VXWORKS Mon May 29 22:08:50 UTC 2006 Douglas C. Schmidt * ace/OS_NS_Thread.inl (recursive_mutex_lock): *Really* make the compiler happy now. Thanks Olli! Mon May 29 21:12:50 UTC 2006 Douglas C. Schmidt * ace/OS_NS_Thread.inl (recursive_mutex_lock): Added a const_cast for ACE_Time_Value * to make the compiler happy when passing the timeout parameter to ACE_OS::cond_timed_wait(). Thanks to Olli Savia for helping here. Mon May 29 20:30:44 UTC 2006 Douglas C. Schmidt * We recently added the 2100th contributor to ACE+TAO+CIAO!!! The 2000th contributor was added in August of 2005, this means that over 100 different people have contributed to the project in the past 9 months! Mon May 29 19:50:54 UTC 2006 Douglas C. Schmidt * examples/Service_Configurator/IPC-tests/server/server_test.cpp (ACE_TMAIN): Changed ACE_Reactor::instance ()->run_reactor_event_loop () to ACE_Reactor::run_event_loop () so that reconfiguration happens properly after a SIGHUP or SIGINT occurs. Thanks to Kevin Hu for motivating this. Mon May 29 18:10:50 UTC 2006 Steve Huston * tests/Signal_Test.cpp: * tests/Thread_Manager_Test.cpp: Add missing ACE_TEXT to a string. Mon May 29 18:44:05 UTC 2006 Douglas C. Schmidt * tests/Recursive_Mutex_Test.cpp: Enhanced this test to exercise the new timed feature of ACE_Recursive_Thread_Mutex. Mon May 29 18:16:31 UTC 2006 Douglas C. Schmidt * ace/Recursive_Thread_Mutex.h: Clarified that get_nesting_level() may return -1 on some platforms when ACE_HAS_RECURSIVE_MUTEXES is enabled. Mon May 29 17:45:02 UTC 2006 Douglas C. Schmidt * ace/Recursive_Thread_Mutex.inl: Moved some of the short accessor methods from the Recursive_Thread_Mutex.cpp file to here. * ace/Recursive_Thread_Mutex.h, ace/Recursive_Thread_Mutex.inl: Added support for time recursive mutexes, thanks also to Abdullah. * ace/OS_NS_Thread.h, * ace/OS_NS_Thread.inl: Added support for timed recursive mutexes. Thanks to Abdullah Sowayan for contributing this. Mon May 29 17:30:52 UTC 2006 Douglas C. Schmidt * ace/OS_NS_Thread.h: Updated the documentation to clarify why recursive mutexes can't be used for ACE_OS::mutex_lock(). Mon May 29 18:27:08 UTC 2006 Jeff Parsons * examples/DLL/test_dll.cpp: Changed instances of a C-style cast from void* to pointer-to-function to a two-step reinterpret_cast using ptrdiff_t as an intermediate. C++ forbids casting directly between pointer-to-object and pointer-to-function, and some of the newer compilers are catching it. Sat May 27 15:03:07 UTC 2006 Douglas C. Schmidt * netsvcs/servers/main.cpp (ACE_TMAIN): Removed the following code: if (ACE::debug () == 0) ACE_LOG_MSG->priority_mask (~LM_DEBUG, ACE_Log_Msg::PROCESS); since (1) it makes debugging hard and (2) it's simply wrong since it's blowing away anything that's set by the ACE_Logging_Strategy in the svc.conf file. Sat May 27 14:37:14 UTC 2006 Douglas C. Schmidt * ace/Log_Record.cpp (print): Only print out the log records if the corresponding type is enabled for logging. Sat May 27 14:35:21 UTC 2006 Douglas C. Schmidt * netsvcs/servers/main.cpp: Enable the ignore_debug_flag in the ACE_Service_Config::open() call so that we can override the default ACE_Log_Priority settings in the svc.conf file. Sat May 27 11:36:12 UTC 2006 Johnny Willemsen * performance-tests/SCTP/hist.cpp: Fixed compile error Fri May 26 22:02:48 UTC 2006 Steve Huston * examples/IPC_SAP/SPIPE_SAP/consumer_msg.cpp: * examples/IPC_SAP/SPIPE_SAP/consumer_read.cpp: * examples/IPC_SAP/SPIPE_SAP/server.cpp: Wide-char fixes; there's no wide-char variant for ACE_OS::fdetach(). * examples/IPC_SAP/TLI_SAP/CPP-client.cpp: * examples/IPC_SAP/TLI_SAP/db-client.cpp: * examples/IPC_SAP/TLI_SAP/ftp-client.cpp: * examples/Connection/non_blocking/test_tli_acceptor.cpp: * examples/Connection/non_blocking/test_tli_connector.cpp: Wide-char/narrow-char fixes. Fri May 26 21:47:56 UTC 2006 Douglas C. Schmidt * netsvcs/lib/Client_Logging_Handler.cpp, * netsvcs/lib/Server_Logging_Handler_T.cpp, * ace/Log_Msg_IPC.cpp: Removed the special case code for Windows since it seems like ACE (or Windows) now handles this properly. Fri May 26 21:20:35 UTC 2006 Douglas C. Schmidt * ace/Log_Record.cpp (operator>>): Add one when allocating the buffer. Fri May 26 13:16:48 UTC 2006 Nanbor Wang * ace/DLL_Manager.cpp: Fixed incorrect usage of ACE::debug check. Thanks to Johnny for reporting this. Fri May 26 15:04:55 UTC 2006 Jeff Parsons * ASNMP/tests/Counter_Test.cpp: * ASNMP/tests/Gauge_Test.cpp: * performance-tests/SCTP/hist.cpp: Added static_cast<>s to eliminate implicit conversion warnings. Fri May 26 12:42:12 UTC 2006 Johnny Willemsen * tests/Naming_Test.cpp: Replaced assert with if statement, resolved argument not used warning in BCB6 release builds Fri May 26 10:26:12 UTC 2006 Johnny Willemsen * tests/Bug_1890_Regression_Test.cpp: * tests/Bug_2540_Regression_Test.cpp: New tests made by Carlos O'Ryan for the given bug numbers. * tests/run_test.lst: * tests/tests.mpc: Added the new tests above Fri May 26 09:53:12 UTC 2006 Johnny Willemsen * bin/PerlACE/Run_Test.pm: Increased wait_interval_for_process_creation from 5 to 10 seconds. On the slower systems some tests failed because the startup time is longer then 5 seconds, especially if several configuration files are read and saved during startup Fri May 26 08:21:12 UTC 2006 Johnny Willemsen * bin/diff-builds.pl: Fixed typo in comment Thu May 25 04:58:44 UTC 2006 Douglas C. Schmidt * tests/Tokens_Test.cpp (run_main): Don't try to spawn the netsvcs/server/main if it's not built. Thu May 25 03:53:47 UTC 2006 J.T. Conklin * m4/config_h.m4: Removed AH_TEMPLATE for ACE_LACKS_TCP_H. This was replaced with ACE_LACKS_NETINET_TCP_H long ago. Wed May 24 22:19:43 UTC 2006 Iliyan Jeliazkov * ace/Service_Repository.{h, inl, cpp}: Changed size arguments type to size_t in ctor, open, current_size, total_size and the corresponding members. ACE_Service_Repository_Iterator::next_ now starts from 0 instead of -1 to avoid warnings about signed/unsigned comparisons. * ace/Service_Gestalt.cpp: Reverted the change "Wed May 24 14:00:43 UTC 2006 Iliyan Jeliazkov ", since now the Service_repository::instance() takes size_t argument. * performance-tests/Synch-Benchmarks/Base_Test/Synch_Benchmarks_Base_Test.mpc: * performance-tests/Synch-Benchmarks/Perf_Test/Synch_Benchmarks_Perf_Test.mpc: Fixed and error whereby the DLL's generated by this two project files did not match the name used in the svc configuration files, causing the test to crash because of missing DLL. Wed May 24 13:08:08 UTC 2006 Steve Huston * ace/Message_Queue.h: Added #include "ace/Thread_Mutex.h" on platforms that have ACE_Message_Queue_NT available; that class has a ACE_Thread_Mutex member so the include is needed to see the class. Thanks to Guy Peleg for this fix. Wed May 24 17:39:47 UTC 2006 Douglas C. Schmidt * ace/Remote_Tokens.cpp (request_reply): Added a helpful error message to make it easy to track down problems with TSS. Wed May 24 17:22:31 UTC 2006 J.T. Conklin * configure.ac: Change feature test to define ACE_LACKS_NATIVE_STRPTIME if system doesn't support strptime(), as it seems ACE doesn't follow its feature test macro naming conventions when it comes to strptime(). Changed ACE_LACKS_STRPTIME_PROTOTYPE feature test to use AC_CHECK_DECL instead of AC_EGREP_HEADER. Wed May 24 16:33:59 UTC 2006 J.T. Conklin * configure.ac: * m4/config_h.m4: Changed ACE_LACKS_STRPTIME and ACE_LACKS_STRPTIME_PROTOTYPE feature tests to use the same idiom as similar tests. This Avoids requiring an AH_TEMPLATE for each feature test macro in config_h.m4. Wed May 24 09:07:53 2006 Douglas C. Schmidt * ace/Activation_Queue.cpp, * ace/Activation_Queue.inl: Fixed the queue() "setter" method so that it doesn't leak memory. Thanks to David Chu for providing this fix. Wed May 24 14:00:43 UTC 2006 Iliyan Jeliazkov * ace/Service_Gestalt.cpp: Added a cast from size_t to int in the ctor to match the interface of ::instance() and to quiet the 64bit compilers, complaining about loss of precision in the implicit conversion. Tue May 23 19:21:55 UTC 2006 J.T. Conklin * tests/Signal_Test.cpp: Reset SIGHUP handler to SIG_DFL to support cases where SIGHUP is ignored (running under nohup(1), etc.). Tue May 23 10:55:59 2006 Douglas C. Schmidt * netsvcs/lib/Client_Logging_Handler.cpp (handle_input): * netsvcs/lib/Server_Logging_Handler_T.cpp (handle_logging_record): Cleaned up the code so that it should have no memory leaks and will also build cleanly on all the OS platforms. * ace/Log_Msg_IPC.cpp: Fix support for ACE_HAS_STREAM_PIPES. Tue May 23 13:05:03 UTC 2006 Phil Mesnier * ace/Log_Msg.cpp: Fixing a memory leak found by valgrind. * ace/Timeprobe.cpp: Added missing include - this wouldn't comple with both noinline and ACE_COMPILE_TIMEPROPE set. Mon May 22 21:13:15 UTC 2006 Iliyan Jeliazkov * bin/diff-builds.pl: Updated to allow diff between the tests failures today and on a specified date, for the clean builds (or, all the builds from the build score). Mon May 22 19:06:41 UTC 2006 Steve Huston * ace/Log_Record.cpp (operator<<, operator>>): Have to use a different CDR array method when ACE_USES_WCHAR. Mon May 22 09:04:12 UTC 2006 Johnny Willemsen * netsvcs/lib/Client_Logging_Handler.cpp: Fixed compile error on Solaris Mon May 22 04:53:29 UTC 2006 J.T. Conklin * tests/Signal_Test.cpp: The change: Sat May 20 15:10:55 UTC 2006 J.T. Conklin Was not enough to get this test working on all platforms. Revert to using ACE_Sig_Guard in worker_child(). Handle the SIGINT race condition by raising it if and only if the child was not shut down by the parent. Sun May 21 13:46:49 UTC 2006 Iliyan Jeliazkov * tests/Service_Config_Test.cpp: Fixing Windows test failures, because errno gets overriden between Service Repository::insert() and testLimits(). Most likely, it happens in ace_yyparse (), however the existing mechanism for reporting parser errors does not allow for reliably propagating the cause of the error. Removing the test for the cause of the error and simply reporting the error, if it had occured. Sat May 20 15:10:55 UTC 2006 J.T. Conklin * tests/Signal_Test.cpp: Changed synchronous tests to block signals at the top level. This had been done with a ACE_Sig_Guard, but that lead to a race condition between when the guard was release and the delivery of the SIGINT the client sends to itself. The SIGINT would then be handled by the default handler, which terminated the process before the "Ending" message was written to the log. #if'd out the ACE_DEBUG, etc. invocations from handle_signal(). These result in signal-unsafe functions being called when the handler is called asynchronously. A braver person would have just removed them entirely. Fri May 19 20:08:29 UTC 2006 Steve Huston * ace/config-sunos5.6.h: * ace/os_include/sys/os_mman.h: Moved the declaration of ::madvise() from config-sunos5.6.h to os_mman.h, to be compiled only when ACE_LACKS_MADVISE_PROTOTYPE is defined. Set ACE_LACKS_MADVISE_PROTOTYPE in config-sunos5.6.h where it used to declare madvise(). This allows autoconf-detected ACE_LACKS_MADVISE_PROTOTYPE platforms (such as Solaris 9) to compile correctly. Fri May 19 17:53:51 UTC 2006 Iliyan Jeliazkov * ace/Service_Gestalt.cpp: Fixed a defect in process_directive () which was replacing the ENOSPC errno with EINVAL. Added #ifndef ACE_NLOGGING / #endif around logging statements. * ace/Service_Repository.cpp: Minor reformating. * tests/Service_Config_DLL.cpp: Added two independent service objects, to be used in the testLimits test. See testLimits(). * tests/Service_Config_Test.cpp: Reworked the testLimits() to avoid printing the word "error", which confuses the test driver into thinking the test failed. Fri May 19 17:51:33 UTC 2006 Phil Mesnier * ace/Service_Gestalt.cpp: Elminated memory leak found by valgrind. Fri May 19 17:09:51 UTC 2006 Jeff Parsons * tests/Service_Config_Test.cpp: Fixed a warning due to assignment of a string literal to a non-const variable. Thu May 18 17:42:09 UTC 2006 Iliyan Jeliazkov * bin/diff-builds.pl: Contributing a little tool to find the difference in the failing tests between two dates, on the same build. Or between two builds, on a particular date. Thanks to Johnny Willemsen for mining and hosting the data used by this script. Thu May 18 17:33:57 UTC 2006 J.T. Conklin * configure.ac: * m4/config_h.m4: Changed feature test for socklen_t to #include before . Use cannonical AC_CHECK_TYPE and AC_DEFINE with a third argument instead of a AH_TEMPLATE for ACE_HAS_SOCKLEN_T. Fixes configuration on OpenBSD. Thanks to Vladimir Panov for reporting this bug. Thu May 18 16:37:46 UTC 2006 Steve Huston * configure.ac: Set a ACE_VERSION_NAME variable with the version string (canonical major.minor.beta), which may include a fix kit id. * bin/MakeProjectCreator/config/acedefaults.mpb: Change am_version from libtool's -version-info format (current:revision:age) to the ACE release number format (major.minor.beta) and rename it am_release. This is intended for use with the libtool's -release option and will result in library names that correspond to the ACE kit number. The -version-info option uses interface numbers meant to indicate a series of public API numbers. However, with ACE, things change pretty often. Rather than try to come up with a way of managing interface numbers, just use the release numbering that users know and are used to. Thu May 18 15:15:16 UTC 2006 Iliyan Jeliazkov * bin/tao_orb_tests.lst: Removed Limits from the list of ORB tests because it is now part of ACE. * tests/Service_Config_Test.cpp: Added functionality to test gestalt size limits. Thu May 18 15:21:33 UTC 2006 Steve Huston * NEWS: * ace/Task.{h inl cpp}: Reverted the changes from: Fri Apr 14 15:53:21 UTC 2006 Steve Huston Tasks that delete themselves from within close() would invalidate the lock that ACE_Task held across the close() call and perform undefined and illegal actions on the deleted lock upon return. Bugzilla #2339 remains unresolved. Wed May 17 20:31:11 UTC 2006 Roopa Pundaleeka * ace/DLL_Manager.cpp: * ace/DLL_Manager.h: The dll handle is added to the to the handle_vector_ only after the library is opened successfully. This way, the vector does not have redundant handles. * ace/Object_Manager.cpp: ACE_DLL_Manager::close_singleton is called explicitly from the ACE_Object_Manager to make sure ACE_DLL_Manager gets cleaned up, even if there was an error while opening a lib file. Thanks to Timo Kuosmanen for reporting this. Wed May 17 14:07:33 2006 Douglas C. Schmidt * netsvcs/lib/Server_Logging_Handler_T.cpp: Improved the code so that it should compile and run properly on Windows. Thanks to Phil Mesnier for reporting this. Wed May 17 19:07:43 UTC 2006 Steve Huston * ace/Dynamic_Service_Dependency.h: Doxygen correction; use @c to set a word in "typewriter" font, but for known class names, there's no need to do this. Wed May 17 17:56:49 UTC 2006 William R. Otte * examples/C++NPv1/Logging_Client.cpp * examples/C++NPv1/Logging_Handler.cpp * examples/C++NPv2/Logging_Handler.cpp Removed now-redundant CDR insertion/extration operators now defined in ace/Log_Record.{h,cpp} Wed May 17 09:35:12 UTC 2006 Johnny Willemsen * ace/os_include/sys/os_ipc.h: * ace/os_include/sys/os_socket.h: * ace/os_include/sys/os_stat.h: * ace/os_include/sys/os_types.h: Removed psos support * ace/os_include/sys/os_mman.h: Removed madvice prototype and ACE_LACKS_MADVISE_PROTOTYPE, it is not set in any config file Wed May 17 02:23:31 UTC 2006 Phil Mesnier * ace/Log_Msg_IPC.cpp: Fix typo exposed on systems with ACE_HAS_STREAM_PIPES defined. I'll leave it to Will & Doug to do whatever the TO DO said to do. Tue May 16 22:23:55 UTC 2006 William R. Otte * ace/Log_Msg_IPC.cpp * ace/Log_Record.cpp * ace/Log_Record.h * ace/Log_Record.inl * netsvcs/lib/Client_Logging_Handler.cpp * netsvcs/lib/Server_Logging_Handler_T.cpp Fixed some problems that stemmed from changing ACE_Log_Msg msg_data_ from a fixed-size array to a dynamically-sized array. Thanks to Keith Muzzioli , John Black , and Mitsuo Fukasawa for reporting this and to Doug Schmidt for helping to fix it! Tue May 16 13:20:12 UTC 2006 Johnny Willemsen * ace/OS_NS_sys_time.inl: * ace/OS_NS_time.{h,cpp,inl}: Removed chorus and psos support * ace/OS_Thread_Adapter.cpp: Removed psos support Tue May 16 13:09:12 UTC 2006 Johnny Willemsen * ace/OS_NS_sys_wait.{h,inl}: Remove chorus support * ace/OS_NS_stropts.inl: * ace/OS_NS_sys_stat.inl: * ace/OS_NS_string.inl: Removed psos support Tue May 16 13:02:12 UTC 2006 Johnny Willemsen * ace/Log_Msg.cpp: * ace/OS_NS_arpa_inet.{h,cpp,inl}: * ace/OS_NS_dirent.inl: Removed psos support * ace/INET_Addr.cpp: * ace/config-macros.h: Removed chorus support * ace/Unbounded_Queue.h: Removed remark about chorus * ace/config-cray.h: Removed explicit template instantiation define, we don't have that anymore * ace/config-hpux-11.00.h: * ace/config-sunos5.7.h: * ace/config-rtems.h: * ace/config-osf1-4.0.h: Removed kcc support Mon May 15 11:30:14 UTC 2006 Phil Mesnier * bin/tao_other_tests.lst: Added more tests that can't run in ACE_FOR_TAO configations due to dependency on something that avoids ACE_FOR_TAO. Mon May 15 01:15:45 UTC 2006 Phil Mesnier * bin/tao_orb_tests.lst: * bin/tao_other_tests.lst: Added !ACE_FOR_TAO to those tests for which MPC skips generating executables because it directly or indirectly avoids ACE_FOR_TAO. Indirect avoidance occurs when a project derives from a base project that avoids ACE_FOR_TAO. Thu May 11 12:37:12 UTC 2006 Johnny Willemsen * ace/Message_Block.h: Doxygen improvements Thu May 11 11:15:12 UTC 2006 Johnny Willemsen * ace/Dev_Poll_Reactor.cpp: Removed chorus support Thu May 11 07:19:12 UTC 2006 Kees van Marle * bin/tao_orb_tests.lst: Added Bug_1254_Regression Wed May 10 14:10:02 UTC 2006 Steve Huston * ace/config-win32-msvc-7.h: MSVC 7.1 operator new throws an exception on an out-of-memory condition, but only when the standard C++ library is used; the older CRT new() doesn't. Tue May 9 11:38:30 UTC 2006 Johnny Willemsen * bin/MakeProjectCreator/config/orbsvcslib.mpb: Add -GT to the idlflags, all orbsvcs then do generate the TIE files, if people then use them, they get them out of the box. Tue May 9 07:36:30 UTC 2006 Johnny Willemsen * bin/MakeProjectCreator/config/taoidldefaults.mpb: Removed -Sc, added -GT, see bugzilla bug 2525 for more info Tue May 9 07:25:30 UTC 2006 Johnny Willemsen * ace/Condition_T.{h,cpp,inl}: * ace/Local_Name_Space_T.cpp: * ace/Configuration.cpp: * ace/Sched_Params.cpp: * ace/Mutex.{h,cpp,inl}: * ace/Select_Reactor_T.cpp: * ace/Signal.cpp: Removed Chorus support * ace/CDR_Stream.cpp: Small layout change * ace/Event_Handler.cpp: Removed psos support * ace/Message_Block.h: Doxygen improvements * ace/Message_Block.cpp: Const improvement Sun May 7 21:03:30 UTC 2006 Iliyan Jeliazkov * ace/Service_Config.{h,cpp}: Weeding out the remaining issues with single threaded builds. The implementation now relies on the ACE_TSS_* macros to abstract from the differences among build styles and platform support for TSS. * ace/Service_Gestalt.{h,cpp}: Eliminated commented out code. Minor reformatting in places. * ace/TSS_T.{h,inl,cpp}: Added some comments to help others avoid a few pitfalls. Made ts_init() a non-const, which eliminates a few const_cast's. Sun May 7 07:02:51 UTC 2006 Iliyan Jeliazkov * ace/Service_Config.h: * ace/Service_Config.cpp: Refactored the TSS usage (again) to fix a nasty order-of-initialization problem. The gist of which is that, if the ptr (to a template class instance) is a static member, in static builds, it will be initialized by the process prologue code *after* another static initializer has had the chance to use and assign it a value. The solution was to use a method scope static instance, which C++ guarantees to be initialized by the (first) exit from that method. * ace/Service_Gestalt.h: * ace/Service_Gestalt.cpp: Refactored the construction to avoid using straight new in constructor initializer lists. Replaced new with ACE_NEW_* where appropriate. Sat May 6 18:08:13 UTC 2006 J.T. Conklin * configure.ac: Add feature tests for ACE_LACKS_ASCTIME, ACE_LACKS_ACSTIME_R, ACE_LACKS_GETCWD, ACE_LACKS_GMTIME, ACE_LACKS_GMTIME_R, ACE_LACKS_LOCALTIME, and ACE_LACKS_STRFTIME. Sat May 6 09:52:06 2006 Douglas C. Schmidt * examples/DLL/test_dll.cpp: Renamed the DLLs and removed the "./" from the pathname. Thanks to Sam and Roopa for reporting this and tracking it down, respectively. Sat May 6 10:23:13 UTC 2006 Steve Huston * include/makeinclude/platform_sunos5_sunc++.GNU: Add -lrt -laio to the LIBS. The Proactor framework needs this; I'm not sure why it never showed up until static builds were run. Tue Apr 25 10:22:16 2006 Douglas C. Schmidt * ace/OS_NS_string.cpp (strerror): Do a sanity check to make sure errnum >= 0 and < _sys_nerr and set errno to EINVAL if things are not sane. Thanks to Aleksandar Vukajlovic for this fix. Fri May 5 19:37:12 UTC 2006 Johnny Willemsen * ace/Default_Constants.h: Added a compile time check that ACE_DEFAULT_CDR_BUFSIZE must be defined to a value bigger then 0, it is 0 we get in a never ending loop in the CDR code Fri May 5 17:01:32 UTC 2006 Steve Huston * examples/Service_Configurator/IPC-tests/client/local_spipe_client_test.cpp: * examples/Service_Configurator/IPC-tests/client/remote_thr_stream_client_test.cpp: * examples/Service_Configurator/IPC-tests/server/Handle_L_SPIPE.{cpp i h}: Wide-char corrections. Fri May 5 13:11:12 UTC 2006 Johnny Willemsen * ace/FIFO.cpp: * ace/os_include/os_stddef.h: Removed psos support * ace/config-WinCE.h: * ace/os_include/os_stddef.h: Moved setting of ACE_LACKS_STDDEF_H and ACE_LACKS_PTRDIFF_T to the WinCE file Fri May 5 13:08:12 UTC 2006 Johnny Willemsen * include/makeinclude/platform_openvms.GNU: Changed the way templates are handled Fri May 5 11:42:12 UTC 2006 Johnny Willemsen * ace/Reactor_Token_T.h: Removed workaround for vc6 Fri May 5 08:38:12 UTC 2006 Johnny Willemsen * ace/MMAP_Memory_Pool.{h,cpp}: Made guess_on_fault_ a real bool Fri May 5 08:09:12 UTC 2006 Johnny Willemsen * ace/os_include/os_dirent.h: * ace/os_include/os_errno.h: * ace/os_include/os_netdb.h: * ace/os_include/os_stdint.h: * ace/os_include/os_time.h: * ace/os_include/os_string.h: * ace/os_include/os_stdlib.h: Removed psos support * ace/os_include/os_dlfcn.h: * ace/os_include/os_signal.h: Removed psos and kcc support * ace/os_include/os_pthread.h: Removed chorus support * ace/os_include/os_unistd.h: Removed chorus and psos support Fri May 5 07:59:12 UTC 2006 Johnny Willemsen * ace/OS_NS_sys_utsname.cpp: * ace/OS.h Removed psos and chorus support * ace/OS_NS_fcntl.cpp: * ace/Lib_Find.cpp: * ace/OS_NS_netdb.inl: Removed psos support * ace/Mem_Map.cpp: Removed chorus support * ace/IOStream.h: Removed checks for KCC compiler Fri May 5 07:42:12 UTC 2006 Johnny Willemsen * ace/Base_Thread_Adapter.h: * ace/SPIPE_Connector.cpp: * ace/SOCK_Dgram.cpp: * ace/Select_Reactor_T.cpp: * ace/Handle_Set.cpp: Removed code for psos, support for this platform will be removed * ace/CDR_Base.h: Removed check for KCC compiler * ace/Malloc_Allocator.h: Doxygen improvement Thu May 4 22:11:06 UTC 2006 Steve Huston * ace/Message_Block.h: Made ACE_Data_Block::release_i() virtual. Thanks to Gary Fernandez for this change. Thu May 4 21:07:10 UTC 2006 Steve Huston * ace/SPIPE_Acceptor.cpp (create_new_instance, close): Have to use ACE_TEXT_ALWAYS_CHAR to pass pipe name on wide-char w/ ACE_HAS_STREAM_PIPES. Thanks to Gary Fernandez for this fix and to Yasser Zabuair for also reporting it. This fixes bugid 2541. * THANKS: Added Gary and Yasser to the Hall of Fame. Thu May 4 08:50:12 UTC 2006 Johnny Willemsen Reverted the change below, broke the sendfile test and Steve Huston changed things in such a way that sendfile is only used on Solaris 9 and newer Tue May 2 09:34:54 Pacific Daylight Time 2006 * ace/OS_NS_sys_sendfile.inl (sendfile): Removed "::" global scope qualifier from platform sendfile() call. It caused problem on Solaris 8. Thanks to Simon Massey and Johnny Willemsen for analyzing the problem and suggesting this fix. Thu May 4 08:36:12 UTC 2006 Johnny Willemsen * ace/ace_for_tao.mpc: Added OS_NS_sys_sendfile Thu May 4 00:43:32 UTC 2006 J.T. Conklin * ace/Makefile.am: Add Dynamic_Service_Dependency.{cpp,h} to appropriate lists. Wed May 3 16:02:10 UTC 2006 Iliyan Jeliazkov * ace/Service_Config.h: * ace/Service_Config.cpp: Fixed a problem due to an attempt to access current_ before it has been initialized (a static ACE_TSS instance). The current_ is now just a pointer to an ACE_TSS instance, which gets dynamicaly allocated upon invoking the current() method. The deallocation of that instance is left up to the Object Manager with which the dynamic ACE_TSS instance is registered. * ace/TSS_T.h: Added a ACE_TSS_SET () to complete the set of TSS access operations, which should work regardless of threading, TSS emulation and TSS availability. Wed May 3 11:52:12 UTC 2006 Johnny Willemsen * ace/Mem_Map.inl: Small const improvements Wed May 3 10:39:12 UTC 2006 Johnny Willemsen * ace/Mem_Map.{h,cpp,inl}: Made close_handle_ a bool Wed May 3 08:56:12 UTC 2006 Johnny Willemsen * ace/config-macros.h: Removed support for KCC Wed May 3 08:14:12 UTC 2006 Johnny Willemsen * ace/OS_NS_sys_sendfile.h: Export sendfile_emulation to resolve link problems in the windows builds Wed May 3 03:36:23 UTC 2006 Phil Mesnier * ace/Svc_Conf_y.cpp: Moved the ACE_BEGIN_VERSIONED_NAMESPACE_DECL macro to include ace_yyparse. Tue May 2 09:34:54 Pacific Daylight Time 2006 * ace/OS_NS_sys_sendfile.inl (sendfile): Removed "::" global scope qualifier from platform sendfile() call. It caused problem on Solaris 8. Thanks to Simon Massey and Johnny Willemsen for analyzing the problem and suggesting this fix. Tue May 2 10:34:12 UTC 2006 Johnny Willemsen * ace/config-WinCE.h: Added ACE_LACKS_GETCWD, ACE_LACKS_ASCTIME, ACE_LACKS_ASCTIME_R, ACE_LACKS_GMTIME, ACE_LACKS_GMTIME_R, ACE_LACKS_LOCALTIME and ACE_LACKS_STRFTIME. These macros are new and will be used soon in the ACE_OS layer. Mon May 1 19:49:45 UTC 2006 Steve Huston * ace/ARGV.{h i cpp}: Filled out more of the documentation in this class, specifically mentioning that the class will enforce the "whitespace separates tokens, except when quoted" rule of command line parsing that's consistent with ACE_Get_Opt, etc. Also removed documentation of non-existant restrictions such as after using add(), can't use buf(). Removed the State enum since the only value ever used was ITERATIVE, and changed "int state_" to "bool iterative_" (and removed the state() accessor). Changed substitute_env_args_ from int to bool. * ace/OS_NS_unistd.{h cpp} (argv_to_string, string_to_argv): Changed the substitute_env_args parameter from "int" to "bool" to better reflect what it is, a yes/no indicator. Mon May 1 06:53:12 UTC 2006 Johnny Willemsen * include/makeinclude/platform_sunos5_g++.GNU: * include/makeinclude/platform_sunos5_sunc++.GNU: Also for solaris 10 link the sendfile lib Sun Apr 30 04:21:37 UTC 2006 Phil Mesnier * ace/Svc_Conf_y.cpp: What I meant to commit last time. Sun Apr 30 02:21:16 UTC 2006 Phil Mesnier * ace/Svc_Conf_y.cpp: Eliminating more warnings from the scoreboard. I'm not sure the best way to add this patch to ace/svcconf.mpb, since it affects more than just gnuace targets. The easiest would be to store the diff between this commit and the previous version and run patch, but I'm not sure how to integrate that solution. Sat Apr 29 13:58:28 UTC 2006 Iliyan Jeliazkov * ace/Service_Gestalt.cpp: More fuzz cleanup. Sat Apr 29 13:17:24 UTC 2006 Phil Mesnier * ace/ACE.cpp: Fuzz cleanup. * THANKS: Added credits. Fri Apr 28 22:31:52 UTC 2006 Iliyan Jeliazkov * ace/Service_Gestalt.cpp: Removed an ';' after ACE_TRACE, which was confusing GCC4 with "hidden visibility" enabled. Fri Apr 28 21:22:53 UTC 2006 Iliyan Jeliazkov * ace/Service_Config.cpp: * ace/Service_Gestalt.cpp: More re-formatting to weed out those pesky tabs. Fri Apr 28 20:57:19 UTC 2006 Steve Huston * ace/config-sunos5.8.h: * ace/config-sunos5.9.h: Moved ACE_HAS_SENDFILE from Solaris 8 to Solaris 9. Solaris 8 supports sendfilev[64] but not sendfile, at least not without some patches I don't know about. Fri Apr 28 20:13:41 UTC 2006 Steve Huston * include/makeinclude/platform_sunos5_g++.GNU: * include/makeinclude/platform_sunos5_sunc++.GNU: Solaris 9 puts sendfile() is a separate library, so LIBS needs -lsendfile on Solaris 9. Fri Apr 28 18:03:11 UTC 2006 Iliyan Jeliazkov * ace/ACE.cpp: * ace/DLL.cpp: * ace/DLL_Manager.cpp: * ace/Dynamic_Service_Base.cpp: * ace/Dynamic_Service_Dependency.cpp: * ace/Parse_Node.cpp: * ace/Service_Config.inl: * ace/Service_Config.cpp: * ace/Service_Gestalt.cpp: * ace/Service_Object.cpp: * ace/Service_Repository.cpp: * ace/Service_Types.cpp: * ace/Shared_Object.cpp: Applied formatting style consistent with ACE convention. Fri Apr 28 15:48:25 UTC 2006 Steve Huston * ace/Service_Config.cpp (open_i): ACE_DEFAULT_SVC_CONF shouldn't be enclosed in ACE_LIB_TEXT since it's defined in terms of ACE_LIB_TEXT already. Fri Apr 28 15:49:21 UTC 2006 Phil Mesnier * ace/Makefile.am: Added new Service_Gestalt files to the appropriate lists. Fri Apr 28 15:42:59 UTC 2006 Phil Mesnier * ace/Service_Config.cpp: Fixed a problem killing some wchar builds. * ace/Service_Gestalt.h: Cleaned up the long-lines of the UNIMPLEMENTED functions. Fri Apr 28 15:26:53 UTC 2006 Steve Huston * ace/Timer_Queue_Adapters.h: Clarified the use and restrictions with ACE_Async_Timer_Queue_Adapter. Fri Apr 28 15:22:35 UTC 2006 Steve Huston * apps/JAWS2/JAWS/Concurrency.cpp: Removed unused variables. Fri Apr 28 14:54:04 UTC 2006 Steve Huston * ace/config-macros.h: HP aC++ needs to see the statement in ACE_NOTREACHED up to the version 6 series (Integrity). Also see Tue Apr 11 13:12:36 UTC 2006 Simon McQueen Fri Apr 28 14:31:48 UTC 2006 Steve Huston * ace/Service_Gestalt.h: Removed extraneous ';' from ACE_UNIMPLEMENTED_FUNC usage. * m4/ace.m4: Fixed incorrect variable referenced in case during --enable-uses-wchar. Thanks to Paul Robinson for reporting this. Fri Apr 28 14:03:50 UTC 2006 Iliyan Jeliazkov * ace/Dynamic_Service.h: * ace/Parse_Node.h: Fixed the usage of ACE_UNIMPLEMENTED_FUNC to remove the trailing semicolon. It was causing build errors on compilers that define the macro as empty. Fri Apr 28 13:55:01 UTC 2006 Iliyan Jeliazkov * ace/Service_Gestalt.h: Fixed the usage of ACE_UNIMPLEMENTED_FUNC to remove the trailing semicolon. It was causing build errors on compilers that define the macro as empty. Fri Apr 28 13:29:08 UTC 2006 Iliyan Jeliazkov * bin/tao_orb_tests.lst: Updated the conditions for running the ORB-specific service repository tests. Fri Apr 28 13:23:57 UTC 2006 Iliyan Jeliazkov * ace/Service_Config.h: Updated the declaration of current_ to match the definition in its use of ACE_TSS_TYPE macro, as they are not equivalent for a single-threaded builds. Fri Apr 28 13:21:12 UTC 2006 Johnny Willemsen * tests/Process_Mutex_Test.cpp: When spawn fails log an error and exit instead of using an assert which causes an abort of the exe Fri Apr 28 13:15:12 UTC 2006 Johnny Willemsen * tests/Pipe_Test.cpp: When spawn fails log an error and exit instead of using an assert which causes an abort of the exe Fri Apr 28 12:49:12 UTC 2006 Johnny Willemsen * ace/config-openvms.h: Added __SIGNED_INT_TIME_T so that we get a signed time_t that matches the POSIX spec that ACE expects. Fri Apr 28 12:23:12 UTC 2006 Johnny Willemsen * ace/config-openvms.h: Removed comments, macros are documented in generally, added ACE_LACKS_PERFECT_MULTICAST_FILTERING Fri Apr 28 11:11:12 UTC 2006 Johnny Willemsen * bin/PerlACE/Process_VMS.pm: New file to be able to run the tests automatically on OpenVMS * bin/PerlACE/Process.pm: When running on OpenVMS use Process_VMS * ace/config-openvms.h: Added ACE_HAS_SIGISMEMBER_BUG * tests/run_test.pl: If ACE_ROOT is not set, add ../bin to lib Fri Apr 28 09:23:12 UTC 2006 Johnny Willemsen * tests/Process_Manager_Test.cpp: Also create a logfile for each child process started Fri Apr 28 08:06:12 UTC 2006 Johnny Willemsen * tests/run_test.lst: Added Sendfile_Test Fri Apr 28 08:04:12 UTC 2006 Johnny Willemsen * tests/Sendfile_Test.cpp: Added missing include Thu Apr 27 21:04:08 UTC 2006 Steve Huston * ace/OS_Memory.h: Allow configs to set ACE_bad_alloc to avoid extending the if-elif chain here further. * ace/config-win32-msvc.h: Regardless of MSVC version, MFC changes operator new to throw CMemoryException on out-of-memory condition. Version-specific settings still control the setting of ACE_HAS_NEW_NOTHROW. Thanks to Mohit Kapoor for this fix. * ace/Select_Reactor_T.cpp (handle_error): HACK ALERT! Some Linux kernels will return from select() with an "invalid" errno value, ERESTARTNOHAND, when compiled with profiling enabled. This works around the problem. This is a known kernel bug; see Red Hat Bugzilla https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=161468 and https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=123648 as well as Riverace support issue #167 and Riverace's complaint to Red Hat, support issue #17841808. * THANKS: Added Mohit Kapoor to the Hall of Fame. Thu Apr 27 20:14:52 UTC 2006 Iliyan Jeliazkov * ace/Service_Gestalt.cpp: Fixed a complaint from a ACE_NDEBUG builds about unrefrenced variable (only used in ACE_ASSERT). Thu Apr 27 18:33:18 UTC 2006 Johnny Willemsen * tests/Aio_Platform_Test.cpp: When AIO is not available, just print an info message and exit * tests/run_test.lst: Added Aio_Platform_Test, it was not in this file at all Thu Apr 27 18:21:17 UTC 2006 Steve Huston * ace/config-aix-5.x.h: Added ACE_HAS_SIGSUSPEND. Thu Apr 27 14:57:10 UTC 2006 Iliyan Jeliazkov * ace/Svc_Conf.y: * ace/Svc_Conf_Tokens.h: * ace/Svc_Conf_y.cpp: Fixed fuzz complaint about #include inside a versioned namespace in Svc_Conf_y.cpp. It was due to a code that Bison generates a part of the parser, from Svc_Conf.y. Changed the versioned namespace to encloses the non-generated code only, while the rest of the parser seems to be designed so that multiple parses can coexist without name clashes. Thu Apr 27 14:29:07 UTC 2006 Iliyan Jeliazkov * ace/Dynamic_Service_Dependency.h: * ace/Dynamic_Service_Dependency.cpp: Updated to remove an empty inl file. * ace/Dynamic_Service_Dependency.inl: Removed this file. Thu Apr 27 14:00:18 UTC 2006 Johnny Willemsen * ace/Sock_Connect.cpp: Implemented get_ip_interfaces for OpenVMS Thu Apr 27 11:19:18 UTC 2006 Johnny Willemsen * ace/Array_Map.h: * ace/ATM_Addr.h: * ace/Atomic_Op_T.h: * ace/Base_Thread_Adapter.h: * ace/Cached_Connect_Strategy_T.h: * ace/Capabilities.h: * ace/Default_Constants.h: * ace/Hash_Map_Manager_T.h: * ace/Log_Msg_Callback.h: * ace/Log_Msg_IPC.h: * ace/Map_Manager.h: * ace/POSIX_Asynch_IO.h: * ace/POSIX_Proactor.h: * ace/RB_Tree.h: * ace/Strategies_T.h: * ace/Timer_Heap_T.h: * ace/Timer_List_T.h: * ace/Timer_Queue_Adapters.h: * ace/Timer_Queue_T.h: * ace/Timer_Wheel_T.h: Fixed doxygen warnings Thu Apr 27 01:49:18 UTC 2006 Ossama Othman * ace/OS_NS_sys_sendfile.h (sendfile, sendfile_emulation): * ace/OS_NS_sys_sendfile.cpp (sendfile_emulation): ACE_LOFF_T -> off_t. Expected ACE_LOFF_T behavior is still under scrutiny. * ace/OS_NS_sys_sendfile.inl: Added missing include directive. Addresses infinite recursion at run-time when ACE_HAS_SENDFILE is defined. (sendfile): ACE_LOFF_T -> off_t, as above. Wed Apr 26 22:00:21 UTC 2006 Iliyan Jeliazkov * ace/Parse_Node.h: * ace/Service_Gestalt.h: Correcting a build problem, caused by the extraneous semicolons after ACE_UNIMPLEMENTED_FUNC Wed Apr 26 20:21:49 UTC 2006 Iliyan Jeliazkov The motivation for these changes was to enable support in ACE for multiple instances of Service Configuration Repository, or more appropriately - "Gestalt" (from the German word, meaning something that's more than the sum of its parts). This is feature is necessary to enable support for ORB-specific, or more generally - service-specific sets of services, i.e. to be able to have dynamically loaded services to use their own private set of service objects. In the context of the implementation I will use "gestalt" as a synonym for service configuration context or service configuration repository. In order to accomplish this, the "instance"-related functionality of the former ACE_Service_Config class has been moved to another class - ACE_Service_Gestalt. The ACE_Service_Config retains all static interfaces and those members, pertaining to the concept of process-wide configuration state. The service config, as known today has been retained as a concept, but in its specialized semantics as holding a process-wide configuration state. The primary concept expressing an instance of configuration context is the gestalt. The implementation actually uses a specialization of ACE_Service_Gestalt in order to implement ACE_Service_Config as a singleton, special case of configuration context. The static methods in ACE_Service_Config provide access to process-wide gestalt (ubergestalt, anyone?) instance. For more details, here is the history of all included changes, with their motivation and explanation. It is ordered alphabetically, by the names of the changed files: * ace/ACE.cpp: Added to the condition evaluating ACE::debug() to include a check if environmental variable ACE_DEBUG has been set. Updated the debug() function to call getenv() only once by using a method-local static variable to hold the value from the environment. * ace/DLL.h: * ace/DLL.cpp: Implemented an operator=, needed in order to implement the ACE_Service_Configuration_Guard class. * ace/DLL_Manager.cpp: Improved the error diagnostics so that a "file not found" would not mask a "symbol not defined" error when loading a DLL. * ace/Dynamic_Service.h: "Privatized" copy ctor and operator= for ACE_Dynamic_Service objects since it is not designed for such operations. * ace/Dynamic_Service.inl: Added overloaded method instance() for ACE_ANTI_TCHAR. * ace/Dynamic_Service.cpp: Changes to enable instantiation of a service, based on the registration in a particular service repository. Adding a method that takes ACE_Service_Gestalt* additional parameter. * ace/Dynamic_Service_Base.h: * ace/Dynamic_Service_Base.cpp: Factored out a find_i() method to be used by the friend ACE_Dynamic_Service_Dependency class. It implements the specific lookup policy that extends the search to the global repository if the named service object can not be found locally. Added instance method, allowing the caller to explicitly specify the gestalt. * ace/Dynamic_Service_Dependency.h: * ace/Dynamic_Service_Dependency.inl: * ace/Dynamic_Service_Dependency.cpp: A newly introduced class, whose instances are designed to be embedded inside instances of other classes, typically created by DLL-based factories (service objects). This provides a way to declare dependency on a specific service, thus avoiding order of initialization issues with objects whose implementation code resides in dynamically loaded services. It is disastrous to have dynamically loadable services create and give away ownership of objects and then be unloaded before all those instances have been deleted. Normally the code for such objects classes resides within the TEXT segment of the DLL, which implements the service. If a service gets removed, its DLL may be unmapped from memory and then any attempt to invoke a method on the said objects will cause SEGV. Such instances must contain a member of ACE_Dynamic_Service_Dependency initialized with the service they depend on. @code ACE_Dynamic_Service_Dependency's constructor and destructor are "magical" - they work by maintaining the underlying dynamic service's DLL reference count. The problem was not present before because the one Service Repository outlived any other user objects. Now that an un-loadable service can own its configuration, the sequence of service finalization has been reversed. Updated the implementation of ACE_Dynamic_Service_Dependency class to ease debugging. ACE_Dynamic_Service_Dependency gets initialized whenever a dependent service gets loaded, to help us keep our access to dependent instances after their DLL is gone (by upping the ref count on the DLL). Updated usage of gestalt's instance() to current(). Removed unnecessary comments. * ace/Global_Macros.h: Changed the ACE_STATIC_SVC_DEFINE to use the new ACE_Service_Config::insert () method, which allows to streamline the Service Configuration interface and promote hiding the storage used for the static service descriptors. * ace/Parse_Node.h: * ace/Parse_Node.cpp: Changes to aid in keeping track of the gestalt, while deep in the guts of the svc.conf parser. Replaced the ACE_Service_Gestalt & in the method signatures with ACE_Service_Gestalt * to unify the interfaces. Updated the static function node's logic to use only ACE_Service_Gestalt public members and to no longer rely on knowledge about the internal storage representation of service repository. Removed a static_cast<> in ACE_Static_Function_Node::symbol() that was causing problems on some platforms. It was not even necessary as both sides were of the same type. * ace/Service_Config.{h,inl,cpp}: This separates the responsibilities between the service gestalt, which represents an _instance_ of configuration information, and the service config, which represents a special, process-wide, global configuration repository. Since both these entities represent the same concept - service configuration state, but from different aspects, the ACE_Service_Config now inherits (publicly) from ACE_Service_Gestalt. Lots of instance-related code moved to ACE_Service_Gestalt Replaced the use of char with ACE_ANTI_TCHAR and the appropriate ACE_TEXT_* macros. Moved the parsing of command-line options, pertaining to the process as a whole, here - in the parse_args_i () (protected, virtual). In order to resolve a problem caused by the inability of a dependent static service to determine which gestalt they need to register with, the concept of "current" was separated from the "global" gestalt. The current gestalt is pointed to by a pointer, stored in thread-specific storage (TSS) and manipulated by the ACE_Service_Config_Guard class that implements the "resource acquisition is initialization" idiom. Fixed an error in the separation of responsibilities between the instance gestalt and the global (ubergestalt), during initialization. The bug can cause infinite recursion, when initializing an ORB, housed in a dynamic service. The singleton gestalt (i.e. ACE_Service_Config) must be initialized through open_i(), before open_i() can proceed initializing the specific gestalt instance. The difficulty is in that some use cases reverse the order of initialization by calling ACE_Service_Config::open () first and then, at some point call the instance gestalt open_i(). The solution is to use the is_initialized_ member together with an explicit call to ACE_Service_Config::global()->open_i(). To ease debugging of the process of registering static service, I have changes the ACE_Service_Config::static_svcs() to return ACE_Service_Gestalt::instance (), instead. Thus all the ACE_STATIC_SVC* macros are still working (no need to change existing code), but now there is a convenient place to debug - see the newly added ACE_Service_Gestalt::insert () method. The header file no longer declares ACE_STATIC_SVCS, ACE_STATIC_SVCS_ITERATOR, ACE_SVC_QUEUE and ACE_SVC_QUEUE_ITERATOR. Those are now protected typedefs in ACE_Service_Gestalt, where they are actually used. Added new insert () method to use instead of the sequence static_svc ()->insert () which unnecessary exposes the internal storage structure of Service Configurator. Made no_static_svcs_ an instance member, instead of a class (static) member, thus providing for ability to set it per instance, not globally. Added default values for open_i() and declared private copy ctor and assignment operator for ACE_Service_Config_Guard, since it is not intended to be copied. Similarly, moved the parts of the open_i() functionality that did not belong in every instance of the gestalt. ACE_Service_Config is again a process-wide Singleton,registered with ACE_Object_Manager. Eliminated old #if 0-ed code in Service_Config.cpp. * ace/Service_Gestalt.h: * ace/Service_Gestalt.inl: * ace/Service_Gestalt.cpp: Encapsulates the idea of Service Configuration repository, or configuration context. Changed open_i to be able to detect if it is working on the special, process-wide instance (ubergestalt) or a "plain" gestalt instance, since there are things that must only be done once per process - like signal handler, logging key and daemon-ization of the whole process. Added an ignore_static_svcs parameter to ACE_Service_Gestalt::open_i in order to preserve the prior behavior of the singleton ACE_Service_Gestalt instance. Even though its no_static_svcs_ member was being initialized with 1, some clients (TAO) needs to be able to override it. Since now a call to open_i on an instance gestalt may precede in time the call to open_i on the ubergestalt, we need a mechanism to allow the no_static_svcs_ value to be overridden. Added the insert()'s implementation (described above). Added a singleton() method to return the process-wide gestalt singleton (or ubergestalt?:). Used in open_i() to account for the fact that now a Service Gestalt may be called to open () prior to open () on the singleton instance, which would typically contain the bulk of the static service object descriptors. There was a problem with "hybrid" service objects, i.e. dynamic SO which contains static SO (dependent services). The dependent services are typically registered via static ctor or static initializer at the point of loading of the dynamic SO's DLL. As such, they end up registering before the dynamic SO. Upon finalization of the service repository, the dynamic SO is finalized first, thus unloading its DLL and unmapping the TEXT segment, where the dependent static services code is. When next, the static SO is to be finalized its memory is no longer at valid address. The change ensures the dynamic service is registered *before* its dependent static services and will therefore be finalized last. The solution is based upon the concept of forward declaring a dynamic service, named after the configuration file being processed. Before processing a file, we simply check for an existing service with the same name and "pass" if we find one. Fixed the ACE_Service_Config_Guard's detection of the case where the forward service declaration was not replaced by a proper declaration as expected. It now properly removes the forward decl, not the "good" instance. Cleared up the TSS management issue, causing executable to crash on startup. The problem was due to an order-of-instantiation issue, involving the TSS-based pointer to the current gestalt. Used ACE_Object_Manager's shutting_down and starting_up methods to determine if it is safe to use the static ACE_TSS instance. Added const-ness for find(). Removed prototypes for initialize, resume, suspend and remove that used plain char type and conditionally compiled in only for WinCE and ACE_USES_WCHAR. Service_Config still declares and defines these (using ACE_ANTI_TCHAR). Updated to resolve problems when built with ACE_USES_WCHAR. Declared private copy ctor and assignment operator for ACE_Service_Gestalt and ACE_Service_Type_Factory, since their instances are not intended to be copied. Added an ACE_UNIMPLEMENTED_FUNC macro for the copy-ctor and assignment operator of ACE_Service_Type_Factory. Reorganized to streamline the header file and remove unnecessary declarations and to add a decl for find_static_svc_descriptor(). Changed the open() method's implementation to incorporate the additional parameter for open_i(). Added the new find_static_svc_descriptor() member, which allows ACE_Static_Function_Node to not need to know how the static services are registered in the service repository. * ace/Service_Object.h: * ace/Service_Object.inl: * ace/Service_Object.cpp: Exposed the dll_ member through dll () const method because the reference is needed by the new ACE_Dynamic_Service_Dependency class. Fixed the dump () method. * ace/Service_Repository.h: * ace/Service_Repository.cpp: Added const-ness for the find* () methods. Added debugging. The remove method changes the order of services registrations in the repository, which may break the Service Repository's invariant, imposed by the need to correctly finalize dynamic services with their own static services. For example, consider a case where a static service (S0) is registered in the repository. Then a DLL-based service (D1) registers its own static service (S1). So far the order is "finalization-compatible": S0 < D1 < S1, i.e. services will be finalized in reverse order and D1's DLL will still be available when finalizing S1. Now let's remove (S0). Currently, after this operation the repository end up in this order: S1 < D1, which is trivially not finalization-compatible. Instead of replacing the pointer with the last ptr to a svc in the array (repository) and then decrementing the current size of the repo, the solution actually shifts left the rest of the array. * ace/Service_Types.cpp: * ace/Shared_Object.cpp: Removed some and updated existing debug statements. Eliminated dead partial instantiation code. * ace/Svc_Conf.y: * ace/Svc_Conf.h: * ace/Svc_Conf_Tokens.h: * ace/Svc_Conf_y.cpp: Changed to allow propagation of the knowledge about which gestalt is currently being used for service registrations. Factored the ACE_Svc_Conf_Param class out in its own translation unit. * ace/Svc_Conf_Param.h: Replaced the ACE_Service_Gestalt & in the method signatures with ACE_Service_Gestalt * * ace/svcconf.mpb: Updated the svcconf.mpb rule to allow building with Bison 2.0 and up. The change adds #ifdef/#endif around the generated header file. A YYSTYPE_IS_DECLARED define is added in order to make sure the token declarations from the Svc_Conf_Tokens.h are used instead of those generated in the Svc_Conf_y.cpp file. Added the new Dynamic_Service_Dependency.* files. * bin/tao_orb_tests.lst: Adding the new tests to the automated test suite to run during the nightly builds. Wed Apr 26 17:13:57 UTC 2006 Phil Mesnier * bin/tao_orb_tests.lst: Added test for Parallel_Connect_Strategy. This test will take about 9 minutes to run to completion. Wed Apr 26 14:22:31 UTC 2006 Phil Mesnier * bin/tao_orb_tests.lst: Added tests for new POA features. * bin/MakeProjectCreator/config/endpointpolicy.mpb: Applications wishing to use the TAO EndpointPolicy should add this base project to their MPC files. This will include libTAO_EndpointPolicy in their link lines. Wed Apr 26 14:10:12 UTC 2006 Johnny Willemsen * include/makeinclude/platform_hpux_kcc.GNU: * include/makeinclude/platform_irix6.x_kcc.GNU: * include/makeinclude/platform_linux_kcc.GNU: * include/makeinclude/platform_osf1_4.x_kcc.GNU: * include/makeinclude/platform_sunos5_kcc.GNU: * include/makeinclude/platform_tru64_kcc.GNU: Removed these files which are for the KAI C++ compiler. This compiler doesn't exist anymore and full support for KAI C++ has been removed now from ACE/TAO. See bugzilla bug 2007 Wed Apr 26 13:03:12 UTC 2006 Johnny Willemsen * bin/tao_orb_tests.lst: Added TAO/tests/POA/Bug_2511_Regression Wed Apr 26 12:52:12 UTC 2006 Johnny Willemsen * ace/Process_Manager.cpp: Fixed fuzz errors and use const when possible Wed Apr 26 12:02:12 UTC 2006 Johnny Willemsen * tests/CDR_Test.cpp: Boolean is now size 1 or bigger, the marshaling code will take care that a Boolean is marshaled as octet of size 1 Wed Apr 26 11:28:28 UTC 2006 Phil Mesnier * bin/tao_orb_tests.lst: Added TAO/tests/OBV/truncatable. Wed Apr 26 10:05:12 UTC 2006 Johnny Willemsen * bin/tao_orb_tests.lst: Added TAO/tests/OBV Wed Apr 26 09:56:12 UTC 2006 Johnny Willemsen * bin/tao_orb_tests.lst: Added TAO/tests/Portable_Interceptors/Bug_2510_Regression Wed Apr 26 07:21:12 UTC 2006 Johnny Willemsen * include/makeinclude/platform_vxworks5.5.x.GNU: Increased template-depth to 50, hopefully this is large enough to also build CIAO Tue Apr 25 16:44:04 UTC 2006 Phil Mesnier * ace/CDR_Stream.h: * ace/CDR_Stream.cpp: Added code to support rewinding the output CDR to some previous location and updating a value there. This is required to support marshaling offset values were the target of the offset is not known until the final offset target is actually reached. Tue Apr 25 13:50:12 UTC 2006 Martin Corino * tests/Signal_Test.cpp: Fixed this test for (modern) Linux and Solaris at least. The crux is blocking signals before calling sigwait() when doing synchronous signal handling. Tue Apr 25 09:35:12 UTC 2006 Johnny Willemsen * ace/Base_Thread_Adapter.h: * ace/Cleanup.h: Fixed some errors I made Tue Apr 25 09:23:12 UTC 2006 Johnny Willemsen * ACE-INSTALL.html: Updated supported platforms and use vc8 for the MPC examples Tue Apr 25 08:49:12 UTC 2006 Johnny Willemsen * ace/CDR_Base.h: Always use bool for Boolean, see bugzilla 2514 for more info Tue Apr 25 06:33:12 UTC 2006 Johnny Willemsen * ace/Log_Msg.h: Put back ACE_TSS_CLEANUP_NAME that got lost by accident with the vc6 cleanup. Thanks to Olli Savia for reporting this. Mon Apr 24 17:39:12 UTC 2006 Johnny Willemsen * tests/run_test.lst: Added Signal_Test. Thanks to Martin Corino for notificing that we don't run this test on any platform. Mon Apr 24 10:17:12 UTC 2006 Johnny Willemsen * bin/tao_orb_tests.lst: Added TAO/tests/Bug_1676_Regression Mon Apr 24 09:57:12 UTC 2006 Johnny Willemsen * include/makeinclude/platform_vxworks5.5.x.GNU: Increase template depth to resolve compile errors when building TAO with the new sequence implementation Mon Apr 24 09:17:12 UTC 2006 Johnny Willemsen * ace/os_include/sys/os_types.h: Added ACE_LOFF_T for LynxOS. Thanks to Simon Massey for delivering the patch Fri Apr 21 16:28:26 UTC 2006 William R. Otte Merge from ARMS Escher repository. * ace/OS_NS_Thread.cpp Updated sched_params() to not ignore the process id passed in. Also enhanced the Windows implementation to get a handle to the process specified before applying the priority class changes. * ace/Process_Manager.cpp * ace/Process_Manager.h Added methods set_scheduler and set_scheduler_all to set scheduling parameters for process(es) managed by this class. * bin/MakeProjectCreator/config/ciao_config_handlers.mpb Fixed build ordering problem in CIAO. Fri Apr 21 07:41:12 UTC 2006 Johnny Willemsen * ace/Caching_Utility_T.cpp: Removed invalid added const Thu Apr 20 19:27:12 UTC 2006 Johnny Willemsen * ace/os_include/sys/os_types.h: Added ACE_LOFF_T for the BSD variants, thanks to J.T. Conklin for delivering the patch Thu Apr 20 18:16:12 UTC 2006 Johnny Willemsen * ace/config-macros.h: Removed setting of ACE_ANY_OPS_USE_NAMESPACE again. This causes problems when building CIAO. Thanks to Jeff Parsons for finding this. Thu Apr 20 11:46:12 UTC 2006 Johnny Willemsen * tests/ACE_Init_Test.rc: Removed another msvc specific part Thu Apr 20 11:06:12 UTC 2006 Johnny Willemsen * bin/fuzz.pl: Added a check for deprecated macros, first one to check is ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION * tests/*.cpp: * protocols/*.cpp: * ACEXML/*.cpp: * performance-tests/*.cpp * netsvcs/*.cpp Removed all explicit template instantiations * ace/os_include/sys/os_types.h: Added ACE_LOFF_T typedef for VxWorks 6.2 and newer Thu Apr 20 07:23:12 UTC 2006 Johnny Willemsen * ace/os_include/sys/os_types.h: Always define ACE_LOFF_T so that we can use it in the sendfile wrapper Thu Apr 20 07:17:12 UTC 2006 Johnny Willemsen * ace/svcconf.mpb: Removed Service_Templates.cpp Wed Apr 19 19:18:12 UTC 2006 Johnny Willemsen * ace/*: Removed explicit template support Wed Apr 19 15:09:12 UTC 2006 Johnny Willemsen * tests/Bug_2368_Regression_Test.cpp: Fixed compile error and compile warning Wed Apr 19 14:35:12 UTC 2006 Johnny Willemsen * ace/OS_NS_sys_sendfile.h: Updated include to get size_t and ACE_LOFF_T to fix compile errors on Solaris Wed Apr 19 13:31:12 UTC 2006 Johnny Willemsen * examples/APG/Logging/Use_Multiple_Sinks.cpp: * examples/APG/Logging/Use_Ostream.cpp: * examples/APG/Logging/LogManager.h: Removed vc6 workarounds Wed Apr 19 13:13:12 UTC 2006 Johnny Willemsen * tests/Bug_2368_Regression_Test.cpp: * tests/run_test.lst: * tests/tests.mpc: Added regression for bug 2368, this will fail because this bug isn't addressed yet Wed Apr 19 13:08:12 UTC 2006 Johnny Willemsen * include/makeinclude/platform_sunos5_g++.GNU: Use -shared instead of -G when building shared libraries. Thanks to Alan L Batongbacal for reporting this. This fixes bugzilla bug 1848. Wed Apr 19 12:11:12 UTC 2006 Johnny Willemsen * tests/ACE_Init_Test.rc: Removed msvc specific lines * tests/tests.mpc: The ACE_Init_Test should use its resource file. Fixes bugzilla 2495 * ace/Capabilities.{h,cpp}: Prefix increment instead of postfix * ace/Hash_Map_Manager_T.{h,cpp}: Removed workaround for suncc 4.2 * ace/Object_Manager.h: * ace/Parse_Node.h: * ace/POSIX_Proactor.h: * ace/Thread_Mutex.h: Doxygen improvements * ace/Parse_Node.cpp: Use prefix increment, initialise pointers with 0 and don't print an error message when we can't a dll, this gives false messages when using TAO. This fixes bugzilla 2383. Thanks to Ming Xiong for making a patch. * ace/Proactor.h: Removed all virtual keywords, not needed for this class. Fixes bugzilla 2178. * ace/Thread_Manager.h: Removed virtual keywords, not needed and safes footprint. Fixes bugzilla 2179. * bin/fuzz.pl: Added more msvc checks to detect code constructors for vc6 or vc7.0 Wed Apr 19 11:48:12 UTC 2006 Johnny Willemsen Merged ACE changes from sendfile branch. Also made a lot of const improvements throughout ACE. Tue Apr 4 10:20:36 2006 Ossama Othman * ace/Mem_Map.cpp (open): Only copy the filename to the ACE_Mem_Map::filename_ member if the call to open() succeeds. * ace/PI_Malloc.h (ACE_Malloc_Header): Added missing private and undefined copy constructor. The corresponding assignment operator was already there. Wed Mar 29 14:51:12 2006 Johnny Willemsen * ace/config-sunos5.8.h: Solaris 8 and newer also support sendfile. It seems HPUX also supports it but with a different signature and semantics, so just don't try it there yet. Wed Mar 29 13:06:12 2006 Johnny Willemsen * ace/MMAP_Memory_Pool.{h,cpp,inl}: Added new .inl file to implement the new mmap accessors, include this new file in the header and implementation file Wed Mar 29 08:00:12 2006 Ossama Othman * ace/OS_NS_sys_sendfile.cpp * ace/OS_NS_sys_sendfile.h * ace/OS_NS_sys_sendfile.inl New sendfile wrapper * ace/MMAP_Memory_Pool.h: Added accessors for mmap * ace/ace.mpc Added OS_NS_sys_sendfile * ace/config-linux-common.h Added ACE_HAS_SENDFILE Wed Apr 19 07:48:12 UTC 2006 Johnny Willemsen Merged ACE changes from sequpdate3 branch * ace/config-osf1-3.2.h: Removed, very old * ace/config-tru64.h: Removed include of config-osf1-3.2.h * ace/OS_Dirent.cpp: * ace/OS_Memory.{cpp,inl}: * ace/OS_String.{cpp,inl}: * ace/Sync.cpp: Removed these files, where not build for a long time already * ace/ace.mpc: Removed files above * ace/OS_Memory.h: * ace/OS_String.h: Removed include of inline files * ace/config-win32-msvc6.h: * ace/config-kcc-common.h: Removed these files, vc6 and kcc are deprecated * ace/config-irix6.x-kcc.h: * ace/config-osf1-4.0.h: * ace/config-sunos5.5.h: Removed support for KCC * ace/Asynch_IO_Impl.h: Removed workarounds for KCC * ace/config-win32-msvc.h: Removed support for vc6 and vc7.0 * ace/Array_Base.cpp: * ace/Array_Map.{h,cpp}: * ace/Base_Thread_Adapter.h: * ace/Cleanup.h: * ace/Log_Msg.h: * ace/Versioned_Namespace.h: * ace/Get_Opt.cpp: * ace/WIN32_Proactor.cpp: * ace/Message_Queue.cpp: * ace/CDR_Base.h: Removed work arounds for vc6 * ace/README * ace/config-win32-msvc6.h: * ace/Global_Macros.h: Deprecated ACE_HAS_BROKEN_NAMESPACES, we drop msvc6 and I am removing the workarounds for this compiler one by one as part of the new sequence implementation. Because we deprecate this also ACE_NESTED_CLASS is deprecated * ace/config-win32-msvc6.h: * ace/config-win32-msvc7.h: * ace/config-win32-msvc8.h: Removed ACE_HAS_BROKEN_IMPLICIT_CONST_CAST, not used in ACE * ace/config-win32-msvc6.h: * ace/config-win32-visualage.h: * ace/Registry.h Removed ACE_HAS_BROKEN_NESTED_TEMPLATES, only used for msvc6 and visual age, both are being dropped Wed Apr 19 07:48:12 UTC 2006 Johnny Willemsen * bin/tao_orb_tests.lst: Added Bug_2503_Regression Tue Apr 18 20:49:16 2006 Wallace Zhang * ACE version 5.5.1 released. Local Variables: mode: change-log add-log-time-format: (lambda () (progn (setq tz (getenv "TZ")) (set-time-zone-rule "UTC") (setq time (format-time-string "%a %b %e %H:%M:%S %Z %Y" (current-time))) (set-time-zone-rule tz) time)) indent-tabs-mode: nil End: