Wed Apr 9 13:39:20 2003 Stuart Jones * ace/DLL_Manager.cpp: Added check for NULL pointer in close method. The instance method for the ACE_Framework_Repository class can return NULL if the Object Manager is starting up, or shutting down and the singleton hadn't been created. This was causing a SEGV in a later pthread_mutex_lock (DOC Bug# 1479) Wed Apr 9 17:11:12 UTC 2003 Johnny Willemsen and me. Improves VxWorks 5.5, MingW, Cygwin and Kylix support. * ACE-INSTALL.html: Updated for VxWorks 5.5 and documented how to use BCB with SSL. * Makefile.bor: Removed build variable nightlybuild because we don't need it anymore. * ace/Based_Pointer_Repository.cpp: * ace/Dynamic.cpp: For VxWorks also explicit instantiate static template member. This fixes unresolved externals when using implicit templates. * ace/Event_Handler_T.i (get_handle ): In case of an error, return ACE_INVALID_HANDLE and not -1 because -1 causes problems with MingW and is not portable. * ace/Log_Msg_NT_Event_Log.cpp: * ace/Log_Msg_NT_Event_Log.h: * ace/README: * ace/config-doxygen.h: * ace/config-win32-common.h: For the WinNT event log backend added a new define called ACE_HAS_LOG_MSG_NT_EVENT_LOG. This is set in the doxygen file to generate documentation for it. This makes it possible to generate the documentation and to better specify to use the WinNT event log backend or not. * ace/Date_Time.{h,i}: Added a constructor to initialize an ACE_Date_Time with an ACE_Time_Value. * ace/Module.h: Improved doxygen documentation. * ace/config-win32-mingw.h: Require win32api version 2.0 or later and removed Win32 API definitions because older versions of win32api lacked these. * apps/drwho/Makefile: Don't build drwho with MingW and Cygwin. * examples/Reactor/Misc/test_event_handler_t.cpp (signal_handler): Signum should be an int instead of an ACE_HANDLE. * examples/Reactor/Ntalker/ntalker.cpp: Changed argument interface to a_interface because interface is a macro with MinGW. * examples/System_V_IPC/SV_Message_Queues/MQ_Client.cpp: * examples/System_V_IPC/SV_Message_Queues/MQ_Server.cpp: * examples/System_V_IPC/SV_Message_Queues/TMQ_Server.cpp: * examples/System_V_IPC/SV_Shared_Memory/SV_Shared_Memory_Test.cpp: Modified code so that when SystemV IPC isn't supported this is printed, else the code is build normally. Fixes Cygwin and MinGW compile problems. * include/makeinclude/platform_cygwin32.GNU: * include/makeinclude/platform_mingw32.GNU: Disable auto import warnings. There is a bug in the MinGW/Cygwin compiler and until that is fixed the warnings are wrong so we disable. See these files for the link to the MinGW bugentry. * include/makeinclude/platform_g++_common.GNU: Make sure that unrecognized compiler options are not set with VxWorks 5.5. Fixes bugzilla entry [1452]. Thanks to Thomas Lockhart for reporting this and sending the fix. * include/makeinclude/platform_linux_borland.GNU: Improved this file so that we better support the Kylix3 compiler. We don't support it 100% but we can now build the ACE tests without problems. Several also run but also several still have problems. * include/makeinclude/platform_sunos5_ghs.GNU: * include/makeinclude/platform_sunos5_kcc.GNU: Use explicit without double quotes to match other files. * include/makeinclude/platform_vxworks5.x_diab.GNU: Set VSHDIR to $(VDIR) to make it possible to override it. * include/makeinclude/platform_vxworks5.x_g++.GNU: Set VSHDIR to $(VDIR) to make it possible to override it. Moved include of platform_g++_common.GNU after the place where CXX is set to resolve compiler problems. Also use explicit with double quotes to match the other files, the result is that explicit template instantiation is again the default to use. * include/makeinclude/rules.bin.GNU: * include/makeinclude/rules.lib.GNU: * include/makeinclude/wrapper_macros.GNU: Improved and extended Kylix specific rules. For Kylix we strip the -l in from of each shared library passed to the linker and prefix with lib and postfix with .so. * tests/Time_Value_Test.cpp: Test assignment operator of ACE_Time_Value. Wed Apr 9 15:51:32 UTC 2003 Don Hinton * ace/Malloc_Allocator.{i,cpp}: Uninlined ACE_New_Allocator::{malloc, calloc, free} () to avoid the multiple heap problem on systems like Windows. Thanks to Gonzalo Diethelm for reporting the problem. This fixes bug [1464]. Wed Apr 09 17:04:01 2003 Simon McQueen * apps/mkcsregdb/mkcsregdb.dsp: Added missing library in release configuration. Wed Apr 9 08:22:56 2003 Chad Elliott * bin/MakeProjectCreator/config/default.rel: * bin/MakeProjectCreator/config/taoexe.mpb: * bin/MakeProjectCreator/config/taolib.mpb: * bin/MakeProjectCreator/config/vcfullmacros.mpt: * bin/MakeProjectCreator/config/vcpartialmacros.mpt: * bin/MakeProjectCreator/modules/Creator.pm: * bin/MakeProjectCreator/modules/Driver.pm: * bin/MakeProjectCreator/modules/GNUProjectCreator.pm: * bin/MakeProjectCreator/modules/Parser.pm: * bin/MakeProjectCreator/modules/ProjectCreator.pm: * bin/MakeProjectCreator/modules/TemplateInputReader.pm: * bin/MakeProjectCreator/modules/TemplateParser.pm: * 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/va4icc.mpd: * bin/MakeProjectCreator/templates/vc6dspdll.mpt: * bin/MakeProjectCreator/templates/vc6dspdllexe.mpt: * bin/MakeProjectCreator/templates/vc6dsplib.mpt: * bin/MakeProjectCreator/templates/vc6dsplibexe.mpt: * bin/MakeProjectCreator/templates/vc7dll.mpt: * bin/MakeProjectCreator/templates/vc7exe.mpt: Removed as much hard coded ACE and TAO related text and put it in configuration files. Tue Apr 8 15:03:51 2003 Steve Huston * tests/tests.mpc: Added Unbounded_Set_Test_Ex. Tue Apr 8 13:29:05 2003 Chad Elliott * bin/MakeProjectCreator/templates/make.mpd: Take into account the possibility of using 'defaultlibs' or 'lit_libs' without using 'libs'. Tue Apr 8 13:12:25 2003 Balachandran Natarajan * ace/Min_Max.h: #included config-all.h. This is needed for the header file to be used succesfully. This fixes [BUG 1485 and thanks to Paul Marquis for reporting this problem. Tue Apr 08 17:01:02 2003 Simon McQueen * apps/mkcsregdb/mkcsregdb.dsp: Changed 'Use run time library' setting to fix error in Release configuration. Tue Apr 8 06:50:38 2003 Chad Elliott * bin/MakeProjectCreator/templates/vc7.mpd: Removed the ProgramDataBaseFileName section. It seems to cause build problems. Mon Apr 7 16:58:55 2003 Balachandran Natarajan * ace/Select_Reactor_Base.cpp (unbind): Fixed a subtle problem during complete shutdown of the event handler. Problem: During the unbind () call we call handle_close () after which we nullify the event handlers without much checks. This dangerous if the application during the callback, ie. handle_close () call registers a new handler with the reactor. It is quite possible that the map is changed during registration. Solution: We check whether the event handler's pointer in the map and the one that was cached before calling handle_close () are the same. Thanks to Kobi Cohen-Arazi" for reporting the problem. Mon Apr 7 17:04:20 2003 Steve Huston * tests/Unbounded_Set_Test_Ex.cpp: Moved the definition of MyNode to its own file, Unbounded_Set_Test_Ex.h to allow the ever-cooperative AIX Visual Age C++ compiler to find the definition when instantiating templates. Also changed the name of the recorded log file to match the test name so the autobuild log analysis can find it. * tests/run_test.lst: Added Unbounded_Set_Test_Ex. Mon Apr 7 12:27:25 2003 Chad Elliott * bin/MakeProjectCreator/modules/TemplateParser.pm: If HASH and SCALAR values are mixed in a template foreach, then remove the SCALAR values. * bin/MakeProjectCreator/templates/em3vcp.mpd: * bin/MakeProjectCreator/templates/make.mpd: * bin/MakeProjectCreator/templates/nmake.mpd: * bin/MakeProjectCreator/templates/vc7.mpd: Try to make these templates less TAO focused. * 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/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/vc7dll.mpt: * bin/MakeProjectCreator/templates/vc7exe.mpt: Began adding support for MFC projects. Sat Apr 5 11:23:11 2003 John Michael Zorko * include/makeinclude/platform_macosx.GNU (CXX): Mac OSX currently uses 64 bits for long doubles, and Apple's gcc3.1 compiler outputs a warning if long doubles are used (since they might change to 96 or 128 bits in the future). In the meantime, the following patch (also attached) turns off the warning. Fri Apr 4 10:49:29 2003 Chad Elliott * bin/MakeProjectCreator/modules/StringProcessor.pm: Treat single quotes as special characters when creating arrays. They now work similarly to double quotes. Fri Apr 4 09:22:25 2003 Chad Elliott * bin/MakeProjectCreator/modules/Creator.pm: * bin/MakeProjectCreator/modules/WorkspaceCreator.pm: Allow mwc files to have scoped assignments that will only apply to the mpc files within that scope. Thu Apr 03 17:20:32 2003 Pradeep Gore * bin/MakeProjectCreator/config/notifytest.mpb: Changed target to TAO_NotifyTests. * bin/tao_other_tests.lst: Added TAO/orbsvcs/tests/Notify/Lanes/run_test.pl and TAO/orbsvcs/tests/Notify/ThreadPool/run_test.pl or RT_Notification. Thu Apr 3 11:24:35 2003 Balachandran Natarajan * bin/tao_orb_tests.lst: Added a new test for the daily builds. Thu Apr 3 08:20:12 2003 Johnny Willemsen * Kokyu/Default_Dispatcher_Impl.h: Fixed doxygen fuzz error Wed Apr 2 12:44:58 2003 Chad Elliott * include/makeinclude/platform_hpux_aCC.GNU: * include/makeinclude/rules.lib.GNU: Added an AREXTRA macro that allows the user to add arbitrary text at the end of the ar command. HP-UX aCC defines AR in a way that causes build errors. AREXTRA is used to fix this build problem and doesn't affect any other platform. Wed Apr 2 10:17:59 2003 Chad Elliott * bin/MakeProjectCreator/modules/Creator.pm: Factored the dynamic and static accessors into this class from WorkspaceCreator.pm. * bin/MakeProjectCreator/modules/Options.pm: Added a utility function which can be used to determine if an option has been used. * bin/MakeProjectCreator/modules/ProjectCreator.pm: Use the factored dynamic and static accessors. * bin/MakeProjectCreator/modules/WorkspaceCreator.pm: Added the functionality to track which projects have been generated. If multiple workspaces with overlapping projects are processed within the same process, it is able to skip the re-generation of the overlapping projects. Also added the ability to use "mwb" files as base project files. Wed Apr 2 08:49:51 2003 Chad Elliott * bin/MakeProjectCreator/templates/gnu.mpd: Allow libraries to be built only if "requires" and "avoids" are met. Wed Apr 2 11:51:52 CEST 2003 Oliver Kellogg * tests/Unbounded_Set_Test.cpp, tests/Unbounded_Set_Test_Ex.cpp: Zap extraneous trailing semicolons on #pragma instantiates. Wed Apr 2 11:44:41 CEST 2003 Oliver Kellogg * tests/Unbounded_Set_Test.cpp, tests/Unbounded_Set_Test_Ex.cpp: Add explicit template instantiations. Tue Apr 1 17:02:37 2003 Steve Huston * tests/Process_Strategy_Test.cpp: Nul-terminate received command string to ACE_TEXT_CHAR_TO_TCHAR can deal with it; this is needed to properly log the string in wide-char builds. Tue Apr 1 15:52:41 2003 Steve Huston * tests/Multicast_Test.cpp: If the platform doesn't support IP multicast, log an info message, not an error. Tue Apr 1 10:06:57 2003 Chad Elliott * bin/MakeProjectCreator/modules/Driver.pm: Fixed a bug with multiple types and an mpc file specified with a directory. The original file name was not being preserved. Tue Apr 1 16:02:30 CEST 2003 Oliver Kellogg * ace/Makefile.{am,bor}: Added Unbounded_Set_Ex. Tue Apr 1 13:42:37 CEST 2003 Oliver Kellogg * tests/Unbounded_Set_Test_Ex.cpp: New. This is a replica of Unbounded_Set_Test.cpp but uses the new ACE_Unbounded_Set_Ex class instead of ACE_Unbounded_Set. This is for side-by-side comparisons between the two tests. * tests/Makefile: Added Unbounded_Set_Test_Ex, updated dependencies. * tests/Makefile.{am,bor}: Added Unbounded_Set_Test_Ex. Tue Apr 1 12:48:33 CEST 2003 Oliver Kellogg * ace/Node.{h,cpp}: Added back the deleted_ member. This sets the stage for the new Ace_Unbounded_Set_Ex class. * ace/Unbounded_Set_Ex.{h,inl,cpp}: New. This class is a variation on ACE_Unbounded_Set that fixes Bugzilla bug 1460. * ace/Makefile.ace: Add Unbounded_Set_Ex. Mon Mar 31 14:04:22 2003 Phil Mesnier * ace/CDR_Stream.cpp: * ace/CDR_Stream.h (ACE_OutputCDR): Provide an accessor method, ACE_OutputCDR::wchar_maxbytes() for getting the stream size for wide characters when no translator is involved. There was a problem reading wstrings when the maxbytes is less than the size of a wchar_t. When the maxbytes value was 1, I was using a static cast from a char to a wchar, which caused sign propogation. Changing to assignment from an octet solved that. * ace/Codeset_Registry_db.cpp: Added entries for common 2 byte and 4 byte wchar codesets, UTF-16 and UCS-4. * ace/Codeset_Registry.cpp: * ace/Codeset_Registry.h: * ace/Codeset_Registry.inl: Retyped validation methods to return int rather than CORBA::Boolean as a result code. Mon Mar 31 14:03:35 2003 Chad Elliott * bin/MakeProjectCreator/modules/ProjectCreator.pm: * bin/MakeProjectCreator/modules/WorkspaceCreator.pm: Added an 'implicit' assignment to the workspace that will cause the workspace creator to generate projects in directories where there are no mpc files. If no valid project can be made, then that directory is ignored. Mon Mar 31 12:32:32 2003 Balachandran Natarajan * bin/tao_orb_tests.lst: Added the new collocation tests to the daily builds. Mon Mar 31 08:44:16 2003 Chad Elliott * bin/MakeProjectCreator/modules/ProjectCreator.pm: Fixed a bug in the project creator dealing with precompiled header files. If the pch_header or pch_source is set to "" then we need to be sure that pch information is not put in the generated project file. Mon Mar 31 08:19:16 2003 Chad Elliott * bin/MakeProjectCreator/templates/em3vcp.mpd: * bin/MakeProjectCreator/templates/nmake.mpd: * bin/MakeProjectCreator/templates/vc6dsp.mpd: * bin/MakeProjectCreator/templates/vc7.mpd: Fixed a bug in the Microsoft related template files where the installed executable would not be put in the install directory. It was previously placed in a subdirectory of the install directory. Mon Mar 31 15:51:54 CEST 2003 Oliver Kellogg * tests/Unbounded_Set_Test.cpp: Verify that a set may be emptied while an iterator on the set is in-scope but inactive. Changed the "Selective deletion of elements" step not to summon bug 1460. Mon Mar 31 14:13:31 2003 Simon McQueen * apps/mkcsregdb/mkcsregdb.dsp: Added release configuration custom build step. Sun Mar 30 21:46:54 2003 Balachandran Natarajan * bin/topinfo_iorsize_stats.sh: Added data collection points for optimized cases. Sun Mar 30 09:12:16 2003 Douglas C. Schmidt * ace/Connector.cpp (handle_timeout): Restructured the code so that if the call to sh->handle_close() deletes the handlers, which in turn deletes the connector, the decr_ast_refcount() call won't cause a crash. Thanks to Tomer Amiaz for reporting this bug and supplying a fix. Sat Mar 29 16:34:56 2003 Balachandran Natarajan * THANKS: Added Bertin Colpron to the hall of fame. Fri Mar 28 10:18:48 2003 Steve Huston * bin/PerlACE/Process_Win32.pm: For WinCE, when generating the Pocket Controller script, put a 60-second sleep between running the test and grabbing the log file. The script doesn't wait for the program to exit before continuing. Will take this up with SOTI, makers of Pocket Controller. * ace/Configuration.cpp (ACE_Configuration_Win32Registry::remove_section): In the non-recursive case, try to delete the key; previously only tried to delete the key if recursive. * tests/Config_Test.cpp: When reporting failed file import, list why (%p), not the failed return status (-1). Also fixed many ACE_DEBUG and ACE_ERROR strings by enclosing in ACE_TEXT. * tests/Conn_Test.cpp: When displaying a hostname, properly adjust to the charset width in use. * tests/run_test.lst: Added !WinCE to Env_Value_Test. CE doesn't do environment variables. Thu Mar 27 14:20:32 2003 Balachandran Natarajan * THANKS: Added Jia Wan to the hall of fame. Wed Mar 26 16:45:29 2003 Balachandran Natarajan * THANKS: Added Sebastien Lalonde to the hall of fame. Wed Mar 26 16:48:31 2003 Steve Huston * ace/config-WinCE.h: Let ACE_HAS_WINSOCK2 be conditional on the CE version; there was a #define ACE_HAS_WINSOCK2 at the end of the file that shouldn't have been there. * ace/config-win32-common.h: For WinCE and ACE_HAS_WINSOCK2, need to define the errno codes without WSA prefixes. Also, WinCE (at least at CE 4.0) doesn't have Winsock 2 extensions, so don't pull in mswsock.h, and set up to link ws2.lib, not ws2_32.lib. * ace/Reactor.cpp: Don't use ACE_HAS_WINCE to block out ACE_WFMO_Reactor; use the more direct tests (Winsock versions) if needed. * ace/SPIPE_Stream.i (send_handle): Don't attempt this on WinCE even though CE4 has ACE_HAS_WINSOCK2. It doesn't have WSADuplicateSocket. Wed Mar 26 16:15:39 2003 Simon McQueen * ace/Unbounded_Set.h: * ace/Unbounded_Set.cpp: * ace/Unbounded_Set.inl: * ace/Node.h: * ace/Node.cpp: * tests/Makefile: * tests/Makefile.am: * tests/Makefile.bor: Reverted changes to the above to position before changelog entry: Mon Mar 24 13:16:29 CET 2003 Oliver Kellog Wed Mar 26 16:48:54 CET 2003 Oliver Kellogg * tests/Unbounded_Set_Test.cpp: Corrected signature of main program and inserted an ACE_START_TEST/ACE_END_TEST. Thanks to Johnny Willemsen for suggesting this. Wed Mar 26 11:33:15 CET 2003 Oliver Kellogg * ace/Unbounded_Set.cpp (ACE_Unbounded_Set::delete_nodes): Temporarily commented out the ACE_ASSERT(number_of_iterators_ == 0) until the iterator usage problem is repaired in TAO. Tue Mar 25 21:08:04 2003 Phil Mesnier * ace/CDR_Stream.cpp: * ace/CDR_Stream.h: * ace/CDR_Stream.i: Added the value wchar_maxbytes_ to the ACE_OutputCDR which is used to control the size of the wchar on the wire when no translator is being used. This is because it is valid to use a wchar codeset for which the maximum size is smaller than the size of a wchar_t. * ace/OS.h: When defining the ACE-specific type WChar, added the existance of the ACE_HAS_XPG4_MULTIBYTE_CHAR as a condition to allow WChar to be an alias of wchar_t, rather than of ACE_UINT16. * ace/OS.i: * ace/config-linux-common.h: As part of the wchar changes, it was discovered that older linux platforms lack fgetwc() and ungetwc(), although all other wide char related functions are supported. Added ACE_LACKS_FGETWC to guard against this condition. * ace/ace_wchar.h: Rework the ifdef sieve to ensure that platforms such as solaris that really do support wchar get initialized properly. Tue Mar 25 09:01:00 2003 Ossama Othman * ace/Default_Constants.h (ACE_CONNECTOR_HANDLER_MAP_SIZE): Changed type of this constant from "size_t" to "unsigned int". This header does not include system headers that define "size_t" type. Fixes a syntax error on some platforms. Tue Mar 25 17:09:22 CET 2003 Oliver Kellogg From Rudolf Weber * ace/Unbounded_Set.cpp: Correction to the handling of the deleted_ flag in the iterators. * tests/Unbounded_Set_Test.cpp: Extended towards making it a general test of the ACE_Unbounded_Set. Added test for the ACE_Unbounded_Set_Const_Iterator. Tue Mar 25 10:44:23 CET 2003 Oliver Kellogg * ace/Unbounded_Set.{h,cpp}: Removed the `const' at the ACE_Unbounded_Set::iterator_leave() method declaration. Mon Mar 24 22:05:56 2003 Balachandran Natarajan * ace/Default_Constants.h: Added a const value for the connector's map size. * ace/Connector.cpp: Used the constant value to configure the internal map. Too large a map doesnt help with run-time footprint. Mon Mar 24 18:06:49 2003 Balachandran Natarajan * bin/auto_run_tests.pl: Modified the script to do the following - Added an option to run only TAO tests in $TAO_ROOT/tests. - Instead of reading just one file for all the tests and examples in our daily builds, we will now use 3 files. One of the files is for ACE tests, one for tests in TAO and the last one is for all the other tests and examples in TAO. This provides various flexibilities for a poor developer like yours truly, to just build and run all the tests in TAO/tests after making changes to the ORB Core. It helps automating some development work. We could also take this to our daily builds. We will see more of this over a period of time. The changes should be backward compatible and shouldnt break any of the existing builds. * bin/ace_tests.lst: * bin/tao_orb_tests.lst: * bin/tao_other_tests.lst: New configuration files for ACE+TAO tests. We will use only this to add new tests to ACE+TAO. * bin/auto_run_tests.lst: Removed this file from the repo. Mon Mar 24 10:23:08 2003 Ossama Othman * ace/SSL/SSL_Context.h: No longer any need to include "ace/Singleton.h" due to the below change. From David Kinder * ace/SSL/SSL_Context.inl (instance): * ace/SSL/SSL_Context.cpp (instance): Uninlined this method. Fixes a problem found in Win32 "release" builds where an application could end up with multiple ACE_SSL_Context singleton instances. [Bug 1475] Mon Mar 24 18:03:34 CET 2003 Oliver Kellogg * ace/Unbounded_Set.{h,cpp}: Added method const_iterator_leave() in class ACE_Unbounded_Set. The destructor of the ACE_Unbounded_Set_Const_Iterator calls it. Deleted elements are not cleaned up in that case, but they probably don't need to, given that we are dealing with a "const" set. Thanks to Jeff Parsons for noticing the problem. Mon Mar 24 06:54:55 2003 Douglas C. Schmidt * ace/config-linux-common.h: Change the ACE_DEFAULT_BASE_ADDR for the IA-64 from 0x8 to 0x0 so the Linux kernel can choose the right value. Thanks to Sergei Pimenov for reporting this. Mon Mar 24 13:16:29 CET 2003 Oliver Kellogg * ace/Node.{h,cpp}: * ace/Unbounded_Set.{h,inl,cpp}: Fix for Bugzilla bug 1460 supplied by Rudolf Weber , adds a `deleted' flag to ACE_Node, and adds corresponding management methods to ACE_Unbounded_Set. * tests/Unbounded_Set_Test.{cpp,icc}: New. * tests/Makefile, tests/Makefile.{am,bor}: Add Unbounded_Set_Test.cpp, a regression test for bug 1460. Sat Mar 22 11:58:12 2003 Douglas C. Schmidt * ace/Configuration.cpp: When remove_section() was called the buckets created for the value and section hash map were not deleted. Added two new lines after if (index_->unbind (SectionExtId, allocator_)) return -1; as follows: value_hash_map->close(); section_entry->int_id_.section_hash_map_->close(allocator_); Thanks to Sandip Patel for reporting this. * ace/Message_Queue_T.cpp: Moved the notify() hook calls within the protection of the guard lock critical section to prevent race conditions on cleanup. Thanks to Ron Muck for this suggestion. Fri Mar 21 13:07:09 2003 Chad Elliott * bin/MakeProjectCreator/USAGE: * bin/MakeProjectCreator/modules/Creator.pm: * bin/MakeProjectCreator/modules/Driver.pm: * bin/MakeProjectCreator/modules/Options.pm: * bin/MakeProjectCreator/modules/ProjectCreator.pm: * bin/MakeProjectCreator/modules/WorkspaceCreator.pm: Added a -base option to allow a user to specify multiple base projects to be applied toward all generated project files. Fri Mar 21 10:42:41 2003 Chad Elliott * bin/MakeProjectCreator/modules/Creator.pm: * bin/MakeProjectCreator/modules/Parser.pm: * bin/MakeProjectCreator/modules/ProjectCreator.pm: Factored assignment processing from ProjectCreator into Creator. Factored convert_slashes() from ProjectCreator into Parser. * bin/MakeProjectCreator/modules/Driver.pm: * bin/MakeProjectCreator/modules/Options.pm: Factored option processing from Driver into a new module, Options. * bin/MakeProjectCreator/modules/WorkspaceCreator.pm: Added support for workspace specific assignments. Currently the only valid assignment is 'cmdline' which allows mwc to apply command line options to a specific set of mpc files. Fri Mar 21 09:48:33 2003 Chad Elliott * bin/MakeProjectCreator/USAGE: * bin/MakeProjectCreator/modules/Driver.pm: Added the -static_only option back in to allow generation of static projects only. Thu Mar 20 19:50:36 2003 Steve Huston * ace/OS.i (ACE_OS::recursive_mutex_cond_unlock): If on WinCE, don't do the check for RecursionCount; WinCE's structure doesn't have that member. Also see: Sat Mar 15 10:55:01 2003 Douglas C. Schmidt Thu Mar 20 17:51:39 2003 Steve Huston * bin/MakeProjectCreator/templates/em3vcp.mpd: Only output a linker /entry option if building a DLL. Let binary programs pick up the correct entrypoint from the subsystem type. It defaults to windowsce, requiring WinMainCRTStartup. Thu Mar 20 14:11:01 2003 Ossama Othman * ace/Codecs.cpp (encode, decode): Fixed "comparison is always false due to limited range of data type" warning by removing those comparisons and accompanying code. Thu Mar 20 14:00:53 2003 Ossama Othman * ace/Memory_Pool.cpp (find_seg): Fixed overflow in pointer arithmetic on platforms where sizeof(void*) is greater than sizeof(off_t). This also fixes a "cast from pointer to integer of different size" warning. Thu Mar 20 12:56:26 2003 Ossama Othman * tests/Recursive_Condition_Bug_Test.cpp: Fixed unused variable warning in single-threaded builds. Thu Mar 20 12:35:09 2003 Chad Elliott * bin/MakeProjectCreator/modules/ProjectCreator.pm: * bin/MakeProjectCreator/templates/bor.mpd: * bin/MakeProjectCreator/templates/em3vcp.mpd: * bin/MakeProjectCreator/templates/gnu.mpd: * bin/MakeProjectCreator/templates/make.mpd: * bin/MakeProjectCreator/templates/nmake.mpd: * bin/MakeProjectCreator/templates/va4icc.mpd: * bin/MakeProjectCreator/templates/vc6dsp.mpd: * bin/MakeProjectCreator/templates/vc7.mpd: Added a new keyword lit_libs that is identical to libs except that with windows build tools, a library modified (s,d,sd) is not added to the library name. Thu Mar 20 11:23:46 2003 Chad Elliott * bin/MakeProjectCreator/README: * bin/MakeProjectCreator/modules/ProjectCreator.pm: * bin/MakeProjectCreator/modules/WorkspaceCreator.pm: Changed the default behavior for naming workspaces and projects. They now use the name of the mwc and mpc file respectively. Thu Mar 20 07:23:48 2003 Chad Elliott * bin/MakeProjectCreator/USAGE: * bin/MakeProjectCreator/modules/Driver.pm: Removed -dynamic_only and -static_only options and made "dynamic only" the default. I added a -static option that will allow the user to generate static projects in addition to dynamic projects. Thu Mar 20 07:09:54 2003 Douglas C. Schmidt * ace/Process_Manager.cpp: The wrong remove_handler() method was being used in the ACE_Process_Manager::close() method. Changed this to use the remove_handler() that removes the SIGCHLD handler. Thanks to Carsten Prescher for this fix. Wed Mar 19 18:27:08 2003 Venkita Subramonian * Kokyu: * Kokyu/Default_Dispatcher_Impl.cpp: * Kokyu/Default_Dispatcher_Impl.h: * Kokyu/Default_Dispatcher_Impl.i: * Kokyu/Dispatcher_Impl.cpp: * Kokyu/Dispatcher_Impl.h: * Kokyu/Dispatcher_Impl.i: * Kokyu/Dispatcher_Task.cpp: * Kokyu/Dispatcher_Task.h: * Kokyu/Dispatcher_Task.i: * Kokyu/Kokyu.cpp: * Kokyu/Kokyu.dsw: * Kokyu/Kokyu.h: * Kokyu/Kokyu.i: * Kokyu/Kokyu.cpp: * Kokyu/Kokyu.dsw: * Kokyu/Kokyu.mpc: * Kokyu/Kokyu_DLL.dsp: * Kokyu/Kokyu_Static.dsp: * Kokyu/Makefile: * Kokyu/kokyu_export.h: * Kokyu/tests: * Kokyu/tests/EDF: * Kokyu/tests/EDF/EDF.dsp: * Kokyu/tests/EDF/EDF.dsw: * Kokyu/tests/EDF/Makefile: * Kokyu/tests/EDF/test.cpp: * Kokyu/tests/FIFO: * Kokyu/tests/FIFO/FIFO.dsp: * Kokyu/tests/FIFO/FIFO.dsw: * Kokyu/tests/FIFO/Makefile: * Kokyu/tests/FIFO/test.cpp: First Kokyu release. Wed Mar 19 12:08:31 2003 Chad Elliott * include/makeinclude/platform_irix6.x_sgic++.GNU: Suppress warning numbers 1253,3439,1234 and 3506. Wed Mar 19 07:27:59 2003 Chad Elliott * bin/MakeProjectCreator/modules/NMakeWorkspaceCreator.pm: * bin/MakeProjectCreator/templates/nmake.mpd: Added depend, idl_stubs and realclean targets. Tue Mar 18 07:24:26 2003 Chad Elliott * bin/MakeProjectCreator/modules/ProjectCreator.pm: If files are listed in "Template_Files" and "Source_Files" is omitted, then "Source_Files" could have duplicated values from "Template_Files". A new method has been added to correct this situation. Mon Mar 17 17:38:05 2003 Balachandran Natarajan * include/makeinclude/platform_linux_icc.GNU: The GNU file can now work with 64 bit intel compiler in Itanium. Thanks to Lubomir Bulej and Petr Tuma for providing the patches. Mon Mar 17 19:20:54 UTC 2003 Johnny Willemsen * include/makeinclude/platform_cygwin32.GNU: Set threads to 0 when it is not defined yet. From the Cygwin daily build we found that threading is just partly enabled with Cygwin. First tries to enable it completely resulted in a lot of new errors, so for the time being disable threads by default and then start working on getting everything working with threading enabled. Also removed setting of optimized and the --enable-auto-import because they are not needed. Mon Mar 17 09:58:48 2003 Chad Elliott * ace/ace.mpc: Updated the project to include the correct template, inline and header files. * bin/MakeProjectCreator/modules/ProjectCreator.pm: Changed the defaults for precompiled headers. If multiple pch headers are found, then take the one closest to the project name. Sun Mar 16 10:12:12 2003 Johnny Willemsen * ace/OS.i (recursive_mutex_cond_unlock): Fixed typo Sat Mar 15 13:50:18 2003 Steve Huston * tests/tests.mpc: Added Recursive_Condition_Bug_Test. Sat Mar 15 12:20:45 2003 Nanbor Wang * tests/tests.dsw: * tests/Recursive_Condition_Bug_Test.dsp: Added a new project file. Sat Mar 15 10:55:01 2003 Douglas C. Schmidt * tests/Makefile: * tests/Makefile.bor: * tests/run_test.lst: Added Recursive_Condition_Bug_Test.cpp to these files. * tests: Added a new Recursive_Condition_Bug_Test.cpp to check that the fix from Leonid Kvetnyi is correct and doesn't cause other problems. * tests/Recursive_Condition_Test.cpp (ACE_TMAIN): Minor reformatting. * ace/OS.i (recursive_mutex_cond_unlock): Added another check for m->RecursionCount > 1 to fix problems where the test program hangs. Thanks to Leonid Kvetnyi for this fix. * ace/Event_Handler_T.h: Changed typedef int (T::*SIG_HANDLER) (ACE_HANDLE, siginfo_t*, ucontext_t*); to this typedef int (T::*SIG_HANDLER) (int, siginfo_t*, ucontext_t*); so that we're consistent across platforms where ACE_HANDLE is a HANDLE, not an int! Thanks to Johnny Willemsen for reporting this. Fri Mar 14 22:26:56 2003 Nanbor Wang * bin/MakeProjectCreator/config/ciao_client.mpb: * bin/MakeProjectCreator/config/ciao_component.mpb: * bin/MakeProjectCreator/config/ciao_server.mpb: * bin/MakeProjectCreator/modules/Driver.pm: Merged in CIAO specific rules and default environment settings. These changes help me take advantage of Chad's and other's work without complicating my workspace. Most of other CIAO stuff are rather localized. These changes have no effect on others whatsoever. Fri Mar 14 11:49:27 2003 Steve Huston * tests/Cached_Allocator_Test.cpp: Fix access out-of-bounds error. Thanks to Alexander Libman for this fix. Thu Mar 13 16:11:48 2003 Ossama Othman * ace/Log_Msg.cpp (log_hexdump): * tests/Proactor_Test.cpp: Use the ACE_SIZE_T_FORMAT_SPECIFIER macro to specify the correct size_t format specifier. Fixes a warning exhibited on 32-bit and 64-bit g++ builds. Thu Mar 13 17:35:48 2003 Steve Huston * examples/C++NPv1/Logging_Handler.cpp (recv_log_record): * examples/C++NPv2/Logging_Handler.cpp (recv_log_record): Use ACE_CDR::grow(), not ACE_Message_Block::size(), to resize the CDR-receiving block. This maintains alignment across the resize. Thanks to Don Hinton for this fix. Thu Mar 13 07:40:05 2003 Chad Elliott * bin/MakeProjectCreator/templates/em3vcp.mpd: * bin/MakeProjectCreator/templates/nmake.mpd: * bin/MakeProjectCreator/templates/vc6dsp.mpd: * bin/MakeProjectCreator/templates/vc7.mpd: Committing Justin Michel's modifications to the intermediate directory to allow multiple projects within a single directory that use the same source files. This also has the side of organizing the generated object files into separate project directories underneath the main intermediate directory. Wed Mar 12 13:31:08 2003 Chad Elliott * bin/MakeProjectCreator/templates/em3vcp.mpd: * bin/MakeProjectCreator/templates/em3vcpdll.mpt: * bin/MakeProjectCreator/templates/em3vcpdllexe.mpt: * bin/MakeProjectCreator/templates/em3vcplibexe.mpt: * bin/MakeProjectCreator/templates/nmakedll.mpt: * bin/MakeProjectCreator/templates/nmakeexe.mpt: Fixed output directories for executables and pdb locations as below. Wed Mar 12 12:19:23 2003 Chad Elliott * bin/MakeProjectCreator/templates/vc6dsp.mpd: * bin/MakeProjectCreator/templates/vc6dspdll.mpt: * bin/MakeProjectCreator/templates/vc6dspdllexe.mpt: * bin/MakeProjectCreator/templates/vc6dsplibexe.mpt: * bin/MakeProjectCreator/templates/vc7.mpd: * bin/MakeProjectCreator/templates/vc7dll.mpt: * bin/MakeProjectCreator/templates/vc7exe.mpt: Fixed output directories for executables. Executables of different configurations now go into different directories. Also, we need to always generate pdb information for executables. Wed Mar 12 08:59:18 2003 Ossama Othman * ace/Log_Msg.cpp (log_hexdump): * tests/Proactor_Test.cpp: Another round of format specifier corrections. "%lu" instead of "%u". Addresses warnings in 64 bit platform builds. Wed Mar 12 10:42:40 2003 Chad Elliott * bin/MakeProjectCreator/modules/Creator.pm: Fixed a problem with projects that had a slash or back slash in the name. * bin/MakeProjectCreator/templates/vc6dsp.mpd: * bin/MakeProjectCreator/templates/vc6dspdllexe.mpt: * bin/MakeProjectCreator/templates/vc7.mpd: * bin/MakeProjectCreator/templates/vc7dll.mpt: * bin/MakeProjectCreator/templates/vc7exe.mpt: Make sure pdb files get generated for the right types and in the right locations. Wed Mar 12 09:54:51 2003 Chad Elliott Committing Paul Calabrese's MPC related changes. * ACEXML/common/ACEXML_Export.h: * ACEXML/common/common.mpc: * ACEXML/parser/parser/parser.mpc: * bin/MakeProjectCreator/config/acexml.mpb: Fix problems with ACEXML mpc files on windows. Wed Mar 12 08:36:12 2003 Douglas C. Schmidt * ace/FILE.cpp: Make the ACE_FILE::close() method check for a valid handle. Thanks to Paul Marquis for reporting this. Wed Mar 12 08:25:17 2003 Chad Elliott * bin/MakeProjectCreator/config/acedefaults.mpb: * bin/MakeProjectCreator/config/aceexe.mpb: * bin/MakeProjectCreator/config/acelib.mpb: * bin/MakeProjectCreator/config/global.mpb: Changed the global values to be generic and moved the defaults for ACE into the acedefaults base project. * bin/MakeProjectCreator/modules/ProjectCreator.pm: Fixed a bug where header and inline files would be added to a project even if they were specified to be empty. Wed Mar 12 07:03:54 2003 Chad Elliott * netsvcs/servers/Makefile.bor: Applying Trevor Fields modification. Change $(OBJDIRS) to $(OBJDIR). Tue Mar 11 14:12:46 2003 Chad Elliott * bin/MakeProjectCreator/USAGE: * bin/MakeProjectCreator/modules/Creator.pm: * bin/MakeProjectCreator/modules/Driver.pm: * bin/MakeProjectCreator/modules/ProjectCreator.pm: * bin/MakeProjectCreator/modules/WorkspaceCreator.pm: Added a -recurse option and fixed a problem with changing to non-existent directories. Mon Mar 10 18:10:31 2003 Steve Huston * ace/ARGV.h: Clarified the behavior of ACE_ARGV's behavior with respect to environment variable substitution; it only substitutes when the token is itself an environment variable reference and not if there's an environment variable reference contained within the token. e.g. $HOME will subtitute, $HOME/file will not. Mon Mar 10 14:03:11 2003 Chad Elliott * bin/MakeProjectCreator/modules/Creator.pm: * bin/MakeProjectCreator/modules/ProjectCreator.pm: * bin/MakeProjectCreator/modules/WorkspaceCreator.pm: Factor out code to detect duplicate project names to allow the WorkspaceCreator to use that same code to detect duplicate workspace names. Mon Mar 10 13:30:30 2003 Chad Elliott * bin/MakeProjectCreator/modules/ProjectCreator.pm: If an mpc file contains projects with duplicate names, MPC will issue a warning to that effect. Mon Mar 10 08:25:30 2003 Ossama Othman * ace/Log_Msg.cpp (log_hexdump): * tests/Proactor_Test.cpp: Corrected format specifier for size_t (unsigned integer) variable, i.e. "%u" instead of "%d". Fixes mismatched format specifier warnings. Mon Mar 10 07:36:59 2003 Chad Elliott * bin/MakeProjectCreator/modules/TemplateParser.pm: Fixed a bug where multiple uses of a $() variable would not be handled correctly with the -relative option. Thanks to Nanbor Wang for reporting this. Mon Mar 10 13:47:08 CET 2003 Oliver Kellogg * include/makeinclude/platform_g++_common.GNU: Cannot use CXX to determine compiler version because CXX might be set to "insure" and insure does not pass the -dumpversion option to the compiler. Sun Mar 9 10:17:16 2003 Edan Ayal * tests/Future_Set_Test.cpp: * tests/Future_Test.cpp: Printing order should be 'a,b,c,d,e' instead of 'a,b,c,e,d'. First sleep() replaced with ACE_Thread_Manager::instance()->wait(). Final sleep() is redundant, as the spawned threads are already dead. Prime_Scheduler::close() is called twice - once by the user (asking to close the task) and once by the framework, when the thread exists. This causes the task_count counter to be negative. Renamed the method to 'shutdown'. Change method declaration and definition (remove 'virtual' and all the arguments). Change the call in Method_Request_end::call to shutdown() instead of close() In the future set test, place different name commands in the name set, just to show that it can be done. Sat Mar 8 12:54:18 2003 Steve Huston * ace/Get_Opt.h: Clarified the role of the long_only argument for the ACE_Get_Opt constructor. Fri Mar 7 09:58:06 2003 Phil Mesnier * apps/mkcsregdb/Makefile: Fixed the install location so the make succeeds. Fri Mar 7 08:51:56 2003 Chad Elliott * bin/MakeProjectCreator/modules/Driver.pm: * bin/MakeProjectCreator/modules/Parser.pm: * bin/MakeProjectCreator/modules/ProjectCreator.pm: * bin/MakeProjectCreator/modules/StringProcessor.pm: Reverted my change from "Fri Mar 7 06:35:09 2003 Chad Elliott" to Parser.pm and factored out code from that module and Driver into a new module, StringProcessor.pm. Driver and Parser now inherit from StringProcessor. Fri Mar 7 07:19:46 2003 Chad Elliott * ACEXML/apps/svcconf/svcconf.mpc: * ACEXML/common/common.mpc: * ACEXML/examples/SAXPrint/SAXPrint.mpc: * ACEXML/parser/parser/parser.mpc: * ACEXML/tests/tests.mpc: Added mpc files for ACEXML related projects. * bin/MakeProjectCreator/config/acexml.mpb: Added an acexml base project to provide easy addition of ACEXML libraries to a project. * bin/MakeProjectCreator/modules/ProjectCreator.pm: Fixed the code to find the main() in a .cpp. Fri Mar 7 06:35:09 2003 Chad Elliott * bin/MakeProjectCreator/modules/Parser.pm: Fixed a bug introduced with the "Thu Mar 6 08:06:35 2003 Chad Elliott" modification of Driver.pm. I made $cwd part of the class instead of a static local. The value wasn't being updated properly since Driver.pm now "uses" Parser. Thanks to Steve Huston for bringing this to my attention. Thu Mar 6 18:14:21 2003 Steve Huston * include/makeinclude/platform_hpux_aCC.GNU: Rather than do the template closure as part of the AR command, set up PRELIB to do template closure; this allows static libs to build clean with the xargs method introduced to rules.lib.GNU. A side-affect of this is that the separate template closure step is also used for shared libraries, and thus, +inst_none needed to be added to SOFLAGS. Also set AR to /usr/ccs/bin/ar to be sure to pick up the native HP-supplied ar command. * examples/C++NPv1/Process_Per_Connection_Logging_Server.cpp: Don't reinterpret_cast on non-Windows. Not needed and aC++ complains. Also see: Wed Feb 19 10:41:20 2003 Steve Huston Thu Mar 6 14:49:37 2003 Steve Huston * apps/mkcsregdb/mkcsregdb.cpp: const_cast pointers that need to be delete[]-ed sp MSVC 6 doesn't complain. static_cast result of strtol() to ACE_CDR::UShort when needed. Thu Mar 6 11:41:46 2003 Chad Elliott * bin/MakeProjectCreator/USAGE: * bin/MakeProjectCreator/modules/Creator.pm: * bin/MakeProjectCreator/modules/Driver.pm: * bin/MakeProjectCreator/modules/ProjectCreator.pm: * bin/MakeProjectCreator/modules/WorkspaceCreator.pm: Added a -notoplevel option to allow processing to occur with no top level file created. Thu Mar 6 10:56:09 2003 Phil Mesnier * ace/Makefile.am: Adding codeset files to yet another makefile variant. Thu Mar 6 09:58:41 2003 Chad Elliott * bin/MakeProjectCreator/modules/NMakeWorkspaceCreator.pm: * bin/MakeProjectCreator/templates/nmake.mpd: * bin/MakeProjectCreator/templates/nmakedll.mpt: * bin/MakeProjectCreator/templates/nmakeexe.mpt: Added support for nmake on Win64. To generate nmake files use the following command line: mwc.pl -type nmake -value_template platforms=Win64 Thu Mar 6 08:06:35 2003 Chad Elliott * bin/MakeProjectCreator/modules/Driver.pm: Added an environment variable that allows users to set default command line parameters. The MPC_COMMANDLINE environment variable is added to the command line parameters. It will not override any arguments passed in. Wed Mar 5 21:45:39 2003 Steve Huston * ace/INET_Addr.cpp (get_port_number_from_name): Correct arg name for ACE_UNUSED_ARG. Suspected cut/paste error. * tests/ACE_Test.cpp: const_cast the pointers returned from ACE::execname() so they can be deleted on MSVC6. Wed Mar 5 07:05:11 2003 Phil Mesnier * ace/ace-dll.icc: * ace/ace-lib.icc: * ace/ace.icc: * ace/ace_dll64.mak: * ace/ace_lib64.mak: Added codeset registry files to more makefiles. Wed Mar 5 06:32:40 2003 Phil Mesnier * ace/Makefile.bor: * ace/ace_dll.dsp: * ace/ace_lib.dsp: Added codeset registry files and fixed spelling error in Makefile.bor. Wed Mar 5 06:10:48 2003 Phil Mesnier * ace/Makefile.bor: Added codeset registry files to makefile. Tue Mar 04 19:58:29 2003 Nanbor Wang * ACEXML/common/FileCharStream.cpp (determine_encoding): Commented out the annoying debug information. Users should get the encoding information from this->getEncoding(), instead of relying on the debug info. * ACEXML/common/LocatorImpl.cpp (reset): Remember to reset string pointers to 0 after deleteing them. Otherwise, a parser may crash if it is used to parse a second file. Tue Mar 4 17:39:31 2003 Steve Huston * docs/CE-status.txt: Updated to reflect the ACE 5.3 status of CE. * ace/ACE.cpp (execname): Try to locate ".exe" suffix without case sensitivity. Thanks to Kelly F. Hickel for reporting this. Also, when appending a suffix, append it to the name, not after the name's nul terminator. * ace/ACE.h: Clarified that the pointer returned, if allocated, is allocated using new[] and should be freed with delete[]. * tests/ACE_Test.cpp: * tests/ACE_Test.dsp: New test for ACE methods. At this time, it tests the ACE::execname() method fixed above. * tests/Makefile: * tests/Makefile.bor: * tests/tests.dsw: * tests/tests.mpc: * tests/run_test.lst: Added ACE_Test. Tue Mar 4 13:54:52 2003 Phil Mesnier * ace/Codeset_Registry.cpp: * ace/Codeset_Registry.h: * ace/Codeset_Registry.inl: New files added to support the codeset framework. The Codeset Registry is either a wrapper for dce code and character set registry functions, if the system supports them, or these fucntions are emulated. Only the functions necessary to support TAO's Codeset translation framework are emulated. * ace/Codeset_Registry_db.cpp: The codeset "database." A minimal list (2 entries) is shipped, see apps/mkcsregdb to build a new list of supported codesets as needed. * ace/CDR_Stream.h: Changed the interface on the ACE_[W]Char_Codeset_Translator class for the read_[w]char_array to take a non-const array as the out parameter. * ace/Makefile.ace: * ace/ace.mpc: Added the new codeset files to the makefile. * apps/mkcsregdb: A new application used to generate custom list of codeset identites. The description of how to run is in a comment at the top of ace/Codeset_Registry_db.cpp. Tue Jan 24 17:50:32 2003 Gonzalo Diethelm * ace/INET_Addr.cpp: Method string_to_addr() now uses ACE_OS_String::strtol() instead of the ugly hack using ACE_OS::strspn() and ACE_OS::atoi(). The two set() methods that receive a const char port_name[] now try first to parse that port_name as a simple number (like "901"), and if that fails they try to resolve the port name as a service. In order to implement this, I added a static helper function called get_port_number_from_name() (sorry for the awful name). Tue Mar 4 12:53:06 2003 Chad Elliott * bin/MakeProjectCreator/modules/ProjectCreator.pm: If no exe target or lib target is supplied, then search the source files for a main() and set the exename. Tue Mar 4 09:31:01 2003 Jeff Parsons * ace/Configuration.cpp: For temporary ACE_TStrings used internally, switched to the non-allocating constructor. Also made cosmetic changes and changed some ACE_TString assignments to use the nocopy assignment method added below. * ace/String_Base.h: * ace/String_Base.i: Added a nocopy assignment method. * ace/ace_dll.dsp: Added Unbounded_Queue.h to the project. Mon Mar 3 11:39:20 2003 Ossama Othman * ace/Strategies_T.h: Forward declare ACE_Service_Repository. Fixes a problem exposed by IBM Visual Age C++ 5 builds about unexpected text. Fri Feb 28 17:43:02 2003 Douglas C. Schmidt * ace/Service_Manager.h (ACE_Service_Manager): Changed private to protected. Thanks to Terry Mihm for suggesting this. Fri Feb 28 13:04:56 2003 Ossama Othman Changes necessitated by inter-header dependency reductions. * examples/Connection/non_blocking/CPP-acceptor.h: Include "ace/Svc_Handler.h" to pull in ACE_Svc_Handler template declaration. * examples/Connection/non_blocking/test_lsock_acceptor.cpp: * examples/Connection/non_blocking/test_tli_acceptor.cpp: Include "ace/Service_Config.h" to pull in ACE_Service_Config class declaration. Fri Feb 28 14:12:03 2003 Chad Elliott * bin/ChangeLogEditor/ChangeLogEdit.pm: * bin/ChangeLogEditor/ChangeLogEntry.pm: * bin/ChangeLogEditor/EmailTranslator.pm: * bin/ChangeLogEditor/FileLocator.pm: * bin/cle.pl: Added a ChangeLog editor script. It uses CVS to determine which files have been modified, added or removed and generates a blank ChangeLog entry in the existing ChangeLog. Fri Feb 28 13:18:17 2003 Chad Elliott * bin/MakeProjectCreator/modules/VC7WorkspaceCreator.pm: Fixed a problem with project dependencies. If the project dependency is not a project within the generated solution, then omit it. Fri Feb 28 07:49:00 2003 Chad Elliott * bin/MakeProjectCreator/modules/Creator.pm: * bin/MakeProjectCreator/modules/Parser.pm: Pulled the common code out of Creator and replaced it with a template method to collect the lines with possible line continuation. Fri Feb 28 12:33:01 UTC 2003 Johnny Willemsen * ace/SString.cpp: Also do the explicit template instantiations ACE_String_Base::NULL_String_ and ACE_String_Base::NULL_String_ when using VxWorks. Thu Feb 27 10:56:01 2003 Ossama Othman * tests/Proactor_Scatter_Gather_Test.cpp (initiate_read_file): Explicitly cast return value of ceil() to "size_t". Fixes a "loss of data" warning. Loss of data isn't an issue in this case. Thu Feb 27 10:53:38 2003 Ossama Othman * ace/Atomic_Op.cpp (single_cpu_exchange, multi_cpu_exchange): Fixed unused argument warnings. Thu Feb 27 10:46:01 2003 Ossama Othman Changes necessitated by inter-header dependency reductions. * apps/Gateway/Peer/Peer.h: * examples/ASX/Event_Server/Event_Server/Peer_Router.h: * examples/Connection/non_blocking/CPP-connector.h: * netsvcs/lib/Name_Handler.h: * netsvcs/lib/Server_Logging_Handler_T.h: * netsvcs/lib/TS_Clerk_Handler.h: * netsvcs/lib/TS_Server_Handler.h: Include "ace/Svc_Handler.h" to pull in ACE_Svc_Handler template declaration. * examples/Connection/non_blocking/test_sock_acceptor.cpp: * examples/Connection/non_blocking/test_spipe_acceptor.cpp: Include "ace/Service_Config.h" to pull in ACE_Service_Config class declaration. Thu Feb 27 11:24:14 2003 Chad Elliott * apps/gperf/src/gperf.mpc: Change the gperf project name to contain exe to allow the VC6ProjectCreator to create the correct dependencies. Thu Feb 27 10:41:33 2003 Chad Elliott * bin/MakeProjectCreator/modules/VC6WorkspaceCreator.pm: Add a warning if duplicate projects are detected in a generated workspace. Thu Feb 27 10:31:44 2003 Balachandran Natarajan * include/makeinclude/platform_linux_icc.GNU: The GNU file can now work with 64 bit intel compiler in Itanium. Thanks to Lubomir Bulej and Petr Tuma for providing the patches. * THANKS: Added Lubomir Bulej to the hall of fame. Thu Feb 27 10:22:05 2003 Balachandran Natarajan * ace/Synch.h: * ace/Synch.i: Added ACE_Null_Condition::wait (ACE_Null_Mutex &m, const ACE_Time_Value * = 0) which seems to be missing. Wed Feb 26 18:42:33 2003 Christopher Kohlhoff * ace/Makefile.bor: Removed ACE_LD_DECORATOR_STR definition from CFLAGS, as this macro is now defined by the common included makefiles. * ace/Synch.h: Added missing constructor overload and disown member function to the ACE_Guard template specialization. * ace/Atomic_Op.cpp: * ace/Atomic_Op.h: * ace/Atomic_Op.i: * tests/Atomic_Op_Test.cpp: Use InterlockedExchange (or the XCHG instruction) to provide strong memory-ordering when assigning to an atomic integer. * bin/MakeProjectCreator/Creator.pm: Added support for line continuation using backslash in .mpc files. Wed Feb 26 11:55:20 2003 Chad Elliott * ace/ace.mpc: Added POSIX_CB_Proactor.cpp to the Demux files. * bin/MakeProjectCreator/modules/TemplateParser.pm: Modification to allow users to name the foreach variable. Wed Feb 26 07:39:58 2003 Chad Elliott * bin/MakeProjectCreator/README: * bin/MakeProjectCreator/modules/ProjectCreator.pm: Changed the defaulting behavior if neither exename, sharedname or staticname are defined in an mpc file. Tue Feb 25 22:26:30 2003 Krishnakumar B * ace/Malloc.h: * ace/Malloc.cpp: * ace/Malloc.h: * ace/Malloc_T.cpp: * ace/PI_Malloc.cpp: * ace/PI_Malloc.h: Teach ACE_Control_Block and friends to do alignment on 64-bit platforms. The previous code was buggy and caused a lot of bus errors on platforms with greater than 4-byte alignment. We no longer multiply and divide by sizeof (long) and do the alignment based on sizeof (union ACE_max_align_info). This change also makes the default alignment to be at 8-byte boundary (which is ofcourse overridable) and errs in favour of safe code by default vs optimization for code size. This should get rid of bug reports on SGI IRIX, Solaris 64-bit etc related to ACE_*_Allocator and friends. Also fixed a couple of rounding errors which result in core dumps, in ACE_Cached_Allocator and ACE_Dynamic_Cached_Allocator where we happily traverse memory irrespective of alignment of the chunk_size. Thanks to Dave Mercer for reporting the problem. One of the items from the long list of pending items post-5.3.1. * ace/OS_Memory.h: Removed the definition of ACE_MALLOC_ALIGN from this file. ACE_MALLOC_ALIGN is an internal definition of Malloc.h and should have no business in OS_Memory.h. * include/makeinclude/rules.lib.GNU: Use echo on VLOBJS instead of find with *.o. This fixes build problems on lame platforms like MacOS X where ar doesn't generate an index and need to use ranlib. Probably the right thing to do even otherwise since there might be more objects in .{sh,}obj than needed for a library. Tue Feb 25 10:00:54 2003 Ossama Othman * ace/CDR_Base.h (LongLong): * ace/CDR_Base.inl: * ace/CDR_Base.cpp: Removed newly added 32-bit assignment and comparison operators. Comparison is non-trivial in this signed case, and assignment operators are a potential source of confusion when implicit conversions are performed. This change basically reverts ACE_CDR::LongLong to its previous implementation, and also addresses some build problems on platforms with non-native 64 bit signed integers (e.g. VxWorks). Tue Feb 25 08:09:13 2003 Ossama Othman * ace/Atomic_Op_T.h (mutex_): Removed "mutable" keyword from this reference member. IBM's Visual Age C++ considers mutable reference members invalid. * ace/Atomic_Op_T.i: Go back to casting away the const-ness of the above mutex reference member in const methods. Tue Feb 25 09:57:07 2003 Chad Elliott * bin/MakeProjectCreator/templates/gnu.mpd: Clean up the generated targets with the GNU Makefiles. Tue Feb 25 09:24:06 2003 Douglas C. Schmidt * ace/OS.cpp: Added an emulation for localtime_r() for WinCE. Thanks to Martin Brown for reporting this. Tue Feb 25 08:40:12 2003 Chad Elliott * bin/MakeProjectCreator/templates/gnu.mpd: Always generate a realclean target, but only add idl generated files if we had idl_files to work with. Tue Feb 25 07:56:59 2003 Chad Elliott * bin/MakeProjectCreator/USAGE: Updated the documentation to reflect the removal of the 3 character restriction on type names. * bin/MakeProjectCreator/config/avstreamsexe.mpb: Inherit from namingexe instead of reproducing the same information. * bin/MakeProjectCreator/config/rteventexe.mpb: Inherit from server instead of reproducing the same information. * bin/MakeProjectCreator/modules/Driver.pm: Removed the restriction of a 3 character type. * bin/MakeProjectCreator/modules/BorlandProjectCreator.pm: * bin/MakeProjectCreator/modules/GHSProjectCreator.pm: * bin/MakeProjectCreator/modules/GNUProjectCreator.pm: * bin/MakeProjectCreator/modules/NMakeProjectCreator.pm: * bin/MakeProjectCreator/modules/ProjectCreator.pm: * bin/MakeProjectCreator/modules/VC7ProjectCreator.pm: Refactor code into the base class. * bin/MakeProjectCreator/modules/BorlandWorkspaceCreator.pm: * bin/MakeProjectCreator/modules/GHSWorkspaceCreator.pm: * bin/MakeProjectCreator/modules/GNUWorkspaceCreator.pm: * bin/MakeProjectCreator/modules/NMakeWorkspaceCreator.pm: * bin/MakeProjectCreator/modules/WorkspaceCreator.pm: Made modifications to these modules to allow an mwc file to have multiple workspaces defined within it. * bin/MakeProjectCreator/templates/gnu.mpd: Cosmetic change. * bin/MakeProjectCreator/modules/MakeWorkspaceCreator.pm: * bin/MakeProjectCreator/modules/MakeProjectCreator.pm: * bin/MakeProjectCreator/templates/make.mpd: * bin/mpc.pl: * bin/mwc.pl: Added a new project type for generic Makefiles. These are not suitable for use within ACE or TAO, but may be useful to someone. Mon Feb 24 15:37:06 2003 Douglas C. Schmidt * ace/TTY_IO.h (ACE_TTY_IO): Added the dtrdisable member to Serial_Params. This finishes a fix suggested by Ray Limpus . Thanks to Jeff Parsons for noticing this. Mon Feb 24 08:53:52 2003 Ossama Othman * ace/Basic_Types.i (operator++, operator--): Fixed incorrect dereferencing of non-pointer return variable. Sun Feb 23 12:16:34 2003 Douglas C. Schmidt * ace/WIN32_Asynch_IO.cpp (cancel): Added support for cancel() on MinGW. Thanks to Vince for this fix. * examples/Mem_Map/Makefile: Moved the definition of DIRS to later in the Makefile so we can exclude it from the MinGW build. Thanks to Vince for reporting this, as well. * ace/WIN32_Proactor.cpp (close): Make sure to check whether GetQueuedQueuedCompletion() returns false. Thanks to Vince Mounts for reporting this. Sat Feb 22 08:16:36 2003 Ossama Othman * ace/Basic_Types.h (operator++, operator--): Fixed return type mismatch between declaration and definition in Basic_Types.i. Fri Feb 21 22:21:49 2003 Steve Huston * ace/OS.i: Removed the #if !defined (ACE_HAS_WINCE) around the ACE_OS::vsprintf() method. It's available on CE. Thanks to Emmanuel Thevenot Beaufort for this fix. Also enabled ACE_OS::fgets(), fflush(), thr_getspecific() similarly. Fri Feb 21 12:52:00 2003 Ossama Othman * ace/Global_Macros.h: * ace/OS.h: Moved ACE_CORBA_{1,2,3} and ACE_NESTED_CLASS macro out of OS.h and into Global_Macros.h. Helps avoid inclusion of OS.h in some cases. Fri Feb 21 10:05:23 2003 Ossama Othman * ace/Local_Name_Space_T.cpp: Include "ace/Auto_Ptr.h" once again to pull in the ACE_Auto_Basic_Array_Ptr class declaration. Fixes compile-time problems on AIX about unknown template types. Fri Feb 21 13:32:43 2003 Edward Scott * docs/bugzilla-build-setup.html: Removed obsolete documentation file. Thanks to Johnny Willemsen for reporting the problem. Fri Feb 21 06:18:19 2003 Ossama Othman * tests/Framework_Component_DLL.cpp: Include "ace/Service_Object.h" to pull in ACE_Service_Object class declaration. Necessitated by inter-header dependency reductions. Thu Feb 20 18:54:03 2003 Ossama Othman * apps/Gateway/Gateway/gatewayd.cpp: Include "ace/Service_Object.h" to pull in ACE_Service_Object_Ptr class declaration. Necessitated by inter-header dependency reductions. Thu Feb 20 18:49:37 2003 Ossama Othman * examples/Service_Configurator/Misc/Timer_Service.h: Include "ace/Service_Object.h" to pull in ACE_Service_Object class declaration. Necessitated by inter-header dependency reductions. Thu Feb 20 18:45:29 2003 Ossama Othman * examples/C++NPv2/Service_Reporter.cpp: Include "ace/Service_Types.h" to pull in ACE_Service_Type_Impl class declaration. Necessitated by inter-header dependency reductions. Thu Feb 20 18:31:10 2003 Ossama Othman * ace/Strategies_T.cpp: Fixed "lose of const in cast" errors. Thu Feb 20 18:20:19 2003 Ossama Othman * ace/SSL/SSL_SOCK_Acceptor.h (ACE_SSL_SOCK_Acceptor): Reverted the change that made this class inherit privately from ACE_SSL_SOCK instead of publically. While this isn't strictly the correct thing to do, IMO, it does correct some compile-time problems. * ace/SSL/SSL_SOCK_Connector.cpp (ssl_connect): Fixed compile-time error related to violation of a const qualifier on a pointer to the timeout value. Thu Feb 20 19:18:17 2003 Balachandran Natarajan * ChangeLogs/ChangeLog-02b: * ChangeLogs/ChangeLog-03a: New files having all the old ChangeLog entries till 5.3.1. * ChangeLog: Shortened the changelog for ease of use. Thu Feb 20 10:35:15 2003 Ossama Othman * ace/Strategies_T.h: * ace/Strategies_T.cpp: Reverted part of changes that introduced extensive use of traits since they were forcing the introduction of the ACE_TYPENAME macro in more places than is desirable at this point in time. They may be reintroduced in the future. Thu Feb 20 09:24:00 2003 Ossama Othman * ace/Service_Config.h: Forward declare ACE_Service_Object. Necessitated by inter-header dependency reductions. Thu Feb 20 09:23:51 2003 Ossama Othman * ace/Acceptor.h: * ace/Connector.h: No need to include "ace/Service_Config.h" and "ace/Svc_Handler.h". Include "ace/Synch_Options.h". Necessitated by inter-header dependency reductions. * ace/Acceptor.cpp: * ace/Connector.cpp: Include "ace/Svc_Handler.h". Necessitated by inter-header dependency reductions. * ace/Atomic_Op.h: Fixed doxygen documentation. * ace/Atomic_Op.i (operator++, operator--): Implement these post{in,de}crement operators in terms of their corresponding pre{in,de}crement operators to ensure consistent semantics. * ace/Atomic_Op_T.h (mutex_, own_mutex_): Improved const-correctness by making these mutex members mutable. This allows us to avoid casting away the constness. * ace/Atomic_Op_T.i (operator==, operator>=, operator>): (operator<=, operator<, value, operator=): Do not cast away the constness of the mutex. That hack is no longer necessary since the mutex is now mutable. * ace/Basic_Types.h: Improved doxygen documentation. Moved endianness determination macros prior to ACE_U_LongLong class. (operator=): Added ACE_ULongLong assignment operator declarations that accept 32 bit signed and unsigned integers. (operator++, operator--): Added missing ACE_ULongLong post{in,de}crement operator declarations. (data_): Make declaration order of lower and upper 32 bit members (lo_ and hi_) of this structure dependant on the endianness of the platform. This mimics what is done for the ACE_LongLong type in the ACE_CDR classes. * ace/Basic_Types.i (operator=): Added ACE_ULongLong assignment operator implementation that accept 32 bit signed and unsigned integers. (operator++, operator--): Added missing ACE_ULongLong post{in,de}crement operator implementations. * ace/CDR_Base.cpp (mb_align): Uninlined this method in order to reduce inter-header dependencies. (operator<, operator<=, operator>, operator>=, operator==): (operator!=): Added these missing operator for the ACE_LongLong type. (Float, operator=, operator!=): Fixed potential unused argument warnings for the Cray/UNICOS case. * ace/CDR_Base.h: Include "ace/OS.h" instead of "ace/Message_Block.h", and forward declare ACE_Message_Block in order to reduce inter-header dependencies. Changed all uses of typedefs like "u_char" and "u_long" to their non-typedef counterparts, e.g. "unsigned char" and "unsigned long". Makes it possible to avoid including headers that contain those typedefs. (operator=): Added ACE_LongLong constructors assignment operators that accept 32-bit integers. (operator==, operator!=, operator<=, operator<, operator>=): (operator>): Added these missing ACE_LongLong relation operators. * ace/CDR_Base.inl (operator=): Added ACE_LongLong constructors assignment operators that accept 32-bit integers. (operator==, operator!=, operator<=, operator<, operator>=): (operator>): Added these missing ACE_LongLong relation operators. * ace/CDR_Stream.h: Moved definition of the ACE_CDR_BYTE_ORDER macros from OS.h to this header. Helps with header dependency reduction. * ace/Capabilities.h: Use ACE_Hash_Map_Manager_Ex instead of ACE_Hash_Map_Manager. Doing so saves us three template instantiations. * ace/Capabilities.i: Cosmetic changes. * ace/Capabilities.cpp: No need to include "ace/Map_Manager.h". Added missing ACE_RCSID macro. Improved conformance to ACE coding conventions. Removed explicit template instantiations for the ACE_Hash_Map_Manager template. That template is no longer used. (reset_caps): Use ACE_Hash_Map_Manager_Ex template traits instead of the actual template type. Makes for cleaner code. * ace/Configuration.cpp: * ace/Configuration.h: * ace/Strategies_T.cpp: * ace/Token_Collection.cpp: * ace/Token_Collection.h: * ace/Token_Invariants.cpp: * ace/Token_Invariants.h: * ace/Token_Manager.cpp: * ace/Token_Manager.h: * ace/WIN32_Asynch_IO.cpp: * ace/WIN32_Asynch_IO.h: Take advantage of template traits to improve clarity of code. * ace/Copy_Disabled.h: Corrected comment. * ace/Default_Constants.h: Moved ACE_DEFAULT_CDR_BUFSIZE, ACE_DEFAULT_CDR_EXP_GROWTH_MAX, ACE_DEFAULT_CDR_LINEAR_GROWTH_CHUNK, ACE_DEFAULT_CDR_MEMCPY_TRADEOFF macros from OS.h to this header. Helps with inter-header dependency reduction. * ace/Dynamic_Service_Base.cpp: * ace/Parse_Node.cpp: * ace/Service_Manager.cpp: * ace/Service_Repository.cpp: * ace/Svc_Conf.y: * ace/Svc_Conf_y.cpp: Include "ace/Service_Types.h". Necessitated by inter-header dependency reduction. * ace/Filecache.h: * ace/Filecache.cpp: * ace/Hash_Map_With_Allocator_T.h: * ace/Hash_Map_With_Allocator_T.cpp: * ace/Local_Name_Space_T.h: * ace/Local_Name_Space.cpp: Use ACE_Hash_Map_Manager_Ex instead of ACE_Hash_Map_Manager. Doing so saves us three template instantiations. * ace/Future_Set.h: * ace/Map_T.h: Include "ace/Hash_Map_Manager_T.h" instead of "ace/Hash_Map_Manager.h". The former is all that is needed, and the latter already includes the former. * ace/Hash_Map_Manager_T.i (operator++, operator--): * ace/Map_Manager.i: * ace/RB_Tree.i: Implement the post-{in,de}crement operators in terms of their pre-{in,de}crement operator counterparts to ensure consistency. * ace/Local_Name_Space_T.cpp: No need to include "ace/Auto_Ptr.h" Use template traits to improve code clarity. * ace/OS.h: Moved ACE_CDR_BYTE_ORDER macro definition to CDR_Stream.h. Helps with inter-header dependencies. Moved ACE_DEFAULT_CDR_BUFSIZE, ACE_DEFAULT_CDR_EXP_GROWTH_MAX, ACE_DEFAULT_CDR_LINEAR_GROWTH_CHUNK, ACE_DEFAULT_CDR_MEMCPY_TRADEOFF to Default_Constants.h. Helps with inter-header dependency reduction. * ace/POSIX_Asynch_IO.cpp: Added missing ACE_RCSID macro. (bytes_transferred): Use map template traits to improve code clarity. * ace/POSIX_Asynch_IO.h: Redefined old map typedefs in terms of the map traits. * ace/Parse_Node.h: * ace/Service_Repository.h: No need to include "ace/Service_Types.h". A forward declaration for ACE_Service_Types is enough. * ace/Service_Config.h: No need to include "ace/Service_Types.h" and "ace/Signal.h". Forward declaring ACE_Service_Types and ACE_Sig_Adapter is enough. * ace/Strategies_T.h: No need to include "ace/Service_Config.h" and "ace/Synch_Options.h". * ace/Synch_Options.h: Changed all uses of typedefs like "u_char" and "u_long" to their non-typedef counterparts, e.g. "unsigned char" and "unsigned long". Makes it possible to avoid including OS.h. A big win in compile time reduction. Include "ace/Time_Value.h". Necessitated by inter-header dependency reduction. * ace/Synch_Options.cpp: Changed all uses of typedefs like "u_char" and "u_long" to their non-typedef counterparts, e.g. "unsigned char" and "unsigned long". Makes it possible to avoid including OS.h. A big win in compile time reduction. Include "ace/Trace.h". Necessitated by inter-header dependency reduction. * ace/Template_Instantiations.cpp: Removed all ACE_Hash_Map_Manager related template instantiations. The ones for ACE_Hash_Map_Manager_Ex are all that are needed. * ace/SSL/SSL_SOCK_Acceptor.h (ACE_SSL_SOCK_Acceptor): Inherit privately from ACE_SSL_SOCK, instead of publically. ACE_SSL_SOCK_Acceptor is IMPLEMENTED-IN-TERMS-OF ACE_SSL_SOCK. It does not satisfy the IS-A relationship. * ace/SSL/SSL_SOCK_Connector.cpp (ssl_connect): Use ACE_Countdown_Time to take into account the time between each call to select() instead of using the same timeout value in each loop iteration. [Bug 1110] * ace/SSL/SSL_SOCK_Stream.cpp (get_remote_addr): Retrieve the remote addr from the parent ACE_SSL_SOCK class, not ACE_SOCK. Addresses potential inconsistencies in the future. * ace/SSL/SSL_SOCK_Stream.h (ACE_SSL_SOCK_Stream): Removed friend declarations for the ACE_SSL_SOCK_{Acceptor,Connector} classes. They are unnecessary. Wed Feb 19 10:41:20 2003 Steve Huston * examples/C++NPv1/Process_Per_Connection_Logging_Server.cpp: In run_worker(), use ACE_reinterpret_cast, not ACE_static_cast, to convert an int to an ACE_HANDLE. Thanks to Vince Mounts for reporting this. Tue Feb 11 17:14:56 2003 Douglas C. Schmidt * ace/TTY_IO.cpp: Fixed several problems with DTR enabling. Thanks to Ray Limpus for reporting this. Thu Feb 6 16:36:18 2003 Douglas C. Schmidt * ace/Bound_Ptr.{h,i}: Made the get() method const. Thanks to Chris Kohlhoff for reporting this.