diff options
Diffstat (limited to 'ChangeLog-97b')
-rw-r--r-- | ChangeLog-97b | 4628 |
1 files changed, 0 insertions, 4628 deletions
diff --git a/ChangeLog-97b b/ChangeLog-97b deleted file mode 100644 index bafaa8b6d43..00000000000 --- a/ChangeLog-97b +++ /dev/null @@ -1,4628 +0,0 @@ -Tue Sep 30 17:15:14 1997 James C Hu <jxh@lambada.cs.wustl.edu> - - * 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. - - * 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. |