Tue Dec 31 21:21:26 2002 Balachandran Natarajan * bin/generate_topinfo_charts.sh: * bin/topinfo_stats.sh: Scripts to track the memory usage and plot them. At present it works only for the simple test in $TAO_ROOT/performance-tests/Memory/Single_Threaded. Tue Dec 31 17:57:19 2002 Steve Huston * examples/Service_Configurator/IPC-tests/server/Handle_Thr_Stream.h: Add #include "ace/Svc_Handler.h" Tue Dec 31 17:50:39 2002 Steve Huston * ace/OS.h: For WinCE 4 (.NET) and up, include rather than typedef-ing ptrdiff_t. Tue Dec 31 17:26:41 2002 Steve Huston * tests/tests.mpc (DLL Test Lib): Add dllflags = ACE_BUILD_SVC_DLL to add the correct /D option. The source uses ACE_Svc_Export to flag dll import/export correctly. * tests/CE_fostream.h: #include "ace/config-all.h" before checking for #if defined (ACE_HAS_WINCE). Tue Dec 31 15:05:42 2002 Steve Huston * ACEXML/apps/svcconf/Svcconf.cpp: Changed the condition for when a dummy entrypoint is needed from AIX 4.3 to AIX and Visual Age C++ version 5. Thanks for Jon Wackley for this adjustment. Also see: Fri Dec 27 19:46:31 2002 Steve Huston * netsvcs/clients/Naming/Client/Makefile: If building this stuff, reset OBJDIRS to $(VDIR) and $(VSHDIR) to clean up both. Mon Dec 30 21:30:41 2002 Steve Huston * include/makeinclude/platform_hpux_gcc.GNU: Removed the SOVERSION= line to allow versions libraries to be set up properly. * ace/Based_Pointer_Repository.cpp: * ace/Dynamic.cpp: * ace/SString.cpp: * tests/Framework_Component_DLL.cpp: * tests/MEM_Stream_Test.cpp: * tests/Process_Strategy_Test.cpp: * tests/Timeprobe_Test.cpp: * apps/drwho/File_Manager.cpp: * examples/IPC_SAP/SOCK_SAP/CPP-inclient.cpp: * examples/IPC_SAP/SOCK_SAP/CPP-inserver-fancy.cpp: * examples/Logger/Acceptor-server/server_loggerd.cpp: * examples/Logger/simple-server/server_loggerd.cpp: * examples/Threads/auto_event.cpp: * examples/Threads/tss2.cpp: Add __hpux to the conditions needed to instantiate static template members. Also see Sat Nov 23 18:12:37 2002 Steve Huston Mon Dec 30 19:32:18 2002 Steve Huston * tests/Codecs_Test.cpp: Add explicit template instantiation for ACE_Auto_Basic_Array_Ptr. Mon Dec 30 18:44:20 Steve Huston * examples/C++NPv2/TP_Logging_Server.cpp: * examples/IPC_SAP/SOCK_SAP/CPP-inclient.cpp: * examples/IPC_SAP/SOCK_SAP/CPP-inserver-fancy.cpp: * examples/Logger/Acceptor-server/server_loggerd.cpp: * examples/Logger/simple-server/server_loggerd.cpp: * examples/Threads/auto_event.cpp: * examples/Threads/tss2.cpp: * performance-tests/Misc/test_singleton.cpp: More singleton_ instantiations for g++ on AIX. Mon Dec 30 18:11:39 2002 Steve Huston * apps/drwho/File_Manager.cpp: Add explicit instantiation of ACE_Singleton::singleton_. Similar to those done for: Tue Dec 3 20:47:39 2002 Steve Huston Mon Dec 30 17:38:31 2002 Steve Huston * examples/Service_Configurator/IPC-tests/server/Handle_Thr_Stream.cpp: For Visual Age C++ 5 and up on AIX, explicitly instantiate the CLI_Stream<> constructor. The compiler misses this one when instantiating templates. Thank you very much to Jonathan Wackley for diagnosing this problem and leading to a workaround. Mon Dec 30 15:25:26 2002 Nanbor Wang * ACEXML/common/StrCharStream.cpp (open): * ACEXML/common/FileCharStream.cpp (open): Changed to allow open to succeed if automatic determination of encoding fails. This allows the "Simple parsing" feature of ACEXML to work. Thanks to Michael F"olsl for reporting the problem. * ACEXML/examples/SAXPrint/main.cpp: Added a new option to test out ACEXML's simpling parsing feature. * ACEXML/examples/SAXPrint/simple.svcconf.xml: Added this new "simple" XML document to test out the "Simple" parsing feature in ACEXML. Mon Dec 30 12:21:33 2002 Balachandran Natarajan * bin/MakeProjectCreator/config/taoversion.mpb: Fixed the version information. This should automatically get updated during the next beta/release. Sun Dec 29 18:27:38 2002 Balachandran Natarajan * bin/auto_run_tests.lst: Prevented BiDirGIOP tests from running in GIOP 10 builds. Sun Dec 29 16:43:03 2002 Nanbor Wang * ACEXML/common/FileCharStream.cpp (close): Changed to reset the file pointer, filename_ and encoding_ strings after they are release. Thanks to Andrew Marlow for suggesting the change. Sun Dec 29 00:47:58 2002 Balachandran Natarajan * bin/auto_run_tests.lst: Security tests using SSLIOP will not be run in static builds. Sat Dec 28 23:05:51 2002 Steve Huston * bin/make_release: Use -relative to replace ACE_ROOT with a relative path in generated makefiles. Sat Dec 28 13:16:24 2002 Nanbor Wang * ace/MEM_IO.cpp (recv_buf): Reverted my previous hack in: Fri Dec 27 08:38:29 2002 Nanbor Wang and make the connection close handling more robust. * tests/MEM_Stream_Test.cpp: Reverted my previous change in: Sat Dec 28 11:04:38 2002 Nanbor Wang It was not necessary. Added debug information for close connection. Sat Dec 28 11:04:38 2002 Nanbor Wang * tests/MEM_Stream_Test.cpp: Made sure this test ignore the EIO error from the following change when a connection was closed. Fri Dec 27 08:38:29 2002 Nanbor Wang Fri Dec 27 20:06:39 2002 Nanbor Wang * ace/Malloc_T.h: * ace/Malloc_T.i: * ace/Malloc_T.cpp: Added a new ACE_Malloc_T::bad () method to query whether a Malloc_T object was constructed successfully. This approach, IMO, is sub-optimal compared to using an explicit init method approach. The existing constructor signatures, however, prevent us from doing so without breaking backward compatibility. * ace/MEM_SAP.cpp: Now that there's a way to check whether the underlying Malloc is functioning or not. Changed MEM_SAP to check for proper initialization of underlying Malloc object and clean up OS resources if the Malloc object is defected. This change makes MEM_Stream transport mechanism more robust. Fri Dec 27 19:46:31 2002 Steve Huston * ACEXML/apps/svcconf/Svcconf.cpp: Add a dummy entrypoint when ACE_USES_CLASS_SVC_CONF == 0 on AIX 4.3. Else the AIX 4.3 linker complains there are no csects or exported symbols saved at link time. Thanks to Jon Wackley for reporting this problem. Fri Dec 27 17:43:29 2002 Steve Huston * ace/OS.h: For WinCE, only typedef ptrdiff_t for _WIN32_WCE < 400. eMbedded Visual C++ 4 (Win CE.NET) defines this type. * bin/MakeProjectCreator/templates/em3vcp.mpd: Removed /M$(CECrtMT) from the CPP options. Neither evc3 nor 4 support any /M options to set the C run-time like MSVC does. It's controlled via the _DEBUG macro only. This also allows the generated vcp file to be used with either evc3 or evc4 (Windows CE .NET). evc3 ignored the option, but evc4 flags it as unknown. Fri Dec 27 08:38:29 2002 Nanbor Wang * ace/MEM_IO.cpp (recv_buf): Changed to return error (-1) and set the errno to EIO when we receive 0 byte off the signaling socket as this should never happen under normal circumstance. However, on Win32 and Solaris, when one end of a connection closes the socket while the other end is still reading the socket, the active end will continuously receive several 0 bytes messages. This confuses the hack of the MEM_IO mechanism and causes the memory management routine to fall into a tight spinning deadlock. Fri Dec 27 07:49:28 2002 Craig Rodrigues * ace/config-macosx.h: Remove temporary hacks for buggy gcc 3.1 compiler. Thanks to John Zorko for reminding me about this. * examples/Service_Configurator/IPC-tests/server/Makefile: * examples/Service_Configurator/Misc/Makefile: * examples/Timer_Queue/Makefile: Add ACELIBS to ACE_SHLIBS to fix MacOS X linking problem. Thu Dec 26 17:11:54 2002 Balachandran Natarajan * bin/make_release: Fixed the following problems in the release script which caused problems during the beta cutting process: - cvs commits of TAO/Changelog TAO/VERSION etc. failed. The failure was because we were also commiting taoversion.mpb but from $TAO_ROOT as "cvs commit ChangeLog VERSION other_files ../bin/Makeyada". Using ../ to indicate files in higher directories is an unpardonable mistake for cvs 1.10.x. It used to work 1.9.x. But with 1.10* versions the protocol changed disallowing the ../ - we didnt set the file permissions on the generated files properly - the generated files from mpc were not added to the list of files for which LF->CRLF conversions are supposed to be masked during zip! Thu Dec 26 16:17:41 2002 Steve Huston * tests/tests.mpc: For DLL Test Lib, the source is DLL_Test_Impl.cpp, not DLL_Test.cpp. Thu Dec 26 09:14:38 2002 Balachandran Natarajan * Makefile: Removed configure.in from the list of controlled files. Thu Dec 26 07:36:10 2002 Balachandran Natarajan * include/makeinclude/platform_freebsd_pthread.GNU: Removed for sure now. This should have been removed in this "Thu Nov 14 22:47:45 UTC 2002 Craig Rodrigues " checkin. Again, thanks to Craig for catching this. Thu Dec 26 07:31:42 2002 Balachandran Natarajan * apps/Gateway/Gateway/Makefile: Fixed a ttypo. Thanks to Craig Rodrigues for catching this. Wed Dec 25 17:47:12 2002 Bala * ACE version 5.2.8 released. Wed Dec 25 17:39:05 2002 Balachandran Natarajan * bin/make_release: Fixed problems with generation of vcproj etc. Wed Dec 25 06:14:17 2002 Douglas C. Schmidt * Merry Christmas to all. May we have peace and justice for all in 2003. Tue Dec 24 17:29:11 2002 Balachandran Natarajan * docs/ACE-subsets.html: Documented the compiler options that Steve Vranyes experimented and tested with to get a good footprint reduction on Solaris. Tue Dec 24 07:31:54 2002 Balachandran Natarajan * ace/Argv_Type_Converter.h: * ace/Argv_Type_Converter.cpp: Reverted the following changes "Mon Dec 23 17:26:42 2002 Steve Huston " and "Mon Dec 23 22:57:18 2002 Balachandran Natarajan ". The argument parsing in TAO gets busted due to these changes and most of tests in our daily builds fail. Mon Dec 23 22:57:18 2002 Balachandran Natarajan * ace/Argv_Type_Converter.h: Changed saved_argc_ to be of type int as opposed to int &. This seems to be necessitated by the change "Mon Dec 23 17:26:42 2002 Steve Huston " which gives compile errors on all platforms. Mon Dec 23 21:07:20 2002 Steve Huston * bin/MakeProjectCreator/templates/em3vcpdll.mpt: Changed the Debug define from DEBUG to _DEBUG, matching all others, and what the ACE files expect. Fixes mismatch inlines in ACE tests. * tests/tests.mpc: Added CE_fostream.cpp to the CDR_File_Test inputs. * tests/CE_fostream.{cpp h}: Added #if defined (ACE_HAS_WINCE) to prevent trying to compile this on non-CE systems. Mon Dec 23 17:26:42 2002 Steve Huston * ace/OS.h (main): For WinCE, eVC can't grok the #include within the 'main' macro expansion, so #include "ace/Argv_Type_Converter.h" is moved outside the macro definition. * ace/Argv_Type_Converter.{h cpp} (ctor): Change argc from int& to int, else it can't be used in the way it's already coded into use in the 'main' definition (above, OS.h). * tests/Dev_Poll_Reactor_Test.cpp: * tests/Proactor_Test.cpp: * tests/Proactor_Scatter_Gather_Test.cpp: Changed main() to ACE_TMAIN(). * tests/FlReactor_Test.cpp: * tests/XtReactor_Test.cpp: Add /**/ between #include and filename to silence MS warnings about missing files during dependency updates. Mon Dec 23 16:16:05 2002 Boris S Kolpackov * bin/auto_run_tests.lst: Added TAO/orbsvcs/tests/Security/Crash_Test to the list of tests. Mon Dec 23 17:08:17 2002 Balachandran Natarajan * THANKS: Changed Boris's information in the Hall of Fame. Mon Dec 23 12:13:51 2002 Steve Huston * examples/C++NPv1/Process_Per_Connection_Logging_Server.h: Add 'public' keyword to Process_Per_Connection_Logging_Server's inheritance from Logging_Server. * examples/C++NPv2/Makefile: Add a $(RM) -rf tempinc after each mkfile make to clean up template instantiations for Visual Age C++ on AIX. * examples/C++NPv2/Makefile.SLD: Add Logging_Handler to the files comprising this service. * examples/C++NPv2/Makefile.SLDex: Added Logging_Acceptor, Logging_Event_Handler, and Logging_Handler to the files for this service. Removed the TEMPINC trick for Visual Age C++ to keep the templates from each compile around for the link stage where they're needed. * examples/C++NPv2/Makefile.CLD: Added Logging_Handler to files. Remove TEMPINC destruction from each compile. * examples/C++NPv2/Makefile.TPLS: Add Logging_Handler to files. Remove TEMPINC destruction from each compile. Mon Dec 23 14:05:21 UTC 2002 Johnny Willemsen * ace/config-cygwin32-common.h: When ACE_IOV_MAX is not defined, define it is 64. The Cygwin header files define IOV_MAX as MAX_INT-1 and ACE_IOV_MAX is defined as IOV_MAX by default. Allocating an array of this size on the stack results in compile errors, so we define ACE_IOV_MAX to a smaller and more realistic number. Mon Dec 23 12:16:33 UTC 2002 Johnny Willemsen * ace/RMCast/RMCast_IO_UDP.cpp: * ace/RMCast/RMCast_Fragment.cpp: Use ACE_IOV_MAX instead of IOV_MAX. Mon Dec 23 12:02:33 UTC 2002 Johnny Willemsen * bin/ace_ld: Extended this perl script so that the location of the __ctordtor.o can be passed as -o command line option. The location is dependent on the $VDIR in the vxworks make files. * include/makeinclude/platform_vxworks5.x_diab.GNU: * include/makeinclude/platform_vxworks5.x_g++.GNU: When calling the ace_ld perl script, pass the $VDIR as command line option -o to the script. Sun Dec 22 11:41:56 2002 Balachandran Natarajan * ace/Connector.cpp: Fixed fuzz errors. Sun Dec 22 11:37:44 2002 Balachandran Natarajan * THANKS: Added Daniel White to the hall of fame! Sun Dec 22 11:31:53 2002 Craig Rodrigues * apps/Gateway/Gateway/Makefile: * apps/Gateway/Peer/Makefile: Add $(ACELIB) to $(ACE_SHLIBS) so that -lACE is added to the linkline when a shared library is built. Solves linking problem MacOS X. Thanks to John Zorko and Daniel white for pointing this out. Sun Dec 22 10:25:35 2002 Balachandran Natarajan * ace/Connector.cpp: Fixed a warning with g++. Sun Dec 22 09:18:00 2002 Balachandran Natarajan * ace/Connector.cpp: * ace/Connector.h: Added a lock to the ACE_Connector class to make the following atomic . Registration of AST with the handler_map_ . Registration of the ACE_Connector with the Reactor . and the registration of timers with the Reactor's timer queue. If they are not atomic, it throws open race conditions such as the ones documented in BUG 1405. This is not complete fix for BUG 1405, since it taxes applications using only one thread with a lock. This is a short-term fix to prevent the race condition from occuring. Other relevant changes include . the AST is now refcounted . the AST cannot be deleted directly. The lifetime of the AST can only be manipulated using the refcount on the AST. Sat Dec 21 18:27:42 2002 Steve Huston * ace/ace_dll.vcp: * ace/ace_os_dll.vcp: * ace/ace.vcw: eMbedded Visual C++ workspace/projects deleted. These need to be generated from ace.mpc when needed. The make_release script now generates them for each source kit. When needed on a CVS workspace build, use mwc/mpc. The autobuild system has commands generate_workspace and generate_makefile that accomplish this. See autobuild configs in the riverace directory for examples. * tests/tests_WinCE.vcw: * tests/ARGV_Test_WinCE.vcp: * tests/Atomic_Op_Test_WinCE.vcp: * tests/Auto_IncDec_Test_WinCE.vcp: * tests/Barrier_Test_WinCE.vcp: * tests/Basic_Types_Test_WinCE.vcp: * tests/Bound_Ptr_Test_WinCE.vcp: * tests/Buffer_Stream_Test_WinCE.vcp: * tests/Cached_Accept_Conn_Test_WinCE.vcp: * tests/Cached_Conn_Test_WinCE.vcp: * tests/Cache_Map_Manager_Test_WinCE.vcp: * tests/Capabilities_Test_WinCE.vcp: * tests/CDR_Array_Test_WinCE.vcp: * tests/CDR_File_Test_WinCE.vcp: * tests/CDR_Test_WinCE.vcp: * tests/Collection_Test_WinCE.vcp: * tests/Conn_Test_WinCE.vcp: * tests/DLList_Test_WinCE.vcp: * tests/DLL_Test_DLL_WinCE.vcp: * tests/DLL_Test_WinCE.vcp: * tests/Dynamic_Priority_Test_WinCE.vcp: * tests/Enum_Interfaces_Test_WinCE.vcp: * tests/Future_Set_Test_WinCE.vcp: * tests/Future_Test_WinCE.vcp: * tests/Handle_Set_Test_WinCE.vcp: * tests/Hash_Map_Bucket_Iterator_Test_WinCE.vcp: * tests/Hash_Map_Manager_Test_WinCE.vcp: * tests/High_Res_Timer_Test_WinCE.vcp: * tests/Lazy_Map_Manager_Test_WinCE.vcp: * tests/Logging_Strategy_Test_WinCE.vcp: * tests/Log_Msg_Test_WinCE.vcp: * tests/Malloc_Test_WinCE.vcp: * tests/Map_Manager_Test_WinCE.vcp: * tests/Map_Test_WinCE.vcp: * tests/Max_Default_Port_Test_WinCE.vcp: * tests/Mem_Map_Test_WinCE.vcp: * tests/MEM_Stream_Test_WinCE.vcp: * tests/Message_Block_Test_WinCE.vcp: * tests/Message_Queue_Notifications_Test_WinCE.vcp: * tests/Message_Queue_Test_Ex_WinCE.vcp: * tests/Message_Queue_Test_WinCE.vcp: * tests/MM_Shared_Memory_Test_WinCE.vcp: * tests/MT_Reactor_Timer_Test_WinCE.vcp: * tests/MT_Reactor_Upcall_Test_WinCE.vcp: * tests/MT_SOCK_Test_WinCE.vcp: * tests/Naming_Test_WinCE.vcp: * tests/New_Fail_Test_WinCE.vcp: * tests/Notify_Performance_Test_WinCE.vcp: * tests/Object_Manager_Test_WinCE.vcp: * tests/OrdMultiSet_Test_WinCE.vcp: * tests/OS_Test_WinCE.vcp: * tests/Priority_Buffer_Test_WinCE.vcp: * tests/Priority_Reactor_Test_WinCE.vcp: * tests/Priority_Task_Test_WinCE.vcp: * tests/Process_Manager_Test_WinCE.vcp: * tests/RB_Tree_Test_WinCE.vcp: * tests/Reactors_Test_WinCE.vcp: * tests/Reactor_Exceptions_Test_WinCE.vcp: * tests/Reactor_Notify_Test_WinCE.vcp: * tests/Reactor_Performance_Test_WinCE.vcp: * tests/Reactor_Timer_Test_WinCE.vcp: * tests/Reader_Writer_Test_WinCE.vcp: * tests/Recursive_Mutex_Test_WinCE.vcp: * tests/Refcounted_Auto_Ptr_Test_WinCE.vcp: * tests/Reverse_Lock_Test_WinCE.vcp: * tests/Semaphore_Test_WinCE.vcp: * tests/Service_Config_DLL_WinCE.vcp: * tests/Service_Config_Test_WinCE.vcp: * tests/Sigset_Ops_Test_WinCE.vcp: * tests/Simple_Message_Block_Test_WinCE.vcp: * tests/SOCK_Connector_Test_WinCE.vcp: * tests/SOCK_Send_Recv_Test_WinCE.vcp: * tests/SOCK_Test_WinCE.vcp: * tests/SPIPE_Test_WinCE.vcp: * tests/SString_Test_WinCE.vcp: * tests/Svc_Handler_Test_WinCE.vcp: * tests/Task_Test_WinCE.vcp: * tests/Thread_Manager_Test_WinCE.vcp: * tests/Thread_Mutex_Test_WinCE.vcp: * tests/Thread_Pool_Reactor_Resume_Test_WinCE.vcp: * tests/Thread_Pool_Reactor_Test_WinCE.vcp: * tests/Thread_Pool_Test_WinCE.vcp: * tests/Timeprobe_Test_WinCE.vcp: * tests/Timer_Queue_Test_WinCE.vcp: * tests/Time_Service_Test_WinCE.vcp: * tests/Time_Value_Test_WinCE.vcp: * tests/Tokens_Test_WinCE.vcp: * tests/TSS_Test_WinCE.vcp: * tests/Upgradable_RW_Test_WinCE.vcp: eMbedded Visual C++ workspace/projects deleted. These need to be generated from tests.mpc when needed. The make_release script now generates them for each source kit. When needed on a CVS workspace build, use mwc/mpc. The autobuild system has commands generate_workspace and generate_makefile that accomplish this. See autobuild configs in the riverace directory for examples. * tests/tests.mpc: Added New_Fail_Test. * ace/config-WinCE.h: Add #define ACE_LACKS_ACE_IOSTREAM. If it has ACE_LACKS_IOSTREAM_TOTALLY, it can't possibly do ACE_IOStream<>. * ace/ATM_Acceptor.{h cpp}: * ace/ATM_Addr.{h cpp}: * ace/ATM_Params.h: * ace/ATM_QoS.h: * ace/Dev_Poll_Reactor.cpp: * ace/FlReactor.cpp: * ace/POSIX_Proactor.cpp: * ace/QtReactor.h: * ace/SUN_Proactor.h: * ace/TkReactor.h: Add /**/ between #include and filename to silence MS warnings about missing files during dependency updates. * ace/OS.i: Fixed typo for ACE_HAS_WINCE. * ace/OS.{h cpp}: Enabled ACE_OS::mktime() for ACE_HAS_WINCE. To do this, define struct tm similarly to the way it is in the standard C library. When called, converts the struct tm to a SYSTEMTIME, then to a FILETIME, then inserts that into an ACE_Time_Value and pulls out the sec() value. In OS.h, add the ACE_HAS_WINCE section for the ace_timezone() function. * ace/Filecache.cpp (ACE_Filecache_Object::update): For ACE_HAS_WINCE, return status to indicate every file has changed since cached. There's probably a way to do this correctly on WinCE, but there's no time to figure it out right now. * ace/Logging_Strategy.cpp: In calls to ACE_OS::fopen(), added ACE_LIB_TEXT around naked char strings to build clean with Unicode. * ace/NT_Service.{h cpp}: Add ACE_HAS_WINCE to the platforms that don't attempt to build this class. * ace/SPIPE_Connector.cpp (connect): Pretty much disabled this for CE. * bin/MakeProjectCreator/templates/em3vcp.mpd: When generating CPU-based /D options, just do /D, not /D=1. If =1 is need for something, add it to the .mpt file. * bin/MakeProjectCreator/templates/em3vcpdll.mpt: * bin/MakeProjectCreator/templates/em3vcpdllexe.mpt: * bin/MakeProjectCreator/templates/em3vcplibexe.mpt: Remove /GX, /Gm, /GR, /Gy, and /Md[d] options - embedded VC++ doesn't do these or the previous near-working .vcp files didn't use them and no value is seen in enabling something not previously used. Insured that the options are consistent, for example, all Release builds use /Ob2 (high level of inlining). * bin/MakeProjectCreator/templates/em3vcplib.mpt: In addition to the above removals, remove /G5 (optimize for Pentium) from Debug build. Sat Dec 21 12:38:41 2002 Steve Huston * ace/OS.cpp (snprintf): Win32 doesn't 0-terminate the string if the maxlen is exceed, so terminate the string in that case. Sat Dec 21 14:36:43 UTC 2002 Johnny Willemsen * include/makeinclude/platform_cygwin32.GNU: Enabled threads and removed the setting that only static libs are build. Also set SONAME and SOVERSION to nothing because the Cygwin linker can't handle a dll name where the version is added after .dll. Fri Dec 20 20:02:41 2002 Steve Huston * bin/make_release: When updating version files, also update bin/MakeProjectCreator/config/aceversion.mpb and taoversion.mpb. Added a new subroutine, generate_makefiles() that's called just before create_kit. It generates the workspace and project files for ACE_wrappers/ace and ACE_wrappers/tests. If any of these are desired for TAO, someone knowledgeable on TAO should add to the place in generate_makefiles() for the TAO stuff. Fri Dec 20 16:12:33 2002 Johnny Willemsen * ace/ACE.h: The math.h delived with the Cygwin32 compiler already defines log2 as macro so added a define acelog2 as log2 to handle this already defined macro. Thu Dec 19 18:47:29 2002 Steve Huston * tests/tests.mpc: Added Obstack_Test and Recursive_Condition_Test. Thu Dec 19 16:47:17 2002 Douglas C. Schmidt * ace/SOCK_Dgram.h: ace/SOCK_CODgram.h: Added metatype information for ACE_SOCK_Dgram and ACE_SOCK_CODgram. Thanks to Sankaranarayanan K V for reporting this. Thu Dec 19 10:02:56 2002 Rich Seibel * tests/MM_Shared_Memory_Test.cpp removed extraneous line that made the test appear to fail Thu Dec 19 06:47:07 2002 Chad Elliott * bin/MakeProjectCreator/config/aceversion.mpb: * bin/MakeProjectCreator/config/taoversion.mpb: Updated the version to reflect the current release version. * bin/MakeProjectCreator/modules/Driver.pm: Moved the Cwd::getcwd() outside the loop to avoid calling it multiple times. * bin/MakeProjectCreator/templates/vc7.mpd: Modified the ProgramDatabaseFile to use the intermediate_dir as the output location. Thanks to Steve Huston for reporting it. Wed Dec 18 20:52:41 2002 Steve Huston * ace/SOCK_Dgram_Mcast.cpp (open_i): Call shared_open using the protocol family from the specified address, not PF_INET. Allows working with IPv6. * tests/Multicast_Test.cpp: If join fails, log the error reason. Wed Dec 18 19:57:51 2002 Steve Huston * ace/config-sunos5.7.h: Added ACE_HAS_SNPRINTF. I have verified that it's available from Solaris 7 on. If someone can determine it's available earlier, please move the definition to one of the earlier-version config-sunos5.*.h files. Wed Dec 18 18:59:41 2002 Steve Huston * ace/ace.mpc: * tests/tests.mpc: Back out the below changes... jumped the gun. Wed Dec 18 18:55:31 2002 Steve Huston * ace/ace.mpc: Added new Hash_Map_Manager_RT[_T].cpp files. * tests/tests.mpc: Added new Hash_Map_Manager_RT_Test.cpp project. Wed Dec 18 15:03:03 2002 Nanbor Wang * ace/Get_Opt.cpp (long_option): For MSVC 7.x compiler, we need to make sure that the argument passed to "isalnum" is legal, i.e., between 0 and 0xff, otherwise, it will crash the process. Added a special case for MSVC 7.x and above to prevent this. Wed Dec 18 13:36:49 2002 Steve Huston * ace/ace.mwc: Workspace definition file for ACE and it's immediate subordinates, RMCast. * tests/tests.mwc: Workspace definition for tests and tests/RMCast. * bin/MakeProjectCreator/modules/Driver.pm (run): When processing specified input files, chdir to the directory containing the file so the files are read and written properly when referred to using relative paths. Wed Dec 18 11:38:39 2002 Nanbor Wang * ace/config-win32-msvc-7.h: Added pragma prefix to disable warning of using Microsoft extension. * ace/Timeprobe.h: Removed MSVC specific disabling and re-enabling of warning of using Microsoft entension. We already do this through all the MSVC config files and there's no point of doing this again here. Mon Dec 16 16:34:23 2002 Nanbor Wang * ace/OS.i: Applied the following patch from Eugene Alterman . It appears that Win32 mmap() emulation implements MAP_FIXED semantic under the wrong assumption about MapViewOfFileEx() behavior. In fact if a non-null base address is supplied to MapViewOfFileEx() it behaves like mmap() with MAP_FIXED set - it maps at that address or fails if it unable to do it. If a null base address is supplied it behaves like mmap() with MAP_FIXED not set. This means that if MAP_FIXED is not set the emulation should set the base address argument to 0, and it should fail if MAP_FIXED is set and is 0. Besides, it makes sense for WinCE emulation to fail whenever MAP_FIXED is set since WinCE does not support MAP_FIXED semantic. Wed Dec 18 08:29:04 2002 Rich Seibel * ace/Synch.cpp: Added code to generate a unique name if a platform lacks unnamed semaphores (MACOSX 10.2). * ace/Sock_Connect.cpp: Added a conditional include for ifaddrs.h (MACOSX 10.2). * tests/Priority_Task_Test.cpp: Changed test to notify if platform does not implement getprio instead of fail. (MACOSX 10.2) * tests/MM_Shared_Memory_Test.cpp: Changed compile time test to pick up the right implementation on platform that have POSIX semaphores but not SYSV semaphores (MACOSX 10.2). * ace/Lib_Find.cpp ace/config-macosx.h: Gave the builder a choice of where to get the dlcompat package. * ace/OS.i ace/config-macosx.h: Added a switch to eliminate an error message since the dlcompat provided APPLE dynamic linkage does not support unloading thus complains on the use of dlclose. Wed Dec 18 08:29:04 2002 Rich Seibel * ace/Timer_Wheel_T.cpp: Changed types from int to long to match the return for timer ids. Wed Dec 18 05:42:52 2002 Douglas C. Schmidt * ace/High_Res_Timer.cpp (global_scale_factor): The INTEL compiler can also set the global scale factor. Thanks to Chris Kohlhoff for reporting this. Tue Dec 17 11:22:31 2002 Phil Mesnier * ace/Codeset_IBM1047.h: * ace/Codeset_IBM1047.cpp: Added implementations of ncs and tcs methods to return the proper values as defined by the OSF's code and character set registry. * ace/CDR_Stream.cpp: * ace/CDR_Stream.h: * ace/CDR_Stream.i: Stripped out the reference counting on translator objects to avoid build problems. Tue Dec 17 11:30:31 2002 Balachandran Natarajan * ACE-INSTALL.html: Fixed fuzz errors. Tue Dec 17 08:20:22 2002 Chad Elliott * bin/MakeProjectCreator/modules/NMakeWorkspaceCreator.pm: Fixed a problem with generated Makefiles where CFG is defaulted. * bin/MakeProjectCreator/templates/nmake.mpd: Modified the dependencies file name. Tue Dec 17 07:03:40 2002 Chad Elliott * ace/Array_Base.h: * ace/Atomic_Op_T.cpp: * ace/Message_Queue.cpp: * ace/OS.h: Added #include's for various files for the Green Hills compiler for VxWorks. * ace/OS.cpp: Added a call to ::inet_aton() with a non-const char* for VxWorks. * ace/Thread_Adapter.cpp: Changed the pointer type from ACE_THR_FUNC_INTERNAL to ACE_THR_FUNC. * ace/config-vxworks5.x.h: Added a #define for ACE_LACKS_CLEARERR for the Green Hills compiler. Mon Dec 16 12:28:05 2002 Douglas C. Schmidt * ACE-INSTALL.html: Fixed some broken links. Thanks to Jonathan Wackley for reporting this. Sat Dec 14 13:06:09 2002 Douglas C. Schmidt * docs/ACE-categories.html: Removed all mention of the ACE_Multiplexor class. Thanks to Marc Tardif for reporting this. Tue Dec 17 07:37:40 2002 Balachandran Natarajan * tests/README: Fixed typos. Mon Dec 16 23:31:25 2002 Balachandran Natarajan * THANKS: Added Guan Joe to the hall of fame. Mon Dec 16 18:11:03 2002 Balachandran Natarajan * ace/CDR_Stream.h: Moved the destructor of ACE_Char_Codeset_Translator to be public. Mon Dec 16 13:14:34 2002 Phil Mesnier * ace/CDR_Stream.cpp: * ace/CDR_Stream.h: * ace/CDR_Stream.i: Preparing for codeset negotiation. The ACE input/output CDR streams' support for wide character IO is enhanced by adding a flag to allow or disallow wchar i/o regardless of whether a translator is present. There are times when wchar is not allowed, such as GIOP 1.0, or when a native codeset for wchar was not specified. In CORBA, a native wchar codeset must be specified, it may not be defaulted. Within the ACE CDR streams, wchar i/o is allowed by default, to ensure backwards compatibility. I fixed a few of the reading and writing methods to ensure that the good_bit_ flag is cleared if an error occurs. This was not happening in all cases, leading to errors elsewhere. I have extended the definition of the ACE_[W]Char_Codeset_Translator classes to make them reference counted objects. There are some codesets that support shifting and may be stateful. By using reference counting, the CDR streams don't have to worry about ownership of stateful translators. Finally, the translators now have pure virtual methods that return the native and translated codeset ID values. These values refer to entries in the DCE Code and Character Set Registry, which is the reference for CORBA codeset ids. Anyone implementing a char or wchar codeset will have to supply a numeric value for the native codeset (ncs) and the translated codeset (tcs). NCS refers to the codeset of the text on the application side of the stream, and TCS refers to the codset of the text on the "wire" side of the stream. These changes are not everything that is required to support codeset negotiation, but it is all the changes required to the CDR streams. Sat Dec 14 08:56:23 2002 Douglas C. Schmidt * ace/Timer_Queue_T.cpp (timeout): Commented out the change below until we figure out how to break the dependencies on the Reactor. Thanks to Bala for reporting this. Fri Dec 13 16:05:05 2002 Douglas C. Schmidt * ace/Timer_Queue_T.cpp (timeout): Optimize Steve's patch below for the case where the upcall is coming from a reactor. Thanks to Irfan for pointing this out. Fri Dec 13 21:12:29 2002 Steve Huston * ace/test_config.h: Add __hpux to the conditions needed to instantiate ACE_Singleton::singleton_. Also see Sat Nov 23 18:12:37 2002 Steve Huston Fri Dec 13 18:25:42 2002 Steve Huston * ace/config-aix-4.x.h: Set ACE_HAS_THREADS to 1 or 0 based on the compiler's predefined macros. This lets users build easier without having to worry about what ACE expects - they just have to invoke the compiler correctly. Add #include "ace/config-posix.h" to pick the detectable POSIX-ish settings. * ace/config-posix.h: If ACE_HAS_THREADS is defined as 0 on entry, undef it and don't pick up the POSIX threads settings. Allows single-threaded builds using this very handy config. Fri Dec 13 18:10:31 2002 Steve Huston * ace/OS.cpp (wchar snprintf, sprintf): Change the selection for ability to use vswprintf from ACE_HAS_XPG4_MULTIBYTE_CHAR to _XOPEN_SOURCE >= 500. vswprintf came in at XPG5 (and C99). * ace/config-hpux-11.00.h: Enable ACE_HAS_SNPRINTF if _INCLUDE_HPUX_SOURCE is set after including stdsyms.h. * ace/config-posix.h: Set ACE_HAS_SNPRINTF if _XOPEN_SOURCE >= 500. Thu Dec 12 20:11:39 2002 Steve Huston * ace/Timer_Heap_T.cpp (cancel): Release the queue lock before upcalling to handle_close. Fixed Bugzilla #1387. Thu Dec 12 12:50:34 2002 Douglas C. Schmidt * ace/OS.cpp: Changed a cast of unique_name to &unique_name to fix a bug on pSoS. Thanks to Dieter Knueppel for reporting this. Thu Dec 12 12:55:41 2002 Steve Huston * ace/OS.h: Add missing snprintf() method declaration for ACE_HAS_WCHAR Thu Dec 12 08:49:31 2002 Balachandran Natarajan * ace/Log_Msg.cpp: Fixed a warning in LynxOS builds. Thu Dec 12 06:18:02 2002 Chad Elliott * bin/MakeProjectCreator/modules/Parser.pm: Fixed a bug with setting and retrieving the current working directory. Thanks to Steve Huston for reporting this. Thu Dec 12 00:01:37 2002 Balachandran Natarajan * netsvcs/clients/Naming/Client/Makefile: Fixed a small problem in static builds. Hopefully they should be fine in the next round of builds. Wed Dec 11 23:11:09 2002 Balachandran Natarajan * bin/clean_sems.sh: A shell script to remove semaphores. Integrating the script that Ossama used to the daily build system. Wed Dec 11 21:05:49 2002 Steve Huston * ace/Message_Block_T.cpp: * examples/ASX/Message_Queue/priority_buffer.cpp: * examples/Misc/test_read_buffer.cpp: * examples/Threads/TSS_Obj.h: Added missing #include "ace/Malloc_Base.h" to build clean on AIX, Visual Age C++ 6. * examples/C++NPv1/Logging_Client.cpp: * examples/C++NPv2/Reactor_Logging_Server.cpp: * examples/C++NPv2/Service_Reporter.cpp: * examples/C++NPv2/SLD.cpp: * examples/C++NPv2/SLDex.cpp: Add missing #include "ace/Log_Msg.h" to pick up ACE_ERROR_RETURN for AIX Visual Age C++ 6. * examples/C++NPv2/Makefile.SLD: Remove the tempinc-bashing redefinition of COMPILE.cc... that only works if there's a single source file for each program. Wed Dec 11 19:33:19 2002 Steve Huston * ace/config-hpux-10.x-hpc++.h: * ace/config-hpux-10.x.h: Picked up these changes from the 11.x config: Sat Nov 23 17:54:18 2002 Steve Huston * ace/config-hpux-11.00.h: Control the ACE_HAS_STANDARD_CPP_LIBRARY and ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB settings by compiler- defined macro _HP_NAMESPACE_STD, not passing them through from platform_hpux_aCC.GNU. Similarly with ACE_HAS_EXCEPTIONS (define it unless __HPACC_NOEH is set). This breaks a coupling from the platform_hpux_aCC.GNU file, and will make autoconf easier as well as making it easier for users to write makefiles without following the ties through and trying to duplicate them. Also, include config-posix.h to let it pick up system-supplied settings. * ace/Time_Value.h: For HP-UX 10, need to typedef timespec_t because the OS doesn't define it. Wed Dec 11 17:05:28 2002 Balachandran Natarajan * examples/Reactor/WFMO_Reactor/Talker.cpp: Fixed a warning in Borland builds. Wed Dec 11 17:00:21 2002 Balachandran Natarajan * ace/WIN32_Asynch_IO.cpp: Fixed a warning in Borland builds. Tue Dec 10 19:42:29 2002 Steve Huston * ace/OS.{h cpp}: Added new method, ACE_OS::snprintf() that wraps native snprintf() if available (ACE_HAS_SNPRINTF for char, ACE_HAS_XPG4_MULTIBYTE or ACE_WIN32 for wide char); else returns -1, ENOTSUP. * ace/config-linux-common.h: Add detection for ACE_HAS_SNPRINTF. * ace/config-win32-common.h: Removed #define ACE_HAS_VSWPRINTF. vswprintf() on Windows is not the standard way, and this setting was only used for Win32. See comments in OS.cpp, sprintf(wchar_t...) for more info. Added ACE_HAS_SNPRINTF in its place. * ace/Log_Msg.cpp (log): Don't overrun the msg_ buffer while building the logged message. Silently stops logging characters when the limit is reached. Also, on %a aborts, don't just do a "while (1);" on WinCE. Forcing the user to cycle power is not a good idea. * tests/Log_Msg_Test.cpp: Add a test case for logging a string that can't possibly fit in the logging buffers. Tue Dec 10 18:10:41 2002 Steve Huston * tests/Proactor_Test.cpp: Changed the default proactor type to DEFAULT. If a specific proactor implementation type is desired, that must be specified now. This matches ACE's behavior that users will get unless they specifically change it. Also, changed loglevel to be 0 (only highlights and errors), 1 (more progress information), and 2 (all operation parameters and result information). The default is 0, allowing for increased load on this test without creating gigantic log files. All platforms now use the same test parameters (clients, byte counts, threads, etc.) except that if the SUN proactor is selected, the test will run with one thread regardless of user selection. The ACE_SUN_Proactor's completion detector (aiowait) is not multithread safe. Tue Dec 10 17:19:06 2002 Balachandran Natarajan * tests/OS_Test.cpp (ACE_TMAIN): Integrated the latest tests from Alain for string_strsncpy_test (). The test is more robust and tests things better. It also has comments on what it is testing :-). Tue Dec 10 16:53:29 2002 Steve Huston * tests/OS_Test.cpp: Add missing '=' signs to fix compile error on wide-char builds. Tue Dec 10 16:05:37 2002 Balachandran Natarajan * Makefile: Added a target 'reverseclean' * bin/reverse_clean: Added a small perl script that does a realclean in the reverse order on the directories passed to it. The motivation for this is that some of our builds dont clean up properly due to the dependencies. The reason for this is that ace/ACE_COMPONENTS.list gets wiped out first, preventing things that examine the components list (like netsvcs) from getting cleaned. Hence we need to do a 'realclean' in reverse order of the builds. Tue Dec 10 13:23:37 2002 Nanbor Wang * bin/PerlACE/Process.pm: * bin/PerlACE/Process_Win32.pm: * bin/PerlACE/Process_Unix.pm: Changed WAIT_DELAY_FACTORY from a data member in Process_Win32 to a global data in PerlACE::Process. You can now define an environment variable "ACE_RUNTEST_DELAY" on both Win32 and UNIX to multiply the wait time with the number. The same trick that I added last time into Process_Win32 to invoke tests with purify should also work with valgrind. * bin/PerlACE/Run_Test.pm (waitforfile): Changed to multiply the wait time with the PerlACE::Process::WAIT_DELAY_FACTOR . Tue Dec 10 10:20:35 2002 Balachandran Natarajan * ace/Synch.cpp: Commented out the dump () call on ACE_cond_t, which caused build errors from the checkin "Mon Dec 9 18:54:09 2002 Douglas C. Schmidt ". There is no dump method on ACE_cond_t. Fixed the return type of the implementation to match the declaration. Mon Dec 9 18:54:09 2002 Douglas C. Schmidt * ace/Synch.{h,cpp}: Added a dump() method to the template specialization of ACE_Condition. Thanks to Mathias Waack for reporting this. * ace/Get_Opt.{h,i} Added a new argc() accessor. Thanks to Volker Boerchers for contributing this. Mon Dec 9 17:58:31 2002 Steve Huston * tests/Multicast_Test.cpp: Added missing template instantiation for Sun Workshop 5 compiler. Mon Dec 9 17:27:49 2002 Steve Huston * tests/Recursive_Condition_Test.cpp: In test_4, wait for the waiter thread to wake up and exit itself before checking the mutex recursion count. Else, the waiter may have the mutex while the main thread is checking the count and detect a false fail. Mon Dec 9 17:02:41 2002 Steve Huston * include/makeinclude/platform_aix_ibm.GNU: Change from using -qtemplateregistry to use -qtempinc for Visual Age C++ 6 template handling. -qtemplateregistry is a nice idea, but generates too many errors from missing templates. Using -qtempinc still generates gobs of multiple-instantiation warnings, but the build is correct and the tests run. * bin/aix_shr: Add the error number patterns for VA 6's multiple template instantiation warnings to the filter-out pattern. Mon Dec 9 15:42:39 UTC 2002 Don Hinton * examples/C++NPv1/Reactive_Logging_Server_Ex.cpp: Removed duplicate template specialization for ACE_Hash on Windows that's no longer needed. Mon Dec 9 07:41:39 2002 Balachandran Natarajan * tests/OS_Test.cpp: * ace/OS_String.cpp (strsncpy): Fixed a cut and paste error. Mon Dec 9 00:09:55 2002 Balachandran Natarajan * ace/INET_Addr.cpp (get_host_addr): Changed the usage of strncpy () to strsncpy (). Thanks to Alain Decamps for donating this patch. Sun Dec 8 23:56:09 2002 Balachandran Natarajan * ace/OS_String.cpp: Applied patches from Alain Decamps to make strsncpy () more robust. If dst == src, the return string will have utmost 'maxlen'. * tests/OS_Test.cpp: Added a test case for strsncpy (). Thanks to Alain Decamps for donating the patch. Sun Dec 08 22:44:07 2002 Balachandran Natarajan * ace/Functor.h (void *): * ace/Functor.i: Added a template specialization for ACE_Hash . Sun Dec 08 09:45:34 UTC 2002 Johnny Willemsen * ace/Map_Manager.h: * ace/SString.h: * ace/Unbounded_Queue.h: Improved doxygen documentation Sun Dec 08 09:37:12 UTC 2002 Johnny Willemsen * etc/*.doxygen: Set JAVADOC_AUTOBRIEF to NO in all doxygen config files. When only javadoc style documentation is used, only detailed documentation is generated. Sun Dec 08 01:17:26 2002 Nanbor Wang * ace/Event_Handler.cpp: Fixed a typo. Thu Dec 5 20:30:56 2002 Douglas C. Schmidt * ace/Event_Handler.cpp: Updated the implementation of ACE_Event_Handler::read_adapter() so that the code is consistent with the stated semantics. Thanks to Ron Muck for the fix. * ace/OS_Dirent.inl (readdir_r): Enhanced the ACE_OS_Directn::readdir_r() wrapper facade so that it returns 1 (i.e., "done") when an error occurs. Thanks to Abhay Kulkarni for reporting this. Sat Dec 7 19:54:12 2002 Steve Huston * ace/OS.h: For WinCE, define S_IFDIR and S_IFREG file mode masks. Also, added define for ENXIO if not supplied (like on WinCE). Sat Dec 07 14:29:47 2002 Nanbor Wang * ace/ACE.cpp (format_hexdump): This change fixed the problem that a character is missing when the last line has less than 16 bytes or less to display. Thanks to Terry Lao for submitting the patch, and Johnny Willemsen for reviewing the change. Fri Dec 6 23:58:47 2002 Balachandran Natarajan * ace/CDR_Stream.cpp: * ace/CDR_Stream.i: Set good_bit_ to zero whenever the sanity check for remaining length in the stream fails. Thanks to Jerry D. De Master for pointing out the problem. * ace/CDR_Array_Test.cpp: Extended the test to include test for checking the value of good_bit () by forcing an erroneous read. Fri Dec 6 16:26:49 2002 Krishnakumar B * ace/FILE_Addr.cpp (set): Windows appends ASCII 'a' - 'z' and 'A' - 'Z' to generate unique filenames and gives up if the character in the template is a non-alphabetic character. In such cases, it returns a NULL. Make sure that we supply a template with a alphabetic character before XXXXXX as well as check for a NULL return value. Thu Dec 5 22:19:41 2002 Steve Huston * ace/OS.{h i}: Added ACE_OS::sigwaitinfo() wrapper. * ace/POSIX_Proactor.{h cpp} (ACE_POSIX_SIG_Proactor): Clean up some spelling and formatting in documentation comments. Clean up the signal calls, and substitue ACE_OS calls for naked API calls. Unless we have specific evidence to the contrary, trust what the OS says with signal information. Otherwise, if we run through all the aiocbs on every signal, we could get into a situation where deferred I/O operations are never restarted. * ace/POSIX_CB_Proactor.h: Changed the comments to say this is a callback-based proactor, not an SGI IRIX one. The callback paradigm is part of newer POSIXes and available on more than SGI... HP-UX, for instance. Thu Dec 5 20:33:18 2002 Steve Huston * ace/config-aix-4.x.h: Removed ACE_NEEDS_DEV_IO_CONVERSION. This seems like a ludicrous workaround to some old, buggy compiler. Thu Dec 5 14:35:50 2002 Balachandran Natarajan * netsvcs/clients/Naming/Client/Makefile: Do not build in static builds. Thu Dec 5 09:45:25 2002 Douglas C. Schmidt * examples/Synch/proc_sema.cpp: Fixed some typos. Thanks to Andy King for reporting this. Thu Dec 5 07:39:45 2002 Balachandran Natarajan * bin/auto_run_tests.lst: Removed Bug_1020_Regression from the nightly regression test on Win32. Thu Dec 5 09:58:45 UTC 2002 Don Hinton * ace/config-openbsd-pthread.h: Added ACE_LACKS_PERFECT_MULTICAST_FILTERING 1. This should fix the errors in the test/Multicast_Test in the nightly autobuilds. Wed Dec 4 21:53:28 2002 Steve Huston * ace/OS.h: Include for __hpux platform. * ace/OS.cpp (num_processors_online): Try the syscall for this on HP-UX if __hpux is defined, not hpux (only set for g++). Wed Dec 4 21:18:31 2002 Steve Huston * ace/Proactor_Timer_Test.cpp: Fix incorrect use of pointer-integer casting. Log pointers with %@, not %x. Wed Dec 4 21:11:41 2002 Steve Huston * tests/Proactor_Test.cpp: Set all the default options and values before parsing command line options to make it easy to predictably vary things by hand. Also, rather than run for a determined number of seconds, run a specific number of bytes around the loop. This limits the size of the log, especially nice for fast processors. Thanks to Johnny Willemsen for this idea. Wed Dec 4 18:37:10 2002 Balachandran Natarajan * bin/auto_run_tests.lst: Added a Server_Connection_Purging to the nightly regression tests. Wed Dec 4 17:47:49 2002 Steve Huston * tests/Proactor_Test.cpp: On Sender read complete, start another read if either in full duplex mode OR writing has been stopped. We want to catch the Receiver closing the socket (read 0 bytes). Wed Dec 4 11:41:15 2002 Balachandran Natarajan * bin/auto_run_tests.lst: Added a Bug_1020_Regression to the nightly regression test on Win32. Tue Dec 3 20:47:39 2002 Steve Huston * ace/SSL/SSL_Context.cpp: Add explicit instantiation of ACE_Singleton::singleton_. * netsvcs/lib/Name_Handler.cpp: Add explicit instantiation of ACE_Singleton::singleton_. * netsvcs/lib/Server_Logging_Handler.cpp: Add explicit instantiation of ACE_Server_Logging_Handler_T::request_count_; * tests/Framework_Component_DLL.cpp: Add explicit instantiation of ACE_DLL_Singleton_T, ACE_SYNCH_MUTEX>::singleton_. * tests/MEM_Stream_Test.cpp: Add explicit instantiation of ACE_Singleton, ACE_SYNCH_RECURSIVE_MUTEX>::singleton_. * tests/Process_Strategy_Test.cpp: Add explicit instantiation of ACE_Singleton::singleton_. * tests/Timeprobe_Test.cpp: Add explicit instantiation of ACE_Singleton::singleton_. These are similar to those done in: Sat Nov 23 18:12:37 2002 Steve Huston * netsvcs/clients/Naming/Client/Makefile: * netsvcs/clients/Naming/Dump_Restore/Makefile: Add ACELIB to LIBS to include -lACE for building the shared libs. rules.lib.GNU doesn't add VLDLIBS when linking a shared lib, but rules.bin.GNU adds it for binaries. This should probably be changed, but it's a quagmire to wade into at this point, and autoconf is coming. This fix is needed now to get this stuff building with g++ on AIX. Mon Dec 2 20:09:29 2002 Steve Huston * examples/C++NPv1/Reactive_Logging_Server_Ex.cpp: * ACEXML/common/Mem_Map_Stream.cpp: * ACEXML/common/URL_Addr.cpp: * ACEXML/common/XML_Codecs.cpp: Added missing explicit template instantiations to build clean on Sun Workshop 5. Mon Dec 2 19:41:27 2002 Steve Huston * tests/Proactor_Test.cpp: Rather than close connections outright when beginning to shut down test, just shut down the write side. This is an effort to make the receiving closes cleaner. Mon Dec 2 17:58:06 2002 Balachandran Natarajan * ace/ACE.cpp: Fixed a compile error with g++. Sat Nov 30 09:18:51 2002 Douglas C. Schmidt * ace/ACE.{h,cpp}: Added a new crc32() method that works on an iovec. Thanks to Tufan Oruk for contributing this. * THANKS: Just added our 1,600 contributor to ACE+TAO! Mon Dec 02 18:59:33 UTC 2002 Johnny Willemsen * ace/DLL.h: * ace/Dirent.h: * ace/Future_Set.h: * ace/UPIPE_Connector.h: * ace/UPIPE_Acceptor.h: * ace/UNIX_Addr.h: * ace/Configuration_Import_Export.h: Improved doxygen documentation. Mon Dec 02 18:47:32 UTC 2002 Johnny Willemsen * THANKS: Added Tim Smith Sun Dec 01 10:16:45 2002 Balachandran * ACE version 5.2.7 released. Sat Nov 30 22:46:00 2002 Balachandran Natarajan * THANKS: Added Christophe Vedel to the hall of fame. Fri Nov 29 12:23:14 2002 Nanbor Wang * ace/Thread_Manager.h (ACE_Thread_Manager): Changed all the accessors to the Thread_Descriptor to be protected. * ace/Thread_Manager.i: Removed assertion test for null Thread_Descriptor pointer. This can happen when calling thread_desc_self() from a thread not spawned by the Thread_Manager, e.g., the main thread. Added checks in all ACE_Thread_Manager::at_exit for null thread_desc_self to avoid crash. Thanks to Mathias Waack for reporting the bug. Thu Nov 28 06:36:04 2002 Douglas C. Schmidt * apps/soreduce/Makefile: Changed INSBIN from $ACE_ROOT/bin/soreduce/ to $ACE_ROOT/bin/. Thanks to Jaroslaw Nozderko for reporting this. Thu Nov 28 07:54:28 2002 Craig Rodrigues * docs/tutorials/022/Acceptor_Service.h: Add include of svc_export.h to fix compilation errors. Thanks to Viktor Ransmayr for reporting the problem. Not sure whether this example would still compile fine. Thu Nov 28 09:04:12 UTC 2002 Johnny Willemsen * ace/FILE.h: * ace/Default_Constants.h: Improved usage of doxygen commands. Thu Nov 28 07:23:12 UTC 2002 Johnny Willemsen * ace/Typed_SV_Message_Queue.h: * ace/Strategies_T.h: * ace/Framework_Component.h: Improved doxygen documentation. * ace/TLI_Connector.i: Made method definition and implementation the same. Wed Nov 27 22:38:15 2002 Balachandran Natarajan * ace/Connector.h: * ace/Connector.cpp: Fix for BUG 1361. Please see http://deuce.doc.wustl.edu/bugzilla/show_bug.cgi?id=1361 for more details on the problem. The fix is based on the assumption that ACE_Connector need not be resumed by the TP_Reactor when used for asynch connects. The supporting reason for this assumption is that during connection completion or connection closure, the handler ie. the ACE_Connector in this case is removed from the Reactor. Hence this fix, which essentially implements the virtual function resume_handler () and prevents itself from being resumed. Thaks to Irfan for reviewing the fix. Wed Nov 27 20:35:49 2002 Steve Huston * include/makeinclude/platform_aix_ibm.GNU: Add Visual Age C++ 6 to the list of compiler versions it knows about. For VA 6, use the new -qtemplateregistry build option to try to be more efficient about template compilation. It's still lamer than most though, and Visual Age C++ 6 needs the aixshr filter to weed out the Duplicate Symbol warnings. * include/makeinclude/rules.local.GNU: Add templateregistry to the files/directories removed on clean. It's used by Visual Age C++ 6. Wed Nov 27 19:42:51 2002 Steve Huston * tests/MT_Reactor_Upcall_Test.cpp: Send and receive each message field specifically; don't rely on the type and size fields being adjacent in memory. On 64-bit Solaris w/ Forte 7 and on 64-bit Windows XP, they aren't. Wed Nov 27 15:47:41 2002 Steve Huston * ace/config-aix5.1.h: Add #define ACE_HAS_AIO_CALLS, but commented out. AIX did things differently enough here to be a real problem. It should be possible to get AIO working on AIX 5, but it will take some real work. * ace/POSIX_Proactor.cpp: Add #include "ace/ACE.h" * ace/Sock_Connect.cpp: Visual Age C++ 6 still needs to hack to get the templates built correctly :-( Changed the compile-time check to an alleged Visual Age C++ 7 to see if they get it right then. * ACEXML/common/Env.i: Add missing #include "ace/Log_Msg.h" to pick up ACE_ASSERT. * ACEXML/common/FileCharStream.cpp: * ACEXML/common/StrCharStream.cpp: Add missing #include "ace/Log_Msg.h" * ACEXML/common/NamespaceSupport.h: * ACEXML/parser/parser/Entity_Manager.h: Add missing #include "ace/Synch.h" Wed Nov 27 07:23:30 2002 Balachandran Natarajan * bin/auto_run_tests.lst: Two new tests cannot run in single threaded builds. Wed Nov 27 09:30:33 UTC 2002 Johnny Willemsen * ace/DLL.h: * ace/Singleton.h: Improved doxygen documentation. Tue Nov 26 20:04:38 2002 Steve Huston * tests/Proactor_Test.cpp: Added checks for condition where a read or write fails to initiate because the socket was closed. For Windows, this is a ERROR_NETNAME_DELETED error on the ReadFile/WriteFile call under ACE_WIN32_Asynch_Read/Write_Stream. The test now checks for this and doesn't report an error, but this is a departure from what one would expect from a socket. It might be better if the underlying call was changed to WSARecv/WSASend for Winsock2-enabled systems. Tue Nov 26 16:08:22 2002 Balachandran Natarajan * bin/auto_run_tests.lst: Added two new tests to our daily builds. Tue Nov 26 15:10:57 2002 Balachandran Natarajan * ACE-INSTALL.html: Updated the file to have the right GNU make version. Our make's dont work well with 3.78 and lower. Mon Nov 25 23:49:38 2002 Craig Rodrigues * ace/config-macosx.h: Updates for pthread configuration, provided by John Zorko and Rich Seibel . * ace/OS.i: * ace/Sock_Connect.cpp: Remove unnecessary __MACOSX__ macros. See: Thu Oct 17 19:18:02 UTC 2002 Craig Rodrigues Mon Nov 25 18:20:41 2002 Steve Huston * ace/config-hpux-11.00.h: Added #define ACE_SIZEOF_WCHAR _WCHAR_T to get ACEXML to compile. ACEXML's usage of ACE_SIZEOF_WCHAR breaks the previous allowance for ACE_SIZEOF_WCHAR to be sizeof (wchar_t) because it uses ACE_SIZEOF_WCHAR in a math expression. * examples/C++NPv2/Reactor_Logging_Server_Adapter.cpp: Added #include "ace/INET_Addr.h" to build clean on HP-UX. Mon Nov 25 20:32:02 UTC 2002 Don Hinton * ace/README: Added ACE_LACKS_PERFECT_MULTICAST_FILTERING. Mon Nov 25 18:58:33 2002 Johnny Willemsen * ace/Local_Name_Space_T.cpp: * ace/Process.h: * ace/Local_Name_Space_T.h: * ace/ATM_Params.h: * ace/Timer_Queue_Adapters.h: Improved documentation for doxygen generation. * ace/Svc_Handler.cpp: Made method definition and implementation arguments match. Sat Nov 23 20:01:36 2002 Balachandran Natarajan * apps/*/Makefile: Updated dependecies. Thanks to Erwin Rol for pointing out the problem. Sat Nov 23 18:12:37 2002 Steve Huston * ace/SString.cpp: Add explicit instantiation of ACE_String_Base::NULL_String_ and ACE_String_Base::NULL_String. * ace/Based_Pointer_Repository.cpp: Add explicit instantiation of ACE_Singleton:: singleton_. * ace/Dynamic.cpp: Add explicit instantiation of ACE_TSS_Singleton::singleton_. * tests/test_config.h: Added explicit instantiation of ACE_Singleton::singleton_. The above are only done when using automatic template instantiation on AIX with g++. Without this, the compiler and linker don't get things done right and static data members in templates don't get instantiated correctly. Thanks to Max F. Bilyk for reporting this problem. * ace/SSL/Makefile: Set LIBS = $(ACELIB). Else it won't link on AIX, g++. * include/makeinclude/platform_aix4_g++.GNU: Removed. Use platform_aix_g++.GNU instead. They were similar, though not equal, and confusing each other. * include/makeinclude/platform_aix_g++.GNU: Fixed to work correctly and is now the one to use for AIX 4 and 5 with g++. Sat Nov 23 18:03:41 2002 Steve Huston * ace/String_Base.i (compare): Fix a size_t/int mismatch. Sat Nov 23 17:54:18 2002 Steve Huston * ace/POSIX_CB_Proactor.{h cpp}: Changes to align with recent ACE_POSIX_AIOCB_Proactor changes: changed handle_events (ulong) to handle_events_i() and made nonvirtual. Removed get_result_status(), cancel_aiocb(), and cancel_aio() since they simply forwarded to ACE_POSIX_AIOCB_Proactor. Remove most of allocate_aio_slot(); call up to ACE_POSIX_AIOCB_Proactor::allocate_aio_slot then tweak the aiocb fields for the callback. * ace/config-hpux-11.00.h: Control the ACE_HAS_STANDARD_CPP_LIBRARY and ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB settings by compiler- defined macro _HP_NAMESPACE_STD, not passing them through from platform_hpux_aCC.GNU. Similarly with ACE_HAS_EXCEPTIONS (define it unless __HPACC_NOEH is set). This breaks a coupling from the platform_hpux_aCC.GNU file, and will make autoconf easier as well as making it easier for users to write makefiles without following the ties through and trying to duplicate them. Also, include config-posix.h to let it pick up system-supplied settings. * ace/OS_Memory.h: In the HP aCC section, remove the checks for aCC version > 32500 and _HP_NAMESPACE_STD... just use the ACE_HAS_STANDARD_CPP_LIBRARY setting from config-hpux-11.00.h. * ace/Proactor.cpp (ctor): When no implementation is supplied, be sure to make one up, even w/o presence of realtime signals. * include/makeinclude/platform_hpux_aCC.GNU: If stdcpplib is not specified by user, set it to 1 always, unless the compiler is a .2x version and not .27 (03.27 (01.27 on 10.20) is the first version that can do -AA); makes it unnecessary to update this every time HP releases a new compiler version. Also rearranged the thread-related compiler option settings to be simpler and easier to match with what the documentation says to set. Removed the ACE_HAS_STANDARD_CPP_LIBRARY settings; they're defined in ace/config-hpux-11.00.h when proper (see above). Also, added +W930 to CCLFAGS when -AA to stop a spurious warning about placement operator delete on aC++ 03.37, 03.39. Sat Nov 23 17:43:29 2002 Steve Huston * ace/ACE.cpp (send_n): Properly update byte count for each message block in the chain to send. Thanks to Venkita Subramonian for reporting this and sending a fix. Sat Nov 23 16:55:39 2002 Steve Huston * tests/MEM_Stream_Test.cpp: * tests/Notify_Performance_Test.cpp: * tests/Priority_Reactor_Test.cpp: * tests/Process_Manager_Test.cpp: * tests/Reactor_Performance_Test.cpp: Replaced calls to the deprecated ACE_Reactor::run_event_loop() and end_event_loop() with run_reactor_event_loop() and end_reactor_event_loop(). * tests/Proactor_Test.cpp: Add missing \n in an ACE_DEBUG message. Sat Nov 23 00:16:59 2002 Craig Rodrigues * ace/config-posix.h: Define ACE_HAS_PTHREADS_STD if platform defines _POSIX_THREADS. Fri Nov 22 13:48:39 2002 Nanbor Wang * ace/Containers_T.cpp (init_head): Broke up the cascading pointer assignments to avoid a problem when using position independent pointer. Thanks to Eugene Alterman for reporting this. * ace/Svc_Conf.l: * ace/Svc_Conf_l.cpp: Changed to always remove the matching quote character (' or ") instead of first search for double quote, then single quote. Thanks to Johnny Willemsen for sumitting the patch. Fri Nov 22 04:52:16 2002 Bala * ACE version 5.2.6 released. Tue Nov 19 22:36:38 2002 Ossama Othman * ace/Time_Value.h (sec, usec, msec): Documentation updates/clarifications. * ace/Time_Value.cpp (operator++, operator--): Fixed postfix increment and decrement operators. Previously they had the same implementation as their prefix increment and decrement operator counterparts. A copy of the ACE_Time_Value is now done prior to in/decrementing it via the corresponding prefix operator. That copy is returned. A copy is only performed for the postfix case. Tue Nov 19 18:14:10 2002 Pradeep Gore * bin/auto_run_tests.lst: Modified Notify configurations. * bin/auto_run_tests.pl: Checkin on behalf of Irfan - Changed logic so that it checks for the existence of the executable and not of the parameters passed to the executable. Tue Nov 19 07:09:15 2002 Balachandran Natarajan * bin/auto_run_tests.lst: Tests not runnable in minimum configuration were being run. Hence prevented them from running. Mon Nov 18 20:49:33 2002 Nanbor Wang * examples/IPC_SAP/FILE_SAP/client.cpp (ACE_TMAIN): Changed to use predefined ACE_DEFAULT_FILE_PERMS instead of the non-portable 0666. Mon Nov 18 12:27:46 2002 Balachandran Natarajan * ace/Dev_Poll_Reactor.cpp (handler): * ace/WFMO_Reactor.i (handler): * ace/Select_Reactor_Base_T.cpp (handler_i): The methods that returns a signal handler associated with a certain type of signal, does restrictive sanity checks. One of the checks that it performs is to see whether a pointer to an event_handler is 0 just before assigning a new event handler pointer. This check was not required at all and hence it is now removed. Thanks to Edan Ayal for reporting this. Sat Nov 16 09:38:38 2002 Balachandran Natarajan * ace/*/Makefile: * tests/Makefile: * examples/*/Makefile: * performance-tests/*/Makefile: * ACEXML/*/Makefile: Updated dependencies. Fri Nov 15 20:33:02 UTC 2002 Don Hinton * ace/SOCK_Dgram_Mcast.h: * ace/config-all.h: Added new macro for platforms that don't yet implement the new IGMPv3, perfect multicast filtering, and replaced the #ifdef linux in the ACE_SOCK_Dgram_Mcast::ctor with the new macro, since this isn't just a linux thing. * ace/config-aix-4.x.h: * ace/config-freebsd.h: * ace/config-linux-common.h: * ace/config-netbsd.h: * ace/config-openbsd.h: Defined ACE_LACKS_PERFECT_MULTICAST_FILTERING for these platforms. * ace/SOCK_Dgram_Mcast.cpp (open_i): Removed redundant call to ACE_SOCK::set_option() to set SO_REUSEADDR, since it's set in the call to ACE_SOCK::open(). This fixes [bug 1111]. * tests/Multicast_Test.cpp: Enhanced test by adding new options control the wait time when running test as a CONSUMER only, and contol the TTL so the test could be used over routers. Also cleaned up the code a bit to make it more readable. Thanks to Bill Fulton for motivating these enhancements. Fri Nov 15 14:16:10 2002 Nanbor Wang * ace/Thread_Exit.h: * ace/Thread_Exit.cpp (cleanup): Changed the type of the argument takes to the generic (void*) and avoid including in Thread_Exit.h. This eliminated the circular header dependencies when ACE_LEGACY_MODE is define. * ace/ace_dll.dsp: * ace/ace_lib.dsp: Removed some template files from the build lists and make sure all template files are not being built. Fri Nov 15 13:22:41 2002 Steve Huston * tests/Proactor_Test.cpp: On Win32, check for canceled I/O using ERROR_OPERATION_ABORTED instead of ECANCELED. Fri Nov 15 16:51:11 UTC 2002 Craig Rodrigues * ace/POSIX_CB_Proactor.h: * ace/POSIX_CB_Proactor.cpp: Do not build on Lynx. Fri Nov 15 14:14:39 UTC 2002 Craig Rodrigues * ace/POSIX_CB_Proactor.h: * ace/POSIX_CB_Proactor.cpp: Do not build on Sun. Fri Nov 15 14:08:11 UTC 2002 Craig Rodrigues * include/makeinclude/platform_linux.GNU: Linux glibc has aio_ and pthread_ calls in librt.so. Add fix so that librt.so is linked in if threads=0. Fri Nov 15 07:48:37 2002 Balachandran Natarajan * tests/OS_Test.cpp: Added the test cases for itoa from Joseph Sarbak . Fri Nov 15 07:08:46 2002 Balachandran Natarajan * bin/auto_run_tests.lst: Fixed a few minor problems that showed up in the daily builds. Thu Nov 14 22:08:49 2002 Steve Huston * tests/Proactor_Test.cpp: Make this test behave better: - At the end of running time, close all the Senders. This should cancel all the Sender outstanding operations and trip all the Receivers into finishing their receives and closing themselves. - Change the default Sender/Receiver count from 20 to 10. This shrinks the log a bit without sacrificing test quality. - Change the "inferior platforms" default Sender/Receiver count from 1 to 3. With Proactor improvements made so far, let's give these platforms some more exercise and see what happens. Thu Nov 14 23:10:32 UTC 2002 Craig Rodrigues * ace/POSIX_CB_Proactor.cpp: * ace/POSIX_CB_Proactor.h: * ace/POSIX_CB_Proactor.i: * ace/POSIX_Proactor.cpp: * ace/POSIX_Proactor.h: * ace/POSIX_Proactor.i: * ace/Proactor.cpp: * tests/Proactor_Test.cpp: Fixed Proactor so that on platforms that support POSIX IO, but not POSIX RT signals, it will compile. Use the new ACE_HAS_POSIX_REALTIME_SIGNALS macro. Thu Nov 14 22:47:45 UTC 2002 Craig Rodrigues * include/makeinclude/platform_freebsd.GNU: Merged with the pthread version of this file. To compile without threads, set, do make threads=0, or set threads=0 in this file. * include/makeinclude/platform_freebsd_pthread.GNU: Removed. * ace/config-freebsd.h: Merge with pthread version of this file. * ace/config-freebsd-pthread.h: Removed. * ace/OS.h: Use new ACE_HAS_POSIX_REALTIME_SIGNALS macro for POSIX RT signals stuff, instead of ACE_HAS_AIO_CALLS. FreeBSD has POSIX AIO, but not POSIX RT signals. * ace/config-sunos5.6.h: Define ACE_HAS_POSIX_REALTIME_SIGNALS, ACE_HAS_POSIX_MESSAGE_PASSING. * ace/config-linux-common.h: Define ACE_HAS_POSIX_REALTIME_SIGNALS, ACE_HAS_AIO_CALLS. Thu Nov 14 16:19:57 2002 Balachandran Natarajan * bin/auto_run_tests.lst: Added two tests, Bug_1269_Regression and Bug_1270_Regression into the daily regression suite. They will not run on Win32. Thu Nov 14 13:35:44 2002 Nanbor Wang * ace/Containers_T.cpp: Changed to deallocate internal nodes in ACE_Double_Linked_List with the allocator. Thanks to Eugene Alterman for reporting the problem. Thu Nov 14 10:57:47 2002 Carlos O'Ryan * ace/OS.h (ace_timezone): Fixed broken implementation for Linux. Call tzset() and then return the global "timezone" variable instead. [Bug 1359] Thu Nov 14 12:19:51 2002 Chad Elliott * bin/MakeProjectCreator/modules/Creator.pm: Modify the way projects are created on windows. If using cygwin perl then use \n instead of \r\n. * bin/MakeProjectCreator/modules/VC7WorkspaceCreator.pm: Sort the list of projects to make the generated solution file more similar to actual solution files. Thu Nov 14 06:16:51 2002 Chad Elliott * bin/MakeProjectCreator/modules/Parser.pm: Take into account relative directories in the cd() method. The original optimization overlooked this. Thu Nov 14 06:59:12 UTC 2002 Johnny Willemsen * ace/Date_Time.{h,i}: Added update() method with which it is possible to set the values in ACE_Date_Time based on a passed ACE_Time_Value. * ace/Time_Request_Reply.{h,cpp}: Made the argument of the timeout method const&. Updated doxygen documentation and marked init() as deprecated because it is a no-op. Wed Nov 13 18:28:39 2002 Steve Huston * tests/FIFO_Test.cpp: Changed to both clarify the usage of ACE_FIFO_(Send|Recv)_Msg with and without ACE_HAS_STREAM_PIPES and test that usage. Wed Nov 13 17:39:41 2002 Steve Huston * ace/POSIX_Proactor.{h cpp}: * ace/SUN_Proactor.{h cpp}: Leave two handle_events() methods available; one with a timeout, one without. Each proactor's implementations calls an internal handle_events_i() method that does the right thing. (start_aio): This is a virtual method used to start an asynch I/O request from outside the proactor (such as from an asynch read stream). When the actual operation is to start, start_aio calls start_aio_i(), implemented differently for the different proactors. Similar arrangement for cancel_aio(). * tests/Proactor_Test.cpp: Cancel all outstanding operations before trying to abruptly stop everything. Wed Nov 13 17:29:31 2002 Steve Huston * ace/WIN32_Asynch_IO.h (cancel_uncompleted): Filled in description of the 'set' parameter. Thanks to Craig Rodrigues for noticing its omission. Wed Nov 13 16:52:04 UTC 2002 Craig Rodrigues * ace/Lib_Find.cpp (ldname): MacOS X prepends an underscore to symbols in shared libaries. * ace/config-macosx.h: * include/makeinclude/platform_macosx.GNU: - add support for dlcompat, a third party package which provides dlopen(), dlsym(), dlcose() functions - Define ACE_LD_SEARCH_PATH to DYLD_LIBRARY_PATH and ACE_LD_SUFFIX to .dylib Tue Nov 12 14:12:59 2002 Balachandran Natarajan This is a hackish fix for BUG 1361. Please see http://deuce.doc.wustl.edu/bugzilla/show_bug.cgi?id=1361 for details of this problem * ace/TP_Reactor.cpp (handle_socket_events): A hack to prevent BUG 1361 from surfacing for applications like TAO, using the TP_Reactor. This fix basically ensures that resume_i () is not called naively. * ace/Event_Handler.h: Added a enum type which could be could be used by the TP_Reactor. Tue Nov 12 11:53:29 2002 Steve Huston * tests/run_test.lst: Change FIFO_Test from !MSVC to !Win32 to prevent it from running with Borland on Windows. Thanks to Johnny Willemsen for pointing this out. Tue Nov 12 14:11:33 UTC 2002 Johnny Willemsen * ace/Time_Value.h: Doxygen documentation improvements. Tue Nov 12 13:15:12 UTC 2002 Johnny Willemsen * ace/Message_Queue_T.h: Doxygen documentation improvements. Mon Nov 11 20:37:18 2002 Ossama Othman * bin/auto_run_tests.lst: Added Jai's application-controlled membership load balancing test to the list of regression tests to be run. Mon Nov 11 17:57:12 2002 Ossama Othman * bin/auto_run_tests.lst: Added Carlos' new PortableInterceptor AMI test to the list of regression tests to be run. Mon Nov 11 16:17:59 2002 Nanbor Wang * bin/MakeProjectCreator/modules/TemplateParser.pm (relative): Changed to invoke slash_to_backslash from $self. The original code only runs on some specific version of perl. Mon Nov 11 13:35:53 2002 Douglas C. Schmidt * ace/Hash_Map_Manager_T.h: Updated comments on the class ACE_Hash_Map_Bucket_Iterator. Thanks to Kitty and Irfan for helping with this. Mon Nov 11 12:52:41 2002 Steve Huston * docs/ACE-subsets.html: Added the Timer component to the list of buildable pieces. Thanks to Jason Pasion for reporting this problem. * THANKS: Added Jason Pasion to the Hall of Fame. Mon Nov 11 12:39:18 2002 Steve Huston * ace/FIFO_Send_Msg.cpp (send): When setting iovec length, static_cast the int length to size_t; the target is not an int (as the strbuf length is). When returning the sent byte count, don't include any additional bytes added internally for record framing. * tests/FIFO_Test.cpp: New test to exercise basic and overflow message-based FIFO I/O. * tests/Makefile: * tests/run_test.lst: Added FIFO_Test. Disabled on MSVC builds since Windows doesn't have FIFOs. Mon Nov 11 09:58:13 2002 Douglas C. Schmidt * ace/CDR_Stream.{i,cpp} Add casts to ACE_CDR::Octet and ACE_CDR::Boolean to prevent warnings when run with MSVC++ level 4 warnings. Thanks to Lukas Gruetzmacher for motivating this fix. * ace/OS_String.cpp (itoa_emulation): Updated the code so that it'll work correctly with negative numbers. Thanks to Joseph Sarbak for reporting this and providing a fix. Sun Nov 10 19:38:45 2002 Balachandran Natarajan * ace/Message_Block.cpp(copy): The copy () methods were copying data till the end_ pointer. This is a wrong assumption, especially in places where the alloted bytes are less than the allocated bytes. Now we use the space () method to find out the amount of space available in the data block for copying. Thanks to Edan Ayal for finding this and providing a patch. * ace/Simple_Message_Block_Test.cpp: Added a test which tests copying in a case where the alloted space is less than the allocated space. Thanks to Edan Ayal for this test case. Sat Nov 9 12:37:54 2002 Douglas C. Schmidt * docs/ACE-guidelines.html: Updated the ACE guidelines to refer to the correct Doxygen links. Thanks to Johnny Willemsen for reporting this. Sat Nov 9 21:48:31 2002 Steve Huston * tests/Proactor_Test.cpp: When disabling Nagle's, use IPPROTO_TCP, not SOL_SOCKET, for the setsockopt level. Fixes set_option errors in this test log. Sat Nov 9 18:49:11 2002 Steve Huston * ace/POSIX_Proactor.{h cpp i} (create_asynch_read_stream, create_asynch_write_stream, create_asynch_read_dgram, create_asynch_write_dgram, create_asynch_read_file, create_asynch_write_file, create_asynch_accept, create_asynch_connect, create_asynch_transmit_file): Refactored all the factory creation methods from ACE_POSIX_AIOCB_Proactor to ACE_POSIX_Proactor. Moved the pseudo task from ACE_POSIX_AIOCB_Proactor to ACE_POSIX_Proactor as well. (handle_events, cancel_aio): Added these methods to ACE_POSIX_Proactor as pure virtual, forcing their definition in the specific implementations. (start_aio): This is now a pure virtual function that all more specific proactors need to implement. The old start_aio() is now start_aio_i(). What used to be ACE_POSIX_AIOCB_Proactor:: register_and_start_aio() is now ACE_POSIX_AIOCB_Proactor::start_aio. Which type of I/O to start is now defined by an enum Opcode that's passed to start_aio(). * ace/POSIX_Asynch_IO.{h cpp} (ACE_POSIX_Asynch_Operation): Replace references to ACE_POSIX_AIOCB_Proactor with ACE_POSIX_Proactor. Refactoring things out of specific proactor types. (ACE_POSIX_Asynch_Read_Stream, ACE_POSIX_Write_Stream, ACE_POSIX_Asynch_Read_File, ACE_POSIX_Asynch_Write_File, ACE_POSIX_Asynch_Accept, ACE_POSIX_Asynch_Connect, ACE_POSIX_Asynch_Transmit_File, ACE_POSIX_Asynch_Transmit_Handler, ACE_POSIX_Asynch_Read_Dgram, ACE_POSIX_Asynch_Write_Dgram): Replace args of type ACE_POSIX_AIOCB_Proactor with ACE_POSIX_Proactor. Matches POSIX_Proactor.* changes above. Removed all the methods that said they were only there to kill dominance warnings. These are not needed. These things all simplify the proactor framework code. Thanks to Alex Libman for these ideas. Sat Nov 9 13:16:50 2002 Balachandran Natarajan * THANKS: Added Simon McQueen to the hall of fame. Fri Nov 8 13:04:10 2002 Chad Elliott * bin/MakeProjectCreator/modules/ProjectCreator.pm: Fixed a bug in MPC where the idl file name could cause an error on Windows if it had a slash in it. It would be converted to a back slash and then interpreted inside a regular expression which would cause MPC to abort. Fri Nov 8 13:00:56 2002 Chad Elliott * bin/MakeProjectCreator/modules/BorlandProjectCreator.pm: * bin/MakeProjectCreator/modules/BorlandWorkspaceCreator.pm: * bin/MakeProjectCreator/modules/Creator.pm: * bin/MakeProjectCreator/modules/Driver.pm: * bin/MakeProjectCreator/modules/EM3ProjectCreator.pm: * bin/MakeProjectCreator/modules/EM3WorkspaceCreator.pm: * bin/MakeProjectCreator/modules/GHSProjectCreator.pm: * bin/MakeProjectCreator/modules/GHSWorkspaceCreator.pm: * bin/MakeProjectCreator/modules/GNUProjectCreator.pm: * bin/MakeProjectCreator/modules/GNUWorkspaceCreator.pm: * bin/MakeProjectCreator/modules/GUID.pm: * bin/MakeProjectCreator/modules/NMakeProjectCreator.pm: * bin/MakeProjectCreator/modules/NMakeWorkspaceCreator.pm: * bin/MakeProjectCreator/modules/Parser.pm: * bin/MakeProjectCreator/modules/ProjectCreator.pm: * bin/MakeProjectCreator/modules/TemplateInputReader.pm: * bin/MakeProjectCreator/modules/TemplateParser.pm: * bin/MakeProjectCreator/modules/VA4ProjectCreator.pm: * bin/MakeProjectCreator/modules/VA4WorkspaceCreator.pm: * bin/MakeProjectCreator/modules/VC6ProjectCreator.pm: * bin/MakeProjectCreator/modules/VC6WorkspaceCreator.pm: * bin/MakeProjectCreator/modules/VC7ProjectCreator.pm: * bin/MakeProjectCreator/modules/VC7WorkspaceCreator.pm: * bin/MakeProjectCreator/modules/WorkspaceCreator.pm: Performed various optimization which dramatically decreased the amount of time to generate projects for the entire ACE tree. In tests, the time went from 2 minutes to 1 minute. Fri Nov 8 12:57:57 2002 Chad Elliott * bin/MakeProjectCreator/README: Added documentation for the new verbatim keyword. * bin/MakeProjectCreator/modules/ProjectCreator.pm: * bin/MakeProjectCreator/modules/TemplateParser.pm: Added functionality to place test verbatim into a generated project file. * bin/MakeProjectCreator/templates/gnu.mpd: Added verbatim markers top, macros, local and bottom. Fri Nov 8 12:52:16 2002 Chad Elliott * bin/MakeProjectCreator/README: Added documentation about the new idlgendir keyword. * bin/MakeProjectCreator/modules/GHSWorkspaceCreator.pm: * bin/MakeProjectCreator/modules/Parser.pm: * bin/MakeProjectCreator/modules/ProjectCreator.pm: * bin/MakeProjectCreator/modules/TemplateParser.pm: * bin/MakeProjectCreator/modules/VC6WorkspaceCreator.pm: * bin/MakeProjectCreator/modules/VC7WorkspaceCreator.pm: Modified flag_overrides to work with both idlflags and idlgendir. * bin/MakeProjectCreator/templates/bor.mpd: * bin/MakeProjectCreator/templates/em3vcp.mpd: * bin/MakeProjectCreator/templates/gnu.mpd: * bin/MakeProjectCreator/templates/nmake.mpd: * bin/MakeProjectCreator/templates/vc6dsp.mpd: * bin/MakeProjectCreator/templates/vc7.mpd: Modified all templates that deal with idl files to utilize the idlgendir keyword. Fri Nov 8 04:03:29 UTC 2002 Don Hinton * tests/Multicast_Test.cpp: Cleaned up error messages and error handling and insure that errors are returned. Added 2 second timeout to call to ACE_Thread_Manager::wait() so that lost messages won't cause test to hang. Wed Nov 6 18:55:22 2002 Steve Huston * ace/OS.{h i} (recursive_mutex_cond_unlock, recursive_mutex_cond_relock): For Windows, don't try to save/restore CRITICAL_SECTION members individually - there are undocumented details at work there. Instead, release and acquire the mutex one fewer times than the recursion count, letting Windows take care of its internals. Fixes the hung Recursive_Condition_Test on Windows. This also neatly removes the WinCE conditional code in this area. * tests/Recursive_Condition_Test.cpp: Fix a const error that gcc pointed out. Wed Nov 6 11:12:28 2002 Steve Huston * tests/Recursive_Condition_Test.cpp: Replaced ACE_TRACE with ACE_DEBUG so the log gets all the info. Re-enabled the timer queue part of the test and added a check to be sure "enough" expirations are recorded. Added a piece of data protected by the mutex/condition to be sure threads aren't released too early. Tue Nov 5 21:54:40 2002 Balachandran Natarajan * tests/run_tests.lst: * tests/run_tests_remote.lst: Removed these files, since they served no purpose other than adding to the noise. Tue Nov 5 15:51:29 2002 Steve Huston * ace/INET_Addr.cpp (set_addr): Add missing ';' in the IPv6 case. Tue Nov 5 20:26:33 UTC 2002 Don Hinton * tests/tests.mpc: Added Multicast_Test entry. * tests/README: Upadate instructions for adding new tests. Tue Nov 5 12:12:05 2002 Balachandran Natarajan * tests/Multicast_Test.cpp: Fixed compile errors in single threaded builds. Tue Nov 5 11:24:03 2002 Nanbor Wang * ace/Process.h: * ace/Process.i: Added a new method which returns the actual value returned or 'ed by the child process. The accessor returns the raw exit status returned by the system APIs and the value is OS dependent. Changed the mutator to be a proctected method and declare ACE_Process_Manager a fried of ACE_Process as mutator should only be used by ACE_Process_Manager. Thanks to Stephen Blake for reporting the problem. Tue Nov 5 05:12:16 2002 Ossama Othman * ace/Acceptor.h: * ace/Connector.h: * ace/Strategies_T.h: Added missing STL-style template traits found in C++NPv2 including the following: addr_type acceptor_type connector_type handler_type stream_type base_type accept_strategy_type connect_strategy_type creation_strategy_type concurrency_strategy_type recycling_strategy_type scheduling_strategy_type where applicable. The old traits are still available and remain unchanged. Tue Nov 5 05:54:16 UTC 2002 Don Hinton * tests/Multicast_Test.cpp: Fixed typo in pragma instantiation, and replaced an instance of char* with ACE_TCHAR* to fix unicode builds. Added #ifdef for ACE_HAS_THREADS, since it uses ACE_Task as an active object. * tests/run_test.lst: Turned off Multicast_Test and Token_Stategy_Test for single threaded builds. Mon Nov 4 18:01:25 UTC 2002 Don Hinton * tests/Makefile.bor: Added new Multicast_Test. Thanks to Johnny Willemsen for noticing this. Mon Nov 4 16:14:21 UTC 2002 Don Hinton * tests/Multicast_Test.cpp (get_handle): Made return type of definition ACE_HANDLE to match the declaration. Thanks to Ed Skees for reporting this. * tests/Multicast_Test.dsp: * tests/tests.dsw: Added new dsp. Thanks again to Ed Skees for providing this. * THANKS: Added Ed Skees to hall of fame... Mon Nov 4 09:28:34 UTC 2002 Don Hinton * ace/SOCK_Dgram.cpp (recv): Corrected method signature in .cpp to match the one in the .h. The .h version specified iovec*, but the .cpp had iovec[] which confused doxygen. This fixes bug [1353]. Sun Nov 3 19:41:30 UTC 2002 Don Hinton * tests/Multicast_Test.cpp: * tests/Makefile: * tests/run_test.lst: Added a new test to exercise some of the new functionality of ACE_SOCK_Dgram_Mcast. Sun Nov 3 10:36:50 2002 Balachandran Natarajan * tests/run_test.lst: Prevented SV_Shared_Memory test from running in RH_7.1 configurations. Please see BUGID 1351 for details. Sat Nov 2 17:44:00 2002 Balachandran Natarajan * ace/Select_Reactor_Base.h: * ace/Select_Reactor_Base.cpp: Fixed a subtle bug in the Select_Reactor. The following were performed during the bind () operation, which binds a handle with interested mask to an event_handler, - The new masks were added to the existing wait_set - and the new masks were also removed from the suspend_set. Though the above steps were fine, there exists a possibility when the reactor could land up with a state when the handle could be both in the wait_set and suspend_set. If suppose a handle is initially registered for READ and EXCEPTION with the reactor and then suspended. If the user calls register_handler () to register the same handle for READ and WRITE, things could go totally bizzare. The present fix does the following - If the handle is suspended, the masks are added to the suspend_set - else the masks are added to the wait_set and the flag that indicates state changes within the reactor is set to 1. A pure virtual call is_suspended_i () was added to the ACE_Select_Reactor_Base class to make the check for a suspended handle possible within the bind () call. Thanks to Irfan Pyarali who reported this problem. This should fix the problem reported in [BUG 1305]. Fri Nov 1 07:35:10 2002 Balachandran Natarajan * bin/auto_run_tests.lst: Added the new MProfile_Connection_Timeout test to the daily regression tests. Thu Oct 31 19:15:49 2002 Nanbor Wang * ACEXML/common/Attributes.h: Added the missing inclusion of ACEXML_Export.h and the #pragma once directive. Thanks to Paul Marquis for reporting this. Thu Oct 31 12:57:10 2002 Nanbor Wang * ace/OS.i (fstat): Added check for FILE_ATTRIBUTE_DIRECTORY on Win32 to set the file type in the st_mode so one can determine if it's a file or a directory. Thanks to Paul Marquis for submitting the patch. Wed Oct 30 13:47:14 2002 Steve Huston * ace/Thread_Exit.cpp: Add #include "ace/Managed_Object.h" to get the definition of ACE_Managed_Object. Wed Oct 30 11:38:36 2002 Irfan Pyarali * ace/Timeprobe.h: Fixed formatting of comments that somehow got messed up in: http://cvs.doc.wustl.edu/viewcvs.cgi/ace/Timeprobe.h.diff?r1=4.29&r2=4.30 Tue Oct 29 22:27:24 2002 Frank Hunleth * apps/gperf/src/Key_List.cpp: Added cast to int on UCHAR_MAX and USHRT_MAX to remove warnings of comparing signed and unsigned values under OpenBSD. * ace/config-openbsd.h: * ace/config-openbsd-pthread.h: Added ACE_HAS_MKSTEMP since OpenBSD has the mkstemp() function, and it helps clear up linker warnings. Also added ACE_HAS_ALT_CUSERID to clear up errors due to _cuserid(). Thanks to Craig Rodrigues for the latter patch. Tue Oct 29 15:45:06 2002 Nanbor Wang * ace/Thread_Exit.h: * ace/Thread_Exit.cpp: * ace/Thread_Manager.h: * ace/Thread_Manager.cpp: Changed to use ACE_Thread_Manager to clean up the global TSS ACE_Thread_Exit object instead of depending on the more general ACE_Object_Manager::at_exit method so we can better control the order of destruction. The change makes sure the global TSS ACE_Thread_Exit object will only get deleted *after* ACE_Thread_Manager has cleaned up all threads and destroyed itself. Thanks to Patrick McNerthney and Daniel Bell for reporting the problem. Tue Oct 29 16:19:54 UTC 2002 Craig Rodrigues * ace/INET_Addr.cpp: * ace/INET_Addr.i: * ace/INET_Addr.h: - Added a reset() method to initialize the underlying sockaddr_in or sockaddr_in6 structure, and set the address family. Changed all constructors to use this reset() method. [Bug 1342] - (INET_Addr::set_addr) the port number was not being set, so set it. [Bug 1329] * tests/INET_Addr_Test.cpp: Add test to verify that address family is being set. * THANKS: Added Thomas Devanneaux who provided these fixes. Mon Oct 28 20:46:33 2002 Steve Huston * ace/SOCK_Dgram_Mcast.cpp (ACE_SDM_helpers::addr_to_string): Use the "" string in place rather than try to declare it a static. gcc reports the original usage won't do what you think (keep one copy for the method) but will duplicate it in each generated method. Use it as a literal and let the compiler try to place a single copy in a read-only section. Mon Oct 28 20:38:27 2002 Steve Huston * ace/Asynch_IO.cpp (ACE_Service_Handler::addresses()): Don't print addresses from here. It's inappropriate for a framework to be printing things out without being asked to. * ace/POSIX_Asynch_IO.cpp (ACE_POSIX_Asynch_Read_Stream::read): * ace/WIN32_Asynch_IO.cpp (ACE_WIN32_Asynch_Read_Stream::read): Don't print a message for a 0-byte/no space read - set errno to ENOSPC so the caller can figure out what's going on. * ace/SUN_Proactor.{h cpp}: * ace/POSIX_Proactor.{h cpp} (ACE_POSIX_AIOCB_Proactor):Change 'return_status' arg to get_result_status(), find_completed_aio() from int to size_t and rename transfer_count; get_result_status() takes care of sensing -1 count and changing to 0. Passing back a size_t smooths the path from here through to the result object. Removed application_specific_code() - reuse the one from ACE_POSIX_Proactor - this one called it; remove the middle-man. * tests/Proactor_Test.cpp: Added addresses() method implementations to print address with session IDs; helps to match Sender/Receiver pairs in the log. Also added some logging of basic send/recv info to help try to track down why this facility doesn't work well. Added a check for comparable sends/receives when a session ends. Added a warning if there are outstanding I/O when the session ends. This probably should be an error, but I haven't thought through it enough to go that far. For the SUN Proactor, use one thread by default (not 3) - aiosuspend() is not MT safe. Mon Oct 28 12:48:14 2002 Nanbor Wang * bin/PerlACE/Process_Unix.pm (Spawn): Return 0 when the function complete successfully. Thanks to Charles F. Frasch for reporting and suggesting the fix. Sun Oct 27 07:44:32 2002 John Aughey * ace/INET_Addr.cpp: Changed the default constructor to only set the address family rather than doing a full set. This should exhibit the same behavior without additional overhead. Sat Oct 26 21:49:15 2002 Nanbor Wang * ace/Process.cpp (wait): * ace/Process.i (wait): Changed to always update this->exit_code_ when waiting on a child process to allow method to function properly. Removed the use of the macro ACE_OSCALL_RETURN on ACE_OS::waitpid since ACE_OS::waitpid is already signal safe. * ace/Process.h: Changed the type of this->exit_code_ from int to ACE_exitcode. Updated documentation for mutator method to better reflect the intention for using this method. Thanks to Artashes Ghazaryan , Jaroslaw Nozderko , and Stephen Blake for reporting the problem. Sat Oct 26 11:42:04 UTC 2002 John Aughey * ace/INET_Addr.cpp: Changed default behavior to set 0 port and INADDR_ANY address. Sat Oct 26 09:45:12 UTC 2002 Johnny Willemsen * ace/Timer_Heap_T.h: Doxygen documentation fix * ace/OS.h: The BCB4 header files don't define ENOTEMPTY, so define this when detecting the BCB4 compiler. Thanks to Mike Curtis for reporting this. * examples/Reactor/Proactor/test_proactor2.cpp: Removed not needed return. Fixes a BCB4 build error * THANKS: Added Mike Curtis Wed Oct 23 16:37:15 2002 Balachandran Natarajan * THANKS: Added Sandeep to the Hall of Fame. Wed Oct 23 17:20:18 UTC 2002 Don Hinton * ace/Service_Object.{h,cpp} (suspend, resume, fini): Changed return value from void to int so that the return value of the contained ACE_Service_Type could be propagated. * ace/Service_Repository.cpp (suspend, resume, fini): Changed to propagate the return value from the ACE_Service_Type instead of always 0. Tue Oct 22 16:26:56 2002 Rich Seibel * ace/Basic_Types.h: Added a test for _BYTE_ORDER, same as BYTE_ORDER and __BYTE_ORDER. VxWorks defines this. Also note, compilers that previously automatically looked for _BYTE_ORDER when only BYTE_ORDER was specified will likely not do so in the future. This will proactively fix them also. * ace/config-all.h: Moved the use of FUNCPTR until after the include that defines it. Only affects VxWorks. Tue Oct 22 13:11:42 2002 Nanbor Wang * ace/OS.cpp (DllMain): Added code to invoke DisableThreadLibraryCalls during PROCESS_ATTACH when ACE_DISABLES_THREAD_LIBRARY_CALLS is defined to 1 as described below. This should enhance performance of applications that spawn a lot of threads. Thanks to Patrick McNerthney for suggesting the change. We should probably apply the same optimization for the core TAO libraries. * ace/config-win32-common.h: Defined a Win32-only new macros ACE_DISABLES_THREAD_LIBRARY_CALLS which is default to 0 if not defined by users. Mon Oct 21 17:26:15 2002 Douglas C. Schmidt * ace/SPIPE_Acceptor.cpp: Modified SPIPE_Acceptor::create_new_instance to manually signal the event used in the ConnectNamedPipe call when an ERROR_PIPE_CONNECTED status is returned. Also added the handling of the status of ERROR_NO_DATA to the same logic as ERROR_PIPE_CONNECTED. Thanks to Patrick J. McNerthney for contributing this. Tue Oct 22 10:20:41 2002 Balachandran Natarajan * examples/C++NPv2/Reactor_Logging_Server_T.cpp: Fixed a typo that broke the builds. My bad :( Mon Oct 21 20:13:27 2002 Balachandran Natarajan * examples/C++NPv2/Reactor_Logging_Server_T.cpp: * examples/C++NPv1/Logging_Server.cpp: * examples/C++NPv1/Process_Per_Connection_Logging_Server.cpp: * examples/C++NPv1/RT_Thread_Per_Connection_Logging_Server.cpp: * examples/C++NPv1/Thread_Per_Connection_Logging_Server.cpp: Fix for compile errors on Lynx platform. Thanks to Craig Rodrigues for supplying the patches. Tue Oct 22 12:36:12 UTC 2002 Johnny Willemsen * ace/Basic_Stats.h: * ace/Dirent_Selector.h: * ace/Service_Config.h: * ace/Timer_Heap_T.h: Improved doxygen documentation. Mon Oct 21 22:30:51 2002 Balachandran Natarajan * tests/SString_Test.cpp (ACE_TMAIN): Fixed a warning in Win32 builds. Mon Oct 21 20:04:12 2002 Balachandran Natarajan * ace/WIN32_Asynch_IO.h: * ace/WIN32_Asynch_IO.cpp: Integrated the latest patches from Eric Frias . Mon Oct 21 06:54:12 2002 Balachandran Natarajan * tests/Recursive_Condition_Test.cpp (test_4): * tests/RB_Tree_Test.cpp: Fixed compile errors arising out of M$ quirks. The scoping rules for 'for' loops are busted and hence these fixes. These fixes basically change the variable names for the different for loops inside the same scope. Sun Oct 20 21:40:13 2002 Krishnakumar B * ACEXML/common/HttpCharStream.cpp: Handle all the error paths gracefully and don't leak memory/sockets. Sun Oct 20 14:06:36 2002 Krishnakumar B * ACEXML/common/FileCharStream.cpp (peek_i): Fixed more compilation errors in Borland WCHAR builds. MSVC sucks... Sun Oct 20 11:36:34 2002 Balachandran Natarajan * ACEXML/common/FileCharStream.cpp: Fixed a compile error in Borland builds. The compile error is due to strict enforcement of scoping rules in a for loop by Borland compiler. Sun Oct 20 11:31:45 2002 Balachandran Natarajan * ACEXML/common/Makefile.bor: Added Encoding.obj to the list of object files. Thanks to Johnny for pointing this out. Sun Oct 20 11:30:04 2002 Balachandran Natarajan * tests/SPIPE_Test.cpp: Fixed compile errors in Borland builds. Sun Oct 20 10:16:23 2002 Balachandran Natarajan * examples/C++NPv2/display_logfile.cpp: Fix for single threaded builds. Sun Oct 20 10:12:42 2002 Balachandran Natarajan * tests/Recursive_Condition_Test.cpp: Fix for single threaded builds. The ACE_HAS_THREADS were improperly placed. Sun Oct 20 09:26:58 2002 Balachandran Natarajan * examples/C++NPv1/Makefile: Added changes from "Fri Oct 18 21:01:25 UTC 2002 Craig Rodrigues " back since the changes are fine. Thanks to Craig for pointing that out. Sun Oct 20 13:34:45 UTC 2002 Craig Rodrigues * examples/C++NPv2/Makefile: Replace with recursive Makefile which does not use for loops. Add .NOTPARALLEL target to fix build errors on parallel builds. Sun Oct 20 08:10:43 2002 Balachandran Natarajan * tests/Recursive_Condition_Test.cpp: Fixed a unused variable warning. Sun Oct 20 00:27:02 2002 Balachandran Natarajan * tests/Recursive_Condition_Test.cpp: Fixed a fuzz error. Sun Oct 20 00:14:32 2002 Balachandran Natarajan * examples/C++NPv1/Makefile: Reverted the change "Fri Oct 18 21:01:25 UTC 2002 Craig Rodrigues " since this opens up some problems. Craig will look into it later and provide a clean fix. Till then.. Sat Oct 19 20:00:00 2002 Stephen Torri * tests/Recursive_Condition_Test.cpp: Added test to check nesting_level after requiring a Recursive Condition Mutex multiple times. Also after releasing for the same number of times. * tests/SString_Test.cpp: * ace/String_Base.i: Bug 1323 (Reported by Wayne Erchak ): Fixed. In the effort to protect from memory problems with non-null terminated strings the operators '<' and '>' where rendered useless. Now the comparions use memcmp instead of strncmp. A series of tests have been added to SString_Test.cpp to ensure this does not happen again. Sat Oct 19 21:58:00 2002 Krishnakumar B * ace/Argv_Type_Converter.cpp: * ace/Argv_Type_Converter.h: * ace/Argv_Type_Converter.inl: * ace/Codecs.cpp: * ace/Codecs.h: * ace/OS.cpp: * ace/Vector_T.cpp: * ace/Vector_T.h: * ace/WFMO_Reactor.cpp: * tests/Proactor_Scatter_Gather_Test.cpp: Convert bool to use int. * ace/SString.cpp: Removed a redundant initialization to 0. * tests/Makefile: Add DIRS_PARALLEL=1 to allow building in parallel in $ACE_ROOT/tests. Sat Oct 19 11:40:22 2002 Steve Huston * ace/OS.h: Added a ptrdiff_t typedef for ACE_HAS_WINCE. eVC3, PocketPC2002 don't define this type. * ace/OS.i (recursive_mutex_cond_unlock, recursive_mutex_cond_relock): PocketPC 2002 doesn't have the RecursionCount member in the CRITICAL_SECTION. * ace/OS.cpp: ACE-ified the ACE_CE_ARGV class. * ace/OS_Errno.cpp: Add #include "ace/OS_Memory.h" to get ACE_NEW. * ace/ace_os_dll.vcp: Added files Time_Value.{h cpp inl}. Changed preprocessor file locations from $ACE_ROOT to ".." to allow working with more than one ACE version/build. * ace/ace_dll.vcp: Added files DLL_Manager.{h cpp}. Changed preprocessor file locations from $ACE_ROOT to ".." to allow working with more than one ACE version/build. * ace/config-win32-common.h: Set ACE_HAS_WIN32_TRYLOCK for WinCE in addition to ACE_HAS_WINNT4. Also ACE_HAS_INTERLOCKED_EXCHANGEADD, but only for PPC. * ace/Atomic_Op.h: Only set ACE_HAS_BUILTIN_ATOMIC_OP without ACE_HAS_INTERLOCKED_EXCHANGEADD for MSVC on x86. It's not available for eVC, CE on other than PPC. * tests/ARGV_Test_WinCE.vcp * tests/Atomic_Op_Test_WinCE.vcp * tests/Auto_IncDec_Test_WinCE.vcp * tests/Barrier_Test_WinCE.vcp * tests/Basic_Types_Test_WinCE.vcp * tests/Bound_Ptr_Test_WinCE.vcp * tests/Buffer_Stream_Test_WinCE.vcp * tests/Cached_Accept_Conn_Test_WinCE.vcp * tests/Cached_Conn_Test_WinCE.vcp * tests/Cache_Map_Manager_Test_WinCE.vcp * tests/Capabilities_Test_WinCE.vcp * tests/CDR_Array_Test_WinCE.vcp * tests/CDR_File_Test_WinCE.vcp * tests/CDR_Test_WinCE.vcp * tests/Collection_Test_WinCE.vcp * tests/Conn_Test_WinCE.vcp * tests/DLList_Test_WinCE.vcp * tests/DLL_Test_DLL_WinCE.vcp * tests/DLL_Test_WinCE.vcp * tests/Dynamic_Priority_Test_WinCE.vcp * tests/Enum_Interfaces_Test_WinCE.vcp * tests/Future_Set_Test_WinCE.vcp * tests/Future_Test_WinCE.vcp * tests/Handle_Set_Test_WinCE.vcp * tests/Hash_Map_Bucket_Iterator_Test_WinCE.vcp * tests/Hash_Map_Manager_Test_WinCE.vcp * tests/High_Res_Timer_Test_WinCE.vcpL * tests/Lazy_Map_Manager_Test_WinCE.vcp * tests/Logging_Strategy_Test_WinCE.vcp * tests/Log_Msg_Test_WinCE.vcp * tests/Malloc_Test_WinCE.vcp * tests/Map_Manager_Test_WinCE.vcp * tests/Map_Test_WinCE.vcp * tests/Max_Default_Port_Test_WinCE.vcp * tests/Mem_Map_Test_WinCE.vcp * tests/MEM_Stream_Test_WinCE.vcp * tests/Message_Block_Test_WinCE.vcp * tests/Message_Queue_Notifications_Test_WinCE.vcp * tests/Message_Queue_Test_Ex_WinCE.vcp * tests/Message_Queue_Test_WinCE.vcp * tests/MM_Shared_Memory_Test_WinCE.vcp * tests/MT_Reactor_Timer_Test_WinCE.vcp * tests/MT_Reactor_Upcall_Test_WinCE.vcp * tests/MT_SOCK_Test_WinCE.vcp * tests/Naming_Test_WinCE.vcp * tests/New_Fail_Test_WinCE.vcp * tests/Notify_Performance_Test_WinCE.vcp * tests/Object_Manager_Test_WinCE.vcp * tests/OrdMultiSet_Test_WinCE.vcp * tests/OS_Test_WinCE.vcp * tests/Priority_Buffer_Test_WinCE.vcp * tests/Priority_Reactor_Test_WinCE.vcp * tests/Priority_Task_Test_WinCE.vcp * tests/Process_Manager_Test_WinCE.vcp * tests/RB_Tree_Test_WinCE.vcp * tests/Reactors_Test_WinCE.vcp * tests/Reactor_Exceptions_Test_WinCE.vcp * tests/Reactor_Notify_Test_WinCE.vcp * tests/Reactor_Performance_Test_WinCE.vcp * tests/Reactor_Timer_Test_WinCE.vcp * tests/Reader_Writer_Test_WinCE.vcp * tests/Recursive_Mutex_Test_WinCE.vcp * tests/Refcounted_Auto_Ptr_Test_WinCE.vcp * tests/Reverse_Lock_Test_WinCE.vcp * tests/Semaphore_Test_WinCE.vcp * tests/Service_Config_DLL_WinCE.vcp * tests/Service_Config_Test_WinCE.vcp * tests/Sigset_Ops_Test_WinCE.vcp * tests/Simple_Message_Block_Test_WinCE.vcp * tests/SOCK_Connector_Test_WinCE.vcp * tests/SOCK_Send_Recv_Test_WinCE.vcp * tests/SOCK_Test_WinCE.vcp * tests/SPIPE_Test_WinCE.vcp * tests/SString_Test_WinCE.vcpS * tests/Svc_Handler_Test_WinCE.vcp * tests/Task_Test_WinCE.vcp * tests/Thread_Manager_Test_WinCE.vcp * tests/Thread_Mutex_Test_WinCE.vcp * tests/Thread_Pool_Reactor_Resume_Test_WinCE.vcp * tests/Thread_Pool_Reactor_Test_WinCE.vcp * tests/Thread_Pool_Test_WinCE.vcp * tests/Timeprobe_Test_WinCE.vcp * tests/Timer_Queue_Test_WinCE.vcp * tests/Time_Service_Test_WinCE.vcp * tests/Time_Value_Test_WinCE.vcp * tests/Tokens_Test_WinCE.vcp * tests/TSS_Test_WinCE.vcp * tests/Upgradable_RW_Test_WinCE.vcp Changed include file path from $ACE_ROOT to .. to allow building multiple versions. Added aced.lib to CE ARM Debug builds. Sat Oct 19 16:57:44 UTC 2002 Johnny Willemsen * etc/tao_*.doxygen: Disabled the doxygen warnings. The warnings about not documented members are still on. The warnings are not disabled in the ace libraries because we could fix them there, but we can't fix them in TAO because of the environment macro's that cause the method definition arguments to be different than the implementation arguments. Sat Oct 19 16:47:12 UTC 2002 Johnny Willemsen * ace/ace_wchar.h: Added ACE_TEXT_WaitNamedPipe to the list of Windows functions we use and for which there is an ascii and unicode version. * ace/SPIPE_Connector.cpp: Used ACE_TEXT_WaitNamedPipe instead of ::WaitNamedPipe. This fixes the problems in the BCB Unicode build. Sat Oct 19 10:09:38 2002 Balachandran Natarajan * examples/C++NPv2/Makefile: Reverted the change "Fri Oct 18 21:01:25 UTC 2002 Craig Rodrigues " since this opens up some problems. Craig will look into it later and provide a clean fix. Till then.. Sat Oct 19 09:25:52 2002 Douglas C. Schmidt * examples/Reactor/Misc/test_timer_queue.cpp, * tests/Timer_Queue_Test.cpp: Fixed warnings with G++. Thanks to Bala for reporting this. Fri Oct 18 22:07:31 2002 Steve Huston * ace/config-aix-4.x.h: Only define ACE_HAS_ALLOCA for IBM compilers. They do it via "builtin" trickery and g++ doesn't know that trick. * include/makeinclude/platform_aix4_g++.GNU: Set with_ld to aix to avoid trying to do an soname - AIX's ld doesn't do that. * include/makeinclude/platform_g++_common.GNU: If with_ld is aix, don't try to add to soname option to the linker. Fri Oct 18 20:13:29 2002 Steve Huston * include/makeinclude/platform_hpux_gcc.GNU: Added an optional build parameter, with_ld, whose default value is hpux. This says which ld is used with g++. * include/makeinclude/platform_g++_common.GNU: When setting the SOFLAGS for setting SONAME, if with_ld is hpux, use +h, not -h. -h means "hide symbol" in HP-UX ld. Fri Oct 18 17:12:03 2002 Balachandran Natarajan * examples/C++NPv2/display_logfile.cpp: * examples/C++NPv2/Client_Logging_Daemon.cpp: * examples/C++NPv2/TP_Logging_Server.h: * examples/C++NPv2/TP_Logging_Server.cpp: Fixed compile errors in single threaded builds. All they needed was the usage of the right macros like ACE_SYNCH instead of ACE_MT_SYNCH and ACE_SYNCH_MUTEX instead of ACE_Thread_Mutex. Fri Oct 18 16:25:09 2002 Yuanfang Zhang * tests/RB_Tree_Test.h: * tests/RB_Tree_Test.cpp: add a new method to test forward and reverse partial tree traversal. Fri Oct 18 21:01:25 UTC 2002 Craig Rodrigues * examples/C++NPv1/Makefile: Fix comment. * examples/C++NPv1/Makefile: Replace with recursive Makefile which does not use for loops. Fri Oct 18 15:44:19 2002 Priyanka Gontla * THANKS: Added Christian Barheine to the hall of fame. Fri Oct 18 19:37:20 GMT 2002 Craig Rodrigues * ace/config-macosx.h: Define ACE_HAS_NONSTATIC_OBJECT_MANAGER for gperf. Fri Oct 18 14:52:37 2002 Steve Huston * examples/C++NPv2/Reactor_Logging_Server.cpp: * examples/C++NPv2/Select_Reactor_Logging_Server.cpp: * examples/C++NPv2/TP_Reactor_Logging_Server.cpp: * examples/C++NPv2/display_logfile.cpp: Added necessary explicit template instantiations. Fri Oct 18 13:21:05 2002 Douglas C. Schmidt * tests/Timer_Queue_Test.cpp, * examples/Reactor/Misc/test_timer_queue.cpp: Fixed these tests so that it passes dynamically allocated memory rather that values via the "act" parameter to ACE_Timer_Queue::schedule(). This ensures the test will work properly on strange OS platforms, such as Win64 where pointers and longs/ints are different sizes. Thanks to Cristian Ungureanu for motivating this. Fri Oct 18 17:20:02 UTC 2002 Don Hinton * ace/SOCK_Dgram_Mcast.{h,cpp}: Factored out common code to an open_i() method that open() can call at this level and in inherited classes. * ace/QoS/SOCK_Dgram_Mcast_QoS.{h.cpp}: Modified ctor to take same default param as base class and invoke the base class ctor. Removed duplicate code in open() and have it call base::open_i() after opening the socket with QoS. Changed 1st parameter from ACE_Addr to ACE_INET_Addr to match base classes. Removed duplicate code from subscribe by having it call base class methods. Fri Oct 18 11:51:44 2002 Nanbor Wang * bin/PerlACE/Run_Test.pm: Created a new variable $PerlACE::svcconf_ext which defines the canonical svc.conf file extention used by various run_test scripts. By default, this is defined to ".conf". It can be overwritten using the environment variable ACE_RUNTEST_SVCCONF_EXT. For example, you can define ACE_RUNTEST_SVCCONF_EXT to ".conf.xml" if you have built your ACE with XML-based service configurator. Fri Oct 18 11:55:33 2002 Steve Huston * ace/POSIX_CB_Proactor.cpp: Removed unneeded argument to application_specific_code(). Thanks to Tommy Persson for contributing this fix. Fixes Bugzilla #1325. * THANKS: Added Tommy Persson to the Hall of Fame. Fri Oct 18 11:39:29 2002 Steve Huston * examples/C++NPv1/Process_Per_Connection_Logging_Server.cpp: * examples/C++NPv1/RT_Thread_Per_Connection_Logging_Server.cpp: * examples/C++NPv1/Thread_Per_Connection_Logging_Server.cpp: Put the sigterm_handler function in an unnamed namespace to avoid issues with g++ not liking 'stat