summaryrefslogtreecommitdiff
path: root/ChangeLog-97a
diff options
context:
space:
mode:
Diffstat (limited to 'ChangeLog-97a')
-rw-r--r--ChangeLog-97a1182
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, &param )
-
- 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.
-