diff options
Diffstat (limited to 'ACE/ChangeLogs/ChangeLog-97b')
-rw-r--r-- | ACE/ChangeLogs/ChangeLog-97b | 9182 |
1 files changed, 9182 insertions, 0 deletions
diff --git a/ACE/ChangeLogs/ChangeLog-97b b/ACE/ChangeLogs/ChangeLog-97b new file mode 100644 index 00000000000..da7e8bf2f84 --- /dev/null +++ b/ACE/ChangeLogs/ChangeLog-97b @@ -0,0 +1,9182 @@ +Tue Nov 25 16:18:49 1997 David L. Levine <levine@cs.wustl.edu> + + * ACE version 4.4, released Tue Nov 25 16:18:49 1997. + +Tue Nov 25 16:03:09 1997 David L. Levine <levine@cs.wustl.edu> + + * Makefile: fixed Version.h generation to work properly when + $$beta is undefined. + +Mon Nov 24 10:33:34 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.3.56, released Mon Nov 24 10:33:34 1997. + +Sun Nov 23 13:32:02 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/IOStream.h: removed DIGITAL_UNIX from #include decision, + so now it just depends on DEC_CXX and its version. Thanks to + Dani Flexer <danif@ivory-sw.com> for this fix. + + * netsvcs/lib/Server_Logging_Handler.cpp: updated template + instantiations to match recent change to Server_Logging_Handler_T.h. + +Sat Nov 22 19:16:35 1997 <irfan@TWOSTEP> + + * tests/Process_Strategy_Test.cpp: + + main: Removed signal handling code. It is unnecessary since we + do not use kill() anymore. + + Process_Strategy: This subclass of ACE_Process_Strategy + overwrites the process creation method to include connection + counting. + + connection_completed: Made sure that the Reactor is woken up + after all the connections have completed. + + * ace/Priority_Reactor.cpp (init_bucket): Removed extra code. + + * ace/Acceptor.cpp (activate_svc_handler): open svc_handler only + if result is 0. Also removed extra tracing code. + + * ace/Handle_Set.i (reset): Purify is reporting a UMR + (uninitialized memory copy) when copying a Handle_Set. This + comes from the mask fd_set not being memset to 0 by FD_ZERO. + This is therefore a harmless error. + + * tests/Priority_Reactor_Test.cpp (main): The ordering of + auto_ptrs is very subtle.... "auto_ptr<ACE_Reactor> reactor" + should come before "auto_ptr<ACE_Select_Reactor> impl", i.e., + the implementation should be destroyed *before* the forwarding + class. This is apparent when the implementation class is + removing registered event handlers that hold a pointer to the + forwarding class. + +Sat Nov 22 16:04:07 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> + + * ace/Message_Queue.cpp: + Fixed some formating problems in the ACE_Message_Queue::dump + method, thanks to Arturo Montes <mitosys@colomsat.net.co> for + finding this one. + +Sat Nov 22 14:38:22 1997 Steve Huston <shuston@riverace.com> + + * ace/config-aix-4.2.x.h: Added ACE_TLI_TCP_DEVICE "/dev/xti/tcp". + This fixes Riverace problem ID P32; AIX now joins HP-UX in + supporting XTI/TLI, but not everything (problem P27). + + * ace/UPIPE_Connector.h: + * ace/TLI_Connector.h: Added meta-type information PEER_ADDR and + PEER_STREAM. Fixes Riverace problem ID P37. + + * apps/JAWS/server/HTTP_Server.cpp: Added 'const' to "char *prog". + Fixes Riverace problem P36. + + * examples/Connection/misc/test_upipe.cpp: + * examples/Connection/non_blocking/CPP-connector.cpp: + * examples/Threads/process_mutex.cpp: + * examples/Threads/process_semaphore.cpp: + Added 'const' to "char *" - can't initialize a char * with + a const string. Fixes Riverace problem ID P38, P40. + + * examples/Threads/thread_specific.cpp, tss1.cpp: Moved the Errno + class out to a new file, thread_specific.h. AIX xlC needs to have + the class in a .h file for template generation. Fixes Riverace + problem P42. + * examples/Threads/Makefile: Make sure that, on AIX, the tempinc + directory is cleared before building each new program. + + * performance-tests/Synch-Benchmarks/Makefile: Changed SHLIB to use + $(SOEXT) rather than .so. Fixes Riverace problem ID P41. + + * tests/Thread_Pool_Test.cpp: Moved 'this->getq(mb)' out of an + ACE_ASSERT. Thanks to Arturo Montes <mitosys@colomsat.net.co> + for finding this. + +Sat Nov 22 05:44:10 1997 Nanbor Wang <nw1@merengue.cs.wustl.edu> + + * tests/Process_Strategy_Test.cpp (main): Shuffled things around + in fork() block. This is fun. + + * ace/Strategies_T.cpp (activate_svc_handler): Added an + ACE_UNUSED_ARG macro to muffle g++. + + * tests/Process_Strategy_Test.cpp (handle_close): Added a return + type specifier. Without it, g++ laments. + + * ace/Acceptor.cpp (activate_svc_handler): Should be if (open (...) == + -1) then error, not if (open (...) != -1) then error. + + * ace/ACE.cpp (set_handle_limit): Removed a duplicated ACE_TRACE + macro. + +Sat Nov 22 00:26:11 1997 Nanbor Wang <nw1@merengue.cs.wustl.edu> + + * ace/Thread_Manager.cpp (close): Activated automatic wait on + close functionality. I think I get it right this time. + +Fri Nov 21 19:59:37 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> + + * ace/IPC_SAP.cpp: + Added a couple of ACE_NOTREACHED protections. Thanks to Brian + Mendel <bmendel@mdc.com> for reporting this. + +Fri Nov 21 17:12:48 1997 <nw1@CHA-CHA> + + * ace/Thread_Manager.cpp (close): Deactivated automatic wait on + close for now. It doesn't seem to work on Solaris. + + * ace/Thread_Manager.{h,cpp} (wait): Added codes to remove detached + threads. This function can be activated selectively. I added + this so we can ignore detached threads when closing down the + default thread manager. + + (close): Activated the code to wait (join) all threads managed + by the thread manager. It will ask wait function to remove all + detached thread first (and so they won't be counted into threads + we are waiting for.) + +Fri Nov 21 13:22:25 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.3.55, released Fri Nov 21 13:22:25 1997. + +Fri Nov 21 12:18:28 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Acceptor.cpp,Strategy_T.cpp: Removed the use of gotos. See + Dijkstra '67 for motivation... + + * tests/Process_Strategy_Test.cpp (open): Make sure that we set + the Reactor of the Svc_Handler to 0 if we're running the + threading test. + + * tests/Reactor_Notify_Test.cpp: Added back THR_BOUND to + make things work on Solaris. + +Fri Nov 21 02:23:47 1997 <irfan@TWOSTEP> + + * tests/Process_Strategy_Test.cpp: + + - The event loop execution was based on a fragile timeout + mechanism. This was changed to a more robust mechanism that + counts the connections. + + - The unlinking of the file was moved from the server to the + client. This is necessary since there maybe multiple server + processes that cannot really coordinate when the file should + be removed. + + * ace/Strategies_T.cpp (ACE_Concurrency_Strategy): + ACE_Concurrency_Strategy and all three of the subclasses + (ACE_Reactive_Strategy, ACE_Process_Strategy, and + ACE_Thread_Strategy) were messed up. Only ACE_Reactive_Strategy + was (trying) to set the correct blocking mode of the socket. + Therefore, moved the socket mode setting code to the base class, + ACE_Concurrency_Strategy, so that all the classes can share it. + + This did create one problem though. If the implementation of + the reactor uses event associations (i.e., WFMO_Reactor), we + cannot try to set the socket mode since the registration of the + svc_handler caused an event association to be created for the + socket and by default (thanks Microslush) the socket is set to + non-blocking mode. If the user is excepting to have a socket in + blocking mode, he is in for a surprise. Maybe we should return + a failure if the user is expecting a socket in blocking mode. + This is probably too harsh for now. + + * tests/Future_Test.cpp (open): Added THR_DETACHED since we don't + wait for this thread. + + * tests/Reactor_Notify_Test.cpp (open): Changed THR_BOUND to + THR_DETACHED since we don't wait for this thread. + + * tests/IOStream_Test.cpp (server): Make sure to close the socket + in ACE_SOCK_Acceptor and ACE_SOCK_IOStream. + + * ace/WFMO_Reactor.cpp (open): When I changed open() last, I + ignored the order of the registeration of notify_handler_ and + wakeup_all_threads_handler_. Unfortunately, the order of the + two registrations is very important since the optimization for + owner thread takes advantage of this ordering. Therefore, + revert the order of registertion to notify_handler_ followed by + wakeup_all_threads_handler_. + + * tests/version_tests/run_all_tests.bat: Added new bat file to + make the running of all the different configurations easier. + + * tests/version_tests/version_tests.{mak,mdp}: Added a mammoth + testing scheme that is used to test all 8 configurations of the + tests under Win32. These 8 configurations are: + + DLL Debug + DLL Release + DLL Unicode Debug + DLL Unicode Release + static Debug + static Release + static Unicode Debug + static Unicode Release + + run_tests.bat from the test directory can then be used to run + these various configurations. run_tests.bat was also extended + to allow the user to purify the tests. Simply execute + run_tests.bat with the purify command line option. + +Thu Nov 20 17:43:15 1997 <nw1@COYOTE> + + * ace/Thread_Manager.cpp (kill_thr): Changed to prevent thread + manager from "discard" a thread when a certain operation is not + supported by the operation system. Removed the mechanism that + preserves errno during "thread removal." We no longer remove + thread right after an error occured. + +Thu Nov 20 17:53:35 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * examples/Shared_Malloc/test_multiple_mallocs.cpp (main): Make + sure make sure that the semaphores created by the program are + released as well as the storage files deleted. Thanks to Tom + Arbuckle <arbuckle@uran.informatik.uni-bonn.de> for reporting + this. + + * ace: Added a new version of config-osf1-3.2.h. Thanks to Dani + Flexer <danif@ivory-sw.com> for updating this. + +Thu Nov 20 18:22:24 1997 Steve Huston <shuston@riverace.com> + + * ace/README + ace/TLI.h + ace/TLI_Acceptor.h + ace/TLI_Connector.h + Changed from using hardcoded "/dev/tcp" as the XTI device name to + a new config-related define, ACE_TLI_TCP_DEVICE. If the config + doesn't set one, it defaults to "/dev/tcp". Thanks to Steve Coy + <stevec@magna.com.au> for zeroing in on this problem in HP-UX. + + ace/config-hpux-10.x.h: ACE_TLI_TCP_DEVICE is "/dev/inet_cots". + Note that XTI won't work 100% well on HP still - this is Riverace + problem ID P27. + + * netsvcs/lib/Server_Logging_Handler_T.h: Hardcoded to always use + ACE_SOCK_Stream (and friends) rather than ACE_TLI_Stream and friends. + XTI doesn't work real well on some platforms (particularly HP-UX + and AIX). When they're fixed, this can be undone (Riverace problem + ID P28). + + * examples/IPC_SAP/TLI_SAP/CPP-client.cpp: Changed 'char *host' to + 'const char *host' so it can be initialized from a const char string. + +Thu Nov 20 14:19:57 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> + + * tests/Priority_Reactor_Test.h: + * tests/Priority_Reactor_Test.cpp: + The test has a limited execution time now, and only reports a + warning if runs out of time. This may be due to some failed + connections, but it is hard to avoid that. On the other hand + the default time should be large enough, in our machines the + test only takes 14 seconds, so 60 seconds should be enough. + NOTE: this problem reveals a problem *only* in the test itself + not in ACE_Priority_Reactor. + +Thu Nov 20 11:29:51 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/Timer_{Heap,List}_T.{h,cpp}: added + ACE_Timer_{Heap,List}::get_first () accessors. Thanks to + Stephen Henry <shenry@mdc.com> for this suggestion. + +Thu Nov 20 11:27:44 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.3.54, released Thu Nov 20 11:27:44 1997. + +Thu Nov 20 10:45:08 1997 <irfan@TWOSTEP> + + * tests/MT_SOCK_Test.cpp: Uncommented socket close call. + + * ace/WFMO_Reactor.cpp (open): Open the notification handler + *after* the timer queue has been created. + + * ace/ACE.cpp (get_ip_interfaces): Changed rep() to fast_rep() to + prevent memory leak. + + * ace/Reactor.cpp (ACE_Reactor): Fixed error of not creating any + Reactors on UNIX. + +Thu Nov 20 08:36:54 1997 Nanbor Wang <nw1@merengue.cs.wustl.edu> + + * ace/Thread_Manager.{h,cpp}: Added a dummy argument to internal + thread functions. Without them, MSVC wrongly optimizes codes + and the stack were all clobbered when entering these functions. + +Wed Nov 19 23:24:03 1997 <nw1@CHA-CHA> + + * ace/Reactor.cpp: Rearragned macros so we use Select_Reactor as + default if we don't have Winsock2. Irfan did it, not me. + +Wed Nov 19 22:11:20 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.3.53, released Wed Nov 19 22:11:20 1997. + +Wed Nov 19 15:55:52 1997 Sumedh Mungee <sumedh@lindy.cs.wustl.edu> + + * config-netbsd.h: NetBSD 1.3alpha has a better MSYNC. Commented out + ACE_HAS_BROKEN_NETBSD_MSYNC + +Wed Nov 19 14:26:36 1997 Nanbor Wang <nw1@lindy.cs.wustl.edu> + + * stdcpp.h, OS.h: Changed ACE_CONFIG_H to ACE_USER_CONFIG_H. It + conflicts with the macro in various configuration files. + +Wed Nov 19 15:55:45 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/config-sunos5.*.h: Replaced all uses of ACE_HAS_UNICODE with + ACE_HAS_XPG4_MULTIBYTE_CHAR. At this point, I think only NT has + the UNICODE macro now. Thanks to Steve Huston for validating + this. + + * STL/bstring.h: Added a special-case for BorlandC++. However, I + think this can be generalized for all compilers. Thanks to + Valik Solorzano Barboza <valik@xs4all.nl> for reporting this. + + * ace/OS: Fixed strpbrk() to handle the const char * and char * + cases of ANSI C++. Thanks to Valik Solorzano Barboza + <valik@xs4all.nl> for reporting this. + + * ace/OS.h: Added a special case for _MSC_VER since BC++ doesn't + have wchar.h! Thanks to Valik Solorzano Barboza + <valik@xs4all.nl> for reporting this. + +Wed Nov 19 13:43:33 1997 Darrell Brunsch <brunsch@cs.wustl.edu> + + * Merged the purify testing into run_tests. Just use + + "run_tests purify ..." + + to purify instead of running the tests. If you thought this + batch file looked bad before.... + +Wed Nov 19 12:17:50 1997 Nanbor Wang <nw1@merengue.cs.wustl.edu> + + * ace/{OS,stdcpp}.h (ACE_CONFIG_H): Added this macro to protect + config.h from getting included multiple times. + + * ace/stdcpp.h: Reverted include OS.h back to config.h. + +Wed Nov 19 09:20:05 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.3.52, released Wed Nov 19 09:20:05 1997. + +Wed Nov 19 07:54:44 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/ACE.cpp (crc32): Reverted the COMPUTE macro back to its + original value. For some reason, the version given by Valik was + failing. + + * ace/SV_Semaphore_Complex.cpp (open): Make sure initialize the + sem_number_ data member, though this isn't actually used for + anything. + + * ace/ACE.cpp: Added a #ifdef for __unix since this is the only + case where we'll actually have the ifreq autoptr. Thanks to + Valik Solorzano Barboza <valik@xs4all.nl> for reporting this. + + * ace/Log_Record.cpp (print): Added a work around for a really + lame bug with BORLANDC. Thanks to Valik Solorzano Barboza + <valik@xs4all.nl> for reporting this. + +Wed Nov 19 04:22:38 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.3.51, released Wed Nov 19 04:22:38 1997. + +Wed Nov 19 04:02:09 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * include/makeinclude/rules.local.GNU (show_uninit): It seems + there was a missing '@' at the beginning of the line. Thanks to + Hans Rohnert for reporting this. + + * tests/Process_Strategy_Test.cpp (handle_input): Fixed Irfan's + code, which keeps breaking ACE ;-). + +Wed Nov 19 01:55:06 1997 <irfan@TWOSTEP> + + * ace/WFMO_Reactor.cpp (resume_handler_i, suspend_handler_i, + unbind_i): Since things don't happen immediately in the + WFMO_Reactor world, we must make sure that this request is not a + duplicate. If so we must ignore it. + + * ace/Asynch_Acceptor.cpp (open): Fixed addr type mismatch problem. + + * tests/UPIPE_SAP_Test.cpp (main): Make sure to close the socket + in ACE_UPIPE_Acceptor. + + * tests/SPIPE_Test.cpp (server): Make sure to close the socket in + ACE_SPIPE_Acceptor. + + * tests/SOCK_Test.cpp (spawn): Make sure to close the socket in + ACE_SOCK_Acceptor. + + * tests/Reactor_Notify_Test.cpp (Supplier_Task): Make sure to + close the pipe down. + + * tests/Process_Strategy_Test.cpp (handle_input): Fixed ACE_DEBUG + statement to pass the correct number of arguments. + + * tests/MT_SOCK_Test.cpp (spawn): Make sure to close the socket in + ACE_SOCK_Acceptor. + + * tests/Reactor_Exceptions_Test.cpp (main): Make sure to close the + socket in ACE_SOCK_Dgram. + + * tests/run_purify_tests.bat: Added "mkdir purify_results". + + * tests/run_tests.bat, run_purify_tests.bat: Changed explicit name + of bat file (e.g., run_tests, run_purify_tests) to %0. This + will allow the bat file to be used from other directories. + + * ace/config-win32-common.h: Removed extraneous define of + ACE_HAS_TEMPLATE_INSTANTIATION. + +Wed Nov 19 00:37:22 1997 <nw1@COYOTE> + + * ace/stdcpp.h: Changed to use "ace/OS.h" instead of using + "ace/config.h" directly to avoid redefinition of user defined + macros. + + * ace/Log_Msg.cpp (close): Disable Win32 to delete + ACE_Log_Msg::instance (). On Win32, this should be done by + ACE_TSS_Cleanup. + + * ace/OS.cpp (cleanup_tss): Enabled Win32 to call + ACE_Log_Msg::close. This is required to properly release + resourses held by ACE_Log_Msg_Manager. + +Tue Nov 18 19:28:36 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * ace/Select_Reactor.cpp (unbind), + ace/WFMO_Reactor.cpp (handle_signal): Fixed a large number of + bugs with non-portable "scope of the for loop counter"... + Thanks to Valik Solorzano Barboza <valik@xs4all.nl> for + reporting this. + + * ace/Thread_Manager: Added == and != operators for + ACE_Thread_Descriptor to fix things with BORLANDC's template + mechanism. Thanks to Valik Solorzano Barboza <valik@xs4all.nl> + for reporting this. + + * ace/Select_Reactor: Added == and != operators for + ACE_Event_Tuple to fix things with BORLANDC's template + mechanism. Thanks to Valik Solorzano Barboza <valik@xs4all.nl> + for reporting this. + + * ace/OS.i (tempnam): Fixed a typo -- WIN32 should be ACE_WIN32. + Thanks to Valik Solorzano Barboza <valik@xs4all.nl> for + reporting this. + + * ace/OS.h: Reordered the ACE_SEH_* macros so they work correctly + with BORLANDC. Thanks to Valik Solorzano Barboza + <valik@xs4all.nl> for reporting this. + + * ace/OS: Added operator== and operator!= for ACE_Cleanup_Info so + that it will work correctly with BORLANDC's template mechanism. + Thanks to Valik Solorzano Barboza <valik@xs4all.nl> for + reporting this. + + * ace/config-win32-common.h: Added + ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION for BORLANDC. Thanks to + Valik Solorzano Barboza <valik@xs4all.nl> for reporting this. + + * ace/Filecache.cpp: Fixed a bug with BORLANDC. Thanks to Valik + Solorzano Barboza <valik@xs4all.nl> for reporting this. + + * ace/ACE.cpp (crc32): Added some parens to the COMPUTE macro to + make it easier to grok. Thanks to Valik Solorzano Barboza + <valik@xs4all.nl> for reporting this. + +Tue Nov 18 16:27:32 1997 <irfan@TWOSTEP> + + * ace/Log_Msg.cpp (log): Added a %D option to Log_Msg for + "month/day/year hour:minute:second:microsecond". Thanks to John + Mulhern <9107@MN3.LAWSON.lawson.com> for suggesting this. + + * ace/config-win32-common.h: If __ACE_INLINE__ is defined to be 0, + we will undefine it. + +Tue Nov 18 15:59:37 1997 Steve Huston <shuston@riverace.com> + + * ace/IOStream.cpp: In underflow() and overflow(), use base() to + check for buffer in use in every case - not just without + ACE_HAS_STANDARD_CPP_LIBRARY==1. Thanks to James CE Johnson + (jcej@lads.com) for this fix. + + * tests/MT_SOCK_Test.cpp: Allow the test to run even if not all of + the proceses can be forked. + +Tue Nov 18 15:27:37 1997 Nanbor Wang <nw1@merengue.cs.wustl.edu> + + * ace/Timer_Queue_Adapters.cpp: Reordered include files. Thanks + to Torbjorn Lindgren <tl@funcom.no> for noticing the problem. + +Tue Nov 18 11:40:18 1997 Steve Huston <shuston@riverace.com> + + * ace/IOStream.(cpp h): Added: &&(ACE_HAS_STANDARD_CPP_LIBRARY != 0) + to the #if defined (ACE_HAS_STANDARD_CPP_LIBRARY) lines to only use + the new iostreams things if that's been selected by the config file. + In ACE_Streambuf::overflow(), changed: + if (!eback()) to if (!pbase()) + +Tue Nov 18 08:23:53 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * tests/Thread_Pool_Test.cpp (open): Moved the activate() method + from the Thread_Pool constructor to the open() hook since the + Thread_Pool class invoked ACE_Task::activate, indirectly invokes + Thread_Pool::svc. There existed a miniscule probability this + code would have crashed since on extremely broken C++ compilers + the virtual member function Thread_Pool::svc may not correctly + initialized in Thread_Pool constructor (i.e., it might point to + ACE_Task_Base::svc() at this point). The chance of this + happening is incredibly remote, but it's still a good ideal to + put the call in the open() method so we can check the return + value in the application. Thanks to Arturo for pointing this + out. + +Tue Nov 18 05:40:53 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/OS.cpp (inet_aton): on Chorus only, use the native + ::inet_aton (). Thanks to Wei for pointing this out. + + * ace/OS.cpp (gethostby{addr,name}): on VxWorks only, don't htonl + the input address because it already should be in network byte + order. Store the output address in network byte order. Thanks + to Wei for noticing this error. + + * include/makeinclude/wrapper_macros.GNU: add -DACE_PURIFY to + CFLAGS if purify make flag is set, and -DACE_QUANTIFY if + quantify is set. Thanks to Chris Cleeland for this suggestion. + + * ace/Memory_Pool.cpp (ACE_Shared_Memory_Pool): reordered + initializers to match declaration order. + + * etc/purify.solaris2: added suppression of pthread_setcanceltype + BSW. + +Tue Nov 18 00:11:26 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.3.50, released Tue Nov 18 00:11:26 1997. + +Mon Nov 17 22:35:22 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * examples/Shared_Malloc/test_malloc.cpp: Added some additional + calls to Malloc::instance ()->remove () to cleanup all the + semaphore locks. Thanks to Tom Arbuckle + <arbuckle@uran.informatik.uni-bonn.de> for reporting this. + + * ace/Memory_Pool.cpp (init_acquire): Fixed a problem caused by + failing to initialize the minimum_bytes_ field in the + ACE_Shared_Memory_Pool class. Thanks to Tom Arbuckle + <arbuckle@uran.informatik.uni-bonn.de> for reporting this. + + * examples/Shared_Malloc/test_malloc.cpp: Updated the Shared + Malloc test program to use the Singleton Thread Manager. + +Mon Nov 17 18:09:06 1997 <nw1@CUECA> + + * All eight different configurations of ACE passed all tests on + our Alpha/NT. + +Mon Nov 17 15:37:52 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/INET_Addr.cpp (get_host_name): on VxWorks only, moved + ::hostGetByAddr code block to _after_ the check for the + address being INADDR_ANY. Without that check, get_host_name () + never returns the caller's own hostname. + + * netsvcs/lib/Makefile: the first line of the Local Target + (Server_Logging_Handler.*) override mysteriously disappeared. + +Mon Nov 17 02:09:57 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.3.49, released Mon Nov 17 02:09:57 1997. + +Mon Nov 17 02:03:21 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * ace/IOStream_T.cpp: Added a few more fixes for KCC C++ and its + standard C++ library support. + +Mon Nov 17 01:34:34 1997 <nw1@COYOTE> + + * netsvcs/servers/main.cpp (main): Removed daemon and changed to + use the singleton service configurator. Thanks to John Mulhern + and Stephen Coy for tracing this down and Irfan for coming out + with the fix. + +Sun Nov 16 21:58:51 1997 Darrell Brunsch <brunsch@cs.wustl.edu> + + * tests/*.dsp, ace/*.dsp: Added Release, Unicode Debug, and + Unicode Release versions for each of the tests. + + Also found out that precompiled headers take up insane + amounts of disk space when used with ACE and also slows + the compilation down. I turned it off for the tests and + for the ace libraries + +Sun Nov 16 13:34:29 1997 Douglas C. Schmidt <schmidt@merengue.cs.wustl.edu> + + * tests/SOCK_Connector_Test.cpp (fail_no_listener_nonblocking): + Changed the line + + status = con.complete (sock); + + to + + if (sock.get_handle () != ACE_INVALID_HANDLE) + status = con.complete (sock); + + The change worksaround a core dump due the the following + conditions: + + - the find_another_host function in SOCK_Connector_Test comes + up with the entry for an NT machine. + + - the ACE_OS::connect call at line 64 of SOCK_Connector.cpp + "successfully" fails returning -1 but in this case + errno is set to ECONNREFUSED. + + - Since errno is not EINPROGRESS or EWOULDBLOCK the + ACE_SOCK_Stream 'new_stream' close member function is called + which, besides closing the "handle", also sets it to + ACE_INVALID_HANDLE. + + - Since the errno was ECONNREFUSED the 'if' test at line 97 of + SOCK_Connector_Test.cpp is true and the next statement + + status = con.complete (sock); + + is called causing a core dump since sock.get_handle() is + ACE_INVALID_HANDLE (-1 on Solaris). + + Thanks to Jack Erickson <jack@pinion.com> for reporting this. + + * ace/OS: Cast away the constness of the parameters to _tempnam() + for Borland C++. Thanks to Valik Solrzano Barboza + <valik@xs4all.nl> for this. + + * ace/config-unixware-2.1.2-g++.h: Changed + ACE_HAS_OSF1_GETTIMEOFDAY to ACE_HAS_SVR4_GETTIMEOFDAY. Thanks + to John Connett <jrc@skylon.demon.co.uk> for reporting this. + + * ace/SPIPE_Addr.cpp (set): Fixed a problem where we were + potentially writing into character constants. Thanks to Darrell + Brunsch for finding this. + + * ace/Get_Opt.cpp (operator): We need to make sure that all uses + of ACE_OS::strchr() are consistent with respect to const + correctness. Thanks to Darrell Brunsch for finding this. + + * ace/config-win32-common.h: Added a few minor changes for Borland + C++. Thanks to Valik Solrzano Barboza <valik@xs4all.nl> for + this. + + * ace/Log_Record.cpp (print): Changed the formal parameter from + "const char host_name[]" to "const char *hostname" so that we + can assign this in the function if necessary. Thanks to Valik + Solrzano Barboza <valik@xs4all.nl> for this. + + * ace/OS.cpp: Moved the constructor for ACE_Cleanup_Info into the + OS.cpp since it doesn't really need to be inline. + + * ace/WFMO_Reactor.cpp (notify): Replaced a "sizeof + ACE_Notification_Buffer" with "sizeof + (ACE_Notification_Buffer)". It's odd that the first approach + (which is incorrect) isn't flagged by MSVC++... Thanks to Valik + Solrzano Barboza <valik@xs4all.nl> for this. + + * ace/OS.i (sema_init): Added an ACE_ALLOCATOR_RETURN in the + appropriate spot. + + * ace/ACE.cpp: Moved the implementation of strsplit_r() into the + ACE.cpp file since it's rather long... + + * ace/OS: To be more conformant to the standard C++ library, + I've added a pair of methods for strstr(), strchr(), strrchr(), + etc. e.g., the function signature strstr(const char*, const + char*) is replaced by the two declarations: + + const char *strstr (const char* s1, const char* s2); + char *strstr (char* s1, const char* s2);" + + Thanks to Valik Solrzano Barboza <valik@xs4all.nl> for this. + + * ace: Added "ace.idl", which is a config file for Borland C++ + 5.x. Thanks to Valik Solrzano Barboza <valik@xs4all.nl> for + this. + + * include/makeinclude/platform_linux_kcc.GNU (SOFLAGS): Improved + this file a bit to work better with NULL pointers. Thanks to + Ben Eng <ben@jetpen.com> for reporting this. + + * examples/System_V_IPC/SV_Semaphores/Semaphores_1.cpp (main): + Changed allocator to alloc to avoid conflicts with STL. Thanks + to Ben Eng <ben@jetpen.com> for reporting this. + + * ace/config-linux-kcc.h: Added some fixes for the KCC compiler. + Thanks to Ben Eng <ben@jetpen.com> for reporting this. + + * ace/IOStream: Added fixes for the standard C++ library. Thanks + to Ben Eng <ben@jetpen.com> for reporting this. + +Sat Nov 15 17:31:58 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * Ran "make depend" on all of ACE. + +Sat Nov 15 15:55:52 1997 Steve Huston <shuston@riverace.com> + + * tests/Priority_Reactor_Test.cpp: Removed the writer->peer().close() + call from client() that I added yesterday. ACE_Svc_Handler::destroy + will end up doing the close - thanks to Irfan for pointing this out. + +Sat Nov 15 01:31:58 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.3.48, released Sat Nov 15 01:31:58 1997. + +Fri Nov 14 23:36:12 1997 Chris Cleeland <cleeland@tango.cs.wustl.edu> + + * ace/{OS,ACE}.{h,i} (strsplit_r): Moved strsplit_r from ACE_OS to + ACE, which is where it should go. + + * ace/ACE.cpp (ldfind): Changed uses of strsplit_r to be scoped + under ACE rather than ACE_OS. + +Fri Nov 14 22:57:04 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/config-vxworks*.h: added ACE_LACKS_NETDB_REENTRANT_FUNCTIONS. + This is necessary for the gethostby{addr,name}_r support added + yesterday. + +Fri Nov 14 18:42:23 1997 Steve Huston <shuston@riverace.com> + + * tests/Priority_Reactor_Test.cpp: Fixed client to close its socket + before exiting from the thread/process. + +Fri Nov 14 17:41:40 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * ace/OS.i: Fixed some typos in strsplit_r(). + + * ace/OS.h: Moved the ACE_ALLOCATOR* stuff from Malloc_T.h to + OS.h, which is where it belongs. + + * examples/Reactor/Dgram: Reformatted some of the example + code to make it more readable. + +Fri Nov 14 17:08:00 1997 Chris Cleeland <cleeland@tango.cs.wustl.edu> + + * ace/OS.i (strsplit_r): Added fixes so that this properly returns + the last piece. Thanks to Scott Herscher <scott@expersoft.com> for + submitting this! Also beefed up the comments. + + * ace/OS.h: Added definitions to work around VxWorks' lack of + proper ANSI C/C++ prototypes for the functions found in + <arpa/inet.h>. The definitions were taken from Solaris 2.5.1, but + appear to work just fine. For now this is only in effect when + compiling with the Green Hills (ghs) environment, but it should + probably be used for others (such as g++) as well. + +Fri Nov 14 01:10:33 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.3.47, released Fri Nov 14 01:10:33 1997. + +Fri Nov 14 00:14:21 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/OS.* (gethostbyaddr_r,gethostbyname_r): added VxWorks + support. + +Thu Nov 13 20:29:18 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.3.46, released Thu Nov 13 20:29:18 1997. + +Thu Nov 13 19:11:36 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * ace/config-sunos5.4.*: Solaris 2.4 doesn't support the ualarm() + call unless you use the (broken) /usr/ucb/cc compiler. Here's a + patch for $ACE_ROOT/ace/config-sunos5.4-sunc++-4.x.h to fix the + problem. Thanks to Caleb Epstein + <epstein_caleb_unix@jpmorgan.com> for reporting this. + +Thu Nov 13 19:25:50 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> + + * include/makeinclude/platform_irix6.x-sgic++.GNU: + Updated comment on when should the user disable the use of + -lpthread + +Thu Nov 13 18:18:16 1997 Steve Huston <shuston@riverace.com> + + * ace/Containers.h, Containers.cpp, Hash_Map_Manager.cpp, Malloc_T.h: + Removed the conditional code for the macro + ACE_HAS_HPUX_ACC_BROKEN_TEMPLATE_DESTRUCTOR. The workaround for + this compiler bug is to remove "this->" from the object pointer + used in the ACE_DES_FREE_TEMPLATE macro invocation. This compiler + bug is HP case SR5003396259 for future reference. + + * ace/config-hpux-10.x-hpc++.h: Added ACE_HAS_ANSI_CASTS; removed + ACE_HAS_HPUX_ACC_BROKEN_TEMPLATE_DESTRUCTOR (both for aC++ only). + + * ace/README: Removed ACE_HAS_HPUX_ACC_BROKEN_TEMPLATE_DESTRUCTOR, as + it is no longer used. + +Thu Nov 13 16:51:40 1997 <nw1@CHA-CHA> + + * ace/OS.h: Added two new macros ACE_FACTORY_DECLARE and + ACE_FACTORY_DEFINE. Changed definitions of + ACE_SVC_FACTORY_DECLARE AND ACE_SVC_FACTORY_DEFINE to use these + two macros. Refer to changes of the ACE_Export related macros + below, you can now declare/define your service factories as, + + ACE_FACTORY_DECLARE (FOOBAR, fac_class); + ACE_FACTORY_DEFINE (FOOBAR, fac_class); + + This will ensure they get define properly and proper decoration + will be added. + +Thu Nov 13 16:52:31 1997 Nanbor Wang <nw1@merengue.cs.wustl.edu> + + * ace/Thread_Manager.cpp: Removed all ! defined + (ACE_HAS_FSU_PTHREAD). Thanks to ARTURO MONTES + <mitosys@colomsat.net.co> for reporting this. + + * ace/config-gcc-2.7.2.h: Added ACE_HAS_TEMPLATE_SPECIALIZATION. + Thanks to ARTURO MONTES <mitosys@colomsat.net.co> for reporting + this. + + * ace/config-fsu-pthread.h: added ACE_LACKS_THREAD_PROCESS_SCOPING. + Thanks to ARTURO MONTES <mitosys@colomsat.net.co> for reporting + this. + + * ace/OS.h: Separate definition of proper export flag for + platforms from setting these flags for building/not building + DLL. I keep ACE_Export and ACE_Svc_Export to remain backward + compatibality but now, they are defined using the new "common" + definition. This changes is made in hope that it will simplify + codes generated by TAO_IDL compiler. + + Several new directives are added to these file. These common + directives will be set to proper values (macros) according to + the platform we use. They are: + + ACE_Proper_Export_Flag + ACE_Proper_Import_Flag + ACE_EXPORT_SINGLETON_DECLATATION(T) + ACE_IMPORT_SINGLETON_DECLARATION(T) + ACE_PROPER_SINGLETON_INSTANTIATION(T) + + I use them to define ACE_Export and ACE_Svc_Export. I hope it + is easier to define your own export decoration flag now. Here + is an example. Say you want to define an export flag for your + DLL file : foobar.dll. First, you need to add the following to + a common header file: + + // Here are definition for FOO_BAR library. + #if defined (FOOBAR_HAS_DLL) && (FOOBAR_HAS_DLL == 1) + # if defined (FOOBAR_BUILD_DLL) + # define FOOBAR_Export ACE_Proper_Export_Flag + # define FOOBAR_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T) + # define FOOBAR_SINGLETON_INSTANTIATION(T) ACE_PROPER_SINGLETON_INSTANTIATION (T) + # else + # define FOOBAR_Export ACE_Proper_Import_Flag + # define FOOBAR_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T) + # define FOOBAR_SINGLETON_INSTANTIATION(T) + # endif /* FOOBAR_BUILD_DLL */ + #else /* ! FOOBAR_HAS_DLL */ + # define FOOBAR_Export + # define FOOBAR_SINGLETON_DECLARATION(T) + # define FOOBAR_SINGLETON_INSTANTIATION(T) + #endif /* FOOBAR_HAS_DLL */ + + Be sure to include "ace/OS.h" before these definitions so that + the macros they use will be properly initialized. After you've + done this, on Win32, define "FOOBAR_HAS_DLL=1" if you want to + build DLL, define it as "FOOBAR_HAS_DLL=0" if you want to build + static library. In your library project file, you must define + the directives FOOBAR_BUILD_DLL and decorate classes/objects you + want to export with FOOBAR_Export so that they can be declared + automatically according whether you are building/linking with + static library or dynamic library. + +Thu Nov 13 05:47:42 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/Thread_Manager.cpp: added ACE_TSS_Singleton<ACE_Dynamic, + ACE_Null_Mutex> instantiation, for the recent Svc_Handler + change. + + * ace/Object_Manager.h (default_mask): moved out of ACE_MT_SAFE + protection. + + * ace/OS.{h,i},config-vxworks-ghs-1.8.h,README (strlen,strcpy): + protect declarations of wchar versions with + ACE_HAS_WCHAR_TYPEDEFS_CHAR. GreenHills typedefs wchar to char. + + * ace/Singleton.cpp: register ACE_TSS_Singletons for cleanup with + Object_Manager. + + * ace/OS.{i,cpp} (gethostbyaddr): added VxWorks support. + +Thu Nov 13 02:06:58 1997 Chris Cleeland <cleeland@macarena.cs.wustl.edu> + + * ace/Signal.i: Changed to use new Object Manager member. + + * ace/Object_Manager.cpp: Added a new member to the Object + Manager--default_mask. This is the default signal mask employed + by ACE_Sig_Set. Moving the object into the OM saves cycles b/c we + only construct it once and just re-use every time. + + * ace/Handle_Set.cpp: Added two new macros--ACE_DIV_BY_WORDSIZE and + ACE_MULT_BY_WORDSIZE--which either divide or multiply the argument + by ACE_Handle_Set::WORDSIZE. The manner in which this is + accomplished is governed by the #define + ACE_USE_SHIFT_FOR_EFFICIENCY--when defined, ACE tries to use + shifts to implement multiplication and division rather than actual + multiply and divide operations. Currently this is disabled. + +Wed Nov 12 19:13:05 1997 <irfan@TWOSTEP> + + * ace/Svc_Handler: Changed hand written tss singleton to + ACE_TSS_Singleton. Lot of (unnecessary) code disappeared. + Thanks to David Levine for suggesting this. + + * ace/Object_Manager: Removed ACE_SVC_HANDLER_LOCK. + +Wed Nov 12 16:29:15 1997 Sumedh Mungee <sumedh@lindy.cs.wustl.edu> + + * platform_netbsd.GNU: added /usr/lib/c++rtO.o to SOBUILD to + insure that static objects' ctors are called. + +Wed Nov 12 00:20:38 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/OS.{i,cpp} (inet_ntoa): use VxWorks' native inet_ntoa. It's + not documented but it works. + + * ace/OS.cpp (gethostbyname): on VxWorks, load static first_addr on + every call, not just the first. + + * include/makeinclude/rules.local.GNU: removed extra "fi" in + install operation. + + * include/makeinclude/platform_sunos5_sunc++.GNU: removed +w from + CFLAGS because it generates too many spurious warnings. + + * ace/TTY_IO.cpp (control): commented out unused local variable + c_line. Thanks to Amos Shapira <amos@gezernet.co.il> for + reporting this. + + * ace/OS.{h,i} (hostname): added Chorus support. Thanks to Wei + for the patches. + +Tue Nov 11 23:44:17 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.3.45, released Tue Nov 11 23:44:17 1997. + +Tue Nov 11 21:26:36 1997 Douglas C. Schmidt <schmidt@lindy.cs.wustl.edu> + + * platform_sunos5_sunc++.GNU, platform_irix6.x-sgic++.GNU, rules.local.GNU: + Added some minor fixes. + +Tue Nov 11 20:18:27 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> + + * Makefile: Added the tests and netsvcs directory to + RELEASE_LIB_FILES since this is pretty important to determine + whether ACE works. Thanks to Chuck Gehr and Steve Coy for this + suggestion. + + * tests/UNIXclerk.conf: Changed "merengue" to "localhost." + Thanks to Steve Coy for this suggestion. + + * ace/config-lynxos.h (getopt): Missing 't' from const => see + getopt prototype parameter list. Thanks to Manojkumar Acharya + <mja@cvsf325.gpt.co.uk>. + +Tue Nov 11 08:09:16 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/OS.cpp (inet_aton): declare local ip_addr as an ACE_UINT32 + instead of a long. Real programmers have 64-bit longs. + + * ace/INET_Addr.cpp (get_host_name): added ACE_UNUSED_ARG (len); + for VxWorks only. + +Tue Nov 11 13:19:46 1997 Torbjorn Lindgren <tl@funcom.com> + + * include/makeinclude/rules.local.GNU: Fixed so that the ACE + makefiles doesn't create circular symlinks (happens if + something fails when building libACE.* with "make -k", or when + doing parallel builds). It's now possible to do parallel + builds of libACE.* without having to clean up a mess afterwards. + + * include/makeinclude/platform_irix6.x-sgic++.GNU: Removed + .so build with links instead (ace/apps/examples/tests and my own + programs all work well with this, and the manual seems to suggest + that it hasn't ever been necessary on this platform) + + * ace/config-irix6.x-sgic++-nothreads.h: Added + ACE_HAS_XPG4_MULTIBYTE_CHAR for SGI IRIX 6.[2-5]. + +Tue Nov 11 04:50:06 1997 Nanbor Wang <nw1@merengue.cs.wustl.edu> + + * examples/Reactor/Multicast/server.cpp (handle_timeout): Fixed a + typo. Thanks to Sandro Doro <doros@aureus.sublink.org> for + reporting this. + +Tue Nov 11 04:20:09 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.3.44, released Tue Nov 11 04:20:09 1997. + +Tue Nov 11 01:44:39 1997 <irfan@TWOSTEP> + + * examples/Naming/test_open.cpp (main): Added a new naming test + that binds to the net_local server and tries to bind entries to + it. + + * netsvcs/lib/Name_Handler.cpp: Added a new class called + Naming_Context. This helper class adds the correct default + constructor to the ACE_Naming_Context class so that we can use + it in ACE_Singleton. + + Previously, each Name_Handler was getting its own + Naming_Context. This is obviously incorrect as the mapping + address in already occupied by the first Name_Handler. + Therefore, the Naming_Context was changed into a Singleton + accessable by all Name_Handlers. + + * ace/WFMO_Reactor.cpp (handle_additions && handle_deletions): + Changed code to make sure that we should not make the upcall + until all the internal data structures have been updated. This + is to protect against upcalls that try to deregister again. + +Tue Nov 11 01:28:50 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.3.43, released Tue Nov 11 01:28:50 1997. + +Mon Nov 10 21:30:04 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + + * INET_Addr.cpp: In the ACE_INET_Addr::get_host_name (char + hostname[], size_t len) method, an unnecessary local variable + called "name" was being used and the actual parameter "hostname" + was never getting updated. The local variable is now removed and + we use the actual parameter everywhere. + +Mon Nov 10 20:44:43 1997 James C Hu <jxh@lambada.cs.wustl.edu> + + * etc/ACE-guidelines.html: Added a section for ACE Design Rules, + and added a design rule about sentinels. + +Mon Nov 10 18:11:05 1997 Sumedh Mungee <sumedh@lindy.cs.wustl.edu> + + * ace/Singleton.h (ACE_TSS_Singleton): Changed ACE_TSS<TYPE> to + ACE_TSS_TYPE (TYPE), so that the ACE_TSS_TYPE macro (defined in + OS.h) gets used. (Irfan's suggestion.) + +Mon Nov 10 17:02:40 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> + + * ace/OS.h: Reformatted the #ifdef structure of the + ACE_HAS_XPG4_MULTIBYTE_CHAR to conform to ACE usage. + + * ace/Service_Repository.cpp: The close() method needed a '\n' in + one of the debug messages. Thanks to Steve Coy for reporting + this. + +Mon Nov 10 14:09:24 1997 Steve Huston <shuston@riverace.com> + + * ace/OS.h, OS.i, README: Added new macro, ACE_HAS_XPG4_MULTIBYTE_CHAR + for platforms which supply wchar.h and wide character functions. + Added the use if it in OS.h, and use the functions in OS.i, + strlen and strcpy with wchar_t arguments. + + * ace/config-hpux-10.x.h, config-aix-4.2.x.h, config-mvs.h, + config-sunos5.5-sunc++-4.x.h: Added ACE_HAS_XPG4_MULTIBYTE_CHAR. + +Mon Nov 10 13:33:02 1997 <irfan@TWOSTEP> + + * ace/OS.h (ACE_WRITE_GUARD): Added macros for ACE_WRITE_GUARD and + ACE_READ_GUARD. Thanks to Brian Raven <Brian.Raven@liffe.com> + for suggesting this. + + * tests/Thread_Mutex_Test.cpp: Modified version of Mutex_Test that + exclusively works on a Thread_Mutex. + + * tests/Mutex_Test.cpp: Removed this test. It have been + superseded by Thread_Mutex_Test and Process_Mutex_Test. + + * ace/OS.i (thread_mutex_trylock): Fixed the return value and + errno for this system call such that it is consistent with other + trylock calls. + +Mon Nov 10 10:21:55 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/INET_Addr.cpp: updated gethostbyname/addr support for + Chorus. Thanks to Wei Chiang <chiang@tele.nokia.fi> for + the patches for this fix. + + * ace/config-chorus.h: disabled ACE_LACKS_SOCKETPAIR. Thanks + to Wei for this fix, also. + + * tests/Thread_Mutex_Test.cpp (test): don't compile this function + if ACE_HAS_THREADS is not defined. + + * tests/IOStream_Test.cpp (main): removed extra % at end of + ACE_ERROR_RETURN message. + + * etc/ace_ld,include/makeinclude/platform_vxworks5.x_g++.GNU: + added ace_ld, a drop-in replacement for ld that supports munching. + We need to munch for VxWorks/g++. + + * ACE-INSTALL.html: updated VxWorks info to mention requirement + for perl with VxWorks/g++. And, LD_LIBRARY_PATH must be set + to find the ACE libraries on the host if using TAO. + +Sun Nov 09 23:29:43 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.3.42, released Sun Nov 09 23:29:43 1997. + +Sun Nov 09 22:18:30 1997 <irfan@TWOSTEP> + + * ace/config-win32-common.h (ACE_HAS_ANSI_CASTS): VC++ compilers + support ANSI style casts. + + * ace/OS.h (ACE_static_cast): Added ANSI style cast macros to ACE. + Thanks to Stephen Coy <stevec@magna.com.au> for suggesting this. + +Sun Nov 9 21:34:16 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> + + * ace/OS: Enhanced ACE_OS so that it *always* defines + implementations for the wchar_t versions of strlen() and + strcpy(), even if the platform doesn't explicitly support + UNICODE. This is necessary since TAO needs these functions. + + * ace/OS.h: Added a typedef for wchar_t to handle the case where + the OS doesn't support UNICODE. + + * ace/ACE.cpp: Added hex character routines from TAO since they + are generally useful. + + * ace/OS.h: Moved the TAO-specific #defines into TAO, where they + belong. Thanks to David Levine and Chris Cleeland for insisting + on this... + +Sun Nov 09 17:55:50 1997 <nw1@COYOTE> + + * examples/ASX/Event_Server/Event_Server/Peer_Router.cpp (open): + Removed codes that reset a socket's non-blocking flag. This has + been taken care of by ACE_Acceptor::activate_svc_handler now and + resetting this flag twice on NT caused us grief. Thanks to + Georges Ata <George_ata@srt.ccmail.compuserve.com> for reporting + the bug. + + * ace/ACE.i (hex2byte,nibble2hex): Replaced ACE_INLINE to inline + for these two functions. Functions in this file are always + inlined. + + * ace/config-win32-common.h (ACE_LACKS_RLIMIT): Added this flags + so we don't need to treat ACE_WIN32 specially. + + * ace/OS.i (getrlimit,setrlimit): Removed unnecessary conditional + flag ACE_WIN32. + + * ace/Thread_Manager.cpp (wait): Merged the two blocks within this + function so that we can avoid relase/acquire lock + unnecessarily. Thanks to Doug for his careful scrutiny. + +Sun Nov 09 09:27:24 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/Thread_manager.cpp (wait): removed unused local, + threads_waited_on. + +Sat Nov 08 23:20:50 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.3.41, released Sat Nov 08 23:20:50 1997. + +Sat Nov 8 15:46:30 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> + + * ace/INET_Addr.cpp: Enhanced the get_host_name() functions so + that if the sin_addr.s_addr == INADDR_ANY we assume that we're a + server, and we return our "hostname". + + * Added a number of minor fixes for UNIXWARE with G++. Thanks to + Michael Rueger <m_rueger@syscomp.de> for reporting these. + + * ace/Thread_Manager.h: Both Irix5 and VxWorks have problems with + local typedefs with GCC. Thanks to Laura Paterno + <lpaterno@d0chb.fnal.gov> for reporting this. + + * ace/Timer_Queue_Adapters.cpp: Changed some errant uses of lock_ + to mutex_. Thanks to David Levine for reporting this. + + * ace/ACE.cpp: set_handle_limit() was buggy because it never + increased the handle limit. With this change we do not need + special code in ACE_Select_Reactor with ACE_LACKS_RLIMIT because + this is managed in ACE::set_handle_limit. Thanks to Arturo for + this fix. + + * ace/Select_Reactor.cpp (open): We no longer need to + conditionally compile for ACE::set_handle_limit(). Thanks to + Arturo for this fix. + +Fri Nov 7 18:53:13 1997 Sumedh Mungee <sumedh@macarena.cs.wustl.edu> + + * ace/config-netbsd.h: Added file for NetBSD 1.2G. + + * tests/SOCK_Connector_Test.cpp (fail_no_listener_nonblocking): + Added ECONNREFUSED as a "valid failure", alongwith EWOULDBLOCK. + + * ace/OS.i (msync): msync on NetBSD takes only two parameters as + opposed to the usual three. (It doesnt have the "flags" + parameter.) The ACE_HAS_BROKEN_NETBSD_MSYNC flag works around + that. + +Fri Nov 7 16:04:35 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> + + * ace/Thread_Manager.cpp: Added a missing '>' for one of the + template specializations. Thanks to Torbjorn Lindgren + <tl@funcom.no> for reporting this. + + * ace/OS.cpp: ACE_OS::ACE_OS is defined in OS.cpp, which causes + the compiler to complain about multiple definitions. Other + ACE_CLASS_IS_NAMESPACE doesn't have constructors, which is why + they work. Thanks to Torbjorn Lindgren <tl@funcom.no> for + reporting this. + +Fri Nov 07 15:14:51 1997 David L. Levine <levine@cs.wustl.edu> + + * examples/Threads/tss1.cpp: replaced ACE_SYNCH_1 and _2 with + _DECL and _USE. + + * ace/config-linux{,-common}.h: created config-linux-common.h + and moved alpha-specific defines to it. + + * ace/FILE_Addr.cpp (set): explicitly declare int return type. + + * performance-tests/Misc/preempt.cpp (get_options): DEC CXX didn't + like conversion of -1 to u_int, so changed return type to int and + all ACE_ERROR_RETURNs to return -1. + +Fri Nov 07 10:05:12 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.3.40, released Fri Nov 07 10:05:12 1997. + +Fri Nov 7 09:58:09 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Connector.cpp (fini): Added a call to + ACE_Map_Manager::close() in fini() since the destructor may not + be called. Thanks to Eric C. Newton <ecn@smart.net> for + reporting this. + + * ace/{FILE,SPIPE}_Addr.cpp (set): Added a return value. Thanks + to Marios Zikos <zikos@csi.forth.gr> for reporting this. + +Fri Nov 07 02:45:55 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.3.39, released Fri Nov 07 02:45:55 1997. + +Fri Nov 7 01:06:08 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> + + * ace/Message_Queue: Added a new method called deactivated(), + which returns true if the queue has been deactivated. Thanks to + Wei Chiang <chiang@tele.nokia.fi> for reporting this. + + * ace/{config-chorus.h,OS.cpp}: Added a new macro called + ACE_CHORUS_DEFAULT_MIN_STACK_SIZE. Thanks to Wei Chiang + <chiang@tele.nokia.fi> for reporting this. + + * ace/DEV_Addr.cpp, + ace/FILE_Addr.cpp, + ace/SPIPE_Addr.cpp, + ace/INET_Addr.cpp, + ace/UNIX_Addr.cpp: Fixed the set(const Foo &) method so that + it correctly detects cases where we're passed in a + ACE_Addr::sap_any. This is a total hack... + + * ace/{OS.h,Addr.cpp}: Added a new AF_ANY flag, which is set to -1. + +Thu Nov 6 23:05:14 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> + + * Changed the obtusely named ACE_SYNCH_1 and ACE_SYNCH_2 macros to + ACE_SYNCH_DECL and ACE_SYNCH_USE, respectively. Thanks to Mike + Kamrad <J.M.KAMRAD.II@cdev.com> for suggesting this. + + * ace/Select_Reactor.cpp, ace/ACE.cpp: Broaded the comparison so + that we only try to use {set|get}rlimit() if ACE_LACKS_RLIMIT is + *false*. Thanks to Arturo Montes <mitosys@colomsat.net.co> for + reporting this. + + * ace/Object_Manager: Added support for + get_singleton_lock(ACE_Mutex *). Thanks to Arturo Montes + <mitosys@colomsat.net.co> for reporting this. + + * ace/Connector.cpp: If connect_n() fails make sure to return -1. + Thanks to Stephen Coy <stevec@magna.com.au> for pointing out the + problem. + + * ace/config-sco-5.0.0.h: Removed the ACE_LACKS_RLIMIT flag. + Thanks to Arturo Montes <mitosys@colomsat.net.co> for reporting + this. + + * tests: Changed all uses of "localhost" to + ACE_DEFAULT_SERVER_HOST. This solves some problems with MVS. + Thanks to Chuck Gehr <gehr@sweng.stortek.com> for reporting + this. + + * examples/Timer_Queue: Changed COMMAND to CMD so it won't + conflict with the HP/YUX compiler. Thanks to Sandro Doro + <doros@aureus.sublink.org> for reporting this. + +Thu Nov 06 22:13:01 1997 <irfan@TWOSTEP> + + * examples/Connection/blocking/SPIPE-connector.cpp (init): Fixed + odd looking typecast. + + * ace: Changed the comparison &local_sap == &ACE_Addr::sap_any to + local_sap == ACE_Addr::sap_any. Thanks to Steve Coy + <stevec@magna.com.au> for pointing out that the default + parameter const ACE_Addr &local_sap = ACE_Addr::sap_any will + cause a copy of sap_any to be made and passed to the method, + invalidating the memory address comparison. + + The following files were effected: + + Asynch_Acceptor.cpp + SOCK_Acceptor.cpp + SOCK_CODgram.cpp + SOCK_Dgram.cpp + TLI_Acceptor.cpp + TLI_Connector.cpp + + * ace/Addr.cpp: Made sure that the type and size of + ACE_Addr::sap_any does not match the type and size of any other + Addr type. This is necessary for local_addr==ACE_Addr::sap_any + to return 0 when local_addr is anything other than + ACE_Addr::sap_any. + + * ace/Synch_T.h: Fixed all the ACE_SYNCH_* defines. Thanks to + Matthias Kerkhoff <make@cs.tu-berlin.de> for pointing the + problems. + +Thu Nov 06 18:30:42 1997 Steve Huston <shuston@riverace.com> + + * ace/Addr.(h i), DEV_Addr.(h i), FILE_Addr.(h i), INET_Addr.(h + cpp), SPIPE_Addr.(h i), UNIX_Addr.(h i): Changed the operators + == and != to be non-virtual, and to accept the 'sap' argument as + its own type (not ACE_Addr for all of them). The + implementations of the operators compare type-specific data + without having to check the inherited type member. Thanks to + Steve Coy <stevec@magna.com.au> and Irfan and Nanbor for a huge + amount of work on these changes. *** NOTE - there is still some + SOCK_Connector problems related to these changes on HP-UX. The + hunt continues. + + * ace/Connector.cpp (connect_n): return -1 if any of the connect + attempts fail. + + * tests/Reactor_Performance_Test.cpp: Don't crash if any of the + client's connect attempts fail. + + * ace/Reactor.h: Added #include "ace/Handle_Set.h" - AIX needs the + class definition when generating templates in programs. + + * tests/Map_Manager_Test.cpp: Don't even try if the compiler doesn't + have template specialization working correctly. + + * tests/Priority_Reactor_Test.h: Added #include "ace/SOCK_Stream.h" + so AIX could generate template code correctly. + + * tests/Reactor_Performance_Test.cpp: Moved class definitions out to + Reactor_Performance_Test.h (new file) to allow AIX to generate + templates. + + * tests/SOCK_Connector_Test.cpp: Added a couple more checks to make + sure the local host is not the test target, and changed from using + port 4242 to 42000 (there is actually a program on AIX which listens + at port 4242). + + * tests/Thread_Manager_Test.cpp: Moved a class definition out to + Thread_Manager_Test.h (new file) to allow AIX to use it in template + generation. + + * tests/Timer_Queue_Test.cpp: Limit the number of iterations to 2000. + +Thu Nov 6 16:51:36 1997 Sumedh Mungee <sumedh@lindy.cs.wustl.edu> + + * tests/SOCK_Connector_Test.cpp (find_another_host): Added + ACE_NETBSD to the #if define around gethostent. + +Thu Nov 06 00:08:01 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.3.38, released Thu Nov 06 00:08:01 1997. + +Wed Nov 5 21:32:36 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> + + * ace/Service_Repository.cpp (close): Looking in the + Service_Repository while shutting it down does really bad + things. Some careful changes to the loop in + Service_Repository::close() fixed this. Thanks to Eric + C. Newton <ecn@smart.net> for reporting this. + + * Added new support for SCO UNIX with no threads. Thanks to + Arturo Montes <mitosys@colomsat.net.co> for reporting this. + +Wed Nov 05 20:31:36 1997 <irfan@TWOSTEP> + + * ace/Connector.cpp (close): Added an explicit close() method for + the Strategy_Connector. This closes down all Strategy_Connector + specific things and then calls close() on the base class. Also + modified the destructor to call this routine. + +Wed Nov 5 17:09:05 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * ace/OS.cpp (cleanup_tss): Rearranged how TSS'es get cleanup on + Win32. This was causing a tiny memory leak on NT. + +Wed Nov 5 15:03:31 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * ace/Thread_Manager.{h,cpp}: Changed the data type of + terminated_thr_queue_ back to + ACE_Unbounded_Queue<ACE_Thread_Descriptor>. + +Wed Nov 05 14:16:27 1997 Steve Huston <shuston@riverace.com> + + * ace/OS.i (mutex_trylock): Fixed code for ACE_HAS_DCE_DRAFT4_THREADS + (HP-UX) to process the returned status correctly. Thanks to + Robert Head <rhead@virtc.com> for reporting this. + +Wed Nov 05 13:01:49 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/ACE.cpp (daemonize): added ACE_UNUSED_ARG (close_all_handles) + if ACE_LACKS_FORK. + +Wed Nov 05 01:06:53 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.3.37, released Wed Nov 05 01:06:53 1997. + +Tue Nov 04 23:11:41 1997 <nw1@COYOTE> + + * ace/Thread_Manager.h: Added an ACE_Unbounded_Queue to + collect threads that need to be removed. We can no longer + remove thread descriptors directly from <thr_list_> because that + would clobber the integrity of the double-linked list. Changed + the data type of <terminated_thr_queue_> from + ACE_Unbounded_Queue<ACE_Thread_Descriptor> to + ACE_Unbounded_Queue<ACE_Descriptor*> to reduce the codes + generated. + + * ace/Thread_Manager.cpp: Reordered several thread operations so they + won't remove thread descriptor directly while traversing the + <thr_list_>. Removed #ifdef <VXWORKS> from template + instantiation section because now VxWorks needs it too. + + * ace/Container.{h,cpp}: Added more check on validities of passed in + node to ACE_Double_Linked_List::remove_element. Also changed + the function to reset a node's <prev_> and <next_> to prevent + double removal of a node, which messes up the list structure. + + * ace/ace_{dll,lib}.dsp: Excluded Acceptor.cpp from make + explicitly. Moving this file to "template file folder" was not + enough. + +Tue Nov 4 18:03:51 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> + + * ace/config-sco*.h: Added #define ACE_DEFAULT_CLOSE_ALL_FILES 0 + to the SCO Unix config files. + + * ace/ACE.cpp: Added a new macro called + ACE_DEFAULT_CLOSE_ALL_FILES to workaround a bug with SCO Unix. + Thanks to Arturo Montes <mitosys@colomsat.net.co> for reporting + this. + + * The ACE developer's drinking song: + + 100 little bugs in the code, + 100 bugs in the code, + fix one bug, compile it again, + 101 little bugs in the code. + 101 little bugs in the code..... + + Thanks to Steve Huston for appreciating the humor in this ;-). + + * ace/Containers.cpp (insert_head): Added some minor stylistic + fixes. + + * apps/Gateway/Gateway/Event_Channel.cpp (initiate_acceptor): + Changed + + if (ACE_Reactor::instance ()->register_handler + (&this->acceptor_, ACE_Event_Handler::ACCEPT_MASK) == -1) + + to: + + if (this->acceptor_.open(this->options ().acceptor_port_, + ACE_Reactor::instance (), this->options ().blocking_semantics_) == -1) + + Thanks to Ganesh Pai <gpai@voicetek.com> for reporting this. + + * apps/Gateway/Gateway/Gateway.cpp (parse_args): Changed + + ACE_Get_Opt get_opt (argc, argv, "abC:cdP:pq:t:vw:", 0); + + to: + + ACE_Get_Opt get_opt (argc, argv, "abC:cdP:p:q:t:vw:", 0); + + Thanks to Ganesh Pai <gpai@voicetek.com> for reporting this. + +Tue Nov 4 18:13:52 1997 Sergio Flores <sergio@macarena.cs.wustl.edu> + + * examples/Timer_Queue/Async_Timer_Queue_Test.cpp (cancel): + Initialized act pointer variable to 0, which was causing + core dump in linux. In general, all pointers should be + initialized. This should have been warned by the compiler. + Thanks to Sandro Doro <doros@aureus.sublink.org> for + pointing this out. + +Tue Nov 4 11:14:35 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * ace/Containers.cpp: Fixed some stylistic ambiguities. + +Tue Nov 04 10:12:21 1997 David L. Levine <levine@cs.wustl.edu> + + * include/makeinclude/platform_hpux.GNU: added +a1 to CFLAGS + to select ANSI C, instead of the default K+R C. This is + required with the current ace/Object_Manager.cpp, because + it initialized autos using aggregates (via the + ACE_STATIC_SVC_DEFINE macro). Thanks to Neil B. Cohen + <nbc@metsci.com> for helping to sort this out. + + * examples/Timer_Queue/Thread_Timer_Queue_Test.cpp: changed + another lock () to mutex (). + + * tests/run_tests.vxworks: added MT_SOCK_Test. + +Tue Nov 04 04:13:23 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.3.36, released Tue Nov 04 04:13:23 1997. + +Tue Nov 04 03:50:57 1997 <irfan@TWOSTEP> + + * ace/Addr.i (operator == && operator !=): Comparison of + sap.addr_type_ should be with this->addr_type_ and not with 0. + +Mon Nov 3 23:18:33 1997 Sergio Flores <sergio@macarena.cs.wustl.edu> + + * ace/Synch_T.cpp (dump): change the field lock_ to mutex_. + +Mon Nov 3 22:37:58 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * ace/Timer_Wheel_T.cpp: + * ace/Timer_List_T.cpp: + * ace/Timer_Hash_T.cpp: Changed the use of lock_ to mutex_. + + * ace/OS.cpp (cleanup_tss): Added TSS cleanup codes for Win32 when + non-main threads are exiting. Without them, Thread_Manager won't + cleanup its thread table correctly. + + * ace/SV_Semaphore_Complex.cpp (close): Changed to return 0 + only when this->key_ == -1 instead of <= -1. This was causing + semaphore leaks on Solaris. + + * ace/UNIX_Addr.i (operator ==): + * ace/SPIPE_Addr.i (operator ==): + * ace/FILE_Addr.i (operator ==): + * ace/DEV_Addr.i (operator ==): + * ace/INET_Addr.cpp (operator ==): Added checking for the same + Addr types for addresses under comparison. Thanks to Stephen + Coy <stevec@magna.com.au> for pointing out the problem. + +Mon Nov 03 18:32:42 1997 Carlos O'Ryan <coryan@MILONGA> + + * ace/Proactor.cpp: + * ace/Timer_Queue_T.h: + * ace/Timer_Queue_T.cpp: + * ace/Timer_Heap_T.cpp: + * ace/Synch_T.h: + * ace/Synch_T.cpp: + * ace/Atomic_Op.i: + Changed the method name from lock() to mutex(), otherwise the + lame HP/C++ compiler gets completely confused. Also changed the + field from lock_ to mutex_ + +Mon Nov 3 17:15:17 1997 Steve Huston <shuston@riverace.com> + + * ace/OS.h: Removed "class ace_dewarn_gplusplus;" from the + ACE_CLASS_IS_NAMESPACE macro. Produces warnings on AIX and + shouldn't be needed. + +Mon Nov 3 15:49:18 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * ace/Connector.cpp (connect): "Fixed" so that the service handler + pointer passed in by the caller doesn't change until the connect + completes without errors. + +Mon Nov 03 08:15:21 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/Managed_Object.[hi] (get_preallocated_{object,array}): + inlined function definitions into the class header so that + it compiles on AIX 4.1 w/ xlC 3.01. Thanks to Bob Lyng + <rlyng@synertech.highmark.com> for reporting this problem, + at to Steve H. for testing the fix. + + * include/makeinclude/{platform_linux*.GNU,wrapper_macros.GNU}, + netsvcs/lib/Makefile: suppress -g when compiling ace/Timer_Hash.cpp + and netsvcs/lib/Server_Logging_Handler.cpp on Linux only. + (It really only needs to be suppressed on Linux/Alpha.) + + * apps/Gateway/Gateway: protect instantiation of + ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_MT_SYNCH> + with ACE_HAS_THREADS. + + * ace/{Naming_Context.cpp,Service_Config.cpp,Object_Manager.cpp}: + moved ACE_Naming_Service and ACE_Service_Manager static service + objects to ACE_Object_Manager. + + With this change, the ACE library no longer has any static + objects that require destruction. + + * ace/Object_Manager.h: added documenation of + ACE_HAS_NONSTATIC_OBJECT_MANAGER config #define. + + * performance-tests/Misc/preempt.cpp: cleaned up cleanup so that + it compiles cleanly. + +Sun Nov 02 18:09:14 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.3.35, released Sun Nov 02 18:09:14 1997. + +Sun Nov 2 15:31:45 1997 Douglas C. Schmidt <schmidt@polka.cs.wustl.edu> + + * ace/Select_Reactor.i (cancel_timer): Make sure that we don't try + to call cancel() through a NULL this->timer_queue_. Thanks to + Stephen Coy <stevec@wsa.com.au> for reporting this. + + * ace/ACE.cpp (set_handle_limit): Fixed a subtle bug that occurs + if the OS doesn't like non-initialized rlimit structs. Thanks + to Stephen Coy <stevec@wsa.com.au> for reporting this. + + * examples/System_V_IPC/SV_Semaphores/Semaphores_2.cpp (main): + Renamed allocator to my_alloc to work around wonderful STL and + GCC problems... Thanks to Ben Eng <ben@jetpen.com> for + reporting this. + + * examples/System_V_IPC/SV_Semaphores/Semaphores_1.cpp: Removed + unused constant SHMSZ. Thanks to Ben Eng <ben@jetpen.com> for + reporting this. + + * examples/Reactor/Misc/test_time_value.cpp (operator<<): Removed + the "dec" stream manipulator since it isn't portable. Thanks to + Ben Eng <ben@jetpen.com> for reporting this. + + * performance-tests/Misc/preempt.cpp (main): Cleaned up this test + so it compiles on non-threaded platforms. Thanks to Ben Eng + <ben@jetpen.com> for reporting this. + + * examples/Timer_Queue/main_*.cpp (main): std::auto_ptr does not + have an operator= that accepts a raw pointer. Therefore, we + must assign raw pointers to an auto_ptr via the constructor. + Thanks to Ben Eng <ben@jetpen.com> for reporting this. + + * apps/Gateway/Gateway/Proxy_Handler.cpp: Make sure we distinguish + between ACE_NULL_SYNCH and ACE_MT_SYNCH since these will be + different on all platforms, whereas ACE_SYNCH will be the same + as ACE_NULL_SYNCH on platforms without threads. Thanks to Ben + Eng <ben@jetpen.com> for reporting this. + + * ace: Removed lots of uses of NULL and replaced them with 0. + This works around bugs with lame C++ compilers that treat NULL + as (void *). Thanks to Ben Eng <ben@jetpen.com> for reporting + this. + + * ace/Thread.i (spawn): Replaced "stack" with "thr_stack" to work + around bugs with lame C++ compilers and STL. Thanks to Evgeny + Beskrovny <evgeny_beskrovny@icomverse.com> for reporting this. + +Sat Nov 1 11:55:05 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> + + * ace/config-irix5.3-g++.h, + ace/config-irix5.3-sgic++.h: Removed the ACE_HAS_SYS_SIGLIST + macro since it doesn't seem to be working. Thanks to Laura + Paterno <lpaterno@d0chb.fnal.gov> for reporting this. + + * include/makeinclude/platform_chorus.GNU: Tidied up + platform_chorus.GNU a bit. Thanks to Wei Chiang + <chiang@tele.nokia.fi> for this. + +Fri Oct 31 14:35:37 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/OS.cpp (thr_create): on Chorus, double the stack size to + avoid bad problems. Thanks to Wei Chang <chiang@tele.nokia.fi> + for diagnosting this. + + * ace/Hash_Map_Manager.cpp (unbind_i): set the int_id + reference argument instead of ignoring it. Thanks to + Wei Chang <chiang@tele.nokia.fi> for providing the patch. + + * ace/OS.h,README: wrapped #include of dlfcn.h with + ACE_HAS_DLFCN_H_BROKEN_EXTERN_C to support RedHat 4.2 + Linux 2.0.30/Alpha. + + * ace/OS.i,README: added ACE_HAS_GETRUSAGE_PROTO support, for + platforms that have a getrusage () prototype that is + different from the one in OS.i. + + * ace/config-linux.h: added added some #defines to enable + builds on RedHat 4.2/Linux 2.0.30/Alpha. + + * include/makeinclude/platform-linux.GNU: added -pipe and + bumped optimization level up to -O3. + + * ace/Thread_Manager.cpp (wait_task): no-op if thr_list_ + size is 0. wait_task () can be called under that condition + (after Thread_Manager::wait () has returned) from an + ACE_Stream destructor, through ACE_Module::close () and + ACE_Task_Base.wait (). Without this change, wait_task () + allocated a copy_table array of size 0. Sun C++ leaked + that array, according to Purify. + + * ace/Service_Config.*,Object_Manager.cpp: moved static + ACE_Service_Config::signal_handler_ to Object_Manager. + + * include/makeinclude/rules.local.GNU (show_statics,show_uninit): + added $(TOOLENV) to allow specification of full path to nm. + Thanks to Wei Chiang <chiang@tele.nokia.fi> for this suggestion. + + * include/makeinclude/platform_chorus.GNU: added trailing "/" + to TOOLENV definition, so that it can be empty when not used. + + * ACE-INSTALL.html,include/makeinclude/wrapper_macros.GNU: + added documentation for ACE show_statics and show_uninit targets. + These are only supported with g++. + +Fri Oct 31 00:53:52 1997 <irfan@TWOSTEP> + + * The following five changes were suggested by Stephen Coy + <stevec@wsa.com.au>. Thanks Stephen. + + * ace/OS.h (ACE_CLASS_IS_NAMESPACE): Changed friend + ace_dewarn_gplusplus to friend class ace_dewarn_gplusplus. + + * ace/Malloc_T.h: Move the #include files to just after the + declaration of the macros, otherwise Containers.cpp will be + #included before the definition of the various allocator macros + (such as ACE_ALLOCATOR_RETURN) have been seen (when + ACE_TEMPLATES_REQUIRE_SOURCE is defined). + + * ace/Hash_Map_Manager.cpp (close_i): Changed &table[i] to + &table_[i]. + + * ace/Containers.h: The ACE_Node destructor needs to be publicly + accessible in order to support the + ACE_HAS_HPUX_ACC_BROKEN_TEMPLATE_DESTRUCTOR fix. Unfortunately, + making the template function + ACE_Destructor_Template_For_HPUX_aCC_Only a friend does not seem + to work (although it should). + + * ace/ACE.cpp (ldfind): Changed path_entry from char* to + const char*. + + * tests/Priority_Reactor_Test.cpp (main): Fixed auto_ptr usage. + Thanks to Jack Erickson (jack@pinion.com) for pointing this out. + + * ace/OS.h (ACE_CLASS_IS_NAMESPACE): Changed the macro to not + include the destructor. This causes undefined destructor + problems on Win32. Also added ACE_UNIMPLEMENTED_FUNC macros + around the remain functions. + +Thu Oct 30 21:22:47 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/Makefile: added auto Svc_Conf_[ly].cpp patches. + + * etc/Svc_Conf_[ly].cpp.diff,README: the ace/Svc_Conf_[ly].cpp + patches, and instructions for updating them. + +Thu Oct 30 19:54:50 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.3.34, released Thu Oct 30 19:54:50 1997. + +Thu Oct 30 17:49:56 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * tests/Priority_Task_Test.cpp (main): Moved "int status" out of + the #if defined (ACE_HAS_THREADS) so that it will compile when + the platform *doesn't* have threads. + + * ace/Synch_T.i (ACE_TSS): Added a missing ':' that was causing + problems on platforms that lack threads. Thanks to Laura + Paterno <lpaterno@d0chb.fnal.gov> for helping to track this + down. + + * ace/Signal.cpp (register_handler): Make sure not to use + SA_SIGINFO if we're running on LynxOS. At some point, we'll + want to generalize this, once enough OS platforms support POSIX + real-time signals. Thanks to Kirill.Rybaltchenko + <Kirill.Rybaltchenko@cern.ch> for reporting this. + + * include/makeinclude/platform_chorus.GNU (CXX): Replaced + DCFLAGS += -g with DCFLAGS += -gstabs+. Thanks to + Wei Chiang for this. + + * ace/OS.cpp: It's not valid to set the NULL_key to anything other + than implicit initialization. In particular, if we set it to -1 + it breaks on pthreads systems... Thanks to Check Gehr for + reporting this. + + * ace/config-irix5.3*++.h: Added ACE_NEEDS_SYSTIME_H. Thanks to + Laura Paterno <lpaterno@d0chb.fnal.gov> for reporting the + problem. + + * ace/OS.h: Moved the unistd.h files back down to where + they originally were defined since this was unnecessary. + + * include/makeinclude/platform_chorus.GNU (CXX): Replaced + DCFLAGS += -g with DCFLAGS += -gstabs+. Thanks to + Wei Chiang for this. + +Thu Oct 30 17:41:19 1997 James C Hu <jxh@lambada.cs.wustl.edu> + + * ace/OS.h: Stray semi-colon removed from ACE_CLASS_IS_NAMESPACE + macro. + +Thu Oct 30 17:04:52 1997 <irfan@TWOSTEP> + + * ace/OS.h (ACE_CLASS_IS_NAMESPACE): Changed the macro to not + include the destructor. This causes undefined destructor + problems on Win32. Also added ACE_UNIMPLEMENTED_FUNC macros + around the remain functions. + +Thu Oct 30 10:50:21 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * ace/OS.h: Added new macro--ACE_CLASS_IS_NAMESPACE ()--to + designate that a class is being used as a pseudo-namespace. It + declares private CTOR, Copy CTOR, and DTOR, as well as a friend + declaration in order to de-warn on g++. Typical usage would be + something like: + + class FooBarNamespace + { + ACE_CLASS_IS_NAMESPACE (FooBarNamespace); + + public: + static ... + }; + + The ACE_OS class has been updated to use this. + + * ace/ACE.h: Updated class ACE to use the new + ACE_CLASS_IS_NAMESPACE (). + + * ace/OS.i (getopt): Changed ACE_LACKS_SOME_POSIX_PROTOTYPES back + to ACE_LACKS_POSIX_PROTOTYPES so that a clean build on Linux is + achievable now. + (msgsnd): Corrected errant spelling from + ACE_LACKS_POSIX_SOME_PROTOTYPES to + ACE_LACKS_SOME_POSIX_PROTOTYPES. + +Thu Oct 30 06:14:58 1997 David L. Levine <levine@cs.wustl.edu> + + * Makefile,ACE-INSTALL: removed ACE-INSTALL from CVS control. + It will only be created when a release is made in + /project/adaptive/ACE_wrappers, and not put under CVS control. + + * ace/Manager_Object.h: added ACE_INLINE specifier to + get_preallocated_object/array declarations. Thanks to + Torbjorn Lindgren <tl@funcom.no> for reporting this. + + * ace/Synch.cpp: removed duplicate + ACE_Write_Guard<ACE_RW_Thread_Mutex> instantiation. Thanks to + Torbjorn Lindgren <tl@funcom.no> for reporting this. + + * tests/Conn_Test.cpp: fixed template instantiation pragmas. + Thanks to Torbjorn Lindgren <tl@funcom.no>, again. + + * tests/SPIPE_Test.cpp: replaced ACE_UNUSED_ARG of client and server + with conditional compilation of those functions. Thanks to + Torbjorn Lindgren <tl@funcom.no> for snagging this. + + * ace/OS.{h,cpp},Object_Manager.cpp (tss_open,tss_close): removed + tss_open () dynamic allocation option because it wasn't used. + Removed tss_close() because it was a no-op without tss_open () + dynamic allocation. + + * ace/OS.cpp (tss_open): On VxWorks, don't check for 0 tss_base (). + It's not always 0 on program startup, especially if a program + has been previously run by the shell directly, without spawning + a new task to run it. + + * ace/OS.*: added ACE_TSS_EMULATION support for non-scalar + ACE_thread_key_t. Thanks to Chuck Gehr <gehr@sweng.stortek.com> + for motivating this. + + * ace/config-mvs.h: added ACE_HAS_NONSCALAR_THREAD_KEY_T. It + is only used with ACE_HAS_TSS_EMULATION, which currently is + not supported on MVS. + + * ace/OS.cpp (ACE_Thread_Adapter::invoke): cleaned up this function. + +Thu Oct 30 03:25:13 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * ace/Hash_Map_Manager.cpp (close_i): Can't use ACE_DES* + template. Have I been here before? + +Thu Oct 30 03:03:41 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * ace/Hash_Map_Manager.cpp (close_i): Changed to use ACE_DES* macros. + + * ace/OS.h: Moved ACE_Allocator related macros to Malloc_T.h + + * ace/Malloc_T.h: Moved ACE_Allocator related macros from OS.h. + Added two macros ACE_DES_NOFREE and ACE_DES_NOFREE_TEMPLATE to + call objects' destructors explicitly. This is required to + take care of some "broken" compilers. Thanks to Stephen Coy + <stevec@magna.com.au> for providing the fix for HP-UX aCC. + + * ace/README: + * ace/config-hpux-10.x-hpc++.h: Added flag + ACE_HAS_HPUX_ACC_BROKEN_TEMPLATE_DESTRUCTOR. + +Thu Oct 30 02:56:25 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.3.33, released Thu Oct 30 02:56:25 1997. + +Thu Oct 30 01:03:21 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * ace/LOCK_SOCK_Acceptor.cpp: Added a #include of "ace/Synch.h" so + that the Conn_Test.cpp will compile on HP/UX. Thanks to Stephen + Coy <stevec@magna.com.au> for reporting this. + +Wed Oct 29 22:55:15 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * ace/config-vxworks5.x-g++.h: + * ace/config-unixware-2.1.2-g++.h: + * ace/config-unixware-2.01-g++.h: + * ace/config-sunos5.5-g++.h: + * ace/config-sunos5.4-g++.h: + * ace/config-sunos4-g++.h: + * ace/config-osf1-4.0.h: + * ace/config-osf1-4.0-g++.h: + * ace/config-linux.h: + * ace/config-linux-pthread.h: + * ace/config-linux-lxpthreads.h: + * ace/config-irix6.x-g++.h: + * ace/config-irix5.3-g++.h: + * ace/config-hpux-10.x-g++.h: + * ace/config-gcc-2.7.2.h: + * ace/config-freebsd.h: + * ace/config-freebsd-pthread.h: + * ace/config-chorus.h: + * ace/config-aix-4.1.x.h: + * ace/README: Removed ACE_HAS_BROKEN_EXPLICIT_TEMPLATE_DESTRUCTOR. + It is no longer in use. + +Wed Oct 29 21:12:55 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * ace/README: Added a new macro called ACE_LACKS_SOCKET_BUFSIZ, + which is enabled on VxWorks. + + * ace/OS.h: Added a new macro called + ACE_DEFAULT_MAX_SOCKET_BUFSIZ, which is set to 65536. + + * ace/OS: Changed the tolower() method to to_lower() so that it + won't conflict if there's a macro with the same name. + + * ace/OS.h: #include <unistd.h> before ACE_Time_Value as long as + ACE_LACKS_UNISTD_H is false. Added this flag to the VxWorks and + Win32 config.h files. + + * ace/OS.h: Added a special #define for IRIX5, which seems to put + timeval in a strange file... Also, moved this #include to + *before* ACE_Time_Value. Thanks to Carlos O'Ryan for suggesting + this and to Laura Paterno <lpaterno@d0chb.fnal.gov> for + reporting the problem in the first place. + + * ace: Changes all uses of the overly long + ACE_LACKS_POSIX_PROTOTYPES_FOR_SOME_FUNCS to + ACE_LACKS_SOME_POSIX_PROTOTYPES. However, I'm not really sure + how this relates to the ACE_LACKS_POSIX_PROTOTYPES macro. I + suspect we probably only need one of these... + + * ace/OS.h: Added a new ACE_HAS_STDARG_THR_DEST to handle + weirdness with LynxOS. Thanks to Kirill.Rybaltchenko + <Kirill.Rybaltchenko@cern.ch> for reporting this. + + * ace: OS.h,config-lynxos.h: Added a new ACE_LACKS_GETOPT_PROTO + for LynxOS. Thanks to Kirill.Rybaltchenko + <Kirill.Rybaltchenko@cern.ch> for reporting this. + + * ace/config-lynxos.h: Replaced + ACE_LACKS_POSIX_PROTO_FOR_SOME_FUNCS with + ACE_LACKS_POSIX_PROTOTYPES_FOR_SOME_FUNCTIONS. Thanks to + Kirill.Rybaltchenko <Kirill.Rybaltchenko@cern.ch> for reporting + this. + +Wed Oct 29 22:17:03 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * ace/config-hpux-10.x-hpc++.h (ACE_HAS_TEMPLATE_SPECIALIZATION): + Moved to C++ section. Restored ACE_TEMPLATE_REQUIRE_SOURCE in + C++ section. Thanks to Stephen Coy <stevec@magna.com.au> for + providing the fix (patiently.) + +Wed Oct 29 20:30:55 1997 James C Hu <jxh@lambada.cs.wustl.edu> + + * ace/OS.i (strlen): Moved it earlier so that it would be declared + inline before use. + + * ace/OS.i (strcasecmp): Removed spurious semi-colons (how did + they get in there?). + +Wed Oct 29 18:51:12 1997 Darrell Brunsch <brunsch@cs.wustl.edu> + + * ace/OS.{h,i}: Added strcasecmp functionality for NT + +Wed Oct 29 15:56:01 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/OS.cpp: replaced ACE_TSS_REF_TABLE with a reference count to + remove dynamic allocation from ACE_TSS_Info. Also, enabled call + of ACE_Task close hook before calling TSS destructors. + + * ace/OS.cpp: changed a few TSS 0 keys to ACE_OS::NULL_key. + + * ace/Thread_Manager.cpp (ace_thread_manager_adapter): with + TSS_EMULATION, moved the call of tss_close () from here to + ACE_Thread_Adapter::invoke () so that it can be called after + the task's close hook, if any. + + * ace/{OS.h,Log_Msg.h,Object_Manager.cpp} (cleanup_tss): added + an argument to indicate whether the main thread is calling or not. + + * ace/OS.i (ACE_TSS_Emulation::next_key): start key values at + 0 instead of 1, because it's easier to deal with arrays of + keys then. That also corresponds with the starting key value + on Windows NT. + + * ace/IOStream.h: DEC_CXX #includes now depend on compiler version. + Thanks to James Johnson <jcej@lads.com> for providing the fix. + +Wed Oct 29 10:32:16 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/config-lynxos.h: fixed ACE_LACKS_POSIX_PROTOTYPES_FOR_SOME_FUNCS + and added getopt () declaration. + + * include/makeinclude/platform_lynxos.GNU: updated LIBS. + + Thanks to Kirill Rybaltchenko <Kirill.Rybaltchenko@cern.ch> for + the above fixes. + + * etc/purify.solaris2: added another _thrp_exit UMR. + + * include/makeinclude/wrapper_macros.GNU: added login (LOGNAME) + and compiler (CXX) to Purify/Quantify cache names. + +Wed Oct 29 08:40:38 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.3.32, released Wed Oct 29 08:40:38 1997. + +Wed Oct 29 07:39:38 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Synch.cpp: Added an explicit template instantiations for + ACE_Guard<ACE_Process_Mutex>. + + * ace/LOCK_SOCK_Acceptor.h: Removed the typedef of + ACE_SOCK_Acceptor with a full expansion of the name to fix a G++ + bug. + + * tests/Conn_Test.cpp: Fixed a template instantiation problem. + + * ACE-INSTALL.html: Pointed out that ACE is ported to LynxOS and + Chorus. + + * ACE-INSTALL.html: Added information about cloning that explains + how you must to build a config.h and platform_macros.GNU in + cloned directory. Thanks to Arturo for this. + + * bin/Makefile: Added + $(ACE_ROOT)/include/makeinclude/platform_macros.GNU to Makefile + so we can compile clone on any ACE platform. Thanks to Arturo + for this. + + * include/makefiles: Added new platform file for SCO UNIX with + nothreads. Thanks to Arturo for this. + + * ace: Added new config files for SCO UNIX with nothreads. + Thanks to Arturo for this. + + * apps/JAWS/server/HTTP_Server.cpp: Fixed the typedef for + ACE_LOCK_SOCK_Acceptor. Thanks to Hans Rohnert for reporting + this. + + * tests/Conn_Test.cpp: Changed template instantiations from + SOCK_ACCEPTOR to LOCK_SOCK_ACCEPTOR. Thanks to Han Rohnert for + reporting this. + +Wed Oct 29 02:10:37 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.3.31, released Wed Oct 29 02:10:37 1997. + +Wed Oct 29 01:25:54 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> + + * tests/Conn_Test.cpp: Modified Conn_Test to fully integrate + Irfan's new LOCK_SOCK_Acceptor. This new implementation is + truly the "mother of all Conn_Tests" ;-). + + * ace/LOCK_SOCK_Acceptor.cpp (lock): Added a lock() accessor + method to the new ACE_LOCK_SOCK_Acceptor so that we can remove + the lock (somehow). + +Wed Oct 29 00:29:52 1997 <irfan@TWOSTEP> + + * apps/JAWS/server: Fixed Win32 related compilation errors. + + * ace/OS.h (SIGUSR1 and SIGUSR2): Added new defines for these two + signals. + + * ace/LOCK_SOCK_Acceptor: New class added to ACE (it was + originally a class in JAWS). It specialize ACE_SOCK_Acceptor to + lock around <accept>. This class is particular useful if you + want to have multiple threads accepting on the same endpoint and + the system does not support have thread safe accept. Thanks to + James Hu who initially wrote this class for JAWS. Thanks also + to Johannes Gutleber <Johannes.Gutleber@cern.ch> who decided to + use this in the Conn_Test. + + * tests/Conn_Test.cpp: Updated to use the new LOCK_SOCK_Acceptor. + + * apps/JAWS/server/HTTP_Server.h: Updated to use the new + LOCK_SOCK_Acceptor. + + * apps/JAWS/server/HTTP_Server_T.*: These files are no longer + necessary since this class has been absorbed into ACE. + + * tests: Fixed auto_ptr use in: + + Notify_Performance_Test.cpp + Priority_Reactor_Test.cpp + Reactor_Performance_Test.cpp + + Thanks to Jack Erickson (jack@pinion.com) for pointing this out. + +Tue Oct 28 11:26:39 1997 Nanbor Wang <nw1@CHA-CHA> + + * ace/ace_{dll,lib}.dsp: Moved Acceptor.cpp from Source file + folders to Template file folders. Thanks to Satheesh Kumar + <satheesh@aspectdv.com> for pointing this out. + +Tue Oct 28 05:44:56 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/OS.cpp (thr_create): use pthread_attr_setprio instead of + *_setsched with DCETHREADS, and check return values of + ACE_OS::thr_[gs]etconcurrency (). Thanks to Stephen Coy + <stevec@magna.com.au> for tracking these problems down. + + * tests/Priority_Task_Test.cpp (svc): removed ACE_ASSERT and + replaced with setting of error flag. This allows the test + to continue and gather more possibly useful information. + + * tests/Conn_Test.cpp: 1) Added template instantiations. + 2) Re-enabled with DEC_CXX. 3) Removed THR_DETACHED flags. + + * include/makeinclude/platform_osf1_4.0.GNU: suppress warnings + about unreachable statments. + + * ACE-INSTALL.html: Conn_Test now runs with DEC_CXX 6.0. + +Tue Oct 28 00:38:58 1997 <irfan@TWOSTEP> + + * ace/Strategies_T: + + ACE_Recycling_Strategy - Added new class ACE_Recycling_Strategy. + It defines the interface (and default implementation) for + specifying a recycling strategy for a SVC_HANDLER. This + strategy acts as a consular to the Svc_Handler, preparing it for + the tough times ahead when the Svc_Handler will be recycled. + + ACE_NOOP_Concurrency_Strategy - Added new class + ACE_NOOP_Concurrency_Strategy. It implements a no-op activation + strategy in order to avoid calling open on a recycled + svc_handler multiple times. + + ACE_Cached_Connect_Strategy - Added a ACE_Creation_Strategy, + ACE_Concurrency_Strategy, and ACE_Recycling_Strategy to the + cached connector. This gives it more flexibility than by simply + providing template methods. This is similar to the Strategy + Connector. + + ACE_Cached_Connect_Strategy - Added new template methods for + certain key occasions in the cached connector: make_svc_handler, + activate_svc_handler, assign_recycler, and + prepare_for_recycling. + + * tests/Conn_Test.cpp (client): Updated the tests such that it + uses a null activation strategy. + +Mon Oct 27 22:17:54 1997 Aniruddha Gokhale <gokhale@mambo.cs.wustl.edu> + + * OS.h: Added the ACE_NESTED_CLASS macro to deal with those + compilers that do not allow a fully scoped type name appearing + inside a scope in which it was defined. + +Mon Oct 27 22:17:32 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/Thread_Manager.cpp (exit): don't use the cache when finding + the thread ID. The cache is in the ACE_Log_Msg instance, and + it might have been deleted already. + +Mon Oct 27 20:33:07 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.3.30, released Mon Oct 27 20:33:07 1997. + +Mon Oct 27 18:03:06 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * ACE-INSTALL.html (HREF): Added NT/Alpha to supporting platforms + list. Added hyperlink to ACE newsgroup. Added hyperlink to + FreeBSD homepage. Minor changes to Win32 intstallation guide. + +Mon Oct 27 17:50:16 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> + + * include/makeinclude/platform_sco5.0.0-fsu-pthread.GNU (PRELIB): + Changed PRELIB in platform_sco5.0.0-mit-pthread.GNU, + platform_sco5.0.0-fsu-pthread.GNU to @true, so we can generate + the TAO_IDL compiler. Thanks to Arturo Montes + <mitosys@colomsat.net.co> for reporting this. + +Mon Oct 27 14:26:10 1997 <irfan@TWOSTEP> + + * ace/Synch_T (ACE_TSS): When ACE does not have thread specific + storage, ACE_TSS will be a simple pointer holder. Previously, it + had a instance as a member, now it has a pointer to an instance. + + * ace/WFMO_Reactor.cpp (update_state): Fixed a bug in the + WFMO_Reactor. wakeup_all_threads() used to be an internal + method that was called when changes were made to the state of + the reactor. When wakeup_all_threads() became public, there was + no code in place to handle explicit user wakeups. In + particular, the wakeup_all_threads event was never reset. + Thanks to Evgeny Beskrovny <evgeny_beskrovny@icomverse.com> for + pointing out this bug. + + * ace/OS.i (ACE_FAIL_RETURN): Added mapping from + ERROR_PATH_NOT_FOUND to ENOENT. Thanks to David Brackman + <dbrackma@OhioEE.com> for suggesting this. + +Mon Oct 27 11:36:39 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/OS.cpp (exit_cleanup_i): removed protection against recursive + calls. This protection no longer is necessary, because + ACE_TSS_Cleanup () is only called by ACE_Thread_Adapter::invoke (). + It was problematic because it used the ACE_Allocator instance. + + * ace/config-vxworks*.h,README: added ACE_LACKS_FCNTL. + + * ace/OS.i,ACE.cpp: replaced #ifdef VXWORKS with #ifdef + ACE_LACKS_FCNTL. + + * ace/ACE.i (get_flags): return 0 if ACE_LACKS_FCNTL. It would + be better to store ACE's notion of the flags associated with + the handle so that they could be returned, but this works for now. + + * tests/run_tests.vxworks: re-enabled Reactors_Test, because it + works with the ACE_LACKS_FCNTL mods. + + * include/makeinclude/platform_osf1_4.0.GNU: -pthread instead of + -lpthread in LIBS. Thanks to James Johnson <jcej@lads.com> for + pointing this out. + + * ACE-INSTALL.html: added info on bin/create_ace_build. + +Mon Oct 27 11:11:33 1997 Nanbor Wang <nw1@CUECA> + + * netsvcs/servers/servers.dsp + * netsvcs/lib/netsvcs.dsp: + * tests/*.dsp: + * ace/ace_{dll,lib}.dsp: Added project configurations for Alpha + machines. Configurations are named by adding "Alpha" in front + of the original config names, e.g., "Win32 Alpha Unicode Debug. + +Mon Oct 27 06:40:18 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * include/makeinclude/rules.local.GNU (show_uninit): Added a + missing semi-colon for one of the install rules. Thanks to + Manojkumar Acharya <mja@cvsf325.gpt.co.uk> for reporting this. + + * ace/Synch_T.h: Make sure that ACE_Guard::remove() calls + this->lock_->remove() rather than this->lock_->release(). + Thanks to Johannes Gutleber <Johannes.Gutleber@cern.ch> for + reporting this. + +Mon Oct 27 00:20:13 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * ace/config-hpux-10.x-hpc++.h: Added directive + ACE_HAS_TEMPLATE_SPECIALIZATION. Thanks to Stephen Coy + <stevec@wsa.com.au> for reporting this. + +Sun Oct 26 22:17:57 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.3.29, released Sun Oct 26 22:17:57 1997. + +Sun Oct 26 20:03:57 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/IPC_SAP.cpp, + ace/IO_SAP.cpp: Make sure that we don't use fcntl() when + we're compiling on VXWORKS since it's not defined... + + * examples/Connection/non_blocking/CPP-connector.cpp: Changed the + method named idle() to uninitialized() since idle() is now + defined on ACE_Svc_Handler. + + * ace/OS.h: Added the TAO_DEFAULT_SERVER_PORT to OS.h. + + * tests/Conn_Test.cpp (cached_connect): Added a new variable + called "n_client_iterations" to control how many times each + client thread tries to connect with the Cached_Connector. + +Sun Oct 26 16:56:32 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * include/makeinclude/platform_linux_lxpthread.GNU (CFLAGS): Added + -pipe to the compile options. + +Sun Oct 26 11:04:21 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/Hash_Map_Manager.cpp (unbind): added ACE_UNUSED_ARG (int_id). + + * tests/Conn_Test.cpp (server): added ACE_UNUSED_ARG (options). + And, added template instantations. + + * tests/Conn_Test.cpp (cached_connect): changed type of loop index i + to int to avoid signed/unsigned comparison. + + * ace/Strategies_T.h: added #include of ace/Strategies.h. Thanks to + James Johnson <jcej@lads.com> for reporting this. + +Sun Oct 26 10:01:01 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * ace/Connector.cpp (open): The original fix failed to replace + strategies under some circumstances. + + * ace/OS.{h,cpp} (sprintf): Removed ACE_OS::sprintf (wchat_t, char). + It didn't ever work. + + * ace/Connector.cpp (open): Added check if we had previously + allocated various strategies and deleted these objects before + allocating new objects. The original codes caused memory leaks + and possible segmentation faults if it got called twice. We + probably need a do-nothing constructor (the current constructor + calls open.) However, this may break other codes. + +Sun Oct 26 01:00:07 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.3.28, released Sun Oct 26 01:00:07 1997. + +Sun Oct 26 00:50:00 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> + + * tests/Conn_Test.cpp (close): Since the connect() method on + ACE_Connector closes the svc_handler if failure occurs, we + shouldn't do that again unless we succeed in connecting. + + * ace/OS.h: Moved the CORBA portability macros from + CORBA_Handler.h into OS.h so they will be accessible from TAO. + + * ace/Filecache.cpp (finish): Replaced filename_ with filename() + so that "const correctness" would work with template + specialization. Go figure! + + * TAO/tests/IDL_Cubit/Makefile: Enhanced the "realclean" target to + remove the generated IDL stubs and skeletons. + + * ace/OS.cpp (ace_sysconf_dump): Made a minor change to OS.cpp + to fix some typos. Thanks to Wei Chiang <chiang@tele.nokia.fi> + for reporting this. + +Sun Oct 26 00:06:17 1997 <irfan@TWOSTEP> + + * ace/Strategies_T.cpp (~ACE_Cached_Connect_Strategy): Must set + recycler to 0 before calling close, else the svc_handler will + try to purge itself from the cache. + + * tests/Conn_Test.cpp (client): Updated to use the new connection + recycling scheme. + + * ace/Hash_Map_Manager: + + - ACE_Hash_Map_Reverse_Iterator: Added reverse iterator. + + - ACE_Hash_Map_Entry: Added a prev pointer to the entry. Thus + changing the bucket chains into doubly linked lists. Because of + this, it was necessary to change the way the list was being + managed. Sentinels were created for each bucket. + + This also changed (a) the way the iterators worked, (b) made it + easy to delete entries when you have one (this scheme allows the + entries to be easily used as ACTs). + + - New methods (bind, trybind, rebind, find): These methods allow + the users to get access to ACE_Hash_Map_Entry of the node in + question. This allows the user to treat the entry as an ACT and + get access to the key (in case the user is interested in + changing the key). These methods are only valid since the + implementation of Hash_Map_Manager uses linked lists where nodes + are never copied. These methods cannot be added to Map_Manager + since it uses an array of nodes, where the your data may get + copied to another node when the size of the Map_Manager changes. + + * ace/Strategies (ACE_Connection_Recycling_Strategy): Added a new + abstract strategy for recycling connections. + + * ace/Strategies_T: + + - ACE_Cached_Connect_Strategy: ACE_Cached_Connect_Strategy now + implements the ACE_Connection_Recycling_Strategy interface. + This allows Svc_Handlers to cache themselves with + ACE_Cached_Connect_Strategy when they become idle. It also + allows them to purge themselves from the connection cache when + the Svc_Handlers close down. + + Also added ~ACE_Cached_Connect_Strategy that will cleanup up the + connection cache. + + - ACE_Hash_Addr: ACE_Hash_Addr is the key for the hash map used by + ACE_Cached_Connect_Strategy. Previously it kept the Svc_Handler + pointer in the key in order to find out if it was busy or not. + Now the <in_use> flag has been moved from the Svc_Handler into + the key. The also saves the Hash_Addr from requiring + Svc_Handler as a template parameter. + + Also updated ACE_Hash_Addr::operator== such that if the + Svc_Handler is busy, it does not bother to check compare the + addresses but simply returns false. + + * ace/Svc_Handler.cpp: Added the ability for a Svc_Handler to + recycle itself. idle() can be called when the Svc_Handler is + done serving a particular connection and can how be recycled. + The Svc_Handler now also has a pointer to a recycler that is + responsible for managing the connections. The recycler is + usually a Cached_Connector. + + * ace/Filecache.cpp (ACE_Hash_Map_Entry): Added a new constructor + specialization as the ACE_Hash_Map_Entry now has two + constructors. + + * tests/Hash_Map_Manager_Test.cpp (ACE_Hash_Map_Entry): Added a + new constructor specialization as the ACE_Hash_Map_Entry now has + two constructors. + + * tests/Reactor_Exceptions_Test.cpp (class My_Reactor): Added the + other handle_events method. Thanks to Stephen Coy + (coys@mail.ns.wsa.com.au) for pointing this out. + + * ace/Strategies_T.cpp (hash_i): This default routine is no good. + It uses a complicated scheme that calculate a hash value. + Unfortunately, there is no guarantee that this hash algorithm + will produce the same hash value for the same address. + Therefore, it is better just to return a consistent hash value + rather than an erroneous one. I have choosen 0 of the return + value. Even though this will cause all the entries to be hashed + to the 0 bucket, atleast they will be found. Users should + override this to provide better hashing. + + (compare_i): Memcmp is not the correct default action. + !(b1==b2) is the correct comparison, though this will assume + that the addresses will have a comparison operation. + + * ace/Mem_Map.cpp (close and close_handle): close() is doing too + much. It is closing the handle and unmapping the file. + Changing this method might effect code that depends on this + behavior. Therefore, we create a seperated method + close_handle() that only closes down the handle, and does not + unmap the file. Thanks to Jeff Richards (jrichard@OhioEE.com) + for pointing this out. + + * ace/Strategies_T.cpp (connect_svc_handler): If connect() failed + because of timeouts, we have to reject the connection entirely. + This is necessary since currently there is no way for the + non-blocking connects to complete and for the <Connector> to + notify the cache of the completion of connect(). Therefore if + errno is EWOULDBLOCK, it is changed to ENOTSUP and -1 is + returned. + +Sat Oct 25 17:41:57 1997 Sergio Flores <sergio@macarena.cs.wustl.edu> + + * examples/Timer_Queue/Thread_Timer_Queue_Test.cpp: + * examples/Timer_Queue/Async_Timer_Queue_Test.cpp: + * examples/Timer_Queue/Reactor_Timer_Queue_Test.cpp: + * examples/Timer_Queue/main_async.cpp: + * examples/Timer_Queue/main_reactor.cpp: + * examples/Timer_Queue/main_thread.cpp: + Added "#pragma instantiate" for template instantiations on + platforms that use pragmas instead, like SGI. + +Sat Oct 25 4:44:00 1997 Carlos O'Ryan <coryan@cs.wustl.edu> + + * Today at 06:44 hours (Santiago, 04:44 St. Louis) Fernanda O'Ryan + has joined the ACE family. She was born 3040 gr in weight and + 50 cm length. She has absolutely no experience in CORBA, C++ or + programming in general. Therefore, she is the ultimate Java + programmer. + +Sat Oct 25 10:13:56 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/Singleton.h: added comment about best ACE_LOCK types to use. + + * Makefile (TIMESTAMP): replace tab with spaces in ChangeLog entry. + + * tests/Conn_Test.cpp (main): fixed typo, spawn_threads instead of + spawn_thread. Also, protected definitions of spawn_processes () + and spawn_threads () to avoid compiler warnings about unused static + functions. + +Sat Oct 25 01:02:34 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.3.27, released Sat Oct 25 01:02:34 1997. + +Fri Oct 24 17:39:08 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> + + * ace/ACE.cpp: Changed all the ACE_BIT_ENABLED () == 0 macros to + ACE_BIT_DISABLED() since the logic is clearer. + + * ace/SOCK_Acceptor.cpp (shared_accept): Improved the handling of + timed accepts. The original implementation was prone to race + conditions if there were multiple processes all doing timed + connects on the *same acceptor socket*! That's because select() + and accept() are not performed atomically. Now, we're smarted + about handling this... + + * tests/Conn_Test.cpp: Simplified the shutdown logic, which + appeared to have race conditions. + + * tests/Conn_Test.cpp: Modified this test to spawn off a number of + server processes, all of which will listen for connections on + the same acceptor port. This demonstrates a useful idiom for + writing connection-oriented concurrent server pools. + + * netsvcs/lib/Server_Logging_Handler_T: Fixed this code so that if + we're on an HP/UX that has broken templates we don't use the + Base_Optimizer. Thanks to Per Andersson for providing this fix. + + * ace/Thread_Manager: Added a destructor for ACE_Thread_Descriptor + to keep some compilers happy. Thanks to Chuck Gehr + <gehr@sweng.stortek.com> for reporting this. + + * ace/Task.cpp (ACE_Task_Base_cleanup): Changed + ACE_Task_Base::cleanup (object); + + to: + + ACE_Task_Base::cleanup (object, 0); + + Thanks to Chuck Gehr <gehr@sweng.stortek.com> for reporting + this. + + * ace/Thread_Manager.cpp (find_thread): Fixed another problem with + == being used to compare threads rather than + ACE_OS::thr_equal(). Thanks to Chuck Gehr + <gehr@sweng.stortek.com> for reporting this. + +Fri Oct 24 17:11:14 1997 Sergio Flores <sergio@polka.cs.wustl.edu> + + * Thread_Timer_Queue_Test.cpp (shutdown_timer): added logic to + cancel preemptively or voluntarily, the dispatching thread, + depending on whether the platoform supports pthread_cancel(). + + * Timer_Queue_Adapters.cpp (ACE_Thread_Timer_Queue_Adapter): Added + initialization of <active_> flag to 1, active mode. We assume + we start in active mode. Added an internal variable <thr_id_> + that stores the thread id of the currently running thread. The + motivation behind this is to be able to cancel this thread + whenever we are shutting down. It is initialized to + ACE_OS::NULL_thread. + + * Timer_Queue_Adapters.cpp (svc): Assign the <thr_id_> with the + current running thread ID, using ACE_Thread::self (). + + * Timer_Queue_Adapters.h (ACE_Thread_Timer_Queue_Adapter): Added + default <ACE_Thread_Manager> to be + ACE_Thread_Manager::instance() + + * Timer_Queue_Adapters.h (activate): Override the default + <activate> method to be able to enforce one thread of execution + per timer queue. Does make much sense to have more than one + managing the timer queue, and like Doug said too many weird + things can happen... + + * Timer_Queue_Adapters.i (thr_id): Added this method to access the + thread ID of this task. + + * Timer_Queue_Adapters.i (activate): Call + ACE_Task_Base::activate() with n_threads = 1 to ensure that a + single thread is spawned. + +Fri Oct 24 10:00:02 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * ace/Thread_Manager.cpp (wait_grp): Fixed a bug. Should wait on + threads with same grp_id, not task. + +Fri Oct 24 09:24:14 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/Select_Reactor.cpp (open): cast return value of + ACE_::max_handles () to size_t to avoid signed/unsigned comparison. + + * ace/Singleton.cpp,Object_Manager.{h,cpp}: (get_singleton_lock): + dynamically allocate ACE_Thread_Mutex and ACE_RW_Thread_Mutex locks, + so we end up with one lock per ACE_Singleton instantiation. + + * ace/OS.cpp (ACE_TSS_Info, Win32 and VxWorks only): changed type + of ACE_TSS_TABLE from ACE_Unbounded_Stack to fixed-size ACE_Array. + With this change, we avoid some use of ACE_Allocator when + destroying TSS objects. There are two more changes required to + completely remove the ACE_Allocator use. + + * tests/TSS_Test.cpp (worker): added printout of iteration count. + +Fri Oct 24 01:53:58 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.3.26, released Fri Oct 24 01:53:58 1997. + +Thu Oct 23 19:05:08 1997 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu> + + * netsvcs/clients/Naming/Client/Makefile + netsvcs/clients/Naming/Dump_Restore/Makefile + + The lines: + + SHLIB = libClient_Test.so + SHLIB = libDump_Restore.so + + need to be + + SHLIB = libClient_Test.$(SOEXT) + SHLIB = libDump_Restore.$(SOEXT) + + Thanks to Stephen Coy <stevec@magna.com.au> for reporting this. + + * ace/Thread_Manager.cpp (find_hthread): Replaced the call + + if (iter.next ()->thr_handle_ == h_id) + + to + + if (ACE_OS::thr_equal (iter.next ()->thr_handle_, h_id)) + + since the other one isn't portable to Pthreads. Thanks to + Stephen Coy <stevec@magna.com.au> for reporting this. + + * ace/Hash_Map_Manager.cpp: Removed the sentinel in the + Hash_Map_Manager. Sentinels are evil since they require us to + hold write locks, even when we're doing finds! + + * ace/ACE.cpp (max_handles): By default, we now try to use the + getrlimit() function before sysconf() since sysconf() doesn't + work "correctly" for NO _SC_OPEN_MAX (i.e., it just returns the + original value, which might have been changed by setrlimit(). + What a pain... + + * ace/ACE.cpp (max_handles): If FD_SETSIZE is enabled return + this as the number of handles. This isn't perfect, but it's + probably better than returning -1. + + * ace/Select_Reactor.cpp (open): Added a call to + ACE::set_handle_limit() if the requested size for the Reactor is + greater than the current max number of descriptors in the + process. Also check to make sure that the user isn't ask for + more than the FD_SETSIZE. Thanks to Neil Lavelle + <nlavelle@imcl.com> for motivating this. + + * ace/Thread_Manager: Changed the name THR_FUNC to + ACE_THR_MEMBER_FUNC since it's now a global typedef on VxWorks + and we don't have to have clashes with other names. + + * ace/Thread_Manager.h: There are mutually incompatible bugs with + VxWorks and MVS. Therefore, we have to conditionally compile + the THR_FUNC differently for these two platforms. Thanks to + Chuck Gehr <gehr@sweng.stortek.com> for reporting this. + + * ace/OS.cpp (thr_create): Added a fix to set the Chorus stack + size correctly. Thanks to Wei Chiang <chiang@tele.nokia.fi> for + reporting this. + + * ace/OS.cpp: Added a new method ace_sysconf_dump() to dump the + state of the configuration. Thanks to Wei Chiang + <chiang@tele.nokia.fi> for reporting this. + + * ace/Singleton.cpp (dump): There was a typo in the dump() method + for ACE_TSS_Singleton, it should be + ACE_TSS_Singleton::instance_i(). I've fixed this. + +Thu Oct 23 23:19:24 1997 James C Hu <jxh@lambada.cs.wustl.edu> + + * ace/Filecache.cpp: Removed template method specialization of + shared_find. No longer needed since Hash_Map_Manager has been + changed to no longer rely on sentinel_. + + * ace/Thread_Manager.cpp (various): + Hacked 'til it compiled. (Chased down syntax errors.) + +Thu Oct 23 22:52:17 1997 Sergio Flores <sergio@polka.cs.wustl.edu> + + * examples/Timer_Queue/Thread_Timer_Queue_Test.cpp (shutdown_timer): + Added a line to call the cancel method on the timer queue task + when we are shutting down; this is wrapped around #if's to only + include this only when the platformm supports pthread_cancel(). + + * ace/Timer_Queue_Adapters.cpp (svc): Added some POSIX thread + cancellation points to make sure the mutex that the condition + variable uses is unlocked before the thread is cancelled. + + * examples/Timer_Queue/Thread_Timer_Queue_Test.cpp (list_timer): + Deleted unnecessary cancellation points. Since we are not + blocking on a condition variable, we don't need to guard the + code. + +Thu Oct 23 22:07:03 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * ace/Thread_Manager.cpp (wait_task,wait_grp): We should also + check for thread creation flags when collection information for + threads belong to this group and don't try to join those threads + created with THR_DETACHED or THR_DAEMON. + +Thu Oct 23 21:22:16 1997 Darrell Brunsch <brunsch@cs.wustl.edu> + + * ACE-INSTALL.html: Copied some documentation about makefile flags + from include/makeinclude/wrapper_macros.GNU and added a section + for this. + +Thu Oct 23 20:37:44 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/Array.*: added ACE_Array_Iterator. + +Thu Oct 23 17:28:11 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * ace/Mem_Map.i (close_filemapping_handle): Moved this above its + uses in the file so that g++ would de-warn. + +Thu Oct 23 15:30:17 1997 Steve Huston <shuston@riverace.com> + + * ace/Timer_Hash_T.h, Timer_Hash.cpp, Timer_Heap_T.h, Timer_Heap.cpp, + Timer_List_T.h, Timer_List.cpp, Timer_Queue_T.h, Timer_Queue.cpp, + Timer_Wheel_T.h, Timer_Wheel.cpp: Replaced all occurences of + ACE_HPUX_BROKEN_TEMPLATES with ACE_HAS_BROKEN_HPUX_TEMPLATES. + +Wed Oct 22 23:23:29 1997 Nanbor Wang <nw1@COYOTE> + + * ace/ACE_Library.*, ace_lib.dsp: Made naming convention uniform + for some less used ACE library. They are called: aced.dll, + ace.dll, aceud.dll, aceu.dll, acesd.lib, aces.lib, aceusd.lib + and aceus.lib. If you are using ACE on NT, you know what they + mean. ;-) + +Wed Oct 22 21:22:35 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/Object_Manager.{h,cpp}: Added support for ACE_RW_Thread_Mutex + ACE_Singleton lock type. Thanks to Nanbor for suggesting this, + because TAO needs it. + + Also, removed at_exit registration of dynamically allocated + ACE_Static_Object_Lock because Object_Manager instance isn't + available for registration when it's created. Instead, handle + this lock as a special case in the Object_Manager destructor. + + * ace/Singleton.cpp,Object_Manager.cpp: check for shutting_down () + as well as starting_up () when deciding whether to use a + preallocated lock. Preallocated locks are not available at those + times. + + * tests/Reactor_Performance_Test.cpp (client): removed declaration + of loop index "i" because it shadowed a local. Also, the loop + index declaration caused a signed/unsigned comparison. + + * ace/Singleton.cpp: temporarily disabled ACE_Guards until + the lock acquistion is fixed. + +Wed Oct 22 17:53:26 1997 Steve Huston <shuston@riverace.com> + + * ace/SOCK_Connector.cpp: In connect(), changed the + (local != ACE_Addr::sap_any) to be value comparison, + not pointer comparison. Works on compilers which construct + temporaries when a const reference is passed (like HP aC++), and + also when a user passes an ACE_Addr which they construct to look + just like an ACE_Addr::sap_any. Thanks to Stephen Coy + <stevec@magna.com.au> for finding this. + +Wed Oct 22 16:43:25 1997 Chris Cleeland <cleeland@tango.cs.wustl.edu> + + * tests/Reactor_Performance_Test.cpp (client): Corrected some code + that wasn't logical (but compiled!) in the connect_n() test. + +Wed Oct 22 13:27:47 1997 Douglas C. Schmidt <schmidt@watusi.cs.wustl.edu> + + * tests/Reactor_Performance_Test.cpp (client): Revised the + connection portion of this test to use the newly revised + connect_n() method on Connector. + + * ace/Connector.cpp (connect_n): Revised the connect_n() method so + that it keeps track of which connections succeeded and which + failed. + +Wed Oct 22 07:23:21 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/OS.i (getpgid): fixed (commented) ACE_TRACE identifer. + Thanks to Eric Newton <ecn@smart.net> for reporting this. + + * ace/Singleton.{h,cpp},Object_Manager.{h,cpp}: moved + ace_singleton_lock_ to Object_Manager. ace_singleton_lock_ + was a static data member: in addition to the usual troubles + associated with being a static, it was a static member of a + template class. g++ can't handle those, so we used a local + static; initialization of that static was not thread safe. + + The fix relies on knowledge from the Object_Manager about + whether the program is in static construction phase or not. + A critical assumption is that construction of static objects + does not spawn threads. With that assumption, we know that + there is only one (main) thread in the program prior to the + Object_Manager instance being constructed. At that time, + locking is not needed. The ACE_{TSS_}Singleton::instance () + methods rely on the state of the Object_Manager: if it has + not been constructed yet, then they don't guard allocation + of their singleton instance. + + The Object_Manager constructs four locks (of types ACE_Null_Mutex, + ACE_Thread_Mutex, ACE_Recursive_Thread_Mutex, and + ACE_RW_Thread_Mutex) for use only by ACE_Singleton classes. + After the Object_Manager has been constructed, ACE_{TSS_}Singleton + instantiations use one of those locks to guard their allocation of + a new instance, via double-checked locking. + + This change has one impact, then: + ACE_{TSS_}Singleton users are limited to the following types + for their ACE_LOCK instantiation parameters: ACE_Null_Mutex, + ACE_Thread_Mutex, ACE_Recursive_Thread_Mutex, and + ACE_RW_Thread_Mutex. If another type is needed, it can be + easily added to the ACE_Object_Manager: another overloaded + get_singleton_lock () function and preallocated lock would + have to be added. + + As noted in Singleton.h, the best types of ACE_LOCKs to use + for instantiating ACE_Singleton are ACE_Recursive_Thread_Mutex + and ACE_Null_Mutex. + + In addition to the above change, I made these two other + changes: + 1) ACE_Static_Object_Lock::instance (): dynamically allocate + a lock if the Object_Manager has not been constructed yet. + This approach replaces the static lock that was necessary + to allow the static services to be constructed. + + 2) Consolidated the singleton_ access in ACE_TSS_Singleton + via a singleton_i () internal accessor function. Now, + ACE_TSS_Singleton looks just like ACE_Singleton. + + * ACE-INSTALL.html: updated DEC CXX 6.0 build/test status. + + * examples/Service_Configurator/IPC-tests/server/Handle_Timeout.i + (handle_timeout): convert arg to long if ACE_HAS_64BIT_LONGS. + + * examples/Shared_Malloc/test_malloc.cpp (worker): convert arg to + long if ACE_HAS_64BIT_LONGS. + + * examples/Timer_Queue/Driver.cpp (run_test,parse_commands): + added ACE_NOTREACHED. + + * examples/Logger/simple-server/Logging_Handler.cpp (handle_close): + removed declaration of unused arg "mask". + + * include/makeinclude/rules.local.GNU: added show_statics and + show_uninit targets. They show the statics (that have static + destructor calls) and uninitialized data in the object files + in the current directory. They work best (or at all) on object + files compiled by g++. + +Wed Oct 22 05:04:07 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.3.25, released Wed Oct 22 05:04:07 1997. + +Tue Oct 21 22:55:36 1997 <irfan@TWOSTEP> + + * ace/WFMO_Reactor: Removed ACE_Event_Handler::CLOSE_MASK and the + explicit registration for the closing of sockets from + WFMO_Reactor. This is essentially for compatibility with UNIX + programs. UNIX does not have a CLOSE_MASK and the notification + of the closing of a socket is implicit in the socket becoming + read ready. Therefore when you register for + ACE_Event_Handler::READ_MASK with WFMO_Reactor, you will + register for FD_READ and FD_CLOSE. When FD_CLOSE is triggered, + handle_input() will be called on the Event_Handler. As on UNIX, + read() will return 0 and the programmer will be able to tell + that the socket has actually closed down. + + Arguably, this is lame for Win32 programmers as they have the + explicit close notification, but portability and existing code + base wins in this case. + + One other change. When an event_handler returns -1 from the + callback, unbind() is called with ALL_EVENTS_MASK rather than + the NULL_MASK. + + The upcall routine still needs to threat the two masks + separately. (FD_CLOSE | FD_READ) will not work as both maybe + simultaneously enabled. Therefore handle_input() maybe be called + twice (once for FD_READ and once for FD_CLOSE) unless the user + returns -1 from the first callback. + + * ace/Event_Handler: Removed the CLOSE_MASK. + + * examples/Logger/simple-server/Logging_Handler.cpp: Minor fixes. + + * examples/Logger/Acceptor-server/server_loggerd.cpp: Minor + changes. No need to register the acceptor with the + Reactor. Acceptor::open() does that. + + * examples/Reactor/ReactorEx/test_network_events: Removed the use + of CLOSE_MASK. + + * tests/Reactor_Performance_Test: Removed the use of CLOSE_MASK. + +Tue Oct 21 21:48:54 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/OS.[hi]: moved ACE_PTHREAD_CLEANUP_PUSH/POP definitions from + OS.i to OS.h. Also, added #ifdef ACE_HAS_PTHREADS protection + before ! defined ACE_LACKS_PTHREAD_CLEANUP so that only PThreads + platforms need add ACE_LACS_PTHREAD_CLEANUP. + + * tests/Notify_Performance_Test.cpp: added #include of + ace/Thread_Manager.h. It's needed on OSF-1. + +Tue Oct 21 21:09:35 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * ace/Memory_Pool.cpp (ACE_MMAP_Memory_Pool): Oops. Souldn't + access options when it is 0. + +Tue Oct 21 12:58:30 1997 Nanbor Wang <nw1@CHA-CHA> + + * ace/Log_Msg.{h,cpp}: (thr_desc): Modified the method so it take + an extra argument of type ACE_Thread_Manager* and uses it to + block execution until thread manager release its lock. + + * ace/Thread_Manager.{h,cpp} (acquire_release): Added this new + method whose only function is to grab the thread manager's + lock. This function ensure that a newly spawned thread won't + try to access its thread descriptor before it is fully built. + + * ace/OS.cpp (inherit_log_msg): Modified to cache the thread + descriptor of spawned thread in TSS Log_Msg after it has been + created and block the execution of new thread until thread + manager releases the lock (i.e., fills in all the information.) + + * ace/OS.h (ACE_Thread_Adapter): Added one more argument of type + ACE_Thread_Descriptor* to the constructor with default value 0. + + * ace/OS.cpp (invoke): If the thread descriptor ptr is not zero + in thread arguemnt, then, we'll wait till the thread manger + fills in the formation and cache the value in TSS Log_Meg. + + * ace/Thread_Manager (spawn_i): Changed to pass in the thread + descriptor of the newly spawned thread to thread adapter so it + can cache it in TSS Log_Msg. This must be created before + spawning the thread. If all goes well, we'll need to append the + thread descriptor into the double-linked list in the thread + manager. + (append_thr): Added a new argument of type Thread_Descriptor* + with default value 0. If we pass in a thread descriptor, + append_thr won't try to create on itself. + +Tue Oct 21 21:34:35 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.3.24, released Tue Oct 21 21:34:35 1997. + +Tue Oct 21 14:14:33 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> + + * examples/Timer_Queue/Thread_Timer_Queue_Test.h: + * examples/Timer_Queue/Thread_Timer_Queue_Test.cpp: + Use the typedef for Upcall to define the base Timer_Queue. + Input_Task inherits from ACE_Task_Base, no need for ACE_Task<> + here. + +Tue Oct 21 13:45:53 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * ace/config-irix6.x-sgic++-nothreads.h: Added ACE_HAS_TERM_IOCTLS + for SGI. Thanks to Jeffrey Peterson + <jpeterson@fallschurch.esys.com> for reporting htis. + + * TAO/tests/Thruput_test/server.cpp (main): Changed BOA_init() + to POA_init(). + +Tue Oct 21 12:58:30 1997 <nw1@CHA-CHA> + + * ace/OS.h (ACE_SINGLETON_DECLARATION): + (ACE_SINGLETON_INSTANTIATION): + (ACE_SVC_SINGLETON_DECLARATION): + (ACE_SVC_SINGLETON_INSTANTIATION): Added these new macros. Each + of them takes one argument which is the ACE_Singleton class. + All these craps are needed because MSVCs very kindly instantiate + the template codes for you. This ends up producing two + ACE_Singleton objects, one in DLL and one in user program. What + these macros do is to supress the template code instantiation in + user program and force compilers to instantiate these codes in + DLL. On other platforms, these macros simply expand to empty + strings. Here is a simple use case. Say we have a class + called <foobar> which we want to make it a singleton using + ACE_Singleton template in our own DLL. In file <foobar.h>, add + a line like this, + + ACE_SVC_SINGLETON_DECLARATION (ACE_Singleton<foobar>); + + and it will be expanded to suitabe code to export the class or + supress another template instantiation outside DLL depending on + whether ACE_BUILD_SVC_DLL is defined or not. In file + <foobar.cpp>, add a line, + + ACE_SVC_SINGLETON_INSTANTIATION (ACE_Singleton<foobar>); + + at the end of the file to instantiate the template object in + DLL. Notice that there is a bug in MSVC 4.2 and you'll have to + write up a DEF file to export the template interface + explicitly. + + These macros should be integrated with the case when + ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION but because of the VC + 4.2's bug, it will cause too much trouble to export all these + symbols for external access. Therefore, I'll leave them as they + are now. + + BTW, these is no templatized singleton object within ACE that + needs to be exported at this moment. + +Tue Oct 21 07:14:24 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/Svc_Conf_l.cpp: fixed compile warnings on g++. + + * ace/Timer_{Heap,List,Wheel}_T.cpp: replaced NULL with 0 because + some compilers, such as GHS, define NULL as (void *) 0. So, it + sometimes needs to be cast to be used. Thanks to Brian Mendel + for reporting this. + + * ace/Thread_Manager.cpp (wait): removed thr_yield () hack because + it's not needed with Nanbor's Thread_Manager fix. + + * tests/test_config.h (ACE_END_TEST): removed sleep hack with + threading because it's not needed with Nanbor's Thread_Manager fix. + + * include/makeinclude/platform_vxworks*.GNU: added VXWORKS=1 macro, + for use by individual Makefiles to suppress VxWorks builds. + + * examples/System_V_IPC: suppress VxWorks builds because the builds + fail, and the examples wouldn't run anyways. + + * netsvcs/lib/TS_Server_Handler.cpp: only instantiate + ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH> if ! ACE_HAS_TLI + because without TLI, the instantiation is in + Client_Logging_Handler.cpp. + + * examples/Shared_Malloc/test_persistence.cpp: added #include of + iostream.h with ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION. + + * examples/ASX/UPIPE_Event_Server/Supplier_Router.cpp: removed + instantiation of ACE_TSS<ACE_Dynamic> because it is in + ace/Thread_Manager.cpp. + +Tue Oct 21 02:23:26 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.3.23, released Tue Oct 21 02:23:26 1997. + +Tue Oct 21 02:18:56 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * examples/Makefile: Things are happier now, so we've added back + the Timer_Queue directory to the Makefile. + + * examples/Timer_Queue: Added lots of annoying template + specializations so that the timer queue tests now work with GCC. + + * ace/Svc_Conf.l: Changed the regular expression for a + {string} so that it maches the null string (i.e., ""). + +Tue Oct 21 01:07:58 1997 Sergio Flores <sergio@polka.cs.wustl.edu> + + * examples/Timer_Queue: + Added documentation and fixed some warnings from the unused + arguments in some member functions. Cleaned up some .h files of + unnecessary template instantiations. + +Tue Oct 21 01:01:12 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * ace/Thread_Manager.h: Added more comments. + + * ace/Thread_Manager.{h,cpp}: Added a parameter <size> to + Thread_Manager's constructor with default value 0. This + parameter is currently unused and put in for backward + compatibility. + (open): Putting back this method for backward compatibility. + This is currently a no-op. Thanks to David for reporting this. + Also modify some mis-inform comments. + +Mon Oct 20 22:34:46 1997 <irfan@TWOSTEP> + + * ace/OS.i (open): Moved Win32 specific errno mappings from open() + to ACE_FAIL_RETURN. Also updated the wide-character version of + open(). + +Mon Oct 20 14:07:37 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * ace/config-hpux-10.x.h: Added #define ACE_DEFAULT_BASE_ADDR + ((char *) 0x80000000) so that the various mmap() tests + will work on HP/UX. Thanks to Stephen Coy <stevec@magna.com.au> + for reporting this. + + * ace/OS.i: Fixed the implementation of ACE_OS::cond_timedwait() + so that it will work on VxWorks. Thanks to David Levine for + chasing this down and doing most of the changes. + + * ace/OS.h: Added a new special case for _KCC so that its + ACE_UNUSED_ARG will work properly. Thanks to Torbjorn Lindgren + <tl@funcom.no> for reporting this. + +Mon Oct 20 22:23:42 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * tests/Sigset_Ops_Test.cpp (main): It is not legal too for + sigismember to return 0 if we pass an invalid signal to it. + Thanks to Stephen Coy <stevec@magna.com.au> for fixing this. + + * Thread_Manager.*: Replace the thr_table_ with a double-linked + list thr_list_. With this change, we can cache the thread + descriptor entries in TSS area. Then, when accessing thread + descriptor from a spawned thread's context, we don't have to + search thru the whole list in order to find the corresponding + thread descriptor. Double-linked list and caching also make + adding/removing thread descriptor entries very fast. At this + moment, we need to do a linear search when we try to access the + cached pointer the first time. This overhead is expected to + removed shortly. The will be some memory leaks at this moment + because I haven't implemented the code to clean up the list when + a thread manager gets deleted. Will fix it soon. + + * Log_Msg.{h,cpp}: Removed thr_state methods, variable, and thr_id + methods and variable and replace them with thr_desc which cache + the pointer to the thread descriptor structure. + + * Containers.*: Added two new template classes + ACE_Double_Linked_List and ACE_Double_Linked_List_Iterator. + These two classes implement the very fundamental data structure + of double-linked list. Although this is not actually a + container class, I couldn't find a better place to put these + classes. + + * ace/Filecache.* + * ace/FIFO.* + * ace/FIFO_Send.* + * ace/FIFO_Recv.* + * ace/FIFO_Send_Msg.* + * ace/FIFO_Recv_Msg.* + * ace/Memory_Pool.* (ACE_MMAP_Memory_Pool_Options, + ACE_MMAP_Memory_Pool): Added one member variable to these class + so users can specify the LPSECURITY_ATTRIBUTES object they want + to use with them. + (map_file, init_inquire): Pass the security attribute to + underlying memory map object. + + * ace/Mem_Map.* (ACE_Mem_Map, map, open, map_it): Added a new + function parameter LPSECURITY_ATTRIBUTES. It will be passed + down to ACE_OS::mmap or ACE_OS::open. This is only used on + Win32. + +Mon Oct 20 08:48:28 1997 Steve Huston <shuston@riverace.com> + + * ace/OS.h, config-hpux-10.x.h: Added a new definition, + ACE_HAS_TIUSER_H_BROKEN_EXTERN_C - HP-UX's tiuser.h has + def for t_errno/_terrno() outside of an extern "C" block, + so in this case, wrap #include <tiuser.h> in our own + extern "C" block. HP support call W3711856. + +Mon Oct 20 07:49:54 1997 David L. Levine <levine@cs.wustl.edu> + + * Makefile (TIMESTAMP): moved chmod after cvs commit. + + * include/makeinclude/platform_sunos{4,5}_sunc++*.GNU: don't + create Templates.DB/Modules.DB, because that should have been + Module.DB, and it's not needed anyways. + + * ace/config-vxworks-ghs-1.8.h: removed ACE_HAS_VERBOSE_NOTSUP. + + * tests/run_tests.vxworks: re-enabled Buffer_Stream_Test now that + ACE_OS::cond_timedwait () is supported on VxWorks. + + * examples/IPC_SAP/TLI_SAP/ftp-server.cpp (main): removed call + to ACE_Thread_Manager::open () because it no longer is available. + +Mon Oct 20 02:04:19 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.3.22, released Mon Oct 20 02:04:19 1997. + +Mon Oct 20 02:01:43 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * examples/Makefile: Removed the Timer_Queue directory from the + Makefile until Sergio has fixed all the examples for GCC. + +Sun Oct 19 21:15:10 1997 Sergio Flores <sergio@polka.cs.wustl.edu> + + * examples/Timer_Queue: Added a new testing framework for + various types of ACE_Time_Queue usecases, e.g., threaded, + reactive, and asynchronous. + The new classes are: + <Timer_Queue_Test_Driver> which factors out the common code for + different type of Timer queue implementations, for example the parsing, + the input reading, and leaves the implementation of display_menu() for + example, to subclasses. + <Async_Timer_Queue_Test_Driver> the asynchronous version of the timer + queue, uses signals. + <Reactor_Timer_Queue_Test_Driver> implements the reactive timer queue + test driver using <ACE_Reactor> + <Thread_Timer_Queue_Test_Driver> the threaded implementation of the + timer queue. + <Command> this class is used to specify operations on the timer queue + independently of their implementation. Thsi allows different + implementations of the timer queue to have different ways of + doing the operations without the base class having to know that. + See the Command pattern. + Added some helper functions into the <Input_Task> class. + + +Sun Oct 19 18:07:31 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * ace: Added new config files for SCO OpenServer with a new initial scheme + to make config files: + + - The config to SCO OpenServer has been changed to separate OS + specific flags, threads and compiler flags. + + - For SCO OpenServer the base config file is config-sco-5.0.0.h + + - Pthreads base files are config-fsu-pthread.h and + config-mit-pthread for FSU and MIT pthreads. + + - The compiler file has been named config-gcc-2.7.2.h, this is + base config file for GNU gcc 2.7.2 + + To build a config file for SCO using GNU gcc 2.7.2 would be: + + #include "ace/config-gcc-2.7.2.h" + #include "ace/config-sco-5.0.0.h" + + We would obtain ACE config file for SCO OpenServer with GNU gcc + 2.7.2 with no threads. To build a config file for SCO using GNU + gcc 2.7.2 with FSU pthread would be: + + #include "ace/config-gcc-2.7.2.h" + #include "ace/config-sco-5.0.0.h" + #include "ace/config-fsu-pthread.h" + + Thanks to Arturo Montes <mitosys@colomsat.net.co> for these + changes. + + * ace/OS.i (open): Modified ACE_OS::open() so that it sets errno + to EACCES when the requested file is in use. Thanks to Edan + Ayal <edana@vdo.net> for reporting this. + +Sun Oct 19 17:55:34 1997 David L. Levine <levine@cs.wustl.edu> + + * etc/purify.solaris2: the contents of my ~/.purify file + for Solaris 2.x. The ACE tests purify cleanly with it. + +Sun Oct 19 13:49:17 1997 Carlos O'Ryan <coryan@MILONGA> + + * ace/Proactor.cpp: + The mutex vs lock name change strikes back, this time under NT. + + * tests/Conn_Test.h: + * tests/Conn_Test.cpp: + The Svc_Handler was cached, but it had the default + handle_close() method, which destroys the object. The new + version leaks a bit of memory, but it seems that it never + crashes. + +Sat Oct 18 09:13:29 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Synch_T.cpp (lock): Moved the frigging lock method of + Atomic_Op into the *.cpp file to work around bugs with earlier + versions of the horribleHP/UX C++ compiler. Thanks to Neil + Cohen for reporting this. + +Sat Oct 18 07:43:29 1997 David L. Levine <levine@cs.wustl.edu> + + * Makefile (release): oops, removed "echo" that was used to + disable CVS commit, for testing. + + * ace/Thread_Manager.{h,cpp},Object_Manager.{h,cpp}: moved + ace_thread_exit_lock_ to Object_Manager. + + * include/makeinclude/rules.local.GNU: added $(TEMPLATE_REPOSITORY) + to OBJDIRS, so that individual platforms can add template + repository directories for creation. + + * include/makeinclude/platform_sunos{4,5}_sunc++*.GNU: added + TEMPLATE_REPOSITORY with Templates.DB and Templates.DB/Modules.DB. + We can build without any warnings with Sun C++ now. + +Sat Oct 18 00:17:26 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.3.21, released Sat Oct 18 00:17:26 1997. + +Fri Oct 17 22:51:46 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> + + * ace/Timer_Queue_Adapters.h: + * ace/Timer_Queue_Adapters.i: + * ace/Timer_Queue_Adapters.cpp: + * ace/Timer_Queue_T.h: + * ace/Timer_Queue_T.i: + * ace/Timer_Queue_T.cpp: + * ace/Timer_List_T.cpp: + * ace/Timer_Wheel_T.cpp: + * ace/Timer_Hash_T.cpp: + Changed the accessor name for the lock_ field from mutex() to + lock(), we know this can cause trouble on HP-UX, but only if the + function is inline; so it was moved to the .cpp file. + + * ace/Timer_Queue_Adapters.h: + * ace/Timer_Queue_Adapters.i: + Changed the method name from lock() to mutex(), this should + workaround a bug in the HP/C++ compiler. + + * ace/Timer_Hash.cpp: + * ace/Timer_Hash_T.h: + * ace/Timer_Heap.cpp: + * ace/Timer_Heap_T.h: + * ace/Timer_List.cpp: + * ace/Timer_List_T.h: + * ace/Timer_Queue.cpp: + * ace/Timer_Queue_T.h: + * ace/Timer_Wheel.cpp: + * ace/Timer_Wheel_T.h: + Workaround HP/C++ compiler bug, we cannot include the .cpp file + from the header file, but it must be included in the point of + instantiation. + +Fri Oct 17 18:34:00 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * ace/Atomic_Op.i (lock): Added an accessor to ACE_Atomic_Op to + return a reference to the underlying lock. Thanks to Janusz + Stopa <jstopa@Bear.COM> for suggesting this. + +Fri Oct 17 15:36:26 1997 <nw1@CHA-CHA> + + * ACE/config-win32-common.h: Added a directive to disable warning + of using Microsoft template instantiation control extension. + +Fri Oct 17 06:31:20 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/Atomic_Op.i (operator=): rsh.value () instead of just rhs. + + * Makefile (release): added ACE_VERSION string to ace/Version.h. + The MS Resource-Compiler doesn't implement the preprocessor + # operator, so ACE_VERSION supplies the concatenated version + string. Thanks to Matthias for suggesting this. + + * ace/Svc_Handler.{h,cpp},Object_Manager.{h,cpp}: moved + ace_svc_handler_lock_ to Object_Manager. This lock was + created once per Svc_Handler instantiation. It has been + replaced by a single lock for all instantiations. That + shouldn't be a problem because there are so few Svc_Handler + instantiations, and the lock is only used for singleton + creation using double-checked locking. + +Fri Oct 17 01:19:35 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.3.20, released Fri Oct 17 01:19:35 1997. + +Fri Oct 17 00:05:55 1997 <irfan@TWOSTEP> + + * ace/OS: Added ACE_Export to declarations to: + ace_mutex_lock_cleanup_adapter, ftruncate, ace_thread_adapter + + * ace/OS.cpp (readv, writev): Moved ACE_Export directive from + OS.cpp to OS.i. + + * ace/Atomic_Op (operator TYPE): operator TYPE() of Atomic_Op has + been deprecated and removed. Because both user-defined + conversions and user-defined operators were defined on + Atomic_Op, it was possible to get ambiguities between the + user-defined operators and the built-in operators. Therefore, + operator TYPE() has been removed and explicit accessor value() + has been added. Thanks to Stephen Coy <stevec@magna.com.au> for + suggesting this. + + * ace/Atomic_Op (operator!=): Add new operator. + + * tests/Atomic_Op_Test.cpp: Previously we had foo.operator== (5). + It was necessary to resolve the ambiguities between the + user-defined operators and the built-in operators. Since we have + removed the automagic type conversion, we can go back to writing + foo == 5. + + * ACE: Atomic Op related minor changes: + + ace/Malloc.cpp (dump): + tests/Future_Test.cpp (main): + tests/Reactors_Test.cpp (handle_input): + example/Threads/{future1.cpp future2.cpp manual_event.cpp task_two.cpp tss2.cpp}: + examples/Reactor/Misc/test_reactors.cpp: + + * tests/Notify_Performance_Test.cpp: + * tests/Reactor_Performance_Test.cpp: + + Moved explicit template instantiation code to ACE_HAS_THREADS + part for the test. Thanks to Stephen Coy <stevec@magna.com.au> + for pointing this out. + +Thu Oct 16 20:44:40 1997 James C Hu <jxh@cs.wustl.edu> + + * ace/Message_Block.cpp: Changed how continuations are released in + the Message_Block::release_i() method to use an iteration rather + than recursion. This is to avoid a stack overflow problem + encountered by Janusz Stopa. + + * ace/OS.cpp: Added ACE_Export to the declarations of ::writev and + ::readv. These are emulation implementations for systems that + don't support them natively. Was not being resolved correctly + on NT. Hopefully this will fix it. Fix suggested by Rob Head + (rhead@virtc.com). + +Thu Oct 16 14:21:34 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * ace/Proactor.cpp: Replaced #include "ace/Servie_Config.h" with + #include "ace/Object_Manager.h" for declaration of + ACE_Static_Object_Lock. + +Thu Oct 16 10:22:48 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> + + * ace/Timer_Heap_T.h: + Fixed comment on the Heap_Iterator, it said "Iterates over an + <ACE_Timer_*Hash*_T>"). + +Thu Oct 16 08:43:50 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/OS.i (sema_trywait): on VxWorks only, fixed to set errno to + EBUSY if the semaphore couldn't be taken. Thanks to Doug for + suggesting this fix. + + * performance-tests/Misc/preempt.cpp (main): fixed program name. + + * include/makeinclude/platform_osf1_4.0.GNU: OCFLAGS instead of OFLAGS. + + * tests/test_config.h (VxWorks): restored the removal of the log + file, because it again appears to be necessary. + + * tests/run_tests.vxworks: updated VxWorks tests status. + + * ace/OS.cpp,Token_Invariants.{h,cpp},Object_Manager.{h,cpp}: + moved ace_os_monitor_lock and ACE_Token_Invariants_Creation_Lock + to Object_Manager. + +Thu Oct 16 02:26:12 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.3.19, released Thu Oct 16 02:26:12 1997. + +Thu Oct 16 02:07:54 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * tests/Priority_Reactor_Test.cpp: Added a "max_retries" flag to + keep the test from hanging forever... Thanks to Stephen Coy + <stevec@magna.com.au> for motivating this. + + * tests/Priority_Reactor_Test.h: Changed + + class Read_Handler : public ACE_Svc_Handler<<ACE_SOCK_Stream, ACE_INET_Addr, ACE_SYNCH> + + to + + class Read_Handler : public ACE_Svc_Handler<<ACE_SOCK_STREAM, ACE_SYNCH> + + and the same for the Write_Handler. Thanks to the ever vigilant + Stephen Coy <stevec@magna.com.au> for reporting this. + +Thu Oct 16 01:18:48 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * ace/OS.cpp (socket_init): Changed to use ACE_UNUSED_ARG. + + * ace/SV_Semaphore_Simple.cpp (name_2_key): Explicitly cast the + return value to (key_t). It was causing problem on Win32. + +Wed Oct 15 22:47:30 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> + + * ace/ACE.h: + * ace/ACE.cpp: + Added an implementation of the ISO 8802-3 standard 32 bits CRC, + but for strings only. The implementation was taken from the + FreeBSD code. + + * ace/SV_Semaphore_Simple.cpp: Improved the hashing algorithm to + assign a "unique" key for semaphore keys using an string. This + solves a problem detected by Mark L. Boriack + (Mark.L.Boriack@cpmx.saic.com): under OSF/1 the were too many + collitions with the default arguments for ACE_Process_Mutex. + Note that this is only a problem if no name is given to it. + + * ace/Log_Msg.cpp: ACE_Log_Msg_message_queue_ was not initialized + in platforms without threads. + + * ace/Containers.h: Added a duplicate ACE_Ubounded_Stack_Iterator + to the NANBOR_EXP_CHANGES block. + + * ace/OS.h (ACE_DES_FREE_TEMPLATE): Removed unneeded concatenation + that was getting the HP/aCC compiler a bit confused. Thanks to + Stephen Coy <stevec@magna.com.au> for pointing out the problem + and then reminding me of actually adding the solution to ACE. + +Wed Oct 15 11:07:47 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * ace/OS.i: Fixed the flock_trywrlock() and flock_tryrdlock() so + that they both set errno = EBUSY if they lock is already held. + + * ace/OS.i (mutex_trylock): Make the VxWorks version consistent + with the other versions by returning -1 and setting errno to + EBUSY. Thanks to David Levine for reporting this. + + * ace/Synch.h: Updated the documentation to clarify what the + return value is from the tryacquire() methods. + + * ace/OS.i (mutex_trylock): On NT, if we try to acquire a mutex + that's already locked we'll return -1 and set errno to EBUSY + rather than ETIME to be consistent with Pthreads. Please see + the following entry to understand why this doesn't break + existing code ;-). + + * ace/OS.h: Added a #define for EBUSY on NT. We'll make it the + same as ETIME to avoid breaking existing code! + + * tests/Process_Strategy_Test.cpp (main): Ignore SIGCHLD in the + child. + +Wed Oct 15 14:59:41 1997 <nw1@CHA-CHA> + + * tests/run_tests.bat: Added Reactor_Performance_Test and + Notify_Performance_Test to one button test script. + + * tests/tests.dsw: Added Reactor_Performance_Test.dsp and + Notify_Performance_Test.dsp. + +Wed Oct 15 07:21:05 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/ACE.{h,i},Version.h: added ACE version macros, and static + functions to access them in class ACE. + + * Makefile (release): updates ace/Version.h based on contents of + VERSION. + + * tests/Time_Value_Test.cpp: added test of ACE version accessors. + + * ace/OS.cpp,Object_Manager.cpp: changed ACE_TSS_CLEANUP_LOCK + from an ACE_Thread_Mutex to an ACE_Recursive_Thread_Mutex. + + * ace/OS.h: define ACE_NOTREACHED as empty on DEC_CXX (and + on ghs instead of VXWORKS). + + * tests/TSS_Test.cpp (worker): convert void *c to long if + ACE_HAS_64BIT_LONGS to avoid DEC cxx compiler warning. + + * examples/Threads/thread_specific.cpp (worker): convert void *c + to long if ACE_HAS_64BIT_LONGS. Changed name of "lock" to + "printf_lock" to avoid collision with lock () in DEC cxx + iostream.hxx. + + * examples/threads/tss1.cpp: removed unused static "lock". + + * examples/IPC_SAP/TLI_SAP/ftp-server.cpp (read_file): convert + void *fd to long if ACE_HAS_64BIT_LONGS. And, put "n" in + ACE_UNUSED_ARG. (main): put "return 0" in ACE_NOTREACHED. + + * include/makeinclude/platform_osf1_4.0.GNU: minor cleanup, incl. + addition of -use_ld_input to SOFLAGS. + + * include/makeinclude/platform_osf1_4.0_g++.GNU: added "c" to + ARFLAGS. + + * tests/Future_Test.cpp,examples/Threads/future[12].cpp + (Method_Object_Name): removed extraneous ";" after function + definition. + + * netsvcs/lib/Base_Optimizer.h: adding missing, default "public" + access specifier. + + * apps/JAWS/Server/HTTP_Config.h: added "class" to friend HTTP_Config + declaration in HTTP_Config_Info. + + * examples/IPC_SAP/TLI_SAP/ftp-client.cpp: removed unused variable + "MAXLINE". + + * examples/IPC_SAP/TLI_SAP/db-server.cpp (main): wrapped "return 0" + with ACE_NOTREACHED. + + * examples/Reactor/Misc/test_timer_queue.cpp (handle_timeout): + convert void *arg to long if ACE_HAS_64BIT_LONGS. + + * examples/Service_Configurator/IPC-tests/client/ + local_fifo_client_test.cpp: removed unused variable BUF_LEN. + + * examples/Shared_Malloc/test_persistence.cpp: + removed unused Employee ostream << operator. + + * tests/Conn_Test.cpp: neutered Conn_Test on DEC_CXX. It + doesn't build on DEC cxx 5.5 due to apparent template + instantiation problems. Thanks to James Johnson for + reporting that. And it doesn't terminate when built with + DEC cxx (beta) 6.0. + + * ace/Thread_Manager.h: removed parens from (???) because + g++ got upset about encountering a trigraph. + + * tests/{Notify,Reactor}_Performance_Test.cpp: added + ACE_UNUSED_ARG (handle). + + * tests/Makefile,run_tests.sh: added Reactor_Performance_Test and + Notify_Performance_Test. + + * tests/run_tests.vxworks: added test status of + Reactor_Performance_Test (doesn't appear to do anything, + but doesn't return) and Notify_Performance_Test (fcntl + not supported). + +Wed Oct 15 01:48:36 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * ace/Containers.{h,i,cpp}: + * ace/Thread_Manager.{h,i,cpp}: Start modifying these files. + Will work on them for a day or two. You guys shouldn't worry + about these changes affecting anything because I surround my + changes with #ifdef (NANBOR_EXP_CHANGES) my changes #else + original codes #endif. More details change log will be added + once I get them all working. + +Tue Oct 14 23:54:21 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.3.18, released Tue Oct 14 23:54:21 1997. + +Tue Oct 14 20:27:28 1997 Carlos O'Ryan <coryan@swarm.cs.wustl.edu> + + * tests/Priority_Reactor_Test.cpp: + Added a debug message to find out who terminates the reactor + thread. + + * tests/Priority_Reactor_Test.cpp: + The children could not connect sometimes, this will cause the + test to hang, waiting for those failed connections. + I added a simple exponential backoff strategy to retry + connections until they succeed. + +Tue Oct 14 17:48:28 1997 Steve Huston <shuston@riverace.com> + + * ace/config-hpux-10.x-hpc++.h: Set ACE_LACKS_SIGNED_CHAR for + both C++ and aC++, not just C++. Thanks to Stephen Coy and + David Levine for finding this. + +Tue Oct 14 03:26:17 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * ace/OS.h: Moved <sys/types.h> to earlier in the file so that + u_int will be defined. Thanks to Neil B. Cohen <nbc@metsci.com> + for reporting this. + + * ace/OS.cpp (uname): Added a workaround for the fact that + Chorus doesn't support uname(). Thanks to Wei Chiang for + this fix. + +Tue Oct 14 08:02:20 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/Managed_Object.{h,cpp} (ACE_Cleanup_Adapter): added virtual + destructor, needed by some compilers for vtable placement. + Thanks to Stephen Coy <stevec@magna.com.au> for this patch. + + * ace/Svc_Conf_y.cpp: commented out unused args and wrapped + assignments in "if" conditionals to avoid g++ warnings. + + * ace/Object_Manager.{h,cpp},Synch.{h,cpp}: moved + ACE_Static_Object_Lock from Synch.{h,cpp} to Object_Manager.{h,cpp}. + This allows it to be absorbed into the ACE_Object_Manager's + preallocated locks. The ACE_Static_Object_Lock interface + isn't really needed any more, but has been kept for backward + compatibility. + + * ace/Object_Manager.cpp: use a static ACE_Static_Object_Lock, + temporarily, because the ACE static services needs it. + + * ace/Malloc.cpp,Reactor.cpp,Service_Repository.cpp: added + #include "ace/Object_Manager.h" for ACE_Static_Object_Lock. + + * ace/Thread_Manager.h: moved ACE_Thread_Manager::THR_FUNC typedef + outside the class declaration to avoid compilation problems on + g++/VxWorks/i960 with -g. THR_FUNC is only used by protected + ACE_Thread_Manager methods so this doesn't widen the public + interface. Thanks to Aaron Valdivia <avaldivia@hns.com> for + reporting this and verifying the fix. + + * tests/IOStream_Test.cpp (client): multiply floats by 1.0 instead + of 1 to avoid bad code generation on g++/VxWorks/i960. Thanks to + Aaron Valdivia <avaldivia@hns.com> for reporting this. + + * tests/Buffer_Stream_Test.cpp: removed unused static thread_manager. + It caused core dump during destruction of static objects with + ACE_HAS_NONSTATIC_OBJECT_MANAGER. + + * examples/Timer_Queue/Reactor_Timer_Queue_Test.cpp (handle_timeout): + removed declaration of unused arg "tv". + + * examples/Timer_Queue/Thread_Timer_Queue_Test.cpp (main): + removed declarations of unused args "argc" and "argv". And, + updated template instantiations. + + * ace/OS.h: use "complex" ACE_UNUSED_ARG for DEC_CXX. + + * ace/Reactor.i (implementation): moved definition to top of + file to prevent use before definition. + + * ace/ARGV.cpp (ACE_ARGV): removed extraneous ; function definition. + + * ace/config-osf1-4.0.h: removed ACE_NEEDS_DEV_IO_CONVERSION. + + * tests/Time_Value_Test.cpp: ACE_HAS_64BIT_LONGS instead of + ACE_HAS_64BIT_LONG. + +Tue Oct 14 03:13:38 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.3.17, released Tue Oct 14 03:13:38 1997. + +Tue Oct 14 03:10:00 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * ace/Service_Types.cpp (fini): Backed out the following change + until we figure out how to keep existing Svc_Handler code from + dying... Thanks to Nanbor for reporting this. + + * ace/Service_Types.cpp: Changed the implementation so that we + bypass the default cleanup originally done in + ACE_Service_Type_Impl::fini() and instead perform the cleanup in + ACE_Service_Object_Type::fini (void). Thanks to Alex Chan + <Alex.Chan@Aspect.com> for reporting this. + + * ace/Svc_Conf.y: Make sure that the Module has the same name as + the Module_Type object from the svc.conf file. We need to do + this because the Stream_Type::fini() method removes each module + by the name given in the configuration file (stored in the + Module_Type object). But the Stream::remove() method compares + this name against the name stored in the Module. So the object + is deleted, but never removed from the list. Another traversal + of the list causes a crash... Thanks to Eric Newton for + suggesting this fix. + + * ace/OS.cpp (invoke): Added call to AfxEndThread insides + ACE_TSS_Cleanup::exit() such that the same cleanup would not be + executed again when threads exit in ace_thread_adapter() in + OS.cpp. Thanks to Alex Chan <Alex.Chan@Aspect.com> for + reporting this. + + * ace/Service_Config.cpp (process_directives): Avoid reporting + lex/yacc leakage since there is nothing we could do about it. + Thanks to Alex Chan <Alex.Chan@Aspect.com> for reporting this. + + * ace/Svc_Conf.y: Removed duplicate call to symbol() to avoid the + problem that dynamic service objects are created twice. Thanks + to Alex Chan <Alex.Chan@Aspect.com> for reporting this. + + * examples/Reactor/FIFO/client.cpp (main): Fixed the call to + fifo_sender.send () so that it passes msg rather than &msg. + Thanks to Sandro Doro <doros@aureus> for reporting this. + +Tue Oct 14 02:49:02 1997 <irfan@TWOSTEP> + + * tests/Notify_Performance_Test.cpp: New performance test. This + test is used to time the notification mechanisms of the + ACE_Reactors. Both the WFMO_Reactor and Select_Reactor can be + tested. The notify() mechanism can also be tested with or + without data. + + * tests/Reactor_Performance_Test.cpp: New performance test. This + test is used to time the dispatching mechanisms of the + ACE_Reactors. Both the WFMO_Reactor and Select_Reactor can be + tested. + + * ace/Svc_Handler.cpp (shutdown): Change READ_MASK | WRITE_MASK to + ALL_EVENTS_MASK. + + * ace/Atomic_Op (value): Added an explicit value accessor. + +Mon Oct 13 23:07:15 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * tests/Process_Strategy_Test.cpp (handle_signal): Removed the + ACE_DEBUG calls in the child reader signal handler. This was + causing all sorts of random problems due to the asynchronous + nature of signals. Thanks to David Levine for pointing this + out. + +Mon Oct 13 16:27:46 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> + + * tests/Priority_Reactor_Test.h: + * tests/Priority_Reactor_Test.cpp: + Fixed wrong header file, thanks to Irfan (irfan@cs.wustl.edu) + + * examples/Shared_Malloc/test_persistence.cpp: + * examples/Timer_Queue/Thread_Timer_Queue_Test.cpp: + Added a couple of ACE_NOTREACHED, thanks to Torbjorn Lindgren + <tl@funcom.no> for pointing out this one. + + * ace/Priority_Reactor.cpp: + Added some more template specializations. + + * tests/Priority_Reactor_Test.cpp: + Fixed a number of bugs: hostname not initialized when creating + the server address. + The Svc_Handler base class should be instantiated using the + ACE_*_STREAM macros. + The code for non-threaded platforms was broken. + Thanks to Irfan <irfan@cs.wustl.edu> + + * tests/Priority_Task_Test.cpp: + We use the new ACE_Sched_Priority_Iterator. + + * include/makeinclude/platform_irix6.x-32_sgic++.GNU: + * include/makeinclude/platform_irix6.x-n32_sgic++.GNU: + Removed this old config files, they have been superseeded by + platform_irix6.x_sgic++.GNU. + +Mon Oct 13 15:41:32 1997 Steve Huston <shuston@riverace.com> + + * ace/Select_Reactor.i, Priority_Reactor.i: Moved code for the + ACE_Event_Tuple struct from Priority_Reactor.i to Select_Reactor.i. + + * ace/Priority_Reactor.cpp: added #include Malloc_T.h to build on AIX. + + * ace/Synch_T.h, Timer_Queue_Adapters.h - added a template argument + to the non-ACE_HAS_TEMPLATE_TYPEDEFS, multi-threaded version of + the ACE_SYNCH_CONDITION macro - of the 3 possibilities for its + definition, this is the only case which requires a template + argument. Timer_Queue_Adapters.h is the only user of the definition, + and it was changed to not supply the template argument. + + * tests/Conn_Test.h: + * tests/Process_Strategy_Test.h: Added #include "ace/SOCK_Stream.h" + +Mon Oct 13 13:42:05 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * examples/Service_Configurator/IPC-tests/server/Handle_Thr_Stream.cpp (svc): + Added a macro to define L_cuserid on Win32. + +Mon Oct 13 13:44:40 1997 <irfan@TWOSTEP> + + * ace/Priority_Reactor: Fixed a gross violation of ACE coding + standard. Changed bucket to bucket_. + +Mon Oct 13 12:58:01 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/OS.i: moved ACE_OS::strcasecmp () definition after + ACE_OS::strlen () to prevent use before definition. + + * ace/Priority_Reactor.i: reordered initializers to match + declaration order. + + * ace/Sched_Params.i: reordered function definitions to prevent + uses before definitions. + + * ace/Thread_Manager.cpp (ACE_Thread_Descriptor ctor): reordered + initializers to match declaration order. (spawn_i): added + ACE_UNUSED_ARG (t_handle) without WTHREADS. + + * ace/Thread_Manager.cpp (wait): moved all of the "join" block + inside the #ifndef VXWORKS so that it compiles on VxWorks. + + * ace/Strategies_T.cpp (ACE_NOOP_Creation_Strategy<SVC_HANDLER>:: + make_svc_handler): removed unused arg declaration to avoid + compiler warning. + + * ace/Svc_Conf_y.cpp: commented out unused args and wrapped + assignments in "if" conditionals to avoid g++ warnings. + + * tests/Priority_Reactor_Test.cpp (handle_input): added + ACE_UNUSED_ARG (h). + + * examples/Connection/non_blocking/CPP-connector.cpp (handle_signal): + added ACE_UNUSED_ARG (signum). + +Mon Oct 13 03:25:45 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.3.16, released Mon Oct 13 03:25:45 1997. + +Mon Oct 13 03:18:33 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Thread_Manager.h: Removed the following code from + ACE_Thread_Control: + + #if defined (ACE_MT_SAFE) && (ACE_MT_SAFE != 0) + static ACE_Thread_Mutex ace_thread_lock_; + // Lock the creation of the Singleton. + #endif /* defined (ACE_MT_SAFE) */ + + What on earth was this doing here?! Thanks to Stephen Coy + <stevec@magna.com.au> for reporting this. + +Mon Oct 13 00:10:00 1997 <irfan@TWOSTEP> + + * tests/Atomic_Op_Test.cpp (main): Changed "foo == 5L" to + "foo.operator== (5L)" because the former was breaking some + compilers (e.g., HP/UX aCC). + + * ace/Connector.h (open): Removed the defaults arguments since + some compilers complain about the two open()s being + indistinguishable. + +Sun Oct 12 23:51:57 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * ace/{Synch_T,Atomic_Op}: All the relational operators should + return int (really return bool) rather than TYPE. + +Sun Oct 12 18:41:01 1997 Carlos O'Ryan <coryan@swarm.cs.wustl.edu> + + * tests/Priority_Reactor_Test.cpp: + Added several missing template specializations. + + * ace/Priority_Reactor.cpp: + Fixed typo (#pragme for #pragma). + Added several missing template instantiation. + + * ace/Timer_Queue_Adapters.cpp: + The includes were missing and there was a minor syntax error. + +Sun Oct 12 16:16:15 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * ace/ace_{dll,lib}.dsp: Added Timer_Queue_Adapters.cpp into + project files. + + * tests: Added a new test Priority_Reactor_Test. + + * ace/Timer_Queue_Adapters.{h,i}: Added or moved the line that + instructs edit mode to use on emace to the first line. Also + added ACE_Export to classes in this file. + + * ace/Timer_Queue_Adapters.cpp: Added proper inclusion of the + header file. Corrected a syntax error. + + * examples/Timer_Queue/Timer_Queue.dsw: Added a new project + Thread_Timer_Queue_Test.dsp. + + * tests/run_tests.{bat,sh}: Added MT_SOCK_Test and + Priority_Reactor_Test into one-buttoned test set. + +Sun Oct 12 16:53:32 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * ace/examples/Service_Configurator/IPC-tests/server: Reformatted + and recommented the code a bit. + + * ace/OS: Added 3 new ACE #defines: + + #define ACE_ONE_SECOND_IN_MSECS 1000L + #define ACE_ONE_SECOND_IN_USECS 1000000L + #define ACE_ONE_SECOND_IN_NSECS 1000000000L + + This is much easier to read than trying to keep track of the + 000s! Then, replaced all uses of the original values with the + new symbolic constants. + + * ace/Timer_List.cpp: Removed an explicit template instantiation + of ACE_Async_Timer_Queue_Adapter<>. Why was it here in the + first place? + + * ace: Created a new group of Timer_Queue_Adapters files and moved + the Async and Thread adapters into this file. This reduces the + amount of coupling in the ACE library and removes problems with + circular includes. + + * ace/Timer_Queue_T: Added a new ACE_Thread_Timer_Queue_Adapter, + which makes it possible to use a timer queue in a thread + automagically. Thanks to Carlos O'Ryan for writing this. + + * examples/Timer_Queue: Began to integrate Carlo's new thread + timer queue test. + + * examples/Timer_Queue/Async_Timer_Queue_Test.cpp: Changed the + timer queue from a Timer_List to a Timer_Heap. + + * examples/Makefile (DIRS): Added Timer_Queue to the list of DIRS + to build. + +Sun Oct 12 16:45:47 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> + + * ace/Sched_Params.h: + Added some comments. + + * examples/Timer_Queue/Thread_Timer_Queue_Test.cpp: + Added some comments and template specializations. + + * examples/Naming/Makefile: + There is no need to set LDLIBS to add local object files + anymore, using FILES is enough. + +Sun Oct 12 03:35:37 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * examples/Timer_Queue: Added a new directory for testing of + various usages of timer queue. + + * tests/Async_Timer_Queue_Test: Moved to examples/Timer_Queue. + It doesn't really belong to tests/ directory. + + * ace/ACE.cpp (register_stdin_handler): Must register the reactor + we are using to the event handler. + (read_adapter): Must notify the reactor when we are done with + handling stdin event. + +Sun Oct 12 00:26:56 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> + + * ace/Makefile: + * ace/Priority_Reactor.h: + * ace/Priority_Reactor.i: + * ace/Priority_Reactor.cpp: + Augmentes Select_Reactor, adding priority based dispatching for + the I/O Event_Handlers, the only feature supported is + dispatching in the order defined by the priorities. + Each Event_Handler defines its priority, if the priority is out + of range the culprit is "punished" by dispatching at the lowest + priority. + Care has been exercised to avoid dynamic memory allocation. + + * tests/Makefile: + * tests/Priority_Reactor_Test.h: + * tests/Priority_Reactor_Test.cpp: + Added small tests of the Priority_Reactor, the test runs an + Acceptor on the main thread and creates several threads (or + processes if the plaform does not support threads) that connect + to this Acceptor. The writing threads send several short + messages, the main thread receives them using one Svc_Handler + per writer, dispatched at different priorities. + The test itself is interesting, it shows how to write very + simple Svc_Handler, Connectors and Acceptors. + + * ace/Select_Reactor.h: + * ace/Select_Reactor.cpp: + The dispatching of all the handles in a "group" (READ, WRITE or + EXCEPT) was encapsulated in a single routine. + + * ace/Malloc_T.cpp: + In the Cached_Allocator memory was allocated as an arrays of + char, it must be released the same way. + + * ace/Sched_Params.h: + * ace/Sched_Params.i: + Added a new class (ACE_Sched_Priority_Iterator) to iterate over + the priorities. + + * tests/Priority_Task_Test.cpp: + Added some comments. + +Sat Oct 10 16:23:49 1997 Steve Huston <shuston@riverace.com> + + * tests/SOCK_Connector_Test.cpp: Passes the test if the should-fail + non-blocking test fails for any reason - not limited to ECONNREFUSED + or ENOTCONN. + +Sat Oct 11 16:02:33 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.3.15, released Sat Oct 11 16:02:33 1997. + +Sat Oct 11 14:38:16 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * ace/SOCK_Connector.cpp (complete): Fixed a typo with + ACE_NON_BLOCKING_BUG_DELAY. Thanks to John Zeb Dhom" + <zeb@ibm.net> for reporting this. + + * tests/MT_SOCK_Test.cpp (client): Slightly revised the client + function so that it doesn't try to use non-blocking connects if + it's on a Win32 platform that has bugs with non-blocking + connects. + + * ace/SOCK_Connector.cpp: It appears that connect() can set the + ETIMEDOUT errno if the connection times out (whatever that + means). Therefore, I need to check for that errno, rather than + ETIME after calling connect(). + + * tests/SOCK_Connector_Test.cpp: Added a check for ETIMEDOUT + since this appears to be set by some platforms (e.g., + SGI). + +Sat Oct 11 02:52:10 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.3.14, released Sat Oct 11 02:52:10 1997. + +Sat Oct 11 02:10:29 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> + + * examples/Logger/simple-server/Makefile: + * examples/Mem_Map/IO-tests/Makefile: + * examples/Reactor/Multicast/Makefile: + * examples/Service_Configurator/Misc/Makefile: + Fixed some more problems with the Makefiles for binaries; I took + the chance and added RCS ids on the Makefiles + +Fri Oct 10 18:39:39 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * tests/Service_Config_Test.cpp: Moved the static member function + called cleanup() out into a stand-alone extern "C" function + called test_singleton_cleanup() to workaround MVS C++ compiler + bugs. Thanks to Chuck Gehr for reporting this. + + * ace/Task.cpp: Solved the age old MVS C++ problem where we can't + register C++ static member functions as C callback functions. + The solution here was to create a C wrapper to do the callback. + Thanks to Chuck Gehr for reporting this. + + * tests/Service_Config_Test.cpp: Made the destructor of + Test_Singleton public to work around bugs with the MVS C++ + compiler. Thanks to Chuck Gehr for reporting this. + + * ace/ACE, + ace/Proactor, + ace/SOCK_Connector, + ace/SPIPE_Connector, + ace/Acceptor, + tests/Conn_Test: Changed ETIMEDOUT errno to ETIME errno to be + consistent throughout ACE. There should be no uses of + ETIMEDOUT in ACE or the test apps and examples. + + * ace/ACE.cpp (handle_timed_complete): Only assume that we've + timed out if the return value from select() == 0 *and* the + timeout value isn't NULL... + + * ace/Object_Manager.h: Replaced the use of ACE_MT() in the header + file with a #ifdef. This solves problems that arise when ACE_MT + is defined as "nothing" when MT_SAFE is not defined. As a code + which has "ACE_MT();" becomes just ";" and fail to compile. + Thanks to Avraham Nash <ANash@Engagetech.com> for reporting + this. + +Fri Oct 10 19:55:50 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> + + * examples/ASX/CCM_App/Makefile: + * include/makeinclude/rules.bin.GNU: + I have re-applied Steve Huston changes from Oct 01, the change + was (IMHO) useful and made compilation cleaner. + + * examples/ASX/Event_Server/Event_Server/Makefile: + Fixed problem that made compilation fail. + +Fri Oct 10 19:52:44 1997 <nw1@CHA-CHA> + + * ace/OS.h: + * ace/Connector.cpp: + * ace/SOCK_Connector.cpp: Added new #define + ACE_NON_BLOCKING_BUG_DELAY and replace their uses from some + magic numbers to this constant. + +Fri Oct 10 19:27:28 1997 Steve Huston <shuston@riverace.com> + + * include/makeinclude/rules.bin.GNU + examples/ASX/CCM_App/Makefile + Removed the changes to these files added Oct 01. + +Fri Oct 10 15:21:07 1997 <irfan@TWOSTEP> + + * examples/Connection/non_blocking/CPP-connector.cpp + (disconnecting): Remove this method. It was not being used. Also + rewrote some parts of handle_close to make the code simple. + + * ace/Connector.cpp (create_AST): The register_handler() method + now needs to explicitly be given the handle to wait on. This is + because the get_handle() method of Connector has been + depricated. + + * examples/Connection/non_blocking/test_sock_connector.cpp (main): + Since this test waits on the STDIN handle to become ready, we + have to make sure that the WFMO_Reactor is used on Win32. This + is necessary since select() on NT does not support waiting on + STDIN. + + * examples/Connection/non_blocking/CPP-connector.cpp (open): On + Win32, the std handle must be registered directly (and not as a + socket). On non-Win32, the std handle must be registered as a + normal handle with the READ mask. Since on Win32, STDIN is used + directly as an waitable handle, handle_signal will be called + instead of handle_input. Therefore, we had to add handle_signal + to the event_handler. + +Fri Oct 10 15:16:47 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * ace/WFMO_Reactor.{h,cpp}: + * ace/Select_Reactor.{h,cpp}: + * ace/Reactor_Impl.h: + * ace/Reactor.h: Added 2 new functions in ACE_Reactor class so we + can replace the signal handler and timer queue the reactor is + using. Notice that you should do this before you start the + reactor, otherwise, you may loose your scheduled timed events. + +Fri Oct 10 14:49:40 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * bin/man2html: Added a new set rul -e 's/^$/<P>/g', which + correctly preserves paragraph boundaries. Regenerated all of + the ACE html documentation so that it is much better formatted. + +Fri Oct 10 11:08:02 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> + + * tests/run_tests.sh: + We remove the log file before running a test, we also check for + the log file existance before running run_test.check on + it. Thanks to Dean Clamons <dean@n5170a.nrl.navy.mil> for + helping us with this. + + * tests/run_tests.check: + IRIX egrep does not support -q, we redirect the output the + /dev/null instead. + +Fri Oct 10 01:46:07 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.3.13, released Fri Oct 10 01:46:07 1997. + +Thu Oct 9 22:23:56 1997 Douglas C. Schmidt <schmidt@merengue.cs.wustl.edu> + + * ace/Thread_Manager.cpp: Moved the explicit template + instantiations for ACE_Unbounded_Queue out of the complicated + #ifdef since we also want this to compile even if we don't have + threads. + + * tests/MT_SOCK_Test.cpp: Revised the code so that it uses + processes on UNIX rather than threads. + + * tests/SOCK_Test.cpp (spawn): Cleaned up the code to make it + correct. + + * ace/Get_Opt.cpp (ACE_Get_Opt): Changed the third argument to the + ACE_Get_Opt constructor be changed from `char *' to `const char + *'. Thanks to Eric Newton for suggesting this. + +Thu Oct 09 18:43:14 1997 <irfan@TWOSTEP> + + * ace/Strategies_T.cpp (connect_svc_handler): Added + synchronization to the method as the setting of the in_use bit + in the service handler must be done atomically with the finding + and binding of the service handler in the cache. + + * tests/Conn_Test.cpp (client_connections): Added multithreading + to the test in order to test out the new MT features of the + Connector. + + * ace/OS.cpp (invoke): Somehow there was a bug introduced in + ACE_Thread_Adapter::invoke where the user entry point was being + called twice! + +Thu Oct 09 17:54:31 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.3.12, released Thu Oct 09 17:54:31 1997. + +Thu Oct 9 17:46:59 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> + + * ace/Thread_Manager.cpp: + Added explicit instantiation of + ACE_Unbounded_Queue_Iterator<ACE_Thread_Descriptor>, it seems to + be needed on Linux and other platforms; thanks to Huiying Shen + <shen@environ.org> for pointing out this one. + + * ace/OS.h: + * ace/OS.i: + Reverted the change that added support for + pthread_setconcurrency on IRIX, the function was supposed to be + undocumented, but present on the libraries, I could not find it + in any of the SGI machines we have access to. + + * ace/Thread_Manager.cpp: + On IRIX/SGIC++ we need to instantiate ACE_Node too. + + * ace/SOCK.h: + Moved the open() method to the public interface, it is used by + ACE_SOCK_Connector. + +Wed Oct 8 20:01:35 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * ace/SOCK_Connector: Modified the ACE_SOCK_Connector so that it + doesn't maintain state and doesn't inherit from ACE_SOCK. + Therefore, we can have multiple threads using the same + ACE_SOCK_Connector simultaneously without any reentrancy + problems. + + * ace/SOCK.h: Moved the open() method into the public part of the + class so it can be used in ACE_SOCK_Connector::connect(). + + * ace/Connector.h: Removed the this->connector_ from the + ACE_Connector class in order to make this pattern work correctly + with multi-threaded programs. Also removed the connector() + accessor (which was never useful anyway). + + * ace/SOCK.cpp (open): Explicitly test setsockopt() for -1 in case + of failure. + + * tests/SOCK_Test.cpp (server): Revised this test to reflect the + fact that it doesn't iterate, but only runs one client and one + server. + + * tests: Added a new test for multi-threaded sockets called + MT_SOCK_Test.cpp. Thanks to Bob Laferriere + <laferrie@gsao.med.ge.com> for motivating this test. + +Wed Oct 8 12:09:46 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * ace/OS.i (strcasecmp): Oops, we forgot to compare the strlen + first. Thanks to Murphy Ivan <Ivan.Murphy@med.siemens.de> for + fixing the bug. + + * ace/OS.h: Added THR_DAEMON macro definition for Win32 (et. al.?) + to avoid compilation error. + Removed ACE_HAS_BROKEN_TEMPLATE_DESTRUCTOR and related macros. + +Wed Oct 8 09:52:20 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> + + * ace/Parse_Node.cpp: + Fixed the minor syntax error *again*. + +Tue Oct 7 17:10:51 1997 Carlos O'Ryan <coryan@swarm.cs.wustl.edu> + + * ace/Token_Manager.cpp: + Added a defined(ACE_MT_SAFE) protection around the lock creation + on ACE_Token_Manager::instance(), otherwise it would not work on + platforms without threads. Thanks to "Neil B. Cohen" + <nbc@metsci.com> for pointing this one out. + +Tue Oct 7 07:07:45 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Parse_Node.cpp (symbol): Added an ACE_ERROR_RETURN instead + of an ACE_RETURN to bail out if an error occurs. Thanks to Eric + Newton for reporting this. + +Tue Oct 7 10:57:48 1997 Carlos O'Ryan <coryan@swarm.cs.wustl.edu> + + * ace/OS.h: + Added a prototype for pthread_setconcurrency when + ACE_HAS_IRIX62_THREADS is defined. This function is undocumented + but was needed by some users. + + * ace/Parse_Node.cpp: + Fixed a minor syntax error. + +Tue Oct 07 06:58:40 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.3.11, released Tue Oct 07 06:58:40 1997. + +Tue Oct 7 02:51:55 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * tests/TSS_Test.cpp (main): + * tests/Task_Test.cpp (main): + * tests/Barrier_Test.cpp (main): Removed thread_handles[] since we + don't need to join the thread explicitly anymore. + + * ace/Thread_Manager.{h,cpp}: Added an ACE_Unbounded_Quque to + collect terminated threads so that we can later join the threads + automatically by issuing a ACE_Thread_Manager::wait(). Some + typos are also fixed. Next step will be to replace current + thr_table_ with a hash table and store an index to this table + in TSS. + +Mon Oct 6 22:16:45 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Thread_Manager: Added a new task() method to + ACE_Thread_Manager that returns a pointer to the current + ACE_Task_Base we're executing in if this thread is indeed + running in an ACE_Task_Base, else return 0. Thanks to Ari Erev + <ari_erev@icomverse.com> and John Neystadt for suggesting this. + + * ace/Thread_Manager: Moved the task_ pointer from the public part + of the ACE_Thread_Descriptor class into the private part of the + class and added an inline accessor instead. + + * ace/{Parse_Node.{h,cpp},Svc_Conf.y}: Added support to enable + dynamically allocate objects from factory functions that have + been pre-registered with the Service Configurator instead of + relying on dynamic loading. The new config file syntax would be + (note the colons): + + dynamic joe Service_Object * : make_queue() active + dynamic bob Service_Object * : make_queue() active + + Functions are found in the list of statically defined functions + for static services. Thanks to Eric C. Newton <ecn@smart.net> + for this fix. + +Mon Oct 6 13:00:19 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> + + * ace/CORBA_Handler.cpp: Removed the use of reactor_ in the .cpp + file too; we are using the ACE_Event_Handler reactor_ (which is + a base class). + +Sat Oct 04 17:40:30 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.3.10, released Sat Oct 04 17:40:30 1997. + +Sat Oct 4 11:57:25 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * apps/Orbix-Examples/Event_Comm/{Supplier,Consumer}/Makefile: + Changed a typo where /src/ was being used instead of /libsrc/. + Thanks to Jean-Marc STRAUSS <strauss@objectif.fr> for reporting + this. + + * examples/Connection/non_blocking/CPP-connector.cpp (init): + Removed the initialization of the local address. This is + error-prone and confusing to use. Thanks to Huiying Shen + <shen@environ.org> for reporting this. + + * ace/SV_Semaphore_Simple: Added support for IPC_EXCL in order to + determine, upon creating the semaphore, if it already exists + (which means a bad key was selected), another daemon is still + running or the previous daemon didn't remove its resources. I + have this implemented now by first opening the semaphore and if + that fails then creating it. To support this, added another + enum, ACE_EXCL = IPC_EXCL, to the class header. + Also, changed the ACE_SV_Semaphore_Simple::open( key_t, ... ) + method to use + + if (ACE_BIT_ENABLED (flags, IPC_CREAT)) + + rather than + + if (flags == IPC_CREAT) + + Thanks to Michael McKnight <mcknight@signalsoftcorp.com> for + reporting this. + + * ace: Replaced all uses of the template param LOCK with ACE_LOCK + to avoid conflicts with some systems that have a macro named + LOCK. + + * ace/IOStream_T.h: Added ACE_LACKS_ACE_IOSTREAM to the + IOStream_T.* files. Thanks to Torbjorn Lindgren <tl@funcom.no> + for reporting this. + + * ace/{Proactor,Service_Config,ACE_Sig_Handler}: Removed the use + of sig_atomic_t as a return type. Thanks to Torbjorn Lindgren + <tl@funcom.no> for reporting this. + +Sat Oct 04 03:14:46 1997 <irfan@TWOSTEP> + + * ace/WFMO_Reactor.cpp (add_network_events_i): While looking + through all entries in the current (and suspended) handles for a + matching handle, we need to skip those that have been scheduled + for deletion). Also changed ACE_BIT_STRICTLY_ENABLED to + ACE_BIT_ENABLED. + + * ace/Select_Reactor.cpp (bit_ops): Since CONNECT is no longer a + logical OR of READ and WRITE, we have to explicitly make sure + that enable the handle in the correct wait sets. + + * ace/Event_Handler.h: Changed the values of the event + masks. CONNECT is no longer a logical OR of READ and WRITE. It + was its own unique value. + + * ace/OS.h: Removed ACE_BIT_STRICTLY_ENABLED. It did not do what I + thought it would do. + + * ace/Connector.cpp (handle_output): Added code that tries to find + out if the reactor uses event associations for the handles it + waits on. If so we need to reset it. This is necessary for + asynchronous connects. + + * ace/SOCK_Connector.i (reset_new_handle): Added new method on all + connectors to reset event associations of handles. + +Fri Oct 03 21:20:26 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/Makefile: disable INSTALL in $(ACE_ROOT)/ace Makefile, + because it's not needed and it creates circular symlinks when + the library build fails. + +Fri Oct 3 11:39:45 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * ace/Thread_Manager: Added a new flags_ field to + ACE_Thread_Descriptor and changed the insert_thr() and + append_thr() methods to update this flag so that we can keep + track of whether the thread was created "detached" or not. + + * ace/Reactor.cpp (event_loop_done): Replaced the use of + sig_atomic_t with int to workaround bugs with KAI C++. Thanks + to Torbjorn Lindgren <tl@funcom.no> for reporting this. + + * ace/CORBA_Handler: Removed the reactor() accessors since they + are subsumed by the methods in ACE_Event_Handler. Thanks to + Jean-Marc STRAUSS <strauss@objectif.fr> for reporting this. + +Thu Oct 02 15:38:34 1997 <irfan@TWOSTEP> + + * Reactor: Renamed reset_new_handle to uses_event_associations. + + * ace/FIFO_Recv.cpp (ACE_FIFO_Recv): aux_handle_ must correctly be + initialized to ACE_INVALID_HANDLE. Thanks to Sandro Doro + <doros@aureus> for reporting this. + +Thu Oct 02 11:21:37 1997 Steve Huston <shuston@riverace.com> + + * include/makeinclude/platform_{aix aix4.2}.GNU: added the + shared_libs_only = 0 and static_libs = 1 settings since C Set++ + builds the shared libs from the static. + + * ace/OS.h: Removed spaces around '##' in ACE_DES_FREE_TEMPLATE macro. + + * ace/Strategies_T.cpp: added #include "ace/Thread_Manager.h" + + * ace/Managed_Object.h: Added <TYPE> template arg in the "unimplemented + function" section. + +Thu Oct 02 10:46:18 1997 Steve Huston <shuston@riverace.com> + + * ace/Malloc.h: added some comments on rationale and use of + ACE_MALLOC_ALIGN. + +Wed Oct 01 19:08:26 1997 Steve Huston <shuston@riverace.com> + + * include/makeinclude/rules.bin.GNU: correctly builds programs + with multiple object modules. + + * examples/ASX/CCM_App/Makefile: needed some adjustment to work with + new rules.bin.GNU, above. + +Wed Oct 01 14:11:03 1997 <nw1@CHA-CHA> + + * ace/Remote_Name_Space.cpp (resolve): We need to allocate one more + space than what strlen reports. + +Wed Oct 01 12:45:51 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/ACE.cpp (count_interfaces, get_handle): changed "unix" to + "__unix" because DEC CXX doesn't #define "unix". Thanks to + Billy Quinn <bquinn@lads.com> for reporting this. + + * ace/High_Res_Timer.h: added comment from Gabe + <begeddov@proaxis.com> about ACE_OS::gethrtime () drift on MP + machines. + + * ace/OS.i (gethrtime, Solaris only): removed ACE_OSCALL_RETURN + wrapper around ::gethrtime () because it was broken (the type + was int) and not necessary (::gethrtime () should never fail), + so we can remove its overhead. + + * tests/Time_Value_Test.cpp: undef ACE_NO_INLINE in the + ACE_U_LongLong test hacks. + + * tests/SV_Shared_Memory_Test.cpp: delay construction of allocator + until first needed because it needs something that the + ACE_Object_Manager constructs. + + * tests/run_tests.vxworks: added console printout before each test. + +Tue Sep 30 21:42:58 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.3.9, released Tue Sep 30 21:42:58 1997. + +Tue Sep 30 17:15:14 1997 James C Hu <jxh@lambada.cs.wustl.edu> + + * ace/Filecache.{h,cpp}: I removed the static locks in the + Filecache and made them local member objects. Since Filecache + is usually a singleton, no more memory is required this way. + + * tests/Hash_Map_Manager_Test.cpp: Added some code to test the + Hash_Map_Manager_Iterator. This is to show Bob Laferriere that + it works. + +Tue Sep 30 13:41:14 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * examples/Service_Configurator/IPC-tests/server/Handle_R_Stream.i + (handle_input): + * examples/Reactor/ReactorEx/test_network_events.cpp (handle_input): + * examples/Logger/simple-server/Logging_Acceptor.cpp + (handle_input): Changed to use reset_new_handle () for querying + whether we need to reset handles or not. + +Tue Sep 30 08:35:15 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/Atomic_Op.i: added CVS header. + + * ace/Object_Manager.{h,cpp}: removed Filecache arrays, because + Filecache no longer needs them. + + * ace/Filecache.{h,cpp}: removed unused static Filecache::lock_. + + * tests/test_config.h: Added 1 second sleep to ACE_END_TEST to + allow all threads to terminate gracefully. + VxWorks only: removed the hack removal of the log file, because + it no longer appears to be necessary. + + * tests/TSS_Test_Errno.h,TSS_Test.cpp: dynamically allocate + Errno::lock_ to try to avoid problem with cleanup of statics + on VxWorks. It doesn't solve the problem, all of the time. + There are still statics in the ACE library, which could be + causing it. + +Tue Sep 30 01:35:28 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * ace/Naming_Context.cpp (close, close_down): Separated these two + functions calls. Close now only release the name_space_ + resource and close_down release all resources. Close should be + use when changing the name_space. + +Mon Sep 29 22:29:46 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * ace/Strategies_T.cpp (accept_svc_handler ): + * ace/Service_Manager.cpp (handle_input): + * ace/Acceptor.cpp (handle_input, accept_svc_handler): Changed to + use reset_new_handle () for querying whether we need to reset + handles or not. + + * ace/Reactor.{h,i} (reset_new_handle): + * ace/Reactor_Impl.h (reset_new_handle): + * ace/Select_Reactor.{h,i} (reset_new_handle): + * ace/WFMO_Reactor.{h,i} (reset_new_handle): Added this new method + so we can determine whether the implementation of the reactor + requires us to decouple the event a handle inherit from accept. + This scheme doesn't depend on the RTTI support of compilers. + Thanks to Irfan for the tips. + +Mon Sep 29 21:28:02 1997 <irfan@TWOSTEP> + + * ace/Synch (ACE_Recursive_Thread_Mutex): Methods were added to + ACE_Recursive_Thread_Mutex so that it has a consistent interface + with other locking mechanisms. Thanks to Phil Logan + <phill@in.ot.com.au> for submitting these changes. + +Mon Sep 29 13:28:05 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/OS.i (thr_setconcurrency): added support on Irix 6.x, using + its ::pthread_setconcurrency (). Thanks to Felix Popp + <fxpopp@immd9.informatik.uni-erlangen.de> for letting us know + about this Irix 6.2/3 system function, and for testing it out. + + * ace/ACE.cpp (handle_timed_complete) force recv check on VxWorks + because its read handle is always not set. Thanks to Steve for + helping track down the problem. We might want to consider doing + it this way on Unix platforms, as well, according to Steve. + + * apps/JAWS/server/HTTP_Server_T.cpp (accept): fixed typo, + "remote_address" instead of "remote_adrress". + + * tests/Time_Value_Test.cpp (test_ace_u_longlong): replaced + ACE_ASSERTs with calls to a static function that prints out + why the test failed. Also, disabled test of ACE_U_LongLong + if ACE_HAS_64BIT_LONG. + + * ace/OS.h: 1) Use u_long for ACE_hrtime_t if ACE_HAS_64BIT_LONGS. + 2) Added ACE_NO_INLINE support to allow wrapper_macros.GNU to + disable inlining from the command line. 3) Added + ACE_HAS_VERBOSE_NOTSUP support. + + * include/makeinclude/wrapper_macros.GNU: added "inline" flag to + allow enabling/disabling of inlining from the command line or + platform_macros.GNU. + + * ace/config-vxworks*.h: added ACE_HAS_VERBOSE_NOTSUP. + +Mon Sep 29 11:15:10 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * ace/OS.h (ace_cleanup_destroyer): Made this an export function. + +Sat Sep 27 17:04:48 1997 <irfan@TWOSTEP> + + * ace/Reactor: Added new methods to be able to set and get the + implementation class being used by the reactor. The set method + is protected and should be used with care, specially while + changing the implementation class midway through an + application. Also both the methods are virtual, and user can + subclass to change their behavior. The internal code of the + reactor also changed to now use these methods exclusively rather + than the the raw data variables. + + * ace/Acceptor.cpp (handle_input): When using the WFMO_Reactor, we + need to reset the event association for the newly created + handle. This is because the newly created handle will inherit + the properties of the listen handle, including its event + associations. Therefore two changes were made: + + - A new directive (flag) was added to all the acceptors + (LSOCK_Acceptor, SOCK_Acceptor, SPIPE_Acceptor, TLI_Acceptor, + and UPIPE_Acceptor) to reset the event associations of the + newly created handle. Currently only the SOCK_Acceptor pays + attentions to this directive, others just ignore it. This flag + had to be added to all the acceptors for interface + compatibility and also to make sure that the Acceptor template + code works correctly. + + - A dynamic_cast was necessary to determine at run-time which + implementation of the Reactor we are using. But because this + code is limited to Win32, there should be no problems doing + the dynamic_cast. + + The same thing as above needed to be done to: + + - ACE_Accept_Strategy::accept_svc_handler (ace/Strategies_T.cpp) + + - ACE_Service_Manager::handle_input (ace/Service_Manager.cpp) + + - LOCK_SOCK_Acceptor::accept (apps/JAWS/server/HTTP_Server_T.h) + + - Logging_Acceptor.cpp::handle_input (examples/Logger/simple-server/Logging_Acceptor.cpp) + + - Network_Listener::handle_input (examples/Reactor/ReactorEx/test_network_events.cpp) + + - Handle_R_Stream::handle_input (examples/Service_Configurator/IPC-tests/server/Handle_R_Stream.i) + +Sat Sep 27 20:03:29 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> + + * include/makeinclude/platform_sunos5_sunc++_orbix.GNU: + Activated exceptions by default too, since they are used by + Orbix anyway. + + * include/makeinclude/platform_sunos5_sunc++.GNU: + Some libraries were missing and the locations were not + completely accurate. + + * ace/config-sunos5.5-sunc++-4.x-orbix.h: + I let the MT Orbix as the default, since that is the + configuration here and that was implicit in the platform*.GNU + files. + + * include/makeinclude/wrapper_macros.GNU: + Added flags to the IDL compiler to emit support for both + CORBA::Any (-A) and the BOAImpl (-B) approach for the server + side implementations. + + * ace/CORBA_Handler.cpp: + The full definition for Thread_Manager was missing, I added an + include for it. + +Sat Sep 27 07:59:18 1997 David L. Levine <levine@cs.wustl.edu> + + * include/makeinclude/wrapper_macros.GNU, + platform_{chorus,lynxos,vxworks*}.GNU: + default to building shared libs only, except on Chorus, + LynxOS, and VxWorks. While the "shared_libs_only=1" make + flag is still supported, it is no longer necessary because + it is the default. + + To revert to the prior behavior of building both shared and + static libraries, add "static_libs=1" to either your make + command invocation or your include/makeinclude/platform_macros.GNU. + +Sat Sep 27 00:45:10 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * examples/OS/Process/README (imore): + * examples/OS/Process/Makefile: + * examples/OS/Process/imore.cpp: Added a new example: imore. + + * ace/SOCK_Stream.cpp (close, close_reader, close_writer): Moved + invalid handlers checking from close to close_reader and + close_writer. + +Fri Sep 26 14:28:36 1997 Nanbor Wang <nw1@CHA-CHA> + + * tests/SPIPE_Test.cpp: + * tests/Process_Strategy_Test: Changed the macro "ACE_LACKS_EXEC" + to "ACE_LACKS_FORK". + + * ace/SOCK_Stream.cpp (close): Added checking for invalid handle + before shutting down the write end. + +Fri Sep 26 11:55:27 1997 Steve Huston <shuston@riverace.com> + + * ace/Malloc.h: Use signed math in the preprocessor calculations + for ACE_CONTROL_BLOCK_ALIGN_LONGS (and all of its contributing + factors). + + * ace/ACE.cpp: Fixed the TLI/BSD checks in handle_timed_complete. + + * tests/SOCK_Connector_Test.cpp: Added ENOTCONN as a valid fail + condition (in addition to ECONNREFUSED). + +Fri Sep 26 05:11:40 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * ace/SOCK_Acceptor.cpp (shared_accept): Made the newly added + WSAEventSelect code unreachable. It caused several test program + hung when performing socket recieving. Don't know why this is + happening. According to the online manual, this should be the + right thing to do. Some more Access Violations to be fix + tomorrow. Oh, I mean, today. + +Fri Sep 26 01:22:28 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * ace/OS: Made a few changes to OS.h and OS.i to stop compiler + warnings. Thanks to Wei Chiang <chiang@tele.nokia.fi> for + reporting this. + + * ace/config-chorus.h: Added ACE_LACKS_RLIMIT and removed + ACE_LACKS_SIGACTION. Thanks to Wei Chiang + <chiang@tele.nokia.fi> for reporting this. + + * ace/TLI_Connector.cpp (complete): Changed the call to + ACE::handle_timed_complete() to use the new parameter. + + * ace/ACE: Added an extra parameter to the call to + ACE::handle_timed_complete() to indicate (at run-time) that this + is being called via a TLI interface. Thanks to the + ever-vigilant Steve Huston for suggesting this. + + * tests/SOCK_Connector_Test.cpp: "ACEified" the new test program. + +Thu Sep 25 23:27:38 1997 <irfan@TWOSTEP> + + * ace/config-win32.h: Error in directives: it should be "Define + ACE_HAS_WINSOCK2 to 0 in your config.h file if you do *not* want + to compile with WinSock 2.0.". The typo was a 1 instead of the + 0. Thanks to Gonzalo A. Diethelm <gonzo@ing.puc.cl> for pointing + this out. + +Thu Sep 25 20:33:09 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * ace/Message_Queue.h: Changed the *_i() methods to be virtual so + that we can change the queueing mechanism by subclassing from + ACE_Message_Queue. Thanks to Eric Newton <ecn@smart.net> for + this suggestion. + + * ace/Timer_List_T.cpp (ACE_Timer_List_Iterator_T): Changed + listParam to timer_list to keep programming style consistent... + +Thu Sep 25 17:06:42 1997 Steve Huston <shuston@riverace.com> + + * ace/OS.i - ACE_OS::cond_timedwait - HP's threads return + EAGAIN on timeout from pthread_cond_timedwait, so adjust that + to ETIME. + + * tests/SOCK_Connector_Test.cpp - will now try to find another + host to run the connect to. Won't try on Win32 or VxWorks + though. + +Thu Sep 25 15:25:53 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/Object_Manager.cpp,OS.cpp: moved socket_init to Object_Manager + ctor and socket_fini to Object_Manager dtor, to be sure that + WinSock gets initialized early and closed late. + + * ace/SOCK.{h,cpp}: removed dummy_ static now that the + Object_Manager initializes WinSock. + + No, I'm not a Win32 wizard all of the sudden. Thanks to + Irfan and Nanbor for directing these changes. + + * tests/run_tests.vxworks: commented out tests that don't run + productively on VxWorks: SV_Shared_Memory_Test, + Reactor_Exceptions_Test, SPIPE_Test, and UPIPE_SAP_Test. + +Thu Sep 25 03:50:27 1997 <irfan@TWOSTEP> + + * ace/OS.i (thr_getspecific): Must restore errno if no errors have + occured. + + * ace/Log_Msg.cpp (close): Must close the message queue *before* + destruction since there is no destructor for the queue. + + * netsvcs/lib/Client_Logging_Handler.cpp (fini): fini must close + and unregister the acceptor. Closing the socket is simply not + enough. + +Thu Sep 25 01:39:47 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * ace/Containers.{i,cpp}: Commented out all ACE_TRACE macros in + ACE_Unbounded_Queue<T> so that they won't cause SIGSEGV when we + turn the tracing on. Unbounded_Queue is used in Object_Manager + which must be initialize before most of other objects. + +Wed Sep 24 23:37:19 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * ace/OS.i (thr_getspecific): On NT, added check whether + ::GetLastError() is NO_ERROR when ::TlsGetValue() return 0. + +Wed Sep 24 13:37:02 1997 <irfan@TWOSTEP> + + * ace/config-win32-common.h (ACE_LACKS_FORK): Added in macro to + distinguish between ACE_LACKS_FORK and ACE_LACKS_EXEC. Also + updated config-chorus.h, config-vxworks-ghs-1.8.h, and + config-vxworks5.x-g++.h. + + * ace/OS.h (ACE_WIN32CALL_RETURN && ACE_WIN32CALL): Added new + macros to distinguish between Win32 calls that set GetLastError + and those that set errno. Also updated ACE_OSCALL_RETURN and + ACE_OSCALL such that they do not set errno to GetLastError. This + is because these calls automatically set errno. + + Updates OS.* files to reflect these changes. + + * ace/SOCK_Acceptor.cpp (shared_accept): Make sure to reset the + event association inherited by the new handle. + + * ace/WFMO_Reactor.i (unbind): Added a check for invalid handles + being passed in for removals. + +Wed Sep 24 10:34:29 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> + + * ace/OS.h: + Under HP-UX and g++ <dl.h> must be included for dynamic loading, + not <cxxdl.h>; thanks to Warren Thompson (wthompson@altaira.com) + for helping us with this one. + +Wed Sep 24 09:36:21 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/Managed_Object.{h,i},Object_Manager.{h,cpp}: removed + ACE_Managed_Object get_object () interface. It wasn't + used anywhere; it was originally intended to support preallocated + objects but turned out to not be necessary. I think that it would + be more useful to make it possible to instantiate + ACE_Managed_Object instead, and have it implicitly register + with the ACE_Object_Manager. + + * ace/Timer_List_T.cpp (ACE_Timer_List_Iterator_T): + changed name of "list" argument ot "listParam" to resolve name + conflict with STL. Thanks to Brian Mendel for reporting this. + + * tests/run_tests.check: print out filename with error messages. + +Tue Sep 23 17:11:44 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> + + * ace/config-hpux-10.x-g++.h: + Added A ACE_LACKS_TIMESPEC_T, thanks to Warren Thompson + (wthompson@altaira.com) for this one. + + * include/makeinclude/platform_hpux_gcc.GNU: + Added a -D_REENTRANT define, to enable reentrant methods, thanks + to Warren Thompson (wthompson@altaira.com) and Steve Huston + (shuston@riverace.com) for pointing out this. + + * ace/config-hpux-10.x.h: + Added an small comment to clarify that DCE/threads must be + installed if threading is wanted, they are an optional product + for HP-UX. + +Tue Sep 23 10:13:57 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/Select_Reactor.cpp: added #include of ace/Thread.h. + Thanks to Vladimir Schipunov <vlad@staff.prodigy.com> for + reporting this. + + * ace/Object_Manager.cpp: added #include of ace/Malloc.h. + Thanks to Vladimir Schipunov <vlad@staff.prodigy.com> for + reporting this. + + * ace/config-aix-4.1.x.h: added ACE_HAS_PTHREAD_T and + ACE_HAS_BROKEN_EXPLICIT_TEMPLATE_DESTRUCTOR #defines. + Thanks to Vladimir Schipunov <vlad@staff.prodigy.com> for + reporting the build problem on AIX 4.1, and to + Torbjorn Lindgren <tl@funcom.no> for providing these fixes. + + * ace/Token_Manager.{h,cpp},Object_Manager.{h,cpp}: + preallocate ACE_Token_Manager creation lock. + + * ace/Object_Manager.cpp: use ACE_Cleanup_Adapter<TYPE[COUNT]> + for preallocated arrays. + +Mon Sep 22 16:51:44 1997 <irfan@TWOSTEP> + + * ace/OS.i (open): Changed code so that (_O_CREAT | _O_TRUNC) + means CREATE_ALWAYS. Thanks to Dave Brackman + (dbrackma@OhioEE.com) for pointing this out. + +Mon Sep 22 11:01:28 1997 Steve Huston <shuston@riverace.com> + + * tests/SOCK_Connector_Test.cpp, Makefile, run_tests.sh - added new + test to exercise ACE_SOCK_Connector focusing on fail conditions. + +Mon Sep 22 07:11:21 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/Message_Block.cpp (clone): check this block's cont () + instead of the new block's cont_ when cloning the continuation + messages. Thanks to Eric Newton <ecn@smart.net> for tracking + down this problem with failing to clone continuation blocks, + and for providing the fix. + + * ace/OS.{h,i} (ACE_U_LongLong): added operator!=, and made args + const to ctor, operator/, hi, and lo member functions. + + * ace/Managed_Object.[hi]: renamed ACE_Managed_Cleanup to + ACE_Cleanup_Adapter because it doesn't implicitly register + itself with the ACE_Object_Manager. + + * ace/ACE.cpp: moved ACE_Object_Manager_Destroyer to + Object_Manager.cpp because the ACE_Object_Manager should + always be linked into executables now, even if libACE is + statically linked. + + * ace/Filecache.{h,cpp},Signal.{h,cpp} preallocate locks for + Filecache and Signal in ACE_Object_Manager. + + * ace/Object_Manager.{h,cpp}: 1) renamed ACE_Managed_Cleanup to + ACE_Cleanup_Adapter. 2) Moved ACE_Object_Manager_Destroyer from + ACE.cpp to Object_Manager.cpp. 3) Added Filecache and Signal locks. + + * ace/Singleton.*: removed instance (TYPE *) member function because + it wasn't being used. And, it allows us to store the contained + instance_ as an object instead of a pointer, saving a dynamic + memory allocation on construction. + + * include/makeinclude/platform_vxworks5.x_g++.GNU: added $(MUNCHED) + to PRELINK, to allow applications to add libraries or object + files to be munched. + + * ace/stdcpp.h: stdarg.h must be #included before stdio.h on LynxOS. + +Sat Sep 20 17:32:23 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/Object_Manager.{h,cpp},Managed_Object.*, + CORBA_Handler.{h,cpp},Dump.{h,cpp},Log_Msg.cpp,OS.cpp + revised ACE_Object_Manager interface for preallocated objects. + + Also, added documentation of ACE_Object_Manager interface to + Object_Manager.h and Managed_Object.h. + + * ace/CORBA_Handler.cpp,Dump.cpp,OS.cpp: use ACE_MT with + preallocated locks. + + * include/makeinclude/platform_*.GNU,wrapper_macros.GNU: + moved -O out of wrapper_macros.GNU and into each platform + file's OC[C]FLAGS to support "optimize" make flag. + + I moved -O and similar compile flags out of CFLAGS and/or + CCFLAGS and into OCFLAGS and/or OCCFLAGS. This allows the + ACE make system to support the "optimize" flag. It operates + similar to the "debug" flag, i.e., you can set "optimize=1" + or "optimize=0" in your platform_macros.GNU file to enable + or disable optimization. You can use the same syntax to + get the same effect from the "make" command line, e.g., + "make optimize=1 debug=0". + + I added optimize=1 to platform_*.GNU files that had -O, etc., + in their C[C]FLAGS. Therefore, there should be no net effect + from this change on any platform. + + * include/makeinclude/wrapper_macros.GNU: + I _removed_ the disabling of "debug" when "optimize=1" is + enabled. This _will_ have a net effect: if you were relying + on "debug" to be disabled when you enabled "optimize=1", + you'll be surprised. The change supports platforms that + allow "debug" and "optimize" simultaneously. + + Because I had added the disabling of "debug" recently, + and because "optimize=1" wasn't supported well, if at all, + I'd be suprised if any is actually affected by this change. + +Sat Sep 20 11:47:14 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> + + * ace/Timer_Queue_T.cpp: + Changed the return type to <int>, to match its declaration. The + intent was to error error values, which are declared as <int> + throughout ACE. + +Sat Sep 20 08:07:36 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/OS.i (gethrtime): on Linux only, removed "volatile" qualifier + from declaration of local variable "now". I don't think that + it's necessary. It causes compilation failure with g++ because + the ACE_U_LongLong copy constructor won't take a volatile + argument. Thanks to Sandro Doro <doros@aureus.sublink.org> for + tracking down this problem. + + * tests/Time_Value_Test.cpp: reverted to test ACE_U_LongLong on + all platforms except WIN32. It works properly on Linux with + the removal of volatile from ACE_OS::gethrtime's "now". Thanks + to Sandro Doro <doros@aureus.sublink.org> for figuring this one + out. + +Fri Sep 19 18:49:50 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> + + * ace/config-irix6.x-g++.h: + * include/makeinclude/platform_irix6.x_g++.GNU: + Added support for IRIX 6.x w/gcc, thanks to Celeste E. Copeland + (celeste@altaira.com) for this. + +Thu Sep 18 19:33:02 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> + + * Douglas added the following changes while going through the + Async_Timer_Queue. + + * ace/Timer_Queue_T.h: Factored out the code for handling + ualarm(). + + * ace/Timer_Queue_T.cpp (handle_signal): Cleanedup the logic + for rescheduling a ualarm() after expiring a timer. + + * tests/Async_Timer_Queue_Test.cpp (signal_handler): Changed the + use of ACE_DEBUG to ACE_ERROR to ensure that the call doesn't + magically disappear if ACE_NDEBUG is enabled. + +Fri Sep 19 18:05:48 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * ace/Log_Msg.cpp (log): Changed the send() to a send_n() so that + all the data gets written... + +Fri Sep 19 14:52:53 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * netsvcs/lib/Client_Logging_Handler.cpp (get_handle): Can't use + ACE_ERROR_RETURN here because ACE_HANDLE is a void* on NT, not + int. + + * examples/Reactor/Misc: Added reactors.dsp signals_1.dsp + signals_2.dsp. + + * ace/OS.cpp (thr_exit): Commented out the call to + ACE_TSS_Cleanup::exit () because ACE_OS::thr_exit is actually + called from ACE_TSS_Cleanup::exit (). + +Fri Sep 19 12:50:37 1997 David L. Levine <levine@cs.wustl.edu> + + * ACE-INSTALL*,ace/README: added more documentation of requirement + for explicit main (int, char *[]) arguments and int return type + with ACE_HAS_NONSTATIC_OBJECT_MANAGER (on VxWorks). + +Thu Sep 18 22:45:09 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * netsvcs/lib/Client_Logging_Handler.cpp (close): Fixed a + typo: it's output_ not outout_. Thanks to David for + pointing this out. + + * netsvcs/lib/Client_Logging_Handler.cpp: Make sure to clean up + all our resources (e.g., acceptor-mode and data-mode sockets) + when we close down. + + * netsvcs/servers/main.cpp (main): Restored the entire contents of + main(). + + * tests/Semaphore_Test.cpp: Updated the test to use a temporary + ACE_Time_Value variable that is passed to + ACE_Semaphore::acquire() so that we don't have problems with + reference anachronisms... Thanks to David Levine for reporting + this. + + * ace/Log_Msg.cpp: Changed over to using ACE_SPIPEs for the + logging mechanism rather than ACE_FIFOs to conform to the + changes to Client_Logging_Handler. + + * netsvcs/lib/Client_Logging_Handler.cpp: + Completely rewrote the Client Logging Daemon so that it uses + ACE_SPIPEs by default, rather than ACE_FIFOs. This is more + portable and makes it easier to write a generic client logging + daemon... If a platform doesn't support ACE_SPIPEs, then we + revert to using sockets. + +Thu Sep 18 21:56:33 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * ace/OS.cpp (ACE_TSS_Cleanup::exit): Masked out codes that relate + to freeing TSS keys and remove key entries from TSS cleanup + table. I removed it here to avoid race condition. + (ACE_TSS_Cleanup::free_all_key_left): Added this function to + free all left over TSS keys and remove them from TSS cleanup + table when the program exits. It is only called from + ACE_OS::cleanup_tss. + (ACE_OS::cleanup_tss): Added call to + ACE_TSS_Cleanup::free_all_key_left when ACE_WIN32 or + ACE_HAS_TSS_EMULATION are defined. + +Thu Sep 18 16:30:24 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/Semaphore_Test: protected declarations of test_timeout_count + and timeouts because they're not used on Solaris. + + * netsvcs/lib/Client_Logging_Handler.cpp: added template + instantiations. + +Thu Sep 18 09:04:40 1997 <irfan@TWOSTEP> + + * ace/Dynamic: Changed the way ACE_Dynamic worked. Instead of + keeping the "this" pointer of the object in question, we are now + simply keeping a flag that indicates whether the object was + dynamically created. The trick to this approach is to make sure + to reset the flag in the constructor. The "this" pointer + approach was broken when used with multiple inheritance, because + of "shearing" of the "this" pointer to get to the base + Svc_Handler class. + +Thu Sep 18 01:12:36 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.3.8, released Thu Sep 18 01:12:36 1997. + +Wed Sep 17 22:47:20 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/ACE: Added two new varargs methods for send() and recv(). + These are modeled after the ones that are in, e.g., ACE_SOCK_IO. + + * ace/Log_Msg.cpp (open): In the UNICODE version the compiler + complains about mixed wchar/char usage in Log_Msg.cpp: + + Log_Msg.cpp(468) : error C2665: 'ACE_INET_Addr::ACE_INET_Addr' : + none of the 8 overloads can convert parameter 1 + from type 'const unsigned short *' + + I fixed it modifing the connect() call from + + status = con.connect (*ACE_Log_Msg_message_queue, + ACE_INET_Addr (logger_key)); + + to + + status = con.connect (*ACE_Log_Msg_message_queue, + ACE_INET_Addr + (ACE_MULTIBYTE_STRING(logger_key))); + + Thanks to Dieter Quehl <dietrich.quehl@med.siemens.de> for + reporting this. + + * ace/SV_Semaphore_Simple.h: By default, we want the flags to + perform a SEM_UNDO. Thanks to Sandro Doro + <doros@aureus.sublink.org> for reporting this. + + * tests/Makefile (BIN): Added Semaphore_Test.cpp to the Makefile. + Thanks to Sandro Doro <doros@aureus.sublink.org> for reporting + this. + + * tests/Async_Timer_Queue_Test.cpp: If you want to print a '\', + you need to make it a \\... Thanks to David for noticing this. + + * apps/JAWS/clients/Blobby/Blob_Handler.h: There was a missing + #include for "ace/SOCK_Stream.h". + + * netsvcs/lib/Client_Logging_Handler: Reimplemented this service + so that it uses sockets on Win32 to receive logging messages + from clients. + + * ace/Log_Msg.cpp: Enhanced ACE_Log_Msg::log() so that it now uses + sockets on Win32 platforms to work around the lack of FIFOs. + + * ace/Log_Record.h: Revised the field layout of the ACE_Log_Record + so that the length field comes first. This is necessary for the + framing mechanisms used throughout ACE in various + configurations. + +Wed Sep 17 15:17:38 1997 James C Hu <jxh@lambada.cs.wustl.edu> + + * ace/Filecache.cpp: ACE_Filecache::finish should check to see if + the file passed in is NULL before attempting to grab the + associated hash lock. Reported by Samuel Melamed + <sam@vdo.net>. + +Wed Sep 17 13:51:25 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> + + * bin/auto_compile: + I setup autoflush on the logfile, it makes debugging and non + crontab usage a bit easier. + +Wed Sep 17 12:59:34 1997 <irfan@TWOSTEP> + + * ace/Local_Name_Space_T.cpp: Fixed warnings caused by SEH macros. + +Wed Sep 17 01:07:40 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.3.7, released Wed Sep 17 01:07:40 1997. + +Tue Sep 16 23:34:36 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * netsvcs/servers/main.cpp (main): The use of braces was incorrect + so that some services were being prematurely closed... + + * ace: Added a new flag called ACE_LACKS_FIFO to distinguish the + (lack of) features on Win32... + + * ace/Timer_Queue_T: Added an expire() wrapper for the + Async_Timer_Queue_Adapter. + + * ace/OS: Added a wrapper for strpbrk() and wcspbrk(). Thanks to + Bob Olson <olson@jeeves.mcs.anl.gov> and Irfan for pointing out + the need for this. + +Tue Sep 16 18:03:58 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> + + * bin/auto_compile: + It wouldn't report an error when run_tests.sh scream "FAILED", + now it does. + +Tue Sep 16 08:30:28 1997 Steve Huston <shuston@riverace.com> + + * ace/OS.i: Changed a couple of ACE_UNUSED(arg) to ACE_UNUSED_ARG(arg) + +Mon Sep 15 12:08:38 1997 <irfan@TWOSTEP> + + * ace/Reactor (register_handler): Originally this interface was + available for all platforms, but because ACE_HANDLE is an int on + non-Win32 platforms, compilers are not able to tell the + difference between + register_handler(ACE_Event_Handler*,ACE_Reactor_Mask) and + register_handler(ACE_Event_Handler*,ACE_HANDLE). Therefore, we + have restricted this method to Win32 only. + + * ace/WFMO_Reactor.h: Removed non-Win32 version of the + WFMO_Reactor. This is no longer required in the new scheme. + + * ace/XtReactor: + + Added remove_handler_i(const ACE_Handle_Set &,ACE_Reactor_Mask) + to make the compiler happy. + + Also changed ACE_Reactor_Handle_Set to ACE_Select_Reactor_Handle_Set. + + * ace/Select_Reactor.cpp (ACE_Select_Reactor_Token): Added set/get + select_reactor methods. + + * ace/OS.h (ACE_SEH_TRY): Changed ACE_SEH_TRY from nothing to + "if(1)" on non-Win32 platforms. This should stop some compilers + from complaining about unreachable code. + +Mon Sep 15 11:37:49 1997 Carlos O'Ryan <coryan@macarena.cs.wustl.edu> + + * include/makeinclude/platform_hpux.GNU: + Added -D_REENTRANT to enable the _r functions. + +Mon Sep 15 09:40:57 1997 Carlos O'Ryan <coryan@polka.cs.wustl.edu> + + * bin/auto_compile: + Enabled the shared_libs_only flags to speed up compilations (and + reduce disk space usage). + +Sun Sep 14 22:36:17 1997 <irfan@TWOSTEP> + + * ace/Select_Reactor.h: Added a no-op constructor for + ACE_Select_Reactor_Token to make the compiler happy. + +Sun Sep 14 21:02:31 1997 David L. Levine <levine@cs.wustl.edu> + + * all Makefiles: ran "make depend" to update all ACE Makefiles. + + * include/makeinclude/platform_irix6.x-32_sgic++.GNU, + platform_tandem.GNU: added debug = 1, to disable ACE_NDEBUG. + + * ace/Acceptor.cpp: added #include of ace/Handle_Set.h so that + it will compile on g++/Solaris. + + * ace/Managed_Object.h: added #include of ace/OS.h because + ACE_Cleanup class is used. + + * ace/Managed_Object.cpp: only #include ace/Synch.h if + ACE_TEMPLATES_REQUIRE_SOURCE is not defined. The #include + appears to be necessary with Digital Unix. But, it causes + inline functions warnings with g++, both with inlining + enabled and disabled. Circular #includes are evil :-) + + * ace/Select_Reactor.h: removed "," at end of DEFAULT_SIZE + enum definition. + + * ace/Select_Reactor.i (register_handler): added ACE_UNUSED_ARGS. + + * ace/Select_Reactor.i: moved ACE_Select_Reactor::size () after + ACE_Select_Reactor_Handler_Repository::size () to prevent use + before definition. + + * ace/Select_Reactor.cpp: added template instantiation. + + * ace/Svc_Conf_y.cpp: commented out unused args and wrapped + assignments in "if" conditionals to avoid g++ warnings. + + * ace/Token_Manager.h: inserting missing "public" access control + specifier for ACE_Cleanup. + + * ace/OS.{h,cpp} (gethrtime, Linux only): inlined and added Alpha + support. + + * ace/config-linux*.h: only define ACE_HAS_PENTIUM if i386 is defined. + +Sun Sep 14 10:35:57 1997 <irfan@TWOSTEP> + + * ace/Reactor: The Reactor classes (ACE_Reactor and ACE_ReactorEx) + have changed. The motivation for this change was to allow users + to program abstractly and use the most efficient implementation + available on their platform. At the same time, we wanted to + make the changes required by the users kept to a minimal. + + Here is a layout of the new Reactor hierarchy in ACE (an example + of the GOF Bridge Pattern). Thanks to Thomas Jordan + (Thomas_Jordan@deluxedata.com) for suggesting this new design. + + + Reactor -----> Reactor_Impl + ^ + | + -------------------- + ^ ^ + | | + Select_Reactor WFMO_Reactor + + Reactor: + + The Reactor class now becomes an interface class that contains + a pointer to an implementation class. All methods of the + Reactor class forward all calls to the appropriate + implementation class. Users can pass in their own + implementation class. If an implementation class is not + supplied at creation time, the following default rules apply: + + On non-Win32 platforms: An instance of the Select_Reactor + class will be created and used as the implementation. + + On Win32 platforms: An instance of the WFMO_Reactor class will + be created and used as the implementation. This default + behavior can be overwritten at compile-time by setting the + ACE_USE_SELECT_REACTOR_FOR_REACTOR_IMPL flag. In this case, an + instance of the Select_Reactor class will be created and used + as the implementation. + + Reactor_Impl: + + Reactor_Impl is an abstract class (i.e., the Bridge). + Select_Reactor and WFMO_Reactor inherit from this class. + + Select_Reactor: + + Previously known as the Reactor class. This class implements + the Reactor_Impl interface by using the select() system + call. This implementation is available on all platforms + (including Win32). + + WFMO_Reactor: + + WFMO (Wait For Multiple Objects) Reactor, previously known as + the ReactorEx class. This class implements the Reactor_Impl + interface by using the WaitForMultipleObjects() system call. + This implementation is currently only available on Win32 + platforms. + + Code changes for users: + + The higher authorities of ACE have decided that ReactorEx was + a "goofy" name and made little sense in the new hierarchy. + Therefore users using the old ReactorEx will have to change + over to start using the Reactor class (and make sure that the + implementation class being used is WFMO_Reactor). + + Also users that have extended Reactor or ReactorEx must + now subclass from Select_Reactor or WFMO_Reactor, + respectively. + + * ace/ReactorEx: + + The ReactorEx interface has been extended to be identical to the + Reactor interface. Some of these new operations will not be + supported in this version. However, we will have interface + compatability at this point. This allows the creation of the new + Reactor hierarchy in ACE. + + Removed all static (singleton) methods from ReactorEx. These are + not necessary anymore since ReactorEx will become an + implementation class. Reactor will take over this functionality. + + Changed methods names from resume_all to resume_handlers and + suspend_all to suspend_handlers. This increases the similarity + between ReactorEx and Reactor. + + Add a lock_adapter so that we can return an ACE_Lock form of our + internal lock. + + Added signal handling capabilities to ReactorEx. + + Added handler, requeue_position, mask_ops, and ready_ops + operations. However, they are not supported in this + version. They are mostly here for interface compatibility with + Reactor. + + Added a size() accessor that returns the current size of the + ReactorEx's internal descriptor table. + + Added an initialized() accessor that returns true if ReactorEx + has been successfully initialized, else false. + + * ace/Reactor: + + The Reactor interface has been extended to be identical to the + ReactorEx interface. Some of these new operations will not be + supported in this version. However, we will have interface + compatability at this point. This allows the creation of the new + Reactor hierarchy in ACE. + + Added resume_handler(ACE_Handle_Set &) and + suspend_handler(ACE_Handle_Set &) to the Reactor. This + increases the similarity between ReactorEx and Reactor. + + Add a lock_adapter so that we can return an ACE_Lock form of our + internal lock. This changes the signature of the return type + from ACE_Reactor_Lock to ACE_Lock. + + Added a size() accessor that returns the current size of the + Reactor's internal descriptor table. + + Added wakeup_all_thread() operation. Currently it just does a + notify. + + Added alertable_handle_events() operation. Currently it just + calls handle_events(). + + Added register_handler (that take event handles) operations. + However, they are not supported in this version. They are mostly + here for interface compatibility with ReactorEx. + + * ace/XtReactor: Now inherits from Select_Reactor instead of + Reactor. + + * ace/Timer_Queue_T.h: Removed the inclusion of Time_Value.h. This + file does not exist anymore + + * ace/Synch_T (ACE_Lock_Adapter): Changed the implementation of + the adapter such that the user is allowed to (optionally) pass + in the locking mechanism. + + * ace/Strategies: Removed ACE_ReactorEx_Notification_Strategy. + + * ace/Service_Config: Updated Service_Config so that all ReactorEx + and Proactor methods are removed. ReactorEx does not exist any + longer and Proactor methods are available as statics methods on + the Proactor class. + + * ace/OS.h (ACE_DEFAULT_SELECT_REACTOR_SIZE): Changed + ACE_DEFAULT_REACTOR_SIZE to ACE_DEFAULT_SELECT_REACTOR_SIZE. + There is no default size dictated by the Reactor class anymore. + + * ace/Local_Tokens,Token: Added new methods: acquire_read, + acquire_write, tryacquire_read, tryacquire_write. These methods + allow the Tokens to be used by the ACE_Lock_Adapter class. + + * ace/Handle_Set.h (MAXSIZE): Changed ACE_DEFAULT_REACTOR_SIZE to + ACE_DEFAULT_SELECT_REACTOR_SIZE. There is no default size + dictated by the Reactor class anymore. + + * ace/Event_Handler: Removed the Proactor and ReactorEx pointers + from Event_Handler. The Proactor has its own event handler + (ACE_Handler), and the ReactorEx does not exist anymore. + + * ace/Proactor: + + Changed Proactor to work with the new Reactor. + + Updated Proactor to bring it upto date with the recent changes + to the Timer_Queue. + + * tests: + + Removed the ACE_NEW_THREAD macro. With the new thread adapter, + the log stream for the new thread will automatically be set to + the creator thread's stream. Therefore, this macro is not + needed. + + Removed the inclusion of Service_Config.h. All tests are now + accessing the singletons that are supported by the class directly. + + * examples/Reactor/Proactor: Updated examples to use and access + the new Reactor class instead of the old ReactorEx. + + * examples/Reactor/ReactorEx: Updated examples to use and access + the new Reactor class instead of the old ReactorEx. + +Sun Sep 14 09:50:22 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * ace/Singleton.i (ACE_Singleton): Moved the definition of the + ACE_Singleton default constructor into the *.i file. In + general, it's not a good idea to put definitions in *.h files. + + * tests/test_config.h: Improved the #undef scheme for ACE_NDEBUG. + +Sat Sep 13 23:51:55 1997 Nanbor Wang <nw1@dingo.wolfpack.cs.wustl.edu> + + * ace/ACE_Library.{mak,mdp}: Removed Service_Record.cpp and added + Service_Type.cpp in project file. + + * ace/: Removed ace.{mak,mdp} and replaced them with + ACE_Library.{mak,mdp}. MSVC 4.2 insists to change the release + version DLL from our original setting "ace.{dll,lib}" to "ACE + dynamic Library.{dll,lib}". This is so far the only known + method to get around this. + + * netsvcs/servers/servers.{dsw,dsp}: Changed the output filenames + of debug version from maind.exe to main.exe. + + * netsvcs/lib/netsvcs.{dsw,dsp}: Changed the output filenames of + debug version from netsvcsd.{dll,lib} to netsvcs.{dll,lib}. + + * ace/ace.dsw: + * ace/ace_{dll,lib}.dsp: Removed Service_Record.cpp and added + Service_Type.cpp. + + * ace/Log_Msg.cpp (open): Fixed a typo. + + * ace/Reactor.cpp: Fixed a typo. + +Sat Sep 13 17:23:22 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.3.6, released Sat Sep 13 17:23:22 1997. + +Sat Sep 13 12:11:50 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * tests: #include "test_config.h" before all the other files so + that we always have the ACE_ASSERT enabled... Thanks to Carlos + for noticing this. + + * ace/Reactor.cpp: Added Arturo's improvements for suspending and + resuming Event_Handlers. + + * tests/Reactors_Test.cpp: As a result of the new changes to + ACE_Thread_Manager, the Reactors_Test now seems to be working + fine. + + * ace/Thread_Manager.cpp (append_thr): When we append a new + Thr_Descriptor make sure to zero-out the cleanup_info_ fields + since otherwise horrible things will happen... + + * ace/Reactor: Added a new ACE_Reactor_Handle_Set called + suspend_set_ and updated the suspend_i() and resume_i() method + to use this set to store the ready bits that are enabled when we + suspend and resume and Event_Handler, respectively. Thanks to + Arturo for this suggestion. + + * tests/TSS_Test.cpp (main): Had to move the allocation and + deletion of TSS_Error into the ACE_HAS_THREADS section since + otherwise this test doesn't work when threading is disabled. + + * tests/Thread_Manager_Test.cpp: Move the template specialization + inside of the ACE_HAS_THREADS macro since otherwise this test + doesn't work when threading is disabled. + + * ace/Thread_Manager.cpp: Arrgh! Must initialize the cleanup_info + fields to 0 in the constructor for ACE_Thread_Descriptor! This + should fix a nasty bug... + + * tests/Async_Timer_Queue_Test.cpp: Continued to improve the + documentation in the test of the ACE_Async_Timer_Queue_Adapter. + + * ace/Timer_Queue_T.cpp (schedule): Oops, must pass &this->mask_ + to ACE_Sig_Set rather than this->mask_. + + * ace/Object_Manager.cpp: Changed #include + "ace/Service_Repository.h" to #include "ace/Service_Config.h" + since we now call ACE_Service_Config::close(). + + * ace/Service_Types: Removed a nasty circular dependency by simply + having each of the ACE_Service_Type_Impl subclasses take const + void *'s rather than their specific type (i.e., ACE_Stream or + ACE_Module, etc.). This turns out not to be a problem since we + treated them as const void *'s internally anyhow... + + * ace/Strategies_T.cpp: Fixed a bug in ACE_DLL_Strategy: + + ACE_Service_Type_Impl stp = new ACE_Service_Object_Type (svc_handler, this->svc_name_); + + should be + + ACE_Service_Type_Impl *stp = new ACE_Service_Object_Type (svc_handler, this->svc_name_) + + I wonder how this ever compiled?! + +Fri Sep 12 13:26:50 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Mem_Map.cpp (close): Removed the following code in the + close() method that appears to be redundant with the code in + unmap(): + + if (this->file_mapping_ != this->handle_ + && this->file_mapping_ != ACE_INVALID_HANDLE) + ACE_OS::close (this->file_mapping_); + + Also cleaned up the close() code so that it doesn't try to close + the handle multiple times, even if close() is called more than + once. Thanks to Beged-Dov <begeddov@proaxis.com> for reporting + this. + + * tests/Async_Timer_Queue_Test.cpp: Improved the structure of the + program and finished implementing the new feature that makes it + possible to avoid blocking SIGQUIT. + + * ace/Timer_Queue_T: Added support for an ACE_Sig_Set that can be + passed into the constructor of ACE_Async_Timer_Queue_Adapter. + This will enable us to selectively block only certain signals. + + * ace/Signal: Added a new constructor for ACE_Sig_Set that takes + ACE_Sig_Set * and also improved the documentation of the + constructor interfaces. + +Fri Sep 12 13:46:04 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/OS.[hi],Log_Msg.h,config-lynxos.h, + include/makeinclude/platform_lynxos.GNU: added LynxOS port, + provided by Dave Mayerhoefer <davem@lynx.com>. Note how few + files were affected. What's even more amazing is the very small + number, 8, of very minor code changes to OS.[hi] and Log_Msg.h. + This is a tribute to the maturity of + <a href="http://www.lynx.com>LynxOS</a>, a POSIX-conforming, + multiprocess, and multithreaded real-time operating system. + And to the maturity of ACE. + +Fri Sep 12 12:53:20 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/config-osf1-4.0.h: added + ACE_HAS_BROKEN_EXPLICIT_TEMPLATE_DESTRUCTOR. + + * ace/Managed_Object.cpp: added #include "ace/Synch.h". + + * ace/Strategies_T.cpp: added #include "ace/Service_Types.h". + + Thanks to James Johnson for the three fixes above. + + * ace/Service_Types.cpp: #include Service_Types.i instead of + Service_Record.i. + + * ace/Synch_T.cpp: added #include "ace/Log_Msg.h". I don't know + what change caused this to be necessary, but tests/TSS_Test + wouldn't build without it. + + * ace/Log_Msg.cpp (instance): preallocate ACE_Log_Msg instance lock. + +Thu Sep 11 21:07:25 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * ace/Service_Object.h: Moved the ACE_Service_Type class into the + Service_Object.h file since this is "publically" visible to + applications. + + * ace/Service_Types.h: Improved the documentation of the + ACE_Service_Type subclass implementations. + + * ace/Service_Types: Changed the name next_ to link_ to be + consistent with the accessor name. + + * ace: Renamed Service_Record.{h,i,cpp} to Service_Types.{h,i,cpp} + to reflect the recent change in names. + + * ace/Service_Object.h: Renamed ACE_Service_Type to + ACE_Service_Type_Impl and ACE_Service_Record to ACE_Service_Type + in order to emphasize the use of the Bridge pattern. Thanks to + Eric Newton for motivating this. + + * ace/Svc_Conf.y: Removed the warning about Service name being + different from Module name. I'm not sure why this was + complaining in the first place. Thanks to Eric Newton for + pointing this out. + + * netsvcs/lib/README: The entry point for the time service client + is _make_ACE_TS_Clerk_Processor and not + _make_ACE_TS_Clerk_Connector. Thanks to Ivan for pointing this + out. + +Thu Sep 11 10:59:12 1997 <nw1@CHA-CHA> + + * ace/Connector.cpp (handle_output): Increased the idle time + before we check the status of a non-blocking connection from 1 + ms to 35 ms when ACE_HAS_BROKEN_NON_BLOCKING_CONNECTS is + defined (i.e., Win32.) This is very odd but wait a whole lot + longer seems to solve the problem. + + * ace/Log_Msg.cpp (close): On Win32, ACE_Log_Msg_Manager needs to + delete main thread's ACE_Log_Msg instance also. + +Thu Sep 11 10:37:00 1997 Carlos O'Ryan <coryan@polka.cs.wustl.edu> + + * ace/ACE.cpp: + * ace/INET_Addr.cpp: + * ace/Log_Msg.h: + * ace/Memory_Pool.h: + * ace/OS.h: + * ace/OS.i: + * ace/Parse_Node.cpp: + * ace/Strategies_T.h: + * bin/clone.cpp: + * netsvcs/clients/Naming/Dump_Restore/Dump_Restore.h: + I checked the use of MAXNAMELEN vs. MAXPATHLEN; all buffers + intended to keep full filenames should have at least + MAXPATHLEN+1 chars. + Only buffers that will keep basenames (without any directories) + should have MAXNAMELEN+1 bytes. + I also added a new macro ACE_MAX_FULLY_QUALIFIED_NAME_LEN which + is the maximum number of characters for a fully qualified + internet hostname. + There remain one obscure usage of these macros in ace/Malloc.h + and Local_Naming_Space_T.{h,cpp}, but a quick fix broke + something, I will try again soon. + +Thu Sep 11 08:52:36 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/OS.cpp (thr_key_detach): check to see if the + ACE_TSS_Cleanup lock has been constructed, and not + destructed, before attempting to use it. Statics are evil. + + * ace/Log_Msg.cpp (~ACE_Log_Msg): release guard before calling + ACE_Log_Msg_Manager::close (), because that deletes the lock. + + * ace/Managed_Object.{h,cpp} (get_object): changed type of "id" + to int because it will often be passed an enum. Pass "id" by + value to get_object (int id), for preallocated objects. + + * ace/Object_Manager.{h,cpp}: added ACE_LOG_MSG_INSTANCE_LOCK, + and ACE_PREALLOCATE_OBJECT macro. + + * include/makeinclude/wrapper_macros.GNU: ignore shared_libs_only + in modules that only build a static lib. Fixed shared_libs_only + by removing OBJDIRS, unless BIN is undefined, and VDIR. Removed + SHOBJ from both shared_libs_only and static_libs_only because + they're unused. + + * include/makeinclude/rules.local.GNU: added lib*.*_pure* to + clean.local target, to remove Purified libraries. + + * examples/Connection/non_blocking/Makefile, + examples/Service_Configurator/IPC-tests/server/Makefile: + removed -L./ from LDFLAGS because it's redundant: + wrapper_macros.GNU adds it. + +Wed Sep 10 22:58:10 1997 Douglas C. Schmidt <schmidt@mambo.cs.wustl.edu> + + * ace/Thread_Manager.cpp (exit): Reordered the code so that it + will keep the lock held long enough to copy out the thread exit + hook but will release the lock before calling this hook. + +Wed Sep 10 11:04:08 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/config-sunos5.5-g++.h: added + ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS. + + * include/makeinclude/wrapper_macros.GNU: added PIC= with + static_libs_only, and added list of supported make flags. + + * include/makeinclude/wrapper_macros.GNU: added support for + debug=0, etc. Also, made debug, optimize, and profile + flags independent instead of exclusive. Thanks to Per + Andersson for suggesting this. + + * include/makeinclude/platform_*.GNU: replaced "CFLAGS += + $(DCFLAGS) with debug=1 so that debugging can easily be + disabled. Thanks to Per Andersson and James CE Johnson + for noticing this deficiency. + + * include/makeinclude/platform_vxworks5.x_g++.GNU: removed + "-I. -I$(ACE_ROOT)" from CFLAGS because it duplicates the + INCLDIRS set in wrapper_root.GNU. + +Wed Sep 10 10:35:06 1997 David L. Levine <levine@cs.wustl.edu> + + * ACE version 4.3.5, released Wed Sep 10 10:35:06 1997. + +Wed Sep 10 10:25:41 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/Thread_Manager.cpp (exit): copy the thread exit hook before + releasing the guard, and call it after releasing the guard. + + * examples/Shared_Malloc/test_malloc.cpp (spawn): added (char *) + cast of slave_name () to avoid compilation warnings on Solaris. + +Wed Sep 10 00:43:04 1997 Nanbor Wang <nw1@dingo.wolfpack.cs.wustl.edu> + + * ace/Makefile: Added Managed_Object to template sources. + + * ace/Object_Manager.{h,cpp}: * ace/Managed_Object.{h,cpp}: + Separate ACE_Managed_Object to a new set of file. + +Tue Sep 9 23:41:56 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * tests/Reactors_Test.cpp (main): Check to see if wait() returns + -1 and then test to see what's gone wrong! + + * ace/OS.h: Added a "fake" #define for SIGALRM so that programs + will *compile* on platforms like Chorus. Thanks to Wei Chiang + for reporting this. + + * examples/Shared_Malloc/test_malloc.cpp (spawn): HP/UX doesn't + seem to like const char *const argv[] being given an initializer + list. I've fixed this to be just plain ol' char *argv[]. + Thanks to Sandro Doro for reporting this. + + * ace/Handle_Set.i (clr_bit): Replaced SOCKET with ACE_SOCKET so + this will compile on UNIX. + +Tue Sep 09 17:16:21 1997 <irfan@TWOSTEP> + + * ace/Proactor: Updated Proactor to bring it upto date with the + recent changes to the Timer_Queue. + + * ace/Handle_Set.i (clr_bit and set_bit): These methods now change + the size_ member of the class on Win32. This is necessary since + the ACE_Handle_Set::operator fd_set *() accessor has been + optimized for size_ == 0. + +Tue Sep 09 09:14:07 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/OS.cpp (cleanup_tss): On WIN32 and with ACE_HAS_TSS_EMULATION, + delete the ACE_TSS_Cleanup instance instead of registering it for + cleanup via the ACE_Object_Manager's at_exit (). This should allow + applications to use ACE_Log_Msg in their at_exit () hooks. Thanks + to Wei Chiang <chiang@tele.nokia.fi> for reporting this problem. + + * ace/Object_Manager.{h,cpp}: added guard of internal structures. + (dtor): call at_exit hooks before calling cleanup_tss, now that + the ACE_TSS_Cleanup instance is no longer registered for an at_exit + call. (at_exit): set errno instead of returning different values + on error. Added ACE_Managed_Object template class, intended for + use in replacing static instances. + + * ace/Thread_Manager.cpp (exit): release guard before running the + thread exit hooks. This should help avoid deadlocks, in case + one of those hooks needs to operate on the Thread_Manager. + + * ace/CORBA_Handler.{h,cpp},Dump.{h,cpp},Object_Manager.{h,cpp}: + preallocate locks for CORBA_Handler and Dump in ACE_Object_Manager. + Statics are evil. + + * ace/Synch.{h,cpp},OS.cpp,Object_Manager.{h,cpp}: removed + ACE_TSS_Cleanup_Lock and replaced it with a preallocated mutex + in OS.cpp. Thanks to Nanbor for reporting problems at shutdown + with the old ACE_TSS_Cleanup_Lock static instance. + + * include/makeinclude/platform_sunos5_sunc++.GNU: when building + libraries only, don't use CC to create individual .shobj/*.so + files. The .so files are not needed to build libraries, because + libraries are built with -G. (They are needed to avoid upsetting + the ACE make rules, so they're created as links to their + corresponding .o files.) The .so files are still needed when + building executables in order to get all template instantiations. + + * include/makeinclude/platform_sunos5_g++.GNU: removed unused + SOLINK definitions. + +Mon Sep 8 18:38:22 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * tests/Handle_Set_Test.cpp: It is possible for the order to get + the handles (using the iterator) will not agree with insert + order in ACE_Unbounded_Queue. It's best to use + ACE_Unbounded_Set. Thanks to Arturo for this fix. + +Mon Sep 8 17:43:43 1997 Darrell Brunsch <brunsch@cs.wustl.edu> + + * ace/Timer_{List,Wheel,Hash,Heap}_T.cpp: The iter() method now + returns a pointer to an iterator that is in a reset state + instead of an unknown one. + +Mon Sep 8 14:05:15 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * ace/ACE.cpp (read_adapter): Removed ACE_Thread_Control object in + this function. This is now taken care of by ACE_Thread_Manager. + (register_stdin_handler): This function no longer uses + ACE_Stdin_Args to pass in thread manager into read_adapter. + + * ace/ACE.h (ACE): Removed class ACE_Stdin_Args, because it is no + longer needed. + +Mon Sep 08 11:49:02 1997 David L. Levine <levine@cs.wustl.edu> + + * tests/run_tests.sh: moved log file checks out to separate file, + run_tests.check. + + * tests/run_tests.vxworks: added one-button test for VxWorks. + Check it out, Darrell. + + * ace/Filecache.cpp: commented out unused constants [RW]COPY_FLAGS. + +Mon Sep 08 08:26:52 1997 David L. Levine <levine@cs.wustl.edu> + + * ACE version 4.3.4, released Mon Sep 08 08:26:52 1997. + +Sat Sep 6 10:41:17 1997 Carlos O'Ryan <coryan@polka.cs.wustl.edu> + + * ace/Malloc.h: + sizeof() must be casted to int in ACE_CONTROL_BLOCK_ALIGN_LONGS + otherwise unsigned int arithmetic is used, thus obtaining + unexpected results. + +Sat Sep 06 09:07:02 1997 David L. Levine <levine@cs.wustl.edu> + + * OS.{h,cpp}: added ACE_Cleanup base class and + ace_cleanup_destroyer adapter. + + * Object_Manager.*: added at_exit () interface for ACE_Cleanup objects. + + * Singleton.{h,cpp},Token_Invariants.{h,cpp},Token_Manager.{h,cpp}: + base on ACE_Cleanup, so that simpler ACE_Object_Manager::at_exit () + can be used. + + * performance-tests/Misc/Makefile: moved $(BIN) files from FILES + to SRC so that they don't get put into libPerf. + +Sat Sep 6 02:36:31 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * tests/test_config.h (set_output): Added openning flag ios::trunc + explicitly if we are not appending to the opening ofstream. + This is required by standard CPP iostream libraries on NT (i.e., + we can't use ios::out alone when ofstream.open a file.) + +Sat Sep 6 00:21:33 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Synch_T.h: Added new constructors: + + ACE_Guard(ACE_LOCK& l) : lock_(&l) + { this->owner_ = this->acquire(); } + + ACE_Read_Guard(ACE_LOCK& m) : ACE_Guard(&m) + { this->owner_ = this->acquire_read(); } + + ACE_Write_Guard(ACE_LOCK& m) : ACE_Guard(&m) + { this->owner_ = this->acquire_write(); } + + Remove default argument to current Guard classes. + + ACE_Guard(ACE_LOCK&l, int block) + ACE_Read_Guard(ACE_LOCK& m, int block) + ACE_Write_Guard(ACE_LOCK&m, int block) + with the current semantic. + + This change allows OS platforms with + ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION or ACE_HAS ??? PRAGMA + ???, to> invoke common case constructor in a more efficient + way. Thanks to Arturo for this. + + * ace/Synch_T.h: ACE_Guard's destructor should be: + + ~ACE_Guard() { this->release(); } + + and not + + ~ACE_Guard() { if (this->owner_ != -1) this->release(); } + + because ACE_Guard::release has this test. Thanks to Arturo for + reporting this. + + * ace/ARGV.cpp: Declared the char* parameters for the ACE_ARGV + class constructors as const. Since they are copied in the + constructors, this is a safe thing to do. This makes it easier + to pass the result of string::c_str() to it. Thanks to Stephen + Coy <stevec@magna.com.au> for this suggestion. + + * ace/Thread_Manager.cpp: We were missing a Guard in the + ACE_Thread_Manager::at_exit() method. + + * ace/config-sunos5.5-sunc++-4.x.h: It appears that we need to set + ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS for Solaris 2.5 since otherwise + wierd things happen randomly. This is based on the following man + page entry for pthread_exit(): + + Do not call pthread_exit() from a cancellation cleanup handler + or destructor function that will be invoked as a result of + either an implicit or explicit call to pthread_exit(). + + * ace/Thread_Manager.cpp (run_thread_exit_hooks): Once the cleanup + hook(s) are called we set the value of the cleanup hook variable + to 0 to avoid false matches later on. + +Fri Sep 5 21:57:44 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * ace/Containers.i (is_empty): + * ace/Malloc.cpp (instance): Commented out ACE_TRACE in these + routines. They were causing recursive call if we used TRACE. + Thanks to Craig Perras <craig.perras@CyberSafe.COM> for solving + this. + + * ace/Handle_Set.i (fd_set *): Added conditional compilation code + for Win32 platforms. This is because we don't maintain <size_> + on Win32 and, therefore, can't depend on it. + +Fri Sep 5 19:05:02 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * tests/Thread_Manager_Test.cpp (main): moved delete + signal_catcher into the ACE_HAS_THREADS part of the main() + function. + + * ace/Reactor.cpp (check_handles): When handle_error was optimized + with fstat we put NULL value to second argument. It requires a + value to SCO OpenServer to work. Therefore, I added struct stat + temp and changed ACE_OS::fstat(handle, NULL) by + ACE_OS::fstat(handle, &temp); Thanks to Arturo for fixing this. + + * examples/Threads/process_manager.cpp (sig_handler): Fixed a bug + where the thread was exiting if no more children existed. + Thanks to Avraham Nash <ANash@Engagetech.com> for reporting + this. + + * ace/Handle_Set: Added the following performance enhancements: + + . Assignment operator to optimize size == 0. + + . min_handle to manage the case when the Handle_Set start in + handle different of zero. + + . A new iterator algorithm tuned for select function calls. + + Thank to Arturo for these enhancements. + + * ace/config-aix-4.1.x.h: Added ACE_LACKS_TIMESPEC_T. Thanks to + Rob Head (rhead@virtc.com) for reporting this. + + * ace/OS.cpp (fork_exec): Changed the logic so that we don't + create a new console window on Win32. This isn't done on UNIX, + so there's no point in doing it here. Thanks to Jeff Richard + <jrichard@OhioEE.com> for pointing this out. + + * ace/Reactor.cpp: The call to + ACE_Reactor_Handler_Repository::open() in the constructor of + ACE_Reactor should check for == -1! Thanks to Brian Mendel for + reporting this. + + * ace/Reactor.cpp (remove_handler): Fixed a braino where the + conditional compile for NSIG should have been > 0 rather than == + 0. Thanks to fixing this codeKaren Amestoy + <kamestoy@CCGATE.HAC.COM> for reporting this fix. + +Fri Sep 05 16:17:50 1997 David L. Levine <levine@cs.wustl.edu> + + * performance-tests/Misc/preempt.cpp: added command line options, + and explanation on how to interpret the results. + +Thu Sep 04 10:26:11 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/OS.cpp: (tss_open): removed paren from around type in "new" + statement, because GHS (and ANSI C++) compilers will choke on it. + Thanks to Brian Mendel <brian.r.mendel@boeing.com> for reporting + this. + + * ace/Thread_Manager.cpp: (ACE_Thread_Descriptor ctor): zero out + cleanup_hook_ in cleanup_info_ because we read it later on. + (dump): added guard because thr_table_ is accessed. (wait): + hacked in thr_yield () to give waited threads a chance to clean + up before continuing. + + * ace/OS.h (ACE_Cleanup_Info): added default ctor. + + * ace/Log_Msg.cpp (close): delete main thread's Log_Msg instance, + on Solaris if ACE_HAS_EXCEPTIONS is not defined, because main + thread TSS dtors apparently don't get called. + + * ace/Token_Manager.{h,cpp}: register ACE_Token_Manager singleton + for deletion with ACE_Object_Manager. + + * ace/Token_Invariants.{h,cpp}: register ACE_Token_Invariant_Manager + singleton for deletion with ACE_Object_Manager. + + * ace/Naming_Context.cpp (close) moved deletion of "name_options_" + from dtor to close (), because when Service_Repository is closed, + it calls close () instead of deleting the service. + + * ace/Process_Strategy.cpp (handle_signal): suppress printouts during + shutdown, to prevent using ACE_Log_Msg while it's being deleted. + + * ace/Timer_List.cpp: replace ACE_Recursive_Thread_Mutex with + ACE_SYNCH_RECURSIVE_MUTEX, for non-threaded platforms. + + * tests/Reactors_Test (~Test_Task): moved ASSERT after the printout, + so we can see why it failed. (svc): added printout with thread ID. + (main): deleted reactor at end of test to prevent leak. + + * tests/SPIPE_Test (client): increased sleep time to 10 sec, + because a long delay is needed with Purify. + + * tests/UPIPE_Test (connector): added 5 second sleep to give + acceptor a chance to start up. + + * include/makeinclude/wrapper_macros.GNU: added -max_threads=100 to + Quantify options. + + * include/makeinclude/rules.local.GNU: added *.sym to clean target. + +Thu Sep 04 09:39:08 1997 David L. Levine <levine@cs.wustl.edu> + + * ACE version 4.3.3, released Thu Sep 04 09:39:08 1997. + +Thu Sep 04 08:48:13 1997 David L. Levine <levine@cs.wustl.edu> + + * include/makeinclude/wrapper_macros.GNU: added shared_libs_only + and static_libs_only build options. Only static_libs_only + has been tested successfully. + + * include/makeinclude/rules.lib.GNU: added INSTALL support for + shared_libs_only and static_libs_only. + + * include/makeinclude/platform_vxworks*.GNU: use static_libs_only. + + * ace/OS.cpp: moved tss_open ()/tss_close () calls from invoke () + to ace_thread_adapter. + + * examples/Threads/auto_event.cpp,manual_event.cpp, + process_manager.cpp,reader_writer.cpp,tss2.cpp: + cast spawn entry point to ACE_THR_FUNC. + + * examples/Threads/task_four.cpp (Invoker_Task): rearranged + initializers to match declaration order. + + * examples/Threads/thread_specific.cpp (worker): use + ACE_OS::printf () instead of printf (), and print out the + ACE_hthread_t instead of the ACE_thread_t. + + * examples/IPC_SAP/SPIPE_SAP/client.cpp,consumer_msg.cpp, + consumer_read.cpp,producer_msg.cpp,producer_read.cpp,server.cpp: + moved #include of shared.h inside ACE_HAS_STREAM_PIPES protection + to avoid compilation warnings on unsupported platforms. + + * examples/Reactor/Ntalker/ntalker.cpp (main): removed unused "argc". + + * examples/*/*.cpp,netsvcs/clients/Tokens/mutex/test_mutex.cpp: + added args to main (). + +Wed Sep 3 21:38:18 1997 Carlos O'Ryan <coryan@polka.cs.wustl.edu> + + * ace/config-irix6.x-sgic++.h: + IRIX uses pthread_sigmask to manage per-thread signal mask, + thanks to Gonzalo Diethelm (gonzo@ing.puc.cl) for pointing out + this one. + + * ace/OS.h: + Removed an initial '#' for a comment line, thanks to Gonzalo + Diethelm (gonzo@ing.puc.cl) for pointing out this one. + + * ace/Timer_Hash_T.cpp: + * ace/Timer_Hash_T.h: + * ace/Timer_Heap_T.cpp: + * ace/Timer_Heap_T.h: + * ace/Timer_List.cpp: + * ace/Timer_List_T.cpp: + * ace/Timer_List_T.h: + * ace/Timer_Queue_T.cpp: + * ace/Timer_Queue_T.h: + * ace/Timer_Wheel_T.cpp: + * ace/Timer_Wheel_T.h: + In the word of its author: Modified the iterators kept in + each of these classes so that they are constructed + dynamically on the heap after the Queue has been properly + initialized. Otherwise, the iterators try to iterate over a + non-initialized queue, and fail miserably (usually dumping + core). Once more thanks to Gonzalo Diethelm + (gonzo@ing.puc.cl) for this changes. + + * tests/UPIPE_SAP_Test.cpp: + Gonzalo improved the error message. + + * ace/README: + Gonzalo updated the documentation for some macros. + +Wed Sep 03 15:21:46 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/OS.h: define ACE_TSS macros with ACE_HAS_TSS_EMULATION, + and renamed some ACE_TSS_Emulation methods. + + * ace/OS.i: allow TSS_Emulation storage to be on thread stack, + instead of always dynamically allocating it. + + * ace/OS.cpp (ACE_Thread_Adapter::invoke): allocate TSS_Emulation + storage on thread stack. (ACE_TSS_Cleanup::exit): only call + a TSS destructor if the thread's value is non-zero. + + * ace/Thread_Manager.cpp: support TSS_Emulation. + + * ace/Thread_Manager.cpp (resize): zero out unused cleanup_hooks + in thr_table_; (run_thread_exit_hooks): check for zero cleanup + hook before calling. + + * ace/Synch_T.*: allow ACE_HAS_TSS_EMULATION _or_ + ACE_HAS_THREAD_SPECIFIC_STORAGE. + + * ace/Object_Manager.{h,cpp}: allocate main thread's TSS_Emulation + storage in the ACE_Object_Manager instance. + + * ace/Log_Msg.h: befriend ACE_OS::cleanup_tss () instead of + ACE_Object_Manager, because the cleanup path is now indirect + from the ACE_Object_Manager. + + * ace/Log_Msg.cpp: use TSS_Emulation on VxWorks, so + VxWorks-specific code was removed. + + * ace/Task.cpp: removed unused #include of ace/Dynamic.h. (It had + been used for template instantiations, but they were moved.) + Also, removed unused #include of ace/Object_Manager.h. + + * ace/Svc_Handler.{h,cpp}: register Svc_Handler singleton for + deletion with the ACE_Object_Manager. + + * tests/Process_Strategy_Test (Options): added a destructor so that + the dynamically allocated concurrency_strategy_ can be deleted. + +Wed Sep 3 08:05:26 1997 Steve Huston <shuston@riverace.com> + + * ace/Message_Block.h: Corrected comment on release(void) - the + underlying ACE_Data_Block's refcount is decremented; the + ACE_Message_Block is always deleted. + +Tue Sep 2 18:26:22 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Task: Revised the ACE_Task_Base::svc_run() method to + register a thread exit hook (ACE_Task_Base::cleanup()) + + * ace/Task: Added a static method called cleanup() that can serve + as a thread exit hook to ensure that close() is always called + when a task exits a thread. + + * ace/Thread_Manager: Added the first-cut implementation of the + thread exit hooks. This one is butt-simple -- just allowing a + single hook per-thread, but that should be enough to get us over + the hump... + + * ace/OS.h: Moved the object_info_t type from Object_Manager.h and + renamed it to ACE_Cleanup_Info since we will use it with the + Thread_Manager and the Object_Manager. + + * ChangeLog-97b: Emptied out the ChangeLog-97b file until + we move the ChangeLog to this file... + + * ace/OS.h: Moved the <ACE_CLEANUP_FUNC> typedef from the + ACE_Object_Manager into global scope so that it can also be used + by the ACE_Thread_Manager. + + * ace/DEV_IO: Moved the get_remote_addr() and get_local_addr() + from the DEV class to the DEV_IO class, which seems to be more + consistent with how they should be used. + + * ace/FILE_IO: Added the get_remote_addr() and get_local_addr() + methods to FILE_IO. Now we should be able to use this with the + Connector pattern. Thanks to Stephen Coy + <coys@mail.ns.wsa.com.au> for reporting this. + + * ace/DEV_Connector*h, ace/FILE*.h: Added "traits" for PEER_ADDR + and PEER_STREAM. Now we should be able to use this with the + Connector pattern. Thanks to Stephen Coy + <coys@mail.ns.wsa.com.au> for reporting this. + + * tests/Async_Timer_Queue_Test.cpp (main): Replaced the use of + fputs() with read() so that it will be signal-safe. Thanks to + Carlos for pointing out the need for this. + + * ace/Task: All the complex ACE_Task_Exit logic has been moved out + of the Task file and into the Thread_Manager file. This will + both simplify and generalize the behavior of cleanups on thread + exit. + +Tue Sep 2 14:42:52 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * ace/config-chorus.h (ACE_HAS_BROKEN_EXPLICIT_TEMPLATE_DESTRUCTOR): + Added this directive for Chorus uses g++. Thanks to David + Levine for pointing this out. + +Mon Sep 01 21:31:25 1997 David L. Levine <levine@cs.wustl.edu> + + * ChangeLog-97b,Makefile,bin/create_ace_build: ChangeLog is no longer + a symbolic link, but instead is the most recent ChangeLog file. + ChangeLog-97b was moved to ChangeLog. + + * ace/Timer_Queue_T.cpp (schedule): added ACE_UNUSED_ARGs for act + and interval. + + * ace/OS.h: changed ACE_SEH_EXCEPT and ACE_SEH_FINALLY from null + to "while (0)" on all platforms except ACE_WIN32. Thanks to + Nanbor for this bit of macro wizardry. + + * ace/OS.i (tss_base): cast VxWorks TCB spare field to a void **& + instead of a void **, because the function returns a reference + to it. + + * ace/OS.cpp: protected definition of + ACE_TSS_Emulation::tss_collection_ on VxWorks, where it's not used. + + * ace/OS.cpp (ACE_Thread_Adapter::invoke) don't exit the thread + with TSS_EMULATION, except on WIN32. (thr_create) On VxWorks, + use thread adapter as entry point instead of func (via macros). + + * ace/config-vxworks*.h: added ACE_HAS_TSS_EMULATION, with + ACE_DEFAULT_THREAD_KEYS set to 16, and ACE_LACKS_UNIX_SIGNALS. + + * tests/Async_Timer_Queue_Test.cpp: added template instantiations. + + * tests/IOStream_Test.cpp: no longer need to dynamically allocate + the ACE_SOCK_IOStreams with the recent ACE_Thread_Manager changes. + That was causing occasional problems with unsafe deletion of the + underlying ostreams. Thanks to James Johnson for consulting on + this intermittent (nasty) problem. + + * tests/SPIPE_Test.cpp: (main) added ACE_UNUSED_ARG of client + and server. + + * tests/Thread_Manager_Test (worker): added ACE_UNUSED_ARG (thr_mgr) + if ACE_LACKS_UNIX_SIGNALS, and added template instantiations. + + * tests/Thread_Manager_Test.cpp: dynamically allocate the + signal_catcher so that we can destroy it before the main + thread's TSS is cleaned up. + + * tests/TSS_Test.cpp: dynamically allocate TSS_Error so that we + can ensure its deletion before that of ACE_Object_Manager. + Also, makde the code a little easier to change the number of threads. + + * include/makeinclude/wrapper_macros.GNU: added Purify options to + ignore SIGINT and set max threads to 100. + +Mon Sep 1 10:53:39 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * ace/Handle_Set: Added an assignment operator that is optimized + for the case when the right-hand side is 0. + + * ace/OS: The ACE_THR_C_FUNC macro was confusing for Win32. We've + replaced this with the original UNIX typedef and will just use + LPTHREAD_START_ROUTINE for Win32. + + * tests/Thread_Manager_Test.cpp (main): Revised this test so that + we don't have race conditions for suspend() and resume(). + + * tests/Tokens_Test.cpp (run_test): Removed the use of + THR_SUSPENDED and resume_all() since this is broken due to race + conditions and other hazards implicit in using suspend() and + resume() on threads. + + * ace/Handle_Set.cpp: There were several ACE_INLINE methods in the + Handle_Set.cpp file. I've removed the ACE_INLINE flag. + + * tests/SPIPE_Test.cpp: If ACE doesn't have STREAM pipes on a + platform (or we aren't on NT) then don't try to run this test. + Thanks to James CE Johnson <ace-users@lads.com> for reporting + this. + + * ace/config-sunos5.[45]-g++.h: ACE defines _REENTRANT in + config.h. Application using classes of ACE can conflict by + using compilation option as -D_REENTRANT. I fixed this by + surrounding the define as: + + #if !defined (_REENTRANT) + #define _REENTRANT + #endif /* _REENTRANT */ + + Thanks to Jean-Marc Strauss <strauss@limeil.cea.fr> for + reporting this. + + * ace/Timer_Queue_T.h: We need to #include "ace/Signal.h" since + our Async_Timer_Queue_Adapter needs it. Thanks to Neil Cohen + for reporting this. + + * ace/Reactor.cpp (check_handles): Optimized the check for invalid + handles by using fstat() rather than select() on non-Win32 + platforms. Thanks to Arturo for suggesting this optimization. + +Mon Sep 1 17:52:10 1997 Darrell Brunsch <brunsch@cs.wustl.edu> + + * ace/Timer_Heap_T.cpp: Changed cancel (id ...) to check for + previously expired/cancelled timers + +Mon Sep 01 08:43:37 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/Synch.cpp: added #include of Object_Manager.h. + Thanks to Edan Ayal <edana@vdo.net> for reporting this. + +Mon Sep 1 00:46:05 1997 Nanbor Wang <nw1@dingo.wolfpack.cs.wustl.edu> + + * ace/README: Added explanation for ACE_HAS_STL_MAP_CONFILICT. + + * ace/OS.h: Added conditional compilation directive + ACE_HAS_STL_MAP_CONFLICT. This is used when users want to + compile ACE with STL library and the STL map class conflicts + with map structure in <net/if.h>. + + * ace/config-unixware-2.1.2-g++.h: + * ace/config-unixware-2.01-g++.h: + * ace/config-osf1-4.0-g++.h: + * ace/config-irix5.3-g++.h: + * ace/config-hpux-10.x-g++.h: + * ace/config-linux-pthread.h: + * ace/config-linux-lxpthreads.h: + * ace/config-linux.h: + * ace/config-freebsd.h: + * ace/config-freebsd-pthread.h: + Added ACE_HAS_BROKEN_EXPLICIT_TEMPLATE_DESTRUCTOR flag for all + config files which apparently use g++. + + * ace/config-vxworks-g++.h: + * ace/config-vxworks5.x-g++.h: + * ace/config-sunos4-g++.h: + * ace/config-sunos5.4-g++.h: + * ace/config-sunos5.5-g++.h: + Moved ACE_HAS_BROKEN_EXPLICIT_TEMPLATE_DESTRUCTOR closer to + other template-related directives. + +Sun Aug 31 22:56:30 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.3.2, released Sun Aug 31 22:56:30 1997. + +Sun Aug 31 22:36:08 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * tests/Async_Timer_Queue_Test.cpp: Need to #include "Timer_List.h" + rather than "Timer_Queue.h". + + * ace: Added ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT for all + config.h files. + + * ace/Handle_Set.cpp (count_bits): Continued to optimize this + method. Now, if ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT enabled + it will use a very fast loop that only runs for as many bits + that are enabled in the bitset. This approach also doesn't have + to access the Global Offset Table in shared libraries, which is + a win. Thanks to Arturo for contributing this. + + * tests/Async_Timer_Queue_Test.cpp: Generalized this test to use + the new ACE_Async_Timer_Queue_Adapter. + + * ace/Timer_Queue_T: Added the new ACE_Async_Timer_Queue_Adapter, + which makes it possible to encapsulate any of the ACE Timer + Queue mechanisms into a asynchronous signal-handling context. + + * ace/OS.i: If the platform doesn't support ualarm() (and it + doesn't lack UNIX signals) then we'll use alarm() rather + than ualarm(). Clearly, this isn't as good as ualarm(), + but it's better than nothing. + + * ace/OS.i: I'd missed replacing + + ACE_LACKS_POSIX_PROTO_FOR_SOME_FUNCS + + with + + ACE_LACKS_POSIX_PROTOTYPES_FOR_SOME_FUNCS + + in OS.i. Thanks to James CE Johnson <ace-users@lads.com> for + pointing this out. + +Sun Aug 31 09:58:35 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * Princess Diana was killed today in a senseless auto accident in + Paris, France. This is a very tragic ending to a very promising + life ahead of her. + +Sun Aug 31 15:08:00 1997 David L. Levine <levine@cs.wustl.edu> + + * tests/Async_Timer_Queue_Test.cpp: fixed and added some + ACE_UNUSED_ARG's. + + * netsvcs/clients/Tokens/invariant/invariant.cpp (run_mutex, + run_reader_writer), + netsvcs/clients/Tokens/mutex/test_mutex.cpp (run_test), + netsvcs/clients/Tokens/rw_lock/rw_locks.cpp (run_thread): + removed unused argument "vp". + + * ace/ACE.i (log2): moved "log" declaration outside of the + for loop because its used after the loop. + + * ace/Task.cpp (instance) only register for destruction with + ACE_Object_Manager when creating a new instance_. + + * ace/Thread_Manager.cpp (ACE_Thread_Control::exit) with TSS + emulation, don't exit the thread. Instead, + ACE_Thread_Adpater::invoke () will do it after cleaning up TSS. + + * ace/Synch{h,cpp}: (ACE_TSS_Cleanup_Lock) register for + destruction with ACE_Object_Manager. + + * ace/OS.*: major cleanup of ACE_TSS_Emulation, esp. how it + interacts with ACE_TSS_Cleanup::exit (). + +Sat Aug 30 17:30:24 1997 Steve Huston <shuston@riverace.com> + + * Removed these config files: + config-hpux-10.x-aCC.h + config-hpux-10.x-decthreads.h + config-hpux-10.x-nothread.h + config-hpux-10.x-hpc++.h should be used with HP compilers on + HP-UX 10.x. + +Sat Aug 30 14:58:42 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * ace/Signal.cpp (ACE_Sig_Action): Added a new constructor that + also takes an ACE_Sig_Set & *and* registers the handler... + + * ace/Handle_Set.cpp (count_bits): Added a newly optimized + algorithm for cases where + ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT. Thanks to Arturo for + this suggestion. + + * ace/config-sco-5.0.0*.h: Added ACE_HAS_LONG_FDMASK for all the + SCO files. Thanks to Arturo for suggesting this. + + * ace/Signal: Added a new mutator method to reassign an + ACE_Sig_Set to an ACE_Sig_Action. + + * ace/Handle_Set.i: If the size of the fd_set is 0 then operator + fd_set *() just returns 0. This will help to optimize the + performance of the Reactor. Thanks to Arturo for suggesting + this. + + * ace/Handle_Set.cpp (count_bits): Added yet another improvement + to remove the "i" iterator. Thanks to Arturo for this! + + * ace/Log_Msg.cpp (log): Used the new ACE_Log_Record::priority() + method in place of the type() method so that the priorities are + handled correctly. + + * ace/Log_Record: Added two new methods that get/set the + "priority" of an ACE_Log_Record. This value computed as the + base 2 log of the value of the corresponding ACE_Log_Priority + enumeral (which are all powers of two). We need this mapping + function so that we can use the priorities as parameters to the + putpmsg() function (which can only map between 0-255). Thanks + to Per Andersson for finding this stuff! + + * ace/ACE: Added a new method to compute the base2 logarithm of a + number. + + * Replaced all uses of ACE_Thread_Control since this is now + handled by the ACE_Thread_Manager. + + * ace/Thread_Manager.cpp (spawn_i): Make sure to pass "this" to + the ACE_Thread_Adapter if we're constructing it in the + ACE_Thread_Manager::spawn_i() method. + + * ace/OS.i (cond_timedwait): Added a special check to see if + timeout != 0, in which case we just call ACE_OS::cond_wait(). + Therefore, VxWorks can now use ACE_OS::cond_timedwait(), as long + as the timeout == 0! This simplifies certain internal ACE code. + Thanks to David Levine for pointing this out. + + * ace/Handle_Set.cpp (count_bits): Changed the code from + + for (int i = 0; i < sizeof (u_long); i++) + { + rval += ACE_Handle_Set::nbits_[n & 0xff]; + n >>= 8; + } + + to + + for (int i = 0; n != 0; i++) + { + rval += ACE_Handle_Set::nbits_[n & 0xff]; + n >>= 8; + } + + in order to speed it up in the "best case." Thanks to Arturo + Montes <mitosys@colomsat.net.co> for reporting this. + + * ace/Thread.cpp (spawn_n): Added a test to make sure that the + thread_ids is != 0 before we assign into this. + +Fri Aug 29 22:45:21 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * ace/config-vxworks-g++.h: + * ace/config-vxworks5.x-g++.h: + * ace/config-sunos4-g++.h: + * ace/config-sunos5.4-g++.h: + * ace/config-sunos5.5-g++.h: + Added flag ACE_HAS_BROKEN_EXPLICIT_TEMPLATE_DESTRUCTOR to these + config files. + + * ace/README: Added explanation of flag + "ACE_HAS_BROKEN_EXPLICIT_TEMPLATE_DESTRUCTOR." + When calling a template class'es destructor explicitly, if you + must use "ptr->FOO<BAR>::~FOO ();" but not + "ptr->FOO<BAR>::~FOO<BAR> ();" then, you must add this flag to + your config file. + + * ace/OS.h (ACE_DES_FREE_TEMPLATE): Added this new macro to cope + with the fact that compilers require different syntax when + calling destructor of template classes explicitly. This macro + takes four arguments, POINTER, DEALLOCATOR, CLASS, and + TEMPLATE_PARAMETER. To deallocate a pointer allocated by + ACE_NEW_MALLOC and you need to call FOO<BAR> class'es + destructor, you'll write: + + ACE_DES_FREE_TEMPLATE (ptr, alloc->free, FOO, <BAR>); + + * ace/Containers.cpp: Changed to use ACE_DES_FREE_TEMPLATE to iron + out differences among compilers. + +Fri Aug 29 15:31:50 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/OS.*,Synch.{h,cpp},Object_Manager.cpp: started adding + support for TSS emulation. + + * ace/OS.h: declare class ostream if + ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION. + + * tests/Async_Timer_Queue_Test.cpp (parse_commands): fixed + sscanf format specifiers to match argument types; (main): + fixed ACE_ERROR_RETURN parens; protected bulk of code with + ACE_HAS_UALARM so that the test will build cleanly on + platforms without it. + +Fri Aug 29 00:43:27 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * ace/Synch.cpp (wait): Simpified the call to + ACE_OS::cond_timedwait() to avoid an extra test. Thanks to + Arturo for pointing this out. + + * ace/TTY_IO: Added native support for TSETA. Thanks to Arturo for + this. + + * ace/Strategies_T.cpp: Finished integrating the ACE_DLL_Strategy + implementation, which is used in TAO. Thanks to Satheesh Kumar + MG <satheesh@india.aspectdv.com> for motivating this. + + * ace/Synch_T.h: Clarified the constructor for ACE_TSS that takes + a TYPE * as an argument. Note that this only initializes the + TSS value in the *calling* thread, but not any other threads + that may come along later on. Thanks to Bob Laferriere + <laferrie@gsao.med.ge.com> for helping to clarify this. + + * ace/Synch_T.h: Removed stray semi-colons from some of the + ACE_SYNCH_* macros. Thanks for Wei Chiang for reporting this. + +Fri Aug 29 11:40:10 1997 Darrell Brunsch <brunsch@cs.wustl.edu> + + * ace/OS.cpp: Added cast for ace_thread_adapter. + + * ace/OS.h: Changed name of ACE_Thread_Adapter's constructor's + fourth parameter from tm to tmgr since tm conflicted with + another tm. + + * ace/Thread_Manager.cpp: In spawn_i, changed the last parameter + given to spawn to thread_args. Also had to add a cast for + ace_thread_adapter. + +Fri Aug 29 06:44:05 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * ace/OS.h (ACE_DES_FREE): Added this macro which will call + designate destructor before freeing the memory. This is a + matching macro that should go with ACE_NEW_MALLOC and + ACE_NEW_MALLOC_RETURN which allocate memory using designate + allocator then call the user specified constructor explicitly. + + * ace/Containers.cpp: Many memory deallocations of container's + nodes were changed to use the new macro which deletes objects + correctly. + + Thanks very, very much to Ivan Murphy for torturing various + test programs and reporting those tests which fail the + excruciation. + +Fri Aug 29 01:26:38 1997 <irfan@TWOSTEP> + + * ace/ReactorEx.cpp: Added two new methods to ReactorEx - + schedule_wakeup() and cancel_wakeup(). Also fixed some bugs + related to our local copy of network_events_ not getting updated + properly. Thanks to Edan Ayal <edana@vdo.net> for pointing out + the two missing functions. + +Thu Aug 28 20:12:23 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * ace/Thread_Manager.cpp: Added a new ace_thread_manager_adapter() + function, which is similar to the ace_thread_adapter function + used in ACE_OS::thr_create(). However, the new function ensures + that threads spawned by an ACE_Thread_Manager are automatically + registered and deregistered from the Thread Manager. + + * ace/ACE.h (inherit_log_msg): Factored out the functionality to + inherit the logging features if the parent thread has an + ACE_Log_Msg instance in thread-specific storage. This function + is called in several places (e.g., OS.cpp and + Thread_Manager.cpp), so it pays to factor it out. + + * ace/OS.h (ACE_Thread_Adapter): Added a new data member that + keeps track of which thread entry point function we will pass to + the underlying OS thread creation routine. The default value is + ace_thread_adapter, but this can be overridden to do different + things... + + * ace/OS, + ace/Thread: Extended thr_create() so that if an + ACE_Thread_Adapter is passed to it this is used in lieu of the + func and arg parameters. This reduces the amount of dynamic + allocation and indirection required with the new + ACE_Thread_Manager. + + * ace/Task.h: Removed the ACE_Thread_Control data member from the + ACE_Task_Exit class since it now belongs to the + ACE_Thread_Manager instead... + + * ace/OS.cpp: Move the ACE_Thread_Adapter out of the OS.cpp file + and made it a first-class citizen of ACE. We can put this + to good use in the new ACE_Thread_Manager. + + * ace/OS.cpp: The ACE_Thread_Adapter is now the default behavior + in ACE. If you don't want to use it for whatever reason, + you'll need to set the ACE_NO_THREAD_ADAPTER macro. + + * ace/config-sco-5.0.0-fsu-pthread.h: Added + ACE_LACKS_CONST_TIMESPEC_PTR. Thanks to Arturo for this. + + * ace/Synch.cpp (wait): Removed the reference assignment and just + take the address of this->mutex_.lock_. Also, removed the + additional check for abstime == 0 in order to speed up the + common case. Thanks to Arturo for these suggestions. + +Thu Aug 28 20:02:03 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.3.1, released Thu Aug 28 20:02:03 1997. + +Thu Aug 28 00:21:09 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * ace/Strategies_T.cpp (ACE_Thread_Strategy): Added reasonable + values to the default constructor. Thanks to Stephen Coy + <stevec@wsa.com.au> for reporting this. + + * ace/config-irix6.x-sgic++-*.h: Added ACE_HAS_UALARM. Thanks to + Amos Shapira <amos@gezernet.co.il> for reporting this. + + * ace/config-aix-4.*.h: Added ACE_HAS_UALARM. Thanks to Cary + Clark for reporting this. + + * ace/config-hpux-10.x*.h: Added ACE_HAS_UALARM. Thanks to Cary + Clark for reporting this. + + * ace/config-osf1*.h: Added ACE_HAS_UALARM. Thanks to Thilo + for reporting this. + + * ace/config-mvs.h: Added ACE_HAS_UALARM. Thanks to Chuck Gehr + for reporting this. + + * tests/Async_Timer_Queue_Test.cpp: Added a new test that will + illustrate how to implement an asynchronously invoked + Timer_Queue using UNIX SIGALRM signals. + +Thu Aug 28 19:32:07 1997 <irfan@TWOSTEP> + + * examples/Reactor/ReactorEx: Added two new applications + (test_registry_changes.cpp and test_console_input.cpp) to show + some more features of ReactorEx. test_registry_changes.cpp shows + how to monitor the Registry using ReactorEx. + test_console_input.cpp shows how to use ReactorEx to get + notified when input shows up on the console. + +Thu Aug 28 18:07:37 1997 Darrell Brunsch <brunsch@cs.wustl.edu> + + * ace/Timer_{List,Heap,Wheel,Hash}_T.cpp: Changed the behavior + of the iterator to automatically initialize when the iterator + is constructed. + +Thu Aug 28 10:43:35 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/Task.{h,cpp} (ACE_Task_Exit::instance) added call to + ACE_Object_Manager::at_exit () to clean up the singleton at + program termination. + +Thu Aug 28 03:25:52 1997 Nanbor Wang <nw1@lambada.cs.wustl.edu> + + * tests/Task_Test.cpp (Barrier_Task): + * tests/TSS_Test.cpp (main): Added an array to collect thread + handles in order to clean them up. Thanks to Ivan Murphy + for pointing this out. + + * ace/Thread_Manager.{h,cpp} (spawn_n): + * ace/Task.{h,cpp} (activate): + Added an extra argument ACE_hthread_t thread_handles[] with + default value 0. We need this argument to collect handles of + spwaned/activated threads. On NT, we have to join terminated + threads explicitly to prevent handles leak. Thanks to Ivan + Murphy for digging this out. + +Wed Aug 27 10:48:25 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * ace: Changed all occurrences of ACE_LACKS_RLIMIT_PROTO to + ACE_LACKS_RLIMIT_PROTOTYPE, ACE_LACKS_POSIX_PROTO to + ACE_LACKS_POSIX_PROTOTYPES, and ACE_LACKS_SYSV_MSQ_PROTOS to + ACE_LACKS_SYSV_MSQ_PROTOTYPES to be more consistent. + + * ace/config-sunos5.x*.h: Added ACE_HAS_UALARM to all the Solaris + config files. However, also had to add ACE_LACKS_UALARM_PROTOTYPE + since Solaris strangely doesn't provide this prototype. + + * ace/OS.h: Added an ACE_Time_Value version of ACE_OS::ualarm(). + + * ace/Signal: Added a new constructor for ACE_Sig_Action that + takes an ACE_Sig_Set parameter. + + * ace/Signal: Added a sigset() accessor method. + + * ace/config-unixware-2.1.2-g++.h: Added ACE_HAS_UALARM. Thanks + to Ganesh Pai <gpai@voicetek.com> for reporting this. + + * ace/OS.h: Added a default value of 0 to ACE_OS::time(). + + * ace/Synch.i (ACE_Thread_Mutex_Guard): Rearranged the code so + that we can inline the acquire(), tryacquire(), and release() + methods properly. Thanks to David Levine for pointing this out. + + * ace/OS.h: Added ACE_OS support for the ualarm() method. If your + platform supports ualarm() please send me email so I can set the + ACE_HAS_UALARM flag in your config.h file. + + * tests/Makefile: Added an asynchronous timer queue test. + + * examples/IOStream/server/iostream_server.cpp: Added a new macro + to work around the fact that some C++ compiles don't grok + template typedefs. Thanks to Oleg Krivosheev <kriol@fnal.gov> + for pointing this out. + + * ace/OS, + ace/Task.cpp: + Installed a bunch of patches for FSU pthreads. Thanks to Arturo + Montes <mitosys@colomsat.net.co> for sending this. + + * Makefile: Added a line to the release script that will + automatically generate an ACE-INSTALL text file from the + ACE-INSTALL.html file. Thanks to Oleg Krivosheev + <kriol@fnal.gov> for suggesting this. + + * performance-tests/Misc/Makefile: Added $(BIN) to the FILE target + so that "make depend" will work. Thanks to David Levine for + pointing this out. + + * ace/Synch.i: Eliminated unnecessary assignment to this->owner_. + Thanks to Chris for pointing this out. + + * ace/OS.i (msgctl): Added a "struct" to the definition of + msqid_ds. Thanks to Steve Hickman <SHICKMAN@cobra.mcit.com> for + reporting this. + +Thu Aug 28 01:07:21 1997 <irfan@TWOSTEP> + + * examples/Reactor/ReactorEx/test_directory_changes.cpp: Added a + new example application. This application tests the working of + ReactorEx when users are interested in changes in the + filesystem. + +Wed Aug 27 22:06:23 1997 Nanbor Wang <nw1@lambada.cs.wustl.edu> + + * *.{mak,mdp,dsw,dsp}: Updated ACE's library names on Win32 as + below. Only Microsoft's Win95 and Windows NT are effected. + + Version Dynamic Library Static Livrary + ------------------ -------------------- ----------------- + Debug aced.lib, aced.dll acesd.lib + Release ace.lib, ace.dll aces.lib + Debug w/ UNICODE aceud.lib, aceud.dll acesud.lib + Release w/ UNICODE aceu.lib, aceu.dll acesu.lib + + Thanks to John Morey <jmorey@tbi.com> for suggesting this and + Darrell for updating VC 5.0's makefiles. + + * ace/config-freebsd[-pthread].h (ACE_HAS_UALARM): FreeBSD does has + ualarm. + +Wed Aug 27 10:52:59 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * ace/Synch_T.h (CTOR): Eliminated unnecessary assignment to + this->owner_. + +Wed Aug 27 09:32:57 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/Singleton.cpp (instance): removed full qualification of + "instance_" in ACE_NEW_RETURN macro, because it confused + the Sun C++ 4.2 preprocessor. + + * ace/Singleton.cpp: added support for ACE_HAS_SIG_C_FUNC platforms, + e.g., on MVS. At least I tried to. The cleanup function, + on ACE_HAS_SIG_C_FUNC platforms only, doesn't call the object's + destructor. It just deallocates the storage. That should be + good enough; I don't think it's worth trying to do more than that. + + * ace/Synch.cpp (close_singleton): removed call to + ACE_Allocator::close_singleton (), because this method is + only called if ACE_HAS_THREADS. + + * ace/Object_Manager.cpp (dtor): added call to + ACE_Allocater::close_singleton (), and protected call to + ACE_Static_Object_Lock::close_singleton () with ACE_HAS_THREADS. + + * tests/Time_Value_Test.cpp: disabled ACE_U_LongLong test + on ACE_WIN32 platforms, because that class is never used + there. Thanks to Nanbor for finding this. + + * performance-tests/Misc/preempt.cpp,Makefile: added preempt + test, which tests for thread preemption. + +Tue Aug 26 13:59:01 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * netsvcs/lib/Server_Logging_Handler_T.cpp: Changed the symbol + "SS" to "SST" to avoid a namespace collision with UnixWare. + Thanks to Ganesh Pai <gpai@voicetek.com> for pointing this out. + + * ace: Added a new config file to sco using FSU pthreads. Thanks + to Arturo Montes <mitosys@colomsat.net.co> for sending this. + + * include/makeinclude: Added a new platform macros file to sco + using FSU pthreads. Thanks to Arturo Montes + <mitosys@colomsat.net.co> for sending this. + +Tue Aug 26 22:06:14 1997 <irfan@TWOSTEP> + + * examples/Reactor/ReactorEx: Added two new applications for + testing some of the new features of ReactorEx. Added + documentation and renamed some of the older test files to make + it easier to comprehend the examples. + +Tue Aug 26 11:47:29 1997 <irfan@TWOSTEP> + + * ace/OS.i (mutex_trylock): Changed this method to make it deal + correctly with abandoned mutexes. Also added a new mutex_trylock + method that allows the user to know if the mutex was abandoned + (through an extra out parameter). Also fixed + ACE_OS::cond_timedwait(), ACE_OS::cond_wait(), + ACE_OS::event_wait(), ACE_OS::event_timedwait() and + ACE_OS::sema_wait() to remove extra checks for WAIT_ABANDONED, + since we are not dealing with mutexes in these methods. Thanks + to Ivan Murphy <Ivan.Murphy@med.siemens.de> for pointing this + out. + +Tue Aug 26 11:06:45 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/OS.h,config-vxworks5.x-g++.h: + split ACE_HAS_RENAMED_MAIN into ACE_MAIN and + ACE_HAS_NONSTATIC_OBJECT_MANAGER. + + * ace/ACE.cpp: only create the ACE_Object_Manager_Destroyer + if not ACE_HAS_NONSTATIC_OBJECT_MANAGER. + + * ace/Object_Manager.{h,cpp}: dynamically allocated the + contained ACE_Unbounded_Queue to so that it can be deallocated + before the ACE_Allocator is destroyed. + + * ace/Singleton.{h,cpp}: register all ACE_Singletons for + cleanup with the ACE_Object_Manager. + + * ace/Synch.{h,cpp}: renamed ACE_Static_Object_Lock::atexit () to + close_singleton (), and removed the unused atexit hook. + + * ace/Log_Msg.cpp (ACE_Log_Msg_Manager::close): delete the + main thread's Log_Msg. + + * ace/config-vxworks-ghs-1.8.h: added ACE_HAS_NONSTATIC_OBJECT_MANAGER. + + * tests/Time_Value_Test.cpp: added tests of ACE_U_LongLong. + + * tests/Atomic_Op_Test.cpp (main): added arguments to main (). + + * tests/Barrier_Test.cpp (main): delete thread_handles array + to prevent memory leak. + + * examples/Reactor/Misc/test_signals_2.cpp (main): changed + type of second arg from "char *" to "char *[]". + +Mon Aug 25 14:13:57 1997 Carlos O'Ryan <coryan@polka.cs.wustl.edu> + + * ace/OS.h: + Changed the return type of sendmsg_timedwait from sszie_t to + ssize_t, this should only affect platforms where + ACE_LACKS_TIMEDWAIT_PROTOTYPES, further it was definitely wrong + before. + Thanks to ARTURO MONTES <mitosys@colomsat.net.co> for pointing + out this one. + +Mon Aug 25 10:15:06 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/Message_Queue.cpp (notify): fixed ACE_TRACE message. + + * examples/ASX/UPIPE_Event_Server/event_server.cpp, + examples/Connection/misc/test_upipe.cpp, + examples/Connection/non_blocking/test_*.cpp, + examples/IPC_SAP/SOCK_SAP/CPP-inserver-poll.cpp, + examples/IPC_SAP/SOCK_SAP/FD-unserver.cpp, + examples/Misc/test_dump.cpp, + examples/Reactor/FIFO/client.cpp, + examples/Reactor/Misc/test_*.cpp, + examples/Reactor/Proactor/test_multiple_loops.cpp, + examples/Reactor/Proactor/test_timeout.cpp, + examples/Reactor/ReactorEx/test_timeout.cpp, + examples/Reactor/ReactorEx/test_exceptions.cpp, + examples/Service_Configurator/IPC-tests/client/local_spipe_client_test.cpp, + examples/Service_Configurator/IPC-tests/client/remote_thr_stream_client_test.cpp, + examples/Shared_Malloc/test_multiple_mallocs.cpp, + examples/System_V_IPC/SV_Message_Queues/*MQ_*.cpp, + examples/System_V_IPC/SV_Semaphores/Semaphores_?.cpp, + examples/Threads/process_mutex.cpp, + examples/Threads/recursive_mutex.cpp, + examples/Threads/tss1.cpp, + examples/Threads/thread_specific.cpp, + examples/Threads/token.cpp, + examples/Threads/wfmo.cpp, + tests/Simple_Message_Block_Test.cpp, + tests/Hash_Map_Manager_Test.cpp: + added arguments to main () to support redeclaring it on VxWorks. + + From now on, we should always declare main () with arguments, e.g., + int + main (int, char *[]) + +Sun Aug 24 10:27:33 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * tests/Future_Test.cpp (Scheduler): Removed the non-existent + friend class Method_ObjectWork. Thanks to Sandro Doro + <doros@aureus.sublink.org> for reporting this problem. + + * ace/Message_Block.h: Clarified in the comments that the length() + of a Message_Block is 0 until the wr_ptr() is explicitly set. + Thanks to Amos Shapira <amos@gezernet.co.il> for pointing out + the need for this. + +Sat Aug 23 14:43:27 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.3, released Sat Aug 23 14:43:27 1997. + +Sat Aug 23 14:40:32 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * Released the long-awaited ACE 4.3. Good night sweet prince: + And flights of angels sing thee to thy rest. + +Sat Aug 23 00:44:09 1997 Douglas C. Schmidt <schmidt@merengue.cs.wustl.edu> + + * netsvcs/lib/Server_Logging_Handler.cpp: Make sure that we + explicitly instantiate ACE_Svc_Handler<LOGGING_PEER_STREAM, + ACE_NULL_SYNCH> whether or not we're building with threads + since otherwise we get link errors. + +Fri Aug 22 20:58:49 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * ace/OS.cpp (ACE_TSS_Cleanup): Changed the lock for + ACE_TSS_Cleanup from a static object to a singleton to avoid the + nasty detruction order problem. This only effects Win32. + + * ace/Synch.{h,cpp}: Added a new singleton lock + "ACE_TSS_Cleanup_Lock" for Win32 platform. This object is + expect to be put under ACE_Object_Manager's control and will + probably gone/changed in the near future. + +Fri Aug 22 18:48:17 1997 Carlos O'Ryan <coryan@polka.cs.wustl.edu> + + * ACE-install.sh: + I updated the information on IRIX. Now we know for a fact it + compiles on IRIX 6.x, but we are not certain on IRIX 5.X. + + * bin/auto_compile_wrapper: + I have tried to make it clear that auto_compile_wrapper must be + tailored on each site. The email address is invalid and the + script should just crash the + + * ace/OS.i (cond_timedwait): + It used to always dereference the timeout parameter, which could + be 0 (heading for a + Sthreads use timestruc_t instead of timespec_t, thanks to + Ganesh Pai <gpai@voicetek.com> for pointing out this one and to + Steve Huston <shuston@riverace.com> for explaining to us what + was going on. + +Fri Aug 22 08:46:39 1997 David L. Levine <levine@cs.wustl.edu> + + * include/makeinclude/platform_vxworks*.GNU: + unset SHLIB to fix builds without PRELIB. + + * netsvcs/lib/Logging_Strategy.cpp, + examples/Threads/task_three.cpp: include fstream.h and + iostream.h if ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION. + + * examples/ASX/UPIPE_Event_Server/event_server.cpp, + examples/Log_Msg/test_log_msg.cpp, + examples/Reactor/Misc/test_time_value.cpp, + examples/Logger/Accepter-server/server_loggerd.cpp: + #include iostream.h if ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION. + + * examples/ASX/UPIPE_Event_Server/Peer_Router.cpp (svc): + replaced an iostream printout with an ACE_DEBUG call. + + * examples/Misc/test_read_buffer.cpp, + test_dump.cpp, + Mem_Map/IO-tests/test_io.cpp: + replaced bare OS calls with ACE_OS calls. + + * examples/Reactor/Misc/notification.cpp (Thread_Handler): + added cast of svc_run to ACE_THR_FUNC. + +Thu Aug 21 22:38:19 1997 Carlos O'Ryan <coryan@polka.cs.wustl.edu> + + * bin/auto_compile: + This tool will checkout ACE_wrapper from CVS, use + bin/create_ace_build to update a clone directory, compile ace + and tests in that clone directory and then run run_tests.sh. + If there is any problem it will report it to email. + + * bin/auto_compile_wrapper: + The former needs some configuration information and a proper + enviroment, hence it may not be invoked directly from your + crontab. This tool is used for that purpose. + + * apps/Gateway/Gateway/Makefile: + * apps/JAWS/server/Makefile: + * examples/Connection/non_blocking/Makefile: + * examples/IPC_SAP/DEV_SAP/reader/Makefile: + * examples/IPC_SAP/DEV_SAP/writer/Makefile: + * examples/Service_Configurator/IPC-tests/server/Makefile: + * netsvcs/clients/Naming/Client/Makefile: + * netsvcs/clients/Naming/Dump_Restore/Makefile: + * performance-tests/Synch-Benchmarks/Makefile: + No need to defines LIBS=-lACE here, it is already done in + wrapper_macros.GNU. Thanks to Cary Clark <claca@iccokc.com> for + pointing out this one. + + * bin/create_ace_build: + New flag -a to create all symlinks using absolute paths, it + helps when the build directory is a symlink too. + + * include/makeinclude/platform_irix6.x-sgic++.GNU: + ACE now compiles with little or no warnings, I kept the linker + warnings deactivated though. + -ptall does not work any more. I added a comment on that. + + * ace/OS.h: + * apps/Gateway/Gateway/Concrete_Proxy_Handlers.cpp: + * apps/JAWS/clients/Blobby/Blob_Handler.cpp: + * apps/JAWS/server/HTTP_Server.cpp: + * examples/ASX/UPIPE_Event_Server/Peer_Router.cpp: + * examples/IPC_SAP/SPIPE_SAP/NPServer.cpp: + * examples/IPC_SAP/SPIPE_SAP/producer_read.cpp: + * examples/Reactor/Dgram/CODgram.cpp: + * examples/Reactor/Dgram/Dgram.cpp: + * examples/Reactor/Misc/test_demuxing.cpp: + * examples/Reactor/Misc/test_reactors.cpp: + * examples/Reactor/Misc/test_signals_2.cpp: + * examples/Threads/barrier2.cpp: + * examples/Threads/process_manager.cpp: + * examples/Threads/task_three.cpp: + * netsvcs/clients/Naming/Dump_Restore/Dump_Restore.cpp: + * netsvcs/clients/Tokens/collection/collection.cpp: + * netsvcs/clients/Tokens/mutex/test_mutex.cpp: + * performance-tests/Misc/childbirth_time.cpp: + * tests/Reactor_Exceptions_Test.cpp: + * tests/Reactors_Test.cpp: + * tests/SOCK_Test.cpp: + New macro ACE_NOTREACHED. Some compilers will issue warnings on + unreached statements with things like: + int foo() + { + if (bar) { + return 0; + } else { + return 1; + } + return 0; // warning here + } + but if we remove the last return some other compiler will issue + warnings on leaving the function with no return value. + This macro tries to deal with that, all we have to do is to + write the last line like: + int foo() + { + if (bar) { + return 0; + } else { + return 1; + } + ACE_NOTREACHED(return 0); // No warning now!!! + } + IMHO it also serves as a form of documentation. + +Thu Aug 21 21:00:35 1997 <irfan@TWOSTEP> + + * ace/Auto_Ptr: Changed auto_ptr implementation to be as close + to the C++ specification as possible. Things that are still + missing are: + (a) std namespace + (b) member templates implementations + (c) making the constructors explicit + + * ace/OS.h (ACE_BIT_STRICTLY_ENABLED): Added new macro to check if + a bit is strictly enabled in a word. This is necessary when the + bit would be a combination of bits, and therefore, just + comparing against != 0 (like ACE_BIT_ENABLED does) is not enough + and comparing == BIT is necessary. + +Thu Aug 21 19:28:28 1997 James C Hu <jxh@lambada.cs.wustl.edu> + + * include/makeinclude/rules.local.GNU (depend.local): If TAO_ROOT + is not set, don't try using it in sed. + + * bin/g++dep: Check the existence of the TAO_ROOT environment + variable before adding it to the relative pathname replacement + strategy. + +Thu Aug 21 16:29:02 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/OS.h: added THR_JOINABLE and THR_SCHED_FIFO/RR/DEFAULT + to STHREADS, WTHREADS, and non-threaded platforms. On VxWorks + only, set NSIG to _NSIGS + 1. + + * ace/config-vxworks*.h: removed ACE_HAS_POSIX_SEM now that we + emulate it for VxWorks. + + * tests/Priority_Task_Test.cpp: use THR_SCHED_FIFO unconditionally + now that it's defined on all platforms. + + * include/makeinclude/platform_chorus.GNU, + platform_hpux_gcc.GNU, + platform_linux*.GNU, + platform_m88k.GNU, + platform_osf1_4.0_g++.GNU, + platform_sco*.GNU, + platform_sunos*_g++.GNU, + platform_unixware_g++.GNU, + g++ only: replaced PRELIB with "true" because it's not + needed for template instantiation. The old PRELIB no longer + worked without -lACE being added to LIBS in individual Makfiles. + The only reason to leave PRELIB defined to something is so that + the shared object definitions will be correct in rules.lib.GNU. + That should be fixed after 4.3 is released. + + * include/makeinclude/platform_vxworks5.x_ghs.GNU: + PRELIB no longer needed with explicit template instantiation. + +Thu Aug 21 12:38:26 1997 Steve Huston <shuston@riverace.com> + + * ace/config-hpux-10.x.h: Removed extraneous #endif + +Thu Aug 21 12:21:16 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * ace/OS.h (THR_JOINABLE): Defined this macro for Win32 as 0. + +Wed Aug 20 22:36:52 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.2.44, released Wed Aug 20 22:36:52 1997. + +Wed Aug 20 18:28:28 1997 Steve Huston <shuston@riverace.com> + + * ace/config-hpux-10.x.h: Made some definitions dependent on the + HP-UX version that is compiling the code. + + * ace/Filecache.(cpp h): Moved the definition of ACE_Filecache_Object + from .cpp to .h to help AIX xlC's template instantiator along. + + * apps/Gateway/Peer/Peer.(cpp h): Moved the definition of Peer_Handler + from .cpp to .h to help AIX xlC's template instantiator along. + + * include/makeinclude/platform_(hpux hpux_aCC hpux_gcc).GNU: Added + a compiler option to define HPUX_VERS with the current OS version. + Used in the config-hpux-10.x.h file. + +Wed Aug 20 13:44:16 1997 Carlos O'Ryan <coryan@mambo.cs.wustl.edu> + + * ace/config-unixware-2.1.2-g++.h: + Unixware does not define timespec_t. Thanks to Ganesh Pai + <gpai@voicetek.com> for pointing out this one. + +Wed Aug 20 11:37:44 1997 David L. Levine <levine@cs.wustl.edu> + + * include/makeinclude/rules.bin.GNU,platform_vxworks5.x_g++.GNU: + added POSTLINK to build symbol table. + +Wed Aug 20 07:43:14 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.2.43, released Wed Aug 20 07:43:14 1997. + +Tue Aug 19 08:25:28 1997 Steve Huston <shuston@riverace.com> + + * tests/Barrier_Test.cpp: Added THR_JOINABLE to the flags for + creating threads - allows join to work on platforms that create + threads detached by default (i.e. AIX). + + * tests/Process_Strategy_Test.cpp: If the final ACE_OS::kill() fails, + don't ACE_OS::wait() for the process. + + * ace/config-aix-4.2.x.h: Added ACE_HAS_BROKEN_POSIX_TIME. Commented + out ACE_HAS_AIX_BROKEN_SOCKET_HEADER. Added ACE_HAS_PTHREAD_T, + and will now not use tid_t for any ACE types. Rearranged things + to start clarifying items. + + * ace/config-hpux-10.x.h: Removed ACE_HAS_SETKIND_NP and adjusted + other, more meaningful, threads-related definitions to match what + HP 10.10 and 10.20 have for threads. This matches changes to OS.* + + * ace/OS.(h i cpp): Removed use of ACE_SETKIND_NP in an effort to + simplify the variety of threads-capability definitions. The only + platforms which used ACE_HAS_SETKIND_NP were HP-UX (see above) and + OSF/1 V3.2 (which has the same threads package as HP-UX). OSF/1 + V3.2 may require some adjustments per this change - it probably + should be changed to match HP-UX. OSF/1 V4 (aka Digital UNIX) + is not affected by this change. + + * ace/Log_Msg.cpp: Changed the 't' format (thread ID) to call + thread_self() directly on AIX. + +Mon Aug 18 21:39:33 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.2.42, released Mon Aug 18 21:39:33 1997. + +Mon Aug 18 20:22:14 1997 Carlos O'Ryan <coryan@swarm.cs.wustl.edu> + + * apps/Gateway/Peer/Makefile: + No need to define LIBS=-lACE here, its already done in + wrapper_macros.GNU. Thanks to Cary Clark <claca@iccokc.com> + for helping in this effort. + +Mon Aug 18 19:54:36 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * ace/OS.{h,i} (open, mutex_init, sema_init, event_init, mmap): + Added an extra argument LPSECURITY_ATTRIBUTE with default value + 0 to all these methods so that we can modify objects' security + attributes when needed. Thanks to Ivan Murphy for pointing this + out. + +Mon Aug 18 19:50:13 1997 Carlos O'Ryan <coryan@mambo.cs.wustl.edu> + + * examples/Service_Configurator/Makefile: + * examples/Service_Configurator/IPC-tests/server/Makefile: + * apps/Gateway/Gateway/Makefile: + * examples/Connection/non_blocking/Makefile: + $(SOEXT) must be used instead of just .so, the former does not + work on all platforms, notably HP-UX. Thanks to Cary Clark + <claca@iccokc.com> for helping in this effort. + +Mon Aug 18 19:46:27 1997 Carlos O'Ryan <coryan@swarm.cs.wustl.edu> + + * ace/OS.i: + Added support for the missing netdb reentrant functions, even + under IRIX 6.2 with no threads. Thanks Paul Roman + <proman@npac.syr.edu> for reporting this. + +Mon Aug 18 12:53:16 1997 David Levine <levine@merengue.cs.wustl.edu> + + * tests/Barrier_Test.cpp (tester): VxWorks doesn't support + thr_join(). Therefore, we need to work around it for now. + Maybe Wind River will fix it at some point. + +Mon Aug 18 12:38:52 1997 Steve Huston <shuston@riverace.com> + + * ace/config-aix-4.2.x.h: Removed ACE_HAS_SVR4_TIME, added + ACE_LACKS_TIMESPEC_T. + +Mon Aug 18 12:00:31 1997 Carlos O'Ryan <coryan@swarm.cs.wustl.edu> + + * ace/config-mvs.h: + MVS does not define timespec_t either. Thanks to Chuck + Gehr for reporting this. + +Mon Aug 18 10:41:05 1997 Carlos O'Ryan <coryan@swarm.cs.wustl.edu> + + * ace/OS.h: + * ace/README: + On some platforms timespec_t is not defined. We added a new + config macro (ACE_LACKS_TIMESPEC_T) to handle that and we do a + typedef to solve the problem. + + * ace/config-freebsd-pthread.h: + * ace/config-freebsd.h: + * ace/config-linux-lxpthreads.h: + * ace/config-linux-pthread.h: + * ace/config-linux.h: + These are *some* config files that needed changes due to the new + timespec_t stuff. + +Mon Aug 18 09:34:11 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/OS.cpp (ACE_Thread_Adapter): rearranged initializers to + match declaration order. + + * ace/Log_Record.h: declare "class ostream" if + ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION Log_Record.h. + + * ace/IOStream.h,Log_Msg.cpp,Log_Record.cpp, + tests/test_config.h: include iostream.h instead of ace/stdcpp.h + if ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION. + + * ace/config-vxworks*.h: added ACE_LACKS_TIMESPEC_T. + +Sun Aug 17 20:58:56 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.2.41, released Sun Aug 17 20:58:56 1997. + +Sun Aug 17 17:02:53 1997 Carlos O'Ryan <coryan@swarm.cs.wustl.edu> + + * ace/config-irix6.x-sgic++-nothreads.h: + * ace/config-irix6.x-sgic++.h: + * include/makeinclude/platform_irix6.x-sgic++.GNU: + Finally a single config.h and platform_macros.GNU file can be use + for all the IRIX 6.X versions. + On SGI machines we need a higher value for + ACE_DEFAULT_BASE_ADDR, we used 1024*1024*1024, which works on + our site, but your mileage may vary. + + * include/makeinclude/platform_irix6.2_sgic++.GNU: + * include/makeinclude/platform_irix6.4_sgic++.GNU: + * ace/config-irix6.2-sgic++-nothreads.h: + * ace/config-irix6.2-sgic++.h: + * ace/config-irix6.4-sgic++-nothreads.h: + * ace/config-irix6.4-sgic++.h: + These files are no longer needed, see above. + + * ace/README: + * ace/ACE.cpp: + * ace/OS.h: + * ace/OS.i: + * ace/Profile_Timer.cpp: + * ace/Profile_Timer.h: + We no longer use timestruct_t in ACE, it is a SYSVism; we use + timespec_t instead. Hence we have no need for the config + macro ACE_HAS_SVR4_TIME, but we keep it there for future + reference. + + * tests/Reader_Writer_Test.cpp: + On IRIX using ACE_Thread::yield() degraded performance for + multiprocessor machines, but worse, the test will not behave as + expected: instead of interleaving read/write locks over the + RW_Mutex it will make all the write locks first and then the read + locks. The test uses ACE_OS::sleep() for yielding the CPU, + and it uses different pauses for each thread (see code for + details). Further, it yields the CPU *before* taking the + lock, to give other threads a chance. + +Sat Aug 16 18:17:10 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.2.40, released Sat Aug 16 18:17:10 1997. + +Sat Aug 16 18:13:22 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/ReactorEx.cpp (add_network_events_i): Revised the code to + use the ACE_BIT_CMP_MASK and ACE_SET_BITS macros to simplify the + code. + + * ace/OS.h: Added a new macro called ACE_BIT_CMP_MASK which checks + if a "bit-wise" & with a word == a particular mask. + + * ace/OS.cpp (thr_create): If we're in the Pthreads implementation + then we assume that ACE_thread_t and ACE_hthread_t are the same. + If this *isn't* correct on some platform, please let us know. + Thanks to Carlos O'Ryan <coryan@cs.wustl.edu>. + + * ace/Auto_Ptr.cpp: Reverted the changes of ACE_Auto_Ptr to + auto_ptr since we want to be Standard C++ Library compliant. + However, we only define auto_ptr if ACE_HAS_STANDARD_CPP_LIBRARY + is *not* enabled. + + * Removed the INSTALL file since this is redundant with the HTML + version of this file (ACE-INSTALL.html). Thanks to David Levine + for doing the legwork to merge this. + +Sat Aug 16 15:11:24 1997 Darrell Brunsch <brunsch@cs.wustl.edu> + + * ace/Auto_Ptr.h: Put in an #include <memory> (for auto_ptr) if + the standard C++ library is being used. + + * ace/Auto_Ptr.*: Changed the checks for ACE_HAS_STANDARD_CPP_LIBRARY + to also check to see if it is defined to 0 (which means the same + as it not being defined). + + * ace/ReactorEx.cpp: Changed the use of auto_ptr to work with + the one in the Standard C++ library. + + * ace/config-win32-common.h: Added ACE_HAS_BROKEN_NESTED_TEMPLATES + and ACE_LACKS_STL_DEFAULT_TEMPLATE_PARAMETER for the MSVC versions + that need them. + + * ace/Registry.cpp: changed some variable names from iterator to + iter to prevent conflicts with another variable + + * ace/Registry.cpp: + STL/bstring.h: + + Changed references of NPOS to Istring::npos + +Sat Aug 16 14:17:07 1997 Carlos O'Ryan <coryan@swarm.cs.wustl.edu> + + * ace/Auto_Ptr.i: + * ace/Auto_Ptr.cpp: + Some code was only included if ACE_HAS_STANDARD_CPP_LIBRARY was + defined; but the intention was exactly the opposite. + +Sat Aug 16 14:33:26 1997 David L. Levine <levine@cs.wustl.edu> + + * README,FAQ,Makefile: changed references from INSTALL file + to ACE-INSTALL.html. + +Fri Aug 15 19:51:52 1997 <irfan@TWOSTEP> + + * ace/Auto_Ptr.h: A rarely used piece of ACE code has changed + names because of name conflicts with the Microsoft Standard C++ + Library. The change is from auto_ptr to ACE_Auto_Ptr. A perl + script ($ACE_ROOT/bin/auto_ptr.perl) is provided for users to + change their code accordingly. + + The following files were effected: + + ace: ACE.cpp Auto_Ptr.cpp Auto_Ptr.h Auto_Ptr.i OS.h + ReactorEx.cpp Service_Config.cpp Service_Object.h + + examples/Threads: future1.cpp future2.cpp test_future1.cpp + test_future2.cpp + + tests: Future_Test.cpp + +Fri Aug 15 17:41:28 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.2.39, released Fri Aug 15 17:41:28 1997. + +Fri Aug 15 13:33:04 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * ace/OS.h (ACE_DEFAULT_GLOBALNAME_W): Moved pathname delimiter + from ACE_DEFAULT_{LOCAL|GLOBAL}NAME_* to + ACE_DEFUALT_NAMESPACE_DIR on NT. We need to append local/global + name to get a unique mutex name for naming service. NT won't + let us put a backslash in lock name. ;( + +Fri Aug 15 14:50:26 1997 Steve Huston <shuston@riverace.com> + + * ace/Makefile: Moved ARGV from the TEMPLATES section to the FILES + section; now builds on AIX. + + * ace/config-hpux-10.x.h: Don't redefine _HPUX_SOURCE. Move the + ACE_HAS_REENTRANT_FUNCTIONS and ACE_CTIME_R_RETURNS_INT to the + build-with-threads section. Thanks to Neil Cohen <nbc@metsci.com> + for helping to flush these problems out. + + * tests/Makefile: If building on AIX, wipe out the tempinc directory + before each compilation to keep the driver from compiling all + prior programs' template instantiations in every link step. + +Fri Aug 15 13:07:26 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * ace/Signal.cpp (remove_handler): Added some additional + parameters to ACE_Sig_Action usages in order to get this stuff + to compile with G++ on SunOS 4.1.4. Thanks to Kumar Neelakantan + <kneelaka@PaineWebber.COM> for reporting this. + + * ACE version 4.2.38, released Thu Aug 14 23:07:26 1997. + +Fri Aug 15 13:33:04 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * ace/Naming_Context.cpp (ACE_Naming_Context): Moved the deletion + of name_options_ from close to dtor of this class so that we can + reconfigure the naming context. + +Fri Aug 15 10:28:14 1997 Darrell Brunsch <brunsch@cs.wustl.edu> + + * ace/OS.cpp: Changed uname() for Win32 so it returns information + for Windows 95 and NT. + +Thu Aug 14 18:06:37 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * ace/OS.[hi] (strsplit_r): Added a new method which splits a + string separated by tokens, similar to the way that perl's + split() works. This is different from the strtok() family b/c + for the string ":/foo:/bar::boo", strtok() would return "/foo", + "/bar", "boo", while strsplit_r() returns "", "/foo", "/bar", + "", "boo". This method is also properly re-entrant, and thus + safe to use among multiple threads. + + * ace/ACE.cpp (ldfind): Fixed this so that it now properly deals + with paths containing empty components intended to indicate + 'current directory'. + +Thu Aug 14 17:30:36 1997 Steve Huston <shuston@riverace.com> + + * ace/config-hpux-10.x.h - Add ACE_LACKS_CONST_STRBUF_PTR, remove + ACE_HAS_POSIX_SEM, clarify comments regarding setting of + _CMA_NOWRAPPERS_ - thanks to Cary Clark <claca@iccokc.com> for + helping in this effort. + +Thu Aug 14 16:14:47 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/High_Res_Timer.cpp (print_ave,print_total): fixed format + specification for total_secs to be lu instead of lld. + +Thu Aug 14 14:06:37 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * ace/ARGV.cpp: Completed the explicit template instantiations for + this component. + +Thu Aug 14 11:27:03 1997 Edward Everett Anderson <eea1@polka.cs.wustl.edu> + + * ace/ARGV.* (argv): + + * Added another behavior to ACE_ARGV -- a user can iteratively + build the parameter set with add(). Made the class more + consistent so that accessors work no matter which constructor is + used. + +Thu Aug 14 10:14:37 1997 Darrell Brunsch <brunsch@cs.wustl.edu> + + * Made several changes to allow ACE to work with the new standard + C++ header files, such as <cstdio> and the built in STL. Thanks + to Matthias Kerkhoff <make@cs.tu-berlin.de> for these changes. + The default is to use the old headers, unless the + ACE_HAS_STANDARD_CPP_LIBRARY is defined as 1. + + * ace/config-win32-common.h: + ace/config-win32.h: + + - Added ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB flag to + distinguish compilers who have the standard C++ library + declared in the namespace std and those who use the global + namespace for it + + - Enabled ACE_HAS_SIG_ATOMIC_T and ACE_HAS_TYPENAME_KEYWORD for + MSVC 5 + + - Changed the semantics of ACE_HAS_STANDARD_CPP_LIBRARY from + [defined/undefined] to [(undefined or defined as 0)/defined != 0] + to allow the choice between the old iostream and standard C++ + library for those platforms that support both + + - Don't define the ACE_LACKS_IOSTREAM_FX when building with MSVC + 5.0 and the standard C++ library. + + - If __ACE_INLINE__ is defined as 0, config-win32-common.h + undefines __ACE_INLINE__ to decrease the size of libraries and + executables. + + * ace/IOStream.cpp: Moved the #ifdef ACE_LACKS_ACE_IOSTREAM up to the + proper place + + * ace/IOStream.h: + ace/IOStream_T.h: + ace/Log_Msg.cpp: + ace/Log_Msg.h: + ace/Log_Record.cpp: + ace/Log_Record.h: + examples/ASX/Message_Queue/*.dsp: + examples/OS/Process/*.dsp: + examples/Threads/*.dsp: + examples/Threads/barrier2.cpp: + examples/Threads/task_three.cpp: + netsvcs/lib/Logging_Strategy.cpp: + + Updated to including stdcpp.h instead of <iostream.h>, + <iomanip.h>, <fstream.h>, etc. + + * ace/OS.h: Updated to use stdcpp.h instead of including the + normal C headers. Moved the includes into stdcpp.h to allow + switching between the old and new versions + + * ace/Registry.h: Changed to use the standard C++ headers for STL + and added a typedef Name_Component and Binding to + ACE_Registry::* to help some unresolved problems. + + * tests/Hash_Map_Manager_Test.cpp: + tests/test_config.h: + + Updated to #include ace/stdcpp.h instead of <iostream.h> and + <fstream.h> + + * ace/stdcpp.h: Updated to include more of the new standard C++ + header files, and also promote some of the iostream classes to + the global namespace. + + * ace/ace.dsp: + + - Added some folders like Templates and Documentation + - Added some files that were missing to the project + - Enabled function level linking for debug projects + - Set it to "Not using MFC" + - Removed wsock32.lib from the project settings (since + config-win32-common.h will tell the linker to use the correct + winsock library) + - Removed some other unnecessary libraries (OLE) from the + project. + +Wed Aug 13 23:02:45 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.2.37, released Wed Aug 13 23:02:45 1997. + +Wed Aug 13 13:26:27 1997 Douglas C. Schmidt <schmidt@mambo.cs.wustl.edu> + + * tests/Barrier_Test.cpp (main): Fixed the test of the ACE_Barrier + class so that it doesn't leak handles. This also illustrates + the use of the ACE_Thread::join() and + ACE_Thread_Manager::spawn_n() methods. Thanks to Ivan Murphy + for pointing this out. + + * ace/Thread_Manager.cpp (spawn_n): Note that if we get a null + thread_ids parameter we shouldn't try to index into it! + + * include/makeinclude/rules.local.GNU (OBJDIRS): Added + so_locations to the list of directories cleaned up during a make + clean/realclean. Thanks to Amos Shapira for reporting this. + + * ACE version 4.2.36, released Wed Aug 13 07:30:10 1997. + + * include/makeinclude/platform_irix6.[x-]32_sgic++.GNU: Added a + -Wl,-woff,133 to LDFLAGS to make the linker shutup about branch + instructions that might degrade performance + (what does this mean?). Thanks to Amos for this. + + * tests/test_config.h: Fixed a typo (ourput_file() should be + output_file()). How on earth did this ever work?! Thanks to + Amos Shapira for reporting this. + + * ace/Message_Queue.cpp: Added a couple of new ACE_UNUSED_ARGs + Thanks to Amos Shapira for reporting this. + + * ace/OS.cpp (gethrtime): ACE_OS::gethrtime should cast its return + value to ACE_hrtime_t instead of (u_long long). Thanks to + Amos Shapira for reporting this. + +Wed Aug 13 14:51:47 1997 Darrell Brunsch <brunsch@cs.wustl.edu> + + * ace/SString.[i,cpp]: moved some inline methods from the .i into + the .cpp so the Win32 Unicode Release compiles with inlining. + +Wed Aug 13 01:14:08 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * tests/test_config.h (ACE_NEW_THREAD): Removed + ACE_Log_Msg::set_flags/clr_flags from this macro because + ACE_Log_Msg::flags is a static variable. We really don't need + to reset them when creating new threads. Once VxWorks can also + inherit ACE_Log_Msg's properties, we no longer need this macro. + + * ace/Log_Msg.h: Added trace_depth() functions. They are required + for inheriting ACE_Log_Msg's properties. + + * ace/OS.cpp: Changed ACE_Thread_Adapter implementation so that + newly created threads will inherit properties from their parent + threads. This is the default behavior and is valid on all + platform except VxWorks. If you don't want it and would like to + arrange the properties propagation yourself, you must define + ACE_THREADS_DONT_INHERIT_LOG_MSG in your ace/config.h file. Now, + creating a new thread will go thru ace_thread_adapter on all + platform except VxWorks. If ACE_THREADS_DONT_INHERIT_LOG_MSG is + defined but your platform defines ACE_HAS_THR_C_FUNC or + ACE_WIN32, creating new threads still need to use + ace_thread_adapter. This change also fixes a previous problem + which let threads access another thread's TSS. + +Tue Aug 12 21:57:30 1997 David L. Levine <levine@cs.wustl.edu> + + * etc/ACE-guidelines.html: added. + +Tue Aug 12 16:54:33 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * Added Chuck Gehr's explanation of how to build ACE for MVS to + the ACE-INSTALL.html file at http://www.cs.wustl.edu/~schmidt/. + + * ace/OS.i: changed the name of ACE_U_LongLong::dump() to + ACE_U_LongLong::output(). Also moved some of the code that was + inlined in the class definition into the *.i file. + + * netsvcs/lib/Server_Logging_Handler.cpp: Added a template + specialization for ACE_Atomic_Op<ACE_Thread_Mutex, u_long> to + make things link with SGI and other systems that have long + different than int. Thanks to Amos Shapira for reporting this. + + * ace/Reactor.cpp (close): Removed the #ifdefs around + notify_handler_.open () and notify_handler_.close() since this + is now supposed to be available on all build configurations. + Thansk to Stefan Ericsson for reporting this. + + * examples/Service_Configurator/IPC-tests/server/Handle_Thr_Stream.cpp: + Removed a static variable that seemed to be causing problems for + SGI C++. Also, removed the now unnecessary "inherited" from + Handle_Thr_Acceptor. + + * examples/ASX/UPIPE_Event_Server/Peer_Router.h, + * netsvcs/lib/Log_Message_Receiver.h: Added an + ACE_UNIMPLEMENTED_FUNC macro for the assignment operator to work + around silly "features" of SGI C++... + + * include/makeinclude/platform_irix6.[x-]32_sgic++.GNU: Added some + additional patches to suppress warning code. Thanks to Torbjorn + Lindgren <tl@funcom.no> for this fix. + + * include/makeinclude/platform_mvs.GNU: Changed all occurrences of + "MVSLIB" to "ACELIB". Thanks to Chuck Gehr for reporting this. + +Tue Aug 12 15:03:42 1997 Steve Huston <shuston@riverace.com> + + * ace/Timer_Hash_T.cpp, Timer_Wheel_T.cpp: Replaced references to + ACE_High_Res_Timer::gettimeofday with ACE_OS::gettimeofday. + The High Res version is deprecated, and doesn't work + correctly on HP-UX. + +Tue Aug 12 07:51:02 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.2.35, released Tue Aug 12 07:51:02 1997. + +Mon Aug 11 22:30:39 1997 David L. Levine <levine@cs.wustl.edu> + + * include/makeinclude/platform_vxworks5.x_ghs.GNU: disabled + automatic template instantiation, because we use explicit + template instantiation, via a #pragma, with Green Hills. + Thanks to Brian Mendel <brian.r.mendel@boeing.com> for + finding the compiler options. + +Mon Aug 11 17:45:44 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * ace/OS.cpp (ace_thread_adapter): Changed the code so that TSS + ACE_Log_Msg will get created and put into cleanup stack first no + matter there is other ACE_Log_Msg instances or not. This fixed + the "order of destruction" problem on Win32 platform. Thanks to + Irfan for digging this out and helping solving it. + +Mon Aug 11 07:25:29 1997 <irfan@TWOSTEP> + + * examples/Reactor/ReactorEx/test_reactorEx.cpp: Updated this + example to use the new Proactor and Asynch IO interfaces. + + * ace/Connector.cpp (activate_svc_handler): Fixed the "leak" of + svc_handler in case of error. Thanks to Wei Chiang + <chiang@tele.nokia.fi> for reporting this. + +Mon Aug 11 01:11:26 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.2.34, released Mon Aug 11 01:11:26 1997. + +Mon Aug 11 01:06:02 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Message_Queue.cpp (enqueue_tail_i): Inadvertantly + added "signal_dequeue_waiters()" where I meant + "signal_enqueue_waiters()." + + * include/makeinclude/wrapper_macros.GNU: Fixed a typo in the + wrapper_macros.GNU file that was causing link errors. + +Sun Aug 10 11:35:06 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Message_Queue.cpp: To make sure that we have correctly + signaled waiters the signal_enqueue_waiters() and + signal_dequeue_waiters() methods now check the return value from + the semaphore release if ACE_HAS_OPTIMIZED_MESSAGE_QUEUE is + enabled. + + * include/makeinclude/wrapper_macros.GNU (VLDLIBS): Added a + new macro called ACELIB that can be used to make it easier + to enable static linking for ACE, i.e.: + + ACELIB = -Bstatic -lACE -Bdynamic + + or + + ACELIB = $(ACE_ROOT)/ace/libACE.a + + Can be added to the individual platform_macros.GNU file. This + allowed us to remove special code for MVS in wrapper_macros.GNU. + Thanks to Chuck Gehr for this fix. + + * netsvcs/lib: Added some comments after the #endifs. + + * ace/Filecache.cpp (insert_i): Updated the code so that we use + ACE_NEW_RETURN rather than operator new. This macro will + protect against failed allocations. + +Sat Aug 9 22:08:50 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace: Added two new config files: + + config-irix6.x-sgic++.h + config-irix6.x-sgic++-nothreads.h + + This should hopefully consolidate the SGI platform + configuration. Thanks to Torbjorn Lindgren <tl@funcom.no> for + this fix. + + * include/makeinclude: Added two new platform macro files: + + platform_irix6.x-n32_sgic++.GNU: + platform_irix6.x-32_sgic++.GNU + + This should hopefully consolidate the SGI platform macros. + Thanks to Torbjorn Lindgren <tl@funcom.no> for this fix. + + * ace/Filecache.cpp: Fixed the syntax of the SGI pragma stuff. + Thanks to Torbjorn Lindgren <tl@funcom.no> for reporting this. + + * ace/Name_Request_Reply.h: Changed MAX_NAME_LEN to MAX_NAME_LENGTH + to avoid problems with Solaris 2.6. Thanks to Thanh Ma <tma@encore.com> + for reporting this. + +Sat Aug 9 12:10:35 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * ace/config-win32-common.h (ACE_HAS_WINSOCK2): + * ace/config-win32.h (ACE_HAS_WINSOCK2): Rearranged definition of + this so that users can overwrite the default setting and choose + older Winsock if they want. No action needed for most NT + useres. Thanks to jmorey@tbi.com (John Morey) for pointing this + out. + +Sat Aug 09 11:28:36 1997 Steve Huston <shuston@riverace.com> + + * ace/Profile_Timer.i: ACE_HAS_GETRUSAGE and !ACE_HAS_PRUSAGE + platforms now use ACE_OS::gettimeofday rather than + ACE_High_Res_Timer::gettimeofday in start() and stop() methods. + + * tests/Sigset_Ops_Test.cpp: adjusted test for sigismember() with + out-of-range signum to separately test return value and errno. + Also, returns non-zero from program on failed test. + +Fri Aug 08 17:39:43 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.2.33, released Fri Aug 08 17:39:43 1997. + +Fri Aug 08 02:50:31 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ace/Message_Queue: Factored out the code that differs depending + on whether we are using the optimized ACE_Message_Queue + implementation (i.e., VxWorks and NT). This change makes it + easier to maintain the code. Thanks to Darrell for helping with + this. + + * ace/Log_Msg.cpp (close): Fixed a couple of typos in this code, + in particular, we need to make sure that we don't call + ACE_Log_Msg_Manager::close() if we aren't multi-threaded. + + * ACE version 4.2.32, released Fri Aug 08 02:50:31 1997. + +Fri Aug 8 13:17:21 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * ace/OS.* (strtoul): Added the OS function strtoul() to turn + strings into unsigned longs. + +Fri Aug 8 12:26:54 1997 Steve Huston <shuston@riverace.com> + + * ace/Log_Msg.cpp: Fixed some comments and removed unused code + I erroneously added August 6. + + * ace/config-hpux-10.x.h: Fixed to not always compile tracing code. + + * tests/test_config.h: ACE_END_TEST and ACE_END_LOG macros direct + log output back to stderr when shutting off the file output. + + * tests/TSS_Test.cpp: Removed ACE_Thread_Control object from the main + thread - it served no purpose and didn't work on HP-UX (due to + a documented pthread_exit restriction). Also changed a 'delete + ptr' to a call on operator delete (void *). + +Fri Aug 8 09:17:21 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * ace/Service_Repository.h (operations.): Improved documentation + on find(). + +Fri Aug 8 00:01:43 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * ace/Log_Msg.cpp (close): Moved ACE_Log_Msg::close() out of + ACE_MT_SAFE block so it always exists. This function only takes + care of non-VxWorks platforms. + + (instance): Removed at_exit() call since the instances will be + taken of by TSS_Cleanup. + + * ace/Object_Manager.cpp (~ACE_Object_Manager): Removed condition + compilation so it always calls ACE_Log_Msg::close(). + +Thu Aug 7 23:36:26 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * ace/Reactor.h: Added the renew() method and the notify_handler_ + data member to all compilation cases, not just for + multi-threading. + + * ace/Service_Config.h: Clarified the fact that argv[0] is the + program name. Thanks to Chris Cleeland for pointing this out. + + * ace/config-mvs.h: Added the ACE_HAS_TEMPLATE_SPECIALIZATION flag + thanks to Chuck Gehr. + + * include/makeinclude/platform_irix6.2_sgic++.GNU: Turned on + exceptions and turned off implicit template instantiation. + Thanks to Amos Shapira <amos@gezernet.co.il> for reporting the + former. + + * ace/config-irix6.2-sgic++.h: Also added the + ACE_HAS_TEMPLATE_SPECIALIZATION flag and changed the + platform_irix6.2.GNU file to not implicitly initialize + templates. If this breaks something, please let me know. + + * ace/config-irix6.2-sgic++.h: Added the ACE_HAS_EXCEPTIONS flag. + Thanks to Amos Shapira <amos@gezernet.co.il> for reporting this. + However, there is some question as to whether this will work. + If it doesn't, please let me know. + + * ace/Reactor: Moved the ACE_Reactory_Notify class out from the + ACE_MT_SAFE section into the main code since this should work + for non-threaded builds, as well. Thanks to Stefan Ericsson + <uabsjen@osd.ericsson.se> for reporting this. + + * ace/config-chorus.h: Added the ACE_HAS_TEMPLATE_SPECIALIZATION + flag. Thanks to Wei Chiang for this. + +Thu Aug 7 19:09:35 1997 Steve Huston <shuston@riverace.com> + + * tests/Hash_Map_Manager_Test.cpp - split definition of Dumb_String + class to a new header, Hash_Map_Manager_Test.h. This makes AIX + C Set ++ happy. + + * tests/Process_Strategy_Test.cpp - split definitions of Options + and Counting_Service classes to Process_Strategy_Test.h for AIX + C Set ++'s benefit. + +Thu Aug 7 15:27:28 1997 Darrell Brunsch <brunsch@cs.wustl.edu> + + * ace/OS.h: Fixed typo in the definition of ACE_SYNCH_1 and + ACE_SYNCH_2 for ACE_HAS_OPTIMIZED_MESSAGE_QUEUE + +Thu Aug 7 13:05:20 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * ace/Strategies_T.h: Changed the argument to ACE_DLL_Strategy + from ACE_Service_Config to ACE_Service_Repository, which is more + concrete. + + * bin/g++dep (REL): Added sed rule so that TAO's dependencies are + set relative to $TAO_ROOT as well as $ACE_ROOT when the '-r' + option is utilized. + + * include/makeinclude/platform_linux_lxpthread.GNU (CCFLAGS): The + -Wall option can now be used. It only generates two warnings + throughout all of ACE! + + * include/makeinclude/rules.local.GNU (depend.local): Modified + this target so that TAO's dependencies are set relative to + $TAO_ROOT as well as $ACE_ROOT. + +Thu Aug 7 12:03:48 1997 James C Hu <jxh@lambada.cs.wustl.edu> + + * ace/Filecache.{h,cpp}: Fixed unused variable found by Amos + Shapira. Fixed TEMPLATE_SPECIALIZATION dependency, sort of. Do + not attempt to use Filecache if you do not support + TEMPLATE_SPECIALIZATION. + +Thu Aug 07 00:19:12 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.2.31, released Thu Aug 07 00:19:12 1997. + +Wed Aug 6 22:20:54 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Synch_T.h: Replaced all uses of ACE_Null_Condition_Mutex + with ACE_Null_Condition, which is much more straightforward... + + * ASNMP: Added Mike MacFaden's changes for IRIX. + +Wed Aug 6 16:37:51 1997 James C Hu <jxh@lambada.cs.wustl.edu> + + * ace/Hash_Map_Manager.cpp: Changed implementation back to use a + single sentinel_ rather than an array of them. + + * ace/Filecache.{h,cpp}: Total re-implementations. Fewer locks + acquired and released when there is a cache hit. + +Wed Aug 06 12:55:26 1997 Steve Huston <shuston@riverace.com> + + * ace/Log_Msg.(h cpp): + (ACE_Log_Msg_Manager) - Removed most of the non-VxWorks + pieces - there's just a lock left; the instances_ was removed + (ACE_Log_Msg) - Use ACE_Object_Manager to remove per-thread + instances of ACE_Log_Msg rather than using ACE_Log_Msg_Manager. + The use of an ACE_Unbounded_Set to hold the ACE_Log_Msg pointers + in previous versions caused some non-tail recursion problems when + tracing was enabled. + Uses an instance count to know when it's safe to free the dynamically + allocated class-static memory. + + * ace/Trace.(h cpp): Added new static member function: + int is_tracing(void) - returns 1 if tracing is enabled, else 0. + + * ace/Object_Manager.(h cpp): Added a flag to indicate the object is + being destroyed - during destruction, ACE_Object_Manager now refuses + to register any new memory pointers. Also turns tracing off during + destruction - ACE_Log_Msg makes use of ACE_Object_Manager, so we + don't want ACE_Log_Msg instance being deleted, then created for a + ACE_TRACE, then deleted, then created,... + +Wed Aug 06 03:35:41 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.2.30, released Wed Aug 06 03:35:41 1997. + +Wed Aug 6 00:13:27 1997 Nanbor Wang <nw1@dingo.wolfpack.cs.wustl.edu> + + * netsvcs/lib/Server_Logging_Handler.cpp: We only need to + instantiate ACE_Svc_Handler<LOGGING_PEER_STREAM, ACE_SYNCH> when + ACE_HAS_THREADS. Otherwise, we'll have duplicate symbols + defined on platforms that do not support threads. + +Tue Aug 5 19:52:36 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * ace/Containers: Added a new reset method for ACE_Unbounded_Set. + Thanks to Arturo Montes <mitosys@colomsat.net.co> for + reporting this. + + * ace: Changed most uses of ACE_LACKS_COND_T to + ACE_HAS_OPTIMIZED_MESSAGE_QUEUE to make it possible to toggle + between the emulated condition variable implementation of + ACE_Message_Queue and the semaphore implementation. We need + this until we fully test out the semaphore implementation of + ACE_Message_Queue. + + * ace/Object_Manager.cpp (ACE_Object_Manager): Only call the + ACE_Log_Msg::close() method if ACE_MT_SAFE is enabled! Thanks + to Satoshi Ueno <satoshi.ueno@gs.com> for reporting this. + + * ace/Malloc.h: Added a fix for misalignment of data in the + ACE_CONTROL_BLOCK_ALIGN_LONGS macro. Thanks to Fred LaBar + <flabar@fallschurch.esys.com> for this fix. + + * ace/ACE.cpp: (enter_recv_timedwait,enter_send_timedwait): Always + give val a default value of 0 to make Purify happy. Thanks to + David Levine for reporting this. + + * netsvcs/clients/Tokens/rw_lock/rw_locks.cpp, + netsvcs/clients/Tokens/manual/manual.cpp, + netsvcs/clients/Tokens/deadlock/deadlock_detection_test.cpp: + Removed unreachable statements. Thanks to Cherif Sleiman + <sleiman@research.moore.com> for reporting this deficiency and + testing the fix. + +Tue Aug 5 16:41:06 1997 Darrell Brunsch <brunsch@cs.wustl.edu> + + * ace/Synch_T.h: Added some more ACE_LACKS_COND_T changes for compilers + without template typdefs. + +Tue Aug 5 11:50:43 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * ace/Message_Queue.h: Fixed typos for the case when + ACE_LACKS_COND_T. + +Tue Aug 05 11:02:11 1997 <irfan@TWOSTEP> + + * tests/Atomic_Op_Test.cpp (main): Made sure that on platforms + without threads, we don't try to run this test. + +Tue Aug 05 09:15:40 1997 David L. Levine <levine@cs.wustl.edu> + + * include/makeinclude/platform_vxworks5.x_ghs.GNU: removed + -no_prelink from LDFLAGS because ghs 1.8.8 doesn't support it. + Thanks to Cherif Sleiman <sleiman@research.moore.com> for + reporting this. + + * ace/Service_Record.cpp: added #include "ace/Stream_Modules.h" + to support template instantiation on GreenHills, at least. + Thanks to Cherif Sleiman <sleiman@research.moore.com> for + reporting this deficiency and testing the fix. + + * ace/config-vxworks-ghs-1.8.h: added + ACE_LACKS_LINEBUFFERED_STREAMBUF. Thanks to Cherif Sleiman + <sleiman@research.moore.com> for reporting this. + +Mon Aug 4 22:47:54 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Message_Queue: Fixed consistency problems in naming notfull + vs. not_full. Thanks to David Levine for finding this. + + * ace/Message_Queue: Added specialized support for cases where + ACE_LACKS_COND_T (e.g., VxWorks and NT). This scheme uses + ACE_Thread_Semaphores in this case, which should be more + efficient). + + * ace/Synch_T.h: Added a new set of macros and typedefs for + ACE_SYNCH_SEMAPHORE. + + * examples/ASX/Message_Queue: Cleaned up all the Message_Queue + examples. + + * examples/ASX/Message_Queue/buffer_stream.cpp: Added a + NUL-terminator to the program so that it won't break. Thanks to + Darrell for finding this. + + * ace/Reactor.cpp (wait_for_multiple_events): Fixed some + stylistic problems in the Reactor. + + * ace/Synch.cpp (ace_static_object_lock_atexit): Changed from: + + extern "C" static void + + to: + + extern "C" void + + Thanks to Chuck Gehr <gehr@sweng.stortek.com> for this. + +Mon Aug 4 14:03:22 1997 Steve Huston <shuston@riverace.com> + + * tests/Enum_Interfaces_Test.cpp: return non-zero if test fails. + +Mon Aug 4 12:03:29 1997 Darrell Brunsch <brunsch@cs.wustl.edu> + + * tests/Semaphore_Test: Redid to test timed waits in a more + reasonably fashion. + +Mon Aug 4 11:43:09 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * ace/OS: Continued to cleanup the problems with inconsistent + variants of sendmsg() and writev() on VxWorks. Thanks to Cherif + Sleiman <sleiman@research.moore.com> for reporting this. + + * ace/OS.i (sema_wait): Fixed the implementation on NT so that + errno = ETIME. + + * tests/Semaphore_Test.cpp: Cleaned up the programming style a + bit. + + * ace/OS (writev): Removed the ACE_WRITEV_TYPE from the + ACE_OS::writev() method and instead put this as a cast on the + internal call to ::writev(). This is much cleaner and should + fix a bug introduced last night. Thanks Cherif Sleiman + <sleiman@research.moore.com> for reporting this. + + * ace/Synch: Added a new release() method to ACE_Semaphore that + enables a caller to release multiple waiters. Thanks to Darrell + Brunsch <brunsch@cs.wustl.edu> for noticing this. + +Mon Aug 4 12:03:29 1997 Darrell Brunsch <brunsch@cs.wustl.edu> + + * tests/Semaphore_Test: Redid to test timed waits in a more + reasonably fashion. + +Sun Aug 03 23:47:13 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.2.29, released Sun Aug 03 23:47:13 1997. + +Sun Aug 3 22:18:33 1997 Douglas C. Schmidt <schmidt@cumbia.cs.wustl.edu> + + * tests/Atomic_Op_Test.cpp: Added template specialization so that + David won't have to ;-) + + * ace/ACE: Added a new, complete set of send/recv operations with + timeouts. These implement the following methods: + + read, readv, write, writev, recv, recvfrom, recvmsg, send, sendto, sendmsg. + + The implementation provides two flavors: MIT pthread support, an + ACE portable support. To use MIT pthread support, you must to + define ACE_HAS_READ_TIMEDWAIT, ACE_HAS_READV_TIMEDWAIT, + ACE_HAS_WRITE_TIMEDWAIT, ACE_HAS_RECV_TIMEDWAIT, + ACE_HAS_RECVFROM_TIMEDWAIT, ACE_HAS_RECVMSG_TIMEDWAIT, + ACE_HAS_SEND_TIMEDWAIT, ACE_HAS_SENDTO_TIMEDWAIT and + ACE_HAS_SENDMSG_TIMEDWAIT respectively. See the config.h file + for SCO UNIX for an example. + + This new approach is not only more powerful (since it takes + advantage of OS-level mechanisms when they exist), but it also + greatly improves the modularity of the code and provides a + wider range of supported functionality. Thanks to Arturo + Montes <mitosys@colomsat.net.co> for this new feature. + + * ace/ACE.cpp: Added comments to the ACE_Object_Manager_Destroyer + class. + + * ace/OS.h: Redid all the function prototypes for class ACE_OS so + that it's easier to read the arguments. + + * ace/config-sco-5.0.0-mit-pthread.h: Added the new macros that + enable timed reads and writes. Thanks to Arturo Montes + <mitosys@colomsat.net.co> for this new feature. + + * ace: Added a corresponding #endif /* FOO */ for all #if defined + (FOO) in ACE. + + * ace: Changed all uses of ACE_IOStream_T to ACE_IOStream to + be more consistent with other uses of templates in ACE. + Thanks to Thilo for reporting this (and thanks to David + for not being offended ;-)). + + * ace/OS.i (operator/): Removed "const" from both the OS.h and + OS.i files for ACE_U_LongLong::operator/. It is redundant, + potentially confusing, and gives warnings on some compilers! + +Sun Aug 03 21:20:12 1997 <irfan@TWOSTEP> + + * tests/Atomic_Op_Test.cpp: Added new test to test the Atomic + Operations Class in ACE. On platforms like Win32, ACE uses + template specialization to use native implementations provided + by the OS to accelarate these operations. + + * ace/config-win32-common.h (ACE_HAS_INTERLOCKED_EXCHANGEADD): + Added macro to config file. This macro is automatically set true + for NT4.0 systems or greater. + + * ace/Atomic_Op.i: On Win32 platforms, this code will be included + as template source code and will not be inlined. Therefore, we + first turn off ACE_INLINE, set it to be nothing, include this + code, and then turn ACE_INLINE back to its original setting. All + this nonsense is necessary since the generic template code that + needs to be specialized cannot be inlined, else the compiler + will ignore the specialization code. Also, the specialization + code *must* be inlined or the compiler will ignore the + specializations. + + The creation of this new file is necessary for non-Win32 + platforms to continue to inline the code as before. + + * ace/Synch_T.cpp: This file must include Atomic_Op.i if + ACE_INLINE has not be turned on. If it is, this file must be + included by Synch_T.h. + + * ace/Synch.cpp: Moved the specialization code from Synch.cpp to + Atomic_Op.i. This is necessary, otherwise the compiler will + ignore the specialization. + +Sun Aug 03 10:51:34 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/config-osf1-4.0*.h: added #define ACE_HAS_LONGLONG_T. + Thanks to Thilo for reporting that OSF1-4.0 does. + +Sat Aug 02 23:51:19 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.2.28, released Sat Aug 02 23:51:19 1997. + + * ace/TTY_IO.cpp (control): Fixed a bug when using 8 bits for + character due to ISTRIP flag setting for device. Thanks to + Arturo Montes <mitosys@colomsat.net.co> for reporting this bug. + + * ACE-categories: Updated the list of ACE classes to reflect + recent changes. + + * ASNMP: Added the new ACE+SNMP release courtesy of Mike + MacFaden <mrm@cisco.com>. This builds cleanly on Solaris, + but it looks like there are a bunch of non-portable features + that won't compile cleanly on all the other platforms. + Therefore, until Mike or others get this stuff fully portable, + it won't be build by default in the top-level ACE Makefile. + + * ace/OS.h (class ACE_U_LongLong): Reformatted this a bit. + + * ace/SV_Semaphore_Simple.i: Removed the #include of + SV_Semaphore_Simple.h since it seems unnecessary and is causing + problems for TAO. + + * ace/IOStream_T.h (ACE_IOStream_T): Removed the unneeded ';' at + the end of the ACE_UNIMPLEMENTED_FUNC macros since this was + causing compiler errors. + +Sat Aug 02 13:11:22 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/Synch.cpp (ACE_Static_Object_Lock::instance): commented + out call to ::atexit () because it causes shutdown problems + on DEC CXX, HP/UX, and AIX. Many thanks to James Johnson + for tenaciously tracking this one down, to Thilo and Steve + for assisting, and to all who reported the problem. + + * ace/Log_Msg.cpp (ACE_Log_Msg_Manager::open,close): neutered + on VxWorks, only, so that it will compile. + +Fri Aug 1 21:33:18 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * netsvcs/lib/netsvcs.mak: Added post compilation command that + copies DLL to ace/ directory because netsvcs/main.exe must have + this file in search path. + + * ace/Read_Buffer.cpp (ACE_Read_Buffer): Used ACE_OS::fdopen + instead of ::fdopen because it caused compilation error on NT. + +Fri Aug 1 17:25:04 1997 Chris Cleeland <cleeland@swarm.cs.wustl.edu> + + * include/makeinclude/platform_irix6.4_sgic++.GNU (CCFLAGS): Used + -ptnone and -no_prelink in order to get SGI to compile properly. + + * ace/config-irix6.4-sgic++.h (ACE_HAS_EXCEPTIONS): Added + ACE_HAS_EXCEPTIONS to this config. + + * ace/IOStream_T.h (ACE_IOStream_T): Wrapped send, recv, send_n, + and recv_n with the ACE_UNIMPLEMENTED_FUNC macro. + +Fri Aug 1 17:08:32 1997 Nanbor Wang <nw1@waltz.cs.wustl.edu> + + * ace/ace.mak: Put OS.cpp back into the makefile. + + * ace/config-win32-common.h: Commented out checking of + ACE_HAS_WINSOCK2 when we are using NT 4.0 and above. The + original check prevented us from using winsock2. + + * ace/Thread_Manager.cpp: + * ace/Service_Repository.cpp: + * ace/ReactorEx.cpp: + * ace/Reactor.cpp: + * ace/Proactor.cpp: + * ace/Malloc.cpp: + * ace/Synch.{h,cpp}: Changed the lock held by + ACE_Static_Object_Lock from ACE_Thread_Mutex to + ACE_Recurssive_Thread_Mutex. + + * ace/Timer_Heap_T.cpp (ACE_Timer_Heap_T): Something was missing + here..... + +Fri Aug 1 13:39:13 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * ace/TTY_IO.cpp (control): Removed the special M_UNIX code for + SCO_OpenServer. Thanks to Arturo Montes + <mitosys@colomsat.net.co> for reporting this. + + * ace/Read_Buffer.cpp (ACE_Read_Buffer): Mistakenly used int + rather than ACE_HANDLE for one of the constructors in + ACE_Read_Buffer. + + * ace/OS.cpp (readv): Fixed a braino that manifests itself on + Chorus because I put the ACE_READV_TYPE in the wrong place. + Thanks to Wei Chiang for reporting this. + +Fri Aug 1 14:31:22 1997 Darrell Brunsch <brunsch@cs.wustl.edu> + + * tests/Timer_Queue_Test.cpp: removed casts from pointers to ints + (when a act was compared with a number) and instead used a cast + on the integer values. This gets rid of warnings on platforms + where the sizeof a pointer is larger than the sizeof an int. + +Fri Aug 01 12:10:28 1997 <irfan@TWOSTEP> + + * ace/Synch_T: Changed parameter passing for ACE_Atomic_Op from + const TYPE to const TYPE &. + + * ace/Synch.cpp: These specializations have been added to + ACE_Atomic_Op to make the implementation faster on Win32 that + has OS support for doing this quickly through methods like + InterlockedIncrement and InterlockedDecrement. + + * ace/SV_Semaphore_Complex.cpp (open): Fixed more compiler + warnings: + + IOStream.cpp Naming_Context.cpp Read_Buffer.cpp + SV_Semaphore_Complex.cpp SV_Semaphore_Complex.i + +Fri Aug 1 11:57:45 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * ace/Containers.h (ACE_Fixed_Set): Eliminated declaration for + unnecessary ACE_Fixed_Set(size_t) CTOR. + + * ace/OS.h: Simplified the typedef of ACE_hrtime_t so that it's an + unsigned long long whenever ACE_HAS_LONG_LONG_T is defined. + +Fri Aug 01 10:12:26 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/config-osf1-4.0.h: added ACE_HAS_TEMPLATE_SPECIALIZATION. + Thanks to Thilo for verifying that this is supported with DEC CXX. + + * ace/config-irix6.4-sgic++*.h: added ACE_TEMPLATES_REQUIRE_SOURCE + and ACE_REQUIRES_FUNC_DEFINITIONS. + + * ace/OS.h,README: added ACE_REQUIRES_FUNC_DEFINITIONS support. + + * ace/{Free_List.h,Remote_Tokens.h,Synch_T.h,Timer_*_T.h}: + wrapped unimplemented template class copy constructors and + assignment operators with ACE_UNIMPLEMENTED_FUNC. + + * tests/Service_Config_Test.cpp: removed templates to avoid + problems with finicky compilers, and added check of destruction + ordering. + + * include/makeinclude/platform_vxworks5.x_ghs.GNU: added + -no_prelink to LDFLAGS. + +Fri Aug 01 00:14:46 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.2.27, released Fri Aug 01 00:14:46 1997. + +Thu Jul 31 21:51:01 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/Log_Msg.cpp (open): fixed memory leak. + +Thu Jul 31 21:41:10 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * tests/Service_Config_Test.cpp (run_test): You won't shout as I... + + * ace/Object_Manager.cpp (instance): ... fiddle about ;-) + +Thu Jul 31 17:39:56 1997 <irfan@TWOSTEP> + + * ace: The following files were modified to avoid the + "unreferenced formal parameter" and other warnings from the + compiler: + + ACE.cpp Asynch_IO.cpp Asynch_IO.h INET_Addr.cpp OS.cpp OS.h OS.i + Proactor.cpp Reactor.cpp ReactorEx.cpp ReactorEx.i + SOCK_Dgram_Bcast.cpp Service_Config.cpp + +Thu Jul 31 16:46:44 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/config*.h: replaced "ACE_REQUIRES_TEMPLATE_SPECIALIZATION" + with "ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION". + + * ace/config-vxworks-ghs-1.8.h,config-irix6.4-sgic++*.h: added + ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA. + + * all .cpp files that had "ACE_REQUIRES_TEMPLATE_SPECIALIZATION": + replaced with "ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION" and + added #pragma instantiate for Edision Design Group compilers, + e.g., SGI and Green Hills. + +Thu Jul 31 16:25:33 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * ace/Synch.i (acquire): Added the timed acquire() interface to + ACE_Semaphore. + +Thu Jul 31 11:10:17 1997 Darrell Brunsch <brunsch@cs.wustl.edu> + + * tests/run_tests.bat: Redid this file completely making it + much smarter about running tests. Instead of just blindly + executing the tests, it checks the return values to see if + an error occured and also outputs relevant errors from the + log file if the test was unsuccessful. + + It's a remarkable example of batch programming wizardry. + +Thu Jul 31 10:39:04 1997 Darrell Brunsch <brunsch@cs.wustl.edu> + + * ace/INET_Addr.cpp: initialized error variable in + gethostname to stop warnings when inlining is on. + +Thu Jul 31 09:46:50 1997 Darrell Brunsch <brunsch@cs.wustl.edu> + + * ace/Timer_Heap_T.cpp: changed cancel(id) to check the timer + id to make sure it is in range (not negative and not larger + than the current size of the heap) + +Thu Jul 31 07:32:26 1997 David L. Levine <levine@cs.wustl.edu> + + * Malloc_T.{i,cpp},Timer_Queue_T.i: replaced LOCK with ACE_LOCK. + Thanks to Thilo for supplying patches. + + * ace/config-sunos5.5-g++.h: #define ACE_MALLOC_ALIGN to be 8. + + * ace/Object_Manager.*: renamed cleanup () to at_exit (). + + * Log_Msg.{h,cpp},Object_Manager.cpp: let ACE_Object_Manager + clean up the global ACE_Log_Msg_Manager. + + * Service_Config_Test.cpp: added test of + ACE_Object_Manager::at_exit (). + +Wed Jul 30 20:30:25 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/SOCK_Dgram.h: Added an = 0 to the flags parameter to recv(). + Thanks to Michael MacFaden for pointing out the inconsistency. + + * ace/OS.cpp (thr_create): Added support for the SCHED_IO policy, + which is supported by MIT Pthreads. Thanks to Arturo Montes + <mitosys@colomsat.net.co> for this fix. + + * ace/SOCK_Dgram.h: Added a comment to clarify how to delete the + elements of the iovec array. Thanks to Mike MacFaden for + clarifying this. + + * ace/Reactor.h: Changed the comment for schedule_timer() to use + delta_timer rather than delay. + + * ace/Connector: Updated the timer cancellation id to be long + rather than int. + + * examples/Reactor/Misc/notification.cpp: Timers are now working + happily on Chorus, so we can revert the Chorus-specific patches. + Thanks to Wei Chiang for reporting this. + + * ace/SOCK_Dgram.cpp (recv): The timed recv() method must return + -1 on a timeout to meet its documented specification. Thanks to + Joseph Cross <joseph.k.cross@lmco.com> for reporting this + problem. + + * ace/OS.i (readv): Added a fix for Chorus, which has a different + readv() prototype than normal operating systems. Thanks to Wei + Chiang for reporting this. + +Wed Jul 30 20:02:21 1997 James C Hu <jxh@lambada.cs.wustl.edu> + + * ace/Hash_Map_Manager.{h,cpp}: changed the *_i methods to use + shared_find() method to ease template specialization efforts. + Also, added a new shared_find() method. Added a parameter to + each to allow the passing in of the calculated hash value. + +Wed Jul 30 16:43:34 1997 <irfan@TWOSTEP> + + * ace/config-win32-common.h: If _DEBUG is not set (that is, we are + building the Release version), we will turn on __ACE_INLINE__. + Thanks to Matthias Kerkhoff <make@cs.tu-berlin.de> for + suggesting this. + +Wed Jul 30 06:53:30 1997 Matthias Kerkhoff <make@cs.tu-berlin.de> + + * The use of the following configuration #defines in the entire + ACE distribution has been changed: + + - ACE_HAS_WINNT4 + - ACE_HAS_MFC + - ACE_HAS_STRICT + - ACE_MT_SAFE + - ACE_HAS_DLL + - ACE_HAS_SVC_DLL + - ACE_HAS_WINSOCK2 + - ACE_HAS_ORBIX + - ACE_HAS_MT_ORBIX + + In previous ACE-versions, code blocks depending on one of these + defines have been guarded by an #if defined(ACE_XXX_OPTION). + Therefore it has been necessary to define the default + configuration unconditionally in config-win32.h. + + The #if statements in the source files have been changed to + + #if defined(ACE_XXX_OPTION) && (ACE_XXX_OPTION != 0) + + while the default configuration in config-win32.h will only be used, + if it has not been overridden from the compilers command line (i.e.) : + + #if !defined(ACE_XXX_OPTION) + #define ACE_XXX_OPTION 1 + #endif + +Wed Jul 30 14:46:33 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * ace/Malloc.cpp: + * ace/Proactor.cpp: + * ace/ReactorEx.cpp: + * ace/Reactor.cpp: + * ace/Service_Repository.cpp: + * ace/Thread_Manager.cpp: + * ace/Synch.{h,cpp}: Changed ACE_Static_Object_Lock::get_lock () + to instance () to emphasize that it's a singleton. + + * ace/Containers.cpp: Fixed the problem caused by + ACE_Unbounded_Stacknotkeeping its size currectly. Thanks for + Matthias Kerkhoff <make@cs.tu-berlin.de> for sending us the + patch. + + * ace/OS.cpp (exit): Corrected a bug in ACE_TSS_Cleanup::exit (). + It innocently uses default ctor to copy info_arr. And things + get out of hand when info_arr[] gets destructed. Thanks very + much for Matthias Kerkhoff <make@cs.tu-berlin.de> for digging + this out and sending us the patch. + +Wed Jul 30 13:36:55 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/config-vxworks-ghs-1.8.h: added #ifdef ppc wrapper around + #define of ACE_HAS_POWERPC, because GreenHills #defines that. + + * include/makeinclude/platform_vxworks5.x_ghs.GNU: replaced + indlib.o LIBS with newer ghsbltin.o and ghsmath.o. + + * ace/OS.h: use the same ACE_UNUSED_ARG definition with ghs as + with other compilers. + + * ace/Object_Manager.*: revised interface, but still in flux. + cleanup () should work for process-wide registration, but is + untested. + +Wed Jul 30 11:13:57 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * ace/config-linux*.h (ACE_HAS_LONGLONG_T): These configs + file incorrectly had ACE_HAS_LONGLONG rather than + ACE_HAS_LONGLONG_T. + + * ace/OS.cpp (gethrtime): Added 'volatile' keyword to insure that + the automatic variables 'most' and 'least' don't get put into + registers. Putting this in stopped the SIGSEGV that was occurring + in Linux. + +Wed Jul 30 06:53:30 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.2.26, released Wed Jul 30 06:53:30 1997. + +Wed Jul 30 04:36:39 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * ace/Containers.{h,cpp}: Added back new parameterized allocation + strategy version. Finally. + + * ace/Synch.cpp (atexit): Moved ACE_Allocator here because only + here, we can be sure that no other user defined memory + activities are going on. This is becoming even more + interesting now.... Perhaps we should move all + close_singleton's here? + + * ace/Service_Config.cpp (close_singletons): Removed + ACE_Allocator::close_singleton () from this function because we + still need ACE_Allocator to "free" static objects' memory. + + * ace/Synch.{h,cpp}: Added a new class ACE_Static_Object_Lock + which provides a lock when instantiating static objects. + + * ace/Thread_Manager.cpp: Removed ace_thread_manager_lock_, + * ace/Service_Repository.cpp: Removed ace_service_repository_lock_, + * ace/ReactorEx.cpp: Removed ace_reactorex_lock_, + * ace/Reactor.cpp: Removed ace_reactor_lock_, + * ace/Proactor.cpp: Removed ace_proactor_lock_, + * ace/Malloc.cpp: Removed ace_malloc_lock_, + and replace them with a global single lock + ACE_Static_Object_Lock::get_lock (). + +Tue Jul 29 16:25:48 1997 Chris Cleeland <cleeland@cs.wustl.edu> + + * ace/OS.cpp (thr_create): Explicitly flagged 'stack' and 'size' + as unused arguments. + + * ace/Memory_Pool.cpp (handle_signal): Explicitly flagged siginfo + as an unused argument, and moved the decl of offset into the + conditional block in which it's used. + + * ace/OS.i (dlerror): Added explicit cast of the return value to + (char*) because on Linux dlerror() returns const char*, while on + Solaris it's char*. + + * ace/config-linux-lxpthreads.h: Created new flag + ACE_LACKS_POSIX_PROTO_FOR_SOME_FUNCS that can be used when only + certain functions are missing POSIX prototypes. This eliminates + more warnings with -Wall + + * ace/ACE.cpp (max_handles): Added return statement for the + RLIMIT_NOFILE case. + (count_interfaces): Removed unused variables. + +Tue Jul 29 15:10:35 1997 Darrell Brunsch <brunsch@cs.wustl.edu> + + * ace/OS.i: Changed sema_wait to take in a const ACE_Time_Value + +Tue Jul 29 12:41:27 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> + + * ace/config-sco-5.0.0-mit-pthread.h: Added the + ACE_LACKS_PWD_FUNCTIONS macro. Thanks to Arturo Montes + <mitosys@colomsat.net.co> for reporting this. + +Tue Jul 29 13:10:00 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * ace/Signal.h: Moved inclusion of "Containers.h" to the bottom of + this file so everything is defined properly before use. + +Tue Jul 29 12:36:24 1997 <irfan@TWOSTEP> + + * tests/Message_Queue_Test.cpp (main): Removed dynamic allocation + of the string array. + +Tue Jul 29 12:15:49 1997 Darrell Brunsch <brunsch@cs.wustl.edu> + + * ace/Proactor.cpp + * ace/Reactor.cpp: + * ace/ReactorEx.cpp: Changed the default Timer Queue to + Timer Heap instead of Timer List. + +Tue Jul 29 07:59:04 1997 David L. Levine <levine@cs.wustl.edu> + + * Makefile,TAO/Makefile: change mode of updated ChangeLog-* + file to 644 after updating it, when building a release + with TIMESTAMP enabled. + + * ace/OS.cpp (sched_params): added some more initializations + to 0 to avoid Purify warnings about unitialized memory reads. + + * ace/Object_Manager.cpp (~ACE_Object_Manager): removed unused + variable "i". Thanks to Amos Shapira <amos@gezernet.co.il> + for reporting this. + + * ace/Service_Record.{h,i} Parse_Node.{h,cpp} (handle,open_handle): + removed "const" from ACE_SHLIB_HANDLE return value. Thanks + to the several people who noted compiler warnings from this. + + * ace/Naming_Context.cpp: added delete of this->name_options_; + (dtor,fini): call this->close (). + + * tests/IOStream_Test.cpp (client,server): use ACE_NEW_RETURN + instead of new. + +Tue Jul 29 01:53:18 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * ace/OS.h: Added two new macros ACE_NEW_MALLOC_RETURN and + ACE_NEW_MALLOC. Theses are similiar to ACE_ALLOCATOR_RETURN and + ACE_ALLOCATOR that allow memory allocation using user defined + functions. However, these two macros will call specified + constructor after memory is being allocated. + + * ace/Containers.{h,cpp}: Decoupled memory allocation strategy for + ACE_Unbounded_Stack, ACE_Unbounded_Set, ACE_Unbounded_Queue. + Users can now specified their own memory allocation strategies + if needed. If not specified, the default ACE_Allocator will be + used. + +Tue Jul 29 00:56:54 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.2.25, released Tue Jul 29 00:56:54 1997. + +Mon Jul 28 16:23:26 1997 David L. Levine <levine@cs.wustl.edu> + + * include/makeinclude/rules.nested.GNU: added missing + semicolon at end of last statement. Thanks to Amos + Shapira <amos@gezernet.co.il> for providing this fix. + + * ace/OS.h (VxWorks only): only #include <stdarg.h> before + <vxWorks.h> for GreenHills. Thanks to Dave Moore + <dave.moore@gecm.com> for reporting a problem without this + fix with g++/VxWorks 5.3.1 for PowerPC target. + Also, commented out g++ string.h hack. It no longer appears + to be necessary. + + * tests/README: added VxWorks 5.3.1 test status. + + * tests/SPIPE_Test.cpp (main): fixed #ifdefs so that it compiles. + + * ace/OS.i: (strtok_r): replaced NULL with 0. NULL is #defined + as (void *) 0 on VxWorks, so it causes compile warnings. + Thanks to Dave Mayerhoefer <davem@lynx.com> for reporting + this problem. + + * ace/Object_Manager.{h,cpp},Makefile: added this class to + shutdown ACE library services, and reclaim their storage, + at program termination. + + * ace/ACE.cpp: added hook to call ACE_Object_Manager destructor + in this file. It's in this file so that it's sure to be + linked in to executables that statically link libACE.a. + + * ace/Service_Config.{h,cpp}: (close): delete ACE_STATIC_SVCS + instance, which is now saved in static_svcs_. Also, removed + LM_SHUTDOWN call, because the logger apparently gets shutdown + now with everything else (with ACE_Object_Manager). + + * ace/Object_Manager.* (delete_at_exit,delete_array_at_exit): + made these (inline) static functions, with return values. + + * tests/IOStream_Test.cpp (client,server): explicitly destroy + (and create) ACE_SOCK_IOStream instances, because they don't + get destroyed on Solaris. They're on the stack of separate + threads, so maybe the problem is related to not cleaning up + TSS on Solaris. Thanks to James CE Johnson <jcej@lads.com> + for some efficient debugging work, and for verifying that the + original code works properly on Linux. + +Mon Jul 28 21:59:09 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * ace/ace.mak: Added file Object_Manager.cpp. + + * ace/OS.h: Added #define RTLD_LAZY when + ACE_HAS_SVR4_DYNAMIC_LINKING and RTLD_LAZY is not defined. + FreeBSD 2.2.1 "forgot" to put in this definition. Thanks to + Satoshi Ueno for reporting this. + +Mon Jul 28 13:27:21 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> + + * ace/Object_Manager: Made a few minor stylistic updates. + + * netsvcs/servers/main.cpp (main): Updated this test program to + utilize the new ACE_Service_Object_Ptr class. + + * ace/Service_Object.h: Added a new smart pointer call + ACE_Service_Object_Ptr, which generalizes functionality that was + previously in the ./netsvcs/server/main.cpp file. Thanks to Wei + Chiang for this suggestion. + + * examples/Threads/process_manager.cpp (parse_args): Removed the + unused n_processes global variable. Thanks to Amos Shapira for + reporting this. + + * tests/SPIPE_Test.cpp (main): Cleaned up the #ifdef structure + to remove compiler warnings. Thanks to Amos Shapira for + this. + + * tests/Handle_Set_Test.cpp (test_performance): Removed an unused + ACE_HANDLE handle definition. Thanks to Amos Shapira for + reporting this. + + * ace/OS.i (sema_init): Swapped else and #endif to avoid + a compile error when ACE_LACKS_NAMED_POSIX_SEM is false. + Thanks to Wei Chiang for reporting this. + + * ace/OS.cpp (rwlock_init): Added a cast to (const void *) to keep + certain compilers from complaining. Thanks to Thilo and + Amos Shapira for reporting this. + + * ace/OS.i (sema_wait): *tv should have been &tv. Thanks to Thilo + for reporting this. + +Mon Jul 28 13:57:21 1997 James C Hu <jxh@swarm.cs.wustl.edu> + + * ace/config-irix6.4-sgic++.h: Added template specialization #def. + +Sun Jul 27 20:47:01 1997 David L. Levine <levine@cs.wustl.edu> + + * tests/Handle_Set_Test.cpp: Instantiate templates with + ACE_HANDLE instead of int. + + * examples/IPC_SAP/SPIPE_SAP/NPServer.cpp (main): use + ACE_OS::fprintf () instead of cerr. + +Sun Jul 27 20:10:26 1997 Douglas C. Schmidt <schmidt@cs.wustl.edu> + + * ACE version 4.2.24, released Sun Jul 27 20:10:26 1997. + +Sun Jul 27 16:03:30 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * tests/Handle_Set_Test.cpp (test_boundaries): Changed class of + queue from ACE_Unbounded_Queue<int> to + ACE_Unbounded_Queue<ACE_HANDLE> so it declares the right data + type. + + * ace/Synch.cpp (ACE_Process_Mutex): + * ace/OS.cpp (rwlock_init): + * ace/ACE.cpp (unique_name): Memories for placing unique_name are + now declared using ACE_UNIQUE_NAME_LEN. When calling + ACE::unique_name, the length is also specified using + ACE_UNIQUE_NAME_LEN because using "sizeof (buffer)" also caused + problem if we are using UNICODE. + + * ace/OS.h: Added a new directive ACE_UNIQUE_NAME_LEN to specified + the maximum length of an "unique name." + +Sun Jul 27 15:32:08 1997 David L. Levine <levine@cs.wustl.edu> + + * tests/Handle_Set_Test.cpp (main): uncommented + test_duplicates () and test_performance () calls, and added + ACE_Unbounded_Queue_Iterator<int> specialization. + +Sun Jul 27 14:25:33 1997 Douglas C. Schmidt <schmidt@merengue.cs.wustl.edu> + + * tests/Handle_Set_Test.cpp (test_boundaries): Added a better test + to ensure that the ACE_Handle_Set_Iterators are working + correctly. This works by inserting the handles in a queue and + then making sure that they are the same values we receive from + the iterator. + + * ace/Handle_Set.i (operator): Fixed a subtle bug in the + ACE_Handle_Set_Iterator implementation. We need to make + sure that we increment the handle_index_ to the beginning + of the next word whenever we've examined all the bits in + the current word. Thanks to David Levine for noticing this + problem. + +Sun Jul 27 09:06:29 1997 David L. Levine <levine@cs.wustl.edu> + + * include/makeinclude/rules.lib.GNU: replaced hard-coded ".so" + with "$(SOEXT)". + + * include/makeinclude/rules.local.GNU: added/completed support + for "$(SOEXT)", and "$(VSHDIR)" instead of always hard-coding + them as ".so" and ".shobj/". + + * include/makeinclude/wrapper_macros.GNU: added support for + override of "$(VSHDIR)" in platform_macros.GNU. + + * apps/JAWS/clients/{Blobby,Caching}/Makefile, + apps/JAWS/stress_testing/Makefile, + apps/Orbix-Examples/Event_Comm/{Consumer,Supplier}/Makefile, + examples/ASX/Event_Server/Event_Server/Makefile, + examples/ASX/UPIPE_Event_Server/Makefile, + examples/Logger/simple-server/Makefile, + examples/Mem_Map/IO-tests/Makefile, + examples/Naming/Makefile, + examples/Reactor/Multicast/Makefile, + examples/Service_Configurator/Misc/Makefile, + examples/Shared_Malloc/Makefile: + replaced hard-coded ".shobj" with "$(VSHDIR)" in LDLIBS definitions. + + * include/makeinclude/platform_vxworks5.x_{g++,ghs}.GNU: + added overrides of .so build rules to change them .o builds. + + The above changes allow builds of modules that specify .shobj/*.so + on VxWorks, by mapping those objects to .obj/*.o. + +Sun Jul 27 03:07:35 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * ace/ACE.cpp (unique_name): Added __TEXT macro to the format + string in sprintf to avoid a nasty problem when using UNICODE on + NT. + +Sat Jul 26 21:12:07 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/ReactorEx.cpp: added a couple of ACE_UNUSED_ARG's. + + * examples/Logger/simple-server/Logging_Handler.cpp (handle_input): + replace use of cerr with stderr (by using default arg of + ACE_Log_Record::print ()). + + * examples/Shared_Malloc/test_multiple_mallocs.cpp (main): use + ACE_OS::printf () instead of cout. + + * examples/Shared_Malloc/test_persistence.cpp: added #include + of iostream.h with ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION. + +Sat Jul 26 15:55:43 1997 <irfan@TWOSTEP> + + * ace/Malloc_T.cpp (ACE_Cached_Allocator): Changed (T *) to + (T*). VC++ did not like the former. + + * The entire ACE distribution was updated to use the new singleton + methods. The old singleton methods in Service_Config have been + deprecated and users are encouraged not to use these methods + anymore. It may not be supported in future releases. The + replacement is the instance() methods in the individual classes. + For example, ACE_Service_Config::reactor() is replaced by + ACE_Reactor::instance(). A perl script has been added + (ACE_wrappers/bin/Service_Config.perl) to allow users to change + their code over to the new methods. + + These changes will hopefully help in reducing the compile-time + dependencies in ACE source files and allow smaller custom ACE + libraries to be compiled. + + Thanks to Matthias Kerkhoff <make@cs.tu-berlin.de> for making + these changes. + +Sat Jul 26 15:44:45 1997 Douglas C. Schmidt <schmidt@mambo.cs.wustl.edu> + + * ace/Malloc_T.cpp (ACE_Cached_Allocator): I think we want to + say "sizeof (T)" rather than "sizeof (T *)". + + * ace/FILE_IO.i (recv_n): There is a minor bug fix to be made in + FILE_IO.i. The method ACE_FILE_IO::recv_n() should call + ACE::read_n(), not ACE::recv_n(). Similarly, the method + ACE_FILE_IO::send_n() should call ACE::write_n(), not + ACE::send_n(). The functions ::recv() and ::send() are intended + only for *socket* I/O, and return failure conditions when + applied to *file* I/O. Thanks to David Brackman + <dbrackman@OhioEE.com> for reporting this. + + * ace: Changed all LOCK names to ACE_LOCK to avoid clashes + with macros in the KAI C++ compiler. Thanks to Jeff + R. Hayes <Jeff.Hayes@osi.com> for pointing this out. + + * ace/Malloc_T.i: Added ACE_INLINE to some methods that weren't + getting inlined. + + * ace/OS.i: Added an implementation of timed semaphores for the + POSIX threading APIs. Also cleaned up the return values from + sema_wait() so that it always returns -1 if an error occurs + (originally, it was returning -2, which is confusing). Also + cleaned up the rd_lock() and wr_lock() methods in the same way. + +Sat Jul 26 16:00:05 1997 David L. Levine <levine@cs.wustl.edu> + + * Malloc_T.cpp (ACE_Cached_Allocator): fixed typo, sizeof (T*) + instead of sizeof (*T). + + * Proactor.cpp (instance): fixed signature in non-WIN32 + version. (run_event_loop): added ACE_UNUSED_ARG (tv). + +Fri Jul 25 12:08:47 1997 David L. Levine <levine@cs.wustl.edu> + + * ace/OS.[hi]: finished VxWorks (non-POSIX) semaphore implementation. + + * ace/Process.cpp (spawn): with GreenHills compiler only (for + VxWorks), call ACE_NOTSUP_RETURN instead of spawning via execve. + GreenHills 1.8.8 loses its lunch on the ACE_OS::execve () call. + Thanks to Dave Mayerhoefer <davem@lynx.com> for reporting + this problem. + + * tests/Mem_Map_Test.cpp (create_test_file): delete array "mybuf" + to prevent memory leak. + + * tests/Message_Queue_Test.cpp (main): delete "buffer" + elements at end of test to prevent memory leaks. + + * performance-tests/Misc/context_switch_time.cpp: use + ACE_Sched_Params for platform-independent thread priority + assignment. Also, modified Yield_Test so that only one thread + writes the test's timer. + + * examples/ASX/UPIPE_Event_Server/Peer_Router.cpp (svc): + replaced an iostream printout with an ACE_DEBUG call. + + * examples/ASX/UPIPE_Event_Server/event_server.cpp: added + #include of iostream.h with ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION. + + * examples/IPC_SAP/FILE_SAP/client.cpp: require 2 args instead + of 1; mask file mode with 0777 (octal); and use + ACE_OS::printf () instead of cout. + +Fri Jul 25 00:46:22 1997 <irfan@TWOSTEP> + + * ace/Synch: Added documentation for Condition variables. Thanks + to Jeff <jmg@trivida.com> for pointing out the lack of + documentation. + +Thu Jul 24 11:48:05 1997 David L. Levine <levine@cs.wustl.edu> + + * Makefile,TAO/Makefile: added a filter to exclude backup and + [.]#* files from releases. Thanks to Carlos O'Ryan + <coryan@mat.puc.cl> for reporting this problem. + + * include/makeinclude/platform_*.GNU: inserted CVS/RCS + keyword string. + + * performance-tests/Misc/basic_perf.cpp (per_iteration): + added support for ACE_U_LongLong. + + * performance-tests/Misc/childbirth_time.cpp: + (prof_fork,prof_native_thread): added ACE_UNUSED_ARGs + for unsupported platforms. (prof_ace_os_thread): added + (ACE_THR_FUNC) cast of first arg to ACE_OS::thr_create () call. + + * performance-tests/Misc/test_naming.cpp (find): replaced cerr + statement with an ACE_DEBUG. + + * examples/Misc/test_read_buffer.cpp: replaced bare OS calls + with ACE_OS calls. + +Thu Jul 24 11:35:37 1997 Darrell Brunsch <brunsch@cs.wustl.edu> + + * ace/Timer_Heap_T.cpp: Fixed a problem with reschedule() + corrupting the free list in Timer Heap. Thanks to + James Crawford <jamesc@in.ot.com.au>, Silvano Peruzzi + <silvanop@in.ot.com.au>, and Stuart Powell <stuartp@in.ot.com.au> + for the fix. + +Wed Jul 23 23:29:15 1997 <irfan@TWOSTEP> + + * ace/Message_Block.cpp (size): Changed the comparison from + (length < this->max_size_) to (length <= this->max_size_). + Thanks to Paul <proman@npac.syr.edu> for suggesting this change. + +Wed Jul 23 21:54:23 1997 David L. Levine <levine@cs.wustl.edu> + + * examples/Shared_Malloc/test_malloc.cpp (spawn): cast argv + argument to (char *const *) for call to ACE_OS::execv (). + +Wed Jul 23 16:40:39 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * ace/ACE.cpp (get_ip_interfaces): ACE'ified codes for NT. UNIX + part will come later. + + * ace/Malloc_T.cpp (ACE_Cached_Allocator): Changed to use raw + memory allocation method for memory pool. + + * ace/OS.h (ACE_TEXT_STRING): Added this #define macro to switch + between ACE_WString and ACE_CString according to the usage of + UNICODE. + +Wed Jul 23 14:43:11 1997 David L. Levine <levine@cs.wustl.edu> + + * tests/Timer_Queue_Test.cpp(main): delete timer_id array at + the end of the test to avoid a memory leak. + +Wed Jul 23 13:40:39 1997 Nanbor Wang <nw1@cumbia.cs.wustl.edu> + + * ace/Process.cpp (ACE_Tokenizer::next): Moved checking of string + termination after checking delimiter and preserve_designator so + that we can use this class to tokenize multiple null terminated + strings cascaded together (using \0 as delimitor.) Notice tne + combined strings must be terminated with two null chars. I need + to use this class in ACE::get_ip_interfaces. + + * ace/Malloc_T.{h,i}: Changed the implementation of + ACE_Cached_Mem_Pool_Node from using union to a plain pointer. + This is because some C++ compilers don't allow union member to + have copy constructor. Thanks to Tim to dig this out. + +Wed Jul 23 12:58:04 1997 Steve Huston <shuston@riverace.com> + + * ace/CORBA_Ref.cpp: Added #include "ace/Log_Msg.h" to catch the + ACE_DEBUG macro. |