summaryrefslogtreecommitdiff
path: root/ACE/ChangeLogs/ChangeLog-97b
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/ChangeLogs/ChangeLog-97b')
-rw-r--r--ACE/ChangeLogs/ChangeLog-97b9182
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.