diff options
Diffstat (limited to 'ChangeLog-97a')
-rw-r--r-- | ChangeLog-97a | 1182 |
1 files changed, 0 insertions, 1182 deletions
diff --git a/ChangeLog-97a b/ChangeLog-97a deleted file mode 100644 index 80814a270a7..00000000000 --- a/ChangeLog-97a +++ /dev/null @@ -1,1182 +0,0 @@ -Wed Jan 29 09:03:48 1997 David L. Levine <levine@cs.wustl.edu> - - * ace/OS.h: moved ACE_id_t and ACE_pri_t typedefs out of the - ACE_HAS_THREADS section. - - * ace/OS.cpp: fixed ACE_OS::set_sched_params on Win32 and VxWorks. - - * ace/Scheduling_Parameters.*, ace/Thread_Priority.*: updated - comments. - - * examples/Threads/{context_switch_time.cpp,Timer.h,Makefile}: - added context switch timing test. Currently only works on Suns - because that's the only platform for which ACE has a high- - resolution timer. - - * Makefile: added chmod of VERSION file in TIMESTAMP macro. - -Wed Jan 29 00:59:12 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * include/makeinclude/platform_linux_lxpthread.GNU (CXX): Removed - the -D_MIT_POSIX_PTHREADS symbol since we're using Xavier's - threads instead. Thanks to Marius Kjeldahl <marius@funcom.com, - mariusk@sn.no> for reporting this. - - * ace/config-linux-lxpthreads.h: Removed the _MIT_POSIX_PTHREADS - symbol since we're using Xavier's threads instead. Thanks to - Marius Kjeldahl <marius@funcom.com, mariusk@sn.no> for reporting - this. - -Tue Jan 28 23:32:58 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * ace/SString: Added hash() methods to each ACE String class so - that we can use this with the new ACE_Hash_Set implementation of - ACE_Map_Manager. - - * ace/ACE.h (ACE): Added a UNICODE version of hash_pjw() so that - we can use it to hash ACE_WString. - - * ace/OS.i (thr_setprio): Fixed a typo that was left over from a - previous change. Thanks to Fred LaBar - <flabar@fallschurch.esys.com> for reporting this. - - * apps/Gateway/Gateway/{proxy_config,consumer_config}: Added - comments to these config files so they are easier to understand. - Thanks to Chuck Gehr for motivating this. - - * apps/Gateway/Peer/Peer.cpp: Changed the name from connection_id_ - to proxy_id_, which is more accurate. - - * apps/Gateway/Peer/Peer.cpp: Added a destructor to Peer_Handler - so that it can clean itself up properly when shutdown with a - signal. This fixes a nasty bug. - - * ace/config-win32-msvc4.x.h (ACE_HAS_MFC): By default, ACE now - enables ACE_HAS_MFC. This makes it possible to use - AfxBeginThread() with the ACE_THR_AFX flag. - - * ace/OS.cpp: Fixed a typo in the call to ::AfxBeginThread() - function. Thanks to Karlheinz for reporting this. - - * apps/Gateway/Peer/Peer.cpp: Removed all uses of the Map_Manager - from the Peer. There's only ever one connection from a Gateway - per-Peer, so what was this doing here anyway?! It was causing - problems due to multiple deletions, so removing it improves - robustness of the tests. - - * ace/OS.i: Commented out the "extern char **_sys_siglist" - definition since this was conflicting with the definition in - Solaris. If some platforms needs this, we'll need to add a - specific #ifdef. - -Tue Jan 28 21:57:45 1997 David L. Levine <levine@cs.wustl.edu> - - * ace/OS.{h,cpp}: added ACE_OS::set_sched_params (). It permits - platform-independent setting of thread priorities and - priority classes. It is currently supported on Solaris, - Win32, and VxWorks. - - * ace/Scheduling_Parameters.{h,i,cpp}, - ace/Thread_Priority.{h,i,cpp}, ace/Makefile: - Added these two classes to support ACE_OS::set_sched_params (). - -Tue Jan 28 12:42:39 1997 Irfan Pyarali <irfan@flamenco.cs.wustl.edu> - - * ace/ace.mdp: Added the "Using MFC in a Shared DLL" flags. - - * tests/test_config.h (ACE_INIT_LOG): Made this UNICODE safe. - - * tests/Pipe_Test.cpp (main): Added an iteration count to control - the number of children created by the main process. - - * ace/Memory_Pool.cpp (init_acquire): cast this->minimum_bytes_ to - size_t to avoid compiler warning if size_t is unsigned. - - * ace/OS.h: Added strncat to the OS class. - -Tue Jan 28 09:13:00 1997 David L. Levine <levine@cs.wustl.edu> - - * ace/ACE.cpp (ACE::ldfind), - ace/Local_Name_Space_T.cpp, - ace/Local_Token.cpp (ACE_TPQ_Entry::ACE_TPQ_Entry), - ace/Log_Msg.cpp (ACE_Log_Msg::msg, ACE_Log_Msg::find), - Memory_Pool.cpp (ACE_MMAP_Memory_Pool::ACE_MMAP_Memory_Pool), - ace/Naming_Context.cpp (ACE_Naming_Context::open), - ace/Parse_Node.cpp (ACE_Location_Node::open_handle), - ace/Registry.cpp (ACE_Predefined_Naming_Contexts::is_local_host, - ACE_Registry::Binding_Iterator::Object_Iteration::next_n, - ACE_Registry::Binding_Iterator::Context_Iteration::next_n), - tests/UPIPE_SAP_Test.cpp: - changed "sizeof char" to "sizeof (char)" because g++ and Sun C++ - (properly) choked on it. - - * ace/Local_Name_Space_T.cpp (create_manager_i): - -- ::strncat () instead of ACE_OS::strcat () - -- "lock_name_for_backing_store" instead of - "lock_name_for_local_name_space" - - * ace/Naming_Context.cpp (both constructors): reordered - initializers to match declaration order. - - * include/makeinclude/platform_sunos5_g++.GNU: removed - -fno-strict-prototypes because it's not needed with SunOS 5.5.1. - -Mon Jan 27 21:33:00 1997 Irfan Pyarali <irfan@flamenco.cs.wustl.edu> - - * tests/Naming_Test.cpp (main): Made modifications to the test to - make it more dynamic. Also made it work with UNICODE and - ACE_Naming_Context. - - * ace/Local_Name_Space_T.cpp (create_manager_i): Added a better - naming scheme for the locks. - - * ace: Changed the calculations of string lengths such that the - size of the character type is carefully considered. - - The following were affected: - - ACE.cpp (ACE::ldfind) - Local_Token.cpp (ACE_TPQ_Entry::ACE_TPQ_Entry) - Log_Msg.cpp (ACE_Log_Msg::msg, ACE_Log_Msg::find) - Memory_Pool.cpp (ACE_MMAP_Memory_Pool::ACE_MMAP_Memory_Pool) - Naming_Context.cpp (ACE_Naming_Context::open) - Parse_Node.cpp (ACE_Location_Node::open_handle) - Registry.cpp (ACE_Predefined_Naming_Contexts::is_local_host, - ACE_Registry::Binding_Iterator::Object_Iteration::next_n, - ACE_Registry::Binding_Iterator::Context_Iteration::next_n) - - * ace/OS.h: Added UNICODE support for ACE_DEFAULT_LOCALNAME. - - * ace/Proactor.cpp: Redid "lost" changes to add UNICODE support to: - - /* Proactor */ - ACE_Overlapped_File::ACE_Overlapped_File - ACE_Overlapped_File::open - - * ace/Registry_Name_Space.h: Changed the order of #include and - #define as that the correct set of MACROS are defined for the - include files. - - * tests/MM_Shared_Memory_Test.cpp: Added UNICODE support. - -Mon Jan 27 09:16:03 1997 David L. Levine <levine@cs.wustl.edu> - - * include/makeinclude/platform_sunos5_sunc++.GNU, - include/makeinclude/platform_sunos5_sunc++_orbix.GNU, - ace/config-sunos5.5-sunc++-4.x-orbix.h - ace/config-sunos5.5-sunc++-4.x.h: - disabled exception handling by commenting out ACE_HAS_EXCEPTIONS - in the config files and adding -noex to the platform files, - because it causes trouble, at least on MP machines. - -Mon Jan 27 14:54:31 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * ace/Memory_Pool.h: Added code to ACE_MMAP_Memory_Pool_Options to - take a minimum_bytes parameter. This is needed to prevent mmap - remapping when a large segment is requested. Thanks to Fred - LaBar <flabar@fallschurch.esys.com> for this. - -Sun Jan 26 13:39:13 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * ace/OS.i: Changed the typo sis_siglist to sys_siglist. Also, - changed the logic from #if !defined (ACE_HAS_SYS_SIGLIST) to - #if defined (ACE_HAS_SYS_SIGLIST) since this makes more sense... - Thanks to Nanbor Wang <nw1@cs.wustl.edu> for noticing this. - -Sat Jan 25 20:30:23 1997 David L. Levine <levine@cs.wustl.edu> - - * ace/config-sunos5.5-sunc++-4.1.h: commented out ACE_HAS_EXCEPTIONS - #define because -noex is required with it, and that causes core - dump during thread exit on multiprocessor UltraSparcs. - - * include/makeinclude/platform_sunos5_sunc++_4.1.GNU: added -noex - back because of core dump during thread exit on - multiprocessor UltraSparcs. - - * examples/ASX/Event_Server/Event_Server/Event_Analyzer.cpp, - examples/ASX/UPIPE_Event_Server/Event_Analyzer.cpp (control): - added "default" case to switch statement to eliminate compiler - warnings about enumeration values not being handled in switch. - - * examples/ASX/UPIPE_Event_Server/event_server.cpp (consumer): - removed unused variable "iter". - -Sat Jan 25 12:50:24 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * ace/OS.i: Updated all the cond_timedwait() and cond_wait() - methods so that they decrement the count of waiters by one even - when errors occur. Thanks to Irfan for finding this. - - * ace/Map_Manager.cpp: Updated the ACE_Map_Iterator code so that - it no longer crashes if the Map has been closed. Thanks to - Slawomir Kuzniar <kuzniar@Bear.COM> for reporting this. - -Sat Jan 25 11:34:56 1997 Irfan Pyarali <irfan@flamenco.cs.wustl.edu> - - * ace/SOCK_Connector.cpp (complete): Added a sleep of zero seconds - which allows non-blocking connects to work properly on NT. - - * ace/config-winnt-4.0-msvc4.x.h and config-win32-msvc4.x.h: - Added ACE_HAS_BROKEN_NON_BLOCKING_CONNECTS. - - * ace/OS.i: Moved out all code for Time_Value from #if region. It - is common to all. - - * ace/Reactor: Added helper routines to stop the VC++ compiler from - bitching about destructors in exception handling code. - - * ace/ace.{mak,mdp}: Removed Time_Value.cpp from project. - - * tests/tests.{mak,mdp}: Corrected the creation of SOCK_Test and - Message_Blob_Test executables and temporary files. - -Fri Jan 24 09:01:50 1997 David L. Levine <levine@cs.wustl.edu> - - * examples/Connection/misc/Connection_Handler.cpp: added - specialization of ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH> - so that subproject will build with g++ without optimization. - - * apps/Gateway/Gateway/Proxy_Handler.cpp: added specializations - of ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_SYNCH> and - ACE_Svc_Handler<ACE_SOCK_STREAM, ACE_NULL_SYNCH> - so that subproject will build with g++ without optimization. - - * tests/Reactor_Exceptions_Test.cpp (main): added ACE_UNUSED_ARG - for argc and argv when ACE_HAS_EXCEPTIONS is not defined. - - * performance-tests/Misc/test_mutex.cpp: made destructor of - Thread_Mutex_Derived virtual because the class has other virtual - functions. - -Thu Jan 23 11:51:45 1997 David L. Levine <levine@cs.wustl.edu> - - * ace/config-sunos5.5-g++.h: commented out ACE_HAS_EXCEPTIONS because - -fhandle-exceptions is broken in g++ 2.7.2 (and is required in order - to use exception handling); also, added ACE_HAS_INLINED_OSCALLS, if - __ACE_INLINE__ is #defined. - - * ace/config-sunos5.5-sunc++-4.1.h: added ACE_HAS_INLINED_OSCALLS, - if __ACE_INLINE__ is #defined. - -Wed Jan 22 15:04:47 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * ace/OS.h: Moved the ACE_TIMER_SKEW macro to below the #inclusion - of config.h and updated it so that it can be overridden in the - config.h file if necessary. Thanks to Bob Olson - <olson@mcs.anl.gov> for motivating this. - - * ace/OS.cpp: Fixed the implementation of - ACE_Thread_ID::operator== so that it works correctly when thread - ids and thread handles aren't ints. Thanks to Chuck Gehr for - reporting this. - - * ace/OS.i (thr_getprio): Moved a stray #else into the right - place. Thanks to Chuck Gehr for reporting this. - - * ace/OS.i (sema_post): this->count_++ should have been - s->count_++. Thanks to Chuck Gehr for reporting this. - - * ace/Synch_T.cpp: Added an extern "C" definition for - ACE_TSS_C_cleanup(). Thanks to Chuck Gehr for reporting this. - - * ace: Added a new #define called ACE_LACKS_SYS_NERR to the - config files for MVS and VxWorks. This is used in OS.cpp - as follows: - - #if defined (ACE_LACKS_SYS_NERR) - int sys_nerr = ERRMAX + 1; - #endif /* ACE_LACKS_SYS_NERR */ - - Thanks to Chuck Gehr for reporting this. - - * Removed all #inclusions of "ace/Time_Value.h." This file - no longer contains anything besides a #include "ace/OS.h" - and is only kept around due to backwards compatibility. - - * ace: Moved the contents of Time_Value.h into OS.h to reduce the - confusion that arises from the #inclusion of "config.h" in - Time_Value.h. Also merged the contents of Time_Value.{i,cpp} - into OS.{i,cpp}. Thanks to the MDA guys for motivating this. - - * tests/Reactor_Exceptions_Test.cpp: Added a new test that - exercises the Reactor with C++ exceptions. Thanks to Luca for - the test. - - * ace/Reactor.cpp (handle_events): Added Win32 structured - exception handling support to the ACE_Reactor::handle_events() - method so that it correctly releases the token lock when Win32 - SEH occur in callback routines. Thanks to Luca for reporting - this problem. - - * ace: Added a new macro called ACE_HAS_EXCEPTIONS, which - indicates that the compiler supports C++ exception handling. - - * include/makeinclude/platform_sunos5_sunc++*.GNU: Commented out - the -noex flag for now. Hopefully, things will work correctly - now. - - * ace/Thread_Manager.cpp (exit): Removed the final acquire() on - ace_mon, which is no longer necessary since the Guard classes - now keep track of whether they are "owned". Thanks to Karlheinz - and Detlef for this fix. - -Wed Jan 22 09:05:31 1997 David L. Levine <levine@cs.wustl.edu> - - * Makefile,VERSION: modified top-level Makefile (and VERSION) - to add a timestamp to the VERSION file if creating a release - from the /project/adaptive/ACE_wrappers directory. If it - causes problems, this will disable it: - % make TIMESTAMP= release. - - * ace/Local_Tokens.cpp (dump): replaced "ACE_TSS<ACE_TPQ_Entry>" - with "ACE_TPQ_ENTRY" so that ACE_NO_TSS_TOKENS is supported. - - * ace/Synch.h: fixed typo in comment header for ACE_Thread_Semaphore - - * ace/config-vxworks-ghs-1.8.h,config-vxworks5.2-g++.h, - config-unixware-2.01-g++.h: - protect ACE_HAS_INLINED_OSCALLS #defined with - #if defined (__ACE_INLINE__). - - * apps/Gateway/Gateway/Event_Channel.cpp (open): added - ACE_UNUSED_ARG (sig);. - - * examples/ASX/Event_Server/Event_Server/Peer_Router.h: - declared a friend of class Peer_Router_Context because it - has a private destructor, to eliminate compiler warning - about not having any friends. - - * examples/ASX/Event_Server/Event_Server/Supplier_Router.cpp - (open): added return 0 in "true" branch of if statement so - that the function always returns a value. - -Tue Jan 21 09:19:44 1997 David L. Levine <levine@cs.wustl.edu> - - * tests/Reader_Writer_Test.cpp (reader): commented out unused - variable "n"; also, commented out unused function - print_usage_and_die. - - * tests/TSS_Test.cpp, Thread_Manager_Test.cpp (main): added - ACE_UNUSED_ARG (sa);. - - * tests/Thread_Pool_Test.cpp (open): added return 0 at end. - -Tue Jan 21 11:00:12 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * apps/Gateway/Gateway/Gateway.cpp (parse_args): There was a small - bug in parse_args (latest beta), it mixed proxy and consumer - conf files. Thanks to Per Andersson - <Per.Andersson@hfera.ericsson.se> for reporting this. - -Mon Jan 20 13:29:28 1997 David L. Levine <levine@cs.wustl.edu> - - * ace/OS.i, ace/Task.h, and ace/Thread_Manager.h: changed a few - occurrences of NULL to 0 (for other than Win32 platforms), - primarily to avoid compiler warnings on VxWorks if ACE.h isn't - #included before stddef.h. - - * netsvcs/clients/Naming/Dump_Restore/Dump_Restore.cpp - (handle_input): replaced %d format with %hu for u_short arg. - - * netsvcs/clients/Tokens/deadlock/deadlock_detection_test.cpp - (run_writer): initialized variable "t" to avoid compiler warning. - - * examples/Connection/misc/Connection_Handler.cpp (handle_timeout): - added ACE_UNUSED_ARG (tv); also, added explicit int return type - to definition of Connection_Handler::close (u_long). - - * examples/Threads/task_four.cpp (Invoker_Task::svc): - moved declaration of "task" out of for loop because it is - also used after the for loop. - - * netsvcs/lib/Name_Handler.cpp, Server_Logging_Handler.cpp, - TS_Clerk_Handler.cpp, TS_Server_Handler.cpp, Token_Handler.cpp: - added ACE_UNUSED_ARG (sig);. - -Sun Jan 19 11:10:49 1997 David L. Levine <levine@cs.wustl.edu> - - * include/makeinclude/platform_sunos5_sunc++.GNU, - platform_sunos5_sunc++_4.1.GNU: - added comment about compiler warnings with +w option. - Also, added +w to platform_sunos5_sunc++_4.1.GNU. With the - other changes in this ChangeLog entry, there no longer should - be significant warnings from Sun C++ when building ACE. - - * examples/ASX/Event_Server/Event_Server/Peer_Router.cpp - (Peer_Handler::put): added ACE_UNUSED_ARG (tv);. - - * examples/IPC_SAP/SPIPE_SAP/NPServer.cpp (main), - netsvcs/clients/Tokens/invariant/invariant.cpp (main): - commented out argc and argv. - - * examples/Mem_Map/file-reverse/file-reverse.cpp (main): - removed unused variable "cp". - - * netsvcs/clients/Tokens/manual/manual.cpp (handle_input, - handle_exception): added ACE_UNUSED_ARG (fd); and - (create_proxy): added return statement at end: even - though it should never be reached, it eliminates a - compiler warning. - - * examples/OS/Process/process.cpp, - examples/Reactor/Misc/test_reactors.cpp, - netsvcs/clients/Tokens/deadlock/deadlock_detection_test.cpp, - netsvcs/clients/Tokens/mutex/test_mutex.cpp, - netsvcs/clients/Tokens/rw_lock/rw_locks.cpp, - performance-tests/TTCP/ORBeline/ttcp_i.cpp, - performance-tests/TTCP/Orbix/ttcp_i.cpp (main): - return 0 instead of 42. - -Fri Jan 17 11:47:10 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * ace/OS.h: Added an equivalent set of - ACE_LSOCK_{STREAM,ACCEPTOR,CONNECTOR} macros to complement the - ones for ACE_SOCK_*. Thanks to Gonzalo Diethelm - <gonzo@ing.puc.cl> for suggesting this. - - * ace/OS.cpp (ACE_Thread_Adapter): Added a new feature that allows - logging features to be inherited by threads. It works with - those OSs (e.g., Win32) that use ACE_Thread_Adapter class. At - some point, we might do this for all the OSs. Thanks to Luca - for this. - - * examples/Connection/misc/Connection_Handler.cpp: Added a - new example that illustrates how to use the Acceptor pattern - to create multiple threads, each running its own Reactor. - - * ace/Log_Msg.cpp (dump): Some of the variables in the dump() - method have the wrong format specification type. These are: - restart_ (%d), flags_ (%x), priority_mask_ (%d). They are now - fixed, thanks to Luca. - - * tests/Priority_Task_Test.cpp (open): Add an ACE_ASSERT to make - sure that the tasks activate() correctly. Thanks to David for - finding this. - - * ace/config-linux-lxpthreads.h: Added #defines for - ACE_HAS_AUTOMATIC_INIT_FINI and ACE_HAS_SVR4_DYNAMIC_LINKING. - Thanks to Marius for this. - - * ace/Malloc.h: Changed the typedef of ACE_Malloc_Align to a macro - called ACE_MALLOC_ALIGN to allow users to override this value in - their config.h file. This is necessary for platforms that don't - have "long" word alignments. Thanks to Fred LaBar - <flabar@fallschurch.esys.com> for this suggestion. - - * ace/OS.h: Added an #ifdef check for ACE_HAS_IRIX62_THREADS and - if so, we'll use the if (&a) /* null */; } form of the - ACE_UNUSED_ARG macro to avoid unnecessary warnings. Thanks to - Fred LaBar <flabar@fallschurch.esys.com> for testing this out. - -Fri Jan 17 16:33:25 1997 David L. Levine <levine@cs.wustl.edu> - - * ace/High_Res_Timer.*: added elapsed_time () and get_time (). - - * netsvcs/clients/Tokens/collection/collection.cpp, rw_locks.cpp: - commented out unused variables to avoid compiler warnings; and - return 0 from main (). - - * include/makeinclude/rules.local.GNU, - netsvcs/lib/Makefile, - examples/Service_Configurator/IPC-tests/server/Makefile: - fixed ESOBUILD mechanism to work on all platforms, not just Linux. - Thanks to Marius Kjeldahl <marius@funcom.com> for this fix. - - * ace/OS.i and OS.cpp: uninlined functions that use varargs, because - they usually won't get inlined anyways. - - * ace/OS.cpp (thr_create): added #else clause to be sure that - always sparam.sched_priority always get set to the priority argument. - - * netsvcs/clients/Naming/Client/Client_Test.cpp: commented out - unused parameters and wrapped combined assignments/conditional - values to avoid compiler (g++) warnings. - - * tests/Priority_Task_Test.cpp: added check for successful thread - spawn, and ACE_NEW_THREAD to svc () so that messages get logged. - -Thu Jan 16 17:03:47 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> - - * include/makeinclude: Added support for shared object files - on Linux. Thanks to Marius Kjeldahl <mariusk@sn.no, - marius@funcom.com> for his help with this. - - * ace: Merged in the IRIX support, mainly the missing netdb reentrant - functions. Thanks to Gonzalo Diethelm <gonzo@ing.puc.cl> - and Carlos O'Ryan <coryan@mat.puc.cl> for their help. - - * ace/Timer_{List,Heap,Queue}: Changed iterator() to iter() to - avoid name clashes with STL (ugh). - - * ace/Timer_{Heap,List}.cpp: Added ACE_BUILD_DLL so that things - will link. Thanks to John Morey for reporting this. - - * ace/Synch_T.h: Fixed: class ACE_Write_Guard: method: - tryacquire_write so that it will call - ...->lock_->tryacquire_write() and not - ...->lock_->acquire_write(). Thanks to Alexandre Karev - <Alexandre.Karev@cern.ch> for this fix. - -Thu Jan 16 15:51:16 1997 David L. Levine <levine@cs.wustl.edu> - - * Dump.cpp (register_object): initialized "slot" so that g++ doesn't - complain about uninitialized use. - - * Reactor.cpp (initialized): use ACE_GUARD_RETURN instead of - ACE_GUARD because the function returns a value; - (find): initialize "i" if handle is out of range so that g++ - doesn't complain about uninitialized use. - - * Service_Repository.cpp (remove): removed unused variable "handle". - - * Thread_Manager.h: made destructor virtual now that spawn_i () is - virtual. - - * Timer_Heap.cpp: changed some int loop indicies to size_t to - make sure that comparisons are consistently signed or unsigned. - - * OS.h, config-vxworks*.h: removed ACE_HAS_GREENHILLS_SOCKETS - ACE macro because the code it wrapped applies to all VxWorks - compilers, not just GreenHills. - -Wed Jan 15 02:06:21 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> - - * ace/ACE.cpp (round_to_pagesize): If _SC_PAGESIZE is enabled then - we set the ACE::pagesize_ variable using sysconf(2). Thanks to - James Mansion for this suggestion. - -Wed Jan 15 02:06:21 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> - - * ace/Timer_Queue.cpp (expire): Changed a line of code from - - ACE_Timer_Queue_Iterator &iterator (this->iterator ()); - - to - - ACE_Timer_Queue_Iterator &iterator = this->iterator (); - - so that the Visual C++ compiler can grok it. Thanks to John - Morey for reporting this. - - * ace/Reactor.cpp: Modified the close() method so that it can be - called multiple times with no bad side-effects. - - * ace/Pipe.cpp: Modified the close() method so that it can be - called multiple times with no bad side-effects. - - * ace/Reactor: Added an initialized() method that indicates - whether the Reactor was successfully initialized. Also - rearranged the code in ACE_Reactor::open() so that initialized_ - is only set at the end of the method when everything succeeds. - If things *don't* succeed, we call close() on the way out. - Thanks to Luca for these suggestions. - - * ace/Reactor.cpp (close): When closing down the ACE_Reactor, we - now set initialized_ back to 0 so that it can be reopened again - later. - - * tests/Reader_Writer_Test.cpp: There were some problems with this - test due to the fact that on many pthreads platforms pthread_t - isn't an int (it's a struct). Thanks to Chuck Gehr - <gehr@sweng.stortek.com> for the fix. - - * ace/OS.i (exit): In WIN32 when the process exits through an - ExitProcess() call, some process resources (e.g., file handles) - are freed before the static variable destructors are - called. This results in an application error when tracing is - enabled. Removing the ACE_TRACE call in ~ACE_Event_Handler - seems to fix this. Thanks to Luca for this fix. - - * ace/OS: Fixed the implementation of semaphores for the POSIX - port (POSIX lacks semaphores). The trick was to add a "waiters" - field, along with the semaphore count. Thanks to John Bossom - <John.Bossom@Cognos.COM> for reporting this. - - * examples/Threads/wfmo.cpp: Added a new test program that seems - to indicate that the Win32 WaitForMultipleObjects() function can - be called in multiple threads, all of which wait on the same set - of HANDLEs. Note that the dispatching of the threads is - relatively "fair" (i.e., everyone gets a chance to process the - various HANDLEs as they become active). Thanks to Ari Erev - <Ari_Erev@comverse.com> for suggesting this and providing the - initial code. - - * ace/Thread_Manager.h: Made the spawn_i() method virtual and - moved it into the protected section of the class so that it can - be over-ridden by subclasses. Thanks to Tim Harrison for - suggesting this. - -Tue Jan 14 15:57:55 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> - - * ace/OS.h: Changed the default size of ACE_DEFAULT_TIMERS to - _SC_TIMER_MAX (which is typically around 40 or so). - Thanks to Stuart Powell <stuartp@in.ot.com.au> for - suggesting this. - - * tests/Timer_Queue_Test.cpp (main): Added some additional logic - so that we can test the performance of the preallocated and - non-preallocated ACE_Timer_Heap. - - * ace/Timer_Heap: Added a new "preallocate nodes" mechanism to the - ACE_Timer_Heap. If this is enabled by the constructor, then we - preallocate as many ACE_Timer_Nodes as there are slots in the - heap. This allows us to completely remove the need for dynamic - memory allocation, which is important for real-time systems. - - * ace/Thread_Manager.cpp (remove_thr): Optimized the code just a - tad by decrementing the current_count_ *first*. Thanks to Per - Andersson <Per.Andersson@hfera.ericsson.se> for suggesting this. - - * ace/ReactorEx: Updated the implementation so that the - handle_events() method now in fact *does* return the number of - event handler's dispatched (i.e., the implementation matches the - documentation...). Thanks to Hamutal Yanay - <Hamutal_Yanay@mail.icomverse.com> for reporting this. - - * ace/Service_Repository.cpp (remove): Removed an extra call to - ACE_OS::dlclose(). This is already being called in the - destructor of ACE_Service_Record. Thanks to Karlheinz for - reporting this. - - * man: Updated all the nroff and html documentation. - - * ace/Timer_Heap: Implemented the spiffy new timer cancellation - algorithm that requires only O(log N) time to remove a timer - from the ACE_Timer_Heap. This is about 50 to 100 times faster - than using the ACE_Timer_List implementation. - -Tue Jan 14 21:01:36 1997 David L. Levine <levine@cs.wustl.edu> - - * ace/OS.h: Replace "Linux" preprocessor symbol with "linux". - -Mon Jan 13 17:57:50 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> - - * ace/Synch: Added lock() accessor methods to both - ACE_Process_Semaphore and ACE_Process_Mutex. Thanks to Hamutal - Yanay <Hamutal_Yanay@mail.icomverse.com> for suggesting this. - - * ace/config-mvs.h: Added a #define for ACE_HAS_GETPAGESIZE. - Thanks to Chuck Gehr for this information. - - * ace/LSOCK_Stream.h: Added a new typedef for PEER_ADDR that is - associated with ACE_UNIX_Addr. Thanks to Mark Rabotnikov - <mark@usp.elscintcorp.co.il> for suggesting this. - -Mon Jan 13 22:24:09 1997 David L. Levine <levine@cs.wustl.edu> - - * ace/OS.h: Added #undefs of sigemptyset and sigfillset on Linux - when __OPTIMIZE__ is enabled. Yes, the system header on Linux - really #defines them when optimizing! Thanks to an anonymous - ACE user for pointing this out. - - * tests/tests_config.h: Dropped ACE_MAX_ITERATIONS back to 10. - -Sun Jan 12 16:59:52 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> - - * ace/Timer_List.cpp (schedule): Cleanup the code so that (1) - timer_id never == -1 (in order to distinguish it from error - return values and (2) so that we avoid an unnecessary check for - operator new failure. - - * ace/OS.h: Added a new #define called ACE_DEFAULT_MAX_TIMERS, - which specifies the maximum number of ACE_Event_Handlers - supported by ACE_Timer_Heap. - - * ace/Proactor.cpp (ACE_Proactor): Updated the allocation of - ACE_Timer_Queue so that it really points to an ACE_Timer_List by - default. Naturally, this can be overridden by users. - - * ace/ReactorEx.cpp (open): Updated the allocation of - ACE_Timer_Queue so that it really points to an ACE_Timer_List by - default. Naturally, this can be overridden by users. - - * ace/Reactor.cpp (open): Updated the allocation of - ACE_Timer_Queue so that it really points to an ACE_Timer_List by - default. Naturally, this can be overridden by users. - - * ace: Added two new classes called ACE_Timer_List and - ACE_Timer_Heap, which derive from ACE_Timer_Queue. - ACE_Timer_List is essentially the old behavior of - ACE_Timer_Queue, i.e., it uses an implementation of a linked - list of ACE_Timer_Nodes. ACE_Timer_Heap, on the other hand, - uses a heap-based callout queue, which is more appropriate for - certain real-time applications. - - * ace/Timer_Queue: Revised the ACE_Timer_Queue implementation so - that it's now an abstract base class with most of the - implementation details pushed into the ACE_Timer_List and - ACE_Timer_Heap subclasses. - - * ace/Timer_Queue.h: Made all the ACE_Timer_Queue methods public - so that we can override them in a subclass (e.g., the new - ACE_Timer_Heap). - - * examples/Logger/Acceptor-server/server_loggerd.cpp: Fixed this - example application so that it only uses a single Reactor (the - REACTOR::instance()) rather than two Reactors. Thanks to Sandro - Doro <alex@aureus.sublink.org> for reporting this. - - * netsvcs/lib/Logging_Strategy.cpp: Fixed the #include of - fstream.h and iostream.h to use the '<' '>' notation rather than - the '"' and '"' notation. This avoids problems with running - "make depend". Thanks to Rino Simioni <sir@necsy.it> for - reporting this fix. - -Sun Jan 12 18:20:49 1997 David L. Levine <levine@cs.wustl.edu> - - * ace/ACE.cpp (round_to_pagesize): fixed typo in reference to - ACE::pagesize_. - - * ace/ACE.cpp: initialize ACE::pagesize_ to 0. - - * ace/config-irix*.h and config-win*.h: removed ACE_PAGE_SIZE - definition because these platforms no longer use it. - - * tests/UNIX*.conf and Win32server.conf: replaced net_svcs - with netsvcs. - -Sat Jan 11 15:11:28 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> - - * ace/OS.i (thr_setprio): The POSIX implementation of - ACE_OS:thr_setprio did not set the priority. It calls: - - pthread_setschedparam( thr_id, &policy, ¶m ) - - and then does - - prio = param.sched_priority. - - instead of - - param.sched_priority = prio; - - This is now fixed. Thanks to John Bossom <John.Bossom@Cognos.COM> - for reporting this. - - * ace/config-irix*.h: Modified all the IRIX config files to - use the new ACE_HAS_GETPAGESIZE feature since this is necessary - to differentiate between IRIX and IRIX64. - Thanks to Fred LaBar <flabar@fallschurch.esys.com> for - reporting this. - - * ace/ACE.cpp: Modified the round_to_pagesize() so that if - a config.h file enables ACE_HAS_GETPAGESIZE then we use - that function in preference to the value in config.h. - Thanks to Fred LaBar <flabar@fallschurch.esys.com> for - suggesting this. - - * ace/ACE.cpp: Modified the round_to_pagesize() so that on - platforms that allow the page size to be obtained dynamically - we'll get that rather than replying on what it set in the - config.h file. We'll cache this value in a static variable - to speedup searches. Thanks to James Mansion for suggesting - this. - - * apps/Gateway/Gateway: Finished adding support for thread-safe - reference counting to the uses of ACE_Message_Block. - - * examples/ASX/Event_Server/Event_Server/Peer_Router.cpp: Replaced - the use of ACE_MT_SYNCH with ACE_SYNCH so that this will compile - correctly on non-MT platforms. - -Fri Jan 10 12:38:42 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu> - - * Added a COPYING file that explicitly states the copyright status - of ACE. - - * ace/config-win32-msvc4.x.h and ace/config-winnt-4.0-msvc4.x.h: - By default, we'll revert to *not* enabling - ACE_HAS_TEMPLATE_TYPEDEFS for MSVC++ 4.2, even though this is - well-support by the compiler since it breaks some application - code that expects to use 3 template parameters for - ACE_Svc_Handler<>. The "fix" is to use the ACE_SOCK_STREAM - macros (rather than using the "ACE_SOCK_Stream, ACE_INET_Addr" - tuple) in order to achieve portability in either case. Thanks - to Karlheinz for pointing out the need for backwards - compatibility. - -Wed Jan 8 01:00:05 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tests/Message_Block_Test.cpp: Enhanced the torture test of the - ACE_Message_Block so that it stresses the reference counting - implementation in a multi-threaded environment. - -Wed Jan 08 10:26:45 1997 David L. Levine <levine@cs.wustl.edu> - - * ace/Message_Block.cpp (~ACE_Data_Block): assigned 0 to - allocator_strategry_ after deleting it; fixed template - specializations (for g++) by using macros instead of class names; - commented out template specializations because Service_Record.cpp - already has them, and they should only appear once in the library - in order to avoid link clashes - - * ace/Service_Object.cpp (ACE_Service_Object): reordered - initializations in constructor - - * ace/Service_Record.cpp (ACE_Service_Record): reordered - initializations in constructor - - * ace/config-linux-lxpthreads.h: added - ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS, thanks to - James CE Johnson <jcej@lads.com> for tracking down this - problem and testing the fix. - -Tue Jan 7 13:03:25 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * ace/Message_Block: Continued to improve the - ACE_Message_Block/ACE_Data_Block implementation. - - * ace/Message_Block: Added a new constructor to ACE_Message_Block - that takes an ACE_Data_Block * and "owns" it. Thanks to Tim for - this idea. - - * ace/Log_Msg.cpp: Now that we've prevented signal handlers from - occurring within critical sections of ACE_Log_Msg::log() we - don't need to use the ACE_Recursive_Thread_Mutex anymore. - Instead, we just need ACE_Thread_Mutex. - - * ace/Log_Msg.cpp (log): Added an ACE_Sig_Guard to the block in - ACE_Log_Msg::log() that acquires the mutex that serializes - output. This prevents nasty problems with recursive to - ACE_Log_Msg::log() from within signal handlers. - - * ace/Service_Config.cpp (end_reactor_event_loop): Added a timeout - of ACE_Time_Value::zero to the ACE_Reactor::notify() method when - called in the ACE_Service_Config::end_reactor_event_loop(). - This prevents the Reactor from blocking indefinitely if there's - no longer a thread to receive from the notification pipe. - - * netsvcs/clients/Naming/Dump_Restore: Removed the vestigal - nametest.cpp and nametest.h files. I'm not sure why they were - still there, but they shouldn't have been! - - * ace/Synch.i (remove): this->owner_ should be set to -1 before - calling this->release(). Thanks to Per Andersson - <Per.Andersson@hfera.ericsson.se> for suggesting this. - - * ace/Thread_Manager.cpp (exit): Added a flag called "do_thr_exit" - to the ACE_Thread_Control::exit() method. This controls whether - we call ACE_OS::thr_exit() after removing the thread from the - Thread Manager's internal table. This is necessary to work - around pthread bugs on certain platforms (e.g., AIX and Linux). - - * ace/Synch.h: Removed the - ACE_Recursive_Thread_Mutex::set_nesting() method since this - isn't being used and is potentially dangerous. Thanks to Per - Andersson <Per.Andersson@hfera.ericsson.se> for suggesting this. - - * ace/XtReactor: Updated the XtReactor so that it uses the next - internal Reactor implementation. Thanks to Mark Rabotnikov - <mark@usp.elscintcorp.co.il> for reporting this. - - * ace/Task.i: Updated the grp_id(int) method to cache the group id - in the task and then set it in the Thread_Manager, if there is - one. Thanks to Hamutal Yanay <Hamutal_Yanay@mail.icomverse.com> - for suggesting this. - - * ace/Log_Record.h: Updated the ACE_Log_Record class to use the - new ACE_MAXLOGMSGLEN macro. - - * ace/OS.h: Added a new #define called ACE_MAXLOGMSGLEN. By - default this is 4k. However, you can reset it in the config.h - file if you'd like to increase or decrease the size. Thanks to - Anthony McConnell for suggesting this. - - * examples/Threads/tss[12].cpp: Tidied up the tss1.cpp and - tss2.cpp examples and improved the comments. Thanks to Luca for - suggesting this. - - * ace/Service_Object.cpp (fini): Added the "virtual" keyword to - the new destructor of ACE_Service_Type. Thanks to David for - reporting this. - - * ace/Message_Block.i: Rearranged the order of the ACE_Data_Block - and ACE_Message_Block locking_strategy() methods so that they'd - be defined as inline before being used. Thanks to David for - reporting this. - -Mon Jan 6 16:46:06 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * ace/Service_Manager.cpp (fini): Only try to remove the - ACE_Service_Manager from the Reactor if it's actually been - registered in the first place (i.e., if it's get_handle() method - does not return ACE_INVALID_HANDLE). - - * netsvcs/servers/svc.conf: Changed the name of the net services - .so file from libnet_svcs to netsvcs so that it will work - correctly with our new "cross-platform" svc.conf ACE::ldfind() - strategy. Thanks to Marius Kjeldahl <marius@funcom.com> for - reporting this. - - * ace/Reactor.cpp (find): Added a strategic break and a check for - handle_in_range(). Thanks to Tim for this help! - - * netsvcs/clients/Naming/Client/svc.conf: Removed the "lib" part - from the executable shared object file names in the svc.conf - file so that it will work with the new "cross-platform" svc.conf - ACE::ldfind() strategy. Thanks to Marius Kjeldahl - <marius@funcom.com> for reporting this. - - * ace/Service_Record.cpp (fini): Added an extra assignment to a - temporary const void *obj to avoid problems with MSVC++ and it's - cast mechanism. - - * ace/ReactorEx.h: Added a default parameter to - ACE_ReactorEx::notify(). Thanks to Tim for noticing this. - -Sun Jan 5 10:48:23 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * tests: Added a new test for ACE_Message_Block, which is called - Message_Block_Test.cpp (no surprise there ;-)). This test - exercises the reference counting mechanisms. - - * ace/Message_Block.h: Made the destructors for ACE_Message_Block - and ACE_Data_Block virtual, so that these classes can be - subclassed and ACE_Message_Blocks can delete these - subclasses (either via release() or delete). Thanks to Tilo - Christ for suggesting this. - - * ace/Message_Block.cpp: Modified the implementation - of ACE_Message_Block/ACE_Data_Block so that we always create - an allocator_strategy_. By default, this strategy will be - ACE_Allocator_Adapter <ACE_Malloc <ACE_Local_Memory_Pool, ACE_Null_Mutex> >; - This greatly simplifies the code. - - * ace/Message_Block.h: It's now possible to assign a - Message_Block's priority when you create it. - - * ace/Reactor: Sped things up some more by merging the Reactor's - any_ready() and fill_in_ready() methods together. This reduces - redundant computations. - - * ace/Reactor: Changed the name of ACE_Reactor::detach() to - ACE_Reactor::remove_handler_i() and changed the name of - ACE_Reactor::attach() to ACE_Reactor::register_handler_i(). - This is more consistent with the other naming schemes. - - * ace/Reactor.cpp: Reworked the implementation of the Handler - Repository's unbind() method in order to simplfy the logic. - Also merged in all the Reactor's detach() functionality into the - unbind() method in order to localize all the handler removal - processing. - - * ace/Reactor[Ex].cpp: Added more descriptive errno entries for - failed operations in the handler repository. - - * ace/Reactor.cpp: Modified the implementation of the Handler - Repository's bind() method so that it reports an error if you - try to register an Event_Handler for an invalid HANDLE. - - * ace/Reactor.cpp: Reimplemented the internals of the Reactor to - prepare for the upcoming merge of the Reactor and ReactorEx to - use a single code base. - - * ace/Timer_Queue.cpp: Modified the behavior of the expire() - methods so that they return the number of ACE_Event_Handlers - whose handle_timeout() method was called. - -Sat Jan 4 11:47:05 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * ace/Reactor.h: Removed the #ifdefs for ACE_HAS_POLL. This will - be recast as a strategy in subsequent implementations. - - * ace/Reactor.cpp: Added a new call, - ACE_Handler_Repository::handle_in_range(), which checks to make - sure that the HANDLE is within the range of 0 .. max_handlep1_. - This factors out some redundant code. - - * ace/Reactor.cpp: Sped up the performance of the Reactor by - removing redundant calls to - ACE_Handler_Repository::invalid_handle() and - ACE_Handler_Repository::find(). - - * tests/Reactors_Test.cpp: Added a test for - the new Reactor::notify() method with timeouts. - - * examples/Reactor/Misc/notification.cpp (svc): Added a test for - the new Reactor::notify() method with timeouts. - - * ace/Reactor[Ex]: Modified the Reactor and ReactorEx so that they - use timed send() operations for their notify() methods. This - makes it possible for users to bound the amount of time they're - willing to wait to try and notify the Reactor. This is mostly - useful to avoid infinite blocking if there is congestion in the - Reactor's notification mechanism. - - * ace/ACE.cpp: Added a new timed send() method that uses the - write() system call on UNIX and the socket send() call on Win32. - This new method is used in the new ACE_Reactor::notify() method, - which now supported timed notifications. - - * ace/Reactor.cpp (ACE_Handler_Repository): To simplify the code - and reduce unnecessary #ifdefs, I've merged the max_handlep1_ - and cur_size_ fields (which are now called max_handlep1_). - -Fri Jan 3 10:47:15 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * ace: Replaced all uses of "delete mb" with mb->release (); - - * ace/Stream_Modules.cpp: Replaced the use of explicit bit - twiddling with the ACE_BIT* macros. - - * ace/Message_Block.cpp: Make sure that we use the - allocator_strategy_ to create the memory for the reference count - since this may need to go into shared memory if that's the - memory pool where the Message_Block allocations are coming from. - - * ace/OS.h: Added two new macros, ACE_ALLOCATOR_RETURN and - ACE_ALLOCATOR, which are similar to ACE_NEW_RETURN and ACE_NEW, - except that these - - * ace/Message_Block.cpp (release): Make sure to "delete this" - outside the scope of the locking_strategy_. - - * ace/Service_Object.cpp: Added a destructor to ACE_Service_Type. - Thanks to Per.Andersson@hfera.ericsson.se (Per Andersson) for - suggesting this. - - * ace/Service_Object.i: Be smarter about how we reassign the name_ - pointer, i.e., delete the old one and make a copy. Thanks to - Per.Andersson@hfera.ericsson.se (Per Andersson) for reporting - this. - - * ace/Module.cpp (open): Rearranged the assignments to - reader_q->mod_ and writer_q->mod_ so that we don't try to - initialize through NULL pointers. Thanks to - Per.Andersson@hfera.ericsson.se (Per Andersson) for reporting - this. - - * ace/Service_Record.cpp (ACE_Service_Record): Initialized name_ - to NULL so that the following change works correctly now. - Thanks to Per.Andersson@hfera.ericsson.se (Per Andersson) for - reporting this. - - * ace/Service_Record.i (name): Make sure to delete [] (char *) - this->name_ before allocating a new one. Thanks to - Per.Andersson@hfera.ericsson.se (Per Andersson) for reporting - this. - - * ace/Message_Block: Reworked the reference counting implemention - so that reference counts are shared correctly amongst their - various owners. This requires making a deep copy the "header" - portion, but a shallow copy of the "data." - - * ace/Message_Block.cpp (ACE_Message_Block): Updated all three - ACE_Message_Block constructors so that they all call the init() - method. This centralizes all the initialization logic in one - place. - -Thu Jan 2 00:42:21 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * ace/Message_Block.cpp (ACE_Message_Block): Make sure to set the - cont_ field to 0 after "releasing" it so that we don't - mistakenly think it's still around later on. This problem arose - in the ACE_Message_Queue::close() method, which was trying to - count the number of bytes being freed. - - * ace/Message_Queue.cpp (close): Fixed a subtle bug where we - weren't actually deleting messages from the - ACE_Message_Queue::close() routine. This should work now... - - * ace/Message_Queue.cpp (close): Replaced the use of "delete mb" - with "mb->release()" since the Message_Blocks are now reference - counted. - - * ace/Message_Block: Enhanced the reference counting scheme so - that you can increment and decrement the count by an arbitrary - amount. This is particular useful when you know you'll be - sending the same Message_Block to N consumers. - - * ace/Singleton: The dump() must be used same as instance() - (without supplying an object) so it must be declarated *static*, - i.e., - - static void dump (void); - - Thanks to Sandro Doro <alex@aureus.sublink.org> for reporting - this. - - * examples/ASX/Event_Server: Completely rewrote and retested the - ACE Event Server example. The new code is *much* easier to - understand, has many more comments, is more robust, and compiles - much faster since I removed many of the templates. - - * examples/ASX/Event_Server/Tranceiver/tranceiver.cpp: Fixed the - tranceiver so that it shuts down correctly when the Event_Server - exits. - - * examples/Connection/non_blocking/CPP-connector.cpp: Fixed a - problem where we were trying to select() on ACE_STDIN on Win32. - Naturally, this doesn't work, so we used the - ACE::register_stdin_handler() to fix this. Thanks to - Samuel_Bercovici <Samuel_Bercovici_at_EFT__AD2@mail.icomverse.com> - for reporting this. - - * examples/ASX/Event_Server/Event_Server/Options: Changed the - Options class to be a Singleton... - - * ace/Task.h: Added "const" method qualifier to accessor methods - like is_reader() and is_writer(). - -Wed Jan 1 00:10:47 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu> - - * ace/Message_Block: Added a new static release() method that - behaves like the non-static method release(), except that it - checks if <mb> is 0. This is similar to CORBA::release(), which - is useful if you want to eliminate lots of checks for NULL - pointers before calling release() on them. - - * Updated all places in ACE where we use - ACE_Event_Handler::READ_MASK when we should be using - ACE_Event_Handler::ACCEPT_MASK. - - * examples/Service_Configurator/IPC-tests/server/Handle_Thr_Stream.cpp: - Changed the name of the acceptor class from Handle_Thr_Stream to - Handle_Thr_Acceptor, which is more accurate. - - * ace/Reactor: Since we've now got an - ACE_Event_Handler::ACCEPT_MASK (intended primarily to accept - connections asynchronously using Win32 overlapped I/O) we can - now use this with the ACE_Reactor, as well. In particular, any - time that we are registering a "passive-mode" socket acceptor we - can now specify ACE_Event_Handler::ACCEPT_MASK. This is much - more intuitive than using the READ_MASK (which never made any - sense...). The ACE_Reactor now treats the ACCEPT_MASK as a - READ_MASK internally, so you can still use READ_MASK if you'd - like (i.e., this change doesn't break any existing code). - - * ace/Event_Handler: Changed "get_priority" and "set_priority" to - simply "priority(void)" and "priority(int)" to be more - consistent with other parts of ACE. - - * apps/Gateway/Gateway: Updated the Gateway so that the - concurrency strategies can now be specified on the - command-line (or in the svc.conf file), rather than being - determined at compile-time. This is much more flexible. - See the ./apps/Gateway/Gateway/README file for details. - - * apps/Gateway/Gateway: Verified that all the multi-threading - strategies still work. - - * ace/Message_Block.cpp (ACE_Message_Block): Make sure that we - "release" the continuation field, rather than delete it, since - its reference count may be > 1. - - * ace/Log_Msg.cpp (log): Change the abort_prog logic a bit so that - we always print a message to stderr if we're exiting, - regardless... Thanks to David Levine for pointing this out. - - * apps/Gateway/Gateway: Moved all of the configuration file - parsing logic *outside* of the Event_Channel into the Gateway - class so that we wouldn't have unnecessary dependencies. - - * apps/Gateway/Gateway: Redesigned the Gateway so that the - Proxy_Handlers (i.e., the Consumer_Proxy and Supplier_Proxy) - most of their work to the Event_Channel. This "lightweight - proxy" design is an improvement since it is now possible to - emulate the COS Event Channel semantics within the Event_Channel - "kernel." - - * Happy new year! Let's start a new ChangeLog to celebrate the - new year. - |