Mon Jul 2 05:40:54 2001 Douglas C. Schmidt * ace/Logging_Strategy.cpp: Enhanced the code so that it works with ACE_LACKS_IOSTREAM_TOTALLY. Thanks to Nir Drang and Edan Ayal for reporting this. * ace/SPIPE_Addr.cpp (set): Added a "+ 1" to the computation of the size of the SPIPE_Addr to account for the trailing NUL. Thanks to Oren Zeev-Ben-Mordehai for reporting this. * ace/Refcounted_Auto_Ptr.{h,i}: Added support for a "null()" method to check if a refcounted auto ptr is NULL. Thanks to Jenny Kowald for reporting this. * ace/config-macosx.h, * ace/platform_macosx.GNU: Enhanced these files to support MacOSX. Thanks to John Zorko for contributing this. * ace/Synch.h: Fixed the Doxygen documentation for all the removed_ fields, which where somehow messed up. Thanks to Johnny Willemsen for reporting this. Sun Jul 1 11:49:13 2001 Alexander Libman * ace: Enhanced the POSIX and Sun Proactor implementations as follows: . POSIX_SIG_Proactor is now based on POSIX_AIOCB_Proactor . All classes ACE_POSIX_SIG_Asynch_XXXX are removed. POSIX_SIG_Proactor uses the ACE_POSIX_AIOCB_Asynch_XXXX classes now. . ACE_POSIX_AIOCB_Proactor::register_and_start_aio (...) now calls a new virtual method: int ACE_POSIX_AIOCB_Proactor::allocate_aio_slot (ACE_POSIX_Asynch_Result *result). . The strategy of free slot allocation in SIG_Proactor is a bit different from AIOCB and SUN Proactors. The allocate_aio_slot() method is responsible for setting notification information for aio request (SIGEV_NONE/SIGEV_SIGNAL). For SIG_Proactor, the field aio_sigevent.sigev_value.sival_int now contains index of aiocb in the aiocb_list_, not a pointer. . The ACE_POSIX_AIOCB_Proactor::find_completed_aio (int &error_status, int &return_status, size_t &index, size_t &count) parameter index defines initial slot to scan and the new parameter count tells us maximum number slots to scan. On return: index contains value to start scan next time, count contains remained number of slots. Scanning is performed in "wheel" style to allow all requests be handled with equal priorities. . ACE_POSIX_AIOCB_Proactor::check_max_aio_num () checks for max_number_files to open and tries to setup max_number_files equal to aiocb_max_size_. if we failed than cut off aiocb_max_size_ value to existing max_number_files. . POSIX_Proactor added member int os_id_ and constructor sets up os_id_ (compilation time + run_time function) to know OS(Sun/HP/Linux/...) and version. We need such info for POSIX_SIG_Proactors to take into account the behavior of different OS. . Delivery of simulated/"post_completed" Asynch_Results (Timers, AsynchAccept,Wakeup ...). As both Proactors have no reliable mechanizm for delivery "post_completed" results, so the reliable queue of "post_completed" results was implemented. The new member of AIOCB Proactor ACE_Unbounded_Queue result_queue_ has been added. Also added protected methods to the ACE_POSIX_AIOCB_Proactor. . We had an error in all previous versions (from major ACE 5.1): post_completion (int how_many) does not guarantee that all completions will be delivered to the different threads running event_loop (sometimes several completions could be delivered to the one thread, in another thread performs during long time application_spesific_code ()). Moreover, you can run now Proactor event_loop in any number of threads (more than SIGQUEMAX). Sun Jul 1 11:49:13 2001 Douglas C. Schmidt * examples/Reactor/Proactor: Integrated a test that exercises the support for asynchronous UDP operations. Thanks to Roger Tragin for contributing this. * ace/Synch_T.i: Changed the implementations of all the acquire*() method to call release(). Thanks to Edan Ayal for reporting this. Sat Jun 30 12:44:11 2001 Douglas C. Schmidt * examples/Connection/blocking/SPIPE-acceptor.cpp: Added better support for shutting down the server when a signal occurs. Thanks to Rich Newman for this enhancement. Sun Jul 01 11:16:34 2001 Balachandran * ACE version 5.1.18 released. Sun Jul 1 11:03:32 2001 Balachandran Natarajan * bin/generate_doxygen.pl: Removed SSLIOP from the list. * etc/tao_ssliop.dosxygen: Removed the file as it was creating problems for the beta. Sat Jun 30 12:44:11 2001 Douglas C. Schmidt * ace/FIFO_Send_Msg.cpp (send): Fixed another errant use of putmsg(). Thanks to David Trusty for reporting this. Fri Jun 29 22:31:56 2001 Balachandran Natarajan * Reverted the changes in this entry. "Thu Jun 28 13:44:52 2001 Chad Elliott ". The changes seem to be breaking builds on Sun. Fri Jun 29 10:14:03 2001 Douglas C. Schmidt * ace/config-macosx.h: Removed some macros that don't apply to MacOSX. Thanks to John Zorko for contributing this. * include/makeinclude/platform_macosx.GNU (CC): Changed the -fimplict-templates to -fno-implicit-templates. Thanks to John Zorko for contributing this. Wed Jun 27 12:00:34 2001 Douglas C. Schmidt * ace/FIFO_Send_Msg.i (send): Make sure that when we use the putmsg() variant of this call that we correctly return the length. Thanks to David Trusty for reporting this. * ace/FIFO_Recv_Msg.i (recv): Make sure that when we use the getmsg() variant of this call that we correctly return the length. Thanks to David Trusty for reporting this. * ace/Log_Record.{h,cpp}: Added support for extending the names of the types of logging requests. Thanks to Kelly F. Hickel and Jonathan Reis for this fix. Thu Jun 28 13:44:52 2001 Chad Elliott * ace/config-sunos5.5.h: Add include of sys/feature_tests.h to ensure that certain macros are set up correctly. This is mainly important to SunOS 5.7 and later, but may be useful to the earlier versions. Also, added a check for the correct value of _POSIX_C_SOURCE to set ACE_HAS_POSIX_GETPWNAM_R. This use to be a conditional in config-sunos5.7.h based on gcc 3.0, but it is not specific to gcc. * ace/config-sunos5.6.h: Added a check for _XPG4_2 before defining ACE_HAS_4_4BSD_SENDMSG_RECVMSG. This used to be a conditional in config-sunos5.7.h based on gcc 3.0, but it is not specific to gcc. * ace/config-sunos5.7.h: Removed the gcc 3.0 specific section and dispersed the macro definitions to the correct config files (based on os version and other macros). Added a definition of ACE_HAS_SOCKLEN_T since SunOS has had socklen_t since 5.7. This use to be a conditional based on gcc 3.0, but it is not specific to gcc. Thu Jun 28 13:05:12 2001 Jeff Parsons * ace/CDR_Stream.{h,i,cpp}: Update to_(w)string and from_(w)string to conform to the latest C++ mapping (00-01-02). Extra constructors have been added, taking a const (w)string, and the val_ member of from_(w)string has been made const. The constructor taking a non-const (w)string for to_(w)string has been deprecated, and will be removed from the spec at some point. Thanks to Andy Alvarez for pointing this out. Thu Jun 28 07:08:26 2001 Balachandran Natarajan * ace/TP_Reactor.cpp: Added a sanity check. The check involves invalidating the handle when the handler is removed from the repository in notify_handle (). We also check for an invalid handle before we go ahead and resume the handle. Thanks to Alexander Libman for suggesting this check. Wed Jun 27 14:07:43 2001 Sharath R. Cholleti * ace/CDR_Stream.{cpp,h}: Changed write_wstring() and read_wstring() to partially comply with GIOP 1.2. Wed Jun 27 07:13:13 2001 Balachandran Natarajan * ace/OS_TLI.inl: Fixed a compile error in Win32 builds. Tue Jun 26 17:56:05 2001 Douglas C. Schmidt * tests/Message_Block_Test.cpp: Changed the test to use ACE_DEFAULT_MESSAGE_BLOCK_PRIORITY and ACE_DEFAULT_MESSAGE_BLOCK_PRIORITY + 1 rather than priorities 0 and 1. Thus, the test works properly when users override the ACE_DEFAULT_MESSAGE_BLOCK_PRIORITY in config.h. Thanks to Ivan Murphy for reporting this. * examples/Connection/blocking/SPIPE-acceptor.cpp: Added several fixes so that this stuff runs correct when called by multiple clients. Thanks to Rich Newman for contributing this. Tue Jun 26 17:37:51 2001 Balachandran Natarajan * ace/Proactor.h: Fixed a compile error with g++. There were two return types. Retained the return type as int. Tue Jun 26 16:22:24 2001 Douglas C. Schmidt * ace/OS_TLI.h: Zapped a dummy declaration of struct rlimit { }. Thanks to Bala for reporting this. * ace/TLI_*, OS_TLI.*: Added a number of fixes for TLI so that it'll compile properly on Win32 platforms. Thanks to Andreas Geisler for reporting this. * ace/Proactor.h: Added a static reset_event_loop() to the ACE_Proactor class. Thanks to Rich Newman for reporting this. * ace/config-sunos5.7.h: Removed an errant #endif. Thanks to Craig Ching for reporting this. Mon Jun 25 15:36:55 2001 Douglas C. Schmidt * ace/config-sunos5.7.h: Added support for GCC 3.0. Thanks to Craig Ching for contributing this. Mon Jun 25 12:18:41 2001 Chad Elliott * bin/aix_shr: Added to filter the duplicate symbol warnings from the compilation of the shr.o file for AIX shared libraries. * include/makeinclude/platform_aix_ibm.GNU: Added the definition of SHR_FILTER. It is defined to be $(ACE_ROOT)/bin/aix_shr. * include/makeinclude/rules.lib.GNU: Added the GNU Make macro SHR_FILTER which will be used when compiling the shr.o file. This will only have an affect if SHR_FILTER is defined. Mon Jun 25 10:05:37 2001 Nanbor Wang * ace/Malloc_T.cpp (avail_chunks): Guarded againt the case when a Malloc_Header contains 0 available header for allocation as it caused an assignment of negative number to an unsigned number. Thanks to Ben Howard for pointing this out. Sun Jun 24 21:51:10 2001 Nanbor Wang * ace/Obstack.h: Moved the trailing semicolon into the ACE_EXPORT_SINGLETON_DECLARATION macro to avoid a warning from Tru65. Sun Jun 24 08:57:26 2001 Balachandran Natarajan * bin/auto_run_tests.lst: Added Oneways_Invoking_Twoways to the daily builds. Sat Jun 23 08:34:54 2001 Balachandran Natarajan * tests/Max_Default_Port_Test.cpp: Fixed a unused warning in Single Threaded builds. * tests/run_tests.lst: Prevented the above test from running in Single Threaded configurations. Sat Jun 23 06:19:39 2001 Douglas C. Schmidt * ace/OS.i: For some god knows why reason, _POSIX_C_SOURCE doesn't get us the right behavior for getpwnam_r() on some platforms... Therefore, we'll need to define an ACE_HAS_POSIX_GETPWNAM_R macro instead -- grrr.... Thanks to Bala for pointing this out. * ace/OS.i: Fixed the getpwnam_r() wrapper so that it conforms to POSIX on platforms that support POSIX. Thanks to Craig L. Ching for reporting this. Fri Jun 22 18:35:46 2001 Balachandran Natarajan * ace/OS_TLI.inl: Fixed a compile error in win 32. Fri Jun 22 18:06:50 2001 Balachandran Natarajan * bin/nightlybuilds/builds.lst: Added a solaris 8 build to the scoreboard. Fri Jun 22 18:00:51 2001 Krishnakumar B * examples/Log_Msg/test_ostream.cpp (main): Removed the flags variable and added the file open mode flags directly to the constructor. There doesn't see to be a portable way of fixing this as a lot of compilers don't have a compliant standard library. This fixes the compile error on gcc-3.0 Fri Jun 22 13:10:13 2001 Krishnakumar B * examples/Log_Msg/test_ostream.cpp (main): Reverted the change as it seems to break VC++. Will fix it shortly. Fri Jun 22 10:31:29 2001 Steve Huston * ace/Configuration.{h cpp}: Added back the ACE_Configuration:: import_config and export_config functions and marked them deprecated. They're needed for backwards compatibility with ACE 5.1. Fri Jun 22 07:33:45 2001 Douglas C. Schmidt * ace/OS_TLI.{h,inl}: Changed the signature of the t_open() and t_accept() wrappers to use ACE_HANDLE rather than int. Thanks to Steffen Hieber for reporting this. Fri Jun 22 09:31:04 2001 Ossama Othman * html/index.html: Corrected hyperlink for SSLIOP documentation. Fri Jun 22 10:27:01 2001 Paul Calabrese * html/index.html: Add missing directories for Doxygen docs. Fri Jun 22 00:26:34 2001 Krishnakumar B * examples/Log_Msg/test_ostream.cpp (main): Changed the type of flags to ios::openmode from int to fix errors under gcc-3.0. * examples/IOStream/client: * examples/IOStream/server: Added ACE_UNUSED_ARG to fix a couple of warnings. Thu Jun 21 13:57:09 2001 Chad Elliott * apps/JAWS/clients/Caching/http_handler.h: Fix a warning with g++. Thu Jun 21 09:01:09 2001 Chad Elliott * include/makeinclude/platform_aix_ibm.GNU: Fix for 64-bit AIX builds. The ARFLAGS definition must have -X64 before any of the other options. Thu Jun 21 08:27:40 2001 Chad Elliott * ace/config-aix-4.x.h: Fix for 64-bit AIX builds. Thu Jun 21 08:00:01 2001 Chad Elliott * apps/Gateway/Peer/Peer.h: * apps/JAWS/clients/Blobby/Blob.h: * apps/JAWS/clients/Caching/http_handler.h: * examples/ASX/Event_Server/Transceiver/transceiver.cpp: * examples/Connection/misc/test_upipe.cpp: Moved #include "ace/Connector.h" to be after #include "ace/SOCK_Connector.h" to fix compile error on AIX, Visual Age C++ 5. Thanks to David Sperry for reporting this. * apps/JAWS/server/Makefile: Move include of wrapper_macros.GNU below the check of the ACE_BUILD_COMPONENTS to avoid a warning about overriding commands for target libJAWS.a for AIX, Visual Age C++, 5. * include/makeinclude/platform_aix_ibm.GNU: Added warning suppression for possible use of uninitialized variables and possible infinite loops. Added support for 64 bit builds with Visual Age C++ 5. * include/makeinclude/rules.lib.GNU: Fixed shared lib making rule. Remove shr.o after building the lib to make sure subsequent builds are correct. Wed Jun 20 17:31:32 2001 Jeff Parsons * ace/CDR_Base.cpp: * ace/CDR_Base.h: Added some stuff to help the higher layers deal with longlongs, without the guards for the platforms that don't have this native type. Expanded and exported the LongLong struct (added == and != operators). Defined the NONNATIVE_LONGLONG flag, if platform does not have a native longlong type. Added ACE_CDR_LONGLONG_INITIALIZER, to portably initialize a local longlong variable. Wed Jun 20 10:42:02 2001 Frank Hunleth * bin/auto_run_tests.lst: Disabled the TAO/tests/Exposed_Policies test from being run under minimum builds, since it needs CORBA messaging and RTCORBA. Wed Jun 20 09:17:46 2001 Balachandran Natarajan * tests/Max_Default_Port_Test.dsp (SOURCE): Fixed the release builds. Wed Jun 20 08:47:46 2001 Chanaka Liyanaarachchi * tests/Max_Default_Port_Test.cpp: Replaced char * with ACE_TCHAR * in main function signature to make the test WChar friendly. Wed Jun 20 08:05:19 2001 Chad Elliott * bin/nightlybuilds/builds.lst: Added the AIX Visual Age C++ 5.0 nightly build. Tue Jun 19 21:24:41 2001 Douglas C. Schmidt * ace/OS.i (mutex_lock): Fiddled around with the #else so that we'll avoid "statement not reached" warnings on KCC. Thanks to J Shane Culpepper for reporting this. Wed Jun 20 07:35:04 2001 Johnny Willemsen * tests/Makefile.bor Added the new Max_Default_Port_Test Tue Jun 19 16:01:01 2001 Priyanka Gontla * include/makeinclude/platform_hpux_aCC.GNU (THR_DEFS): Suppressed error 908 complaining about use of 'export' which might be used as a C++ keyword in future by aCC compiler. Tue Jun 19 16:20:52 2001 Sharath R. Cholleti * ace/CDR_Stream.cpp: Just fixing a typo. Removed ACE_INLINE from skip_wchar (). Tue Jun 19 16:08:34 2001 Sharath R. Cholleti * ace/CDR_Stream.{i,cpp}: Fixed the skip_wchar() according to the changes in WChar implementation of GIOP 1.2. Thanks to Peter Phillips for reporting the problem the fix. This fixes BUGID 945. Tue Jun 19 08:13:52 2001 Chanaka Liyanaarachchi * tests/Max_Default_Port_Test.cpp: * tests/Max_Default_Port_Test.h: * tests/Max_Default_Port_Test.dsp: Added a test to verify if ACE_MAX_DEFAULT_PORT value is set correctly. * tests/Makefile: * tests/tests.dsw: Added Max_Default_Port_Test. * tests/run_test.lst: * tests/run_tests.bat: Added Max_Default_Port_Test. Tue Jun 19 08:03:38 2001 Chanaka Liyanaarachchi * ace/OS.h: Changed the value of ACE_MAX_DEFAULT_PORT to 65535. This had been set to 0 (zero) previously to avoid a problem on NT4.0 SP3. The problem was that beyond ports 65279, a bind call would succeed but the handle returned would be junk. This problem does not seem to exist on NT4.0 SP6, and Windows 2000. Tue Jun 19 07:20:56 2001 Chad Elliott * ace/INET_Addr.cpp: Set the inet_addr_.sin_family to AF_INET when the ACE_Addr type is set to AF_INET. Mon Jun 18 21:33:54 2001 Balachandran Natarajan * bin/auto_run_tests.lst: Added the Big_Reply tests to the nightly builds. Mon Jun 18 16:20:51 2001 Steve Huston * tests/Thread_Manager_Test.cpp: Added a new function, test_task_record_keeping(), that tests task-related record keeping in the ACE_Thread_Manager. Motivated by a report of ACE_Thread_Manager::task_all_list() not working correctly. Mon Jun 18 15:29:38 2001 Steve Huston * ace/ace.icc: Replace Obstack.cpp with Obchunk.cpp; added Obchunk.h * ace/Thread_Manager.cpp (task_all_list): Don't put duplicate ACE_Task_Base pointers in the returned list. * ace/Malloc_T.cpp (ACE_Malloc<>::ACE_Malloc (3 args): Add \n to the failure ACE_ERROR statement. * tests/Refcounted_Auto_Ptr_Test.cpp: Print the instance count of the refcounted variable before asserting on it in order to leave interesting info in the log if it bombs. Mon Jun 18 10:06:37 2001 Chris Cleeland * etc/tao_ssliop.doxygen: New configuration file for SSLIOP-related files. * bin/generate_doxygen.pl: Added new SSLIOP configuration file to the list of things to be documented for TAO. Sun Jun 17 21:26:27 2001 Balachandran Natarajan * ace/Message_Block.i: Fixed Fuzz errors. Sat Jun 17 17:33:36 2001 Balachandran Natarajan * ace/CDR_Base.cpp (grow): Cleared the DONT_DELETE flag of the message block whose data block is expanded. * ace/CDR_Stream.h: * ace/CDR_Stream.cpp: Added a new method clone_from () in the ACE_InputCDR class. This method is used in the bug #575 fix. Sun Jun 17 17:11:36 2001 Krishnakumar B * ace/Timer_Queue_Adapters.cpp (schedule): Fixed a warning by reorganizing return statement. Sat Jun 16 15:21:36 2001 Balachandran Natarajan * ace/CDR_Stream.cpp: Fixed some stupid typos. Sat Jun 16 10:36:58 2001 Balachandran Natarajan * ace/Message_Block.h: * ace/Message_Block.cpp: * ace/Message_Block.i: This set of changes are to get around one of the problems that we have with the message blocks. For some reason the message blocks assume that the underlying data blocks are always allocated of the heap. If we try to construct a message block using a data block on the stack, the message blocks tries to delete that data block which gives problems. We have now added a flag in the class that indicates whether the data_block can be deleted or not. An extra flag argument has been added to the constructor that constructs a message block from a data block. The default value is from the heap. Added more methods to the ACE_Message_Block to query and change the flag values. * ace/CDR_Stream.cpp: * ace/CDR_Stream.h: Added an extra flag argument to the constructors which constructs a InputCDR stream from a ACE_Data_Block. Sat Jun 16 00:09:14 2001 Krishnakumar B * bin/nightlybuilds/builds.lst (WEB): Added IA-64 to the nightly builds. The tests are disabled for now. They will be enabled after TAO 1.2 is released. Fri Jun 15 20:46:01 2001 Sharath R. Cholleti * ace/CDR_Stream.{cpp,h,i}: WChar implementation of GIOP 1.2. Made changes in some of the ACE_InputCDR constructors, exchange_data_blocks () and steal_from (). Fri Jun 15 20:18:07 2001 Krishnakumar B * ace/Active_Map_Manager_T.i: * ace/Map_Manager.cpp: * ace/Map_Manager.h: * ace/Map_Manager.i: Fixed a bug in the Active_Map_Manager caused due to size_t being of different size under 32-bit platforms versus 64-bit platforms. The bug was triggered under Tru64. This has resulted in changing the implementation to use ACE_UINT32 throughout while maintaining a backward-compatible interface. Many thanks to Irfan for his help in finding a solution. Fri Jun 15 17:40:51 2001 Krishnakumar B * examples/Shared_Malloc/Malloc.cpp: Removed need for explicit instantiation of symbols when the compiler supports template specialization for the Single-threaded case. * examples/IPC_SAP/SOCK_SAP/CPP-inserver.cpp: * examples/IPC_SAP/SOCK_SAP/CPP-unserver.cpp: Removed warning about conversion from pointer to integer of different size on IA-64. Thu Jun 14 16:20:57 2001 Frank Hunleth * ace/Stats.cpp: Changed formula to convert ticks to seconds to use ACE_HR_SCALE_CONVERSION to account for the fact that Win32 has different scale factor units than every other platform. Thu Jun 14 16:21:35 2001 Krishnakumar B * ace/config-all.h (ACE_UNUSED_ARG): Changed the way we define ACE_UNUSED_ARG to be more compatible with picky compilers. Thu Jun 14 16:10:54 2001 Krishnakumar B * ace/Makefile: * ace/RMCast/Makefile: Updated the dependencies as they seem to have gone out of sync. Thu Jun 14 15:42:57 2001 Nanbor Wang * ace/Obstack_T.cpp (release): Forgot to reset the in Obchunk. Thu Jun 14 14:35:09 2001 Frank Hunleth * bin/msvc_auto_compile.pl: Added Strategies, RTCORBA, and RTPortableServer to the core build list so that they get built before the tests that use them on the Win32 static builds. Thu Jun 14 08:24:03 2001 Christopher Kohlhoff * ace/Makefile.bor: Added missing source file Obchunk.cpp. Thu Jun 14 03:10:11 2001 Krishnakumar B * tests/TSS_Test.cpp: Fixed a error in the compile caused due to ACE_reinterpret_cast applied to a const int. Wed Jun 13 21:50:01 2001 Nanbor Wang * ace/Obstack_T.cpp (ACE_Obstack_T): Fixed a mismatched ACE_TRACE fuzz warning. Wed Jun 13 14:10:17 2001 Ossama Othman * ace/SSL/SSL_Context.cpp: * ace/SSL/SSL_SOCK_Acceptor.cpp: Explicitly include "ace/Log_Msg.h" to pull in ACE_DEBUG/ERROR macro definitions. This fixes a compile-time problem on SunWorkshop 3.0 builds. Thanks to Andrew Finnell for reporting this problem and suggesting the fix. Wed Jun 13 15:43:43 2001 Nanbor Wang * ace/Obchunk.cpp: Fixed include filename capitalization. Wed Jun 13 11:31:27 2001 Ossama Othman * ace/Makefile.am: Synchronized the source lists with those in the stock ACE Makefile. Wed Jun 13 14:18:22 2001 Steve Huston * ACE-INSTALL.html: Modified the platforms/compilers section to reflect the new roles of DOC, Riverace, OCI. Fixed up the Solaris section a bit. Wed Jun 13 11:08:26 2001 Nanbor Wang * tests/Thread_Pool_Test.cpp: Casted message block pointers to ACE_TCHAR* to compile with UNICODE on. Wed Jun 13 10:22:10 2001 Nanbor Wang * ace/Svc_Conf_l.cpp: Need to read the sizeof (ACE_TCHAR) of bytes to handle UNICODE svc.conf correctly. * ace/Svc_Conf.h: Changed the macro ACE_YY_INPUT to handle ACE_TCHAR instead of char. Thanks to Allen Kelly for sending the patches. * ace/Obstack_T.{h,i,cpp}: Templatized ACE_Obstack on the char type it handles. * ace/Obchunk.{h,i,cpp}: New files containing the non-template class ACE_Obchunk. * ace/Obstack.{h,cpp}: All the class definitions were moved to Obchunk.* and Obstack_T.*. These files typedef'ed ACE_Obstack_T to ACE_Obstack for backward compatibility. * ace/Obstack.i: Removed file. * ace/ace_dll.dsp: * ace/ace_lib.dsp: * ace/Makefile: Added Obchunk and Obstack_T. * ace/Service_Config.cpp: * ace/Svc_Conf_y.cpp: * ace/Svc_Conf.h: Changed ACE_Obstack to ACE_Obstack_T to handle UNICODE files when needed. * ace/Configuration.cpp (set_string_value): When storing wchar strings, the datasize passed to RegSetValueEx is the total size in bytes, not the string length. Wed Jun 13 08:42:31 2001 Christopher Kohlhoff * include/makeinclude/ace_flags.bor: Added support for new RTCORBA libraries. * include/makeinclude/build_lib.bor: Suppress noisy warnings when creating a static library. * tests/Makefile.bor: Added Thread_Pool_Reactor_Resume_Test. Tue Jun 12 21:22:19 2001 Ossama Othman * bin/nightlybuilds/builds.lst: Added the new gcc 3.0 build to nightly build list. Tue Jun 12 23:06:36 2001 Krishnakumar B * examples/ASX/Event_Server/Event_Server/Options.cpp: * examples/ASX/Event_Server/Event_Server/Options.cpp: * examples/ASX/Message_Queue/buffer_stream.cpp: * examples/ASX/UPIPE_Event_Server/Options.cpp: * examples/IPC_SAP/SOCK_SAP/CPP-inclient.cpp: * examples/IPC_SAP/SOCK_SAP/CPP-inserver.cpp: * examples/IPC_SAP/SOCK_SAP/CPP-unserver.cpp: * examples/Service_Configurator/IPC-tests/server/Handle_Timeout.i: * examples/Shared_Malloc/test_malloc.cpp: * examples/Shared_Malloc/test_position_independent_malloc.cpp: * examples/Threads/thread_manager.cpp: * examples/Threads/thread_specific.cpp: Fixes for warnings under IA-64 Linux. This involves using the new ACE_[S]SIZE_T_FORMAT_SPECIFIER and appropriate uses of ACE_reinterpret_cast. This completes the fixes needed to compile ACE and TAO on IA-64 Linux (as of today). Now the tests remain examples/examples/to be fixed. Tue Jun 12 18:53:25 2001 Krishnakumar B * ace/config-linux-common.h: Added new printf specifier ACE_SIZE_T_FORMAT_SPECIFIER, ACE_SSIZE_T_FORMAT_SPECIFIER for use with types size_t and ssize_t. * ace/Basic_Types.h: 1. Changed default base address on IA-64 to be 64-bit little endian. 2. Added default values for ACE_SIZE_T_FORMAT_SPECIFIER, ACE_SIZE_T_FORMAT_SPECIFIER. 3. Changed size of LONG_DOUBLE for IA-64. * ace/Configuration.cpp: * ace/Naming_Context.cpp: * ace/Task.cpp: Added a reinterpret_cast to silence gcc. * tests/MEM_Stream_Test.cpp: * tests/MT_Reactor_Timer_Test.cpp: * tests/Message_Block_Test.cpp: * tests/TSS_Test.cpp: * tests/Thread_Manager_Test.cpp: * tests/Thread_Pool_Test.cpp: 1. Fixed usage of ACE_DEBUG with types size_t and ssize_t. 2. Added ACE_reinterpret_cast to silence warnings about conversion from integer to pointer of different size. ACE runs on Intel IA-64/Linux. Tue Jun 12 15:06:06 2001 Krishnakumar B * tests/run_test.lst: Thread_Pool_Reactor_Resume_Test should not run on Single threaded configurations. Tue Jun 12 11:07:18 2001 Douglas C. Schmidt * ace/Synch_T.{h,i}: Added "const" to the locked() method. Mon Jun 11 21:06:43 2001 Douglas C. Schmidt * tests/SOCK_Connector_Test.cpp (find_another_host): Pre-increment, rather than post-increment, the candidate_count loop counter to avoid "off-by-one" errors. Thanks to Scott Snyder for reporting this. * ace/OS.h: Added some default values of 0 to the wr_fds and ex_fds parameters to ACE_OS::select(). This helps simplify for the "common case" and is consistent with what we show in our book ;-). * ace/OS.i (read): Fixed a nasty bug where "count = len" should have been "count == len" in the PSOS arm of the code. Thanks to James Maynard for reporting this. Thu Jun 7 19:26:05 2001 Douglas C. Schmidt * ace/Auto_Ptr.cpp: Instantiate the "alloc" template typedef explicitly. Thanks to Cristian Ferretti for pointing this out. * examples/Timer_Queue/Thread_Timer_Queue_Test.{h,cpp}: Removed the unused cancelled() method. Thanks to Ron Heald for reporting this. * include/makeinclude/platform_irix6.x_sgic++.GNU, * include/makeinclude/platform_osf1_4.0.GNU, * ace/config-irix6.x-sgic++.h, * ace/config-osf1-4.0.h, * ace/Log_Msg.cpp: Added support for threads=0 on Tru64. Thanks to Steve Vranyes for contributing these fixes. * ace/Timer_Wheel_T.cpp (expire): earliest_pos_ was never set in the expire() method, and maintains its value until another timer event is scheduled/cancelled/etc. Thanks to Gil Rapaport for fixing this. Mon Jun 4 14:33:08 2001 Douglas C. Schmidt * ace/Synch.h: Clarified that ACE_Event only supports "global naming" on Win32. Thanks to Jerry Thomas for reporting this. Mon Jun 11 16:53:55 2001 Balachandran * ACE version 5.1.17 released. Mon Jun 11 13:08:00 2001 Balachandran Natarajan * include/makeinclude/platform_tru64_kcc.GNU: Fixed a spurious newline in the file. Thanks to Scott Snyder for reporting this. Sun Jun 10 16:03:19 2001 Balachandran Natarajan * tests/run_test.lst: Time_Service_Test will not run in static configurations. It looks for ACE_DLL's. Sun Jun 10 06:56:45 2001 Balachandran Natarajan * bin/auto_run_tests.lst: Removed a few AVStreams tests from the nightly builds. They seem to be crashing with a SEGV. Sat Jun 09 17:03:37 2001 Ossama Othman * ace/Acceptor.cpp (open): Fixed problem where the handle of an uninitialized peer acceptor was set into non-blocking mode, resulting in a failed ioctl() call. The acceptor member in the "accept strategy" should be used instead, since it was the one that was just opened. Sat Jun 09 10:07:06 2001 Ossama Othman * ace/SSL/SSL_SOCK_Stream.i (recv_i): Moved call to SSL_peek() within the do/while(SSL_pending()) loop. A full record must be read before returning to an event loop (e.g. in a Reactor). If a SSL_ERROR_SYSCALL error occurs, only interpret it as an error if an EOF did not occur. Thanks to Boris Temkin for providing an example that demonstrated the problem. (send_i): Shutdown the SSL session if an SSL_ERROR_ZERO_RETURN error occurs. Sat Jun 9 07:16:12 2001 Balachandran Natarajan * ace/QoS/QoS_Session_Impl.cpp: Do not hard code the max sdu size. This should be a configurable parameter through the ACE_Flow_Spec::max_sdu_size. This change was made by Craig Rodrigues . Just checking in the changes for him. Fri Jun 08 08:17:15 2001 Ossama Othman * ace/SSL/SSL_SOCK_Stream.i (send_i, recv_i): Fixed "fuzz" errors. Fri Jun 08 07:33:03 2001 Ossama Othman * ace/SSL/SSL_SOCK_Stream.cpp (send): Fixed an "unused argument" warning. Fri Jun 08 07:01:59 2001 Ossama Othman * ace/SSL/SSL_Accept_Handler.h: * ace/SSL/SSL_Accept_Handler.cpp: * ace/SSL/SSL_Connect_Handler.h: * ace/SSL/SSL_Connect_Handler.cpp: New event handlers that are designed to complete non-blocking SSL passive (accepts) and active connections (connects). They are registered with the Reactor (either the singleton Reactor or a user-supplied one) after the TCP 3-way handshake is completed. Once registered, the Reactor does its voodoo and invokes the appropriate event handler. This fixes several inter-related problems: (1) the ACE_SSL wrappers now work with the ACE_WFMO_Reactor, [Bug 614] (2) non-blocking SSL accepts/connects and finally work, (3) fixes a CORBA::TRANSIENT exception in TAO's SSLIOP pluggable protocol that occured when the client attempted to connect to the server. Thanks to Andrew Finnell for suggesting that an event loop was necessary to complete the SSL connection after 3-way handshake was necessary, and for persisting in his effort to hammer that point into me. :-) * ace/SSL/SSL_SOCK_Stream.h (send_i, recv_i): New low-level helper methods that refactor the common underlying SSL IO calls. * ace/SSL/SSL_SOCK_Stream.i (send): Fixed problem where one of the low-level send() methods returned zero instead of the number of bytes sent. Thanks to Boris Temkin and Dan Levi for reporting the problem. (send_i, recv_i): Refactored code common to all send()/recv() methods. Thanks to Boris for suggesting this. This will help prevent problems such as the one that was described above from happening again since there is no code duplication. * ace/SSL/SSL_SOCK_Stream.cpp (sendv_n, recv_n): Greatly improved the speed of these methods by removing all allocations and copies. The allocations and copies were unnecessary. These methods are now zero-copy implementations. (send): Don't bother attempting to implement this method using a scatter write (sendv). The SSL_SOCK_Stream scatter write implementation simply emulates this functionality. That emulation does not work well when using non-blocking IO. Instead, just use send_n(). Added missing "va_end()." * ace/SSL/SSL_SOCK_Acceptor.h (reactor): * ace/SSL/SSL_SOCK_Acceptor.i (reactor): * ace/SSL/SSL_SOCK_Connector.h (reactor): * ace/SSL/SSL_SOCK_Connector.i (reactor): New methods to set and get the Reactor to use when completing non-blocking SSL passive/active connections. * ace/SSL_SOCK_Acceptor.cpp (ssl_accept): * ace/SSL_SOCK_Connector.cpp (ssl_connect): Added new overload methods that accept a timeout value. These new methods will register the event handlers described above in order to complete a non-blocking SSL connection. (shared_connect_start, shared_connect_finish): Removed these unused methods. (connect): Actually do a non-blocking SSL connect if the timeout value is non-zero. This code was previously broken. Even though the underlying TCP connect was non-blocking, the SSL connect was always blocking. * THANKS: Added Andrew Finnell and Dan Levi to the "Hall of Fame." Boris Temkin (see above) was already on it. :-) Fri Jun 08 07:52:48 2001 Joe Hoffert * Makefile: Removed PACE from the list of directories. (There are problems on FreeBSD.) Thanks to cuma for reporting this. Wed Jun 06 10:16:39 2001 Steve Huston * ace/config-hpux-11.00.h: Fixed the settings for ACE_MALLOC_* and ACE_PI_MALLOC_* so that both the malloc header and the control block are multiples of 8 bytes (required alignment for larger datatypes, i.e double). Malloc_Test now runs clean. Wed Jun 6 07:04:57 2001 Balachandran Natarajan * bin/auto_run_tests.lst: Removed all the AVStream tests from the daily builds. Looks like they are not getting fixed. Mon Jun 4 05:53:57 2001 Douglas C. Schmidt * ace/File_Lock: Added an "unlink_in_destructor" flag to ACE_File_Lock to control whether or not the underlying file is unlinked in the destructor. Thanks to Yuval Yosef and Crawford Lodge for suggesting this. Sun Jun 3 18:08:39 2001 Douglas C. Schmidt * ace/Configuration_Import_Export.cpp, * ace/Configuration.cpp: Added ACE_ASSERTS to make sure that open() is called... Thanks to Jerry Odenwelder for fixing this. Sat Jun 2 13:05:20 2001 Douglas C. Schmidt * ace/Connector.cpp: Removed the ACE_Errno_Guard from the create_AST() method and instead have the connect_i() method check to see if create_AST() succeeded and explicitly set errno = EWOULDBLOCK in this case. Thanks to Boris Temkin for motivating this change. * ace/Timer_Wheel_T.cpp: Since we removed the call to is_empty() from earliest_time() we need to modify the code in reschedule() to test for is_empty. * tests/Cached_Accept_Conn_Test.cpp (accept_svc_handler): Use the ACE_Accept_Strategy::acceptor() accessor method rather than accessing the acceptor_ directly. * TAO/rules.tao.GNU (TAO_IDL_DEP), * include/makeinclude/rules.local.GNU: Added support for the new EXEEXT Makefile macro. Thanks to Cristian Ferretti for pointing this out. * include/makeinclude/platform_gnuwin32_common.GNU: Added a number of fixes for the mingw platform. Thanks to Cristian Ferretti for pointing this out. * ace/Configuration.{h,cpp}: "Un-inlined" the == and != operators for the ACE_Configuration_Win32Registry class. * ace/Configuration.cpp (get_binary_value): Changed the type of "data" from "unsigned char" to "BYTE". Thanks to Cristian Ferretti for pointing this out. * ace/config-win32-mingw.h: Removed the #define ACE_AS_STATIC_LIBS macro. Thanks to Cristian Ferretti for pointing this out. * ace/config-win32-common.h: Protect certain DLL export macros with #if !defined (__MINGW32__). Thanks to Cristian Ferretti for pointing this out. * ace/ACE.cpp (handle_timed_complete): Added an ACE_UNUSED_ARG for the is_tli flag for ACE_WIN32 to keep the compiler happy. Thanks to Cristian Ferretti for pointing this out. * ace/Acceptor.cpp: Fixed the comment and logic in accept_svc_handler() so that it now cleans up the svc handler whenever accept() returns -1. Thanks to Boris Temkin for suggesting this and to Irfan for helping clarify what needed to be done. * ace/Strategies_T.cpp: When the number of clients connecting to a server exceeds the process handle limit the server would busy loop. The ACE_Accept_Strategy accept_svc_handler() method is called which (1) constructs a handler and (2) attempts to accept the connection, which fails (because there is no available handle). The handler is destructed, but the connect request is still queued and so the acceptor gets called back again.... and so on until one of the client which is already connected disconnects and frees up a descriptor. Changed the accept_svc_handler() method in ACE_Accept_Strategy to close and reopen the connection when accept() fails. A check is done to make sure address reuse is set. So this fix will only work in case where it is set. Thanks to Dominic Hughes for this fix and to Irfan for recognizing that it ought to be added to ACE_Accpt_Strategy. * ace/Strategies_T.cpp (open): Fixed the strategy acceptor so that it uses non-blocking semantics to handle certain failure cases correctly. This is a safe-guard against the race condition that can otherwise occur between the time when