diff options
Diffstat (limited to 'ChangeLog-97b')
-rw-r--r-- | ChangeLog-97b | 9182 |
1 files changed, 0 insertions, 9182 deletions
diff --git a/ChangeLog-97b b/ChangeLog-97b deleted file mode 100644 index cb3e925925f..00000000000 --- a/ChangeLog-97b +++ /dev/null @@ -1,9182 +0,0 @@ -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.; not even - - * 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. |