summaryrefslogtreecommitdiff
path: root/ChangeLog-94
diff options
context:
space:
mode:
Diffstat (limited to 'ChangeLog-94')
-rw-r--r--ChangeLog-941027
1 files changed, 0 insertions, 1027 deletions
diff --git a/ChangeLog-94 b/ChangeLog-94
deleted file mode 100644
index 09465ce823f..00000000000
--- a/ChangeLog-94
+++ /dev/null
@@ -1,1027 +0,0 @@
-Fri Dec 23 01:50:50 1994 Douglas C. Schmidt (schmidt@tango)
-
- * libsrc/ASX: Changed the behavior of Map_Manager::Map_Manager()
- to allocate a default-sized buffer.
-
- * libsrc/Reactor/Reactor.C (dispatch): Made the poll-based Reactor
- smarter about detecting POLLERR error conditions. When POLLERR
- is detected, the Reactor now shutdown down that fd...
-
-Wed Dec 21 18:29:15 1994 Douglas C. Schmidt (schmidt@tango)
-
- * libsrc/IPC_SAP/SPIPE_SAP: Changed the name of class SPIPE_Msg to
- SPIPE_IO to reflect the fact that I/O over named pipes need not
- be message-oriented...
-
- * Changed all occurrences of {SOCK,TLI,SPIPE}_Listener to
- {SOCK,TLI,SPIPE}_Acceptor. This is a more accurate name for the
- function these classes perform. In addition, it is easier to
- explain in the context of the Acceptor and Connector patterns.
- Note that the *.h files are also changed, as well.
-
- * Changed the implementation of {SOCK,TLI,SPIPE}_SAP so that there
- is now a *_Connector class to go along with the *_Acceptor
- class. The *_Connector is a factory that produces *_Stream
- objects *actively*, in a similar way to how the *_Acceptor is a
- factory that produces *_Stream objects *passively*. This makes
- everything much more orthogonal, though it will break existing
- code... The easiest way to fix existing code is to do the
- following:
-
- 1. Find places in the code that define objects of
- type SOCK_Stream, LSOCK_Stream, TLI_Stream,
- or SPIPE_Msg (now called SPIPE_IO).
-
- 2. Replace #include "SOCK_Stream.h" with
- #include "SOCK_Connector.h" (or whatever
- C++ wrapper you have).
-
- 3. Replace definitions of the form:
-
- INET_Addr addr (port, host);
- SOCK_Stream foo (addr);
-
- with
-
- INET_Addr addr (port, host);
- SOCK_Stream foo;
- SOCK_Connector con (foo, addr);
-
- If you don't want to have an extra variable named "con",
- you can replace this with:
-
- INET_Addr addr (port, host);
- SOCK_Stream foo;
- SOCK_Connector (foo, addr); // Calls the constructor.
-
-Tue Dec 20 21:34:10 1994 Douglas C. Schmidt (schmidt@tango)
-
- * Renamed the ./{libsrc,tests}/{Semaphores,Message_Queues}
- directories to SV_Semaphores and SV_Message_Queues to better
- reflect their true behavior and in order to prevent clashes with
- the new ASX names.
-
- * libsrc/ASX: Renamed Queue to Task to better reflect its true
- functionality. In addition, renamed Message_List to
- Message_Queue.
-
-Mon Dec 19 23:04:52 1994 Douglas C. Schmidt (schmidt@tango)
-
- * Changed "private" to "protected" in ASX/Message_List.h at the
- request of Troy Warner (tnw1@core01.osi.com).
-
-Mon Dec 12 23:47:01 1994 Douglas C. Schmidt (schmidt@tango)
-
- * libsrc/IPC_SAP/SOCK_SAP: changed the name of the global utility
- function "bind_port()" to ace_bind_port() to avoid polluting the
- global symbol namespace.
-
- * Fixed a descriptor leak in SOCK_Dgram::shared_open() and
- SOCK_CODgram::shared_open(). The original version didn't
- automatically close down the socket descriptor if bind failed.
- The new version does close the descriptor down.
-
-Sat Dec 10 00:53:20 1994 Douglas C. Schmidt (schmidt@tango)
-
- * libsrc/Reactor/Reactor.C (mask_ops): Fixed a stupid bug... The
- test should have been
-
- if (this->invalid_handle (handle) ||
- this->poll_handles_[handle].fd == -1)
-
- rather than:
-
- if (this->invalid_handle (handle) ||
- this->poll_handles_[handle].fd != -1)
-
- * libsrc/Reactor/Reactor: Modified the semantics of
- Reactor::remove_handler() such that calling it with a value of
- Event_Handler::DONT_CALL or'd into the Reactor_Mask instructs
- the Reactor to remove the handler *without* calling the object's
- handle_close() method!
-
-Fri Dec 9 12:53:31 1994 Douglas C. Schmidt (schmidt@tango)
-
- * include/Synch: some C++ compilers (e.g., Centerline) barf when
- the see the following in an inline function:
-
- if (foo == bar)
- {
- errno = result;
- return -1;
- }
- result result;
-
- I fixed this by doing the following:
-
- if (foo == bar)
- {
- errno = result;
- result = -1;
- }
- result result;
-
-Wed Dec 7 22:23:47 1994 Douglas C. Schmidt (schmidt@tango)
-
- * include/Synch.h: Added additional methods in the Null_Mutex
- class in order to be consistent with the RW_Mutex interfaces...
-
- * libsrc/ASX/Message_List: Added new a set of methods called
- "try_enqueue_head" and "try_enqueue_tail" that will only insert
- a message into the queue if it is not already full. If it is
- full, return EWOULDBLOCK.
-
-Tue Dec 6 13:58:28 1994 Douglas C. Schmidt (schmidt@tango)
-
- * libsrc/Reactor/Event_Handler: added default values of -1 to the
- handle_input(), handle_output(), and handle_exception() methods.
-
-Mon Dec 5 23:30:28 1994 Douglas C. Schmidt (schmidt@tango)
-
- * libsrc/ASX/Message_List: Added a new method called set_length to
- Message_Block. This method sets the length of the "active"
- portion of the message. This is defined as the offset from
- RD_PTR to WR_PTR.
-
-Sat Dec 3 20:40:53 1994 Douglas C. Schmidt (schmidt@tango)
-
- * libsrc/Threads/Synch: Added two new class called Write_Guard and
- Read_Guard, which provide functionality a la the Guard class,
- only that they acquire and release readers/writer locks.
-
- * libsrc/Threads/Synch: For interface uniformity with other
- synchronization wrappers I added an acquire() method. This is
- implemented as a write-lock to be on the safe-side...
-
-Fri Dec 2 13:33:39 1994 Douglas C. Schmidt (schmidt@tango)
-
- * include/Synch.i (Mutex::tryacquire): Modified the behavior of
- Mutex::tryacquire so that it will return -1 and set errno to the
- appropriate return value of tryacquire(3T) if various types of
- "problems" occur (such as the Mutex already being held).
-
- * include/Message_List.i: Rearranged the order of the
- Message_Block::get_rd_ptr and Message_Block::set_wr_ptr methods
- to deal with inlining problems that some cfront-based C++
- compilers have...
-
- * libsrc/Reactor/Signal.[hi]: Changed set_handler/get_handler to
- "handler" to avoid a collision with Rogue Wave libraries. This
- new version is more consistent with other usage in ACE anyhow...
-
- * Modified the behavior of Service_Config::Service_Config() so
- that it makes the initialize size of the Reactor be the same
- size as the Service_Repository. This was done at the suggestion
- of Bob Sayle and Steve Warwick at ARINC Research.
-
-Sun Nov 20 00:59:06 1994 Douglas C. Schmidt (schmidt@tango)
-
- * libsrc/ASX/Message_List: Added two new methods
- (is_full() and is_empty()) to the public interface
- of Message_List. These methods check whether the queue is full
- or empty *while holding the lock*.
-
- * libsrc/ASX/Queue.h: Made the svc() method a pure virtual
- function. This is much cleaner than not doing it, particularly
- when we've already got to define open(), close(), and put()...
-
- * Added a new method to the IPC_SAP/Addr inheritance hierarchy.
- The method is called addr_to_string() and it converts the
- address of a subclass (e.g., either UNIX domain or Internet
- domain) into a string. This functionality is particularly
- useful in parameterized types (such as Acceptor), which should
- be oblivious of the type of communication domain they are
- using...
-
- * Reorganized the ./apps/Logger/Service_Configurator_Logger
- directory in order to reuse more code. Now, all the Acceptor
- pattern classes have been moved to a new subdirectory called
- ./libsrc/Acceptor. In addition, this code has been generalized
- to work with the ASX framework!
-
-Sat Nov 19 15:19:19 1994 Douglas C. Schmidt (schmidt@tango)
-
- * Released version 2.15.5 (added a couple of minor fixes and some
- additional software to the release. In particular, I've added
- the RPC++ C++ wrappers for Sun RPC. See the README file for
- more info on this.
-
- * apps/Synch-Benchmarks: Reorganized all the synchronization tests
- so that they would be easier to understand and extend.
-
- * include/sysincludes.h (ACE_NONBLOCK): Fixed a stupid typo in the
- ./include/makeinclude/wrapper_macros.GNU file that accidentally
- used ACE_NONBLOCKING instead of ACE_NONBLOCK... Jaysus
-
- * Fixed up the Service_Config.[Chi] source so that it no longer
- allocates statically linked services via static variables.
- Stacy Mahlon (mcs@contour.mayo.edu) recommended this change to
- workaround bugs in compilers that fail to initialize static
- objects appropriately.
-
-Tue Nov 15 11:55:03 1994 Douglas C. Schmidt (schmidt@tango)
-
- * Fixed a portability problem in the ./libsrc/Service_Configurator
- that was caused by certain compilers failing to initialize
- global variables correctly. In particular, the Obstack object
- ace_obstack is now a pointer that is allocated dynamically by
- Service_Config.process_directive(). Thanks to Stacy Mahlon
- (mcs@contour.mayo.edu) for noticing this!
-
-Mon Nov 14 12:16:14 1994 Douglas C. Schmidt (schmidt@tango)
-
- * libsrc/Threads/Thread.h: added C++ wrappers for
- thr_getconcurrency() and thr_setconcurrency().
-
- * Fixed a dumb typo in ./tests/IPC_SAP/SOCK_SAP/CPP-nbclient.C
- that failed to conditionally compile for different variants of
- siginfo...
-
- * Added some test programs that benchmark the performance of
- Solaris synchronization mechanisms. See ./apps/Synch-Benchmarks
- for details...
-
- * Extended the methods of the Queue class to take advantage of the
- new Message_List methods that perform timed waits! This
- involves changing many of the existing methods in this class to
- add an extra parameter of type timestruc_t *, which defaults to
- 0.
-
- * Added some new comments in the
- ./include/makeinclude/wrapper_macros.GNU file that indicate what
- the various macros defined by the Makefile scheme actually mean.
- This should help people who are porting to a new system...
-
- * Fixed a dumb bug in ./tests/Shared_Memory that directly included
- system header files. Everything in ACE should include
- "sysincludes.h" instead... Thanks to Stacy Mahlon
- (mcs@contour.mayo.edu) for noticing this!
-
- * include/Memory_Pool.i (round_up): Fixed a typo where PAGESIZE
- should have been ACE_PAGE_SIZE.
-
-Sat Nov 12 01:32:52 1994 Douglas C. Schmidt (schmidt@tango)
-
- * Generalized the Shared_Memory_Pool class for Malloc so that it
- doesn't require the base addresses for multiple processes to all
- start at the same location.
-
- * libsrc/Service_Configurator/Thread_Spawn.i (Thread_Spawn):
-
- Fixed a stupid bug in the constructor. Note that we should
- be checking if this->tm_ == 0, rather than != 0...
-
-Fri Nov 11 00:11:41 1994 Douglas C. Schmidt (schmidt@tango)
-
- * Released version 2.15.4 (added a couple of minor fixes).
-
- * Added a new test program in the ./tests/ASX/Message_List
- directory. This program illustrates how thread-safe
- Message_Lists work using ASX.
-
- * libsrc/Threads/Thr_Manager.i: Added a new method called
- insert_thr() to Thr_Manager that is used in conjunction with
- Thr_Cntl::Thr_Cntl to make sure that a thread is added to the
- Thr_Manager's table correctly.
-
-Thu Nov 10 20:14:11 1994 Douglas C. Schmidt (schmidt@tango)
-
- * libsrc/Log_Msg/Log_Record.C (print): Fixed the following very
- subtle (and very stupid) bug:
-
- return ::fprintf (fp, this->msg_data_);
-
- if this->msg_data_ contains '%', then this call will
- fail since fprintf tries to treat the percent sign as
- a format code. The obvious fix is:
-
- return ::fprintf (fp, "%s", this->msg_data_);
-
- * libsrc/ASX/Message_List.i (is_empty): Fixed a braino that failed
- to check if there was a 0-sized buffer in the list. It is now
- possible to enqueue a 0-sized buffer, which is helpful for
- things like signaling end of transmission by a producer.
-
- * libsrc/ASX/Message_List.C: Improved the robustness of the
- Message_List abstraction by detecting the case where the newly
- inserted Message_Block is a NULL pointer. Before, this would
- crash the program, where now it returns -1 from the
- enqueue_head() or enqueue_tail() methods.
-
- * libsrc/Threads/Synch.h: added timedwait_signal() and timedwait()
- methods to class Condition. These are wrappers around the
- cond_t cond_timedwait() function.
-
- * Improved the documentation of the class interfaces in the
- Synch.h C++ wrapper for Solaris 2.x threads mechanisms.
-
- * Changed the name of class Condition methods wait_signal() and
- timedwait_signal() to wait_alert() and timedwait_alert() to
- remove confusion with UNIX signals and the regular condition
- variable signal.
-
-Wed Nov 9 23:49:24 1994 Douglas C. Schmidt (schmidt@tango)
-
- * libsrc/IPC_SAP/Addr/UNIX_Addr.i (UNIX_Addr): Fixed another
- couple brainos in UNIX_Addr.i (thanks for Irfan
- (ip1@cs.wustl.edu) for noticing this).
-
- * libsrc/IPC_SAP/SOCK_SAP/SOCK.i (get_local_addr): Fixed a braino
- that didn't reset the Addr size after a call to getsockname().
-
-Tue Nov 8 00:25:02 1994 Douglas C. Schmidt (schmidt@tango)
-
- * libsrc/Service_Configurator/Svc_Conf.y (create_service_type):
- Fixed a bug on lines 323 and 324, and 330 and 331. The "#if
- defined" needs to be INSIDE the "case" statements. Thanks to
- mcs@contour.mayo.edu for finding this!
-
- * Improved the interfaces for all the synchronization wrappers so
- that they can be given all the parameters for the underlying
- SunOS 5.x *_init calls. Default values are given to keep the
- normal usage concise...
-
-Mon Nov 7 21:41:13 1994 Douglas C. Schmidt (schmidt@tango)
-
- * Changed all occurrences of Mutex_Rec to Recursive_Lock. This is
- much more descriptive since by using templates, the recursive
- logic applies to a number of synchronization mechanisms (e.g.,
- Semaphores, RW_Mutex, Mutex, Null_Mutex, etc.) rather than just
- the Mutex class.
-
- * Changed all occurrences of Mutex_Block to Guard. This is more
- standard terminology and reflects Booch's terms more closely, as
- well.
-
-Sun Nov 6 14:31:44 1994 Douglas C. Schmidt (schmidt@tango)
-
- * Majorly improved the modularity and structure of the Reactor
- class. Much duplicate code has been coalesced and several new
- features have been added.
-
- * Changed the name of the Reactor method set_ready() to
- ready_ops(). Added a new method called mask_ops(). These
- methods make it possible to manipulate the "dispatch masks" and
- the "ready masks" (e.g., READ_MASK, WRITE_MASK, etc.) at a much
- finer level of granularity without loss of efficiency or
- correctness.
-
-Sat Nov 5 16:48:55 1994 Douglas C. Schmidt (schmidt@tango)
-
- * Changed the name of three methods in the Semaphore class to
- mirror the terms used for Mutex and RW_Mutex. This will help
- support the use of semaphores along with templates (e.g.,
- Rec_Lock) much better... The old names were "wait", "trywait",
- and "signal". The new names are "acquire", "tryacquire", and
- "release."
-
- * Added a new class called Signal_Block in Signal.[hiC] This class
- operates similar to Mutex_Block, in that it holds a set of
- signals over the duration of a C++ statement block. The
- constructor masks out the signals and the destructor restores
- the signals.
-
- * Changed the name of files Signal_Handler.[hiC] to Signal.[hiC]
- to reflect a broadening of the functionality of the ACE wrappers
- for Signals. For example, the new C++ classes wrap the sigset_t
- API, as well as the struct sigaction structure.
-
-Fri Nov 4 00:41:48 1994 Douglas C. Schmidt (schmidt@tango)
-
- * Yow, got the new Shared_Malloc/Malloc class to work correctly on
- SunOS 4.x, as well as SunOS 5.x. It's a bit more clunky on
- SunOS 4.x since we have to use System V semaphores rather than
- Solaris synchronization mechanisms. However, it now seems to
- function correctly!
-
- * Added a new method called "tryacquire" to Semaphore_Complex and
- Semaphore_Simple. This method provides the same "non-blocking"
- semantics as it does in the Mutex, Semaphore, and RW_Mutex
- classes.
-
- * Added a new method called "remove()" to all the C++ wrappers in
- the Synch.[hi] file. This improves the symmetry with the System
- V semaphore wrappers, and also gets around a nasty bug with
- cfront 3.x and its handling of templates and explicitly called
- destructors...
-
- * Added a new C++ wrapper class for Threads (Thread.h). The
- eventual purpose of this class is to hide the differences
- between POSIX pthreads and Solaris threads.
-
- * Added new parameters to Thr_Manager::spawn to enable the stack
- and stack_size to be passed in.
-
- * Modified the Synch.h file so that the Null_Mutex and Mutex_Block
- classes will both be compiled, even if we are building ACE on a
- platform that doesn't support threads!
-
- * Added a timed event-loop method to the public interface of the
- Service_Config class. This basically forwards the request to
- the underlying Reactor->handle_events method. Thanks to Brad
- Needham (bneedham@arinc.com) of ARINC research for the
- suggestion!
-
-Wed Nov 2 14:47:25 1994 Douglas C. Schmidt (schmidt@tango)
-
- * Changed the interface for one of the Reactor's
- {register,remove}_handler methods. These methods
- had previously taken a sigset_t &, but for some reason the Sun
- C++ 3.0 compiler can't seem to recognize that this is different
- from an int! Therefore, I changed the interface to take a
- sigset_t *.
-
- * Fixed some portability bugs that crept into the SunOS 4 version
- of ACE, particularly with the siginfo_t extended signal handler
- stuff.
-
-Tue Nov 1 21:46:07 1994 Douglas C. Schmidt (schmidt@tango)
-
- * libsrc/Log_Msg/Log_Msg.C (log): Fixed a braino on line 175.
- "int sig" was undefined outside the conditional (duhhh ;-)).
-
-Thu Oct 27 17:23:37 1994 Douglas C. Schmidt (schmidt@tango)
-
- * Fixed up some problems with Semaphore_Complex and
- Semaphore_Simple. The new design should be more functional,
- particularly for Semaphore_Complex, which now generalizes to
- arrays of semaphores.
-
-Wed Oct 26 16:38:42 1994 Douglas C. Schmidt (schmidt@tango)
-
- * libsrc/Shared_Malloc/: Created a .i file for Malloc and
- Memory_Pool to handle inlines.
-
- * Fixed a fence-post error in Mem_Map::map_it(). The new version
- should correctly set the length of the file *and* also do the
- appropriate memory mapping.
-
- * bin/clone.C: Fixed the clone program so that it now compiles
- with the C++ compiler rather than the C compiler.
-
-Tue Oct 11 20:01:16 1994 Douglas C. Schmidt (schmidt@tango)
-
- * libsrc/Reactor/Reactor.h (Reactor): Changed the order of the
- arguments to the Reactor's register_handler() method used to
- register signal handler objects. The new order puts both "new"
- components first, and any
- (optional) old components following this. This is
- a more natural set of default values...
-
- * libsrc/Shared_Malloc: split out the Local and Shared memory
- pools for class Malloc into the Memory_Pool.[hC] files.
-
-Mon Oct 10 22:54:53 1994 Douglas C. Schmidt (schmidt@tango)
-
- * libsrc/Threads/Synch.i: Reworked the Thread_Mutex and
- Process_Mutex classes to inherit their interface and
- implementation code from Mutex... Thanks to Irfan Payrali for
- the suggestion!
-
-Wed Sep 28 11:26:34 1994 Douglas C. Schmidt (schmidt@tango)
-
- * Moved some of the tests directories around to better reflect
- precisely which ACE components are being tested. In particular,
- the {client,server} directories that were originally under the
- ./tests/Reactor subtree are now located in the
- ./tests/Service_Configurator subtree.
-
-Tue Sep 27 23:05:32 1994 Douglas C. Schmidt (schmidt@tango)
-
- * Added a bunch of constructors/destructors for
- ./tests/Reactor/server to make g++ happy.
-
- * libsrc/Service_Configurator/Service_Object.[ih]
- (Service_Object): Added a constructor and destructor to
- Service_Object to make g++ happy. Also, removed the #if for
- broken versions of g++ 2.5.8.
-
- * include/Reactor: Added a constructor and destructor for
- Null_Callback to make G++ happy...
-
- * libsrc/Message_Queues/: Added support for G++ templates.
-
- * Changed the handling of _sys_siglist in the sysincludes.h file
- to try and handle the weird SunOS 4 header file problems...
-
- * libsrc/IPC_SAP/SOCK_SAP/SOCK_Dgram_Brdcast.C (mk_broadcast):
- Removed the "struct" from new struct ifnode in order to
- compile...
-
-Tue Sep 20 11:17:23 1994 Douglas C. Schmidt (schmidt@tango)
-
- * Fixed a couple of minor typos in the Windows NT C++ wrappers for
- sockets.
-
- * Released version 2.15.2 so that Mark Frutig could have access to
- the latest source in order to write man pages!
-
-Thu Sep 15 20:47:36 1994 Douglas C. Schmidt (schmidt@tango)
-
- * Extended the Event_Handler interface to support the additional
- siginfo_t-style parameters for extended SVR4 signal handling.
- Note that for backwards compatibility, this new interface only
- enabled if the -DACE_HAS_SIGINFO flag is set in the
- wrapper_macros.GNU config file. Making this change affected
- several of the existing ACE classes such as Service_Config and
- Signal_Handler.
-
-Mon Sep 12 17:07:10 1994 Douglas C. Schmidt (schmidt@tango)
-
- * Improved the modularity of the Reactor by creating a new class
- called Signal_Handler. This new class basically encapsulates
- the signal handling mechanism provided by UNIX within a nice OO
- abstraction. The new arrangement is particularly useful since
- the Signal_Handler class may be used in applications
- (e.g., the Malloc class abstraction) that do not require the
- other features of the Reactor.
-
-Sun Sep 11 14:40:06 1994 Douglas C. Schmidt (schmidt@tango)
-
- * Changed the default value for Semaphore_Simple and
- Semaphore_Complex from OPEN to CREATE. This is more closely
- related to how SunOS thread synchronization variables work.
-
- * Changed the methods of the Semaphore_Simple class to be
- syntactically equivalent to the Process_Mutex and Thread_Mutex
- classes. This makes it easier to write code that uses
- parameterized types to instantiate the appropriate type of
- synchronization primitive.
-
- * include/makeinclude/rules.local.GNU (OBJDIRS): Fixed the
- "depend" target so that it generates the correct dependencies
- for remaking .so files after they are changed.
-
- * Added a new pair of methods to the Reactor so that it is now
- possible to register/remove a sigset_t of signals in one
- operation.
-
-Sat Sep 10 03:11:34 1994 Douglas C. Schmidt (schmidt@tango)
-
- * libsrc/Mem_Map/Mem_Map.i (map_it): Fixed a few minor bugs with
- how the Mem_Map::map() method handles lseek()'s.
-
- * Changed the name of the Mem_Map::open() methods to
- Mem_Map::map(). This seems like a more reasonable name! Also,
- removed the close() method. This is trivial to implement via
- ::close (mmap.get_fd ());
-
-Fri Sep 9 22:04:25 1994 Douglas C. Schmidt (schmidt@tango)
-
- * Provided a new implementation of a flexible memory allocation
- scheme (Shared_Malloc/Malloc.[HiC]). This memory allocation can
- be parameterized by the following:
-
- 1. The pool from which memory is allocated (e.g.,
- local memory vs. shared memory).
-
- 2. The type of synchronization used when allocating
- the memory (e.g., no synchronization, thread-based
- synchronization, process-based synchronization).
-
- * libsrc/Threads/Synch.i (Proc_Mutex): Added new classes to the
- Synchronization library. These classes are wrappers around the
- USYNC_PROCESS and USYNC_THREAD flags to mutex_init().
-
-Wed Sep 7 20:29:00 1994 Douglas C. Schmidt (schmidt@tango)
-
- * include/sysincludes.h (MT): Added check to see if _REENTRANT was
- already defined, and if so, avoid redefining it!
-
-Sun Sep 4 16:23:17 1994 Douglas C. Schmidt (schmidt@tango)
-
- * Released version 2.15.1 to the world...
-
- * Added support for the Windows NT version of SOCK_SAP.
-
- * Fixed a few minor bugs involved with the order of linking
- libraries.
-
- * Fixed an oversight in ./testsReactor/server/server_test.C where
- I was still including the "Server_Test.h" file (ugh).
-
-Wed Aug 31 13:27:10 1994 Douglas C. Schmidt (schmidt@tango)
-
- * libsrc/IPC_SAP/SOCK_SAP/SOCK_Stream.C (open): Fixed a bug
- whereby the I/O descriptor wasn't being closed if connect()
- failed. Thanks to Charles Eads
- (eads@synoptics.com) for reporting this.
-
-
- * Recompiled everything on SunOS 4.x using SunC++ 3.x and SunOS
- 5.x using SunC++ 3.x and 4.x. Everything seems to compile fine
- now.
-
- * Released version 2.15
-
-Mon Aug 29 00:14:04 1994 Douglas C. Schmidt (schmidt@tango)
-
- * Finished up a preliminary set of tests for ASX. See the
- $WRAPPER_ROOT/tests/ASX/Event_Server directory for more details.
-
- * wrapper_macros.GNU (CC): Removed the ARCHFLAG from the CCFLAGS
- macro in the Makefile system. Henceforth, all conditional
- compilation should be performed on a "per-feature" basis, rather
- than a "per-platform" basis...
-
- * libsrc/IPC_SAP/SOCK_SAP/SOCK_Dgram_Brdcast.C (send):
- Automatically convert the port number to htons format before
- using it to initialize the sin_port field of the addressing
- structure. This is consistent with the behavior of other parts
- of IPC_SAP (particularly INET_Addr::set()).
-
-Sun Aug 28 00:02:53 1994 Douglas C. Schmidt (schmidt@tango)
-
- * Changed version number of 2.15 to reflect all the major
- modifications to the structure of ACE.
-
- * include/sysincludes.h: Started to fix up the conditional
- compilation scheme to be much smarter about the features that
- are available from both the compiler and the OS environment.
-
- * Added a fix suggested by Leslee Xu (lxu@ics.uci.edu) to better
- handle the normalization of Timer_Values.
-
- * Continued to make ACE coding conventions more consistent by
- removing get_/set_ prefix from all the accessor/manipulator
- methods. Also, added an underbar at the end of all class and
- object instance variables.
-
-Sat Aug 27 20:28:13 1994 Douglas C. Schmidt (schmidt@tango)
-
- * Continued to improve error handling by replacing all uses of
- perror with the Log_Msg macros.
-
- * include/sysincludes.h: Continued to improve the namespace
- utilization in ACE by prefixing stand-along Misc functions with
- ace_.
-
- * include/FD_Set.h: Changed the name FD_Set_Iter to
- FD_Set_Iterator.
-
- * typedef'd int to HANDLE in Event_Handler.h in preparation for
- merging in the Windows NT support along with the regular ACE
- package. I need to update all the other code in the entire
- release to be consist with this!
-
-Thu Aug 25 19:49:57 1994 Douglas C. Schmidt (schmidt@tango)
-
- * Fixed a bug with Thr_Manager.i that occurred if a thread created
- by ::thr_create() exits prior to the acquisition of the lock and
- the subsequent bookkeeping.
-
-Wed Aug 24 17:34:49 1994 Douglas C. Schmidt (schmidt@tango)
-
- * Updated SOCK_Dgram_Brdcast to return the average number of bytes
- sent. This isn't necessarily the most useful info, but it
- doesn't hurt either. Thanks to Mark Frutig (mfrutig@fnbc.com)
- for the suggestion.
-
-Mon Aug 22 01:18:14 1994 Douglas C. Schmidt (schmidt@tango)
-
- * Added a new test for the Service Configurator framework. This
- test illustrates the dynamic configuration of an entire stream
- of Modules.
-
-Sun Aug 21 03:16:00 1994 Douglas C. Schmidt (schmidt@tango)
-
- * Cleaned up the ./tests/Reactor/server example to be more robust.
- In particular, it doesn't really make sense to have the same
- object be configured both statically and dynamically *at the
- same time*! This was causing problems since each constructor
- was getting called twice for the same object -- once when it was
- created statically, and again when it was linked in
- dynamically... Things work much better now.
-
-Sat Aug 20 01:07:24 1994 Douglas C. Schmidt (schmidt@tango)
-
- * Heavily revised the structure of the ./apps/Logger
- subdirectories to test out the new Makefile scheme. Everything
- is working fine on Solaris!
-
- * Updated all the ./apps/Logger subdirectories to use the Acceptor
- name rather than the Client_Listener name. This is consistent
- with recent papers...
-
- * Fixed all the Makefiles to utilize the new simplified build
- strategy. The Makefiles are *far* more automated now!
-
- * Added support to all the libsrc Makefiles to produce both shared
- libraries (*.so) and traditional archives
- (*.a).
-
-Fri Aug 19 16:13:42 1994 Douglas C. Schmidt (schmidt@tango)
-
- * Majorly improved the Makefile support for building shared
- objects that will be dynamically linked explicitly. No longer
- will we have to do the horrible hack of compiling all the source
- code using -pic. Instead, only that code that will be linked
- dynamically must be compiled with -pic! Note that this only
- works if the shared object is entirely self contained (i.e., it
- does *not* reference any statically linked symbols that are not
- defined in itself)!
-
- * Started to add changes to the source code to make its
- configation driven by features rather than by OS. This should
- make everything much more portable soon!
-
- * Fixed IPC_SAP.h so that the constructor is protected (prevents
- accidental definition of an instance of this class).
-
-Thu Aug 11 08:31:33 1994 Douglas C. Schmidt (schmidt at valentine.ics.uci.edu)
-
- * Fixed Reactor::schedule_timer() so that it will unblock the
- Reactor if it is currently blocked. This is necessary so that
- the Reactor will recompute the amount of time that it needs to
- wait before dispatching timer-based events. Thanks to Todd Hoff
- for noticing this...
-
- * Fixed a stupid bug in the handle_input() method of
- Client_Listener in both the Reactor and Service_Configurator
- version of the Server Logging Daemon. This routine was not
- explicitly returning 0 when it worked..., which might cause the
- Reactor to deregister the listener handler!
-
- * Added casts to the ::select() call in the Reactor to ensure that
- the FD_Set * -> fd_set * conversion operators are properly
- involved. Thanks to Todd Hoff for this fix (thm@ictv.com).
- Todd noticed that the DCE pthreads implementation on AIX was
- confusing the compiler...
-
-Mon Aug 8 18:11:03 1994 Douglas C. Schmidt (schmidt at tango.ics.uci.edu)
-
- * Added a new constructor for the FD_Set class that will convert
- an fd_set into an FD_Set.
-
- * Removed the default value for the Service_Repository constructor
- since this was ambiguous with the default constructor.
-
-Tue Aug 2 18:25:28 1994 Douglas C. Schmidt (schmidt at tango.ics.uci.edu)
-
- * Fixed a bunch of minor "warning-causing" nits that were caused
- by #endif __INLINE__ in certain header files...
-
- * Added a new set of interfaces to the Reactor to retrieve a
- registered handler. These interfaces are also useful for
- checking whether a handler is registered at a particular fd.
-
-Sun Jul 10 17:43:19 1994 Douglas C. Schmidt (schmidt at tango.ics.uci.edu)
-
- * Improved the implementation of the Profile_Timer and
- High_Res_Timer classes. In particular, the High_Res_Timer class
- now works quite nicely using SunC++ 4.0.
-
-Mon Jul 4 12:49:14 1994 Douglas C. Schmidt (schmidt at tango.ics.uci.edu)
-
- * Changed the order of the base class inheritance list for the
- Service_Object class as a workaround for a bug in SunC++ 4.0's
- handling of pointers to member functions (ugh).
-
-Sun Jul 3 18:07:16 1994 Douglas C. Schmidt (schmidt at tango.ics.uci.edu)
-
- * Added a bunch of changes (courtesy of
- george@truffula.fp.trw.com). These changes fix minor
- portability problems with the new SunC++ 4.0 compiler.
-
-Fri Jun 24 08:59:02 1994 Douglas C. Schmidt (schmidt at tango.ics.uci.edu)
-
- * Removed operator() from all the IPC_SAP listener classes.
- Defining this operator was causing more trouble than it is worth
- since C++ doesn't allow operator() to have default arguments
- (ugh). The "right" thing to do is to simply use the accept()
- method in those classes instead of operator().
-
-Wed Jun 22 16:54:05 1994 Douglas C. Schmidt (schmidt at tango.ics.uci.edu)
-
- * Fixed some problems with TLI_Listener that involved lax scoping
- of nested classes with cfront 3.x-based C++ compilers.
-
-Tue Jun 14 11:56:56 1994 Douglas C. Schmidt (schmidt at tango.ics.uci.edu)
-
- * Added a bunch of changes to get portions of ACE up and running
- on SCO UNIX, on HP-UX, and on OSF/1.
-
-Tue Jun 7 14:32:50 1994 Douglas C. Schmidt (schmidt at tango.ics.uci.edu)
-
- * Added support for FLEX's <<EOF>> symbol to properly cleanup when
- a configuration file has been parsed by the Service
- Configurator's lexer/parser.
-
-Sun May 22 10:37:14 1994 Douglas C. Schmidt (schmidt at valentine.ics.uci.edu)
-
- * Modified the semantics of explicit dynamic linking on SunOS 4.x.
- Now, if there is no _init or _fini function defined in a shared
- library, it isn't an error (we simply don't call the function!).
-
-Mon May 9 07:58:35 1994 Douglas C. Schmidt (schmidt at tango.ics.uci.edu)
-
- * Included more fixes for GNU G++ courtesy of Aniruddha Gokhale
- <gokhale@cs.wustl.edu>.
-
-Thu May 5 16:47:25 1994 Douglas C. Schmidt (schmidt at tango.ics.uci.edu)
-
- * Reimplemented the ./apps/Logger/Reactor_Logger to provide an
- illustration of how the Reactor works.
-
- * Added finishing touches to the new version of the Service
- Configurator framework. This framework now permits completely
- automated configuration and reconfiguration of Service_Objects
- and Streams. The next step is to add some more complete
- examples that illustrate how these features are used...
-
-Tue May 3 10:17:12 1994 Douglas C. Schmidt (schmidt at tango.ics.uci.edu)
-
- * Fixed a bug in the Service Repository that would cause an
- extraneous dlclose on a shared library handle under some
- circumstances...
-
-Mon May 2 11:07:52 1994 Douglas C. Schmidt (schmidt at tango.ics.uci.edu)
-
- * Modified the semantics of Service_Object_Type in the Service
- Configurator framework so that it does not automagically
- register the service object with the instance of the Reactor.
- The original behavior involved too much "over-specification" of
- the behavior of Service Objects. Moreover, I can finally omit
- the crazy semantics of DONT_REGISTER_SVC and REGISTER_SVC!
-
- * Fixed some subtle bugs involved with pop'ing a remove'ing a
- Module from a Stream. Note that we need to use Module::link
- rather than Module::set_next in order to ensure that all the
- necessary pointers get rearranged....
-
- * Fixed a couple of minor problems with deleting const objects in
- the Service_Repository.i file. These were caught by G++, but
- not caught by SunC++!
-
-Sun May 1 11:43:52 1994 Douglas C. Schmidt (schmidt at tango.ics.uci.edu)
-
- * Fixed subtle bug in Server_Config::run_event_loop(). This bug
- prevented reconfiguration from occurring under certain
- circumstances.
-
- * Added a new feature to the Service_Manager class in the Service
- Configurator framework. This new feature enables the Service
- Configurator to be reconfigured remotely by clients.
-
- * Fixed a bug in Service_Manager that caused the Service
- Configurator to crash if SIGPIPE occurred if a client closed
- down ungracefully while retrieving information on active
- services.
-
- * Added a new argument to the Reactor::register_handler() method
- that is used to register signal handling Event_Handlers. This
- new argument returns the current Event_Handler (if any) that is
- registered for this signal.
-
- * Fixed a potential bug in Service_Config::process_directives that
- behaved improperly when there was no svc.conf file present in a
- directory.
-
-Wed Apr 27 12:55:46 1994 Douglas C. Schmidt (schmidt at mabillon.ics.uci.edu)
-
- * Changed the name of Service_Directory to Service_Manager to
- reflect its intended functionality
-
-Mon Apr 25 10:53:01 1994 Douglas C. Schmidt (schmidt at tango.ics.uci.edu)
-
- * Updated the Service Configurator framework to use the new signal
- handling facilities provided by the Reactor. This cleans up a
- lot of the code in Service_Config.i and removes the need for
- ugly non-reentrant static class variables.
-
- * Released version 2.14
-
-Sat Apr 23 14:29:11 1994 Douglas C. Schmidt (schmidt at tango.ics.uci.edu)
-
- * Changed the representation of the select()-based Reactor to be
- more similar with the poll()-based Reactor. In particular,
- there is only one array of Event_Handlers rather than three...
-
-Sun Mar 13 16:49:59 1994 Douglas C. Schmidt (schmidt at tango.ics.uci.edu)
-
- * Fixed a bug with the select-based version of the Reactor. This
- bug caused problems when dispatching the handle_output() member
- function.
-
- * Fixed a bug with the select-based version of the Reactor. This
- bug resulted in a failure to call the handle_close() member
- function on the write_fds and except_fds.
-
- * Changed the interface for Event_Handler::handle_close() so that
- the second parameter is a Reactor_Mask. This allows the
- call-back routine to determine which side of a connection (i.e.,
- read-side vs. write-side or both) to close down. Be careful
- since this change may break existing code that used the original
- 1 argument handle_close() member function.
-
- * Changed the location of the Reactor_Mask. It was originally an
- enum in Reactor.h. It is now a typedef in Event_Handler. This
- change will break existing code but it easily spotted since the
- compiler will give an error!
-
-Sat Mar 12 15:16:59 1994 Douglas C. Schmidt (schmidt at tango.ics.uci.edu)
-
- * Continued to modify the grammar of the svc.conf file language.
- The latest version (illustrated in configuration files in the
- ./tests/Reactor/server and
- ./apps/Logger/Service_Configurator_Logger file) is both easier
- to read and to parse automatically.
-
-Tue Mar 8 10:19:40 1994 Douglas C. Schmidt (schmidt at tango.ics.uci.edu)
-
- * Changed the behavior of the Get_Opt class so that it will
- perform option processing starting from argv[0] rather than
- argv[1] if the SKIP argument to the constructor is set to 0.
- Note that the default value is 1, so the behavior is the same
- for backwards compatibility. Incidentally, this new change is
- necessary to support the Service Configurator stuff...
-
- * Changed the names of some of the Service_Record member functions
- to conform to the new idiom for naming get/set-style of member
- function accessors...
-
-Sun Mar 6 12:47:03 1994 Douglas C. Schmidt (schmidt at tango.ics.uci.edu)
-
- * Removed libGet_Opt.a and merged it in with libMisc.a
-
-Sat Mar 5 18:37:43 1994 Douglas C. Schmidt (schmidt at tango.ics.uci.edu)
-
- * Updated the Service_Config class to use a flex/yacc based parser
- rather than an ad hoc parser and lexer. This is useful since
- the new syntax for configuring a complete Stream into a Service
- Configurator-based application is more complicated...
-
- * Made a small change to the syntax of a svc.conf file. Now any
- parameters that are passed to the Service_Object::init() member
- function of a dynamically linked service must be enclosed inside
- of double quotes. In other words, service config entries such
- as
-
- dynamic ./dev_adapter.so:_alloc () Device_Adapter -p 3000
-
- now become
-
- dynamic ./dev_adapter.so:_alloc () Device_Adapter "-p 3000"
-
- This change makes it easier to parse the input using flex/yacc.
-
-Sat Feb 12 18:53:14 1994 Douglas C. Schmidt (schmidt@net4.ics.uci.edu)
-
- * Modified the Reactor so that it now also demultiplexes signals,
- as well as timer events and I/O events. This required making a
- few sections of the Reactor code signal-safe, as well as
- thread-safe.
-
- * Changing the Reactor to handle signals also required a slight
- change to its interface. For example, it is now mandatory to
- give the Event_Handler::{READ_MASK,WRITE_MASK,EXCEPT_MASK} when
- registering a handler...
-
-Sat Feb 5 12:10:53 1994 Douglas C. Schmidt (schmidt@net4.ics.uci.edu)
-
- * Changed the Condition and Monitor classes to use templates that
- parameterize them with the appropriate type of Mutex (i.e.,
- either Mutex or Mutex_Rec). This greatly cleans up the code...
- Made a number of changes in other files
- (such as the Reactor) to account for the changes.
-
- * Added a new class called Mutex_Rec which implements a recursive
- Mutex abstraction on SunOS 5.x. Recursive Mutexes may be
- acquired multiple times from a single thread. Basically, this
- supports an efficient and clean way of handling nested locking
- conditions.
-
-Thu Feb 3 12:37:34 1994 Douglas C. Schmidt (schmidt@net4.ics.uci.edu)
-
- * Fixed a bug in Service_Config.i that was causing SIGHUP-driven
- reconfiguration not to work correctly.
-
- * Added a set of new member functions to the Reactor class to
- suspend() and resume() an event handler. Also added suspend()
- and resume() member functions to the Server_Object class to take
- advantage of these new facilities automagically...
-
-Mon Jan 31 09:47:06 1994 Douglas C. Schmidt (schmidt@net4.ics.uci.edu)
-
- * Modified the no-args constructor for the Reactor to initialize
- it to the DEFAULT_SIZE. The prior behavior was *not* to
- initialize it at all, which seems rather dumb in retrospect...
-
- * Improved the Reactor's support for multi-threading by adding a
- pipe() call that is used to force the Reactor to reconfigure
- itself everytime a new handler is registered or removed.
- Previously, any new changes wouldn't take place until the
- Reactor was triggered by some external event. This old behavior
- was too non-deterministic...
-
-Sun Jan 2 12:35:39 1994 Douglas C. Schmidt (schmidt@net4.ics.uci.edu)
-
- * Modified the inheritance hierarchy for Service_Object so that it
- derives from both Shared_Object and Event_Handler.
- Shared_Object is a new abstract base class the provides an
- interface for dynamic linking of objects. When RTTI is widely
- available for C++ the Service Configurator will be much more
- functional since we can automatically figure out whether an
- object is a Service_Object or just a Shared_Object and do the
- right thing with it!
-