summaryrefslogtreecommitdiff
path: root/ChangeLog-97a
diff options
context:
space:
mode:
Diffstat (limited to 'ChangeLog-97a')
-rw-r--r--ChangeLog-97a2379
1 files changed, 0 insertions, 2379 deletions
diff --git a/ChangeLog-97a b/ChangeLog-97a
deleted file mode 100644
index 76b836368c3..00000000000
--- a/ChangeLog-97a
+++ /dev/null
@@ -1,2379 +0,0 @@
-Tue Feb 25 21:19:57 1997 David L. Levine <levine@cs.wustl.edu>
-
- * ace/OS.h,config-sunos*.h: default ACE_TIMER_QUEUE to 0,
- and override to 10 ms in all Solaris config files.
-
- * ace/Svc_Conf_l.cpp,Makefile: #undef ACE_HAS_TERM_IOCTLS
- so that /usr/include/sys/termios.h won't be included; it
- #defines ECHO, and Svc_Conf_l.cpp has an ECHO symbol.
-
-Tue Feb 25 19:57:54 1997 <harrison@samba.cs.wustl.edu>
-
- * ace/Timer_Queue.cpp (gettimeofday): Added gettimeofday accessors
- on the Timer_Queue. The default implementation calls
- ACE_OS::gettimeofday. Applications can specify, via pointers to
- functions, that a timer queue use an alternate gettimeofday
- implementation (e.g., a high resolution timer).
-
- * ace/Reactor.cpp (schedule_timer): The Reactor no longer calls
- ACE_OS::gettimeofday. Instead, it calls
- Timer_Queue::gettimeofday.
-
- * ace/ReactorEx.cpp (schedule_timer): The ReactorEx no longer calls
- ACE_OS::gettimeofday. Instead, it calls
- Timer_Queue::gettimeofday.
-
-Tue Feb 25 17:40:57 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
-
- * ace/Log_Msg.cpp: Updated the 'p' option of the log() method to
- use the new ACE::sock_error() method for cases where
- FormatMessage() fails.
-
- * ace/ACE: Added a new sock_error() method to class ACE which
- returns the appropriate message for each WinSock error code.
- This makes up for an apparent oversight in Win32. Thanks to
- Michael R. MacFaden" <mrm@cisco.com> for this.
-
-Tue Feb 25 01:33:06 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
-
- * ace/OS.h: Moved <netinet/tcp.h> outside of the VXWORKS #ifdef
- since it seems to be available on other platforms (e.g.,
- Solaris). If people find this not to be the case on all
- platforms please let me know and I'll #ifdef it. Thanks to
- Sumedh Mungee <sumedh@cs.wustl.edu> for reporting this.
-
-Tue Feb 25 16:20:29 1997 Irfan Pyarali <irfan@flamenco.cs.wustl.edu>
-
- * examples/Connection/non_blocking/CPP-acceptor.cpp: Added a
- specific checl for timeouts. Also, changed
- ACE_PEER_ACCEPTOR_ADDR to ACE_PEER_STREAM_ADDR
-
- * examples/Connection/non_blocking/non-blocking.{mak,mdp}: New
- project files for Win32.
-
- * ace/Log_Msg.cpp: Minor changes.
-
-Mon Feb 24 17:16:06 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
-
- * ace/Log_Msg.cpp (ACE_Log_Msg): Enable the thread-specific
- tracing flag by default. This ensures that tracing will work
- "out of the box."
-
- * ace/config-sunos5.[45]-g++.h: Added a #define for
- ACE_HAS_TERM_IOCTLS. Thanks to Joey Zhu <joey.zhu@wcom.com> for
- reporting this.
-
- * ace/Synch.cpp (acquire): Simplified the recursive mutex logic
- for acquire(). Thanks to Arthur J. Lewis" <hfdh99a@prodigy.com>
- for reporting this.
-
- * examples/Connection/non_blocking/CPP-acceptor.cpp (init): Added
- a #ifdef for ACE_WIN32 so that we don't register the signal
- handler for SIGPIPE since it's not supported on Win32. Thanks
- to Ivan Murphy <Ivan.Murphy@med.siemens.de> for reporting this
- problem.
-
- * examples/Connection/non_blocking: The SPIPE examples in
- (test_spipe_{acceptor,connector}.cpp) aren't ported to Win32
- yet. They currently don't work because ACE_SPIPE*'s can't be
- registered with the ACE_Reactor (which only works with sockets).
- I've #ifdef'd these examples so that they don't get compiled on
- Win32. Thanks to Ivan Murphy <Ivan.Murphy@med.siemens.de> for
- reporting this problem.
-
-Mon Feb 24 20:28:10 1997 David L. Levine <levine@cs.wustl.edu>
-
- * ace/OS.h: use signed __int64 for ACE_hrtime_t because VC++
- won't convert unsigned __int64 to double. Thanks to Irfan
- <irfan@cs.wustl.edu> for reporting this.
-
- * include/makeinclude/platform_{irix5.3_g++,linux*,m88k,
- osf1_4.0_g++,sco-nothread,sunos*g++,unixware_g++}.GNU:
- changed C++ compiler (CXX) from gcc to g++ so that libg++
- will be linked in. Thanks to James CE Johnson <jcej@lads.com>
- for suggesting this.
-
- * examples/IOStream/{client,server}/Makefile,tests/Makefile:
- removed -lg++, when gcc is the compiler, because it's no
- longer needed with g++ as the compiler.
-
-Sat Feb 22 23:03:45 1997 David L. Levine <levine@cs.wustl.edu>
-
- * ace/OS.i: restored version 4.89 and 4.90 changes that
- were lost in version 4.91.
-
- * ace/OS.{i,cpp},config-linux*.h: added ACE_OS::gethrtime ()
- support for Linux on Pentiums.
-
- * ace/High_Res_Timer.*: changed scale_factor type from
- u_long to double so that it can be less than 1.
-
- * ace/Thread_Priority.cpp: "linux" instead of "LINUX".
-
- * tests/Priority_Task_Test.cpp (open): set this->priority_ because
- an assertion uses it. Also, use ACE_NORMAL_PRIORITY_CLASS so that
- root doesn't have to run the test on Solaris.
-
-Sat Feb 22 22:07:35 1997 Chris Cleeland <cleeland@cs.wustl.edu>
-
- * tests/Priority_Task_Test.cpp (open): Now use
- ACE_Thread_Priority while setting the priority of the new
- thread.
-
- * ace/Thread_Priority.cpp (convert_to_os_priority): Changed
- return type for this to 'int' from 'long' on Linux. Thanks
- to James CE Johnson <jjohnson@lads.com> for pointing this
- out!
-
- * ace/OS.i (thr_cancel): Corrected erroneous macro argument.
- Thanks to James CE Johnson <jjohnson@lads.com> for pointing
- this out!
-
-Sat Feb 22 17:00:59 1997 <harrison@samba.cs.wustl.edu>
-
- * ace/OS.i (gethrtime): Added support for intel's RDTSC
- instruction for pentium architectures.
-
-Sat Feb 22 10:57:47 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
-
- * ace/Stream.cpp (open): Make sure that if we allocate the Tasks
- in the Stream head and the Stream tail that we set the M_DELETE
- flag so that the close() method will clean up the memory.
- Thanks to David Levine and Purify for noticing this problem.
-
-Fri Feb 21 08:06:41 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
-
- * ace/OS.i: Yikes, it looks like the Solaris and the POSIX version
- of sigwait() are different! The Solaris version returns the
- signal number, whereas the POSIX version returns 0 on success,
- errno on failure, and sets a parameter with the signal on
- success. I've fixed the ACE_OS C++ wrapper so that the right
- thing happens, i.e., errno is always set to the error (if
- sigwait() returns -1) and the signum is always returned as the
- argument and the return value on success ... Thanks to Harry
- Gunnarsson <hg@carmenta.se> for reporting this.
-
-Fri Feb 21 11:01:22 1997 David L. Levine <levine@cs.wustl.edu>
-
- * ace/Thread_Priority.cpp: fixed return type of
- convert_to_os_priority () for Linux. Thanks to
- James CE Johnson <jcej@lads.com> for pointing this out.
-
- * examples/Shared_Malloc/test_malloc.cpp,
- examples/System_V_IPC/SV_Message_Queues/{T,}MQ_Server.cpp (main):
- added ACE_UNUSED_ARG (sa);.
-
-Fri Feb 21 04:12:31 1997 <irfan@TWOSTEP>
-
- * ace/OS.h: Added ACE_SEH_FINALLY.
-
- * ace/ReactorEx.h: Added ACE_ReactorEx_Test as a friend class. I
- think we should have one such friend class for all classes in
- ACE.
-
- * examples/Reactor/ReactorEx/test_exceptions.cpp: New test which
- checks how ReactorEx deals with structured exceptions thrown by
- user code
-
- * ace/ReactorEx.cpp (safe_dispatch): Added protection against
- structured exceptions caused by user code when dispatching
- handles
-
-Thu Feb 20 17:32:54 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
-
- * apps/Gateway: Added a new -v flag to the peerd and gatewayd
- applications so that they will print out the strings that are
- passed to them. This makes it easier to debug and see what's
- happening.
-
-Wed Feb 19 19:39:06 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
-
- * apps/Gateway/Gateway/Concrete_Proxy_Handlers.cpp (recv): Removed
- the VERBOSE #ifdefs since they weren't used and were causing
- compile errors. Thanks to Bert Craytor
- <Bert_Craytor@peoplesoft.com> for reporting this.
-
-Wed Feb 19 00:39:50 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
-
- * examples/ASX/Event_Server: Updated the README file a bit to
- clarify some loose ends. The documentation now explains
- precisely how to start up the transceivers correctly. Thanks to
- Patty Genuald <genualdp@agcs.com> for suggesting this.
-
- * include/makeinclude: Removed the default symlink for
- platform_macros.GNU since it is "Solaris-biased" ;-). Thanks to
- Amos Shapira <amos@dsi.co.il> for reporting this.
-
-Wed Feb 19 14:41:18 1997 Tim H. Harrison <harrison@lambada.cs.wustl.edu>
-
- * ace/Reactor.cpp: Modified to use timer_queue_->gettimeofday().
-
- * ace/Proactor.cpp: Modified to use timer_queue_->gettimeofday().
-
- * ace/ReactorEx.cpp: Modified to use
- timer_queue_->gettimeofday(). Also had to modify the
- ReactorEx_Notify mechanism to use the ReactorEx's timer queue to
- call gettimeofday.
-
- * ace/Timer_Queue.h: Added a gettimeofday method. This allows
- applications to replace the timer mechanism used by the
- Reactors. The default implementation returns
- ACE_OS::gettimeofday. However, a real-time application can
- inherit from Timer_Queue and override gettimeofday to return a
- value from a high resolution timer.
-
- * STL/bool.h: Changed the defines for type bool. First, bool is no
- longer defined for WIN32 since yvals.h typedefs it already.
- Also, I moved the defines out the namespace. I'm not sure if
- that's the right thing to do.
-
-Tue Feb 18 16:41:02 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
-
- * include/makeinclude: Added minor enhancements to rules.local.GNU
- and wrapper_macros.GNU so that it works with MVS. Thanks to
- Chuck Gehr <gehr@sweng.stortek.com> for this.
-
- * include/makeinclude: Added a new platform_mvs.GNU file that
- supports builds on MVS! Thanks to Chuck Gehr
- <gehr@sweng.stortek.com> for this.
-
- * tests/TSS_Test.cpp (worker): To get TSS_Test.cpp to compile on
- MVS we changed line 69 from:
-
- ACE_thread_key_t key = 0;
-
- to:
-
- ACE_thread_key_t key = ACE_OS::NULL_key;
-
- and line 122 from:
-
- key = 0;
-
- to:
-
- key = ACE_OS::NULL_key;
-
- Thanks to Chuck Gehr <gehr@sweng.stortek.com> for reporting
- this.
-
- * ace/Reactor.cpp (dispatch): Fixed the dispatching logic so that
- we bail out as soon as we discover that our state has changed.
- Thus, we'll recompute the fd_sets used for select().
-
-Tue Feb 18 19:02:53 1997 <irfan@cha-cha.cs.wustl.edu>
-
- * ace/ReactorEx:
-
- (a) Made wakeup_all_threads() public. Thanks to Hamutal Yanay
- <Hamutal_Yanay@mail.icomverse.com> for suggesting this.
-
- (b) Change closed_for_business_ to open_for_business_. Also made
- sure that open and close can potentially be called multiple
- times from multiple threads.
-
- (c) Changed unbind and unbind_all such that they iterate through
- all the handles.
-
- (d) Added a check to see if the handle has been scheduled for
- deletion before dispatching it.
-
-Tue Feb 18 21:24:57 1997 David L. Levine <levine@cs.wustl.edu>
-
- * ace/IOStream.h,README: replaced ACE_WIN32 conditional with
- ACE_LACKS_IOSTREAM_FX.
-
- * ace/config-{mvs,win*}.h: added #define ACE_LACKS_IOSTREAM_FX.
- Thanks to Chuck Gehr <gehr@sweng.stortek.com> for pointing
- out the need for this support for MVS.
-
- * examples/Reactor/Misc/test_demuxing.cpp: removed unused
- variable "done".
-
- * examples/Reactor/Misc/test_signals_1.cpp (main),
- examples/Reactor/Ntalker/ntalker.cpp (main):
- added ACE_UNUSED_ARG (sig);.
-
-Tue Feb 18 17:15:24 1997 Tim H. Harrison <harrison@lambada.cs.wustl.edu>
-
- * ace/ace.mdp, ace/mak: Modified release configuration to build
- acer.dll.
-
-Tue Feb 18 11:43:04 1997 David L. Levine <levine@cs.wustl.edu>
-
- * ace/Log_Msg.cpp: removed destructor because it's not declared
- and it's empty.
-
- * ace/OS.i (thr_setprio): added another case (that is NOTSUP)
- for platforms with Pthreads and with LACK_SETSCHED. Thanks to
- Chuck Gehr <gehr@sweng.stortek.com> for pointing this out.
-
- * tests/Reactor_Notify_Test.cpp (main): added shutdown flag so
- that normal termination reaches ACE_END_TEST.
-
- * tests/Reactors_Test.cpp (worker): changed "timeout" message to
- "Reactor shutdown" because that indicates normal termination,
- and won't fool the one-button test.
-
- * examples/Mem_Map/IO-tests/test_io.cpp (main): added
- ACE_UNUSED_ARG (sa);.
-
- * examples/Misc/test_trace.cpp (main): added ACE_UNUSED_ARG
- for sig1 and sig2.
-
-Tue Feb 18 03:50:10 1997 Irfan Pyarali <irfan@flamenco.cs.wustl.edu>
-
- * ace/ReactorEx:
-
- (a) Added a closed_for_business_ flag so that handle_events()
- cannot be called after the ReactorEx has been closed down.
-
- (b) Transfer of ownership of the ReactorEx to a new owner has
- changed. The transfer will not complete until all threads
- are ready for it (just like the handle set).
- ReactorEx->update_state() now looks out for changes in
- ownership.
-
- * examples/Reactor/ReactorEx/test_MT.cpp:
-
- (a) The test now terminates and number of iterations can be
- specified on the command line.
-
- (b) Graceful shutdown of ReactorEx is now exercised in the
- test. This is a change for the earlier infinite loop. This
- also shows how to gracefully close ReactorEx which is being
- shared by multiple threads.
-
- (c) Timers were added to the test.
-
- * ace/config{win32}: Added flag ACE_LACKS_LINEBUFFERED_STREAMBUF.
-
-Mon Feb 17 22:37:35 1997 Tim H. Harrison <harrison@lambada.cs.wustl.edu>
-
- * ace/Log_Msg.h (ACE_RETURN): Modified all ACE_RETURN macros to
- use ACE_OS::last_error instead of errno. This makes these more
- portable to Win32.
-
- * ace/Log_Msg.cpp (log): Modified Win32 version to use
- FormatMessage if errnum is greater than sys_nerr.
-
- * ace/OS.i (last_error): Modified Win32 version to return
- GetLastError if errno == 0.
-
-Mon Feb 17 18:32:29 1997 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
-
- * ace/OS.h: Protected the #ifdef for CLOCK_REALTIME so that it
- won't conflict with an existing macro in AIX. Thanks to Chris
- Lahey <CLahey@cccis.com> for this.
-
- * ace/Local_Name_Space_T.h: Added Local_Name_Space.h to
- Local_Name_Space_T.h so that templates will work correctly on
- AIX. Thanks to Chris Lahey <CLahey@cccis.com> for this.
-
- * tests: Added a new test, Reactor_Notify_Test.cpp, which tests
- out the new max_notify_iterations() method on the Reactor.
-
- * ace/Reactor: Finished rewriting and testing the new dispatching
- logic of the Reactor. The new implementation guards against
- pathological cases where ACE_Event_Handler::handle_*() methods
- remove registered ACE_Event_Handler objects whose handles are
- pending in the dispatch_set. Previously there was no good way
- to guard against this. Now, it should be handled automatically.
-
- * ace: Added many minor fixes to remove warnings with the SGI C++
- compiler. Thanks to Gonzalo Diethelm <gonzo@ing.puc.cl> for
- suggesting this.
-
- * include/makeinclude/platform_irix6.2_sgic++.GNU: Turned on all
- the warnings for the SGI C++ compiler. Thanks to Gonzalo
- Diethelm <gonzo@ing.puc.cl> for suggesting this.
-
-Mon Feb 17 20:59:47 1997 David L. Levine <levine@cs.wustl.edu>
-
- * ace/IOStream.h: added null ipfx (), etc., methods for ACE_WIN32
- because its iostream class doesn't have them.
-
- * ace/OS.h: added #include of <netinet/tcp.h> on VxWorks.
-
- * ace/Pipe.cpp (open): enabled TCP_NODELAY on VxWorks now that
- OS.h #includes <netinet/tcp.h>.
-
- * ace/ReactorEx.h: made ACE_ReactorEx_Handler_Repository destructor
- virtual because the class has other virtual functions.
-
- * tests/IOStream_Test.cpp: removed ACE_WIN32 #ifndef, and
- removed q_char bool conversion operator because it shouldn't
- be needed.
-
- * examples/Reactor/Misc/pingpong.cpp (handle_input): cast buf_len
- to ssize_t to avoid signed/unsigned comparison.
-
- * examples/Service_Configurator/IPC-tests/client/\
- remote_dgram_client_test.cpp (main): cast mmap.size () to
- ssize_t to avoid signed/unsigned comparison.
-
-Mon Feb 17 09:25:08 1997 Chris Cleeland <cleeland@cs.wustl.edu>
-
- * ace/config-linux-lxpthreads.h: Bumped the Linux kernel version
- number assigned to the symbol LINUX. Also added conditional
- defines for PTHREAD_{MAX,MIN}_PRIORITY when using Xavier Leroy's
- LinuxThreads.
-
- * ace/Thread_Priority.cpp: Added convert_to_os_priority() for Linux.
-
-Mon Feb 17 03:15:48 1997 Irfan Pyarali <irfan@flamenco.cs.wustl.edu>
-
- * tests/SOCK_Test.cpp (server): Changed recv_n() to recv().
-
- * tests/tests.{mak,mdp}: Added two new tests: IOStream and
- Reactor_Notify.
-
- * ace/Reactor: Removed all special checks for setting
- ACE_Reactor::max_notify_iterations_ on WIN32 to be 1. This was
- made possible after we figured out that the errno was being
- reset after the recv() call in handle_input(). This allows
- ACE_Reactor_Notify::handle_input() to serve upto
- ACE_Reactor::max_notify_iterations_ notifications in one shot
- rather than just 1 on WIN32. This should speed up the Reactor on
- WIN32 platforms.
-
-Sun Feb 16 12:23:23 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
-
- * ace/Reactor.cpp: Totally rewrote the ACE_Reactor's dispatching
- mechanism so that it now keeps track of whether the state of the
- wait_set_ has changed during a dispatch (i.e., whenever
- register_handler_i() or remove_handler_i() is called). If the
- wait_set_ state *has* changed, then we bail out and rerun
- select() in order to get the latest changes.
-
- * ace/Reactor.cpp: Changed the implementation of the
- ACE_Reactor_Notify class so that (1) it short-circuits a trip
- through the ACE_Reactor::notify_handle() method (after all, it's
- just going to call its own handle_input() method back) and (2)
- the ACE_Reactor_Notify::handle_input() method now returns a
- count of the number of handlers that it dispatched.
-
- * ace/Log_Msg.h: Added a (%P|%t) so that we now print out the
- process id and thread number for failed ACE_ASSERT() calls.
-
- * tests: Removed the unnecessary template specializations of
- ACE_Atomic_Op<ACE_Thread_Mutex, int> since this is already done
- in libACE.
-
- * ace/Reactor.cpp: Removed the #ifdef preventing the enabling of
- non-blocking mode for the recv() side of the Reactor's
- notification pipe (socket) for Win32. I believe that with the
- new max_notify_iterations scheme we should be all set.
-
- * ace/ReactorEx.cpp: Added an identical API for bounding the
- max_notify_iterations() for ReactorEx.
-
- * ace/Reactor.cpp: Enhanced the Reactor's notify() mechanism so
- that it is now possible to set the max_notify_iterations(),
- which limits the number of times that the
- ACE_Reactor_Notify::handle_input() method will iterate and
- dispatch the ACE_Event_Handlers that are passed in via the
- notify pipe before breaking out of its recv() loop. This is
- necessary to keep from starving out other Event_Handlers.
- Thanks to Rod Skinner <rods@in.ot.com.au> for pointing out the
- need for this.
-
- * ace/Reactor.cpp: Fixed a bug in the WIN32
- ACE_Reactor_Notify::handle_input() logic. We were calling
- requeue_position(0) when we should have been calling renew().
-
-Sat Feb 15 11:46:39 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
-
- * ace/ACE.cpp: It appears that VxWorks doesn't support fcntl().
- However, it does seem to support ioctl(). Therefore, that's how
- we'll set the descriptors into non-blocking mode. Thanks to
- Dave Mayerhoefer <m210229@svappl36.mdc.com> for reporting this.
-
- * ace/SOCK_Stream.h: Corrected the documentation for
- ACE_SOCK_Stream::recv_n (void *buf, size_t len, int flags, const
- ACE_Time_Value *timeout). Thanks to Paul Roman
- <proman@npac.syr.edu> for reporting this.
-
- * ace/SOCK_Stream.i (recv_n): Fixed a minor bug in the
- SOCK_Stream.i line 38:
-
- ACE_TRACE ("ACE_SOCK_Stream::send_n");
-
- should be
-
- ACE_TRACE ("ACE_SOCK_Stream::recv_n");
-
- Thanks to Paul Roman <proman@npac.syr.edu> for reporting this.
-
-Fri Feb 14 00:40:14 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
-
- * ace/TTY_IO.cpp (control): Moved the drop out timer value from
- the ACE struct to the WinNT struct. Thanks to Brad Flood
- <BFLOOD@tcs.lmco.com> for this fix.
-
-Thu Feb 13 21:24:17 1997 <irfan@cha-cha.cs.wustl.edu>
-
- * ace/OS.i (event_wait): Fixed the missing check for success.
-
- * ace/Synch: Fixed problems with multiple removal of
- resources. Thanks to Bert (Bcraytor@aol.com) for pointing this
- out.
-
- * examples/Threads/test.{mdp,mak}: Reorganized project so that it
- is easier to use.
-
- * examples/Threads: Small changes to make tests run faster.
-
-Thu Feb 13 01:49:38 1997 Irfan Pyarali <irfan@flamenco.cs.wustl.edu>
-
- * ace/OS.i (stat): Added stat() to ACE_OS.
-
- * apps/jaws: The ACE web server has now been ported to Win32.
-
- * ace/ReactorEx: Add a new version of remove_handler().
-
- * examples/Reactor/ReactorEx/test_MT.cpp: Fixed stuff so that only
- <concurrent_threads> are activated.
-
-Wed Feb 12 22:58:15 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
-
- * ace/ReactorEx: Made minor changes to the ReactorEx.
-
- * examples/Reactor/ReactorEx/test_MT.cpp: Updated Irfan's new
- ReactorEx test to use ACE_Tasks.
-
-Wed Feb 12 00:08:42 1997 Irfan Pyarali <irfan@flamenco.cs.wustl.edu>
-
- * ace/ReactorEx: Finished a complete rewrite of
- ReactorEx. The new version allows multiple threads of
- control to wait simultaneously in
- ::WaitForMultipleObjects(). This was difficult because the
- set of ACE_HANDLEs used in ReactorEx->handle_events() is
- shared between all threads. We devised a clever protocol
- that ensures all changes to the handle set are
- serialized. This serialization was achieved by using
- multiple (auto and manual) events and mutexes and by taking
- advantage of the "waitAll" semantics of
- WaitForMultipleObjects().
-
- Concept of "owner" thread is introduced in ReactorEx. We
- need to keep track of the "owner" because we don't want
- multiple threads to try to expire timers. Therefore the
- "owner" thread is the only one allowed to expire
- timers. Also, the owner thread is the only thread which
- waits on the internal notify handle (which is used to
- dispatch explicit calls to
- ACE_ReactorEx::notify(). Initially, the creator thread of
- ReactorEx becomes the "owner" thread. Ownership can later be
- transferred among threads, just as with the standard
- ACE_Reactor.
-
- We also updated the Handler Repository since it now
- keeps track of <handle, event_handler> tuples to be added
- and deleted from the current handle set at the appropriate
- time (i.e., when all threads are out of
- WaitForMultipleObjects() and have completed all necessary
- dispatching). The Handler_Repository implements the update
- protocol that is used to serialize changes to its internal
- state.
-
- Two slots were added to the <size> parameter in the
- constructor and open methods of ReactorEx that will store
- handles used for internal management. Therefore, users can add
- upto MAXIMUM_WAIT_OBJECTS - 2 handles into ReactorEx. On
- current WinNT platforms (e.g., 3.51 and 4.0)
- MAXIMUM_WAIT_OBJECTS is 64.
-
- Note that the interface to ReactorEx did not change in this
- process. Your existing code should work without changes.
- Moreover, we've optimized the implementation so that if only
- 1 thread calls ACE_ReactorEx::handle_events() the code is
- very efficient. Moreover, you can dynamically add or remove
- threads without having to register them with the ReactorEx.
-
- * examples/Reactor/ReactorEx/test_MT.cpp: This application tests
- multiple threads simultaneously calling
- ReactorEx->handle_events(). It also shows how different threads
- can update the state of ReactorEx.
-
-Wed Feb 12 00:08:42 1997 Douglas C. Schmidt <schmidt@polka.cs.wustl.edu>
-
- * ace/Synch: Added a remove() call to ~ACE_Thread_Mutex so that it
- will be removed (and resources cleaned up) automatically when an
- ACE_Thread_Mutex object goes out of scope. Thanks to Jay
- Denkberg <jay_denkberg@mail.icomverse.com> for reporting this.
-
- * ace: Added a new config file (config-irix6.2-sgic++-nothreads.h)
- that works for non-Pthread versions of SGI 6.2. Thanks to Fred
- LaBar <flabar@fallschurch.esys.com> for this.
-
- * ace/XtReactor: Fixed a bunch of minor bugs that crept into the
- ACE_XtReactor. Thanks to Fred LaBar
- <flabar@fallschurch.esys.com> for reporting this.
-
- * ace/OS.i (thr_getprio): Fixed a typo in the #ifdefs so that we
- return ACE_NOTSUP_RETURN(-1) if threading isn't enabled. Thanks
- to Fred LaBar <flabar@fallschurch.esys.com> for reporting this.
-
-Tue Feb 11 11:26:03 1997 David L. Levine <levine@cs.wustl.edu>
-
- * ace/OS.{h,i},config-vxworks*.h,README: added ACE_HAS_CLOCK_GETTIME,
- and only support ACE_OS::clock_gettime if that's defined.
- It can be supported on Solaris 2.5, but -lposix4 is then required.
-
- * ace/Thread_Priority.*: added increment () and decrement ()
- operations.
-
- * include/makeinclude/platform_sunos5_sunc++_4.1.GNU:
- added -pta back to avoid link problems with template classes
- that have virtual functions that are all inline, if inlining
- is disabled. Though we don't see the problem, other 4.1 users do.
- Thanks to mscallinan@CCGATE.HAC.COM for reporting this.
-
- * examples/Logger/simple-server/Logging_Handler.cpp (handle_input):
- cast "len" to ssize_t to prevent mixed signed/unsigned comparison.
-
- * examples/Logger/simple-server/server_loggerd.cpp (main):
- added ACE_UNUSED_ARG (sa);.
-
- * examples/Reactor/Misc/notification.cpp (Thread_Handler ctor):
- changed type of n_threads argument from int to size_t to avoid
- signed/unsigned comparison.
-
-Mon Feb 10 15:27:02 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
-
- * ace/Timer_Queue: Added a virtual destructor so that subclasses
- deleted via ACE_Timer_Queue *'s will call the right destructor.
- Thanks to Stuart Powell <stuartp@in.ot.com.au> for reporting
- this.
-
- * ace/Timer_Heap.cpp: Added support for automatically growing
- ACE_Timer_Heaps. This allows heaps to grow automatically as new
- ACE_Event_Handlers are added dynamically. Thanks to Stuart
- Powell <stuartp@in.ot.com.au> for this enhancement.
-
- * ace/Memory_Pool: Added support that allows flags to be passed in
- to the MMAP_Memory_Pool. This can be used to set the
- appropriate type of backing store semantics (e.g., MAP_PRIVATE
- and MAP_SHARED). Thanks to Fred LaBar
- <flabar@fallschurch.esys.com> for providing this.
-
-Sun Feb 9 11:56:37 1997 Douglas C. Schmidt <schmidt@polka.cs.wustl.edu>
-
- * ace/Map_Manager.cpp (bind_i): A recent change to Map_Manager
- broke the Connector since errno was getting set to ENOENT rather
- than EWOULDBLOCK. Thanks to Mark Rabotnikov
- <mark@usp.elscintcorp.co.il> for finding this.
-
-Sun Feb 09 21:44:34 1997 David L. Levine <levine@cs.wustl.edu>
-
- * ace/ACE.{h,cpp}: added static u_long is_prime ().
-
- * ace/{OS.cpp,Thread_Priority.cpp}: added comment about thread
- priorities only being tested for 1003.1C version of Pthreads.
- Thanks to Thilo Kielmann <kielmann@informatik.uni-siegen.de>
- for suggesting this.
-
- * ace/OS.{h,i}: added ACE_OS::clock_gettime (). It allows
- applications to get high-resolution time on POSIX systems.
-
- * ace/Future.cpp (dump): cast ref_count_ to an int because
- g++ doesn't figure it out (it's an ACE_Atomic_Op<ACE_Thread_Mutex,
- int>, which does have an int conversion operator).
-
- * ace/Timer_List.cpp (constructor): added initializer for
- timer_id_ to prevent unitialized memory read report from Purify.
-
- * tests/IOStream_Test.cpp,Makefile: added IOStream_Test,
- complements of James CE Johnson <jcej@lads.com>. Very cool!
-
- * tests/Future_Test.cpp: replaced call to ::sin ()
- with one to ACE::is_prime () to remove dependency on libm.
-
- * examples/IPC_SAP/UPIPE_SAP/ex1.cpp (peer1, peer2): removed
- unused variables c_addr and serv_addr: they were replaced by
- a global.
-
- * examples/Threads/future{1,2}.cpp: replaced call to ::sin ()
- with one to ACE::is_prime () to remove dependency on libm.
-
- * netsvcs/clients/Naming/Dump_Restore/createfile.cpp: removed
- #include of math.h, it wasn't needed.
-
-Sat Feb 08 15:19:50 1997 David L. Levine <levine@cs.wustl.edu>
-
- * ace/ReactorEx.h: commented out ACE_ReactorEx_Notify::message_queue_
- declaration if not ACE_WIN32 because Sun C++ chokes on it.
-
- * examples/IPC_SAP/{FILE,SPIPE}_SAP/client.cpp: declare "len" as
- ssize_t to avoid signed/unsigned comparison.
-
-Fri Feb 7 01:13:05 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
-
- * ace/OS.i (select): Simplified Chris' fixes for the weird
- Linux select() semantics.
-
- * ace/OS: Added a new accessor method called waiters() in
- ACE_cond_t that returns the number of waiters on the condition
- variable. Thanks to Karlheinz for suggesting this.
-
- * ace/OS: Changed all the ACE_cont_t, ACE_rwlock_t, etc. so that
- their fields are private, but made class ACE_OS a friend.
- Applications should not be mucking with these fields since they
- may change.
-
- * ace/OS.h: Fixed a minor typo where friend class ACE_rwlock_t
- should be friend class ACE_OS. Thanks to Thilo Kielmann
- <kielmann@informatik.uni-siegen.de> for reporting this.
-
- * ace/Log_Msg.cpp: Added a destructor to ACE_Log_Msg and changed
- ACE_TSS_cleanup so that it calls delete (ACE_Log_Msg *) ptr.
- Thanks to Per Anderson <Per.Andersson@hfera.ericsson.se> for
- reporting this.
-
- * tests/Map_Manager_Test.cpp: Create a file Map_Manager_Test_Key.h
- and move the class Key into the include file. Include this *.h
- file in Map_Manager_Test.cpp. This is needed for template
- generation on AIX. Thanks to Chris Lahey <CLahey@cccis.com> for
- pointing this out.
-
-Fri Feb 7 17:29:40 1997 Chris Cleeland <cleeland@cs.wustl.edu>
-
- * ace/OS.cpp (set_sched_params): added support for POSIX
- threads. Thanks to Thilo Kielmann
- <kielmann@informatik.uni-siegen.de> for figuring it out and
- for providing the code.
-
- * tests/Naming_Test.cpp (test_find): Changed final delete[] to
- not try to delete a static buffer. :-(
-
- * tests/SOCK_Test.cpp (server): Added assertion test for
- modified select timeval.
-
-Fri Feb 07 13:56:24 1997 David L. Levine <levine@cs.wustl.edu>
-
- * ace/{OS.cpp,Thread_Priority.cpp}: added ACE_Thread_Priority
- support for Digital Unix. Thanks to Thilo Kielmann
- <kielmann@informatik.uni-siegen.de> for figuring the priorities
- and priority classes out and for providing the code.
-
- * ace/High_Res_Timer.{h,cpp},config-linux*.h,README:
- use struct timespec instead of timespec_t, because not all
- platforms have the timespec_t typedef. Thanks to
- Marius Kjeldahl <marius@funcom.com> for reporting this on Linux
- and Chris Lahey <CLahey@cccis.com> for reporting it on AIX.
-
- * ace/IOStream.h: use "ssize_t send (...)", etc., instead of exact
- function prototypes.
-
- * examples/IPC_SAP/TLI_SAP/db-server.cpp: declare struct member as
- const char * instead of const char [] because it's not static and
- the struct doesn't have constructors.
-
- * examples/Reactor/Multicast/server.cpp (Server_Events ctor):
- reordered initializers to match declaration order.
-
-Fri Feb 07 05:08:51 1997 <irfan@cha-cha.cs.wustl.edu>
-
- * ace/Synch.cpp (dump): Fixed access error.
-
- * ace/OS.h: Fixed ACE_rwlock_t friend declaration.
-
- * ace/OS.i: Moved ACE_cond_t::waiters() such that it is now
- visiable to NT. Also fixed ACE_OS::cond_timed_wait by returning
- the correct return value on a TIMEOUT. Also fixed typo in
- ACE_OS::sema_wait.
-
-Thu Feb 6 20:25:13 1997 Chris Cleeland <cleeland@cs.wustl.edu>
-
- * ace/OS.i (select): Adapted ACE_OS::select methods for use on
- platforms (such as Linux) that allow select(2) to modify its
- struct timeval arg. New behavior is triggered by the define
- ACE_HAS_NONCONST_SELECT_TIMEVAL. Thanks to Jorn Jensen
- <jornj@funcom.com> for reporting this!
-
-Thu Feb 06 09:48:43 1997 David L. Levine <levine@cs.wustl.edu>
-
- * ace/config-sunos-sun*.h,README: added
- ACE_LACKS_LINEBUFFERED_STREAMBUF and ACE_LACKS_SIGNED_CHAR.
-
- * ace/IOStream.{h,cpp}: support
- ACE_LACKS_LINEBUFFERED_STREAMBUF and ACE_LACKS_SIGNED_CHAR
- so that this builds with SunC++.
-
- * examples/IOStream/client/iostream_client.cpp:
- reordered args and fixed argv indexes.
-
- * examples/IOStream/server/iostream_server.cpp:
- use ACE_DEFAULT_SERVER_PORT for default port.
-
- * tests/Naming_Test.cpp (randomize): changed type of "size" arg to
- size_t to avoid compiler warnings about signed/unsigned comparison.
-
-Thu Feb 06 09:40:47 1997 Chris Cleeland <cleeland@cs.wustl.edu>
-
- * ace/config-linux*.h: added typedef of timespec_t.
-
-Wed Feb 5 01:45:03 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
-
- * ace/OS.i: Changed the Win32 implementation of all methods that call
- WaitForMultipleObjects() so that errno is set to
- WAIT_ABANDONED if the mutex is abandoned. This makes it
- possible for users to understand why ACE_OS methods that use
- synchronization operations fail. Thanks to Ivan Murphy
- <Ivan.Murphy@med.siemens.de> for reporting this problem.
-
- * ace/IOStream.cpp (ACE_Streambuf): Moved the const initialization
- from the header file to the constructor since this is the only
- portable way to do this. Thanks to Michael Maxie
- <maxie@acm.org> for reporting this.
-
- * ace/OS.i: Updated the call to thr_setprio() for pthreads so that
- it first determines the existing scheduling parameters and then
- updates the priority. Thanks to Thilo Kielmann
- <kielmann@informatik.uni-siegen.de> for help with this.
-
- * ace/config-osf1-4.0*.h: Updated ACE_NEEDS_HUGE_THREAD_STACKSIZE
- to be 1 mega to minimize porting surprises. Thanks to Thilo
- Kielmann <kielmann@informatik.uni-siegen.de> for help with this.
-
- * tests/Naming_Test.cpp: Cleaned up a few minor things related to
- int i = 0 vs. size_t i = 0.
-
- * ace/SOCK_Dgram.cpp: Added a new macro called
- ACE_HAS_SOCKADDR_MSG_NAME, which is used on platforms (e.g.,
- DG/UX) that require a cast to (struct sockaddr *) for the
- msg_name field of struct msghdr.
-
-Wed Feb 05 10:45:41 1997 David L. Levine <levine@cs.wustl.edu>
-
- * ace/IOStream.h: replaced __*manip with expanded types, because
- Sun C++ doesn't have those typedefs; and added complete prototypes
- for send, recv, send_n, and recv_n.
-
- * ace/IOStream.cpp: fixed "#define ACE_IOSTREAM_C" to keep g++ sane.
-
- * ace/Hash_Map_Manager.{h,cpp},Map_Manager.{h,cpp}: replaced
- DEFAULT_SIZE with ACE_DEFAULT_MAP_SIZE so that Naming_Test runs
- on SunC++ 4.1.
-
- * ace/High_Res_Timer.*: added optional scale factor.
-
- * examples/IOStream/{client,server}/Makefile: addd -g++ if building
- with gcc.
-
- * tests/Naming_Test.cpp: moved declaration of "i" out of for loop
- because it is used after the loop.
-
- * examples/ASX/UPIPE_Event_server/{Consumer,Supplier}_Router.cpp
- (open): return 1 if init () succeeds. There's a commented-out
- call to activate the objects that would (should?) return a value.
-
- * examples/IPC_SAP/FIFO_SAP/FIFO-client.cpp (main): declare n
- as ssize_t instead of size_t to avoid compiler warning about
- signed/unsigned comparison.
-
-Tue Feb 4 19:06:52 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
-
- * ace/Signal.cpp: Fixed all the ACE_Sig_Handler[s] methods so that
- they now use ACE_Guard, rather than ACE_TSS_Guard, *unless* they
- are actually performing callbacks to user-code. Not only is
- this faster, but it also avoids thread-specific storage key
- leaks on platforms like Solaris!
-
- * ace/OS.cpp (thr_keyfree): Added a new #ifdef for
- ACE_HAS_THR_KEYDELETE, which is defined for UNIXWARE. This
- fixes a nasty problem with leaking thread-specific keys. Thanks
- to Nigel Owen <Nigel@voicelink.co.nz> for reporting this.
-
- * ace/Message_Block.cpp: Added a #include for
- "ace/Service_Config.h".
-
- * ace/Malloc.i: Fixed a few warnings by removing the names of
- unused parameters.
-
- * ace: Added many minor changes to ACE so that it will work on
- DG/UX. Thanks to Michael Maxie <maxie@acm.org> for all these.
-
- * ace/LSOCK_Stream.cpp: Applied the same fix as to LSOCK.cpp.
-
- * ace/LSOCK.cpp: Removed the cast of 0 to (char *) for msg_name
- since some platforms use (struct sockaddr *). By omitting the
- cast the compiler will figure it out correctly. Thanks to
- Michael Maxie <maxie@acm.org> for this.
-
- * ace/IOStream: Added a new template adapter for creating an
- iostream-like object using an ACE IPC Stream for the actual I/O.
- Thanks to James CE Johnson <jcej@lads.com> for this.
-
- * examples/Misc/test_iostreams.cpp: Added a test that illustrates
- how the new ACE_iostreams mechanism works. Thanks to James CE
- Johnson <jcej@lads.com> for this.
-
- * ace/Message_Block: Updated the ACE_Message_Block implementation
- to use ACE_Service_Config::alloc() if the user doesn't supply a
- customize version. This also means that we never delete the
- allocator_strategy_, so we can remove this flag and reduce the
- amount of storage by 4 bytes. Thanks to Irfan for noticing that
- we can do this.
-
- * ace/platform_dgux4_epc.h: Added a new platform config file
- for DG/UX. Thanks to Michael Maxie <maxie@acm.org> for
- this.
-
- * ace/config-dgux-4.11-epc.h: Added a new config file for DG/UX.
- Thanks to Michael Maxie <maxie@acm.org> for this.
-
-Tue Feb 04 18:26:01 1997 <irfan@cha-cha.cs.wustl.edu>
-
- * ace/Service_Config.cpp (alloc): The implementation now creates a
- ACE_New_Allocator rather than a ACE_Allocator_Adaptor. If
- you still want the old behavior, simply provide your own
- custom allocator singleton for ACE_Service_Config.
-
- * ace/OS.i (mktemp): Added the missing ACE_INLINE directive.
-
- * ace/OS.h: ACE_HAS_INLINED_OSCALLS is now automatically defined
- when __ACE_INLINE__ is defined. This avoids mysterious linking
- problems that occur otherwise.
-
- * ace/Malloc: Added a virtual destructor to ACE_Allocator. Also
- added a new class ACE_New_Allocator which is a sub-class of
- ACE_Allocator. This class uses the new/delete operators to
- allocate and free up memory. Please note that the only methods
- that are supported are malloc() and free(). All other
- methods are no-ops. If you require more functionality, please use:
- ACE_Allocator_Adapter <ACE_Malloc <ACE_LOCAL_MEMORY_POOL,
- MUTEX>> This will allow you to use the added functionality of
- bind/find/etc. while using the new/delete operators.
-
-Mon Feb 3 15:35:24 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
-
- * ace/config-aix-*.h: Added a (char *) cast to
- ACE_DEFAULT_BASE_ADDR. Thanks to John Cosby
- <John.D.Cosby@cpmx.saic.com> for reporting this.
-
- * ace/OS.cpp: Added a new set() method that sets the Time_Value
- from a double. Thanks to Brad Flood for this suggestion.
-
- * ace/OS: Changed ACE_OS::flock_t to ACE_OS::ace_flock_t to avoid
- a name clash on DG/UX. Thanks to Michael Maxie <maxie@acm.org>
- for reporting this.
-
-Tue Feb 4 03:02:52 1997 Irfan Pyarali <irfan@flamenco.cs.wustl.edu>
-
- * tests/Naming_Test.cpp: Added timing and made debug print outs
- optional. Also added randomization of the test data.
-
- * ace/OS.h: Fixed prototype for gethrtime ()
-
-Mon Feb 03 21:00:56 1997 David L. Levine <levine@cs.wustl.edu>
-
- * ace/OS.h: define ACE_SCOPE_PROCESS and ACE_SCOPE_THREAD
- even if ACE_HAS_THREADS is not defined. Thanks to
- Michael Maxie <maxie@acm.org> for pointing this out.
-
- * examples/Threads/{process_mutex.cpp,process_semaphore.cpp,
- task_three.cpp,thread_manager.cpp,thread_specific.cpp} (main):
- added ACE_UNUSED_ARG (sa);.
-
- * examples/Threads/reader_writer.cpp: fixed declaration of
- "shared_data" to be "static volatile" instead of "volatile
- static", and removed unused variable "n".
-
- * examples/Threads/thread_pool.cpp: removed unused variable "result".
-
-Sun Feb 02 21:24:02 1997 David L. Levine <levine@cs.wustl.edu>
-
- * ace/OS.h: changed hrtime_t to ACE_hrtime_t.
-
- * ace/{config-win*.h,README}: added #define ACE_HAS_PENTIUM to
- enable gethrtime () support.
-
- * ace/High_Res_Time.{h,i,cpp}: removed platform-specific #ifdef's,
- instead added "unsupported ()" static member function; changed
- changed signature of elapsed_time to take time reference as
- argument instead of return value; added elapsed_time
- (ACE_Time_Value &) and elapsed_time_incr (ACE_Time_Value &).
-
- * examples/Thread/context_switch.cpp: use ACE_High_Res_Timer
- instead of the old Timer adapter.
-
- * ace/config-aix-4.1.x.h: fixed typo: #defind ACE_HAS_LONGLONG_T.
-
- * ace/config-aix-4.2.x.h: added #define ACE_HAS_LONGLONG_T.
-
- * ace/Thread_Priority.{h,cpp}: moved #include of OS.h from .cpp
- to .h file.
-
-Sun Feb 02 10:30:29 1997 David L. Levine <levine@cs.wustl.edu>
-
- * ace/Local_Name_Space.cpp: removed ACE_Map_Manager, ACE_Map_Iterator,
- and ACE_Map_Entry: they don't appear to be used and, without
- including their headers, this file won't compile.
-
- * ace/Hash_Map_Manager.cpp (Hash_Map_Manager (ACE_Allocator *)):
- reordered initializers to match declaration order.
-
-Sat Feb 1 15:11:28 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
-
- * include/makeinclude/platform_aix4.2.GNU (LD): Removed the -qnoro
- flag since it is no longer needed. Thanks to Rob Jordan
- <jordan@hursley.ibm.com> for reporting this.
-
-Sat Feb 1 03:25:21 1997 Irfan Pyarali <irfan@flamenco.cs.wustl.edu>
-
- * ace/SString.cpp: Added two methods to the wide string
- implementation for high-performance. Even though these methods
- are somewhat ugly and not the "OO" way of doing things,
- performance was at stake here.
-
- * ace/Registry_Name_Space.cpp (resolve): Fixed the implementation
- by correctly figuring out the size of the value in the
- Registry. This allows us to dynamically allocated the correct
- amount of memory.
-
- * ace/Registry: Fixed the constant MAX_CONTEXT_NAME_SIZE to be the
- maximum path length.
-
- * ace/Naming_Context.cpp: Fixed various memory leaks.
-
- * ace/Local_Name_Space_T.h: Replaced the simple-minded Map_Manager
- with the new (improved) Hash_Map_Manager.
-
- * ace/Local_Name_Space.cpp: Added new methods operator!= and hash
- required by the map.
-
- * ace/Hash_Map_Manager.cpp (ACE_Hash_Map_Manager): Added an extra
- constructor.
-
- * tests/Naming_Test.cpp: Removed memory leaks.
-
-Fri Jan 31 19:39:48 1997 David L. Levine <levine@cs.wustl.edu>
-
- * ace/Hash_Map_Manager.cpp (ctor): reordered initializers
- to match declaration order.
-
- * tests/Time_Value_Test.cpp: cast double argument to long
- because there no longer is a constructor that takes a double.
-
- * ace/Hash_Map_Manager.{h,cpp}: removed #include of
- ace/Hash_Map_Manager.i because it doesn't exist.
- Protected .cpp file against multiple includes. Moved
- #include of "ace/Malloc.h" from .h to .cpp file.
-
- * ace/Map_Manager.cpp (current_size, total_size): cast -1 to
- size_t to avoid warning about signed-to-unsigned conversion.
-
- * ace/OS.h: moved hrtime_t typedef for ACE_WIN32 so it doesn't
- get defined twice.
-
- * ace/OS.i (getservbyname): one last ACE_HAS_NONCONST_GETBY change:
- missed "lproto" to "proto".
-
- * bin/create_ace_build: added checks for existing symlinks, so
- now the script can be re-run safely at any time on a build
- tree to update it.
-
-Fri Jan 31 02:16:30 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
-
- * ace/config-aix-*.h: Made the default value for
- ACE_DEFAULT_BASE_ADDR 0x80000000 to work around restrictions
- with AIX. Thanks to Rob Jordan <jordan@hursley.ibm.com> for
- this.
-
- * examples/Map_Manager: Added a new example of the
- Hash_Map_Manager.
-
- * tests/Map_Manager: Integrated the Hash_Map_Manager into the
- Map_Manager test and greatly improved the test (e.g., by adding
- timing).
-
- * ace: Added a new implementation of the Map_Manager called
- Hash_Map_Manager. This, of course, uses hashing rather than
- linear search. The result should be a much faster
- implementation for many types of applications.
-
-Thu Jan 30 13:55:08 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
-
- * ace/Map_Manager: Changed the return type of total_size() and
- current_size() to size_t.
-
- * ace/OS: Had to remove the ACE_Time_Value (double) constructor
- since it caused ambiguities with ACE_Time_Value (long). Thanks
- to Per Andersson for figuring this out.
-
- * include/makeinclude/platform_linux_lxpthread.GNU (CXX): Added
- -D_REENTRANT to make things work correctly in MT programs.
- Thanks to Marius for this fix.
-
- * ace/OS.h: Added several extra constructors for ACE_Time_Value so
- that it won't cause problems with the new ACE_Time_Value
- (double) constructor.
-
- * ace/Log_Record.cpp (ACE_Log_Record): Added an "L" to the 0
- initial value used for time_stamp_. Thanks to Marius for
- reporting this.
-
- * ace: Added the new config-aix-4.2.x.h file, which supports the
- AIX4.2 platform. Thanks to Rob Jordan <jordan@hursley.ibm.com>
- for this.
-
- * include/makeinclude/platform_aix4.2.GNU: Added support for the
- new AIX4.2 platform. Thanks to Rob Jordan
- <jordan@hursley.ibm.com> for this.
-
- * ace/OS.h: It's now possible to override ACE_DEFAULT_BASE_ADDR in
- a config.h file. This is important for platforms that need to
- put shared memory segments at particular address ranges. Thanks
- to Rob Jordan <jordan@hursley.ibm.com> for suggesting this.
-
-Thu Jan 30 16:01:37 1997 David L. Levine <levine@cs.wustl.edu>
-
- * ace/{config-aix-4.1.x.h,README}: added ACE_HAS_AIX_HIRES_TIMER,
- see change to gettimeofday in OS.i below; and ACE_HAS_LONGLONG_T.
-
- * ace/OS.i (gettimeofday, gethrtime): use read_real_time () if
- ACE_HAS_AIX_HIRES_TIMER. Thanks to Bob Olson
- <olson@mcs.anl.gov> for this suggestion.
-
- * ace/OS.h: define hrtime_t as long long if ACE_HAS_AIX_HIRES_TIMER.
-
- * ace/OS.{i,cpp}: uninlined ACE_OS::gethostbyname (),
- and ACE_OS::inet_ntoa () on VxWorks, because they have
- static char arrays.
-
- * ace/OS.i (gethostbyaddr, getservbyname, gethostbyaddr,
- gethostbyname, getservbyname_r): with ACE_HAS_NONCONST_GETBY,
- instead of copying the const argument, just cast it to (char *).
- Thanks to Michael Maxie <maxie@acm.org> for pointing out the
- problem with the nonstatic char arrays with sizes determined at
- runtime.
-
- * ace/High_Res_Timer.*: added ACE_HAS_AIX_HIRES_TIMER support.
- Also, renamed get_time () to elapsed_microseconds ().
-
- * examples/Threads/{Timer.h,context_switch_time.cpp}:
- ACE_High_Res_Timer::elapsed_microseconds () instead of
- ACE_High_Res_Timer::get_time ().
-
- * bin/create_ace_build: added this script: it creates an ACE build
- tree in directory "build/<build name>" below the current
- directory, which must be a ACE "top level" directory (such as
- $WRAPPER_ROOT). The build tree directory structure mirrors that
- of the ACE top level directory structure, except that instead of
- containing any plain files, it contains only symlinks to the files
- in the ACE top level structure.
-
-Thu Jan 30 06:57:50 1997 David L. Levine <levine@cs.wustl.edu>
-
- * ace/Thread_Priority.cpp (convert_to_os_priority): changed
- switch (priority_class) to switch (priority_class_).
- Thanks to Chris Lahey <CLahey@cccis.com> for pointing this out.
- Also, return -1 on other than Solaris, Win32, and VxWorks.
-
-Wed Jan 29 22:05:01 1997 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
-
- * tests/Naming_Test.cpp: Added the prefix "test_" to the bind(),
- find(), rebind(), and unbind() functions. This avoids name
- clashes with the bind() call from the socket API. Thanks to
- Marius for this info.
-
- * ace/OS.cpp (ACE_Time_Value): Added a new constructor that makes
- it possible to construct an ACE_Time_Value from a double.
- Thanks to Brad Flood <BFLOOD@tcs.lmco.com> for this.
-
- * ace/OS.i (thr_join): If ACE_HAS_THREADS is defined, but none of
- the threading APIs match (e.g., AIX) then we'll return
- ACE_NOTSUP_RETURN(-1). Thanks to Chris Lahey for help with
- this.
-
- * include/makeinclude/platform_aix.GNU: Made some changes to the
- type of dynamic linker and libraries used by AIX 4.1. Thanks to
- Chris Lahey for help with this.
-
- * ace/config-aix-4.1.x.h: Changed from BSD 4.3 to 4.4. Thanks
- to Chris Lahey for help with this.
-
-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.
-