summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2001-12-03 23:52:58 +0000
committernobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2001-12-03 23:52:58 +0000
commit005aafb271bd2d1bd4a5c8c21005eb5edab4910d (patch)
tree055f878b260bc94c208f366507a2f57a58496678
parent34dd72bf1e29830fdcde15adf96430ae12f95c64 (diff)
downloadATCD-005aafb271bd2d1bd4a5c8c21005eb5edab4910d.tar.gz
This commit was manufactured by cvs2svn to create branch
'corba-env-clean'.
-rw-r--r--ChangeLog6249
-rw-r--r--ChangeLogs/ChangeLog-02a6249
-rw-r--r--ChangeLogs/ChangeLog-03a6249
-rw-r--r--TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_EH.cpp393
-rw-r--r--TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_EH.h212
-rw-r--r--TAO/orbsvcs/tests/AVStreams/Bidirectional_Flows/Makefile58
-rw-r--r--TAO/orbsvcs/tests/AVStreams/Bidirectional_Flows/README45
-rw-r--r--TAO/orbsvcs/tests/AVStreams/Bidirectional_Flows/input995
-rw-r--r--TAO/orbsvcs/tests/AVStreams/Bidirectional_Flows/receiver.cpp363
-rw-r--r--TAO/orbsvcs/tests/AVStreams/Bidirectional_Flows/receiver.h146
-rwxr-xr-xTAO/orbsvcs/tests/AVStreams/Bidirectional_Flows/run_test.pl67
-rw-r--r--TAO/orbsvcs/tests/AVStreams/Bidirectional_Flows/sender.cpp513
-rw-r--r--TAO/orbsvcs/tests/AVStreams/Bidirectional_Flows/sender.h150
-rw-r--r--TAO/orbsvcs/tests/AVStreams/Multiple_Flows/Makefile58
-rw-r--r--TAO/orbsvcs/tests/AVStreams/Multiple_Flows/README57
-rw-r--r--TAO/orbsvcs/tests/AVStreams/Multiple_Flows/input995
-rw-r--r--TAO/orbsvcs/tests/AVStreams/Multiple_Flows/receiver.cpp305
-rw-r--r--TAO/orbsvcs/tests/AVStreams/Multiple_Flows/receiver.h144
-rwxr-xr-xTAO/orbsvcs/tests/AVStreams/Multiple_Flows/run_test.pl67
-rw-r--r--TAO/orbsvcs/tests/AVStreams/Multiple_Flows/sender.cpp443
-rw-r--r--TAO/orbsvcs/tests/AVStreams/Multiple_Flows/sender.h123
-rw-r--r--TAO/orbsvcs/tests/AVStreams/Pluggable_Flow_Protocol/Makefile69
-rw-r--r--TAO/orbsvcs/tests/AVStreams/Pluggable_Flow_Protocol/README47
-rw-r--r--TAO/orbsvcs/tests/AVStreams/Pluggable_Flow_Protocol/TimeStamp.cpp241
-rw-r--r--TAO/orbsvcs/tests/AVStreams/Pluggable_Flow_Protocol/TimeStamp.h63
-rw-r--r--TAO/orbsvcs/tests/AVStreams/Pluggable_Flow_Protocol/input995
-rw-r--r--TAO/orbsvcs/tests/AVStreams/Pluggable_Flow_Protocol/receiver.cpp269
-rw-r--r--TAO/orbsvcs/tests/AVStreams/Pluggable_Flow_Protocol/receiver.h100
-rwxr-xr-xTAO/orbsvcs/tests/AVStreams/Pluggable_Flow_Protocol/run_test.pl67
-rw-r--r--TAO/orbsvcs/tests/AVStreams/Pluggable_Flow_Protocol/sender.cpp415
-rw-r--r--TAO/orbsvcs/tests/AVStreams/Pluggable_Flow_Protocol/sender.h117
-rw-r--r--TAO/orbsvcs/tests/AVStreams/Pluggable_Flow_Protocol/svc.conf5
32 files changed, 26269 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
new file mode 100644
index 00000000000..fa845881eb7
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,6249 @@
+Mon Dec 03 14:22:57 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * ace/ace_dll.dsp:
+ * ace/ace_lib.dsp:
+ Add UNIX-only files. Though strictly not required to compile
+ ACE under NT, putting them in the project makes this directory
+ more amenable for samwise.
+
+ * ace/POSIX_Proactor.cpp:
+ Remove duplicate ACE_BUILD_DLL macro, when needed this is
+ defined via options in the project file.
+
+Mon Dec 3 13:59:06 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/README:
+
+ The ACE_HAS_IP6 macro has been superceded by the ACE_HAS_IPV6
+ macro. Also added description of the
+ ACE_USES_IPV4_IPV6_MIGRATION macro based on Steve's description
+ below.
+
+Mon Dec 3 15:50:42 2001 Steve Huston <shuston@riverace.com>
+
+ * IPv6 changes done by John Aughey and myself. To enable IPv6
+ support for a build, put this in your config.h file:
+ #define ACE_HAS_IPV6
+ If your build with IPv6 enabled must also run on systems where
+ the IPv6 support in the kernel is not actually turned on (for
+ example, Redhat Linux 7 by default), also add this to your
+ config.h file:
+ #define ACE_USES_IPV4_IPV6_MIGRATION
+
+ * ace/ACE.cpp (format_hexdump): Add \n to last part of a dump line.
+
+ * ace/INET_Addr.(h i cpp): If IPv6 is enabled, the inet_addr_
+ member is now a union of sockaddr_in and sockaddr_in6. Which
+ one is legit is noted in ACE_Addr::type as well as the family
+ member of either of the union members. The host name lookup
+ functions can look up ipv6 as well as ipv4 names, and the
+ caller can force one or the other by using the address_family
+ argument to set().
+
+ * ace/OS.(h i): Removed ACE_OS::gethostbyname2; replaced it with
+ the more correctly-named and more flexible ACE_OS::getipnodebyname.
+ Also added ACE_OS::getipnodebyaddr. These are the IPv6-capable
+ functions analogous to gethostbyname and gethostbyaddr.
+
+ * ace/SOCK.cpp (get_remote_addr, get_local_addr): Set up the
+ ACE_Addr's type properly to account for ipv4/6 possibilities.
+
+ * ace/SOCK_Acceptor.(h cpp): Allow accepting on ipv4 and ipv6 sockets.
+
+ * ace/SOCK_CODgram.h:
+ * ace/SOCK_Connector.(cpp h ):
+ * ace/SOCK_Dgram.(cpp h ): Change default protocol family from
+ PF_INET to vary and take advantage of IPv6 if available.
+
+ * ace/Sock_Connect.(cpp h): Added ACE_Sock_Connect::ipv6_enabled()
+ method - it checks to see if the running kernel can do IPv6
+ sockets or not.
+
+ * ace/Sock_Connect.cpp (get_ip_interfaces): Removed a #if 0'd
+ block that had possible specializations for MSVC 4.2. It's
+ been a number of years, and it's obviously not needed.
+
+ * ace/MEM_Addr.cpp (same_host): Don't try to compare binary
+ addresses directly... get ACE_INET_Addr objects, clear the port
+ numbers, and compare them.
+
+ * ace/MEM_Connector.cpp (connect): Print error text with message.
+
+ * ace/Asynch_Acceptor.cpp (open): For the new socket, use the
+ protocol family from the listen address, not PF_INET.
+
+ * tests/INET_Addr_Test.cpp: New test.
+
+ * tests/Makefile: Added INET_Addr_Test.
+
+Mon Dec 3 10:54:34 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * ace/OS.h:
+ Document CDR default buffer sizes and control macros
+ using Doxygen.
+ Document memory alignment macros in Doxygen form.
+
+ * ace/Sample_History.h:
+ * ace/Sample_History.inl:
+ Add accessor to get the samples saved on the history.
+
+ * ace/RMCast/RMCast_Singleton_Factory.h:
+ Document constructor in more detail.
+
+Mon Dec 03 07:54:04 2001 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Unbounded_Queue.{h,cpp}:
+ Added const iterator for this container class
+
+Sun Dec 02 15:13:30 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * ace/OS.cpp:
+ Fixed Fuzz problems, the ACE_TRACE calls in operator++/--
+ definitions had less whitespace than the actual operators.
+
+Sun Dec 02 15:17:47 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/Thread_Manager.cpp (join): This method mistakenly used the
+ local copy of Thread_Descriptor to change the thread status when
+ it found a thread to join from the <thr_list_>. This prevented
+ the status of the original Thread_Descriptor to be updated
+ correctly and the same descriptor got put into the
+ <terminated_thr_list_> again, which caused the same thread to be
+ waiting on in some cases. Changed to manipulate the descriptor
+ directly to avoid the problem. Thanks to Eyal Lubetzky
+ <eyall@BANDWIZ.COM> for reporting the problem and providing a
+ nice example to showcase it.
+
+Sun Dec 2 12:44:58 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * tests/ACE_Init_Test.cpp:
+ * tests/ACE_Init_TestDlg.cpp:
+ Protect this test against compilation on non-Win32 platforms,
+ that makes it easier to compile using samwise.
+
+ * tests/RMCast/RMCast_Fragment_Test.cpp:
+ * tests/RMCast/RMCast_Membership_Test.cpp:
+ * tests/RMCast/RMCast_Reassembly_Test.cpp:
+ * tests/RMCast/RMCast_Reordering_Test.cpp:
+ * tests/RMCast/RMCast_Retransmission_Test.cpp:
+ * tests/RMCast/RMCast_UDP_Best_Effort_Test.cpp:
+ Change #include "test_config.h" to #include "../test_config.h",
+ it is easier to generate makefiles and projects files with
+ samwise if we do that.
+
+Sun Dec 02 12:15:25 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * ace/OS.cpp:
+ Fixed typos in ACE_Time_Value::operator++ implementations.
+ Also moved the implementation outside the #ifdef ACE_WIN32
+ section.
+
+Sun Dec 2 12:17:09 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Reactor.i: Fixed a warning in TRU 64. Thanks to
+ <krumpo@pobox.sk> which reminded me of the fix in one of my
+ workspaces. This shows up only in V6.3-013 (cxx) of the
+ compiler.
+
+Sat Dec 1 19:39:22 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/Date_Time.i (update): Use ACE_OS::gettimeofday for the time
+ source. This gets both the seconds-since-epoch value from which
+ the date and time are calculated and the microseconds value.
+ Thanks to Jim Connelly <jim.connelly@neustar.com> for reporting this.
+
+ * THANKS: Added Jim Connelly to the Hall of Fame.
+
+ * ace/Log_Msg_NT_Event_Log.{cpp h} (open):
+ * ace/Log_Msg_UNIX_Syslog.{cpp h} (open):
+ If the caller passes a prog_name (logger_key) argument, use it
+ for the Source field in the event log entries (or ident in the
+ syslog entries). If not, use the program name (previous behavior).
+ Added comments to define this behavior.
+
+ * ace/Log_Msg.cpp (open): Don't refuse to open a backend if the
+ <logger_key> arg is 0 and the SYSLOG bit is enabled. The SYSLOG
+ backends, both UNIX and NT Event Log, work perfectly fine with
+ a 0 logger_key. Thanks to Steve Witten <steve_witten@hp.com> for
+ reporting this.
+
+Sat Dec 1 18:03:51 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/config-macosx.h:
+ * include/makeinclude/platform_macosx.GNU:
+ Added support so that ACE will build and run on Mac OS X 10.1.
+ Thanks to John Michael Zorko <j.zorko@att.net> for contributing
+ this.
+
+Fri Nov 30 19:08:19 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/ARGV.cpp (dump): Fixed a bug with dump() so that it
+ works properly even if argv_ changes. Thanks to Kyle Brost
+ <Kyle.Brost@quest.com> for this fix.
+
+Thu Nov 29 16:31:57 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/OS.{h,i,cpp}: Changed the return value of
+ ACE_Time_Value::operator+= and operator -= to be ACE_Time_Value
+ & rather than void. Also, added overloaded operator++ and
+ operator--. This is all to make this stuff work better with
+ ACE_Atomic_Op. Thanks to Kelly F. Hickel <kfh@mqsoftware.com>
+ for suggesting this.
+
+ * ace/Asynch_Acceptor.cpp (parse_address): Changed
+ the "message_block.size () - 2 * this->address_size ()" argument
+ to "bytes_to_read_" to work properly on Win32. Thanks to Kelly
+ F. Hickel <kfh@mqsoftware.com> for reporting this.
+
+Wed Nov 28 17:44:26 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/OS_Dirent.cpp (readdir_emulation): Fixed a memory leak
+ in the dirent emulation. Thanks to Olivier Brunet
+ <obrunet@groupama-ccama.tm.fr> for reporting this.
+
+ * ace/SPIPE_Acceptor.h (ACE_SPIPE_Acceptor): Clarified the
+ return value of open(). Thanks to Garth Watney
+ <Garth.J.Watney@jpl.nasa.gov> for motivating this.
+
+ * ace/OS.h: Added a workaround to the Borland bug for
+ ACE_OS::stat(). Thanks to Christopher Kohlhoff
+ <chris@kohlhoff.com> and Chris Able <cable@scires.com> for
+ reporting/fixing this.
+
+Sat Dec 01 09:26:27 2001 Balachandran <bala@cs.wustl.edu>
+
+ * ACE version 5.2.1 released.
+
+Wed Nov 28 09:28:09 2001 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/examples/IPC_SAP/SOCK_SAP/*
+ * ace/examples/IPC_SAP/SPIPE_SAP/*
+ * ace/examples/Misc/*
+ * ace/examples/Naming/*
+ * ace/examples/RMCast/Send_File/*
+ * ace/examples/Reactor/DGram/*
+ * ace/examples/Reactor/Ntalker/*
+ * ace/examples/Registry/*
+ * ace/examples/Threads/*
+ * ace/examples/Service_Configurator/IPC_tests/client/*
+ Made these examples compiling when ACE_USES_WCHAR is set
+
+Mon Nov 26 16:07:57 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * bin/make_release: The distribution will be available in bzip2
+ compressed format too. Made modifications to the release scripts
+ to put out the beta in bzip2 compressed format.
+
+Sat Nov 24 10:23:00 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Unbounded_Set.h (class ACE_Unbounded_Set): Moved the
+ insert_tail() method from the private part of the class to the
+ public part since it's needed by the examples/Misc/test_set.cpp
+ file.
+
+ * examples/Misc/test_set.cpp (main): Somehow the contents of this file
+ got lost. Thanks to Johnny Willemsen for reporting this!
+
+Fri Nov 23 08:40:33 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * tests/Refcounted_Auto_Ptr_Test.cpp: Added some ACE_DEBUGs to
+ print out the reference count.
+
+ * ace/Refcounted_Auto_Ptr.h: Added a count() accessor method to
+ return the reference count. Thanks to Andrea Bernicchia
+ <a.bernicchia@acsys.it> for contributing this.
+
+Thu Nov 22 05:24:51 2001 Craig Rodrigues <crodrigu@bbn.com>
+
+ * examples/QOS/Diffserv: Added a simple example to illustrate
+ how to set Diffserv Codepoints on an ACE_SOCK_CODgram.
+ * examples/QOS/Makefile: Updated.
+
+Wed Nov 21 11:35:50 2001 Michael Kircher <Michael.Kircher@mchp.siemens.de>
+
+ * ace/Bound_Ptr.h
+ * ace/Bound_Ptr.i
+ * ace/Future.cpp
+ * ace/Future.h
+ * ace/Refcounted_Auto_Ptr.h
+ * ace/Refcounted_Auto_Ptr.i
+
+ Made the memory allocation failure behavior consistent
+ to the behavior prior to the change on Sun Oct 28 13:15:00 2001.
+ Thanks to Christopher Kohlhoff <chris@kohlhoff.com> who prepared
+ this change.
+ The problem was that with the above mentioned change failed
+ allocations would return 0 in either case, if exceptions were
+ enabled by the platform or not. This was incosistent to the
+ behavior before, as new threw bad_alloc on allocation failure
+ when exceptions were supported by the platform.
+
+ To fix this we faced the following forces:
+ - Not to introduce yet another macro
+ - Minimize impact of changes, localize the problem
+ - Keep the new calls wrapped by a ACE_NEW macro to allow
+ users to eventually redefine the macro (using e.g. new (nothrow)
+
+ As the ACE_NEW macros are quite restrictive in their supported
+ semantics, e.g. you can only return on error, we decided to introduce
+ a new method (as inline) internal_create which does the allocation.
+ internal_create is called by create which does the differentiation
+ between the exception-supported and exception-not-supported case.
+
+Wed Nov 21 09:07:37 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/OS.h: Updated the ACE_GUARD_ACTION macro and added a new
+ ACE_GUARD_REACTION macro. Then, reimplemented the ACE_GUARD and
+ ACE_GUARD_RETURN macros in terms of these new macros. Thanks to
+ Don Hinton for contributing these.
+
+ * ace/Log_Msg_Callback.h: Improved the comments to explain why
+ ACE_Log_Msg_Callback isn't inherited. Thanks to
+ Alexey Chalimov <alexey@allcharge.com> for motivating this.
+
+Tue Nov 20 15:36:52 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ACE-INSTALL.html: Pointed out that on Solaris with g++ you may
+ need to use GNU as instead of /usr/ccs/bin/as, if you want
+ -gstabs+ and -pipe support. Thanks to C Chan
+ <CChan@md.aacisd.com> for reporting this.
+
+Mon Nov 19 07:24:05 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * examples/Synch/proc_sema.cpp: Added the ACE_TEXT macro so that
+ ACE_Get_Opt works correctly. Thanks to Johnny Willemsen for
+ contributing this.
+
+ * tests/Aio_Platform_Test.cpp (main): Fixed the code so that it
+ compiles when ACE_USES_WCHAR. Thanks to Johnny Willemsen for
+ reporting this.
+
+ * docs/ACE-categories.html: Updated the Doxygen URLs to use the
+ new format. Thanks to Peter J. Mason <peter.mason@retriever.com.au>
+ for reporting the problem.
+
+Fri Nov 16 10:39:52 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * docs: Moved minimumTAO.html from $TAO_ROOT/docs/ to
+ $ACE_ROOT/docs.
+
+ * ace/OS.h: Added two new macros ACE_GUARD_ACTION and
+ ACE_GUARD_ACTION_RETURN. Thanks to Boris Kaminer
+ <boris.kaminer@orcsoftware.com> for suggesting these.
+
+ * ace/NT_Service.cpp (state): Fixed a bug where calling
+ ACE_NT_Service::state(x,x) while the service is stopped was
+ causing the internal status variables of ACE_NT_Service to
+ become corrupt. If the control_mask is set to
+ SERVICE_ACCEPT_STOP in the constructor, the call to state will
+ cause this mask to be reset (if the service is not running).
+ This ultimately results in an NT Service that can be started but
+ not stopped. Thanks to Kyle Brost <Kyle.Brost@quest.com> for
+ providing this fix.
+
+Wed Nov 21 10:00:20 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/config-irix6.x-common.h:
+
+ Changed the size of a long double from 16 to 8 for the GNU
+ compiler.
+
+ * include/makeinclude/platform_irix6.x_sgic++.GNU:
+
+ Add buildbits macro to allow 32 and 64 bit builds on IRIX.
+
+Wed Nov 21 12:49:08 2001 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * performance-tests/Misc/basic_perf.cpp
+ * performance-tests/Misc/childbirth_time.cpp
+ * performance-tests/Misc/context_switch_time.cpp
+ * performance-tests/Misc/preempt.cpp
+ * performance-tests/Misc/test_mutex.cpp
+ * performance-tests/Misc/test_singleton.cpp
+ Made these tests compiling when ACE_USES_WCHAR is set
+
+Wed Nov 21 08:49:12 2001 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS.h
+ Added ACE_LIB_TEXT around ACE_DEFAULT_RENDEZVOUS to make a unicode
+ constant when ACE_USES_WCHAR is defined
+
+ * tests/FlReactor_Test.cpp
+ * tests/TkReactor_Test.cpp
+ * tests/XtReactor_Test.cpp
+ Changed type of argv argument of main from char to ACE_TCHAR so that
+ these tests compile without problems when ACE_USES_WCHAR is defined
+
+ * examples/IPC_SAP/ATM_SAP/CPP-client.cpp
+ * examples/IPC_SAP/ATM_SAP/CPP-server.cpp
+ * examples/IPC_SAP/FIFO_SAP/FIFO-client.cpp
+ * examples/IPC_SAP/FIFO_SAP/FIFO-Msg-client.cpp
+ * examples/IPC_SAP/FIFO_SAP/FIFO-Msg-server.cpp
+ * examples/IPC_SAP/FIFO_SAP/FIFO-server.cpp
+ Made these example compiling when ACE_USES_WCHAR is set
+
+Tue Nov 20 12:02:16 2001 Ossama Othman <ossama@uci.edu>
+
+ * configure.in:
+
+ Removed this file from the distribution. Some folks insist on
+ attempting to build ACE/TAO with the configure script and
+ reporting problems despite the fact we've explicitly disabled
+ it.
+
+Tue Nov 20 13:30:36 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Strategies.h:
+ * ace/Strategies.cpp:
+ * ace/Strategies.i: Re-added files back into the main trunk. Got
+ accidentally removed from the main when I was doing some work on
+ a branch.
+
+Mon Nov 19 20:35:44 2001 Jaiganesh Balasubramanian <jai@balar.ece.uci.edu>
+
+ * ace/SOCK_Dgram_Mcast.cpp:
+ This class allow application to subscribe a single socket to
+ many multicast groups. However, the unsubscribe operation
+ failed to work with more than one group. For some strange
+ reason it was storing the first multicast group subscription in
+ a class member and using that member in all the paths for the
+ unsubscribe methods.
+
+ We have changed the unsubscribe(const ACE_INET_Addr&,...) method
+ to work as adversited, i.e. unsubscribe the *given* multicast
+ address, not the stored one, as an added benefit the method is
+ now re-entrant. The unsubscribe(void) method works as before.
+ The code has been re-factored to minimize duplication.
+
+Mon Nov 19 11:03:07 2001 Ossama Othman <ossama@uci.edu>
+
+ * ACE-INSTALL.html:
+
+ Added missing build instructions for the ACE_SSL library, and
+ updated the list of "make" flags recognized by ACE's Makefile
+ scheme.
+
+Mon Nov 19 00:53:54 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * ace/Svc_Conf_y.cpp:
+ * ace/Svc_Conf_l.cpp:
+ * ace/Svc_Conf_Tokens.h:
+
+ Fixed some bugs introduced by my previous checkin because of
+ patch confusion. Replaced all the standard C system calls with
+ ACE_OS calls. Made it more wchar friendly.
+
+ * ace/Makefile:
+
+ Removed the dependency on /pkg/gnu/bin/flex. It was broken. We
+ now use $(LEX) and $(YACC) defined in
+ $ACE_ROOT/include/makeinclude/wrapper_macros.GNU.
+
+ * include/makeinclude/wrapper_macros.GNU:
+
+ Changed the definition of YACC to bison (by default). If people
+ want to change this, it can be overridden by a variable in the
+ Makefile. But things are most likely to break if you use yacc.
+
+ * etc/Svc_Conf_l.cpp.diff:
+ * etc/Svc_Conf_y.cpp.diff:
+
+ Regenerated the diffs.
+
+ *Sigh* This patching business is ugly.
+
+Fri Nov 16 07:22:19 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * bin/make_release: Updated the script to copy the beta to a
+ different location. Have tested this by creating a dummy
+ repository and a dummy export directory. Things worked
+ fine. Hopefully the beta should go through without any hassle.
+
+ The script is tied to its usage on ace.cs. Needs to be
+ changed. Will do that after this beta goes out. Having too many
+ changes at the same time may not be good.
+
+Thu Nov 15 20:44:40 2001 Craig Rodrigues <crodrigu@bbn.com>
+
+ * etc/Svc_Conf_l.cpp.diff: Updated. Thanks to Kitty for reporting it.
+ * etc/Svc_Conf_y.cpp.diff: Added. We need it for uses of ACE_LIB_TEXT.
+ * ace/Makefile: Added rule to apply patch to Svc_Conf_y.cpp.
+
+Thu Nov 15 08:26:57 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/*.cpp: Changed all remaining uses of ACE_TEXT to ACE_LIB_TEXT
+ to be consistent... Thanks to Johnny Willemsen for reporting
+ the inconsistencies and for Darrell Brunsch for clarifying what
+ the right behavior should be.
+
+Wed Nov 14 07:43:20 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * docs/ACE-guidelines.html: Updated the guidelines to explain
+ the use of ACE_TCHAR for the argv parameter to main(). Thanks
+ to Johnny Willemsen for reporting this.
+
+ * ace/OS_Dirent.inl (opendir): Replace char * const cast with
+ ACE_TCHAR * const cast. Thanks to Nick Pratt for reporting
+ this.
+
+ * tests/Upgradable_RW_Test.cpp (main): Fixed the test to avoid
+ dividing by 0 and also initialized all pointers to NULL. Thanks
+ to Johnny Willemsen for reporting this. Thanks fixes BudID 650.
+
+Tue Nov 13 15:25:04 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/ACE.h (ACE): Clarified what the time_len parameter is used for.
+ Thanks to Tompa <safdsfd@adsffda.com> for reporting this.
+
+Sun Nov 11 09:50:52 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Naming_Context.cpp (info): Added an ACE_UNUSED_ARG to
+ silence warning about "length" parameter and changed buf from
+ char to ACE_TCHAR. Thanks to Johnny Willemsen for reporting
+ this.
+
+ * tests/Aio_Platform_Test.cpp: The argv parameter of main() should
+ be ACE_TCHAR rather than char. Thanks to Johnny Willemsen for
+ reporting this.
+
+Thu Nov 15 15:43:20 2001 Craig Rodrigues <crodrigu@bbn.com>
+
+ * ace/Naming_Context.cpp (info): Wrapped sprintf() arguments with
+ ACE_LIB_TEXT. Fix supplied by Johnny Willemsen.
+
+Thu Nov 15 12:43:31 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * docs/wchar.txt: Added a writeup for ACE_LIB_TEXT and ACE_TEXT
+ from "the authority."
+
+Wed Nov 14 21:36:42 2001 Ossama Othman <ossama@uci.edu>
+
+ * docs/usage-bugzilla.html:
+
+ Corrected link to the DOC Center's bugzilla site.
+
+Wed Nov 14 23:11:59 2001 Craig Rodrigues <crodrigu@bbn.com>
+
+ * ace/Naming_Context.cpp (info): Fixed Unicode build problems
+ by consistently using ACE_TCHAR instead of char, and by
+ using Unicode aware string functions in ACE_OS_String
+ instead of ACE_OS.
+
+ * ace/Svc_Conf_l.cpp: Default intialized ace_yy_c_buf_p to ACE_TCHAR
+ instead of char. Default initialized ace_yy_cp, ace_yy_bp to 0.
+
+ * ace/Svc_Conf_y.cpp: Wrap string literals passed to ace_yyerror
+ with ACE_LIB_TEXT().
+
+Wed Nov 14 06:38:41 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * docs/ACE-bug-process.html (HREF): Changed references from ace.cs
+ to deuce.doc. Thanks to Johnny Willemsen for reporting this.
+
+Tue Nov 13 15:04:15 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * html/Stats/index.shtml:
+ * html/Stats/detailed_performance.shtml:
+ Improved documentation about the test location, ORB, and network
+ configuration used. Thanks to David Yongqiang Wang
+ <davidyw@avaya.com> for pointing out the problems.
+
+Tue Nov 13 11:46:11 2001 Chris Cleeland <cleeland_c@ociweb.com>
+
+ * tests/Collection_Test.cpp (iterate_const): Fixed ACE_DEBUG print
+ statements that were accessing the element of the unbounded set
+ as an int rather than an UglyThing. Thanks to Ossama for
+ pointing this out.
+
+Mon Nov 12 11:41:35 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_SOCK_Stream.cpp (send, recv):
+
+ In the va_arg versions of these methods, do not use
+ send/recv_n() to as the underlying send/recv() method. It
+ forces unnecessary blocking.
+
+ Corrected return value semantics in versions of these methods
+ that use loop to send/receive multiple buffers. If data was
+ sent or received than do not return -1 on error. Instead return
+ the amount of bytes sent/received. This is necessary to allow
+ the caller to keep track of sent or received data. [Bug 882]
+
+Sun Nov 11 23:50:00 2001 Craig Rodrigues <crodrigu@bbn.com>
+
+ * tests/Date_Time_Test.cpp: Remove argv variable from
+ main() to eliminate unused variable compiler warning.
+ * tests/Arg_Shifter_Test.cpp: Same.
+
+Sun Nov 11 10:00:56 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_SOCK_Stream.h (ACE_SSL_SOCK_Stream):
+
+ Removed unused class members.
+
+ * ace/SSL/SSL_SOCK_Stream.cpp (sendv):
+
+ If an error occurs but data was sent on a previous loop
+ iteration then return the amount of bytes sent, not the error.
+ This extends previous check for EWOULDBLOCK and ETIME. All
+ errors are now caught. The caller must always know if any data
+ was successfully sent. [Bug 882]
+
+ Do not continue on to the next loop iteration if the amount of
+ data sent was less than the amount data given. This avoids a
+ subtle problem where "holes" in the data stream would occur if
+ partial sends of a given buffer in the iovec array occured.
+ [Bug 882]
+
+Sun Nov 11 07:58:07 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_SOCK_Stream.cpp (sendv):
+
+ Fixed unused variable warnings.
+
+Sat Nov 10 23:25:50 2001 Ossama Othman <ossama@uci.edu>
+
+ * bin/auto_run_tests.lst:
+
+ Added new SSLIOP "Big_Request" test to the list of regression
+ tests to automatically run during the nightly builds.
+
+Sat Nov 10 22:13:54 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * ace/Svc_Conf_l.cpp:
+ * ace/Svc_Conf_y.cpp:
+ * ace/Svc_Conf_Tokens.h:
+
+ Regenerated the files after fixing the warnings that showed up
+ under Sun CC Forte Update. They were caused because Sun CC's
+ preprocessor doesn't like the #line statements generated by flex
+ and bison. Since these files are not modified on a daily basis,
+ people debugging the lexer can turn it on by removing the flags
+ '-l' and '-L' to bison and flex respectively in the Makefile.
+ For now, this removes a lot of noise.
+
+ * ace/Makefile:
+
+ Added flags '-l' to bison and '-L' to flex.
+
+ * etc/Svc_Conf_l.cpp.diff:
+
+ Regenerated the diff to match the current version.
+
+ * etc/Svc_Conf_y.cpp.diff:
+
+ This file held the stuff which have been obsoleted by the move
+ to use bison. So removed this file to avoid causing confusion in
+ the future. Thanks to Ossama for pointing this out.
+
+ Let's see some green :-)
+
+Sat Nov 10 19:27:36 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_Accept_Handler.cpp (ssl_accept):
+ * ace/SSL/SSL_Connect_Handler.cpp (ssl_connect):
+
+ If data is still buffered within OpenSSL's internal buffer, then
+ force the Reactor to invoke the event handler (with
+ the appropriate mask) before waiting for more events
+ (e.g. blocking on select()) by returning a value greater than
+ one. All pending data must be processed before waiting for more
+ events to come in on the SSL handle.
+
+ * ace/SSL/SSL_SOCK_Stream.h (reactor, handler, notify):
+
+ These methods are no longer needed. Removed them.
+
+ (sendv):
+
+ Added missing timeout parameter.
+
+ * ace/SSL/SSL_SOCK_Acceptor.cpp (ssl_accept):
+ * ace/SSL/SSL_SOCK_Connector.cpp (ssl_connect):
+ * ace/SSL/SSL_SOCK_Stream.i (notify, recv_i, send_i, close):
+
+ Reverted code that notify()ed the Reactor if data was still
+ pending in OpenSSL's internal buffers. The idea was to force
+ the reactor to call the appropriate event handler before polling
+ for events (e.g. blocking on select()). However, notifications
+ are not dispatched until after events are polled which meant
+ that there is no point in notify()ing the Reactor.
+
+ * ace/SSL/SSL_SOCK_Stream.cpp (reactor, handler):
+
+ These methods are no longer needed. Removed them.
+
+ (sendv):
+
+ Fixed/improved the writev() semantics and emulation in this
+ method. Previously, if an iov_base buffer was successfully
+ sent, that success was not reported to the caller if subsequent
+ sends in the emulation loop failed. The caller would end up
+ thinking that no part of the message was sent. The improved
+ semantics are now the following if the underlying send() call
+ returns with an EWOULDBLOCK or ETIME error condition:
+
+ - If no data was sent, then return -1.
+ - If some data was sent on a previous loop iteration then
+ return the number of bytes successfully sent.
+
+ In both cases, errno is unchanged. [Bug 882]
+
+ Incidentally, this fixes a problem in TAO's SSLIOP pluggable
+ protocol when sending very large requests. Thanks to Andrew
+ Finnell <Andrew.Finnell@esecurityinc.com> for providing an
+ example that exhibited the problem.
+
+ Lastly, the missing timeout support has been added. The timeout
+ is decremented on each loop iteration.
+
+Sat Nov 10 17:16:59 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/OS.cpp (fopen): Removed redundant parentheses.
+
+Sat Nov 10 09:29:48 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/OS.i (pipe): Replaced the _pipe() call on Win32 with the
+ CreatePipe() call. Thanks to Bo Balders <bba@post.utfors.se>
+ for reporting this.
+
+ * ace/Log_Msg.cpp (log): The "format" string was omitted. Thanks
+ to Martin Krumpolec for noticing this.
+
+Sat Nov 10 08:48:24 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/Arg_Shifter.{h,cpp}: Added a new constructor to ACE_Arg_Shifter
+ so that it can handle both const char ** and char ** arguments.
+
+Fri Nov 9 07:42:41 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Arg_Shifter.cpp: Made the argv parameter to ACE_Arg_Shifter
+ a "const" ACE_CHAR **.
+
+ * tests/Arg_Shifter_Test.cpp (main): Added "const" to the
+ args local variable to remove a warning from SunC++.
+
+Fri Nov 9 11:23:01 2001 Chris Cleeland <cleeland_c@ociweb.com>
+
+ * tests/Collection_Test.cpp: Fixed up things that caused problems
+ on several platforms. Added the ARRAY tests back in.
+
+Thu Nov 8 14:52:39 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/Log_Msg.h: Added a new 'M' option to print out the name of
+ the log priority. Thanks to Vladimir Chovanec
+ <Vladimir.CHOVANEC@asset.sk> for reporting this.
+
+Thu Nov 8 10:41:44 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/OS_String.h: Enhanced the documentation so that it explains
+ the differences between ACE_OS::strsncpy() and ACE_OS::strcpy()
+ more precisely. Thanks to Alain Decamps for contributing this.
+
+ * ace/Naming_Context.{h,cpp}: The info() method should have
+ ACE_TCHAR ** rather than char **. Thanks to Johnny Willemsen
+ for reporting this.
+
+ * ace/OS.cpp: Added support for Borland's idiosyncratic _wfdopen()
+ method. Thanks to Johnny Willemsen for reporting this.
+
+Wed Nov 7 05:17:03 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Message_Queue_T.{h,cpp}: Changed the typo DEFUALT_PRIORITY
+ to DEFAULT_PRIORITY.
+
+ * ace/OS.i: In BCB the _wtempnam() has the following signature:
+ wchar_t *_wtempnam(wchar_t *dir, wchar_t *prefix)
+
+ This means that the arguments must be made non-const by a cast. The
+ fix is to add some defines so that with BCB and no wchar the
+ _tempnam is used (with the casts) and with BCB and wchar then
+ the _wtempnam is used with the casts. Thanks to Johnny
+ Willemsen for this fix.
+
+Thu Nov 8 14:52:39 2001 Steve Huston <shuston@riverace.comy>
+
+ * ace/Arg_Shifter.h: Doxygen-ized some comments.
+
+ * ace/Date_Time.i (update): Add 1900 to years value to convert from
+ localtime's years-since-1900 value to now. Add 1 to the month
+ to convert localtime's 0-11 range to 1-12. Thanks to Syed
+ Wasim Ali <syed.ali@neustar.com> for reporting this.
+
+ * tests/Date_Time_Test.(cpp dsp icc): New test for ACE_Date_Time.
+
+ * tests/tests.dsw:
+ * tests/tests.icp:
+ * tests/Makefile[.bor]: Added Date_Time_Test.
+
+ * tests/run_test.lst: Added Arg_Shifter_Test and Date_Time_Test.
+
+Thu Nov 8 11:53:00 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/Arg_Shifter_Test.(cpp dsp icc): New test for ACE_Arg_Shifter.
+
+ * tests/tests.dsw:
+ * tests/tests.icp:
+ * tests/Makefile[.bor]: Added Arg_Shifter_Test.
+
+Thu Nov 8 13:05:12 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * include/makeinclude/platform_irix6.x_sgic++.GNU:
+
+ Added an option to suppress warnings about #pragma pack.
+
+Thu Nov 8 10:43:22 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/OS.cpp:
+
+ Correct a build problem for GHS on Win32.
+
+Wed Nov 07 13:50:39 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/Task_T.h (ACE_Task): Decorated ACE_Task with ACE_Export to
+ avoid VC7's internal compiler error. Thanks to Darrell for
+ submitting the change.
+
+Wed Nov 7 10:59:00 2001 Craig Rodrigues <crodrigu@bbn.com>
+
+ * include/makeinclude/platform_sunos5_g++.GNU: Append -D_REENTRANT
+ to CPPFLAGS if threads=1
+
+Wed Nov 7 08:09:20 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * bin/nightlybuilds/builds.lst: Changed the name CC5 build as
+ CC51. It uses version 5.1 of the compiler anyway.
+
+Tue Nov 6 14:39:28 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/SString.i (find),
+ * ace/Local_Name_Space_T.cpp (resolve_i): Fixed "off-by-one"
+ bugs with ACE_OS::strscpy(). Thanks to Alain Decamps
+ <Alain.Decamps@PIDPA.be> for contributing this.
+
+Tue Nov 6 13:25:40 2001 Chris Cleeland <cleeland_c@ociweb.com>
+
+ * tests/Collection_Test.cpp: Committed an old change that uses an
+ actual class as the element in the Unbounded_Set rather than an
+ int. I wrote this to get a better understanding of how the
+ iterator and accessors on the iterator worked.
+
+ * tests/SString_Test.cpp (main): Added a test for the rep() method
+ that insures that the char array returned is equivalent to the
+ string in the ACE_CString from which it's obtained.
+
+Mon Nov 5 10:12:01 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/OS.cpp,
+ * ace/Local_Name_Space_T.cpp,
+ * ace/FILE_Addr.cpp,
+ * ace/Acceptor.cpp,
+ * ace/ACE.cpp: Changed uses of strncpy() to ACE_OS::strsncpy().
+ Thanks to Alain Decamps for these fixes.
+
+Sun Nov 4 12:11:31 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Reactor.cpp: Enhanced all the Reactor's event loop methods
+ to first check and see if the Reactor's been deactivated and to
+ bailout immediately in this case. Thanks to Don Hinton for
+ suggesting this.
+
+ * ace/Reactor.i: Moved the reactor_event_loop_done() method from
+ the *.cpp file into the *.i file and made inlineable.
+
+ * ace/Select_Reactor_T.cpp: Be more careful about error handling in the
+ dispatch_notification_handlers() method. If a failure occurs,
+ when dispatch_notifications() is called, return -1, rather than
+ erroneously "incrementing" the count of the number of handlers
+ dispatched. Thanks to Don Hinton for reporting this.
+
+Sat Nov 3 11:15:43 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * The following fixes are from Joachim Achtzehnter <joachima@netacquire.com>:
+
+ In ace/config-pharlap.h we had to explicitly #undef
+ ACE_HAS_WCHAR after the #include "ace/config-win32.h"
+ directive. Without this change the resulting DLL depended on
+ several wide character versions of Win32 system functions, such
+ as _CreateMutexW. At least some of these dependencies were
+ caused by ace/OS.i.
+
+ In ace/Log_Msg.cpp we had to add !defined(ACE_HAS_PHARLAP) to a
+ few more places in addition to the ones Bruce Trask had posted
+ to avoid reference to the NT Eventlog functionality.
+
+ At the top of ace/Log_Msg_NT_Event_Log.h and
+ ace/Log_Msg_NT_Event_Log.cpp we added !defined(ACE_HAS_PHARLAP)
+ to completely bypass the contents of these two files.
+
+ * ace/DEV_Addr.i (addr_to_string):
+ * ace/Local_Tokens.i (name):
+ * ace/Module.i (name):
+ * ace/OS.i (asctime_r):
+ * ace/SPIPE_Addr.i (addr_to_string):
+ * ace/UNIX_Addr.i (addr_to_string):
+ * ace/SString.i (rep): Changed uses of strncpy() to ACE_OS::strsncpy().
+ Thanks to Alain Decamps for these fixes.
+
+Fri Nov 2 14:38:49 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/Task.h (ACE_Task_Base): Clarify the meaning of the put()
+ hook method. Thanks to Tommy Svensson <tommysvensson@yahoo.com>
+ for motivating this.
+
+Mon Nov 5 14:23:12 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/ACE.cpp:
+
+ Remove a build warning for gcc 2.95.3 on SunOS 5.6.
+
+Mon Nov 5 14:21:30 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/nightlybuilds/builds.lst:
+
+ Added the HP-UX nightly build back to the list.
+
+Mon Nov 5 13:31:15 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/ACE.cpp:
+
+ Fix a build warning for 64-bit HP-UX.
+
+ * ace/Active_Map_Manager_T.i:
+
+ Cast the free list id to ACE_UINT32 to match up with the
+ slot_index () type. On 64-bit HP-UX, the free list id type
+ (size_t) is a 64 bit number and must be cast down to 32 bits.
+ Otherwise, the slot_index is cast up to 64 bits and does not give
+ the correct results.
+
+ * include/makeinclude/platform_hpux_aCC.GNU:
+
+ Add a -L./ to allow the 64-bit HP-UX builds to link properly.
+
+Mon Nov 5 11:17:20 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * bin/auto_compile:
+ Add support for the new status.txt file in the scoreboard.
+
+Mon Nov 5 13:02:50 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/config-hpux-11.00.h:
+
+ Added #define of ACE_HAS_CHARPTR_DL. This corresponds with the
+ declaration of dlopen(char*,unsigned int).
+
+ * ace/OS.cpp:
+
+ Changed the default thread scope to system (similar to Linux).
+ Process thread scope is not supported in HP-UX.
+
+Sun Nov 04 11:18:31 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/OS.cpp (fopen): Changed to forward call to fopen instead of
+ _fopen on non-borland compilers when not using UNICODE. This
+ change allows the code to compile on Win98. Thanks to Jstwo
+ <jstwo@writeme.com> for submitting the fix.
+
+Thu Nov 1 16:21:51 2001 Chris Cleeland <cleeland_c@ociweb.com>
+
+ * bin/auto_run_tests.pl: Added snippet of code that puts the
+ current directory ('.') in the PATH environment variable since
+ auto_run_tests.pl depends on the current directory being there.
+
+Thu Nov 1 15:49:04 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * include/makeinclude/platform_osf1_4.x_cxx.GNU: Moved the
+ CXX_VERSION definition to the global scope.
+
+ * include/makeinclude/platform_tru64_cxx.GNU: Added
+ -D_PTHREAD_ENV_DECCXX flag to the CPPFLAGS. This is done only
+ for v5.1, 1885. The pthreads.h in 1885 is messed up. The
+ conditional include of c_asm.h is busted for DECCXX and
+ v1885. Hence the change. We need to do this to protect ACE and
+ TAO applications on this platform and compiler
+ combinations. Thanks to Don Hinton <dhinton@gmx.net> for
+ reporting the problem.
+
+Thu Nov 1 14:25:52 2001 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * ace/config-win32-borland.h:
+
+ Added fix sent in by Chris Kohlhoff <kohlhoff@pop.ihug.com.au>
+ to ACE_CC_PREPROCESSOR_ARGS to enable the recognition of a
+ filename to which the preprocessor output is to be directed.
+ There is also a corresponding fix in TAO_IDL/driver/drv_preproc.cpp
+ that carries out the redirection.
+
+Thu Nov 1 10:27:21 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/Select_Reactor_Base.h (open):
+ * ace/Select_Reactor_T.h (ACE_Select_Reactor_T, open):
+
+ Added a note about the "size" of the Select_Reactor on Unix
+ platforms. On Unix platforms, the size parameter should be as
+ large as the maximum number of file descriptors allowed for a
+ given process. This is necessary since a file descriptor is
+ used to directly index the array of event handlers maintained by
+ the Reactor's handler repository. Direct indexing is used for
+ efficiency reasons.
+
+Thu Nov 1 06:38:30 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/ACE.cpp: Fixed some minor formatting problems so that
+ format_hexdump() works properly. Thanks to Kyle Brost
+ <Kyle.Brost@quest.com> for reporting this.
+
+ * ace/config-win32.h: Include the config-cygwin32.h file when
+ __CYGWIN32__ is enabled. Thanks to Johnny Willemsen for
+ reporting this.
+
+ * ace/Synch.i (remove): Added some casts to make certain compilers
+ happy? Thanks to Guillaume Renaud <guillaume.renaud@valtech.fr>
+ for reporting this.
+
+ * ace/OS.i: Updated the Win32 version of ACE_OS::llseek(). Thanks to
+ Doron Rajwan <doron@BANDWIZ.COM> for reporting this.
+
+Wed Oct 31 11:25:40 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/OS.h: The ACE_OS::llseek() method must be static! Thanks to
+ Doron Rajwan <doron@BANDWIZ.COM> for reporting this.
+
+Tue Oct 30 08:30:16 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/RB_Tree.cpp (operator=): Make sure to check for self-assignment
+ in the operator=. Thanks to Johnny Willemsen for reporting
+ this.
+
+Mon Oct 29 05:23:56 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Naming_Context.{h,cpp}: Moved ACE_STATIC_SVC_REQUIRE from the
+ .h file to the .cpp file to avoid multiple definitions. Thanks to
+ Boris Kaminer <boris.kaminer@orcsoftware.com> for reporting this.
+
+Sun Oct 28 10:05:32 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/config-macosx.h:
+ * include/makeincludes/platform_macosx.GNU
+ Added new fixes to get this to work on MacOS X. Thanks to John
+ Michael Zorko <j.zorko@att.net> and Fikri Pribadi
+ <fikri@ugotacall.com> for contributing this.
+
+Wed Oct 24 23:59:13 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Configuration_Import_Export.cpp: Fixed a bug where a
+ check of a pointer was made rather than the character pointed to
+ by the pointer. Thanks to Juan Jose Comellas
+ <uanjo@comellas.org> for reporting this.
+
+Wed Oct 31 16:45:07 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/OS.h (llseek):
+
+ Made ACE_OS::llseek() a static method, as it was originally
+ intended to be. Thanks to Doron Rajwan <doron@BANDWIZ.COM> for
+ pointing out the problem.
+
+Tue Oct 30 22:53:57 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/Svc_Conf_l.cpp:
+
+ Fixed incorrect #line preprocessor directives.
+
+ * etc/Svc_Conf_l.cpp.diff:
+
+ Regenerated this diff so that it includes recent updates.
+
+Mon Oct 29 20:12:40 2001 Ossama Othman <ossama@uci.edu>
+
+ * tests/run_test.lst:
+
+ Added the Proactor test to the list of one-button tests to run.
+
+Mon Oct 29 20:04:40 2001 Ossama Othman <ossama@uci.edu>
+
+ * tests/Proactor_Test.cpp:
+
+ More patches from Alexander Libman. The Proactor_Test appears
+ to finally work on Linux.
+
+Mon Oct 29 17:49:21 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/TP_Reactor.cpp: Added some error checks at places where
+ token where acquired.
+
+Mon Oct 29 16:59:58 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/TP_Reactor.cpp (acquire_token): The acquire_token () called
+ acquire with a sleep hook. It was wrong. It should just unblock
+ the thread by sending notify. A bad cut and paste error
+ :(. Thanks to Graeme Clark <gclark@opentext.com> for reporting
+ this. This closes [BUGID 1077].
+
+Sun Oct 28 20:36:56 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/Map_T.i (clone):
+
+ Fixed syntax errors.
+
+ * ace/Svc_Handler.cpp (new):
+
+ Reverted Michael's change. It incorrectly altered the semantics
+ of the new operator, particularly when compiling with native
+ exception support enabled. Fixes a warning.
+
+Sun Oct 28 16:44:20 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/Timer_Hash_T.cpp (ACE_Timer_Hash_T):
+
+ Corrected syntax error that was introduced in the changes
+ described below by removing extraneous trailing bracket.
+
+Sun Oct 28 13:15:00 2001 Michael Kircher <Michael.Kircher@mchp.siemens.de>
+
+ * ace/ACE.i:
+ * ace/Activation_Queue.cpp:
+ * ace/Bound_Ptr.i:
+ * ace/Configuration.cpp:
+ * ace/Configuration_Import_Export.cpp:
+ * ace/Containers_T.cpp:
+ * ace/Future.cpp:
+ * ace/Handle_Gobbler.h:
+ * ace/Local_Tokens.i:
+ * ace/MEM_SAP.i:
+ * ace/Map_T.i:
+ * ace/Message_Block.cpp:
+ * ace/OS_Errno.cpp:
+ * ace/Object_Manager.cpp:
+ * ace/Obstack_T.cpp:
+ * ace/Refcounted_Auto_Ptr.i:
+ * ace/Remote_Tokens.i:
+ * ace/Strategies_T.cpp:
+ * ace/Stream.cpp:
+ * ace/Svc_Handler.cpp:
+ * ace/Synch_T.cpp:
+ * ace/TLI.cpp:
+ * ace/Timer_Hash_T.cpp:
+ * ace/Timer_Queue_T.cpp:
+ * ace/Unbounded_Queue.cpp:
+ * ace/Unbounded_Set.cpp:
+
+ Changed almost all direct usages of operator new in ACE to use
+ ACE_NEW_RETURN (Exceptions is Dump_T.h). In one case in
+ Stream.cpp the semantics changed slightly if operator new would
+ have been overloaded, see the "@@ Michael" comment.
+
+ When new got used with placement most of the usages got
+ replaced with ACE_NEW_MALLOC_RETURN. In some cases as in
+ Malloc_T.cpp, Map_Manager.cpp, PI_Malloc.i, Array_Base.cpp
+ special cases exist, where the macros would have incurred
+ different semantics and performance penalties.
+
+Fri Oct 26 07:37:43 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * bin/auto_run_tests.lst: Quoter example will not run in
+ minimum_corba builds.
+
+Wed Oct 24 08:04:36 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Reactor.h: Improved the documentation of the
+ end_reactor_event_loop ().
+
+Tue Oct 23 10:04:25 2001 Ossama Othman <ossama@uci.edu>
+
+ * tests/Proactor_Test.cpp:
+
+ Replaced uses of a static global lock with the
+ ACE_Static_Object_Lock singleton.
+
+ Fixed incorrect uses of the "%l" format specifier. "%d" is the
+ expected format specifier.
+
+ (Acceptor):
+
+ Initialize the "sessions_" member in the base member initializer
+ list. Corrects a problem where the session number initially
+ contained a "garbage" value.
+
+Mon Oct 22 17:55:00 2001 Craig Rodrigues <crodrigu@bbn.com>
+
+ * ace/Svc_Conf_l.cpp: Remove include of stdlib.h, fix g++/Solaris
+ build.
+
+Mon Oct 22 15:54:29 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/config-hpux-10.x-hpc++.h: Remove hard-coded setting of
+ ACE_HAS_EXCEPTIONS. It is controlled by platform_hpux_aCC.GNU.
+
+Mon Oct 22 15:50:35 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * THANKS: Added Chris Hughes name to the Hall of Fame
+
+Sun Oct 21 16:44:41 2001 Ossama Othman <ossama@uci.edu>
+
+ * tests/Proactor_Test.cpp (disable_signal):
+
+ Fixed warnings regarding a method that "hid" virtual function
+ with the same name, in addition to unused argument warnings.
+
+Sun Oct 21 15:22:57 2001 Ossama Othman <ossama@uci.edu>
+
+ * tests/Proactor_Test.cpp:
+
+ Fixed warning about deprecated conversion of "const char *" to
+ "char *" exhibited by GCC 3.0.x builds.
+
+Sun Oct 21 12:50:39 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/LSOCK.cpp: The ACE_LSOCK::recv_handle() was returning success
+ without setting the I/O handle. Thanks to Rick Ohnemus
+ <rick.ohnemus@systemware.com> for reporting this.
+
+ * ace/config-freebsd-pthread.h: Changed
+ #if (__FreeBSD_version > 430000) to
+ #if (__FreeBSD_version > 440000) to get ACE to work with FreeBSD 4.4.
+ Thanks to Gu Song <gusong_m@yahoo.com> for reporting this.
+
+Fri Oct 19 06:44:17 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * examples/Reactor/WFMO_Reactor/test_window_messages.cpp:
+ Don't use a global Event_Handler object since this violates the
+ design rules for the ACE_Reactor.
+
+Sun Oct 21 13:39:27 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * bin/auto_run_tests.lst: Added the Quoter example in
+ $TAO_ROOT/examples to the list of tests in the daily builds.
+
+Thu Oct 18 20:56:53 2001 Ossama Othman <ossama@uci.edu>
+
+ * tests/Proactor_Test.cpp:
+
+ Added no-op main() function for platforms that do not support
+ asynchronous IO.
+
+Thu Oct 18 22:46:09 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/TP_Reactor.h:
+ * ace/TP_Reactor.cpp: Fixed warnings in Sun CC and TRU 64 builds.
+
+Thu Oct 18 20:42:55 2001 Ossama Othman <ossama@uci.edu>
+
+ * tests/Proactor_Test.cpp:
+
+ Fixed Unicode build errors.
+
+Thu Oct 18 19:52:44 2001 Craig Rodrigues <crodrigu@bbn.com>
+
+ * ace/SString.h: clarify example in comments to ACE_Tokenize
+ so that constant strings are not passed in its constructor.
+
+ * examples/OS/Process/process.cpp: do not pass constant strings
+ to ACE_Tokenize constructor. Thanks to
+ Werner Buchert <w.buchert@medat.de> and
+ Don Hinton <dhinton@swan.fr>.
+
+Wed Oct 17 23:56:45 2001 Ossama Othman <ossama@uci.edu>
+
+ * tests/Proactor_Test.cpp:
+ * tests/Proactor_Test.dsp:
+
+ Proactor test contributed by Alexander Libman
+ <alibman@baltimore.com>.
+
+ * tests/tests.dsw:
+
+ Added Proactor_Test project to the tests workspace.
+
+Wed Oct 17 18:59:53 2001 Christopher Kohlhoff <chris@kohlhoff.com>
+
+ * include/makeinclude/install.bor:
+ Borland makefile fix to ensure that, when doing the install
+ target, core executables are built correctly if they don't
+ already exist.
+
+Wed Oct 17 09:15:10 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/config-linux-common.h: Clarified that this file should
+ not be included directly! Thanks to Suresh N
+ <suresh.n@vergiltech.com> for reporting this.
+
+Wed Oct 17 16:00:19 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * THANKS: Added Graeme Clark to the Hall of Fame.
+
+Wed Oct 17 15:49:20 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/TP_Reactor.cpp:
+ * ace/TP_Reactor.h: Added remove_handler () calls to the
+ TP_Reactor. Before this, the call on the reactor used to be
+ handled by the Select_Reactor's implementation. The
+ implementation has a problem. It tries to call handle_close ()
+ (an upcall) as one of the calls after holding the token. This
+ was asking for trouble. This could lead to deadlocks as
+ mentioned in [BUG ID 1055].
+
+ The method in the TP_Reactor now calls remove_handler () on the
+ Select_Reactor (its base class) with a DONT_CALL flag. Then it
+ calls handle_close () on the Event_Handler if the user did not
+ pass in the DONT_CALL mask. This two step process would get
+ around the problem that was mentioned before. Thanks to Graeme
+ Clark <gclark@opentext.com> for reporting the problem and
+ testing this fix.
+
+ This should close [BUG ID 1055].
+
+Wed Oct 17 10:40:17 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_Accept_Handler.cpp (ssl_accept):
+ * ace/SSL/SSL_Connect_Handler.cpp (ssl_connect):
+
+ If errno is set to EWOULDBLOCK for the SSL_ERROR_SYSCALL case,
+ then continue the connection establishment loop. Do not return
+ right away. Fixes non-blocking connection establishment on AIX.
+ Thanks to Vladimir Chovanec <Vladimir.CHOVANEC@asset.sk> for
+ providing this fix.
+
+ * ace/SSL/SSL_SOCK_Stream.h (notify):
+
+ Made this method protected. It isn't intended to be used
+ internally by the ACE_SSL_SOCK_Stream class.
+
+Wed Oct 17 12:15:15 2001 Chris Cleeland <cleeland_c@ociweb.com>
+
+ * ace/Select_Reactor_T.cpp (handle_error, check_handles): Add
+ vxworks to the ever-growing list of OSs which return
+ unpredictable values in errno when there's a bad file descriptor
+ in a select mask. [Bug 1058].
+
+ Thanks to Dave Arndt <darndt@oresis.com>, Tad Hetke
+ <thetke@oresis.com>, and Erik Johannes <ejohannes@oresis.com>
+ for tracking down and providing this fix.
+
+Tue Oct 16 23:08:27 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/Svc_Conf.h (ACE_Svc_Conf_Param):
+
+ Added a new ACE_Obstack attribute that is passed down to the
+ parser and scanner. This obviates the need for the global
+ pointer to the ACE_Obstack that was formally used, which in turn
+ avoids a race condition.
+
+ (ace_obstack):
+
+ No longer a need to maintain a global pointer to the ACE_Obstack
+ instance used during parsing/scanning.
+
+ * ace/Svc_Conf.y:
+ * ace/Svc_Conf.l:
+
+ Retrieve the Obstack from the parameter passed down to yyparse()
+ and yylex() instead of using the (now non-existent) global
+ instance. This is part of a race condition fix.
+
+ * ace/Svc_Conf_y.cpp:
+ * ace/Svc_Conf_l.cpp:
+
+ Updated to pull in the changes made to the source files from
+ which these files were generated.
+
+ * ace/Service_Config.cpp (process_directives_i):
+
+ The global ACE_Obstack pointer used during each Service
+ Configurator parse has been removed. An ACE_Obstack instance is
+ now passed down to the parser and scanner in a
+ reentrant/thread-safe manner via the new ACE_Svc_Conf_Param
+ parameter. As such, there is no longer any need to maintain a
+ global pointer to the ACE_Obstack instance in use, nor is it
+ necessary to store/restore the previous value when performing
+ nested or parallel Service Configurator directive processing.
+ This fixes a race condition that was causing some memory
+ corruption when parsing Service Configurator directives in
+ parallel.
+
+ Note that the ACE_Obstack is now instantiated on the stack
+ rather than the heap, thus improving Service Configurator
+ directive processing performance.
+
+Mon Oct 15 23:16:55 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/Service_Config.h (process_directives_i):
+
+ Updated the signature of this method to accept a parameter that
+ will eventually passed to the parser and the scanner.
+
+ * ace/Service_Config.cpp:
+
+ No need to include "ace/Svc_Conf_Lexer_Guard.h" and
+ "ace/Object_Manager.h".
+
+ (process_directives_i):
+
+ Updated the signature of this method to accept a parameter that
+ will eventually passed to the parser and the scanner.
+
+ Pass the "ACE_Svc_Conf_Param" parameter to the yyparse() call.
+ This is reentrant/thread-safe.
+
+ Check the error count found in the "ACE_Svc_Conf_Param" object.
+ It's count is incremented in a thread-safe/reentrant manner.
+
+ (process_directive, process_directives):
+
+ The ACE_Svc_Conf_Lexer_Guard and its accompanying
+ synchronization has been moved to the generated scanner code.
+ This makes locking finer grained. Specifically, instead of
+ holding a lock for the duration of the scope within which
+ service configurator directive parsing and scanning is
+ performed (e.g. for the duration of the yyparse() call), the
+ lock is only held for the duration of the scope where service
+ configurator directive scanning occurs (i.e. the entire yylex()
+ call is synchronized). This is part of the core fix that
+ corrects a deadlock that occurred when activating an ACE_Task,
+ in conjunction with the singleton instance of the
+ ACE_Thread_Manager, during Service Object initialization.
+ [Bug 1036]
+
+ * ace/Service_Config.i:
+
+ Cosmetic update.
+
+ * ace/Svc_Conf.h:
+
+ Added declaration and method definitions for the
+ ACE_Svc_Conf_Param class. Instances of this class contain the
+ state used when parsing/scanning a given service configurator
+ file or service configurator directive.
+
+ (ACE_SERVICE_DIRECTIVE_STACK_DEPTH):
+
+ There is no longer any hard-coded limit on the maximum depth
+ nested service configurator directives may be processed. Only
+ process resource limits limit the maximum nesting depth.
+
+ (ace_yyparse, ace_yylex):
+
+ Updated the parser and lexer entry points to accept an
+ additional parameter, i.e. a pointer to an ACE_Svc_Conf_Param
+ object.
+
+ (ace_yy_push_buffer, ace_yy_pop_buffer):
+
+ Pass a pointer to the buffer that will be "switched" in our out
+ when processing nested service configurator directives those
+ that are processed in parallel.
+
+ * ace/Svc_Conf.l:
+
+ Removed array that implemented the service configurator
+ directive stack. The "stack" is now implemented using the
+ function call stack itself. Hence there is no hard-coded limit
+ to the stack size.
+
+ Removed all references to ACE_{LPAREN, RPAREN, LBRACE, RBRACE,
+ COLON, STAR}. Just return their corresponding symbolic integer
+ constants (e.g. ACE_COLON --> ':').
+
+ Increment error and line count in the ACE_Svc_Conf_Param object
+ passed to the yylex() function from yyparse(). This improves
+ reentrance/thread-safety when tracking error counts.
+
+ (yy_push_buffer, yy_pop_buffer):
+
+ Pass a pointer to the buffer that will be "switched" in our out
+ when processing nested service configurator directives those
+ that are processed in parallel.
+
+ * ace/Svc_Conf.y:
+
+ Removed all references to ACE_{LPAREN, RPAREN, LBRACE, RBRACE,
+ COLON, STAR}. Just use their corresponding symbolic integer
+ constants (e.g. ACE_COLON --> ':').
+
+ Increment error and line count in the ACE_Svc_Conf_Param object
+ passed to the yylex() function from yyparse(). This improves
+ reentrance/thread-safety when tracking error counts.
+
+ * ace/Svc_Conf_Lexer_Guard.h:
+
+ Store a pointer the lexer buffer currently being scanned.
+
+ * ace/Svc_Conf_Lexer_Guard.cpp:
+
+ Updated constructor to accept a pointer to an ACE_Svc_Conf_Param
+ object. If the buffer in that object is zero, it will be
+ initialized.
+
+ * ace/Svc_Conf_l.cpp:
+ * ace/Svc_Conf_y.cpp:
+ * ace/Svc_Conf_Tokens.h:
+
+ Regenerated these files in order to pull in the updates made to
+ their corresponding source files (i.e. Svc_Conf.{l,y}).
+
+Mon Oct 15 11:26:39 2001 Steve Huston <shuston@riverace.com>
+
+ * examples/C++NPv2: New directory for examples in "C++ Network
+ Programming, Volume 2: Systematic Reuse with ACE and Frameworks"
+ Moved these changes to the new directory, and reverted the
+ C++NPv1 files to their ACE 5.2 state:
+ Sun Oct 14 17:05:14 2001 Douglas C. Schmidt
+ Tue Oct 9 07:46:20 2001 Douglas C. Schmidt
+
+Sun Oct 14 17:05:14 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * examples/C++NPv1/Logging_Handler.{h,cpp}: Changed log_file_ from
+ a reference to a pointer so that it can be initialized
+ correctly. Thanks to Kitty for reporting this.
+
+Fri Oct 12 14:54:58 2001 Craig Rodrigues <crodrigu@bbn.com>
+
+ * ace/OS.i:
+ Remove extraneous check for macro ACE_HAS_WINSOCK2_GQOS,
+ which was breaking various builds under Windows.
+ Thanks to Jeff McNiel <JMcNiel@datacrit.com> for pointing it out.
+
+Fri Oct 12 12:15:22 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * bin/nightlybuilds/builds.lst:
+ The QNX machine is no longer running that OS, plus attempts to
+ bring it back to life failed. The build is removed until
+ further notice.
+
+Thu Oct 11 17:52:32 2001 Priyanka Gontla <pgontla@ece.uci.edu>
+
+ * ace/SOCK_Dgram_Mcast.cpp:
+ Somehow the file didnt get committed yesterday. So, committing
+ the following change now.
+
+ Wed Oct 10 16:56:18 2001 Priyanka Gontla <pgontla@ece.uci.edu>
+
+Thu Oct 11 10:57:58 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * ace/RB_Tree.h:
+ * ace/RB_Tree.i:
+ * ace/RB_Tree.cpp:
+ Reverted to the 5.2 release state. The proposed changes were
+ breaking some builds, and they were not bug fixes in any case.
+
+Wed Oct 10 16:56:18 2001 Priyanka Gontla <pgontla@ece.uci.edu>
+
+ * ace/SOCK_Dgram_Mcast.cpp:
+ Reverted the following change as it ended up with some problems
+ for multicast services.
+
+ Fri Oct 5 14:40:03 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+Wed Oct 10 06:16:52 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Activation_Queue.{h,cpp}: Added support for two ACE_Allocator that
+ will control how the message blocks and data blocks are
+ allocated. Thanks to Gil Rapaport <grapaport@comgates.co.il>
+ for contributing this.
+
+ * examples/Reactor/WFMO_Reactor/test_apc.cpp (main):
+ * examples/Reactor/WFMO_Reactor/test_abandoned.cpp (main): Don't
+ use a global Event_Handler since this violates the design rules
+ for the ACE_Reactor. Thanks to Heping He
+ <heping.he@riskmetrics.com> and Hartmut Quast
+ <HartmutQuast@t-online.de> for reporting this and to Irfan for
+ suggesting where the problem arose.
+
+Tue Oct 9 07:46:20 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * examples/C++NPv1/Logging_Handler.h: Added a new constructor to
+ class Logging_Handler that just takes an ACE_SOCK_Stream. We
+ need to use this in C++NPv2.
+
+ * ace/Message_Queue_T.cpp (wait_not_full_cond): Thanks to Leo Kov
+ <leo_kov@hotmail.com> for reporting this.
+
+ * ace/TTY_IO.cpp (control): Inserted some useful
+ ACE_OS::set_errno_to_last_error() calls. Also, for Win32 made
+ readtimeoutmsec == 0 cause no timeout, whereas readtimeoutmsec
+ == MAXDWORD causes infinite timeout. Thanks to Lars Steubesand
+ <Lars_Steubesand@hsgmed.com> for reporting this.
+
+Mon Oct 8 20:19:44 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * examples/DLL/test_dll.cpp: There's no need to specify
+ ACE_DLL_SUFFIX as it prevent ACE_Lib_Find to figure out the
+ correct DLL name.
+
+ The ACE_ERROR_RETURN macro store and reset the errno so there's
+ no need to use dll.error() with it. Changed to use "%p" to
+ display the error.
+
+ Thanks to Heping He <heping.he@riskmetrics.com> for reporting
+ the problem.
+
+Mon Oct 8 11:15:21 2001 Angelo Corsaro <corsaro@doc.ece.uci.edu>
+
+ * ace/RB_Tree.h (class ACE_RB_Tree_Node):
+ * ace/RB_Tree.i:
+
+ Changed access privilege on the operator new/delete to be
+ public, and added assertion in those method implementation to
+ make sure that wrong use of these method are promptly notified.
+ This changes should fix the problem that some compiling were
+ still having with RB_Trees.
+
+Sat Oct 06 23:06:41 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_Accept_Handler.cpp (ssl_accept):
+ * ace/SSL/SSL_Connect_Handler.cpp (ssl_connect):
+ * ace/SSL/SSL_SOCK_Stream.i (send_i, recv_i, close):
+
+ Removed the do/while(SSL_pending()) loop. Its introduction into
+ the code was a bit misguided. There is no need to flush the SSL
+ buffer before returning to the Reactor's event loop since the
+ code now sends a notification to the Reactor to force the
+ Reactor to invoke the event handler before waiting in the event
+ loop. This fixes some SSL protocol errors that manifested
+ during multithreaded SSL communication. [Bug 943]
+
+ * ace/SSL/SSL_SOCK_Acceptor.cpp (ssl_accept):
+
+ It is no longer necessary to call SSL_accept()/connect() to
+ flush the SSL buffer before running the Reactor's event loop
+ since the Reactor is notified that it should call the
+ appropriate event handler before blocking on select() for
+ WaitForMultipleObjects(), for example.
+
+ * ace/SSL/SSL_SOCK_Stream.cpp (reactor, handler):
+
+ New methods to set the Reactor and event handler associated with
+ the ACE_SSL_SOCK_Stream. If each of these is set, then the
+ Reactor will be notified if data is still pending in the SSL
+ buffer.
+
+ (~ACE_SSL_SOCK_Stream):
+
+ Uninlined the destructor. There is no need for it to be
+ inlined, and doing so only caused unnecessary code bloat.
+
+ * ace/SSL/SSL_SOCK_Stream.h (notify, reactor, handler):
+
+ Added these new method declarations, in addition to the
+ corresponding attributes.
+
+ Updated documentation.
+
+ * ace/SSL/SSL_SOCK_Stream.i (notify):
+
+ Method that pushes the event handler on to the Reactor's
+ notification pipe when necessary. Invoked by recv_i() and
+ send_i().
+
+ * ace/SSL/SSL_SOCK_Acceptor.h:
+ * ace/SSL/SSL_SOCK_Connector.h:
+ * ace/SSL/SSL_Accept_Handler.h:
+ * ace/SSL/SSL_Connect_Handler.h:
+
+ Updated documentation.
+
+Sat Oct 6 16:04:29 2001 Angelo Corsaro <corsaro@doc.ece.uci.edu>
+
+ * ace/RB_Tree.h:
+ * ace/RB_Tree.i:
+
+ The operator new and delete were declared to be No-Op but were
+ not implemented as such. This was breaking some builds. Now the
+ operator are declared as private and they also have a no-op
+ implementation. This should solve some linking error that were
+ occurring.
+
+Sat Oct 6 11:17:22 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * THANKS: Added Adrian Mercieca to the hallf of fame.
+
+Fri Oct 05 18:30:59 2001 Irfan Pyarali <irfan@cs.wustl.edu>
+
+ * ace/RW_Process_Mutex.cpp: Added inclusion ACE.h and fixed member
+ initialization.
+
+Fri Oct 5 18:16:53 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/SString.h:
+ * ace/SString.cpp: Changes the usage of ostream to
+ ACE_OSTREAM_TYPE. Thanks to Russ Noseworthy for letting us
+ know.
+
+Thu Oct 4 07:10:01 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/RB_Tree.*: Added support for using the "ACE_Allocator" parameters
+ to manage memory. Thanks to Airat A. Sadreev <airatsa@nm.ru>
+ for reporting contributing this.
+
+Wed Oct 3 07:20:06 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/RW_Process_Mutex.{h,cpp}: Added the ability to create a
+ unique name if the user doesn't supply one. Thanks to Tom
+ Wagner <TomW@CoManage.net> for suggesting this.
+
+ * ace/Synch.h: Clarified that the timed wait capabilities of
+ ACE_Semaphore only work on Solaris if ACE_HAS_PTHREAD is enabled
+ *and* ACE_HAS_POSIX_SEM/ACE_HAS_STHREAD are disabled. Thanks to
+ Bonifides Bautista <earlboy@my-deja.com> for reporting this.
+
+Fri Oct 5 12:48:48 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_SOCK_Stream.i (close):
+
+ Reset the SSL object to allow another connection to be made
+ using the existing ACE_SSL_SOCK_Stream instance. This prevents
+ the previous SSL session state from being associated with the
+ new SSL session/connection. Thanks to Vladimir Chovanec
+ <Vladimir.CHOVANEC@asset.sk> for pointing out this problem and
+ suggesting a course of action.
+
+Fri Oct 5 14:40:03 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/SOCK_Dgram_Mcast.cpp (open): Removed the #if defined (linux)
+ from the code. Looks like this had to be removed to get it
+ working for RTI under Linux. The other ChangeLog entries that
+ this change is concerned with are "Sat Feb 17 17:23:46 2001
+ Darrell Brunsch <brunsch@uci.edu>" and "Fri Jan 26 11:18:15 2001
+ Douglas C. Schmidt". Looks like the patch provided by Keith
+ Nicewarner <knicewar@erg.sri.com> is being reverted. I remember
+ a communication from Keith which seemed to hint that this may
+ not be required.
+
+ Thanks to Russ Noseworthy for suggesting this.
+
+Fri Oct 5 14:04:39 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * THANKS: Added Hagen Ulrich to the Hall of Fame.
+
+Fri Oct 5 13:55:02 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Makefile: Removed the SUPPRESS_DASH_G option. Not really
+ sure where it is used. Further, added a tab to the place where
+ rules for CHORUS are set. This should fix BUGID 1049. Thanks to
+ Hagen Ulrich <ulrich.hagen@siemens.com> and Dr.David Levine for
+ reporting and verifying the fix.
+
+Fri Oct 05 05:56:50 2001 Balachandran <bala@cs.wustl.edu>
+
+ * ACE version 5.2 released.
+
+Thu Oct 4 17:38:21 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/Synch.h: Added some comments to explain the rationale for
+ the different return values from the blocking and timed
+ versions of ACE_Null_Semaphore::acquire(). Thanks to Doug
+ Schmidt for explaining this.
+
+Thu Oct 4 17:27:39 2001 Steve Huston <shuston@riverace.com>
+
+ * examples/C++NPv1/Logging_Handler.cpp (recv_log_record): Insure that
+ the payload message block is properly aligned for any CDR
+ extraction. Many thanks to Bala for noticing this problem and
+ sending code for the fix.
+
+Thu Oct 4 17:08:39 2001 Steve Huston <shuston@riverace.com>
+
+ * examples/C++NPv1/Process_Per_Connection_Logging_Server.cpp:
+ In prepare(), call ACE_Process_Options::command_line() rather
+ than ACE_Process_Options::process_name() to set the program
+ path for the child process.
+
+Thu Oct 4 13:18:37 2001 Steve Huston <shuston@riverace.com>
+
+ * examples/C++NPv1/Logging_Handler.cpp: Use a ACE_Message_Block,
+ rather than hijacking a CDR block, to read the payload into.
+
+Thu Oct 4 10:14:34 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * THANKS: Added Donald Acton to the Hall of Fame.
+
+Thu Oct 4 06:39:20 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/config-sunos5.5.h: Added ACE_LACKS_MKSTEMP as SunOS 5.5 does
+ not support mkstemp ().
+
+ * ace/config-sunos5.6.h: Undefined ACE_LACKS_MKSTEMP as Sun 5.6
+ and above support it.
+
+ Thanks to Don Hinton <dhinton@swan.fr> for reporting this
+ problem and Chad Elliott for testing this out on a Sun OS 5.5
+ box.
+
+Wed Oct 3 16:37:41 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/CDR_Stream.cpp (read_1): Reverted this change "Wed Oct 3
+ 15:05:43 2001 Jeff Parsons <parsons@cs.wustl.edu>". This
+ change is alone not enough to fix the problem that Brad
+ reported. The sample program for the text needs to be fixed to
+ get it working right.
+
+Wed Oct 3 15:05:43 2001 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * ace/CDR_Stream.cpp (read_1);
+
+ Reverted changed made in
+
+ Fri Aug 17 16:56:16 2001 Jeff Parsons <parsons@cs.wustl.edu>
+
+ to read_1(). A similar change made in several other methods is
+ ok, but in this case bytes can be copied into the input CDR
+ stream without changing wr_ptr, so the check will fail
+ unnecessarily. Thanks to Brad Hoskins <BHoskins@slo.newport.com>
+ for pointing this out.
+
+Wed Oct 2 12:18:37 2001 Steve Huston <shuston@riverace.com>
+
+ * examples/C++NPv1/Logging_Server.cpp: Fixed spelling error.
+ * examples/C++NPv1/Logging_Handler.cpp: Comment length adjustment.
+
+Tue Oct 2 21:52:31 2001 Steve Huston <shuston@riverace.com>
+
+ * examples/C++NPv1/Logging_Client.cpp: Reverted this:
+ Mon Oct 1 18:27:41 2001 Steve Huston <shuston@riverace.com>
+
+Tue Oct 2 19:52:57 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * Makefile: Removed some of the files that no longer exist in the
+ repository. The inclusion of these files in the Makefile added
+ noise during the beta cutting process.
+
+Tue Oct 02 15:34:49 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * etc/tao_cosevent.doxygen:
+ * etc/tao_cosnotification.doxygen:
+ Fixed typos in the tag file names.
+
+Tue Oct 2 15:52:27 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * THANKS: Added Sunny Leung to the Hall of Fame.
+
+Tue Oct 2 15:33:36 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * THANKS: Removed one instance of Peter Phillips
+ <pphillip@opentext.com> from the Hall of Fame.
+
+Tue Oct 2 15:00:37 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/CDR_Stream.cpp (clone_from): Copied the GIOP major and minor
+ versions from the incoming CDR stream. Thanks to Sunny Leung
+ <sleung@opentext.com> for reporting this. This closes bugzilla
+ #1043.
+
+Tue Oct 2 09:45:39 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/libDLL_Test.icc:
+ * tests/libService_Config_DLL.icc: Add link(exportAll) to the link
+ options to export the entrypoints needed for the tests.
+
+Mon Oct 1 20:04:14 2001 Priyanka Gontla <pgontla@ece.uci.edu>
+
+ * THANKS:
+ Added Tushar Nair to the THANKS file.
+
+Mon Oct 1 18:06:48 2001 Priyanka Gontla <pgontla@ece.uci.edu>
+
+ * ace/Object_Manager.cpp (ACE_UnhandledExceptionFilter):
+ Removed the un-needed #if 0's. Left them before as a safety
+ measure (in case something doesnt work) and forgot to remove
+ them later.
+
+ * ace/Log_Msg.cpp (instance):
+ Fixed the seg faults that are raised when ace is compiled with
+ ACE_NTRACE=0 on SunOS. Added a check before locking and
+ releasing a lock.
+
+ Thanks to Tushar Nair <ntushar@yahoo.com> for reporting the
+ problem and for providing a fix.
+
+Mon Oct 1 18:27:41 2001 Steve Huston <shuston@riverace.com>
+
+ * examples/C++NPv1/Logging_Client.cpp: Remove the third (optional)
+ arg from getline(). Using a char literal without further
+ qualification causes confusion in Unicode builds.
+
+Mon Oct 1 14:44:13 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_Context.cpp (ssl_library_init):
+
+ Initialize the locking callbacks in the crypto library before
+ initializing the OpenSSL library. OpenSSL may require the
+ locking callbacks to be initialized before its own
+ initialization.
+
+ * ace/SSL/SSL_Context.cpp (ssl_library_fini):
+
+ Perform crypto library resource cleanup before reclaiming the
+ locks used by the locking callbacks. Crypto library resource
+ cleanup makes use of the locking callbacks.
+
+Mon Oct 1 15:19:11 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * examples/C++NPv1/README: Added a section that illustrates the
+ mapping of chapters onto files in the directory.
+
+Mon Oct 1 12:58:57 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/TP_Reactor.cpp (handle_socket_events): A fix for the problem
+ that started showing up this time is like this. One of the
+ threads was dispatching an upcall. In the intermediate time the
+ Reactor woke up another thread to close the handler, remember
+ that this is possible with the TP_Reactor if the application
+ resumes the handles (the way TAO does that). Now when the thread
+ that that dispatched the upcall returned it tries to invoke a
+ method on the already closed handle. To prevent that from
+ happening we make an extra check to see whether the handle
+ associated with the handler is still available in the internal
+ map of the Reactor. As this check is done in the return path of
+ the thread this should have less performance impact. This is
+ another reason why we should have #1031 in place ASAP.
+
+Mon Oct 1 12:23:57 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * bin/nightlybuilds/builds.lst (WEB): Changed the name of the
+ Sun's EGCS build. We have not been using EGCS but 2.95.x for a
+ long time now.
+
+Mon Oct 1 10:46:15 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * bin/PerlACE/Run_Test.pm (check_n_cleanup_files): Removed the
+ word "ERROR" when files are left behind. This was creating noise
+ in the daily builds. We have captured the problem in the
+ bugzilla with id #1014. After 1.2 goes out, if someone is
+ looking at this problem again we need to add this back so that
+ our daily builds can pick them up.
+
+Sun Sep 30 17:25:33 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_SOCK_Stream.i (send_i, recv_i):
+
+ Reset errno to prevent previous values (e.g. EWOULDBLOCK) from
+ being associated with a fatal SSL error (e.g. an alert).
+
+Sun Sep 30 16:52:22 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_Asynch_Stream.cpp (do_SSL_shutdown):
+
+ Return the "retval" variable instead of always returning -1.
+ The actual return value may not always be -1. Thanks to Alain
+ Totouom <atotouom@gmx.de> for providing this fix.
+
+ * THANKS:
+
+ Added Alain to the list of contributors.
+
+Sun Sep 30 09:13:04 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_SOCK_Acceptor.cpp (ssl_accept):
+ * ace/SSL/SSL_SOCK_Connector.cpp (ssl_connect):
+
+ Made reactor mask constant to emphasize the fact that it is
+ indeed a constant.
+
+Sat Sep 29 08:07:07 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Configuration.{h,cpp}: Changed "allocator" to "alloc" to
+ avoid bugs with MSVC++ 5.0. Thanks to Munagala Ramanath
+ <amberarrow@yahoo.com> for reporting this.
+
+ * ACE-INSTALL.html: Yet more improvements courtesy of Chris
+ Kohloff.
+
+Fri Sep 28 23:38:07 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_Accept_Handler.cpp (ssl_accept):
+
+ Cleaned up the code.
+
+ Do not attempt to verify the X.509 certificate. Only the
+ application knows how best to do that.
+
+ * ace/SSL/SSL_Context.cpp (ssl_library_init):
+
+ Fixed some Unicode problems. Wrap strings within an ACE_TEXT
+ macro.
+
+ * ace/SSL/SSL_Connect_Handler.cpp (ssl_connect):
+ * ace/SSL/SSL_SOCK_Stream.i:
+
+ Corrected some comments.
+
+ * ace/SSL/SSL_SOCK_Stream.h (send_n, recv_n):
+
+ Added a "bytes transferred" pointer parameter. This allows the
+ amount of bytes transferred to returned via this parameter, thus
+ matching the semantics of their ACE_SOCK_Stream counterparts.
+
+ * ace/SSL/SSL_SOCK_Stream.cpp (send):
+
+ Do not block attempt a timed send() if data is available in
+ OpenSSL's internal buffer. This prevents a condition where
+ needlessly blocking on select() would occur. A similar fix for
+ recv() was made earlier. See Fri Aug 24 16:54:02 2001 Ossama
+ Othman <ossama@uci.edu> for details.
+
+ (send_n, recv_n):
+
+ If the "bytes transferred" pointer parameter is non-zero then
+ return the amounts of bytes transferred through it. This makes
+ these methods better match the semantics of their
+ ACE_SOCK_Stream counterparts.
+
+Fri Sep 28 19:24:51 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/config-hpux-11.00.h: Moved the definitions for ACE_HAS_WCHAR
+ and ACE_HAS_XPG4_MULTIBYTE_CHAR from the compiler-independent
+ section to the aC++ section. (at least) gcc 3.0 distributed from
+ HP can't handle compiling wide char stuff... it refers to
+ wctype.h, only available in aC++.
+
+Fri Sep 28 12:46:25 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_Context.cpp (report_error):
+
+ Don't bother displaying an error message if the error code is
+ zero (i.e. no error).
+
+Fri Sep 28 12:31:39 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_SOCK_Acceptor.cpp (ssl_accept):
+
+ Transfer ownership of the Reactor to the previous owner for the
+ SSL_ERROR_ZERO_RETURN case. Thanks to Vladimir Chovanec
+ <Vladimir.CHOVANEC@asset.sk> for pointing out this problem.
+
+ Remove the SSL event handler from the reactor for the
+ SSL_ERROR_ZERO_RETURN case. Previously, this method returned
+ without removing it, resulting in a seg fault.
+
+ * ace/SSL/SSL_SOCK_Connector.cpp (ssl_connect):
+
+ Ported the updates made to the ssl_accept() counterpart to this
+ method.
+
+ * ace/SSL/SSL_Accept_Handler.cpp (ssl_accept):
+ * ace/SSL/SSL_Connect_Handler.cpp (ssl_connect):
+ * ace/SSL/SSL_SOCK_Stream.i (send_i):
+ * ace/SSL/SSL_SOCK_Acceptor.cpp (ssl_accept):
+ * ace/SSL/SSL_SOCK_Connector.cpp (ssl_connect):
+
+ In the event a SSL_ERROR_SYSCALL error condition occurs, call
+ ACE_OS::set_errno_to_last_error() to make sure errno is updated
+ appropriately since OpenSSL does not do that. Fixes some
+ "misbehaving" Reactor interactions. Thanks to Andrew Finnell
+ <Andrew.Finnell@esecurityinc.com> for tracking down the problem
+ and suggesting these fixes.
+
+Fri Sep 28 09:37:28 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_Context.h (report_error):
+ * ace/SSL/SSL_Context.cpp (report_error):
+
+ New SSL error reporting functions that use the ACE_Log_Msg
+ facilities to dump error information.
+
+ * ace/SSL/SSL_Context.cpp (set_mode):
+ * ace/SSL/SSL_SOCK_Acceptor.cpp (ssl_accept):
+ * ace/SSL/SSL_SOCK_Stream.i (send_i, recv_i):
+ * ace/SSL/SSL_Accept_Handler.cpp (ssl_accept):
+ * ace/SSL/SSL_Connect_Handler.cpp (ssl_connect):
+
+ Use the new report_error() static method to display error
+ information instead of OpenSSL's ERR_print_error_fp().
+
+ * ace/SSL/SSL_SOCK_Connector.cpp:
+
+ Include 'ace/Log_Msg.h' to pull ACE_ERROR macro definitions.
+ Fixes compile-time problems on Tru64. Thanks to Martin
+ Krumpolec for providing this fix. [Bug 1034]
+
+ (ACE_SSL_SOCK_Connector):
+
+ Wrap format specifier string in ACE_ERROR call with ACE_TEXT.
+ Fixes mismatched Unicode/non-unicode strings.
+
+Fri Sep 28 06:17:27 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/SPIPE_Acceptor.{h,cpp}: Fixed the use of "char" for
+ "already_connected_" to be "int". Thanks to Johnny Willemsen
+ for reporting this.
+
+ * ACE-INSTALL.html: Improved the installation instructions for BCB 4/5.
+ Thanks to Chris Kohloff for contributing this and to
+ Jan Kalin <jan.kalin@zag.si> for motivating this.
+
+ * ace/TTY_IO.cpp: Fixed numerous bugs in the control() method.
+ Thanks to Airat A. Sadreev <airatsa@nm.ru> for reporting this.
+
+ * ace/TTY_IO.h: Add a new field for Win32. Thanks to
+ Airat A. Sadreev <airatsa@nm.ru> for reporting this.
+
+Thu Sep 27 06:12:21 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/config-win32.h: Added a special-case for Borland C++ Builder,
+ which must include vcl.h before windows.h. Thanks to Chris
+ Kohloff for reporting this. This fixes Bug ID 899 for the time
+ being.
+
+ * ace/Module.cpp (ACE_Module): The line
+
+ this->name ("<unknown>");
+
+ was be replaced with
+
+ this->name (ACE_TEXT("<unknown>"));
+
+ Thanks to Airat A. Sadreev <sadreevaa@hq.tatenergo.ru> for
+ reporting this. This fixes bug id 1041.
+
+Thu Sep 27 13:09:19 2001 Bala <bala@cs.wustl.edu>
+
+ * ACE version 5.1.21 released.
+
+Tue Sep 25 16:12:14 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_SOCK_Stream.i (recv_i):
+
+ Use ACE_OS::set_errno_to_last_error() set errno instead of doing
+ so manually to get around broken compilers that reset the last
+ error when assigning to errno. Thanks to Chris Kohloff for
+ pointing out the problem and suggesting this fix.
+
+Tue Sep 25 13:00:37 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/Obstack.h: Fixed a typo when declaring ACE_Obstack
+ exportable. I mistakenly used the underlying
+ ACE_EXPORT_SINGLETON_DECLARATION macro directly.
+ ACE_SINGLETON_DECLARATION is the right macro to use here.
+ Thanks to Martin Krumpolec <krumpolec@asset.sk> for reporting
+ the bug.
+
+Tue Sep 25 09:12:28 2001 Andrew Finnell <Andrew.Finnell@esecurityinc.com>
+
+ * ace/SSL/SSL_SOCK_Stream.i (recv_i):
+
+ On MS Windows, OpenSSL does not store the last error in errno so
+ explicitly do so. This corrects problems where a server is
+ unaware that a client has forcefully disconnected.
+
+Tue Sep 25 00:01:59 2001 Irfan Pyarali <irfan@cs.wustl.edu>
+
+ * ace/Service_Repository.cpp (instance): There are three stages of
+ the Object Manager: (a) starting up; (b) running; (c) shutdown.
+ ACE_Service_Repository::instance() was not creating a new
+ instance in (a) and (c). It was changed to allow creation (a).
+
+Mon Sep 24 01:55:29 2001 Ossama Othman <ossama@uci.edu>
+
+ * bin/auto_run_tests.lst:
+
+ Added TAO's PICurrent test to the list of automated regression
+ tests.
+
+Sun Sep 23 19:28:06 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/Reactor.h (ACE_Reactor): Fixed comments for
+ <end_reactor_event_loop> and <reactor_event_loop_done>. Both
+ methods work on an instance of reactor, not the global singleton
+ reactor. Thanks to Doug for noticing this.
+
+Sun Sep 23 10:02:59 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/High_Res_Timer.h: Removed a question mark "?", in a line
+ which read "or sometimes 3.579 Mhz??". This seems to remove the
+ warning in VXWORKS builds. I have no clue about the problem that
+ VXWORKS compiler sees. It took only more than an hour to figure
+ this out. :(.
+
+Sat Sep 22 08:59:24 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Service_Manager.cpp (handle_input): Added some logic to
+ strip off newlines and carriage returns for Windows platforms.
+ Thanks to Kyle Brost <Kyle.Brost@quest.com> for contributing
+ this.
+
+Sat Sep 22 12:28:21 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/ACE_SSL_LIB.dsp:
+
+ Corrected code generation settings to use the multi-threaded DLL
+ version of the run-time library. Corrects "legacy" build
+ problems.
+
+Sat Sep 22 08:59:24 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/High_Res_Timer.{h,i,cpp}: Added comments to explain how
+ to configure the timers properly on various platforms. Thanks
+ to Alain Decamps <Alain.Decamps@PIDPA.be> for reporting this.
+
+ * ace/OS.i (ACE_Flow_Spec): Added a check for ACE_HAS_WINSOCK2_GQOS
+ so that things will compile properly on MinGW32. Thanks to Jeff
+ McNiel <JMcNiel@datacrit.com> for reporting this.
+
+Fri Sep 21 15:54:55 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/OS_Dirent.cpp: Fixed all the allocations so they work properly
+ when used with ACE_TCHAR! Thanks to Olof Lindfors
+ <olof.lindfors@protegrity.com>.
+
+Tue Sep 18 06:25:22 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/*Reactor*: Changed all uses of "delta_time" to "delay_time".
+ Thanks to Johnny Willemsen for reporting this.
+
+Sun Sep 16 11:53:38 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Connector.cpp (handle_output): Fixed the comment to be
+ ACE_WIN32. Thanks to Kobi Cohen-Arazi <kobi@mivzak.com> for
+ reporting this.
+
+Fri Sep 21 17:11:52 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Message_Block.h: Tried rewording some comments in the
+ ACE_Message_Block. Thanks to Tom Wagner <TomW@CoManage.net> for
+ suggesting this.
+
+ * THANKS: Added Tom Wagner <TomW@CoManage.net> to the Hall of
+ Fame.
+
+Fri Sep 21 22:11:53 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/ACE_SSL_LIB.dsp:
+
+ Removed hardcoded user-specific include paths, and user-specific
+ preprocessor macro definitions.
+
+Thu Sep 20 18:15:49 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/Config_Test.cpp: Added some more tests to verify correct
+ string value reset and enumerate values/sections.
+
+Thu Sep 20 12:29:09 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/ACE_SSL_LIB.dsp:
+ * ace/SSL/ACE_SSL_LIB.dsw:
+
+ New static build MSVC++ project and workspace files for the
+ ACE_SSL library contributed by Jonathan Reis <reis@stentor.com>.
+ [Bug 1032]
+
+Thu Sep 20 12:16:13 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_SOCK.cpp (enable, disable):
+
+ Removed unreachable "return" statements. [Bug 1033]
+
+ * ace/SSL/SSL_SOCK_Stream.i (ACE_SSL_SOCK_Stream):
+ * ace/SSL/SSL_SOCK_Stream.cpp:
+
+ Moved constructor to the ".cpp" file since to prevent inclusion
+ of `ace/Log_Msg.h' in `SSL_SOCK_Stream.h'. This fixes problems
+ with some platforms needing the Log_Msg include to pull in the
+ ACE_ERROR macros without needlessly increasing inter-header
+ dependencies and inclusions. [Bug 1034]
+
+Thu Sep 20 14:44:29 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/Process.cpp (ACE_Process_Options): Moved avoid_zombies_
+ initialization outside the !Win32 section. Thanks to Johnny
+ Willemsen <johnny.willemsen@meco.nl> for this fix.
+
+Thu Sep 20 06:28:50 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/config-hpux-11.00.h:
+
+ Reverting the change from "Wed Aug 29 15:32:10 2001 Douglas C.
+ Schmidt <schmidt@macarena.cs.wustl.edu>". HP-UX 11.00 does
+ not actually support pread/pwrite.
+
+Wed Sep 19 16:56:02 2001 Irfan Pyarali <irfan@cs.wustl.edu>
+
+ * ace/OS.h (THR_SCOPE_PROCESS and THR_SCOPE_SYSTEM): Added
+ definitions for THR_SCOPE_PROCESS and THR_SCOPE_SYSTEM on
+ platforms that do not support threads.
+
+Wed Sep 19 16:54:04 2001 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * ace/Containers_T.cpp:
+
+ In copy constructor for ACE_Double_Linked_List, added line to
+ copy the size of the rhs to the lhs. The new list was ending
+ up with a garbage value for its size.
+
+Wed Sep 19 14:15:08 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/ace_dll.dsp:
+ * ace/ace_lib.dsp: Enabled generation of debug info even for
+ release configurations. Thanks to Jonathan Reis
+ <reis@stentor.com> for suggesting this.
+
+Wed Sep 19 10:23:06 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * html/index.html:
+ Add couple of missing links to the RT-CORBA components
+
+Wed Sep 19 12:00:04 2001 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ACE-INSTALL.html:
+ Added BCB5 to some places as supported/used compiler
+
+ * ace/Future.h:
+ * ace/Test_and_Set.h:
+ Removed the ACE_EXPORT from the templates ACE_Future_Holder and
+ ACE_Test_and_Set
+
+ * ace/Service_Config.{h,cpp}:
+ Changed the type of the members be_a_daemon_ and no_static_svcs_
+ from char to int
+
+Tue Sep 18 13:57:36 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * */Makefile:
+ * */Makefile.*:
+ Updated dependencies, some of the paths were absolute leading to
+ ambiguities in parallel builds.
+
+Tue Sep 18 12:18:26 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * bin/footprint_stats.sh:
+ Fixed bug in footprint charts generation.
+
+Tue Sep 18 10:50:15 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * html/index.html:
+ Add COS Event and COS Notification services to the index.
+
+Mon Sep 17 19:00:00 2001 Irfan Pyarali <irfan@cs.wustl.edu>
+
+ * ace/OS.h:
+
+ - THR_SCOPE_PROCESS and THR_SCOPE_SYSTEM were not defined
+ for NT. Added them.
+
+ - Moved the following definitions of VxWorks around such
+ that these defines are available even when PACE is not
+ used.
+
+ THR_INHERIT_SCHED
+ THR_EXPLICIT_SCHED
+ THR_SCHED_IO
+ THR_SCOPE_SYSTEM
+ THR_SCOPE_PROCESS
+
+ * ace/OS.cpp: LinuxThreads do not have support for
+ PTHREAD_SCOPE_PROCESS; only PTHREAD_SCOPE_SYSTEM is supported.
+ Therefore, PTHREAD_SCOPE_PROCESS is ignored when setting the
+ thread scheduling scope.
+
+ * ace/Sample_History.cpp: Added accessors for <sample_count> and
+ <max_samples>.
+
+ * bin/auto_run_tests.lst: Added new RTCORBA tests. Removed
+ Minimum CORBA dependency on these tests.
+
+Mon Sep 17 13:49:07 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * etc/tao_cosevent.doxygen:
+ * etc/tao_cosnotification.doxygen:
+ Add new Doxygen files for the Notification and COS Event
+ Services
+
+ * bin/generate_doxygen.pl:
+ Add new doxygen files to the automatically generated
+ documentation.
+
+Mon Sep 17 11:36:54 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * tests/run_tests.lst: This is the script used by the shell
+ script in that directory. As the name is confusing this is being
+ moved as a new file.
+
+ * tests/run_tests_remote.lst: Renamed the run_tests.lst as
+ run_tests_shell.lst. This is invoked by run_tests.sh
+
+ * tests/run_tests.sh: Renamed as a new file.
+
+ * tests/run_tests_remote.sh: Renamed the file run_tests.sh as this
+ one. This script can be used to run tests remotely on a
+ CHORUS/ClassiX/MVME targets. Further this can also be used to
+ run tests on platforms that dont support perl or do not have
+ perl.
+
+Sun Sep 16 11:19:01 2001 Balachandran <bala@cs.wustl.edu>
+
+ * ACE version 5.1.20 released.
+
+Sat Sep 15 16:58:08 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * tests/High_Res_Timer_Test.cpp: Fixed compile problem with Sun CC
+ 4.2.
+
+Fri Sep 14 05:28:13 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * THANKS: We now have over 1,300 contributors to ACE+TAO!
+
+ * ace/Basic_Types.{h,i}: Added "const" to various operators and
+ methods. Thanks to Alain Decamps for reporting this.
+
+Thu Sep 13 11:02:41 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Singleton.cpp: If we're not compiling with threading enabled,
+ don't call the get_singleton_lock() code. Thanks to Charles
+ Frasch <cfrasch@spawar.navy.mil> for contributing this.
+
+Tue Sep 11 06:23:08 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Array_Base.h: Changed current_ from u_int to size_t. Thanks
+ to Johnny Willemsen for reporting this.
+
+Fri Sep 14 17:18:37 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/High_Res_Timer_Test.cpp (check_micro_nano): If the
+ nanointerval is 0, change it to 1 to prevent divide-by-zero.
+
+Fri Sep 14 17:02:39 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/High_Res_Timer_Test.cpp: Replaced some (u_int) casts with
+ ACE_U64_TO_U32, which is correct. Thanks to Alain Decamps, yet
+ again!, for this fix.
+
+Fri Sep 14 11:39:03 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * THANKS: Added Mahesh Varadarajan and Kevin Clien to the Hall of
+ Fame.
+
+Thu Sep 13 22:43:34 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * bin/auto_run_tests.lst: Added the new Cache_Growth_Test to the
+ daily tests.
+
+Thu Sep 13 20:38:44 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/Thread_Manager.h (ACE_Thread_Manager): Changed the default
+ argument <prealloc> for the constructor from 0 to
+ ACE_DEFAULT_THREAD_MANAGER_PREALLOC. Thanks to Doug for
+ pointing this out.
+
+ Added better documentation to explain the purpose of each
+ argument in ACE_Thread_Manager's constructor. Thanks to Nick
+ Pratt <npratt@microstrategy.com> for motivating the change.
+
+Thu Sep 13 13:38:41 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/High_Res_Timer.cpp (elapsed_time (ACE_hrtime_t&nanoseconds),
+ elapsed_time_incr (ACE_hrtime_t&nanoseconds): Instead of using
+ "nanoseconds >>= 10", use "nanoseconds = nanoseconds >> 10" to
+ work around a Borland C++Builder bug. Thanks very much to
+ Johnny Willemsen, Christopher Kohlhoff, and Alain Decamps
+ for solving this problem.
+
+Thu Sep 13 13:33:29 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/Service_Config_Test.cpp: Added #include "ace/Log_Msg.h".
+ This was probably to get AIX to build clean, but it's been a
+ while.
+
+Thu Sep 13 12:04:04 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * THANKS: Added Werner Buchert to the Hall of Fame.
+
+Wed Sep 12 15:10:41 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/High_Res_Timer.cpp (elapsed_time (ACE_hrtime_t&nanoseconds),
+ elapsed_time_incr (ACE_hrtime_t&nanoseconds): Changes to account
+ for very fast clocks (> 1GHz). Thank you to Derek Dominish
+ <derek.dominish@boeing.com> and Alain Decamps
+ <Alain.Decamps@PIDPA.be> for identifying the problem and coming
+ up with a good solution. This fixes Bugzilla #1024 (how
+ appropriate! ;-)
+
+ * ace/High_Res_Timer.i (elapsed_microseconds (ACE_hrtime_t &usecs):
+ More adjustment to the Win32 scale factor adjusting. Thanks (again!)
+ to Alain Decamps <Alain.Decamps@PIDPA.be> for identifying and
+ supplying a fix for this. This fixes Bugzilla #948 (again).
+
+Wed Sep 12 14:33:29 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/High_Res_Timer_Test.cpp: Incorporated some additional tests
+ for usec/nsec sanity checks on the calculated ACE_High_Res_Timer
+ values. Thank you very much to Alain Decamps
+ <Alain.Decamps@PIDPA.be> for this test.
+
+Tue Sep 11 12:40:01 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * Terror unleashed. The World Trade Center and the Pentagon
+ attacked today. Looks like there could be lots of loss to
+ precious lives. This is too horrible. We convey our condolences
+ to the bereaved families. God save this world.
+
+Tue Sep 11 06:41:31 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * apps/Gateway/Gateway/Concrete_Connection_Handlers.cpp: Fixed a
+ typo. This should fix most of the errors in the scoreboard.
+
+Mon Sep 10 18:59:24 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * apps/Gateway/Peer/Peer.cpp (nonblk_put):
+ * apps/Gateway/Gateway/Concrete_Connection_Handlers.cpp (nonblk_put):
+ Reverted Bala's changes below since the original code was
+ correct. Also, added comments to clarify things to prevent
+ confusion in the future.
+
+Mon Sep 10 17:31:11 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ACE-INSTALL.html: Added a new platform to the list.
+
+Mon Sep 10 12:54:28 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * apps/Gateway/Gateway/Concrete_Connection_Handlers.cpp:
+ Changed the condition that checks for EWOULDBLOCK after a
+ send. It was erroneously written. Thanks to Nick Pratt
+ <npratt@microstrategy.com> for pointing this out.
+
+Mon Sep 10 12:36:07 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * apps/Gateway/Peer/Peer.cpp (nonblk_put): Changed the condition
+ that checks for EWOULDBLOCK after a send. It was erroneously
+ written. Thanks to Nick Pratt <npratt@microstrategy.com> for
+ pointing this out.
+
+Mon Sep 10 08:17:08 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * bin/auto_run_tests.lst: Will not run the File_IO test in the
+ Minimum CORBA configuration.
+
+Mon Sep 10 08:05:39 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * bin/auto_run_tests.lst: Prevented the DLL_ORB test from running
+ in static builds.
+
+Sun Sep 9 10:20:59 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * */Makefile: Updated dependencies.
+
+Sun Sep 9 08:43:02 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Handle_Set.i: Added a check in set_bit () and clr_bit () for
+ ACE_INVALID_HANDLE. If we pass a ACE_INVALID_HANDLE we were
+ crashing which is not good and hence the fix.
+
+Sun Sep 9 08:28:52 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Reactor_Impl.h:
+ * ace/Select_Reactor_Base.h:
+ * ace/Select_Reactor_Base.cpp (is_dispatchable): Added a new
+ method. This method, just figures out whether the buffer has any
+ dispatchable info or not.
+
+ * ace/WFMO_Reactor.h:
+ * ace/WFMO_Reactor.cpp: Added the above method in the WFMO
+ Reactor.
+
+ * ace/TP_Reactor.cpp: The handle_notify_events () method now
+ checks whether the buffer it has read is dispatchable or not. If
+ it is then it gives up the token to make an upcall. Else, it
+ just sits around to remove messages of the pipe, till it find
+ one with a dispatchable info. The fix was necessary so that
+ wake-up calls that are unanswered are removed of the
+ pipe. Unanswered wakeup calls were filling up the pipe and they
+ were blocking some application from writing further to the
+ pipe. This should be in all probability be the final fix to the
+ Reactor.
+
+Sat Sep 8 09:34:52 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * tests/Logging_Strategy_Test.cpp: Fixed a typo that was giving
+ compile errors in VXWORKS builds.
+
+Fri Sep 7 16:40:37 2001 Priyanka Gontla <pgontla@ece.uci.edu>
+
+ * ace/OS.h:
+ Added an if-def case for IP_MULTICAST_TTL too.
+
+Fri Sep 7 17:09:04 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * tests/Thread_Pool_Reactor_Resume_Test.cpp: Initialised the lock
+ to null in the constrcutor before allocating memory for
+ it. This was done to remove the ABW errors in
+ purify. This should remove the problem that we see with this
+ test in our daily builds with SunCC 4.2.
+
+Fri Sep 7 15:51:48 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * tests/Logging_Strategy_Test.cpp: Included Auto_Ptr.h.
+
+Fri Sep 07 15:29:37 2001 Yamuna Krishnamurthy <yamuna@cs.wustl.edu>
+
+ * examples/QOS/Change_Receiver_FlowSpec/Receiver_QoS_Event_Handler.cpp:
+ * examples/QOS/Change_Receiver_FlowSpec/Sender_QoS_Event_Handler.cpp::
+ * examples/QOS/Change_Receiver_FlowSpec/Fill_ACE_QoS.cpp:
+
+ * examples/QOS/Change_Sender_TSpec/Receiver_QoS_Event_Handler.cpp:
+ * examples/QOS/Change_Sender_TSpec/Sender_QoS_Event_Handler.cpp::
+ * examples/QOS/Change_Sender_TSpec/Fill_ACE_QoS.cpp:
+
+ * examples/QOS/Simple/Receiver_QoS_Event_Handler.cpp:
+ * examples/QOS/Simple/Sender_QoS_Event_Handler.cpp:
+ * examples/QOS/Simple/Fill_ACE_QoS.cpp:
+
+ Fixed compile errors.
+
+Fri Sep 7 14:17:41 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/TP_Reactor.cpp: Do not clear the notify handle bit when
+ trying to dispatch notify calls. This shoudl fix the long
+ pending problems with TRU 64 builds.
+
+Fri Sep 07 12:12:39 2001 Steve Huston <shuston@riverace.com>
+
+ * examples/C++NPv1/Iterative_Logging_Server.dsp:
+ * examples/C++NPv1/Logging_Client.dsp:
+ * examples/C++NPv1/Process_Per_Connection_Logging_Server.dsp:
+ * examples/C++NPv1/RT_Thread_Per_Connection_Logging_Server.dsp:
+ * examples/C++NPv1/Reactive_Logging_Server.dsp:
+ * examples/C++NPv1/Reactive_Logging_Server_Ex.dsp:
+ * examples/C++NPv1/Thread_Per_Connection_Logging_Server.dsp:
+ Use relative paths to include and library files rather than
+ $(ACE_ROOT). Makes it easier to use in place regardless of
+ ACE version.
+
+ * examples/C++NPv1/Logging_Client.cpp: Fixed scoping of the getline()
+ method call.
+
+Thu Sep 6 21:14:05 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * tests/Logging_Strategy_Test.cpp: Changed the usage of auto_ptr
+ <> to ACE_Auto_Basic_Ptr<>. Thanks to Carlos O'Ryan for this
+ suggestion.
+
+Thu Sep 06 18:42:39 2001 Steve Huston <shuston@riverace.com>
+
+ * examples/C++NPv1: New directory that contains all of the example
+ code for Doug/my book, C++ Network Programming, Vol 1.
+
+Thu Sep 6 12:01:15 2001 Priyanka Gontla <pgontla@ece.uci.edu>
+
+ * ace/OS.h:
+ Added a if-def case for IP_MULTICAST_IF. Seems like it is not
+ defined in some of the OS versions.
+
+Thu Sep 06 12:36:43 2001 Yamuna Krishnamurthy <yamuna@cs.wustl.edu>
+
+ * ace/OS.h:
+ * ace/OS.i:
+ * ace/QoS/QoS_Session_Impl.cpp:
+ * ace/QoS/QoS_Session.h:
+
+ Fixed compile errors.
+
+Thu Sep 6 10:24:15 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/Acceptor.cpp (accept_svc_handler):
+ * ace/Strategies_T.cpp (accept_svc_handler):
+
+ Do not close and reopen the peer acceptor on failed attempts to
+ accept a connection. Several problems were fixed by removing
+ this code:
+
+ - A race condition existed where another thread or process
+ could acquire the port that the peer acceptor was
+ listening on before it was closed. Note that it is not
+ enough to attempt to synchronize this code with a lock
+ since an external process could still acquire the port.
+
+ - If the port in the peer acceptor (assuming it is an
+ ACE_INET_Addr based one) is the wildcard port (zero), then
+ there is no guarantee that the acceptor will be opened on
+ the same port upon which it is was previously listening.
+ In such a case, IORs generated by TAO (for example) can be
+ rendered invalid since the addressing information embedded
+ in those IORs will no longer contain the actual port to
+ connect to when making invocations. [Bug 962]
+
+ - The above two problems actually introduced a
+ denial-of-service attack vulnerability (now closed by this
+ fix) since it was relatively easy to force a failed
+ connection attempt, which would then cause the peer
+ acceptor to be reopened on potentially a different port,
+ or to shutdown completely if reopening failed.
+
+ * ace/SSL/SSL_SOCK_Acceptor.i (close):
+
+ Invalidate the handle stored within the ACE_SSL_SOCK_Acceptor
+ instance. Corrects problems arising from attempts to use a
+ listening socket that has been shut down.
+
+ * ace/SSL/SSL_SOCK_Acceptor.cpp (ssl_accept):
+
+ Perform an OpenSSL SSL_accept() in case OpenSSL buffered data
+ that must be handled before entering the Reactor event loop used
+ to complete a non-blocking SSL passive connection.
+
+ If the OpenSSL error status is SSL_ERROR_ZERO_RETURN shut down
+ the partially initialized SSL stream/session since the peer has
+ itself shut down.
+
+Thu Sep 6 11:00:46 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/TP_Reactor.cpp: The timer events are not included as a part
+ of number of active handles from wait_for_multiple_events
+ (). The check for event_count > 0 before processing timer events
+ was wrong. Removed the check. Thanks to Chad Elliott for
+ pointing this out.
+
+ Further did some cosmetic changes like adding comments, removing
+ comments that was not valid etc.
+
+Thu Sep 6 07:50:56 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * bin/auto_run_tests.lst: The AMI buffering test should not be run
+ Single threaded builds.
+
+Thu Sep 6 02:30:14 2001 Christopher Kohlhoff <chris@kohlhoff.com>
+
+ * examples/Export/Makefile.bor:
+ * examples/Export/export_dll.bor:
+ * examples/Export/test.bor:
+ * examples/Export/dll.h:
+ Added makefiles for this example and fixed a template problem with
+ Borland C++. Thanks to Charles Frasch <cfrasch@spawar.navy.mil> for
+ contributing this.
+
+Wed Sep 5 19:48:34 2001 Priyanka Gontla <pgontla@ece.uci.edu>
+
+ * ace/SOCK_Dgram.cpp (set_nic):
+ Fixed the errors that raised in Win.
+
+Wed Sep 5 20:38:10 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/OS.h:
+ * ace/OS.i:
+ * ace/QoS/QoS_Session_Impl.cpp:
+ * ace/QoS/QoS_Session.h: Reverted the change "Wed Sep 5 18:58:00
+ 2001 Yamuna Krishnamurthy <yamuna@cs.wustl.edu>". The change
+ broke builds. Further there was no reason why the QoS
+ information should come inside OS.* files. Talk about increasing
+ foot print.
+
+Wed Sep 5 18:58:00 2001 Yamuna Krishnamurthy <yamuna@cs.wustl.edu>
+
+ * ace/QoS/QoS_Session.h:
+ * ace/QoS/QoS_Session_Impl.h:
+ * ace/QoS/QoS_Session_Impl.cpp:
+
+ Added rapi_sender and rapi_reserve calls with null tspec and
+ flow spec respectively to facilitate the tearing down of PATH
+ and RESV messages.
+
+ * ace/OS.h:
+ * ace/OS.i:
+
+ Changed the sending_flowspec_ and receiving_flowspec_ members of
+ the ACE_QoS class to pointers so they can be initialized to null
+ flow specs.
+
+Wed Sep 5 16:50:03 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * THANKS: Added Peter Phillips <pphillip@opentext.com> to the Hall
+ of Fame.
+
+ * ace/OS_String.cpp: Fixed a warning in TRU64 builds.
+
+Wed Sep 5 11:29:59 2001 Priyanka Gontla <pgontla@ece.uci.edu>
+
+ * ace/SOCK_Dgram.h:
+ * ace/SOCK_Dgram.cpp:
+
+ Added a new method to set the NIC address in the socket.
+
+Wed Sep 05 12:00:42 2001 Steve Huston <shuston@riverace.com>
+
+ * include/makeinclude/platform_aix4_g++.GNU: Sets ACE_AIX_VERS rather
+ than separate major/minor; see entry below for further info.
+
+Wed Sep 05 11:52:39 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/config-aix5.1.h: New config file for AIX 5L, version 5.1,
+ using Visual Age C++ 5.
+
+ * ace/config-aix-4.1.x.h:
+ * ace/config-aix-4.2.x.h:
+ * ace/config-aix-4.3.x.h:
+ * ace/config-aix-4.x.h: Use ACE_AIX_VERS (which has both major and
+ minor version) rather than ACE_AIX_MAJOR_VERS and ACE_AIX_MINOR_VERS.
+
+ * include/makeinclude/platform_aix_ibm.GNU: Rather than making
+ separate major/minor OS version variables, use one that incorporates
+ both to make it easier for config.h files to set upwardly-compatible
+ feature flags.
+
+Wed Sep 5 06:55:44 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * tests/Log_Msg_Test.cpp:
+
+ Add ACE_TEXT() around the default program name for the Windows
+ WChar Unicode build.
+
+Tue Sep 4 18:48:00 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Select_Reactor_Base.cpp: Changed the value returned from
+ ACE_Select_Reactor_Notify_Handler::handle_input (). This now
+ returns a 0 if we did not dispatch any handles or the number of
+ handles dispatched. We were returning a -1 if we did not
+ dispatch any handles, after reading the notification from the
+ pipe. This should fix the Reactor_Notify_Test in the Implicit
+ templates build.
+
+Tue Sep 4 12:46:50 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/ACE.cpp: Reverted this change "Tue Sep 4 07:37:17 2001
+ Balachandran Natarajan <bala@cs.wustl.edu>". Thanks to Irfan
+ for pointing that this change, changes the semantics of the
+ methods.
+
+Tue Sep 4 09:14:36 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/CDR_Stream.i:
+ * ace/CDR_Stream.cpp:
+
+ Work around a compiler bug in the latest Green Hills Multi200.
+ Casting a float to an ACE_CDR::ULong* caused internal compiler
+ errors if the code was inlined.
+
+ * ace/config-vxworks5.x.h:
+ * include/makeinclude/platform_vxworks5.x_ghs.GNU:
+
+ Updated support for Green Hills Multi2000.
+
+Tue Sep 4 07:41:42 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * THANKS: Added Eyal Neuman <eyal@tradertools.com> to the Hall of
+ Fame.
+
+Tue Sep 4 07:37:17 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/ACE.cpp: Fixed a bug with recv_n_i (). The problem was form
+ returning the exact number of bytes from the for loop. If the
+ loop had executed once and if we get 0 in the next recv_i ()
+ call, then we should be returning the number of bytes read in
+ the previous iteration and not 0. Thanks to Eyal Neuman
+ <eyal@tradertools.com> for this fix. This closes bug 1015.
+
+Tue Sep 4 07:08:30 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/ACE.cpp: Fixed a unicode error in teh Win32 builds. Acted as
+ a dumbo when I made this change yesterday:(
+
+Mon Sep 3 20:08:25 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/TP_Reactor.cpp: Fixed a warning in TRU 64 builds.
+
+Mon Sep 3 09:58:32 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * */Makefile: Updated dependencies
+
+Mon Sep 3 09:44:46 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Select_Reactor_Base.cpp: Fixed a warning in Implicit
+ template builds.
+
+Mon Sep 3 08:21:36 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/ACE.cpp: Replaced L with ACE_TEXT_WIDE.
+
+Mon Sep 3 07:54:32 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/OS_String.cpp: Fixed compile errors in win32 builds. Thanks
+ to Johnny Willemsen for sending in patches for replacing L with
+ ACE_TEXT_WIDE.
+
+Sun Sep 2 19:33:07 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Select_Reactor_Base.cpp: Fixed a small problem with the
+ select reactor's notify () handling mechanism. This was more of
+ a problem with me not checking the while () loop condition
+ properly. This should fix most of the reactor problems seen in
+ the daily builds.
+
+Sat Sep 1 14:10:08 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/System_Time.cpp,
+ * ace/Stream_Modules.cpp,
+ * ace/Service_Types.cpp,
+ * ace/Service_Manager.cpp,
+ * ace/SPIPE_Addr.cpp,
+ * ace/OS.cpp,
+ * ace/Memory_Pool.cpp,
+ * ace/Mem_Map.cpp,
+ * ace/Local_Name_Space_T.cpp,
+ * ace/FILE_Addr.cpp,
+ * ace/FIFO.cpp,
+ * ace/Connector.cpp,
+ * ace/Acceptor.cpp,
+ * ace/Token_Collection.cpp,
+ * ace/Name_Request_Reply.cpp,
+ * ace/Local_Tokens.cpp,
+ * ace/ACE.cpp,
+ * ace/Log_Record.cpp,
+ * ace/Log_Msg.cpp: Added the use of the new ACE_OS::strsncpy()
+ method. Thanks to Alain for reporting this.
+
+ * ace/OS_String.{h,cpp}: Added a "safe" c string copy method:
+ strsncpy(dst,src,maxlen). Changing an occurence off strncpy()
+ to strsncpy() is less errorprone, but could break somebody's
+ code if he/she is using the fact that the strncpy's where
+ nul-padding the destination, but this is extremely
+ unlikely. Using strsncpy() is also almost always (a lot) faster
+ than strncpy(). Thanks to Alain Decamps
+ <Alain.Decamps@PIDPA.be> for this method.
+
+Sat Sep 1 09:54:55 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * tests/Bound_Ptr_Test.cpp: Added a patch from Chris Kohlhoff that
+ fixes the problem with VXWORKS builds. The old gcc compiler
+ seems to have problems with forward declared types as template
+ parameters. Chris solves the problem by defining a ABC properly
+ and making the offending class inherit from it. This should fix
+ our daily VXWORKS builds.
+
+Sat Sep 1 08:07:51 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Select_Reactor_Base.cpp: Fixed a compilation error in the
+ Notification queue portion of the code. Thanks to our daily
+ builds for helping me with this testing.
+
+Fri Aug 31 22:12:26 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/TP_Reactor.cpp:
+ * ace/Select_Reactor_Base.cpp: Fixed fuzz errors.
+
+Fri Aug 31 22:07:57 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/WFMO_Reactor.h:
+ * ace/WFMO_Reactor.cpp: Added the method read_notify_pipe () to
+ the WFMO_Notify_Handler.
+
+Fri Aug 31 19:14:52 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Reactor_Impl.h: Added a new method by name read_notify_pipe
+ (). Also changed the dispatch_notify () to take in a
+ Notification buffer instead of a ACE_HANDLE.
+
+ * ace/Select_Reactor_Base.cpp:
+ * ace/Select_Reactor_Base.h: Made the following changes
+
+ - Implemented read_notify_pipe (). Will read just one message from
+ the notify pipe or one message from the notification queue.
+
+ - Reimplemented dispatch_notify (). This method would just
+ dispatch the upcall using the information in the notification
+ buffer.
+
+ - The handle_input () now uses the read_notify_pipe () and
+ dispatch_notify () to achieve what it was doing before.
+
+ - The notify () call now sends one notify message on the pipe
+ for every message in the notification queue.
+
+ * ace/TP_Reactor.cpp (handle_socket_events):
+ * ace/TP_Reactor.h:
+ * ace/TP_Reactor.i: We had a race condition. The race condition
+ was because two threads were trying to read from the notify_pipe
+ at the same instance. This race condition was fixed by adding a
+ call to read_notify_pipe () with the lock held and then calling
+ dispatch_notify () with the buffer read after releasing the
+ lock. Did the following minor modifications
+
+ - Changed dispatch_socket_events () as dispatch_socket_event ()
+ as we were dispatching only one event.
+
+ - We dont grab the token in the constructor of the token. We
+ have to make a call specfically to grab_token () to get the
+ token.
+
+ The above checkins should fix the correctness of the reactor
+ problems that we have been seeing.
+
+Fri Aug 31 18:30:28 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * bin/auto_run_tests.lst:
+
+ Added Blocking_Sync_None to the list of tests to be run on
+ Tru64.
+
+ * ACE-INSTALL.html:
+
+ Added Linux/IA64 to the list of platforms supported.
+
+Fri Aug 31 15:27:09 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Bound_Ptr.i: Fixed a problem with Sun CC42 builds. Used 1
+ instead of true.
+
+Fri Aug 31 14:57:42 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/MEM_Stream_Test.cpp: Fixed usage of ACE_SYNCH meta-class
+ to work correctly with templates.
+
+Fri Aug 31 11:53:05 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * ace/OS.h:
+ * ace/Timer_Queue_T.h:
+ * ace/Timer_Queue_T.h:
+ * ace/config-hpux-11.00.h:
+ * ace/config-hpux11.h:
+ * ace/config-irix6.x-common.h:
+ * ace/config-linux-common.h:
+ * ace/config-lynxos.h:
+ * ace/config-osf1-4.0.h:
+ * ace/config-pharlap.h:
+ * ace/config-sunos4-g++.h:
+ * ace/config-sunos4-lucid3.2.h:
+ * ace/config-sunos4-sun3.x.h:
+ * ace/config-sunos4-sun4.1.4.h:
+ * ace/config-sunos4-sun4.x-orbix.h:
+ * ace/config-sunos5.4-centerline-2.x.h:
+ * ace/config-sunos5.4-g++.h:
+ * ace/config-sunos5.4-sunc++-4.x-orbix.h:
+ * ace/config-sunos5.4-sunc++-4.x.h:
+ * ace/config-sunos5.5.h:
+ * ace/config-tandem.h:
+
+ Fixed up documentation of ACE_TIMER_SKEW. Fixed bogus values in
+ all the above files. Should help in removing some of the errors
+ in TAO tests. Any test in ACE/TAO which breaks because of this
+ change is broken and should be fixed.
+
+Fri Aug 31 12:00:00 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/Bound_Ptr_Test.icc: New Visual Age C++ config for this test.
+ * tests/tests.icp: Added Bound_Ptr_Test.icc, Service_Config_Test.icc,
+ and libService_Config_DLL.icc.
+
+Fri Aug 31 11:40:31 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/MEM_Stream_Test.(cpp h): Fixed single-threaded builds.
+
+Fri Aug 31 08:13:26 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/perltest2cpp.pl:
+
+ Added a -t option to set the timeout factor.
+
+Thu Aug 30 18:08:32 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * ace/config-linux-common.h:
+
+ Added some more missing stuff which might break compilations.
+ The previous change also removed the existing definition for
+ ACE_TIMER_SKEW so add it back till the new version is checked in.
+
+Thu Aug 30 17:54:40 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * ace/config-linux-common.h:
+
+ This file was checked in inadvertently when checking in fixes
+ for ACE_NEEDS_HUGE_THREAD_STACKSIZE.
+
+Thu Aug 30 13:04:38 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/run_test.lst: Added Bound_Ptr_Test.
+
+Thu Aug 30 11:40:39 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/run_test.pl (run_program): Fixed the 'unlink' to get
+ all of a test's log files; prevents seeing previous sub-logs
+ from a test such as MEM_Stream_Test and falsely reporting errors.
+
+Thu Aug 30 10:46:51 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/High_Res_Timer.cpp (global_scale_factor ()): When checking for
+ a high-res timer mechanism, don't set the global_scale_factor_status_
+ away from 0 until _after_ getting the scale factor, to avoid
+ a second parallel thread from using a bogus value. Thanks very much
+ to Alain Decamps for this fix.
+
+Thu Aug 30 09:30:19 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * tests/Log_Msg_Test.cpp:
+
+ Fix for VxWorks when ace_main() is called with argc == 0.
+
+ * tests/run_test.lst:
+
+ Update the list of tests that run on VxWorks.
+
+ * tests/Makefile:
+ * tests/run_test.pl:
+
+ Update the script to output VxWorks commands to a file.
+
+Thu Aug 30 09:58:38 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/High_Res_Timer.i (elapsed_microseconds): For Win32, isolate the
+ msec modulus before converting it up to usecs. Thanks to Francois
+ Rioux <rioux01@gel.ulaval.ca> for reporting this.
+
+Thu Aug 30 00:42:41 2001 Christopher Kohlhoff <chris@kohlhoff.com>
+
+ * ace/Service_Config.cpp:
+ Service_Object instances are now inserted into the Service_Repository
+ only after they have been successfully initialised, to provide better
+ support for recursive use of the service configurator. With this
+ change, a service loaded from 'inside' another services's init() will
+ be inserted into the repository first and unloaded last. This ensures
+ that any recursively loaded services on which the original service
+ depends still exist when the original service's fini() function is
+ called.
+
+Thu Aug 30 00:27:05 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * ChangeLog:
+
+ Removed bogus files from the previous entry. I should not play
+ around with a lot of tasks at once.
+
+Wed Aug 29 19:57:29 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * ace/config-osf1-4.0.h:
+
+ Remove definition of ACE_NEEDS_HUGE_THREAD_STACKSIZE. The
+ default value seems to be good enough.
+
+ * ace/config-vxworks5.x.h:
+ * ace/config-lynxos.h:
+ * ace/config-qnx-neutrino.h:
+ * ace/config-rtems.h:
+
+ Standardized the values to 64KB on these platforms. Don't know
+ if these platforms need it. But I don't have access to any of
+ these so playing it safe.
+
+
+Wed Aug 29 18:52:12 2001 Christopher Kohlhoff <chris@kohlhoff.com>
+
+ * tests/Bound_Ptr_Test.cpp:
+ Removed a stray asterisk that was causing compilation failures.
+
+Wed Aug 29 17:54:52 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/libDLL_Test.icc:
+ * tests/libService_Config_DLL.icc: Fixed the "run after" directives
+ to correctly build the lib*.a files. Also, fixed the cleanup
+ directives to properly clean up both .a and shr.o files.
+
+Wed Aug 29 15:32:10 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/config-aix-4.x.h:
+ * ace/config-hpux-11.00.h:
+ * ace/config-osf1-4.0.h: Added better support for pread()/pwrite().
+ Thanks to Steve Vranyes <steve.vranyes@veritas.com> for these fixes.
+
+Wed Aug 29 15:47:33 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/run_test.lst: Re-enabled MEM_Stream_Test.
+
+Wed Aug 29 12:15:01 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/ace_dll.dsp:
+ * ace/ace_lib.dsp: Added Bound_Ptr.* to the projects.
+
+ * tests/tests.dsw:
+ * tests/Bound_Ptr_Test.dsp: Added a new project for
+ Bound_Ptr_Test.
+
+Wed Aug 29 11:01:22 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/MEM_Stream_Test.cpp: Fixed a cut/paste error and now runs the
+ proper number of threads/processes for the MT case, avoiding a
+ hang.
+
+Wed Aug 29 07:08:23 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * tests/run_tests.lst:
+ * tests/Makefile
+ * tests/Makefile.bor
+ * ace/Makefile
+ * ace/Bound_Ptr.{h,i}
+ * tests/Bound_Ptr_Test.cpp
+ * examples/Smart_Pointer: Added a pair of new smart pointer classes,
+ ACE_Strong_Bound_Ptr and ACE_Weak_Bound_Ptr. Thanks to
+ Christopher Kohlhoff <chris@kohlhoff.com> for contributing
+ these.
+
+Tue Aug 28 17:51:19 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/run_test.pl: If a test has log files associated with the
+ main log of the form <test>-<other>.log, e.g. MEM_Stream_Test-331.log
+ the check_log function will scan those for errors/warnings too.
+
+Tue Aug 28 16:48:23 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/TP_Reactor.i: We (the current thread) should not release the
+ token unless we own it. This simple mistake just took 3 days to
+ figure out. An 'if' condition was mixing and have added
+ it. Shows how a small problem at lower levels can take days to
+ fix.
+
+Tue Aug 28 17:45:22 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/MEM_Stream_Test.cpp: Fixed compile warning on gcc.
+
+Tue Aug 28 13:16:31 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/vxworks_modify.pl:
+ * bin/perltest2cpp.pl:
+
+ Generated c++ files now pass the fuzz check.
+
+Tue Aug 28 11:02:08 2001 Ossama Othman <ossama@uci.edu>
+
+ * bin/nightlybuilds/builds.lst:
+
+ Renamed the GCC 3.0 build to "Debian_GCC_3.0.1." since we're
+ actually compiling with GCC 3.0.1, not GCC 3.0. The latter has
+ bugs that prevent it from compiling ACE/TAO at the "-O3"
+ optimization level.
+
+Tue Aug 28 10:19:18 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_SOCK_Stream.i (recv_i):
+
+ Corrected Borland warning using a more efficient fix (i.e. less
+ function calls).
+
+Tue Aug 28 10:36:10 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/vxworks_modify.pl:
+ * bin/perltest2cpp.pl:
+
+ Added these scripts for use with VxWorks and the newly added TAO
+ TestUtils. These scripts modify c++ and perl to generate
+ "one-button" modules for TAO testing on VxWorks.
+
+Tue Aug 28 11:07:26 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/MEM_Stream_Test.cpp: Be sure to close the stream from the
+ client end.
+
+Mon Aug 27 20:16:38 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * tests/run_test.lst: Removed the MEM_Stream_Test from the daily
+ builds as they were hanging. This was causing the builds to
+ choke. I will keep Steve Huston informed on this so that he can
+ reenable them once he has fixed the test.
+
+Mon Aug 27 18:33:59 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * bin/nightlybuilds/builds.lst (WEB):
+
+ Removed the stray yoda part of LIST which is causing the wrong
+ results to show up.
+
+Mon Aug 27 18:14:38 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * bin/nightlybuilds/builds.lst (WEB):
+
+ Added the IA-64 builds back again. We now have a faster machine
+ running a better version of Linux.
+
+Mon Aug 27 09:39:33 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Timer_Queue_T.i (get_dispatch_info):
+ * ace/Timer_Queue_T.h: Fixed the compile problem in VXWORKS
+ builds. How could I forget that there are a few compilers which
+ cannot grok traits?
+
+Mon Aug 27 09:39:12 2001 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/Makefile.bor:
+ * examples/NT_Service/Makefile.bor
+ Added BCB makefile for this example
+
+Sun Aug 26 22:08:32 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/TP_Reactor.i: Reordered methods to fix warnings in TRU 64
+ builds.
+
+Sun Aug 26 20:50:22 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/SSL/SSL_SOCK_Stream.i: Fixed a warning (hopefully) in
+ Borland builds. The warning was because a temporary variable was
+ created.
+
+Sun Aug 26 20:45:24 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * tests/MEM_Stream_Test.cpp: Fixed a unused variable warning in
+ Borland.
+
+Sun Aug 26 08:13:12 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * tests/test_config.h: Added a new ACE_CLOSE_TEST_LOG macro. Thanks to
+ Edan for this.
+
+Sun Aug 26 09:07:32 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/TP_Reactor.cpp: Fixed a compile error with SunCC4.2
+
+Sun Aug 26 08:28:09 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Timer_Queue_T.cpp: Fixed a warning from an unused variable
+ reported by KCC compilers.
+
+Sun Aug 26 08:13:12 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * tests/Logging_Strategy_Test.cpp: Applied the following fixes from
+ Edan:
+
+ - Included ace/Logging_Strategy.h
+ - Addition of -w switch to enable initial wipeout of logfile
+ - Removal of the redundant ACE_LOG_MSG->open()
+ - Explicitly close the previous log before applying the changes to the
+ ACE_LOG_MSG
+ - Moved remove_files() call higher, just before logfile close
+
+ * ace/Logging_Strategy.{h,cpp}: Added the following fixes from
+ Edan Ayal:
+
+ - Logging_Strategy now supports any ACE_Log_Msg, not just the
+ ACE_LOG_MSG singleton.
+ - Added a check for success (ios::goodbit) of new ofstream
+ creation.
+ - Changed default values for max_size and interval. Now the
+ default interval is 10 minutes (instead of 0) and the default
+ log file size is 0 (was 16K). The timer is now activated only
+ if both are non-zero.
+ - Added a mutator to set the ACE_Log_Msg to work with, and a
+ member variable
+ - Added definition for ACE_DEFAULT_LOGFILE_POLL_INTERVAL
+ - Removed definition of ACE_DEFAULT_MAX_LOGFILE_SIZE
+
+ * ace/Log_Record.{h,cpp}: Enhanced this implementation to (1)
+ be consistent with recent changes to Log_Msg.h and (2) to
+ replace problematic use of strncpy(). Thanks to Alain
+ Decamps for these fixes.
+
+Sat Aug 25 20:58:22 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/FILE_IO.i (send_n): Changed to use ACE::write_n to send the
+ chain of Message_Blocks. The originally used ACE::send_n was
+ causing problem on NT because send_n was restricted for sockets
+ I/O on NT. Thanks to Doug for pointing this out.
+
+Sat Aug 25 10:16:21 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * tests/Svc_Handler_Test.cpp (main): The destructor of svc_handler
+ will close file_io, so we don't need to do it explicitly!
+
+ * ace/Log_Msg.cpp (log): Changed range check from
+
+ this->msg_ + ACE_Log_Record::MAXLOGMSGLEN
+
+ to
+
+ this->msg_ + sizeof this->msg_
+
+ to correspond to the change below.
+
+ * ace/Log_Msg.h (ACE_Log_Msg): Increased the size of the buffer
+ used to store log records to account for the NUL-terminator.
+
+ * tests/Svc_Handler_Test.cpp (main): Changed the buffer size
+ and NUL-terminated the buffer so that things print correctly.
+ Thanks to Nanbor for finding this.
+
+Sat Aug 25 09:00:28 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/TP_Reactor.cpp:
+ * ace/TP_Reactor.h (ACE_TP_Reactor): Fixed a warning in KCC
+ builds.
+
+Sat Aug 25 08:42:57 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Configuration_Import_Export.cpp: Fixed warnings with g++. I
+ am not sure how this fix will be accepted on different
+ compilers. Things are always dicy when you want to delete a
+ void *.
+
+Fri Aug 24 23:29:09 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * bin/auto_run_tests.lst: Added File_IO test to our daily builds.
+
+Fri Aug 24 23:12:15 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/WFMO_Reactor.h:
+ * ace/WFMO_Reactor.cpp (dispatch_notify): Fixed a compile error on
+ MSVC.
+
+Fri Aug 24 23:07:42 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Configuration_Import_Export.cpp: Fixed a compile error with
+ g++.
+
+Fri Aug 24 21:55:00 2001 Craig Rodrigues <crodrigu@bbn.com>
+
+ * ace/QoS/QoS_Session_Impl.cpp:
+ Check for null parameters in rsvp_callback().
+ Thanks to Yamuna Krishnamurthy <yamuna@cs.wustl.edu>.
+
+Fri Aug 24 20:32:39 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/MEM_Stream_Test.cpp: Changed this test to use multiple
+ processes on any platform without ACE_LACKS_FORK. It actually
+ could be broader than this if desired. This is motivated by the
+ fact that HP-UX can't mmap() (the call underlying ACE_MEM_IO)
+ the same file more than once in the same process. With this,
+ MEM_Stream_Test goes a lot better on HP-UX, though not perfectly
+ yet.
+
+Fri Aug 24 16:54:02 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_SOCK_Stream.h (recv_i):
+
+ Added a timeout parameter. See below for details.
+
+ * ace/SSL/SSL_SOCK_Stream.i (recv_i):
+
+ Perform an SSL_read() before attempting to block on select()
+ with a timeout. OpenSSL may buffer more data than requested
+ since it is a record-oriented protocol. Fixes a problem where
+ subsequent calls to ACE_SSL_SOCK_Stream::recv() could timeout
+ when needlessly blocking on select() because the expected data
+ has already been buffered by OpenSSL. Thanks to Martin
+ Krumpolec <krumpo@pobox.sk> for reporting and diagnosing the
+ problem. [Bug 1006]
+
+ * ace/SSL/SSL_SOCK_Stream.cpp (recv):
+
+ Moved the timed recv() code to the lower level recv_i() method
+ since timeout support must now be more tightly integrated with
+ do/while(SSL_pending()) SSL_read() loop.
+
+Fri Aug 24 18:33:09 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Parse_Node.cpp (ACE_Function_Node): Make sure to dynamically
+ allocate the pathname_ so we can delete it! Thanks to
+ Don Hinton for reporting this.
+
+ * ace/Configuration_Import_Export.cpp: Changed a couple of
+ delete (char *) buf to delete (char *) [] buf. Thanks to
+ Don Hinton for reporting this.
+
+Fri Aug 24 16:10:20 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ Merged in changes from the reactor_deadlock branch. This set of
+ changes actually fixes a long standing problem with the
+ TP_Reactor. The TP_Reactor was holding the token too long and
+ this created all sorts of problems for TAO. The changes have been
+ merged from the branch <reactor_deadlock> and here are the relevant
+ ChangeLog entries.
+
+ Fri Aug 24 14:59:52 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/TP_Reactor.cpp (dispatch_socket_events): Cosmetic changes.
+
+ Fri Aug 24 14:19:02 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Timer_Queue_T.i:
+ * ace/Timer_Queue_T.h:Removed the default constructor and
+ destructor for ACE_Timer_Node_Dispatch_Info_T allowing the
+ compiler to do the job.
+
+ Fri Aug 24 12:05:25 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Timer_Queue_T.cpp: Removed some vague debug statements.
+
+ Fri Aug 24 11:34:11 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Timer_Queue_T.h:
+ * ace/Timer_Queue_T.cpp:
+ * ace/Timer_Queue_T.i: Added a new class
+ ACE_Timer_Node_Dispatch_Info_T that has the dispatch information
+ needed to make the upcall. Added methods, dispatch_info () and
+ dispatch_info_i () in ACE_Timer_Queue_T. These methods return
+ the dispatch information if there is a node in the queue whose
+ timer value <= current time. Changed the expire () method to use
+ this method to get dispatch information.
+
+ * ace/Timer_Queue.h: Added a template specialisation for
+ ACE_Timer_Node_Dispatch_Info_T.
+
+ * ace/Timer_Queue.cpp: Added template instantiations for the
+ specialisation.
+
+ * ace/TP_Reactor.h:
+ * ace/TP_Reactor.cpp: Added a new method handle_timer_events ()
+ that would handles timer events.
+
+ Thu Aug 23 11:50:18 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Reactor_Impl.h: Added two new methods notify_handle () and
+ dispatch_notify () to the ACE_Reactor_Impl class.
+
+ * ace/Select_Reactor_Base.h:
+ * ace/Select_Reactor_Base.cpp: Implemented the above two
+ methods in the ACE_Select_Reactor_Notify class. The
+ notify_handle () method returns the handle of the pipe on which
+ it is listening. The dispatch_notify () call does a dispatch of
+ just one notify () call in the notify pipe. The handle_input ()
+ call that used to process all the notify calls now calls the
+ dispatch_notify () in a loop. The change essentially allows
+ some extrenal client of this class to just process one notify at
+ a time if needed.
+
+ * ace/TP_Reactor.h:
+ * ace/TP_Reactor.i:
+ * ace/TP_Reactor.cpp (handle_events): Fixed a bug with
+ handle_events (ACE_Time_Value &). This should be calling the
+ handle_events () of the TP_Reactor and not the select reactor.
+
+ Added a whole slew of new methods that basically allows us to do
+ this
+ - handle one event at a time
+
+ - once the thread knows the event that needs handling it should
+ release the token before dispatching the events
+
+ The new methods that have been added are
+
+ - handle_signals (), which handle signals that interrupted the
+ select (). The implementation of this method is busted. The
+ implementation has been copied from the existing setup
+
+ - handle_notify_events (), which handles one notify on the
+ notify_pipe at a time
+
+ - handle_socket_events (), which handles socket events.
+
+ Quite a few helper methods have also been added. They are
+ get_notify_handle (), get_socket_event_info (), and
+ dispatch_socket_events (). Removed the methods dispatch_i (),
+ dispatch_i_protected () and notify_handle (). This checkin fixes
+ the problem in 1002. But we still have to add handling timeouts
+ into the TP_Reactor.
+
+
+ Tue Aug 21 17:21:07 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/TP_Reactor.i:
+ * ace/TP_Reactor.h:
+ * ace/TP_Reactor.cpp: Made lots of changes which havent been
+ compiled yet. Added a new class ACE_TP_Token_Guard that helps
+ in obtaining and releasing tokens. Moved the grab_token () from
+ the ACE_TP_Reactor class to the TP_Token_Guard class. Added a
+ new method for handling signals. They havent been compiled yet
+ and this checkin is to put files from work to my home box.
+
+ Tue Aug 21 07:58:42 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/TP_Reactor.i:
+ * ace/TP_Reactor.h:
+ * ace/TP_Reactor.cpp (handle_events): Started refactoring some of
+ the code to help with this bug. This change has not been
+ compiled. This is just being done to transfer files from home
+ to work.
+
+Fri Aug 24 14:25:31 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * THANKS: Added Massimo Pichini <massimo@webbridges.it> to the
+ Hall of Fame.
+
+Fri Aug 24 13:40:01 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * bin/nightlybuilds/builds.lst: Removed HPUX and AIX_VAC for the
+ timebeing. Looks like OCI is running different versions of the
+ OS for their internal use.
+
+Fri Aug 24 10:17:00 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Log_Msg.cpp (log_hexdump): Added a patch provided by Massimo
+ Pichini <massimo@webbridges.it>. This prevents overflows with
+ long strings that are used in printing hexdumps. Previously we
+ had a buffer of 80 bytes on the stack.
+
+Fri Aug 24 10:03:29 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/INET_Addr.(h cpp): Applied changes submitted by
+ Alain Decamps <Alain.Decamps@PIDPA.be> to insure that
+ get_host_name (char hostname[], size_t len) const always
+ nul-terminates the hostname string. If the host lookup is
+ successful, but the supplied buffer is too short, the function
+ returns -1, errno == ENOSPC.
+
+Thu Aug 23 22:01:11 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * tests/Logging_Strategy_Test.cpp: Reverted this change "Thu Aug
+ 23 05:24:57 2001 Douglas C. Schmidt" as this was giving
+ warnings with MSVC 6.0
+
+Thu Aug 23 11:49:15 2001 Paul Calabrese <calabrese_p@ociweb.com>
+
+ * bin/msvc_auto_compile.pl:
+
+ Revert changes from Mon Aug 20 15:48:30 2001.
+ Thanks to Darrell to showing me the error in my ways.
+
+Thu Aug 23 09:17:25 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Log_Msg.cpp (file): Reduced the number of bytes copied in
+ ACE_Log_Msg::file () and ACE_Log_Msg::msg () by one. Thanks to
+ Alain Decamps <Alain.Decamps@PIDPA.be> for pointing this out.
+
+Thu Aug 23 08:11:22 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/Configuration_Import_Export.cpp (process_previous_line_format):
+ Prepend ACE_OS:: to atoi to work with both narrow and wide chars.
+
+Thu Aug 23 08:03:00 2001 Craig Rodrigues <crodrigu@bbn.com>
+
+ * ace/QoS/QoS_Session_Impl.cpp:
+ Improve debugging messages. Return -1 inside rsvp_callback()
+ if flowspec type is unknown.
+
+Thu Aug 23 05:24:57 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * tests/Logging_Strategy_Test.cpp: Added new and improved test that
+ it better documented and fixes some minor bugs. Thanks to
+ Edan Ayal for this.
+
+Wed Aug 22 19:04:57 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * tests/Logging_Strategy_Test.cpp: Enable this test to work
+ on platforms that don't support DLLs. Thanks to Edan Ayal
+ <edana@bandwiz.com> for suggestion this and providing the code.
+
+ * tests/Logging_Strategy_Test.cpp (parse_args): Changed 'n' for 'N'
+ since that controls the max number of log files. Thanks to Edan
+ Ayal <edana@bandwiz.com> for reporting this.
+
+Thu Aug 23 07:30:12 2001 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/SString.{h,i}: Added clear() method to the ACE_CString and
+ ACE_WString so that it is possible to clear a string in just one
+ call
+ * tests/SString_Test.cpp: Extended to test clear() method
+
+Wed Aug 22 15:30:05 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * bin/auto_compile:
+ Use the print_config.pl script to print out the configuration.
+
+Wed Aug 22 17:33:29 2001 Steve Huston <shuston@riverace.com>
+
+ Applied fixes submitted by Jerry D. Odenwelder, to fix
+ Bugzilla #953:
+
+ * ace/Configuration.cpp (import_config, export_config): Changed
+ from using a ACE_Ini_ImpExp object to an ACE_Registry_ImpExp
+ to preserve type information in the import/export files, and
+ retain the ability to read an ACE 5.1-format file (with the
+ changes next...)
+
+ * ace/Configuration_Import_Export.(h cpp): Added a new
+ ACE_Registry_ImpExp::process_previous_line_format() method that
+ knows how to read an ACE 5.1-format config line. If
+ ACE_Registry_ImpExp::import_config finds a line that does not
+ begin with one of <"[#;> it calls process_previous_line_format
+ to try to convert it using ACE 5.1-format rules.
+ Note that the auto conversion works on import. If the
+ object is subsequently exported, the new registry format
+ will be used to write the file, effectively updating it
+ from old to new format.
+
+Wed Aug 22 12:04:04 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/WFMO_Reactor.h (ACE_WFMO_Reactor): Clarified that the
+ work_pending() method isn't implemented and suggest what to do
+ for a workaround. Thanks to Michelangelo Riccobene
+ (michelangelo.riccobene@marconi.com) for reporting this.
+
+Wed Aug 22 10:38:08 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * bin/nightlybuilds/print_config.pl:
+ Add new perl script to print out the build configuration, the
+ script will be shared by the Unix and Win32 builds.
+
+Wed Aug 22 11:30:13 2001 Joe Hoffert <joeh@cs.wustl.edu>
+
+ * ace/OS_Memory.h:
+ Removed include of pace/stddef.h. PACE does not have this
+ file. There are no POSIX functions that typically reside
+ in this header. Maybe PACE will need this later but it
+ doesn't now.
+
+ * ace/OS.h (ACE_cond_t):
+ Modified #if guard to include ACE_cond_t class if we're
+ on Win32. If we're using PACE then we don't want this method
+ (since PACE takes care of it) unless we're on Windows. Win32
+ mutexes, semaphores, and condition variables are not yet
+ supported in PACE.
+
+ * ace/OS.cpp (ACE_OS::cond_destroy):
+ Modified #if guard to include ACE_cond_t::cond_destroy
+ if we're on Win32. If we're using PACE then we don't want
+ this method (since PACE takes care of it) unless we're on
+ Windows. Win32 mutexes, semaphores, and condition variables
+ are not yet supported in PACE.
+
+ * ace/OS.i (ACE_OS::waiters):
+ Modified #if guard to include ACE_cond_t::waiters if
+ we're not on Win32. If we're using PACE then we want
+ this method (since PACE defines cond_t) unless we're
+ on Windows. Win32 mutexes, semaphores, and condition
+ variables are not yet supported in PACE.
+
+Tue Aug 21 08:26:30 2001 David L. Levine <levine@cs.wustl.edu>
+
+ * docs/ACE-guidelines.html: changed the example referenced
+ in:
+ Sun Aug 19 08:17:14 2001 David L. Levine <levine@cs.wustl.edu>
+ to be a bit more realistic.
+
+Tue Aug 21 06:58:49 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Log_Msg.cpp: Fixed problematic uses of strncpy. Thanks to
+ Alain Decamps <Alain.Decamps@advalvas.be> for giving this patch.
+
+Tue Aug 21 10:40:12 2001 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Map.i: Made the return value of ACE_Incremental_Key_Generator
+ getCurrentValue() const
+
+ * ace/Map_Manager.*: Added a const iterator for the
+ ACE_Map_Manager
+
+Mon Aug 20 18:20:51 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/Process.cpp (pass_handle): Only try to compile the
+ DuplicateHandle stuff when !ACE_HAS_WINCE... I think it's
+ right this time...
+
+Mon Aug 20 15:54:46 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/SUN_Proactor.cpp: Removed the instantiation of
+ ACE_Condition<ACE_Thread_Mutex>. Thanks to David Trusty
+ <david.trusty@westwave.com> for reporting this.
+
+Mon Aug 20 15:48:30 2001 Paul Calabrese <calabrese_p@ociweb.com>
+
+ * bin/msvc_auto_compile.pl:
+
+ Modify script to print config.h contents.
+
+Mon Aug 20 13:14:00 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * bin/auto_compile:
+ Fixed chdir commands for the auto_compile scripts.
+
+Mon Aug 20 14:33:31 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/Message_Queue_T.cpp: If we timeout in the semaphore implementation
+ of the message queue in wait_not_full_cond() or
+ wait_not_empty_cond() make sure to decrement the "waiters" count
+ accordingly! Thanks to Patrick Rabau <Patrick.Rabau@htc.com>
+ for noticing this in the C++NPv1 book version!
+
+Mon Aug 20 07:01:31 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/Synch_T.i (release): If owner_ == -1 then return
+ -1. Thanks to Don Hinton <dhinton@swan.fr> for suggesting this.
+
+Mon Aug 20 13:18:51 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/SOCK.h: Corrected comment on ACE_SOCK ctor being protected,
+ not private. Thanks to Don Hinton <dhinton@swan.fr> for
+ pointing this out.
+
+ * THANKS: Added Don Hinton to the Hall of Fame.
+
+Mon Aug 20 11:00:50 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/OS.h:
+
+ Set the ACE_DEFAULT_FILE_PERMS to the correct value for VxWorks.
+
+ * tests/run_test.lst:
+
+ Removed tests for VxWorks for which the platform has no support.
+
+ * tests/CDR_File_Test.cpp:
+ * tests/Svc_Handler_Test.cpp:
+
+ Add VxWorks to the list of platforms that can't unlink the file
+ in advance of the test completing.
+
+Mon Aug 20 01:49:12 2001 Christopher Kohlhoff <chris@kohlhoff.com>
+
+ * include/makeinclude/build_dll.bor:
+ Build non-core DLLs into the common bin directory. This is necessary
+ so that the tests can find all the DLLs they need on the path.
+
+ * tests/run_test.pl:
+ Removed the append of the ExeSubDir to the path, since it is no
+ longer needed and never really worked properly anyway.
+
+Mon Aug 20 00:01:29 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/SOCK_Connector.h: Clarify the conditions under which errno
+ will be ETIME (caller-specified timeout expires w/o connect)
+ vs. ETIMEDOUT (protocol layer timed out the connect).
+
+ * ace/SOCK_Connector.cpp: Add "|| errno == ETIME" to a couple
+ places where an ACE_ERROR is _not_ done for certain conditions.
+
+ * ace/ACE.cpp (handle_timed_complete): If the user-specified timeout
+ expires before the connect is resolved one way or the other,
+ set errno to ETIME, not ETIMEDOUT. This makes it match the
+ documented behavior in the ACE_SOCK_Connector man page.
+
+Sun Aug 19 20:33:39 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * bin/nightlybuilds/builds.lst:
+ Update build list
+
+Sun Aug 19 15:36:23 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * bin/auto_compile:
+ Add new 'Config' section at the end of the build, useful for the
+ next generation scoreboard.
+
+Sun Aug 19 13:25:51 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * bin/footprint_stats.sh:
+ * bin/performance_stats.sh:
+ * bin/generate_footprint_chart.sh:
+ * bin/generate_performance_chart.sh:
+ * html/Stats/Stats.css:
+ * html/Stats/configuration.shtml:
+ * html/Stats/detailed_footprint.shtml:
+ * html/Stats/detailed_performance.shtml:
+ * html/Stats/footer.html:
+ * html/Stats/index.shtml:
+ * html/Stats/navigation.html:
+ Put the scripts and HTML documents used to generate the Stats
+ pages under CVS control. Now it is easier for people to add
+ their own libraries and tests, as well as let our user community
+ examine the way the pages are generated.
+
+ * bin/auto_run_tests.lst:
+ Remove TAO/tests/LongUpcalls/run_ami_test.pl, the tests have
+ been incorporated into the run_test.pl script.
+
+ * bin/sandbox.cpp:
+ Minor changes to the sandbox script, actually not very useful,
+ the ACE classes to create processes start a new process group by
+ default, therefore there is no simple way to kill all the
+ subprocesses if a test fails.
+
+Sun Aug 19 08:17:14 2001 David L. Levine <levine@cs.wustl.edu>
+
+ * docs/ACE-guidelines.html: replaced function call in
+ ASSERT with simple comparison of a variable value. Thanks
+ to Tino Schwarze <tino.schwarze@informatik.tu-chemnitz.de>
+ for suggesting this.
+
+Sat Aug 18 18:26:24 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/ACE.cpp: Removed the ASYS_INLINE macro from the definition
+ of write_n ().
+
+Sat Aug 18 13:18:10 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/ACE.{h,cpp}: Added a new write_n(...ACE_Message_Block *...)
+ for file transfers that's the dual of
+ send_n(...ACE_Message_Block *...). This helps out the C++NPv1
+ book symmetry. Thanks to Alain Decamps <Alain.Decamps@PIDPA.be>
+ for motivating this.
+
+Fri Aug 17 18:17:38 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * bin/clone.cpp: Only use extern char *sys_errlist[] if we're not
+ compiling on Linux. Thanks to Thomas Groth
+ <groth.th@stn-atlas.de> for reporting this.
+
+Fri Aug 17 19:04:31 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/Process.cpp (ACE_Process_Options::pass_handle): For WinCE,
+ just do ACE_NOTSUP_RETURN (-1). It can't dup a handle.
+
+Fri Aug 17 16:56:16 2001 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * ace/CDR_Stream.h:
+ * ace/CDR_Stream.i:
+ * ace/CDR_Stream.cpp:
+
+ Added wr_ptr() accessor method to ACE_InputCDR, and added its
+ use to adjust(), align_read_ptr(), read_1(), skip_string() and
+ skip_bytes() instead of end(). Also added reset of good_bit_
+ to 0 upon failure in read_string() and read_wstring(). Thanks to
+ Peter Phillips <pphillip@opentext.com> for reporting this bug,
+ which was causing excessive memory allocation is some cases.
+ [Bug 591, 944, 983]
+
+Fri Aug 17 13:31:45 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * tests/run_test.pl:
+
+ Added the ability to generate windsh commands to load and run
+ the ace tests.
+
+ * tests/Makefile:
+
+ Added a rule to generate run_test.vxworks, using run_test.pl,
+ which can be used to run the tests selected for the VxWorks OS.
+
+ * tests/run_test.lst:
+
+ Update this list to take into account the limitations of VxWorks.
+
+ * tests/test_config.h:
+
+ Change the permissions of the log file open (for VxWorks only) to
+ use the symbolic permission names instead of 0x644. The
+ permissions differ from the standard UNIX modes.
+
+ * tests/run_tests.vxworks:
+
+ This file was out of date and no longer needs to be maintained.
+ So, it has been removed.
+
+Fri Aug 17 09:44:49 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Map_T.{h,i}: Reverted this change "Fri Aug 17 08:07:12 2001
+ Johnny Willemsen <jwillemsen@remedy.nl>" as this was giving too
+ much of warnings in the builds.
+
+Fri Aug 17 09:30:34 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * gperf/apps/tests/Makefile: Fixed the problem that was causing
+ the builds to fail.
+
+Fri Aug 17 08:07:12 2001 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Map_T.(h i): made the return value of
+ ACE_Incremental_Key_Generator::current_value const T& instead
+ of T&. Added uppercase traits to the ACE_Map class.
+
+Thu Aug 16 19:27:29 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/Process.cpp (ACE_Process_Options::pass_handle): Add
+ "::" to front of "DuplicateHandle" so the WinCE compiler
+ sees the right function.
+ Also added ctor/dtor for ACE_Managed_Process to try and fix the
+ can't find vtable error on Linux.
+
+ * ace/Process.h: Added a constructor for ACE_Managed_Process
+ to fix "can't find vtable" error on Linux.
+
+ * ace/Process.i: Moved ACE_Managed_Process dtor to .cpp file.
+
+Thu Aug 16 15:10:42 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/Process.h (pass_handle): Clarify comments for this method.
+
+ * ace/Process_Manager.cpp:
+ * ace/Process.(h i): Moved the ACE_Managed_Process class out
+ of Process_Manager.cpp, exposing it for general use.
+
+Thu Aug 16 10:34:20 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/POSIX_Proactor.cpp (allocate_aio_slot): Added a fix so that
+ the POSIX Proactor compiles with FreeBSD 4.4. Thanks to Yev
+ Omenzel <omenzel@yahoo.com> for reporting this and to Craig
+ Rodrigues <crodrigu@bbn.com> for fixing it and to
+ John E Hein <jhein@timing.com> for fixing the fix ;-)
+
+Thu Aug 16 08:09:53 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * tests/run_test.lst:
+
+ Added the OTHER requirement to the Thread_Pool_Reactor_Test and
+ the Thread_Pool_Reactor_Resume_Test. These are only built if
+ OTHER is part of the ACE components list.
+
+
+Wed Aug 15 15:50:38 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/WFMO_Reactor.cpp: Don't try to purge the notifications if
+ notify_handler_ is 0. Thanks to Edan Ayal
+ <edanayal@hotmail.com> for reporting this.
+
+Wed Aug 15 11:33:26 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * bin/nightlybuilds/builds.lst:
+ Remove one build from the list, the machine is being retargeted
+ for performance testing.
+
+Wed Aug 15 11:10:22 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * include/makeinclude/wrapper_macros.GNU: Added $(VDIR) for
+ OBJDIRS. This prevents hardcoding the value of OBJDIRS. This has
+ been tested for a dynamic and a static library on Linux. If
+ there are other platforms that gives problems, please feel free
+ to revert the changes to the version 4.114 of the file.
+
+Wed Aug 15 09:35:19 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/Dirent_Test.cpp:
+
+ Added #define's for VXWORKS that allow this test to function
+ properly. Avoid hard-coded relative paths that may not exist on
+ VxWorks.
+
+Wed Aug 15 09:08:40 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/Sock_Connect.cpp:
+
+ Added an implementation to ACE_Sock_Connect::get_ip_interfaces().
+ With this, the Enum_Interfaces_Test works correctly.
+
+Wed Aug 15 07:54:49 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * include/makeinclude/wrapper_macros.GNU: Unravelled the mystery a
+ bit. The patch that was applied to remove the hard coding of
+ OBJDIRS seems to be the problem. The OBJDIRS has been hardcoded
+ again. This should fix the problems that we have been seeing in
+ the builds. If at all we need to remove hardcoding the OBJDIRS,
+ we either need to put the value of VDIR or VSHDIR. If we put
+ both we are going to end up with duplicate targets. Now the
+ killer, what do we add to the OBJDIRS? Me thinks it is VDIR. I
+ have test that out else I would be breaking builds again.
+
+Wed Aug 15 07:30:00 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * include/makeinclude/wrapper_macros.GNU: Reverted the change "Tue
+ Aug 14 21:42:24 2001 Balachandran Natarajan". Thought that was a
+ typo. But looks like it is not.
+
+Wed Aug 15 06:39:50 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Process.cpp: Fixed a warning with g++.
+
+Tue Aug 14 23:57:42 2001 Steve Huston <shuston@riverace.com>
+
+ * A set of changes to encapsulate passing handles to spawned
+ processes. Thanks very much to Eamonn Saunders
+ <Esaunders@softricity.com> for suggesting that this could work
+ and pointing out the Win32 details!
+
+ * THANKS: Added Eamonn Saunders to the Hall of Fame
+
+ * ace/Handle_Set.h: Replace include ace/ACE.h with ace/OS.h. This
+ class is part of the OS subset.
+
+ * ace/Process.h: Added the following methods:
+ - ACE_Process_Options::pass_handle (ACE_HANDLE). Cause the specified
+ handle to be passed to a child process when it's spawned. Has
+ meaning mainly for Win32. The handle value will be included
+ in the spawned process's command line as +H <handle>. The passed
+ handle value will be duplicated if on Win32 less than NT4.
+
+ - ACE_Process_Options::dup_handles (ACE_Handle_Set set) const
+ Get a copy of the handles the ACE_Process_Options duplicated
+ for the spawned process.
+
+ - ACE_Process_Options::passed_handles (ACE_Handle_Set set) const
+ Get a copy of the handles passed to the spawned process. This
+ will be the set of handles previously passed to pass_handle().
+
+ - ACE_Process::close_dup_handles (). Close all the handles in
+ the set obtained from ACE_Process_Options::dup_handles.
+
+ - ACE_Process::close_passed_handles (). Close all the handles in
+ the set obtained from ACE_Process_Options::passed_handles.
+
+ Also moved the avoid_zombies() functions and flag out of the
+ non-Win32 section - it can safely be ignored, maintain the
+ intended semantics, and help apps stay portable.
+
+ * Process.cpp: Implement the above new methods. Also, after spawning
+ a process, the parent will call the above dup_handles/passed_handles
+ methods to get any passed handles. The close_*_handles() methods
+ can then close them. Also, the destructor will call close_dup_handles
+ to be sure that no handles leak on Win32 less than NT4.
+
+ * Process.i (command_line_buf ()): Added a new arg to receive the
+ maximum length of the buffer pointed to on return. To maintain
+ backward compatibility, the arg defaults to 0 (don't return
+ the max length).
+
+ * ace/Makefile: Moved Handle_Set from the UTILS group to the OS group.
+
+ * ace/ace.icc: Moved Handle_Set from DEMUX to OS.
+
+ * docs/ACE-subsets.html: Move Handle_Set from DEMUX to OS.
+
+Tue Aug 14 21:42:24 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * include/makeinclude/wrapper_macros.GNU: Fixed a typo.
+
+Tue Aug 14 21:30:04 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * apps/Makefile: Removed JAWS2 and JAWS from the Makefile. There
+ are several reasons for reverting. This breaks the builds. The
+ Makefiles in the recursed directories are all messed up. The
+ library dependencies doesnt seem trivial. Nobody may have time
+ to fix this. Further, our daily builds return too quickly and we
+ just needed more files to compile :-).
+
+Tue Aug 14 14:19:49 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/Memory_Pool.i (ACE_Local_Memory_Pool dtor): Call release()
+ here to free up the blocks allocated by the pool, else they're
+ stranded and can't be freed.
+
+ * ace/Memory_Pool.cpp (ACE_Local_Memory_Pool::release): After
+ freeing up the blocks, reset the allocated_chunks_ set to be
+ sure they are also freed, and the chunks can't be freed again.
+
+Tue Aug 14 14:19:37 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Log_Msg.cpp: Applied the patches sent by Tibor Kiss
+ <tkiss@mindmaker.hu> for ACE_Log_Msg::close ()
+
+Tue Aug 14 13:55:42 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * include/makeinclude/platform_macosx.GNU: Added a patch from John
+ Michael Zorko <j.zorko@att.net>.
+
+Tue Aug 14 10:21:39 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/Log_Msg.h: Clarified the defaults for the per-process and
+ per-instance default priority masks.
+
+Mon Aug 13 14:01:35 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * include/makeinclude/wrapper_macros.GNU: Fixed some hard-coded
+ uses of .shobj and .obj. Thanks to Shashi Bhushan
+ <Shashi.Bhushan@lmco.com> for contributing these.
+
+ * ace/CDR_Stream.h: Added comments warning about the deletarious
+ effects of not aligning buffers to ACE_InputCDR and
+ ACE_OutputCDR properly. Thanks to Alain Decamps
+ <Alain.Decamps@PIDPA.be> for reporting this.
+
+Sun Aug 12 14:46:07 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/OS.cpp (sched_params): Make sure to set errno for Win32 so
+ that callers can figure out what's going wrong in a consistent
+ way.
+
+ * ace/Select_Reactor_Base.i (purge_pending_notifications): Don't
+ try to purge the notifications if notify_handler_ is 0. thanks
+ to Steve Rahn <SRahn@rim.net> for reporting this.
+
+Mon Aug 13 20:09:04 2001 Balachandran <bala@cs.wustl.edu>
+
+ * ACE version 5.1.19 released.
+
+Sun Aug 12 02:17:01 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/MEM_Acceptor.cpp:
+ * ace/MEM_Connector.cpp: On non-Win32 platforms, disable
+ multithreaded MEM_IO if _ACE_USE_SV_SEM is defined.
+
+Sun Aug 12 01:27:51 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/Log_Msg_Test.cpp: Correct const-ness of a pointer
+ retrieved from ACE_Log_Record::msg_data().
+
+Sun Aug 12 00:34:42 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/Log_Record.h:
+ * ace/Log_Record.i (msg_data()): Changed ACE_TCHAR *msg_data()
+ to: const ACE_TCHAR *msg_data (void) const. Makes it safer,
+ and conforms to all current usage inside ACE. Also makes
+ C++ Network Programming examples simpler :-)
+
+Sat Aug 11 09:01:11 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Thread.h:
+ * ace/Task.h: Added a list of other flags that can be passed to
+ activate().
+
+Fri Aug 10 19:39:48 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * bin/auto_run_tests.lst:
+
+ Disabled the Blocking_Sync_None test from running under Tru64.
+ Also changed the config parameter passed to the auto_compile
+ script from TRU_64 to Tru64 in
+ ~bugzilla/bin/auto_compile_tru64_cxx.
+
+ This is so that the test is disabled only for the WashU builds.
+ The reason being that Bala was not too happy with changing the
+ default values for all the platforms and we also wanted to avoid
+ more #ifdefs in the code. Other builds might have better values
+ and the test might succeed. Have to confirm this though.
+
+Fri Aug 10 17:59:47 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/Svc_Conf_y.cpp:
+ * ace/OS.h: Added /**/ between #include and <sys/modem.h> and
+ <alloca.h> to avoid warning from CE compiler.
+
+ * ace/ace_dll.vcp: Added Svc_Conf_Lexer_Guard.* to the project.
+
+Fri Aug 10 13:40:46 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/nightlybuilds/builds.lst:
+
+ I didn't realize the LIST definition was needed. I have
+ added it for the Tru64 4.0f Compaq C++ 6.3-10 build.
+
+Fri Aug 10 11:45:03 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/nightlybuilds/builds.lst:
+
+ Added the Tru64 4.0f Compaq C++ 6.3-10 build.
+
+Fri Aug 10 11:06:23 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * apps/drwho/CM_Client.cpp:
+ * apps/drwho/CM_Server.cpp:
+ * apps/drwho/server.cpp:
+
+ Changes to avoid warnings on HP-UX with aCC.
+
+Thu Aug 9 16:56:05 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Hash_Map_Manager_T.i:
+ * ace/Hash_Map_Manager_T.cpp: We seem to be re-inventing wheels
+ again and again. A few months back we had a show stopper in a
+ beta which was caused by usage of static cast. The cast was not
+ to the liking of SunCC 4.2. Looks like we had to change a bunch
+ of static cast sprayed in these two files to a C style cast as
+ 4.2 doesnt like them. Compilers like Borland handle these
+ better, but not 4.2.
+
+Thu Aug 9 11:51:10 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * include/makeinclude/platform_hpux_aCC.GNU: On popular mandate we
+ have the -w flag removed from CCFLAGS in the above file. Looks
+ like the -w disables lots of warnings that may be useful.
+
+Thu Aug 9 11:41:01 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/CDR_Stream.h (ACE_OutputCDR): Fixed the ambigous constructor
+ problem. The InputCDR class had two constructors which were
+ similar if the default values for the arguments were
+ exercised. Thanks to Torbjorn Backstrom
+ <torbjorn.k.backstrom@volvo.com> for reporting this.
+
+Thu Aug 9 12:31:21 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/OS_String.cpp (strtok_r_emulation): Make sure to check
+ for a NULL return from strtok() before calling strlen()! Thanks
+ to Boris Sukholitko <boriss@richfx.com> for reporting this.
+
+Wed Aug 08 21:27:50 2001 Ossama Othman <ossama@uci.edu>
+
+ * bin/nightlybuilds/builds.lst (Debian_Wchar, Debian_GCC_3.0):
+
+ The host these nightly builds were built on is now called
+ "rumba" (previously "valinor"). Updated the build list
+ accordingly.
+
+Wed Aug 08 21:19:09 2001 Ossama Othman <ossama@uci.edu>
+
+ * tests/Service_Config_Test.UTF-16.conf:
+
+ Removed extraneous characters from this file that were causing
+ the Service Configurator's underlying lexer to "choke."
+
+Wed Aug 8 16:23:31 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * bin/auto_run_tests.lst:
+ Add the AMI_Buffering tests to the nightly regression testsuite.
+
+Wed Aug 8 16:07:26 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * bin/auto_run_tests.lst: The GIOP lite tests will not work in the
+ static builds. It was adding more complications to the test
+ than what is already there to get it working for the static
+ builds.
+
+Wed Aug 8 14:06:36 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * ace/config-tru64.h:
+
+ Define ACE_HAS_NONSTATIC_OBJECT_MANAGER for all DEC Unix 4.x
+ versions.
+
+ * ace/config-cxx-common.h:
+
+ Define ACE_AUTO_PTR_LACKS_RESET if __DECCXX_VER == 60190027.
+ Thanks to Robert Burke <c-robert.burke@wcom.com> for reporting
+ this.
+
+ * include/makeinclude/platform_osf1_3.2.GNU:
+ * include/makeinclude/platform_osf1_4.0.GNU:
+ * include/makeinclude/platform_osf1_4.0_g++.GNU:
+ * include/makeinclude/platform_osf1_4.0_kcc.GNU:
+ * include/makeinclude/platform_osf1_4.0_rcc.GNU:
+
+ Removed the following files.
+
+ * include/makeinclude/platform_osf1_3.2_cxx.GNU:
+ * include/makeinclude/platform_osf1_4.x_cxx.GNU:
+ * include/makeinclude/platform_osf1_4.x_g++.GNU:
+ * include/makeinclude/platform_osf1_4.x_kcc.GNU:
+ * include/makeinclude/platform_osf1_4.x_rcc.GNU:
+
+ Added new versions of the removed files.
+
+ * include/makeinclude/platform_tru64_pre.GNU:
+ * include/makeinclude/platform_tru64_post.GNU:
+
+ Moved a lot of duplicated code into these new files.
+
+ * include/makeinclude/platform_tru64_cxx.GNU:
+ * include/makeinclude/platform_tru64_g++.GNU:
+ * include/makeinclude/platform_tru64_kcc.GNU:
+
+ Removed a lot of old *cruft* like setting up compilation with
+ cxx when gcc was asked for etc. etc. Somebody went overboard
+ with cut'n paste and copied David's changes blindly. Still not
+ completely satisfied. But it works and is better than before.
+ This also fixes Bug Id 989.
+
+Wed Aug 08 11:30:26 2001 Ossama Othman <ossama@uci.edu>
+
+ * tests/Service_Config_Test.cpp (run_test):
+
+ Don't check if "ACE_USES_WCHAR == 1" since some configurations
+ neglect to set it an integer value. Instead, just check if it
+ is defined.
+
+Wed Aug 8 12:31:51 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * tests/MEM_Stream_Test.cpp: Changed a ACE_DEBUG statment with an
+ LM_WARNING to an LM_DEBUG.
+
+Wed Aug 08 11:59:45 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/OS.h: Do not redefine ACE_IOV_MAX if it has already been
+ defined.
+
+Wed Aug 8 06:21:24 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Makefile: Moved Message_Block from STREAMS_FILES to
+ UTILS_FILES.
+
+ * ace/OS_Dirent.inl (closedir): Changed delete d->directory_name_ to
+ delete [] d->directory_name_. Thanks to Olivier Brunet
+ <obrunet@groupama-ccama.tm.fr> for reporting this.
+
+Tue Aug 7 21:59:42 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * tests/Svc_Handler_Test.cpp: Modified the test to dump the contents
+ of the temporary file to the log file.
+
+Tue Aug 7 19:14:24 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/CDR_Stream.i:
+ * ace/SOCK_Stream.h: Fixed incorrect comments.
+ Thanks to Alain Decamps <Alain.Decamps@PIDPA.be> for reporting
+ these.
+
+Tue Aug 7 15:19:38 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace: Changed all uses of IOV_MAX to use the new ACE_IOV_MAX.
+ * ace/OS.h: Added a new ACE_IOV_MAX that makes it clear this is
+ an ACE-level #define. We use this in C++NP v1.
+
+Tue Aug 7 14:16:57 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/Svc_Handler.cpp: Reimplemented the flush() method to use
+ the new send_n() method on the various ACE I/O classes.
+
+ * ace/SOCK_Stream.{h,i}:
+ * ace/FILE_IO.{h,i}: Added a new send_n() method that sends all
+ the <message_block>s chained through their <next> and <cont>
+ pointers using the underlying OS gather-write operation to
+ reduce the domain-crossing penalty.
+
+Tue Aug 7 17:27:16 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * tests/Collection_test.cpp: Fixed a compile error with g++. This
+ is a patch that Johnny Willemsen sent as a part of his last
+ checkin.
+
+Tue Aug 07 11:25:36 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/config-freebsd-pthread.h: Made the following definition
+ valid only for pre-4.2-RELEASE.
+
+ #define ACE_LACKS_GETPGID
+ #define ACE_LACKS_SETPGID
+ #define ACE_LACKS_SETREGID
+ #define ACE_LACKS_SETREUID
+
+ Thanks to Robert Burke <rburke2002@yahoo.com> for reporting
+ this.
+
+Tue Aug 07 16:40:12 2001 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Hash_Map_Manager_T.*:
+ Added const_iterator to the Hash_Map_Manager so that it is
+ possible to iterate over a hash map in a const method
+
+ The operator= of the iterator now check the value of this to
+ check that the iterator instance is assigned to itself
+
+ * tests/Hash_Map_Manager_Test.cpp
+ Extended this test to test the new const_iterator capabilities
+ of the hash map
+
+ * ace/Unbounded_Set.cpp:
+ Implemented missing operator* for the const iterator
+
+ * tests/Collection_test.cpp:
+ Extended test to test the operator* of the
+ Unbounded_Set_Const_Iterator
+
+Mon Aug 6 19:58:48 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/config-hpux-11.00.h: Added #define for ACE_HAS_TERM_IOCTLS.
+ Thanks to Torbjorn Backstrom <torbjorn.k.backstrom@volvo.com>
+ for reporting this.
+
+ * ace/OS.h: Added a #include for <sys/modem.h> for HP/UX. Thanks
+ to Torbjorn Backstrom <torbjorn.k.backstrom@volvo.com> for
+ reporting this.
+
+Mon Aug 6 12:51:35 2001 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
+
+ * ace/Synch.h (ACE_Null_Mutex>): Fixed a cut&paste error
+ where acquire_write() should be acquire_read(). Thanks to
+ Russell Mora <rd.mora@router.econz.co.nz> for fixing this.
+
+Mon Aug 06 17:17:33 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/Service_Config.cpp:
+
+ Fixed some debugging messages that were not wrapped within an
+ ACE_LIB_TEXT macro.
+
+ * tests/Service_Config_Test.UTF-16.conf:
+
+ Interim UTF-16 encoded version of the UTF-8 encoded
+ Service_Config_Test.conf. It was generated on a little-endian
+ host. Its current purpose is simply to keep our Unicode
+ regression testing happy until the on-the-fly generation is
+ implemented. Once we start generating this file on-the-fly
+ this file should disappear.
+
+ * tests/Service_Config_Test.cpp (run_test):
+
+ When using full Unicode support, use the version of the Service
+ Configurator file that is UTF-16 encoded (as described above).
+
+Mon Aug 06 11:10:24 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/Svc_Conf_l.cpp:
+
+ More Unicode fixes. Flex's allocation function uses malloc() as
+ its underlying allocator. Since it only accepts the size in
+ bytes, allocate "size * sizeof (ACE_TCHAR)" when allocating
+ string buffers. This should clear up some strange looking text
+ "unknown character" messages emanating from the Service
+ Configurator's underlying text scanner.
+
+ Note that these changes do not fix the cause of the "unknown
+ character." Those fixes should soon follow.
+
+Mon Aug 06 09:04:04 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/Svc_Conf.l:
+
+ Unicode updates. Wrap debugging text within an ACE_LIB_TEXT
+ macro.
+
+Sun Aug 5 14:31:10 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * tests/run_tests.lst: Ossama suggested that we dont run the
+ Service_Config_Test in static builds.
+
+Fri Aug 04 3:33:31 2001 Yamuna Krishnamurthy <yamuna@cs.wustl.edu>
+
+ * ace/QoS/SOCK_Dgram_Mcast_QoS.h:
+ * ace/QoS/SOCK_Dgram_Mcast_QoS.cpp:
+
+ Made the open method public so we can open UDP sockets for
+ non-multicast addresses.
+
+Fri Aug 03 22:19:31 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/config-hpux-11.00.h: Added ACE_HAS_WCHAR to build in the
+ wide char handling since Darrell so nicely straightened all
+ the muck out throughout ACE. Thanks Darrell!
+
+Fri Aug 03 22:15:51 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/Log_Msg.cpp (log): For 'W' and 'w' on HP-UX, the 'ls' and
+ 'lc' forms are not allowed; HP-UX requires 'S' and 'C'.
+
+Fri Aug 3 13:10:59 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/config-linux-common.h (ACE_UINT64_FORMAT_SPECIFIER,
+ ACE_SSIZE_T_FORMAT_SPECIFIER, ACE_SIZE_T_FORMAT_SPECIFIER):
+
+ Removed unnecessary and some incorrect format specifiers for the
+ 32-bit platform case. In particular, the format specifier for
+ an unsigned 64-bit integer was incorrectly set to "%Lu." "%L"
+ is the format specifier for a "long double," not a "long long"
+ integer on 32-bit platforms. "%llu" is the correct format
+ specifier which `ace/Basic_Types.h' already defines.
+
+Fri Aug 3 09:55:38 2001 Ossama Othman <ossama@uci.edu>
+
+ * bin/auto_run_tests.lst:
+
+ Added the new TAO "DLL_ORB" test to the list of tests to run.
+
+Fri Aug 3 08:26:45 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/RW_Process_Mutex.cpp: Added a missing comma in the
+ constructor. This should fix Win32 compile errors.
+
+Fri Aug 3 08:07:45 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/CDR_Base.cpp: Added a check for a memory allocation failure
+ in grow (). Thanks to Francis Paul <FranciP@navcanada.ca> for
+ pointing this out.
+
+Thu Aug 2 18:37:23 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/RW_Process_Mutex.cpp: Added ACE_DEFAULT_OPEN_PERMS
+ to the constructor call to ACE_RW_Process_Mutex so that it does
+ the right thing on Win32. Thanks to Wayne Erchak
+ <werchak@stentor.com> for reporting this. This fixes
+ bugid 996.
+
+Thu Aug 02 13:04:19 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/ace.icc: Added Intrusive_List.cpp to the TEMPLATE_FILES
+ section.
+
+Thu Aug 02 06:59:39 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/Basic_Types.h (ACE_SIZEOF_WCHAR): If ACE_HAS_XPG4_MULTIBYTE_CHAR
+ is defined, use sizeof(wchar_t) to set ACE_SIZEOF_WCHAR.
+
+Wed Aug 1 16:05:49 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * Merged changes from the fix_886 branch
+
+ Tue Jul 31 09:17:49 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * ace/Intrusive_List.h:
+ * ace/Intrusive_List.inl:
+ Add new methods to access the head and tail of the list.
+
+ * ace/Intrusive_List.cpp:
+ Fixed the implementation of remove(), if the element to be
+ removed was the last on the list it wasn't removed at all.
+ Left some code to check invariants, have to find a way to keep
+ that code around with some optional compilation flags.
+
+ Thu Jul 26 16:50:54 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * ace/Makefile:
+ * ace/Makefile.am:
+ * ace/Makefile.bor:
+ * ace/Intrusive_List.h:
+ * ace/Intrusive_List.inl:
+ * ace/Intrusive_List.cpp:
+ Add new template to implement intrusive lists, i.e. lists that
+ assume their elements implement the next() and prev() methods.
+
+ * ace/Intrusive_List_Node.h:
+ * ace/Intrusive_List_Node.inl:
+ * ace/Intrusive_List_Node.cpp:
+ Helper class to add the requirements of ACE_Intrusive_List to
+ any other class, simply do:
+ class Foo : public ACE_Intrusive_List_Node<Foo>
+
+Wed Aug 1 15:57:35 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/Message_Block.cpp (release, release_i):
+
+ Obtain the pointer to the allocator from the object that will be
+ destroyed before calling ACE_DES_FREE on the object. Previously
+ we were obtaining the allocator after the object was destroyed,
+ due to the way the ACE_DES_FREE macro works. Thanks to Hyman
+ Rosen <hyrosen@mail.com> for reporting the problem, and to
+ Carlos for suggesting a fix. [Bug 992]
+
+Wed Aug 1 15:00:21 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/Log_Record.{h,i}: Changed msg_data_len() from a "setter"
+ to a "getter" method, which makes more sense. Thanks to Patrick
+ Rabau <Patrick.Rabau@htc.com> for reporting this.
+
+Wed Aug 1 12:43:57 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/Svc_Conf_l.cpp:
+
+ Reintegreated Nanbor's change (Wed Jun 13 10:22:10 2001 Nanbor
+ Wang <nanbor@cs.wustl.edu>) that enables proper handling of
+ UNICODE Service Configurator directives.
+
+Wed Aug 1 07:14:42 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * include/makeinclude/platform_vxworks5.x_g++.GNU: Checked in a new
+ version of this file, which includes support for the Hitachi
+ chip. Thanks to Frank Wolf for this.
+
+ * ace/Log_Record.cpp (format_msg): Added a cast to fix a warning.
+ Thanks to Bala for reporting this.
+
+Tue Jul 31 22:53:26 2001 Ossama Othman <ossama@uci.edu>
+
+ * tests/libService_Config_DLL.icc:
+
+ New Visual Age project file for the libService_Config_DLL
+ library.
+
+ * tests/Makefile.am:
+
+ Added build targets/dependencies for the libService_Config_DLL
+ library.
+
+Tue Jul 31 22:46:33 2001 Ossama Othman <ossama@uci.edu>
+
+ * tests/Service_Config_DLL.dsp:
+ * tests/Service_Config_Test.dsp:
+
+ Removed the static library configurations. The
+ Service_Config_Test currently requires dynamically loadable
+ objects. Fixes Win32 "LIB" build failures.
+
+Tue Jul 31 22:10:48 2001 Ossama Othman <ossama@uci.edu>
+
+ * tests/Service_Config_Test.cpp (run_test):
+
+ Wrap strings passed to ACE_ARGV::add() within an ACE_TEXT
+ macro. Fixes Unicode conversion problems.
+
+Tue Jul 31 16:53:57 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/Svc_Conf.h (ace_yyrestart, ace_yy_delete_parse_buffer,
+ ace_yydirective):
+
+ Remove these global function and variable declarations. They
+ are no longer used.
+
+Tue Jul 31 16:43:33 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/Basic_Types.h:
+
+ If "__LITTLE_ENDIAN__" is defined then assume that the
+ architecture is little endian. Some compilers/platforms define
+ that macro. Suggested by Frank Wolf" <fwolf@gum.de>.
+
+ * ace/Svc_Conf.h (yy_push_buffer):
+ * ace/Svc_Conf.l (yy_push_buffer):
+ * ace/Svc_Conf_l.cpp (ace_yy_push_buffer):
+ * ace/Svc_Conf_Lexer_Guard.cpp (ACE_Svc_Conf_Lexer_Guard):
+ * ace/Svc_Conf_Lexer_Guard.h (ACE_Svc_Conf_Lexer_Guard):
+
+ The Service Configurator directive is an "ACE_TCHAR *" not a
+ "char *". Updated these method/function parameters to accept
+ the former. Fixes a compile-time problem on "wchar/Unicode"
+ builds.
+
+Tue Jul 31 05:34:48 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/OS.h: Removed a spurious WNOHANG definition. Thanks to
+ Christina Junru <junruli@lucent.com> for reporting this.
+
+Mon Jul 30 15:31:42 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/Log_Msg.{h,i,cpp}: Fixed this class so that all of its fields
+ are ACE_UINT32 or ACE_INT32 internally so that it'll always be
+ the same on all platforms. Thanks to Fabris
+ <fabris65@my-deja.com> for reporting this.
+
+Tue Jul 31 10:22:38 2001 Ossama Othman <ossama@uci.edu>
+
+ * tests/Makefile:
+
+ Only build the Service_Config_Test if shared libraries are
+ enabled, since it attempts to dynamically load a shared
+ library.
+
+Tue Jul 31 10:16:31 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/Dump.h: Clarified the use of ACE_NDEBUG for turning this
+ feature off, not on. Thanks to Don Hinton <dhinton@swan.fr>
+ for noticing this.
+
+Mon Jul 30 13:41:00 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/OS.cpp (ACE_Time_Value::FILETIME_to_timval_skew): Updated
+ docuementation to better explain the meaning of this constant.
+ Thanks to Mike Vitalo <mvitalo@sprynet.com> for motivating the
+ change.
+
+Mon Jul 30 09:43:06 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/OS.i (mutex_lock): Missing an argument to the ACE_OSCALL macro.
+ Thanks to Bala for reporting this.
+
+Mon Jul 30 05:43:23 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/Synch.h (ACE_Semaphore): Corrected the comment on
+ how to get POSIX Pthreads "implementation" of semaphores (which
+ supports the timed acquire() option). Thanks to Grzegorz
+ Sikora <GSikora1@era.pl> for reporting this.
+
+Sun Jul 29 19:03:56 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * tests/Thread_Mutex_Test.cpp (test): Fixed this test to be
+ consistent wrt the errno for the timed acquire(), which should
+ now always be set to ETIME rather than ETIMEDOUT and EBUSY.
+
+ * ace/Message_Queue_T.cpp (wait_not_full_cond,
+ wait_not_empty_cond): Fixed a nasty bug with the semaphore
+ version of ACE_Message_Queue that would have reared it's ugly
+ head if ACE_NULL_SYNCH were used when
+ ACE_HAS_OPTIMIZED_MESSAGE_QUEUE was enabled. Fixing this bug
+ also triggered the following changes.
+
+ * ace/OS.{h,i}: Added support for ACE_OS::sema_wait(),
+ ACE_OS::mutex_lock(), ACE_OS::thread_mutex_lock() that take
+ ACE_Time_Value *.
+
+ * ace/OS.i: For some odd reason the timeouts for the timed version
+ of mutex_lock() were returning a random smattering of errnos.
+ I've changed them to all be consistent with the
+ ACE_Condition_Thread_Mutex::wait() errno, which is ETIME.
+
+ * ace/Synch.h: Updated the documentation of all the timed
+ acquire() methods to explain what the various return values
+ mean.
+
+Sun Jul 29 22:10:40 2001 Ossama Othman <ossama@uci.edu>
+
+ * tests/Service_Config_DLL.cpp:
+ * tests/Service_Config_DLL.h:
+ * tests/Service_Config_DLL.dsp:
+ * tests/Service_Config_DLL_Export.h:
+ * tests/Service_Config_Test.conf:
+
+ New files associated with the existing Service_Config_Test.
+ They are used when testing the reentrance/thread-safety of the
+ Service Configurator, in addition to testing the Service
+ Configurator's ability to handle nested processing of Service
+ Configurator directives.
+
+ * tests/Service_Config_Test.cpp (run_test):
+
+ Add arguments to the Service Configurator argument vector to
+ make it process the newly added `Service_Config_Test.conf'
+ file.
+
+ (main):
+
+ Make the ACE_Thread_Manager wait for all running threads before
+ exiting the test. Processing the `Service_Config_Test.conf'
+ file causes some threads to be spawned.
+
+Sun Jul 29 19:19:20 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/Service_Config.cpp (process_directive, process_directives):
+
+ Wrap the ACE_GUARD_RETURN macro within an ACE_MT block. The
+ ACE_Static_Object_Lock declaration is only visible if
+ ACE_HAS_THREADS is defined. This truly fixes the
+ single-threaded build problems.
+
+Sun Jul 29 19:06:11 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/Svc_Conf.y (ace_obstack):
+ * ace/Svc_Conf_y.cpp:
+ * ace/Svc_Conf_l.cpp:
+
+ UNICODE updates and fixes.
+
+Sun Jul 29 10:50:45 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/Svc_Conf_Lexer_Guard.cpp:
+
+ There is no longer any need to include "ace/Object_Manager.h"
+
+ * ace/Service_Config.cpp:
+
+ Include "ace/Object_Manager.h" to pull in the definition of
+ ACE_Static_Object_Lock. Fixes a problem found in Sun builds and
+ single-threaded builds.
+
+Sat Jul 28 23:03:24 2001 Ossama Othman <ossama@uci.edu>
+
+ The following are changes that make the Service Configurator
+ reentrant and thread-safe.
+
+ * ace/Svc_Conf.y:
+
+ Generate a pure (reentrant) parser using Bison. BYACC doesn't
+ support generation of reentrant parsers.
+
+ * ace/Svc_Conf.l:
+
+ Implemented "buffer stack" support. This feature makes it
+ possible to process Service Configurator directives within a
+ Service Object's init() method, i.e. support nested directive
+ processing.
+
+ (ace_yyerrno):
+
+ Moved declaration of ace_yyerrno from this file to
+ `Svc_Conf.y'. ace_yyerrno was not used in the generated
+ scanner. It was only used in the generated parser.
+
+ (yy_delete_parse_buffer):
+
+ There is no longer any need for this function. The lexer buffer
+ stack implementation handles memory management of lexer buffers.
+
+ (yywrap):
+
+ Do not call yy_delete_parse_buffer(). It is no longer necessary
+ to do so, in addition to the fact that that function was
+ removed (as described above).
+
+ (<<EOF>>):
+
+ Do not call ACE_YY_NEW_FILE in this rule. The new buffer stack
+ implementation handles the buffer switching that ACE_YY_NEW_FILE
+ did, and more.
+
+ * ace/Svc_Conf_Tokens.h:
+ * ace/Svc_Conf_l.cpp:
+ * ace/Svc_Conf_y.cpp:
+
+ Regenerated these files using updated Bison/YACC and FLEX input
+ files to pull in support for reentrant parsing and nested
+ processing of Service Configurator directives.
+
+ * ace/Svc_Conf.h (ace_yy_push_buffer, ace_yy_pop_buffer):
+
+ Added function prototypes for the newly implemented lexer buffer
+ stack manipulation functions.
+
+ (ace_yylex):
+
+ Added ACE_YYSTYPE parameter to this functions signature, as
+ required by the new reentrant parser support.
+
+ (ACE_SERVICE_DIRECTIVE_STACK_DEPTH):
+
+ New symbolic constant that defines the maximum supported depth
+ for nested Service Configurator processing. The current default
+ is 8.
+
+ (ACE_YY_INPUT):
+
+ No longer any need to redefine this macro to support scanning of
+ Service Configurator directive strings. The new lexer buffer
+ stack implementation provides support for lexer buffer scanning
+ from a string instead of a pointer to "FILE."
+
+ (ace_yydirective):
+
+ This global variable is no longer needed due to the fact that
+ the new buffer stack implementation handles directives read from
+ both a string and a file.
+
+ * ace/Service_Config.cpp:
+
+ (process_directive, process_directives):
+
+ Obtain a recursive lock before manipulating the lexer buffer
+ stack, and invoking the parser and scanner. This makes
+ invocation of the scanner thread-safe.
+
+ The new lexer buffer stack implemenation obviates the need to
+ call yyrestart() since buffer switching is handled by the stack
+ implementation.
+
+ (open_i, close):
+
+ No need to deallocate the lexer buffer since the buffer stack
+ implementation handles that.
+
+ * ace/Svc_Conf_Lexer_Guard.h:
+ * ace/Svc_Conf_Lexer_Guard.cpp:
+
+ New "guard" class that makes lexer buffer stack pushing and
+ popping exception-safe.
+
+ * ace/Makefile:
+ * ace/Makefile.am:
+ * ace/Makefile.bor:
+ * ace/ace.icc:
+ * ace/ace_dll.dsp:
+ * ace/ace_lib.dsp:
+
+ Added Svc_Conf_Lexer_Guard.* sources to these Makefiles and
+ project files.
+
+Sat Jul 28 14:58:30 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/Svc_Conf_l.cpp:
+ * ace/Svc_Conf_y.cpp: Reran BYACC and FLEX on the Svc_Conf.l and
+ Svc_Conf.y files to regenerate them. Thanks to Bala for
+ motivating this.
+
+ * netsvcs/clients/Tokens/collection/Makefile,
+ netsvcs/clients/Tokens/deadlock/Makefile,
+ netsvcs/clients/Tokens/invariant/Makefile,
+ netsvcs/clients/Tokens/mutex/Makefile,
+ netsvcs/clients/Tokens/rw_lock/Makefile,
+ examples/ASX/CCM_App/Makefile,
+ examples/Logger/Acceptor-server/Makefile,
+ examples/Reactor/Multicast/Makefile,
+ examples/Reactor/Ntalker/Makefile,
+ examples/Shared_Malloc/Makefile,
+ performance-tests/TCP/Makefile,
+ performance-tests/UDP/Makefile: Removed the line
+ include $(ACE_ROOT)/include/makeinclude/rules.LIB.GNU
+ so that these projects will build correctly on VxWorks with
+ Make 3.79.1. Thanks to Frank Wolf for reporting this.
+
+Fri Jul 27 11:24:50 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/Svc_Conf.y: Allow quoted strings as the pathname. Thanks
+ to Kevin Burge <kcburge@systemware-inc.com> for suggesting this
+ and providing the fix.
+
+ * ace/Svc_Conf.l: Added support for "~" in pathnames to support
+ Win32isms. Thanks to Kevin Burge <kcburge@systemware-inc.com>
+ for suggesting this and providing the fix.
+
+ * ace/Refcounted_Auto_Ptr.i (assign): Fixed the code to avoid a
+ race condition. Thanks to Charlie Duke for this fix.
+
+Thu Jul 26 08:15:36 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * include/makeinclude/platform_vxworks5.x_g++.GNU: Changed
+ $PATH to $(PATH). Thanks to Frank Wolf for reporting this.
+
+Wed Jul 25 17:46:58 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/Asynch_Acceptor.{h,cpp}: Added an asynch_accept() accessor
+ method. Thanks to Craig L. Ching <cching@mqsoftware.com> for
+ reporting this.
+
+Wed Jul 25 17:36:09 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/Refcounted_Auto_Ptr.i: Added a lock for the reference count
+ to the assign() method. Thanks to Charlie Duke
+ <cduke@cuseeme.com> for reporting this.
+
+Fri Jul 27 23:17:31 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/ace_wchar.h: If ACE_HAS_XPG4_MULTIBYTE_CHAR is set, then
+ also set up definitions for functions that are not present
+ (ACE_LACKS_ITOW, ACE_LACKS_WCSICMP, ACE_LACKS_WCSNICMP,
+ ACE_LACKS_WCSDUP).
+
+ * ace/ace_wchar.inl: If not ACE_WIN32, include <string.h> to see
+ strlen().
+
+ * ace/OS_String.inl (strstr): The XPG4 multibyte version of
+ strstr() is wcswcs(), whereas the ANSI C / UNIX98 version is
+ wcsstr(). So if ACE_HAS_XPG4_MULTIBYTE_CHAR is defined, use
+ wcswcs.
+
+Fri Jul 27 21:52:48 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * bin/auto_run_tests.lst: Added the IDL_Cubut test with GIOP Lite
+ script, to our daily builds.
+
+Fri Jul 27 16:50:49 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/Log_Msg_Test.cpp: Silence a compile warning in g++.
+
+Fri Jul 27 12:18:49 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/Log_Msg.cpp (log): Fixed compile error - missing "" around
+ 's' for the %S case.
+
+Fri Jul 27 11:07:26 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/OS.h:
+
+ After conversation with Steve Huston, I am reverting his change
+ pertaining to HPUX from "Tue Jul 10 18:15:39 2001 Steve Huston
+ <shuston@riverace.com>".
+
+Fri Jul 27 10:57:24 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/SOCK_Dgram_Bcast.cpp:
+
+ Fix the ACE_SOCK_Dgram_Bcast::mk_broadcast() which was completely
+ broken on AIX. The broadcast_client in docs/tutorials/008 now
+ works with the help of this change.
+
+Thu Jul 26 22:09:19 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/Log_Msg.cpp (log): Extend behavior so that all printf
+ formatting conversion specifiers can be used with all legal
+ ACE_Log_Msg format characters. This allows the caller to line
+ up columns on any field, like line number or program name, or
+ thread ID. Thanks to Paul Caffrey <pcaffrey@iel.ie> for
+ motivating this extension.
+
+ * tests/Log_Msg_Test.cpp: Added a new function, test_format_specs,
+ that verifies the formatting. Right now it does not detect the
+ correctness of the strings produced - they have to be examined
+ in the log file to check. This needs to be fixed still.
+
+Thu Jul 26 11:48:16 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * bin/count_lines:
+ Add a few new file types.
+
+Wed Jul 25 23:49:43 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * include/makeinclude/platform_tru64_g++.GNU:
+
+ Fixed some missing defines in the Makefile for DEC Unix versions
+ 4.0D, 4.0E. We don't support or suggest this combination. Hence
+ the oversight in missing the needed defines.
+
+ Thanks to Martin Krumpolec <krumpo@pobox.sk> for reporting this.
+
+Wed Jul 25 23:49:00 2001 Craig Rodrigues <crodrigu@bbn.com>
+
+ * include/makeinclude/wrapper_macros.GNU:
+
+ Remove extraneous rapi = 0.
+
+Wed Jul 25 18:53:18 2001 Ossama Othman <ossama@uci.edu>
+
+ * html/index.html:
+
+ Added CORBA Security Service main page link to the list of
+ documentation.
+
+Wed Jul 25 17:41:43 2001 Ossama Othman <ossama@uci.edu>
+
+ * ltcf-c.sh:
+ * ltcf-cxx.sh:
+ * ltconfig:
+
+ Removed these libtool related files. New versions of libtool
+ (GNU libtool >= 1.4b) no longer use them.
+
+ * config.guess:
+ * config.sub:
+ * ltmain.sh:
+
+ Removed these files. We no longer need to keep custom copies
+ lieing around since libtool 1.4b includes all of our local
+ changes (i.e. our changes have been folded into the upstream
+ libtool sources).
+
+ * install-sh:
+ * missing:
+ * mkinstalldirs:
+
+ Removed these files. Automake will automatically add these when
+ necessary.
+
+Wed Jul 25 16:29:48 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/Max_Default_Port_Test.cpp: ACE-ified the code and fixed
+ a number of ACE_DEBUG %p directives without a corresponding
+ string. Also, closed a 2 handle-per-try handle leak, which
+ may have affected test results on some platforms.
+ * tests/Max_Default_Port_Test.h: Added a destructor to the
+ test class - it's used to close the acceptor handle down.
+
+Wed Jul 25 15:21:22 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * ace/OS.h:
+
+ Fixed the _XOPEN_SOURCE checking to _XOPEN_SOURCE < 500 to fix
+ incorrect declaration of prototype. This fixes the warnings when
+ compiling with gcc-3.0. Thanks to Ossama for suggesting the fix.
+
+Wed Jul 25 08:05:45 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * tests/Thread_Pool_Reactor_Resume_Test.h:
+ * tests/Thread_Pool_Reactor_Resume_Test.cpp: Fixed a subtle race
+ condition. This hardly showed up in many of our daily
+ builds. The race condition had to be fixed to show the users of
+ the cautious approach that one needs to take if they are
+ resuming the handle in the application itself.
+
+Tue Jul 24 16:41:57 2001 Joe Hoffert <joeh@cs.wustl.edu>
+
+ * ace/Thread_Manager.cpp :
+ Added "&& ! defined (ACE_HAS_PACE)" ifdefs to already existing
+ #if defined (VXWORKS) sections of code to get ACE_HAS_PACE to
+ compile on VxWorks.
+
+ * ace/OS.i :
+ * ace/OS.cpp:
+ Fixed formatting of some comments and added needed PACE
+ calls for ACE_HAS_PACE on VxWorks.
+
+ * ace/OS.h :
+ Put #if !defined guards around the ACE_THR_PRI* macros
+ so that we can define them in the config*.h files if
+ they need to be corrected. For instance, ACE_THR_PRI_OTHER_MIN
+ has a different value on SunOS 5.8 than it does on SunOS 5.7,
+ i.e., -20 vs. 0 respectively.
+
+ Also, added some needed typedefs and #define for ACE_HAS_PACE
+ on VxWorks and updated some comments concerning ACE_OS::thr_create
+ flags.
+
+ * ace/Sched_Params.cpp (priority_min, priority_max):
+ Changed to return correct thread priority min/max for
+ Solaris threads. We now use the ACE_PRI_THR* macros
+ for these values while still calling ACE_OS::priority_control
+ for process and LWP priorities.
+
+ * ace/config-sunos5.8.h:
+ Added setting of ACE_THR_PRI_OTHER_MIN to be correct
+ for SunOS 5.8.
+
+Tue Jul 24 13:47:32 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/SSL/SSL_Asynch_Stream.h (ACE_SSL_Asynch_Stream):
+ * ace/SSL/SSL_Asynch_Stream.cpp: Added a open () method that
+ matches the signature of ACE_Service_Handler. This should fix
+ the warnings in Borland builds that complain about hiding
+ the virtual functions.
+
+Tue Jul 24 10:56:04 2001 Ossama Othman <ossama@uci.edu>
+
+ * bin/generate_doxygen.pl (TAO_DOCS):
+
+ Added "tao_security" and "tao_ssliop" Doxygen configurations to
+ the list of documentation to generate.
+
+Tue Jul 24 07:45:03 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/Containers_T: Fixed some problems with the lack of
+ const for the ACE_DLList and ACE_Double_Linked_List classes.
+ Thanks to Michael Kircher for reporting this.
+
+ * ace/config-cygwin32-common.h: Removed the ACE_LACKS_FORK
+ macro since this is apparently working on Cygwin. Thanks tj
+ Stefan Kluehspies <Stefan.Kluehspies@gmx.net> for reporting
+ this.
+
+ * ace/config-cygwin32.h: Removed the #define _CLOCKID_T
+ macro, which should now be handled by the following change.
+
+ * ace/OS.h: Added a #defined for _CLOCKID_T_. Thanks to
+ Stefan Kluehspies <Stefan.Kluehspies@gmx.net> for
+ reporting this.
+
+Tue Jul 24 11:10:59 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * ace/OS.h:
+
+ Fix the compile errors seen on gcc-3.0 with -pedantic and
+ -Wno-long-long. This should fix all the errors.
+
+Tue Jul 24 10:07:31 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * include/makeinclude/platform_sunos5_g++.GNU:
+
+ Add an optimize override to 0 for g++ 3.0. The compiler breaks on
+ a tremendous amount of files, even with -O.
+
+Tue Jul 24 10:04:52 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/INET_Addr.cpp:
+
+ Corrected a run-time error on Tru64 with gcc. Any executable
+ that called ACE_INET_Addr::get_host_name() would core dump.
+ This was caused by the call to ACE_OS::gethostbyaddr_r().
+
+Tue Jul 24 08:20:02 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * include/makeinclude/platform_aix_ibm.GNU:
+
+ Change -O2 to -O. The optimizer seems to be a tiny
+ bit broken, which is demonstrated by a few TAO and orbsvcs
+ tests.
+
+Mon Jul 23 17:38:46 2001 Ossama Othman <ossama@uci.edu>
+
+ * etc/tao_security.doxygen:
+ * etc/tao_ssliop.doxygen:
+
+ New Doxygen files for TAO's CORBA security libraries.
+
+Mon Jul 23 13:48:26 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/MEM_Connector.cpp (connect):
+
+ Disable non-blocking on the stream after its handle has been
+ set. Previously, non-blocking was disabled on an uninitialized
+ MEM_Stream, after which the handle was set (i.e. initializing
+ the stream). In order to properly disable non-blocking on a
+ stream, its handle must be set first since ioctl() operations
+ are typically performed on the underlying stream handle.
+
+Mon Jul 23 13:06:39 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/WFMO_Reactor.cpp (event_handling): Corrected the loop check
+ to account for a zero ACE_Time_Value *, avoiding a crash in
+ tests/Reactor_Timer_Test, as well as any other program that
+ called ACE_Reactor::handle_events with a zero timer pointer.
+
+Mon Jul 23 10:39:55 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/OS.h: Added /**/ between #include and <sys/times.h> to
+ avoid warning from CE compiler.
+
+ * ace/ace_dll.vcp: Added Obchunk.cpp to the project.
+
+Sun Jul 22 08:19:43 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/config-cygwin32.h: ADded a #define for_CLOCKID_T. Thanks to
+ Christophe Galerne <christophgalerne@earthlink.net> for
+ reporting this.
+
+ * ace/Log_Record.cpp (priority_names_): Added commas after the
+ 'ACE_LIB_TEXT ("LM_UNK(04000)")' lines. Thanks to Steve Harris
+ <harris_s@ociweb.com> for reporting this.
+
+Sat Jul 21 19:56:08 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/Map_T.{h,i}: Made current_value() a const member function.
+ Thanks to Johnny Willemsen for reporting this.
+
+Fri Jul 20 10:16:46 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/Connector.cpp (create_AST): Replaced some calls to
+ sh->get_handle () with a cached value of handle. This fixes a
+ bug with gcc 2.96 on Tornado 2.1/VxWorks for SuperH. Thanks to
+ Frank Wolf <fwolf@gum.de> for reporting this.
+
+ * examples/Connection/non_blocking/CPP-acceptor.cpp:
+ * examples/Service_Configurator/IPC-tests/server/Handle_Thr_Stream.cpp:
+ * examples/Connection/non_blocking/CPP-connector.cpp: Changed the
+ SH macro to SVH to avoid clashes with a macro in VxWorks.
+ Thanks to Frank Wolf <fwolf@gum.de> for reporting this.
+
+Thu Jul 19 06:55:07 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/config-g++-common.h: Version 2.96 of g++ on VxWorks
+ is missing auto_ptr, so let's add the ACE_LACK_AUTO_PTR flag
+ there. Thanks to Frank Wolf for suggesting this.
+
+Fri Jul 20 09:47:38 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/Log_Msg.cpp: Fixed WinCE errors. CE does not support
+ UNIX_Syslog.
+
+Thu Jul 19 22:39:32 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * tests/MEM_Stream_Test.cpp:
+ * ace/MEM_IO.h:
+ * ace/MEM_IO.i:
+ * ace/MEM_IO.cpp: On non-Win32 platforms, disable multithreaded
+ MEM_IO if _ACE_USE_SV_SEM is defined.
+
+Thu Jul 19 15:25:11 2001 Paul Calabrese <calabrese_p@ociweb.com>
+
+ * ace/MEM_Acceptor.i (mmap_prefix):
+
+ Fix case where a null pointer is passed in.
+
+Thu Jul 19 06:55:07 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/Connector.cpp (connect_svc_handler): Missed one change...
+ Thanks to Bala for reporting this!
+
+ * include/makeinclude/platform_vxworks5.x_g++.GNU (HOST_DIR): Added
+ support for the SH7700 and SH7700LE. Thanks to Frank Wolf
+ <WolfF@Becker.de> for reporting this.
+
+ * ace/OS.i (truncate): Make sure to close the handle that we
+ opens. Thanks to Lothar for reporting this.
+
+ * ace/Connector.cpp: Changed the SH macro to SVH to avoid clashes
+ with a macro in VxWorks. Thanks to Frank Wolf <fwolf@gum.de>
+ for reporting this.
+
+Wed Jul 18 13:15:06 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/OS_Dirent.cpp (scandir_emulation): Removed the calls to the
+ ACE_ERROR_RETURN macros to avoid dependencies on ACE_Log_Msg
+ from within the ACE_OS layer. Thanks to Bala for pointing this
+ out!
+
+ * ace/ACE.{h,cpp}: Added a new wrapper method for ACE_OS::select()
+ that uses ACE_Handle_Set *'s rather than fd_set *'s. This is
+ motivated by work Steve Huston and I are doing on our new book
+ "C++ Network Programming: Resolving Complexity with ACE and
+ Patterns."
+
+ * ace/Malloc_T.i (release): Removed an unnecessary "else" to
+ make gcc 2.96 happy. Thanks to Frank Wolf <fwolf@gum.de> for
+ reporting this.
+
+ * Happy birthday to me and Angelo Corsaro!
+
+Tue Jul 17 00:34:40 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/SString.h (ACE_Tokenizer): Make sure that the data members
+ are protected, not private... Thanks to Martin Krumpolec for
+ reporting this (again)!
+
+Wed Jul 18 16:40:56 2001 Irfan Pyarali <irfan@cs.wustl.edu>
+
+ * ace/Log_Msg.cpp (program_name): Undid the following changes:
+
+ ChangeLogTag:Tue Jul 10 11:32:26 2001 Tibor Kiss
+
+ Tibor will be looking into this further since this change
+ currently causes shutdown problems on Win2000.
+
+Wed Jul 18 15:59:03 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * ace/config-tru64.h:
+
+ Removed _LIBC_POLLUTION_H. It seems that this macro is causing
+ problems for some users. Thanks to Pierre Oberson
+ <oberson@nagra-kudelski.ch> for prompting this fix.
+
+Tue Jul 17 13:00:11 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * tests/run_test.lst: Enabled the MEM_Stream test on Linux.
+
+Mon Jul 16 14:59:32 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/Memory_Pool.h (ACE_Shared_Memory_Pool): Added a comment
+ that discourages developer from using the ACE_Shared_Memory_Pool
+ and points them to the ACE_MMAP_Memory_Pool instead. Thanks to
+ Johnny Chen <jchen@huawei.com> for motivating this.
+
+ * ace/OS_Dirent.cpp (readdir_emulation): Fixed a handle leak
+ in the event that errors occur. Thanks to Kevin Burge
+ <kcburge@systemware-inc.com> for reporting this.
+
+ * ace/Log_Msg_UNIX_Syslog.cpp (open): Add an ACE_const_cast()
+ to the program name for platforms like LynxOS whose openlog()
+ method is char * rather than const char *. Thanks to Bala for
+ reporting this.
+
+Sun Jul 15 11:06:33 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/Log_Msg_NT_Event_Log.cpp: Fixed the implementation so that
+ it's consistent with the new program_name() features. Thanks to
+ Chris Kohloff <chris@kohlhoff.com> for this fix.
+
+Sun Jul 15 11:04:26 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * ace/SSL/ACE_SSL.dsp:
+ Removed references to $OPENSSL_ROOT, the user should configure
+ those in the Tools -> Option -> Directories tab.
+
+Fri Jul 13 23:02:46 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_Asynch_Stream.h:
+ * ace/SSL/SSL_Asynch_Stream.cpp:
+ * ace/SSL/SSL_Asynch_BIO.h:
+ * ace/SSL/SSL_Asynch_BIO.cpp:
+
+ Only support asynchronous SSL streams when using OpenSSL >
+ 0.9.5a. The BIO method signatures changed in OpenSSL 0.9.6.
+
+Fri Jul 13 22:48:56 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_Asynch_BIO.cpp (methods_ACE):
+
+ Removed excess element in aggregate initializer.
+
+Fri Jul 13 22:29:01 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_Asynch_Stream.cpp (print_error):
+
+ The OpenSSL ERR_error_string_n() function is only supported in
+ OpenSSL 0.9.6 or better.
+
+Fri Jul 13 14:59:18 2001 Alexander Libman <alexander.libman@baltimore.com>
+
+ * ace/WIN32_Asynch_IO.h (ACE_WIN32_Asynch_Result):
+ * ace/WIN32_Asynch_IO.cpp (set_error, set_bytes_transferred):
+
+ Added new methods set_error() and set_bytes_transferred().
+ Needed for below changes and new asynchronous SSL stream
+ implementation.
+
+ * ace/WIN32_Proactor.cpp (handle_events):
+
+ Fixed error handling semantics so that it is consistent with the
+ POSIX Proactor error handling semantics.
+
+ (post_completion):
+
+ Pass the amount of bytes transferred and the completion key to
+ the Win32 PostQueuedCompletionStatus() function. The error, if
+ any, will later be extracted in the handle_events() method.
+
+Fri Jul 13 15:59:45 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * netsvcs/servers/main.cpp (main): The server was always outputing
+ LM_DEBUG information, even when the program was not run with the
+ -d command line argument. Therefore, changed the following
+ lines from:
+
+ if (ACE::debug () == 0)
+ ACE_Log_Msg::disable_debug_messages ();
+
+ to:
+
+ if (ACE::debug () == 0)
+ ACE_LOG_MSG->priority_mask (~LM_DEBUG, ACE_Log_Msg::PROCESS);
+
+ Thanks to Jerry D. De Master <jdemaster@rite-solutions.com> for
+ reporting this fix.
+
+Fri Jul 13 12:16:03 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_Asynch_BIO.h:
+ * ace/SSL/SSL_Asynch_BIO.cpp:
+ * ace/SSL/SSL_Asynch_Stream.h:
+ * ace/SSL/SSL_Asynch_Stream.cpp:
+
+ New asynchrounous SSL stream implementation contributed by
+ Alexander Libman <alexander.libman@baltimore.com>.
+
+ * ace/SSL/ACE_SSL.dsp:
+ * ace/SSL/Makefile:
+ * ace/SSL/Makefile.bor:
+
+ Added new asynchronous SSL stream source files to these
+ Makefiles and project files.
+
+Fri Jul 13 09:40:08 2001 Jerry D. De Master <jdemaster@rite-solutions.com>
+
+ * ace/Log_Msg.*,
+ ace/Logging_Strategy.*,
+ ace/Log_Msg_UNIX_Syslog.*:
+ Applied patches to ACE_Log_Msg, ACE_Logging_Strategy, and
+ ACE_Log_Msg_UNIX_Syslog that are required to add the program
+ name logging strategy option ('n') and to initialize the UNIX
+ syslog facility with the program name. Also included are Boris
+ Kolpackov <bosk@ipmce.ru> patches for ACE_LACKS_IOSTREAM_TOTALLY
+ to ACE_Logging_Strategy.
+
+Thu Jul 12 19:54:27 2001 Ossama Othman <ossama@uci.edu>
+
+ * examples/Registry/test_registry_update.cpp (main):
+
+ Fixed unused argument warning.
+
+Thu Jul 12 19:57:12 2001 Frank Hunleth <fhunleth@cs.wustl.edu>
+
+ * bin/auto_run_tests.lst:
+
+ Added TAO/tests/RTCORBA/ORB_init to the auto run list.
+
+Thu Jul 12 17:11:35 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * bin/nightlybuilds/builds.lst (WEB):
+
+ Temporarily removed the IA-64 build till some issues get sorted
+ out.
+
+Thu Jul 12 06:01:03 2001 John Michael Zorko <j.zorko@att.net>
+
+ * netsvcs/lib/Server_Logging_Handler.cpp:
+ Added an an additional #define in config-macosx.h called
+ ACE_HAS_MACOSX_DYLIB, and checked to see if this was _not_
+ defined before instantiating the offending template in
+ Server_Logging_Handler.cpp. OS X has this thing about .dylibs
+ (OS X version of .so) where they can't have any duplicate
+ symbols, which is why libnetsvcs wasn't building on OS X
+ earlier. This fixes that.
+
+ * include/makeincludes/platform-macosx.GNU: Added -lACE to the
+ LIBS line, which fixed the majority of the build problems.
+
+ * ace/config-macosx.h: Added the ACE_HAS_MACOSX_DYLIB #define
+ mentioned above.
+
+Thu Jul 12 06:01:03 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/TLI_Connector.cpp (complete): Changed ACE_OS::t_rcvconnect()
+ to simply t_rcvconnect(). Thansk to Andreas Geisler for
+ reporting this.
+
+Thu Jul 12 09:43:36 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/FILE_Connector.h (ACE_FILE_Connector, connect):
+
+ Removed the default O_EXCL flag I added a few days ago. It is
+ mostly useful for preventing symbolic link attacks in a
+ directory with global write permissions. Pass the
+ responsibility of using the O_EXCL flag when necessary on to the
+ application developer.
+
+Wed Jul 11 22:31:50 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * include/makeinclude/rules.local.GNU (clean.local):
+
+ Added ti_files to remove the template cache generated by KCC.
+
+ * ace/TLI_Acceptor.cpp(open_new_endpoint):
+
+ Fixed a small typo causing compilation errors under Tru64.
+
+Wed Jul 11 13:06:33 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/Log_Msg_Test.cpp: Changed the ostream test to close the
+ under-test ostream file before trying to open it and read the
+ contents. Avoids the "already open" error now that
+ ACE_FILE_Connector includes O_EXCL by default, and avoids any
+ potential file buffering issues reading an already-open file.
+
+Wed Jul 11 08:31:02 2001 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * tests/Dirent_Test.cpp:
+
+ Wrapped a string literal with ACE_TEXT, to get rid of a Win2000
+ WChar build error.
+
+Wed Jul 11 06:41:43 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/TLI_Stream.cpp,
+ * ace/TLI_Connector.cpp,
+ * ace/TLI_Acceptor.cpp: Added enhancements so that the code would
+ work on Win32. Thanks to Andreas Geisler
+ <Andreas.Geisler@erl9.siemens.de> for reporting this.
+
+Tue Jul 10 19:26:15 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/ace_dll.dsp:
+
+ Disabled generation of source browse information. It was
+ causing problems on some existing builds that didn't use it.
+
+ * ace/SSL/SSL_SOCK_Acceptor.cpp (ssl_accept):
+
+ Removed certificate verification code. It is up to the
+ application, not the ACE_SSL library, to perform proper
+ certificate verification.
+
+Tue Jul 10 23:02:00 2001 Craig Rodrigues <crodrigu@bbn.com>
+
+ * tests/Log_Msg_Test.cpp:
+ Fix test so it doesn't open output file to write to twice.
+ Thanks to Ossama for finding it.
+
+Tue Jul 10 19:10:19 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/ace.icc: Corrected the mis-applied patch for ace.icc in
+ Mon Jul 09 19:12:42 2001 Steve Huston <shuston@riverace.com>
+
+Tue Jul 10 16:01:52 2001 Ossama Othman <ossama@uci.edu>
+
+ * THANKS:
+
+ Added Sangeetha Ramadurai <Sangeetha.Ramadurai@geind.ge.com> to
+ the hall of fame.
+
+Tue Jul 10 18:15:39 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/WFMO_Reactor.cpp (event_handling): Move the logic for
+ noticing that the wait timed out, but did not expire any
+ timers, into this function. Will remove it from Reactor.cpp,
+ to properly move the fix into handle_events() rather than
+ needing to call run_reactor_event_loop to get it right.
+ * ace/Select_Reactor_T.cpp - still need to add similar logic here.
+
+ * ace/config-sunos5.6.h: Re the following:
+ Mon Jul 2 15:26:32 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+ Replaced ACE_HAS_POSIX_SEM, and left ACE_LACKS_NAMED_POSIX_SEM out.
+ Solaris does indeed have POSIX semaphores in 2.6 and later, but
+ requires the changes to OS.i below to work right.
+
+ * ace/OS.h: For ACE_PROC_PRI_OTHER_MIN (and MAX), on HP-UX,
+ convert the HP-UX priority value to the POSIX range.
+
+ * ace/OS.i (ACE_OS::sema_init, named POSIX semaphore): On Solaris
+ and HP-UX, the name of a POSIX semaphore needs to start with
+ a slash (further restricted on Solaris). Enforce that here by
+ prepending a slash, or by chopping off parts of the name.
+
+Tue Jul 10 16:08:04 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * include/makeinclude/platform_osf1_4.0.GNU:
+
+ Fixed the default flags so that it enables the user to override
+ settings. Now that the long pending fix to wrapper_macros.GNU is
+ through, this should work fine now.
+
+Tue Jul 10 13:37:31 2001 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * ace/OS_Dirent.cpp (readdir_emulation):
+
+ Removed the hard cast to char* of one of the two arguments in
+ a call to strcpy. In the WChar win32 build, this cast was
+ causing the source and target strings to be of different widths.
+
+Tue Jul 10 11:32:26 2001 Tibor Kiss <tkiss@mindmaker.hu>
+
+ * ace/Log_Msg.cpp:
+ Completed the ACE_Log_Msg::close method with the
+ ACE_Thread::keyfree (log_msg_tss_key_) and key_created_ = 0; to
+ ensure restartability by multiple successive ACE::init and
+ ACE::fini calls. This fix prevent leaks from occurring when
+ ACE::init() and ACE::fini() are called multiple times.
+
+Tue Jul 10 11:12:00 2001 Chris Gill <cdgill@cs.wustl.edu>
+
+ * ace/OS_Dirent.{h, inl}: refactored XDIR, dirent usage for pSOS -
+ user is no longer responsible for buffer deallocation after each
+ readdir call, only for passing the pointer returned from opendir
+ into closedir when all done. ACE_DIR structure is now used
+ consistently for all pSOS dirent calls.
+
+Tue Jul 10 06:06:07 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/Service_Repository.h: Updated the insert() comment to
+ clarify the return values. Thanks to Johnny Willemsen for
+ suggesting this.
+
+ * ace/Service_Repository.{h,i}: Made the current_size() and
+ total_size() methods const. Thanks to Johnny Willemsen for
+ suggesting this.
+
+ * ace/Service_Repository.h: Fixed a typo in the comments. Thanks
+ to Johnny Willemsen for reporting this.
+
+Tue Jul 10 08:39:04 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/config-vxworks5.x.h:
+
+ Added the macro ACE_LACKS_UNIX_SYSLOG.
+
+Tue Jul 10 08:26:57 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/Log_Msg_UNIX_Syslog.cpp:
+
+ Added a macro, ACE_LACKS_SETLOGMASK, for platforms that have
+ syslog, but don't have setlogmask().
+
+ * ace/config-chorus.h:
+
+ ChorusOS 4.0.1 happens to be one of them.
+
+Tue Jul 10 09:00:12 2001 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_Dirent.h
+ Made the member 'd_name' of the 'dirent' struct non-const, because
+ BCB had problems with it
+
+Mon Jul 09 22:41:43 2001 Ossama Othman <ossama@uci.edu>
+
+ * include/makeinclude/wrapper_macros.GNU (exceptions):
+
+ Include platform_macros.GNU before the default for "exceptions"
+ is set. This fixes a problem where the default native
+ exceptions setting in platform_linux.GNU was not set due to the
+ fact that it was previously set in wrapper_macros.GNU. Thanks
+ to Hans Utz <hans.utz@informatik.uni-ulm.de> for tracking down
+ the problem.
+
+Mon Jul 9 16:40:02 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/Dirent_Selector.cpp (ACE_Dirent_Selector):
+
+ Correct order of initialization of members to match order of
+ declaration. Fixes a warning issued from GCC.
+
+ * ace/Dirent_Selector.inl:
+
+ Added missing RCS ID keyword. Fuzz was whining about the lack
+ of it.
+
+ * ace/Dirent_Selector.h:
+
+ Corrected some Doxygen comments.
+
+Mon Jul 09 19:12:42 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/ace.icc: Added Log_Msg_UNIX_Syslog and Log_Msg_NT_Event_Log
+ modules to the LOGGING component. Added Dirent_Selector to the
+ UTILS component.
+
+Mon Jul 9 15:59:56 2001 Joe Hoffert <joeh@cs.wustl.edu>
+
+ * ace/config-lynxos.h:
+ Added ACE_LACKS_MKSTEMP since LynxOS doesn't seem to have
+ this.
+
+Mon Jul 9 15:28:29 2001 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * ace/Dirent_Selector.cpp:
+ * ace/Dirent_Selector.h:
+
+ Added ACE_INLINE guards around inclusion of Dirent_Selector.inl.
+
+ * ace/ace_dll.dsp:
+ * ace/ace_lib.dsp:
+
+ Added Dirent_Selector.{h,i,cpp} to these projects.
+
+Mon Jul 9 06:52:09 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/Makefile.bor (OBJFILES): Added the Dirent_Selector.obj file.
+
+ * tests/Dirent_Test.cpp: Integrated a new test for the
+ ACE_Dirent_Selector class.
+
+ * ace/Makefile (UTILS_FILES),
+ * ace/Dirent_Selector.h,
+ * ace/Dirent_Selector.inl,
+ * ace/Dirent_Selector.cpp: Added support for a C++ wrapper facade that
+ encapsulates ACE_OS_Dirent::scandir(). Thanks to Rich Newman for
+ contributing this, as well.
+
+ * ace/OS_Dirent.h,
+ * ace/OS_Dirent.inl,
+ * ace/OS_Dirent.cpp: Added support for the scandir() feature, which
+ makes it possible to selectively pick which files in a directory
+ to iterate over. Also fixed a bug in the emulation of dirent.
+ Thanks to Rich Newman <RNewman@directv.com> for contributing
+ these fixes.
+
+Mon Jul 09 14:39:50 2001 Irfan Pyarali <irfan@cs.wustl.edu>
+
+ * ace/OS.i (thr_getprio and thr_setprio): Changed these two
+ function such that if we are on Solaris and we have pthreads
+ enabled, we should use the pthread calls rather than the native
+ Solaris calls. The reasons for choosing the pthread calls is
+ due to following problems with the native calls:
+
+ - thr_getprio() is evil because on Solaris 5.8, a thread with
+ priority -20 (SCHED_OTHER) is reported to have priority 80.
+
+ - thr_setprio() is evil because it cannot set the negative
+ priorities on Solaris 5.8.
+
+ - Also, thr_setprio() cannot change the priority of a thread
+ with negative priority to a positive priority on Solaris 5.8
+ (even though there is no error reported and thr_getprio() shows
+ that the change happened but pthread_getschedparam() shows that
+ no change happened).
+
+ - In addition, suppose a thread of policy SCHED_RR or SCHED_FIFO
+ uses thr_setprio() to reset its priority, the priority will be
+ reset but the scheduling policy will be dropped to SCHED_OTHER.
+ This happens with both Solaris 5.7 and Solaris 5.8.
+
+Mon Jul 9 13:33:43 2001 Joe Hoffert <joeh@cs.wustl.edu>
+
+ * include/makeinclude/wrapper_macros.GNU:
+ Change PACE path to start at $PACE_ROOT rather than $ACE_ROOT/PACE
+ since the latter is not as flexible. Defined PACE_ROOT if not
+ already defined. Also, added inclusion of PACE library for VxWorks
+ even when inlining since not all the PACE functions should be
+ inlined.
+
+Mon Jul 09 10:59:22 2001 Ossama Othman <ossama@uci.edu>
+
+ * THANKS:
+
+ Added Mouna Seri <seri@crhc.uiuc.edu> to the hall of fame.
+
+Mon Jul 9 11:10:44 2001 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * ace/config-win32-msvc-5.h:
+ * ace/config-win32-msvc-6.h:
+
+ Added conditional definitions for ACE_LD_DECORATOR_STR
+ "mfc" and "mfcd" so that the MFC release and debug versions
+ of libraries can be dynamically loaded in the same way that
+ the non-MFC release and debug versions are. Thanks to
+ Francois Bernier <fbernier@gel.ulaval.ca> for suggesting
+ this enhancement.
+
+Mon Jul 09 11:31:12 2001 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/pre.h
+ * include/makeinclude/compiler.bor
+
+ Removed the disabling of the compiler warning 'parameter never
+ used'. Unused parameters are handled by ACE_UNUSED_ARG macro.
+ A missing ACE_UNUSED_ARG is now shown as warning in the BCB build
+ log.
+
+Sun Jul 08 11:26:23 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/OS.h (mkstemp):
+ * ace/OS.i (mkstemp):
+
+ New mkstemp() wrapper. It is assumed to be available on the
+ given platform, unless ACE_LACKS_MKSTEMP is defined.
+
+ * ace/FILE_Connector.h:
+
+ Added O_EXCL to the default flags. This is a security hole
+ fix.
+
+ * ace/FILE_Connector.cpp (connect):
+
+ If mkstemp() is available, then use it to create a temporary
+ file rather than mktemp() (via ACE_FILE_Addr) since mktemp() is
+ susceptible to a denial-of-service attack.
+
+ * ace/config-win32-common.h:
+ * ace/config-vxworks5.x.h:
+
+ mkstemp() is not supported on MS Windows and VxWorks. Define
+ ACE_LACKS_MKSTEMP in these headers.
+
+Sun Jul 8 08:13:12 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/Select_Reactor_Base.h: Added a comment explaining what
+ the ACE_HAS_REACTOR_NOTIFICATION_QUEUE macro means. Thanks to
+ Kobi Cohen-Arazi <kobic@bvr.co.il> for motivating this.
+
+Sat Jul 7 18:53:49 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * include/makeinclude/platform_osf1_4.0.GNU:
+
+ Revert the changes made to this file. Please see the file for a
+ lengthy description.
+
+Fri Jul 06 21:53:26 2001 Christopher Kohlhoff <chris@kohlhoff.com>
+
+ * ace/config-win32-borland.h:
+ Reverted addition of ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION.
+
+Fri Jul 6 19:55:23 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * examples/Reactor/Multicast: Adding the support for UNIX Syslog
+ broke this example because LOG_DEBUG was suddenly defined as a
+ macro (it's in syslog.h). I've fixed this by renaming the LOG_
+ enums to LM_ instead. Thanks to Bala for reporting this.
+
+Fri Jul 06 20:23:41 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/Refcoutned_Auto_Ptr.i (null): Change const_cast<> to
+ ACE_const_cast() to build on older compilers, like IBM C/C++ 3.6.6.
+
+Fri Jul 06 20:13:29 2001 Steve Huston <shuston@riverace.com>
+
+ * netsvcs/lib/Name_Handler.cpp:
+ * netsvcs/lib/Server_Logging_Handler_T.cpp:
+ * netsvcs/lib/Token_Handler.cpp:
+
+ More ACE_DEBUG disables.
+
+Fri Jul 6 15:55:54 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/OS.h (ACE_FD_SETSIZE):
+
+ Integrated patch from Jody Hagins <jody@atdesk.com>. Set the
+ default reactor file descriptor set size to be an integer
+ constant rather than a preprocessor constant. Some third party
+ software #undef FD_SETSIZE in their header files, causing build
+ problems in ACE.
+
+Fri Jul 06 18:20:39 2001 Steve Huston <shuston@riverace.com>
+
+ * netsvcs/lib/Client_Logging_Handler.cpp: #if 0'd out a bunch of
+ ACE_DEBUG statements that aren't appropriate for use in commercial
+ logging. These can be #if 1'd if there's some doubt while debugging
+ this stuff, but they aren't useful once debugged, and are
+ distracting since they're interespersed with application records.
+
+Fri Jul 6 13:40:20 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Log_Msg_UNIX_Syslog.cpp: Fixed a warning in g++.
+
+Fri Jul 06 11:39:41 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/INET_Addr.h: Clarified (and improved doxygenation) of
+ constructor and set() methods regarding byte orders.
+
+ * tests/Max_Default_Port_Test.icc: New file for this test.
+ * tests/tests.icp: Added Max_Default_Port_Test
+
+Fri Jul 6 08:36:20 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * netsvcs/Makefile: Don't build this if ACE_COMPONENTS does not
+ contain Other. The netsvcs library requires Naming_Context.
+
+Fri Jul 6 05:44:13 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/Makefile (LOGGING_FILES): Added support for
+ Log_Msg_UNIX_Syslog.
+
+ * ace/Log_Msg_UNIX_Syslog.{h,cpp}:
+ * ace/Log_Msg.cpp,
+ * ace/OS.h: Added support for a new UNIX syslog backend for the
+ ACE_Log_Msg class. Thanks to Jerry D. De Master
+ <jdemaster@rite-solutions.com> and Robert Davidson
+ <robert@rdavidson.freeserve.co.uk>.
+
+ * ace/SOCK_Dgram.h: Fixed a typo in one of the send() method
+ comments. Thanks to Alain Decamps <Alain.Decamps@PIDPA.be> for
+ reporting this.
+
+ * ace/config-macosx.h: Added a new file courtesy of John
+ Zorko so that things will work on MacOSX.
+
+Thu Jul 5 23:22:21 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ Fixes that were required for fixing bug 575. Merged in from
+ branch bug_575_stage_2.
+
+Thu Jul 5 23:09:29 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/CDR_Stream.cpp (ACE_InputCDR): Fixed a long standing bug in
+ the branch. This caused the DSI_Gateway test to fail. The
+ problem was from setting the write pointer to a wrong position
+ during the construction.
+
+Thu Jul 5 14:39:45 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * Merged with the main trunk and moved it to a new branch by name
+ bug_575_stage_2.
+
+Thu Jun 28 15:25:07 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Reactor.h (ACE_Reactor):
+ * ace/Reactor.cpp: Added a new method resumable_handler () to the
+ reactor interface. This would indicate whether the application
+ can take advantage by resuming the handlers themselves or
+ not. Not all reactors can allow this feature.
+
+ * ace/Reactor_Impl.h:
+ * ace/Reactor_Impl.cpp: Added a pure virtual function so that all
+ the implementations can decide whether the handlers are
+ resumable or not.
+
+ * ace/Select_Reactor_Base.h:
+ * ace/Select_Reactor_Base.cpp:
+ * ace/TP_Reactor.h:
+ * ace/TP_Reactor.cpp:
+ * ace/WFMO_Reactor.h:
+ * ace/WFMO_Reactor.cpp:Implemented resumable_handlers ().
+
+Sun Jun 24 11:25:07 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * Created this file. Got the whole stuff in ace to a new branch by
+ name bug_575_stage_1. This ChangeLog file will be in branch
+ bug_575.
+
+Fri Jun 22 16:52:13 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/CDR_Stream.cpp: Changed the copy constructor for the
+ ACE_InputCDR's. Instead of duplicating the ACE_Data_Block we
+ now use the new copy constructor in the ACE_Message_Block.
+
+ * ace/Message_Block.h:
+ * ace/Message_Block.cpp: Added a new copy constructor to the
+ ACE_Message_Block. This copy constructor does a deep copy from
+ the data block if the data block of the incoming message block
+ is on the stack or does a shallow copy of the data block (by
+ incrementing the ref count) if it is on the heap.
+
+ END of entries from bug_575_stage_2.
+
+Thu Jul 5 22:07:33 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * bin/auto_run_tests.lst: Added the new perl script in LongUpcalls
+ in the daily builds.
+
+Thu Jul 5 20:36:00 2001 Craig Rodrigues <crodrigu@bbn.com>
+
+ * ace/config-win32-borland.h
+ define ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION
+ * tests/Token_Test.cpp
+ Fix template instantiation problem.
+
+Wed Jul 4 15:35:47 2001 Joe Hoffert <joeh@cs.wustl.edu>
+
+ * tests/run_tests.vxworks:
+ Removed invocation of CDR_Array_Test. According to the ace
+ config files the compiler we are using is pre 2.8 (i.e.,
+ ACE_HAS_GNUG_PRE_2_8 is defined). Therefore don't run
+ CDR_Array_Test since the Makefile doesn't build it (due to
+ the ACE_HAS_GNUG_PRE_2_8 macro).
+
+Wed Jul 04 14:26:10 2001 Irfan Pyarali <irfan@cs.wustl.edu>
+
+ * ace/Synch_T.h (class ACE_Acquire_Method): Moved the enums from
+ the Reverse Lock class into ACE_Acquire_Method, a non-template
+ class. These enums should have been inside the reverse lock
+ class, but some lame compilers cannot handle enums inside
+ template classes.
+
+Wed Jul 04 12:43:22 2001 Irfan Pyarali <irfan@cs.wustl.edu>
+
+ * ace/Synch_T.i (ACE_Reverse_Lock): Fully specified the
+ ACE_ACQUIRE_METHOD type.
+
+Tue Jul 3 15:43:25 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Select_Reactor_Base.cpp: Fixed a warning in g++.
+
+Tue Jul 3 14:44:00 2001 Craig Rodrigues <crodrigues@bbn.com>
+
+ * ace/config-win32-common.h: Borland C++ apparently
+ does not support the "extern template class" Microsoft VC++
+ proprietary extension. Thanks to Chris Kohloff <chris@kohlhoff.com>
+ for the fix.
+
+Tue Jul 03 12:26:33 2001 Irfan Pyarali <irfan@cs.wustl.edu>
+
+ * ace/Synch_T.h (class ACE_Reverse_Lock): Added a parameter to the
+ constructor of the reverse lock. The ACE_ACQUIRE_METHOD
+ parameter is used to indicate which acquire() method will be
+ called on the real lock when the release() method is called on
+ the reverse lock. REGULAR indicated the acquire() method, READ
+ indicates the acquire_read() method, and WRITE indicates the
+ acquire_write() method. Note that the try_*() methods are not
+ represented here because we have to make sure that the release()
+ method on the reverse lock acquires a lock on the real lock.
+
+ Thanks to Edan Ayal <edana@bandwiz.com> for suggesting this.
+
+Tue Jul 3 06:20:13 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/Reactor.h,
+ * ace/Reactor_Impl.h,
+ * ace/Select_Reactor_Base.cpp,
+ * ace/Select_Reactor_Base.i,
+ * ace/Select_Reactor_Base.h,
+ * ace/WFMO_Reactor.cpp,
+ * ace/WFMO_Reactor.h: Added an enhancement that allows the
+ Reactor to selectively purge event handlers from its
+ notification queue according to their Reactor_Mask type. Thanks
+ to Edan Ayal <edana@bandwiz.com> for contributing this.
+
+ * tests/Reactor_Notify_Test.cpp (run_notify_purge_test):
+ Added a new set of tests for the new selective notification
+ purging features of the Reactor. Thanks to Edan Ayal
+ <edana@bandwiz.com> for contributing this.
+
+ * ace/WIN32_Asynch_IO.cpp: Removed the
+ ACE_WIN32_Asynch_Result (handler, act, event, 0, 0, priority,
+ signal_number), initializer since we no longer use virtual
+ inheritance. Thanks to Alexander Libman
+ <alexander.libman@baltimore.com> for reporting this.
+
+ * ace/WIN32_Asynch_IO.h: Removed the virtual inheritance from
+ ACE_WIN32_Asynch_Result for the ACE_Asynch_Read_Stream_Result
+ and ACE_Asynch_Read_Dgram_Result classes. Thanks to Alexander
+ Libman <alexander.libman@baltimore.com> for reporting this.
+
+ * ace/Refcounted_Auto_Ptr.h: Made the destructor of
+ ACE_Refcounted_Auto_Ptr virtual so that users can override it
+ locally. Thanks to Jenny Kowald <jkowald@oz.agile.tv> for
+ reporting this.
+
+Tue Jul 3 09:40:59 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * include/makeinclude/platform_osf1_4.0.GNU:
+ * include/makeinclude/platform_osf1_4.0_g++.GNU:
+
+ Allow users to set options like debug, exceptions, ... without
+ using override.
+
+Tue Jul 3 08:38:47 2001 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * examples/Reactor/Proactor/test_dup_proactor.dsp:
+
+ Fixed a mistake in the link to the ACE library.
+
+Mon Jul 2 16:23:04 2001 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * examples/Reactor/Proactor/test_multiple_loops.dsp:
+ * examples/Reactor/Proactor/test_proactor.dsp:
+ * examples/Reactor/Proactor/test_proactor.dsw:
+ * examples/Reactor/Proactor/test_timeout.dsp:
+ * examples/Reactor/Proactor/test_udp_proactor.dsp:
+
+ Fixed settings on release version of test_udp_proactor.dsp,
+ added it to the workspace, and removed unused file folders
+ from the FileViews of the other projects.
+
+Mon Jul 2 15:26:32 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/config-sunos5.6.h: Removed ACE_HAS_POSIX_SEM and
+ ACE_LACKS_NAMED_POSIX_SEM. Thanks to Glenn Popelka
+ <gpp@gpopelka.com> for helping track this down.
+
+Mon Jul 02 11:45:57 2001 Ossama Othman <ossama@uci.edu>
+
+ * bin/make_release:
+
+ Disabled bootstrapping of ACE's autoconf support. It isn't
+ ready for general use. Doing so reduces the amount of
+ confusion. Thanks to Holger P. Krekel <krekel@merlinux.de> for
+ motivating this change.
+
+Mon Jul 2 13:18:14 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * Moved ACE-configurations.txt into the docs directory. Also
+ removed the hopelessly out of date BIBLIOGRAPHY file.
+
+ * Moved all the ChangeLog-* files into the new ChangeLogs
+ directory. Thanks to Holger P. Krekel <krekel@merlinux.de> for
+ this suggestion.
+
+Mon Jul 02 11:20:52 2001 Ossama Othman <ossama@uci.edu>
+
+ * config.guess:
+ * config.sub:
+
+ Updated to the latest versions from the GNU FTP site.
+
+Mon Jul 02 11:30:20 2001 Irfan Pyarali <irfan@cs.wustl.edu>
+
+ * ace/Synch_T.i: Since the release() method on the reverse lock
+ calls the simple acquire() method on the real lock, it is
+ assumed that it is a simple acquire/release protocol with the
+ real lock. Therefore, I think all the other methods on the
+ reverse lock tryacquire(), acquire_read(), acquire_write(),
+ tryacquire_read(), tryacquire_write(), and
+ tryacquire_write_upgrade() should not be allowed. This falls in
+ line with the original concept of using reverse locks with
+ regular guards.
+
+ Thanks to Edan Ayal <edana@bandwiz.com> for pointing this out.
+
+Mon Jul 2 11:17:37 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/Profile_Timer.cpp:
+
+ Cleaned up the conditional macros. Added method bodies for
+ ACE_Profile_Timer::get_rusage() and
+ ACE_Profile_Timer::elapsed_rusage() when neither ACE_HAS_PRUSAGE_T
+ nor ACE_HAS_GETRUSAGE is defined.
+
+ * Reverted the reverted changes in this entry.
+ "Fri Jun 29 22:31:56 2001 Balachandran Natarajan
+ <bala@cs.wustl.edu>". These changes are ok, I just
+ needed to fix the bug in Profile_Timer.cpp.
+
+Mon Jul 2 09:40:45 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * include/makeinclude/platform_aix_ibm.GNU:
+
+ Add the output filter to the linker to avoid the duplicate symbol
+ warnings on AIX.
+
+Mon Jul 2 05:40:54 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/Logging_Strategy.cpp: Enhanced the code so that it works with
+ ACE_LACKS_IOSTREAM_TOTALLY. Thanks to Nir Drang <nir@bandwiz.com>
+ and Edan Ayal <edana@bandwiz.com> for reporting this.
+
+ * ace/SPIPE_Addr.cpp (set): Added a "+ 1" to the computation of
+ the size of the SPIPE_Addr to account for the trailing NUL.
+ Thanks to Oren Zeev-Ben-Mordehai <oren@phonedo.com> for
+ reporting this.
+
+ * ace/Refcounted_Auto_Ptr.{h,i}: Added support for a "null()"
+ method to check if a refcounted auto ptr is NULL. Thanks to
+ Jenny Kowald <jkowald@oz.agile.tv> for reporting this.
+
+ * ace/config-macosx.h,
+ * ace/platform_macosx.GNU: Enhanced these files to support MacOSX.
+ Thanks to John Zorko <j.zorko@att.net> for contributing this.
+
+ * ace/Synch.h: Fixed the Doxygen documentation for all the
+ removed_ fields, which where somehow messed up. Thanks to
+ Johnny Willemsen for reporting this.
+
+Sun Jul 1 11:49:13 2001 Alexander Libman <alexander.libman@baltimore.com>
+
+ * ace: Enhanced the POSIX and Sun Proactor implementations as
+ follows:
+
+ . POSIX_SIG_Proactor is now based on POSIX_AIOCB_Proactor
+
+ . All classes ACE_POSIX_SIG_Asynch_XXXX are removed.
+ POSIX_SIG_Proactor uses the ACE_POSIX_AIOCB_Asynch_XXXX
+ classes now.
+
+ . ACE_POSIX_AIOCB_Proactor::register_and_start_aio (...)
+ now calls a new virtual method: int
+ ACE_POSIX_AIOCB_Proactor::allocate_aio_slot
+ (ACE_POSIX_Asynch_Result *result).
+
+ . The strategy of free slot allocation in SIG_Proactor is
+ a bit different from AIOCB and SUN Proactors. The
+ allocate_aio_slot() method is responsible for setting
+ notification information for aio request
+ (SIGEV_NONE/SIGEV_SIGNAL). For SIG_Proactor, the field
+ aio_sigevent.sigev_value.sival_int now contains index of aiocb
+ in the aiocb_list_, not a pointer.
+
+ . The ACE_POSIX_AIOCB_Proactor::find_completed_aio (int &error_status,
+ int &return_status, size_t
+ &index, size_t &count)
+ parameter index defines initial slot to scan and the new
+ parameter count tells us maximum number slots to scan. On
+ return: index contains value to start scan next time, count
+ contains remained number of slots. Scanning is performed in
+ "wheel" style to allow all requests be handled with equal
+ priorities.
+
+ . ACE_POSIX_AIOCB_Proactor::check_max_aio_num () checks for
+ max_number_files to open and tries to setup max_number_files
+ equal to aiocb_max_size_. if we failed than cut off
+ aiocb_max_size_ value to existing max_number_files.
+
+ . POSIX_Proactor added member int os_id_ and constructor sets up
+ os_id_ (compilation time + run_time function) to know
+ OS(Sun/HP/Linux/...) and version. We need such info for
+ POSIX_SIG_Proactors to take into account the behavior of
+ different OS.
+
+ . Delivery of simulated/"post_completed" Asynch_Results
+ (Timers, AsynchAccept,Wakeup ...). As both Proactors have no
+ reliable mechanizm for delivery "post_completed" results, so
+ the reliable queue of "post_completed" results was
+ implemented. The new member of AIOCB Proactor
+ ACE_Unbounded_Queue<ACE_POSIX_Asynch_Result *> result_queue_
+ has been added. Also added protected methods to the
+ ACE_POSIX_AIOCB_Proactor.
+
+ . We had an error in all previous versions (from major ACE 5.1):
+ post_completion (int how_many) does not guarantee that all
+ completions will be delivered to the different threads running
+ event_loop (sometimes several completions could be delivered
+ to the one thread, in another thread performs during long time
+ application_spesific_code ()). Moreover, you can run now
+ Proactor event_loop in any number of threads (more than
+ SIGQUEMAX).
+
+Sun Jul 1 11:49:13 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * examples/Reactor/Proactor: Integrated a test that exercises the
+ support for asynchronous UDP operations. Thanks to Roger Tragin
+ <r.tragin@computer.org> for contributing this.
+
+ * ace/Synch_T.i: Changed the implementations of all the
+ acquire*() method to call release(). Thanks to Edan Ayal
+ <edana@bandwiz.com> for reporting this.
+
+Sat Jun 30 12:44:11 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * examples/Connection/blocking/SPIPE-acceptor.cpp: Added better
+ support for shutting down the server when a signal occurs.
+ Thanks to Rich Newman <RNewman@directv.com> for this
+ enhancement.
diff --git a/ChangeLogs/ChangeLog-02a b/ChangeLogs/ChangeLog-02a
new file mode 100644
index 00000000000..fa845881eb7
--- /dev/null
+++ b/ChangeLogs/ChangeLog-02a
@@ -0,0 +1,6249 @@
+Mon Dec 03 14:22:57 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * ace/ace_dll.dsp:
+ * ace/ace_lib.dsp:
+ Add UNIX-only files. Though strictly not required to compile
+ ACE under NT, putting them in the project makes this directory
+ more amenable for samwise.
+
+ * ace/POSIX_Proactor.cpp:
+ Remove duplicate ACE_BUILD_DLL macro, when needed this is
+ defined via options in the project file.
+
+Mon Dec 3 13:59:06 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/README:
+
+ The ACE_HAS_IP6 macro has been superceded by the ACE_HAS_IPV6
+ macro. Also added description of the
+ ACE_USES_IPV4_IPV6_MIGRATION macro based on Steve's description
+ below.
+
+Mon Dec 3 15:50:42 2001 Steve Huston <shuston@riverace.com>
+
+ * IPv6 changes done by John Aughey and myself. To enable IPv6
+ support for a build, put this in your config.h file:
+ #define ACE_HAS_IPV6
+ If your build with IPv6 enabled must also run on systems where
+ the IPv6 support in the kernel is not actually turned on (for
+ example, Redhat Linux 7 by default), also add this to your
+ config.h file:
+ #define ACE_USES_IPV4_IPV6_MIGRATION
+
+ * ace/ACE.cpp (format_hexdump): Add \n to last part of a dump line.
+
+ * ace/INET_Addr.(h i cpp): If IPv6 is enabled, the inet_addr_
+ member is now a union of sockaddr_in and sockaddr_in6. Which
+ one is legit is noted in ACE_Addr::type as well as the family
+ member of either of the union members. The host name lookup
+ functions can look up ipv6 as well as ipv4 names, and the
+ caller can force one or the other by using the address_family
+ argument to set().
+
+ * ace/OS.(h i): Removed ACE_OS::gethostbyname2; replaced it with
+ the more correctly-named and more flexible ACE_OS::getipnodebyname.
+ Also added ACE_OS::getipnodebyaddr. These are the IPv6-capable
+ functions analogous to gethostbyname and gethostbyaddr.
+
+ * ace/SOCK.cpp (get_remote_addr, get_local_addr): Set up the
+ ACE_Addr's type properly to account for ipv4/6 possibilities.
+
+ * ace/SOCK_Acceptor.(h cpp): Allow accepting on ipv4 and ipv6 sockets.
+
+ * ace/SOCK_CODgram.h:
+ * ace/SOCK_Connector.(cpp h ):
+ * ace/SOCK_Dgram.(cpp h ): Change default protocol family from
+ PF_INET to vary and take advantage of IPv6 if available.
+
+ * ace/Sock_Connect.(cpp h): Added ACE_Sock_Connect::ipv6_enabled()
+ method - it checks to see if the running kernel can do IPv6
+ sockets or not.
+
+ * ace/Sock_Connect.cpp (get_ip_interfaces): Removed a #if 0'd
+ block that had possible specializations for MSVC 4.2. It's
+ been a number of years, and it's obviously not needed.
+
+ * ace/MEM_Addr.cpp (same_host): Don't try to compare binary
+ addresses directly... get ACE_INET_Addr objects, clear the port
+ numbers, and compare them.
+
+ * ace/MEM_Connector.cpp (connect): Print error text with message.
+
+ * ace/Asynch_Acceptor.cpp (open): For the new socket, use the
+ protocol family from the listen address, not PF_INET.
+
+ * tests/INET_Addr_Test.cpp: New test.
+
+ * tests/Makefile: Added INET_Addr_Test.
+
+Mon Dec 3 10:54:34 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * ace/OS.h:
+ Document CDR default buffer sizes and control macros
+ using Doxygen.
+ Document memory alignment macros in Doxygen form.
+
+ * ace/Sample_History.h:
+ * ace/Sample_History.inl:
+ Add accessor to get the samples saved on the history.
+
+ * ace/RMCast/RMCast_Singleton_Factory.h:
+ Document constructor in more detail.
+
+Mon Dec 03 07:54:04 2001 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Unbounded_Queue.{h,cpp}:
+ Added const iterator for this container class
+
+Sun Dec 02 15:13:30 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * ace/OS.cpp:
+ Fixed Fuzz problems, the ACE_TRACE calls in operator++/--
+ definitions had less whitespace than the actual operators.
+
+Sun Dec 02 15:17:47 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/Thread_Manager.cpp (join): This method mistakenly used the
+ local copy of Thread_Descriptor to change the thread status when
+ it found a thread to join from the <thr_list_>. This prevented
+ the status of the original Thread_Descriptor to be updated
+ correctly and the same descriptor got put into the
+ <terminated_thr_list_> again, which caused the same thread to be
+ waiting on in some cases. Changed to manipulate the descriptor
+ directly to avoid the problem. Thanks to Eyal Lubetzky
+ <eyall@BANDWIZ.COM> for reporting the problem and providing a
+ nice example to showcase it.
+
+Sun Dec 2 12:44:58 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * tests/ACE_Init_Test.cpp:
+ * tests/ACE_Init_TestDlg.cpp:
+ Protect this test against compilation on non-Win32 platforms,
+ that makes it easier to compile using samwise.
+
+ * tests/RMCast/RMCast_Fragment_Test.cpp:
+ * tests/RMCast/RMCast_Membership_Test.cpp:
+ * tests/RMCast/RMCast_Reassembly_Test.cpp:
+ * tests/RMCast/RMCast_Reordering_Test.cpp:
+ * tests/RMCast/RMCast_Retransmission_Test.cpp:
+ * tests/RMCast/RMCast_UDP_Best_Effort_Test.cpp:
+ Change #include "test_config.h" to #include "../test_config.h",
+ it is easier to generate makefiles and projects files with
+ samwise if we do that.
+
+Sun Dec 02 12:15:25 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * ace/OS.cpp:
+ Fixed typos in ACE_Time_Value::operator++ implementations.
+ Also moved the implementation outside the #ifdef ACE_WIN32
+ section.
+
+Sun Dec 2 12:17:09 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Reactor.i: Fixed a warning in TRU 64. Thanks to
+ <krumpo@pobox.sk> which reminded me of the fix in one of my
+ workspaces. This shows up only in V6.3-013 (cxx) of the
+ compiler.
+
+Sat Dec 1 19:39:22 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/Date_Time.i (update): Use ACE_OS::gettimeofday for the time
+ source. This gets both the seconds-since-epoch value from which
+ the date and time are calculated and the microseconds value.
+ Thanks to Jim Connelly <jim.connelly@neustar.com> for reporting this.
+
+ * THANKS: Added Jim Connelly to the Hall of Fame.
+
+ * ace/Log_Msg_NT_Event_Log.{cpp h} (open):
+ * ace/Log_Msg_UNIX_Syslog.{cpp h} (open):
+ If the caller passes a prog_name (logger_key) argument, use it
+ for the Source field in the event log entries (or ident in the
+ syslog entries). If not, use the program name (previous behavior).
+ Added comments to define this behavior.
+
+ * ace/Log_Msg.cpp (open): Don't refuse to open a backend if the
+ <logger_key> arg is 0 and the SYSLOG bit is enabled. The SYSLOG
+ backends, both UNIX and NT Event Log, work perfectly fine with
+ a 0 logger_key. Thanks to Steve Witten <steve_witten@hp.com> for
+ reporting this.
+
+Sat Dec 1 18:03:51 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/config-macosx.h:
+ * include/makeinclude/platform_macosx.GNU:
+ Added support so that ACE will build and run on Mac OS X 10.1.
+ Thanks to John Michael Zorko <j.zorko@att.net> for contributing
+ this.
+
+Fri Nov 30 19:08:19 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/ARGV.cpp (dump): Fixed a bug with dump() so that it
+ works properly even if argv_ changes. Thanks to Kyle Brost
+ <Kyle.Brost@quest.com> for this fix.
+
+Thu Nov 29 16:31:57 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/OS.{h,i,cpp}: Changed the return value of
+ ACE_Time_Value::operator+= and operator -= to be ACE_Time_Value
+ & rather than void. Also, added overloaded operator++ and
+ operator--. This is all to make this stuff work better with
+ ACE_Atomic_Op. Thanks to Kelly F. Hickel <kfh@mqsoftware.com>
+ for suggesting this.
+
+ * ace/Asynch_Acceptor.cpp (parse_address): Changed
+ the "message_block.size () - 2 * this->address_size ()" argument
+ to "bytes_to_read_" to work properly on Win32. Thanks to Kelly
+ F. Hickel <kfh@mqsoftware.com> for reporting this.
+
+Wed Nov 28 17:44:26 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/OS_Dirent.cpp (readdir_emulation): Fixed a memory leak
+ in the dirent emulation. Thanks to Olivier Brunet
+ <obrunet@groupama-ccama.tm.fr> for reporting this.
+
+ * ace/SPIPE_Acceptor.h (ACE_SPIPE_Acceptor): Clarified the
+ return value of open(). Thanks to Garth Watney
+ <Garth.J.Watney@jpl.nasa.gov> for motivating this.
+
+ * ace/OS.h: Added a workaround to the Borland bug for
+ ACE_OS::stat(). Thanks to Christopher Kohlhoff
+ <chris@kohlhoff.com> and Chris Able <cable@scires.com> for
+ reporting/fixing this.
+
+Sat Dec 01 09:26:27 2001 Balachandran <bala@cs.wustl.edu>
+
+ * ACE version 5.2.1 released.
+
+Wed Nov 28 09:28:09 2001 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/examples/IPC_SAP/SOCK_SAP/*
+ * ace/examples/IPC_SAP/SPIPE_SAP/*
+ * ace/examples/Misc/*
+ * ace/examples/Naming/*
+ * ace/examples/RMCast/Send_File/*
+ * ace/examples/Reactor/DGram/*
+ * ace/examples/Reactor/Ntalker/*
+ * ace/examples/Registry/*
+ * ace/examples/Threads/*
+ * ace/examples/Service_Configurator/IPC_tests/client/*
+ Made these examples compiling when ACE_USES_WCHAR is set
+
+Mon Nov 26 16:07:57 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * bin/make_release: The distribution will be available in bzip2
+ compressed format too. Made modifications to the release scripts
+ to put out the beta in bzip2 compressed format.
+
+Sat Nov 24 10:23:00 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Unbounded_Set.h (class ACE_Unbounded_Set): Moved the
+ insert_tail() method from the private part of the class to the
+ public part since it's needed by the examples/Misc/test_set.cpp
+ file.
+
+ * examples/Misc/test_set.cpp (main): Somehow the contents of this file
+ got lost. Thanks to Johnny Willemsen for reporting this!
+
+Fri Nov 23 08:40:33 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * tests/Refcounted_Auto_Ptr_Test.cpp: Added some ACE_DEBUGs to
+ print out the reference count.
+
+ * ace/Refcounted_Auto_Ptr.h: Added a count() accessor method to
+ return the reference count. Thanks to Andrea Bernicchia
+ <a.bernicchia@acsys.it> for contributing this.
+
+Thu Nov 22 05:24:51 2001 Craig Rodrigues <crodrigu@bbn.com>
+
+ * examples/QOS/Diffserv: Added a simple example to illustrate
+ how to set Diffserv Codepoints on an ACE_SOCK_CODgram.
+ * examples/QOS/Makefile: Updated.
+
+Wed Nov 21 11:35:50 2001 Michael Kircher <Michael.Kircher@mchp.siemens.de>
+
+ * ace/Bound_Ptr.h
+ * ace/Bound_Ptr.i
+ * ace/Future.cpp
+ * ace/Future.h
+ * ace/Refcounted_Auto_Ptr.h
+ * ace/Refcounted_Auto_Ptr.i
+
+ Made the memory allocation failure behavior consistent
+ to the behavior prior to the change on Sun Oct 28 13:15:00 2001.
+ Thanks to Christopher Kohlhoff <chris@kohlhoff.com> who prepared
+ this change.
+ The problem was that with the above mentioned change failed
+ allocations would return 0 in either case, if exceptions were
+ enabled by the platform or not. This was incosistent to the
+ behavior before, as new threw bad_alloc on allocation failure
+ when exceptions were supported by the platform.
+
+ To fix this we faced the following forces:
+ - Not to introduce yet another macro
+ - Minimize impact of changes, localize the problem
+ - Keep the new calls wrapped by a ACE_NEW macro to allow
+ users to eventually redefine the macro (using e.g. new (nothrow)
+
+ As the ACE_NEW macros are quite restrictive in their supported
+ semantics, e.g. you can only return on error, we decided to introduce
+ a new method (as inline) internal_create which does the allocation.
+ internal_create is called by create which does the differentiation
+ between the exception-supported and exception-not-supported case.
+
+Wed Nov 21 09:07:37 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/OS.h: Updated the ACE_GUARD_ACTION macro and added a new
+ ACE_GUARD_REACTION macro. Then, reimplemented the ACE_GUARD and
+ ACE_GUARD_RETURN macros in terms of these new macros. Thanks to
+ Don Hinton for contributing these.
+
+ * ace/Log_Msg_Callback.h: Improved the comments to explain why
+ ACE_Log_Msg_Callback isn't inherited. Thanks to
+ Alexey Chalimov <alexey@allcharge.com> for motivating this.
+
+Tue Nov 20 15:36:52 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ACE-INSTALL.html: Pointed out that on Solaris with g++ you may
+ need to use GNU as instead of /usr/ccs/bin/as, if you want
+ -gstabs+ and -pipe support. Thanks to C Chan
+ <CChan@md.aacisd.com> for reporting this.
+
+Mon Nov 19 07:24:05 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * examples/Synch/proc_sema.cpp: Added the ACE_TEXT macro so that
+ ACE_Get_Opt works correctly. Thanks to Johnny Willemsen for
+ contributing this.
+
+ * tests/Aio_Platform_Test.cpp (main): Fixed the code so that it
+ compiles when ACE_USES_WCHAR. Thanks to Johnny Willemsen for
+ reporting this.
+
+ * docs/ACE-categories.html: Updated the Doxygen URLs to use the
+ new format. Thanks to Peter J. Mason <peter.mason@retriever.com.au>
+ for reporting the problem.
+
+Fri Nov 16 10:39:52 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * docs: Moved minimumTAO.html from $TAO_ROOT/docs/ to
+ $ACE_ROOT/docs.
+
+ * ace/OS.h: Added two new macros ACE_GUARD_ACTION and
+ ACE_GUARD_ACTION_RETURN. Thanks to Boris Kaminer
+ <boris.kaminer@orcsoftware.com> for suggesting these.
+
+ * ace/NT_Service.cpp (state): Fixed a bug where calling
+ ACE_NT_Service::state(x,x) while the service is stopped was
+ causing the internal status variables of ACE_NT_Service to
+ become corrupt. If the control_mask is set to
+ SERVICE_ACCEPT_STOP in the constructor, the call to state will
+ cause this mask to be reset (if the service is not running).
+ This ultimately results in an NT Service that can be started but
+ not stopped. Thanks to Kyle Brost <Kyle.Brost@quest.com> for
+ providing this fix.
+
+Wed Nov 21 10:00:20 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/config-irix6.x-common.h:
+
+ Changed the size of a long double from 16 to 8 for the GNU
+ compiler.
+
+ * include/makeinclude/platform_irix6.x_sgic++.GNU:
+
+ Add buildbits macro to allow 32 and 64 bit builds on IRIX.
+
+Wed Nov 21 12:49:08 2001 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * performance-tests/Misc/basic_perf.cpp
+ * performance-tests/Misc/childbirth_time.cpp
+ * performance-tests/Misc/context_switch_time.cpp
+ * performance-tests/Misc/preempt.cpp
+ * performance-tests/Misc/test_mutex.cpp
+ * performance-tests/Misc/test_singleton.cpp
+ Made these tests compiling when ACE_USES_WCHAR is set
+
+Wed Nov 21 08:49:12 2001 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS.h
+ Added ACE_LIB_TEXT around ACE_DEFAULT_RENDEZVOUS to make a unicode
+ constant when ACE_USES_WCHAR is defined
+
+ * tests/FlReactor_Test.cpp
+ * tests/TkReactor_Test.cpp
+ * tests/XtReactor_Test.cpp
+ Changed type of argv argument of main from char to ACE_TCHAR so that
+ these tests compile without problems when ACE_USES_WCHAR is defined
+
+ * examples/IPC_SAP/ATM_SAP/CPP-client.cpp
+ * examples/IPC_SAP/ATM_SAP/CPP-server.cpp
+ * examples/IPC_SAP/FIFO_SAP/FIFO-client.cpp
+ * examples/IPC_SAP/FIFO_SAP/FIFO-Msg-client.cpp
+ * examples/IPC_SAP/FIFO_SAP/FIFO-Msg-server.cpp
+ * examples/IPC_SAP/FIFO_SAP/FIFO-server.cpp
+ Made these example compiling when ACE_USES_WCHAR is set
+
+Tue Nov 20 12:02:16 2001 Ossama Othman <ossama@uci.edu>
+
+ * configure.in:
+
+ Removed this file from the distribution. Some folks insist on
+ attempting to build ACE/TAO with the configure script and
+ reporting problems despite the fact we've explicitly disabled
+ it.
+
+Tue Nov 20 13:30:36 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Strategies.h:
+ * ace/Strategies.cpp:
+ * ace/Strategies.i: Re-added files back into the main trunk. Got
+ accidentally removed from the main when I was doing some work on
+ a branch.
+
+Mon Nov 19 20:35:44 2001 Jaiganesh Balasubramanian <jai@balar.ece.uci.edu>
+
+ * ace/SOCK_Dgram_Mcast.cpp:
+ This class allow application to subscribe a single socket to
+ many multicast groups. However, the unsubscribe operation
+ failed to work with more than one group. For some strange
+ reason it was storing the first multicast group subscription in
+ a class member and using that member in all the paths for the
+ unsubscribe methods.
+
+ We have changed the unsubscribe(const ACE_INET_Addr&,...) method
+ to work as adversited, i.e. unsubscribe the *given* multicast
+ address, not the stored one, as an added benefit the method is
+ now re-entrant. The unsubscribe(void) method works as before.
+ The code has been re-factored to minimize duplication.
+
+Mon Nov 19 11:03:07 2001 Ossama Othman <ossama@uci.edu>
+
+ * ACE-INSTALL.html:
+
+ Added missing build instructions for the ACE_SSL library, and
+ updated the list of "make" flags recognized by ACE's Makefile
+ scheme.
+
+Mon Nov 19 00:53:54 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * ace/Svc_Conf_y.cpp:
+ * ace/Svc_Conf_l.cpp:
+ * ace/Svc_Conf_Tokens.h:
+
+ Fixed some bugs introduced by my previous checkin because of
+ patch confusion. Replaced all the standard C system calls with
+ ACE_OS calls. Made it more wchar friendly.
+
+ * ace/Makefile:
+
+ Removed the dependency on /pkg/gnu/bin/flex. It was broken. We
+ now use $(LEX) and $(YACC) defined in
+ $ACE_ROOT/include/makeinclude/wrapper_macros.GNU.
+
+ * include/makeinclude/wrapper_macros.GNU:
+
+ Changed the definition of YACC to bison (by default). If people
+ want to change this, it can be overridden by a variable in the
+ Makefile. But things are most likely to break if you use yacc.
+
+ * etc/Svc_Conf_l.cpp.diff:
+ * etc/Svc_Conf_y.cpp.diff:
+
+ Regenerated the diffs.
+
+ *Sigh* This patching business is ugly.
+
+Fri Nov 16 07:22:19 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * bin/make_release: Updated the script to copy the beta to a
+ different location. Have tested this by creating a dummy
+ repository and a dummy export directory. Things worked
+ fine. Hopefully the beta should go through without any hassle.
+
+ The script is tied to its usage on ace.cs. Needs to be
+ changed. Will do that after this beta goes out. Having too many
+ changes at the same time may not be good.
+
+Thu Nov 15 20:44:40 2001 Craig Rodrigues <crodrigu@bbn.com>
+
+ * etc/Svc_Conf_l.cpp.diff: Updated. Thanks to Kitty for reporting it.
+ * etc/Svc_Conf_y.cpp.diff: Added. We need it for uses of ACE_LIB_TEXT.
+ * ace/Makefile: Added rule to apply patch to Svc_Conf_y.cpp.
+
+Thu Nov 15 08:26:57 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/*.cpp: Changed all remaining uses of ACE_TEXT to ACE_LIB_TEXT
+ to be consistent... Thanks to Johnny Willemsen for reporting
+ the inconsistencies and for Darrell Brunsch for clarifying what
+ the right behavior should be.
+
+Wed Nov 14 07:43:20 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * docs/ACE-guidelines.html: Updated the guidelines to explain
+ the use of ACE_TCHAR for the argv parameter to main(). Thanks
+ to Johnny Willemsen for reporting this.
+
+ * ace/OS_Dirent.inl (opendir): Replace char * const cast with
+ ACE_TCHAR * const cast. Thanks to Nick Pratt for reporting
+ this.
+
+ * tests/Upgradable_RW_Test.cpp (main): Fixed the test to avoid
+ dividing by 0 and also initialized all pointers to NULL. Thanks
+ to Johnny Willemsen for reporting this. Thanks fixes BudID 650.
+
+Tue Nov 13 15:25:04 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/ACE.h (ACE): Clarified what the time_len parameter is used for.
+ Thanks to Tompa <safdsfd@adsffda.com> for reporting this.
+
+Sun Nov 11 09:50:52 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Naming_Context.cpp (info): Added an ACE_UNUSED_ARG to
+ silence warning about "length" parameter and changed buf from
+ char to ACE_TCHAR. Thanks to Johnny Willemsen for reporting
+ this.
+
+ * tests/Aio_Platform_Test.cpp: The argv parameter of main() should
+ be ACE_TCHAR rather than char. Thanks to Johnny Willemsen for
+ reporting this.
+
+Thu Nov 15 15:43:20 2001 Craig Rodrigues <crodrigu@bbn.com>
+
+ * ace/Naming_Context.cpp (info): Wrapped sprintf() arguments with
+ ACE_LIB_TEXT. Fix supplied by Johnny Willemsen.
+
+Thu Nov 15 12:43:31 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * docs/wchar.txt: Added a writeup for ACE_LIB_TEXT and ACE_TEXT
+ from "the authority."
+
+Wed Nov 14 21:36:42 2001 Ossama Othman <ossama@uci.edu>
+
+ * docs/usage-bugzilla.html:
+
+ Corrected link to the DOC Center's bugzilla site.
+
+Wed Nov 14 23:11:59 2001 Craig Rodrigues <crodrigu@bbn.com>
+
+ * ace/Naming_Context.cpp (info): Fixed Unicode build problems
+ by consistently using ACE_TCHAR instead of char, and by
+ using Unicode aware string functions in ACE_OS_String
+ instead of ACE_OS.
+
+ * ace/Svc_Conf_l.cpp: Default intialized ace_yy_c_buf_p to ACE_TCHAR
+ instead of char. Default initialized ace_yy_cp, ace_yy_bp to 0.
+
+ * ace/Svc_Conf_y.cpp: Wrap string literals passed to ace_yyerror
+ with ACE_LIB_TEXT().
+
+Wed Nov 14 06:38:41 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * docs/ACE-bug-process.html (HREF): Changed references from ace.cs
+ to deuce.doc. Thanks to Johnny Willemsen for reporting this.
+
+Tue Nov 13 15:04:15 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * html/Stats/index.shtml:
+ * html/Stats/detailed_performance.shtml:
+ Improved documentation about the test location, ORB, and network
+ configuration used. Thanks to David Yongqiang Wang
+ <davidyw@avaya.com> for pointing out the problems.
+
+Tue Nov 13 11:46:11 2001 Chris Cleeland <cleeland_c@ociweb.com>
+
+ * tests/Collection_Test.cpp (iterate_const): Fixed ACE_DEBUG print
+ statements that were accessing the element of the unbounded set
+ as an int rather than an UglyThing. Thanks to Ossama for
+ pointing this out.
+
+Mon Nov 12 11:41:35 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_SOCK_Stream.cpp (send, recv):
+
+ In the va_arg versions of these methods, do not use
+ send/recv_n() to as the underlying send/recv() method. It
+ forces unnecessary blocking.
+
+ Corrected return value semantics in versions of these methods
+ that use loop to send/receive multiple buffers. If data was
+ sent or received than do not return -1 on error. Instead return
+ the amount of bytes sent/received. This is necessary to allow
+ the caller to keep track of sent or received data. [Bug 882]
+
+Sun Nov 11 23:50:00 2001 Craig Rodrigues <crodrigu@bbn.com>
+
+ * tests/Date_Time_Test.cpp: Remove argv variable from
+ main() to eliminate unused variable compiler warning.
+ * tests/Arg_Shifter_Test.cpp: Same.
+
+Sun Nov 11 10:00:56 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_SOCK_Stream.h (ACE_SSL_SOCK_Stream):
+
+ Removed unused class members.
+
+ * ace/SSL/SSL_SOCK_Stream.cpp (sendv):
+
+ If an error occurs but data was sent on a previous loop
+ iteration then return the amount of bytes sent, not the error.
+ This extends previous check for EWOULDBLOCK and ETIME. All
+ errors are now caught. The caller must always know if any data
+ was successfully sent. [Bug 882]
+
+ Do not continue on to the next loop iteration if the amount of
+ data sent was less than the amount data given. This avoids a
+ subtle problem where "holes" in the data stream would occur if
+ partial sends of a given buffer in the iovec array occured.
+ [Bug 882]
+
+Sun Nov 11 07:58:07 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_SOCK_Stream.cpp (sendv):
+
+ Fixed unused variable warnings.
+
+Sat Nov 10 23:25:50 2001 Ossama Othman <ossama@uci.edu>
+
+ * bin/auto_run_tests.lst:
+
+ Added new SSLIOP "Big_Request" test to the list of regression
+ tests to automatically run during the nightly builds.
+
+Sat Nov 10 22:13:54 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * ace/Svc_Conf_l.cpp:
+ * ace/Svc_Conf_y.cpp:
+ * ace/Svc_Conf_Tokens.h:
+
+ Regenerated the files after fixing the warnings that showed up
+ under Sun CC Forte Update. They were caused because Sun CC's
+ preprocessor doesn't like the #line statements generated by flex
+ and bison. Since these files are not modified on a daily basis,
+ people debugging the lexer can turn it on by removing the flags
+ '-l' and '-L' to bison and flex respectively in the Makefile.
+ For now, this removes a lot of noise.
+
+ * ace/Makefile:
+
+ Added flags '-l' to bison and '-L' to flex.
+
+ * etc/Svc_Conf_l.cpp.diff:
+
+ Regenerated the diff to match the current version.
+
+ * etc/Svc_Conf_y.cpp.diff:
+
+ This file held the stuff which have been obsoleted by the move
+ to use bison. So removed this file to avoid causing confusion in
+ the future. Thanks to Ossama for pointing this out.
+
+ Let's see some green :-)
+
+Sat Nov 10 19:27:36 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_Accept_Handler.cpp (ssl_accept):
+ * ace/SSL/SSL_Connect_Handler.cpp (ssl_connect):
+
+ If data is still buffered within OpenSSL's internal buffer, then
+ force the Reactor to invoke the event handler (with
+ the appropriate mask) before waiting for more events
+ (e.g. blocking on select()) by returning a value greater than
+ one. All pending data must be processed before waiting for more
+ events to come in on the SSL handle.
+
+ * ace/SSL/SSL_SOCK_Stream.h (reactor, handler, notify):
+
+ These methods are no longer needed. Removed them.
+
+ (sendv):
+
+ Added missing timeout parameter.
+
+ * ace/SSL/SSL_SOCK_Acceptor.cpp (ssl_accept):
+ * ace/SSL/SSL_SOCK_Connector.cpp (ssl_connect):
+ * ace/SSL/SSL_SOCK_Stream.i (notify, recv_i, send_i, close):
+
+ Reverted code that notify()ed the Reactor if data was still
+ pending in OpenSSL's internal buffers. The idea was to force
+ the reactor to call the appropriate event handler before polling
+ for events (e.g. blocking on select()). However, notifications
+ are not dispatched until after events are polled which meant
+ that there is no point in notify()ing the Reactor.
+
+ * ace/SSL/SSL_SOCK_Stream.cpp (reactor, handler):
+
+ These methods are no longer needed. Removed them.
+
+ (sendv):
+
+ Fixed/improved the writev() semantics and emulation in this
+ method. Previously, if an iov_base buffer was successfully
+ sent, that success was not reported to the caller if subsequent
+ sends in the emulation loop failed. The caller would end up
+ thinking that no part of the message was sent. The improved
+ semantics are now the following if the underlying send() call
+ returns with an EWOULDBLOCK or ETIME error condition:
+
+ - If no data was sent, then return -1.
+ - If some data was sent on a previous loop iteration then
+ return the number of bytes successfully sent.
+
+ In both cases, errno is unchanged. [Bug 882]
+
+ Incidentally, this fixes a problem in TAO's SSLIOP pluggable
+ protocol when sending very large requests. Thanks to Andrew
+ Finnell <Andrew.Finnell@esecurityinc.com> for providing an
+ example that exhibited the problem.
+
+ Lastly, the missing timeout support has been added. The timeout
+ is decremented on each loop iteration.
+
+Sat Nov 10 17:16:59 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/OS.cpp (fopen): Removed redundant parentheses.
+
+Sat Nov 10 09:29:48 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/OS.i (pipe): Replaced the _pipe() call on Win32 with the
+ CreatePipe() call. Thanks to Bo Balders <bba@post.utfors.se>
+ for reporting this.
+
+ * ace/Log_Msg.cpp (log): The "format" string was omitted. Thanks
+ to Martin Krumpolec for noticing this.
+
+Sat Nov 10 08:48:24 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/Arg_Shifter.{h,cpp}: Added a new constructor to ACE_Arg_Shifter
+ so that it can handle both const char ** and char ** arguments.
+
+Fri Nov 9 07:42:41 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Arg_Shifter.cpp: Made the argv parameter to ACE_Arg_Shifter
+ a "const" ACE_CHAR **.
+
+ * tests/Arg_Shifter_Test.cpp (main): Added "const" to the
+ args local variable to remove a warning from SunC++.
+
+Fri Nov 9 11:23:01 2001 Chris Cleeland <cleeland_c@ociweb.com>
+
+ * tests/Collection_Test.cpp: Fixed up things that caused problems
+ on several platforms. Added the ARRAY tests back in.
+
+Thu Nov 8 14:52:39 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/Log_Msg.h: Added a new 'M' option to print out the name of
+ the log priority. Thanks to Vladimir Chovanec
+ <Vladimir.CHOVANEC@asset.sk> for reporting this.
+
+Thu Nov 8 10:41:44 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/OS_String.h: Enhanced the documentation so that it explains
+ the differences between ACE_OS::strsncpy() and ACE_OS::strcpy()
+ more precisely. Thanks to Alain Decamps for contributing this.
+
+ * ace/Naming_Context.{h,cpp}: The info() method should have
+ ACE_TCHAR ** rather than char **. Thanks to Johnny Willemsen
+ for reporting this.
+
+ * ace/OS.cpp: Added support for Borland's idiosyncratic _wfdopen()
+ method. Thanks to Johnny Willemsen for reporting this.
+
+Wed Nov 7 05:17:03 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Message_Queue_T.{h,cpp}: Changed the typo DEFUALT_PRIORITY
+ to DEFAULT_PRIORITY.
+
+ * ace/OS.i: In BCB the _wtempnam() has the following signature:
+ wchar_t *_wtempnam(wchar_t *dir, wchar_t *prefix)
+
+ This means that the arguments must be made non-const by a cast. The
+ fix is to add some defines so that with BCB and no wchar the
+ _tempnam is used (with the casts) and with BCB and wchar then
+ the _wtempnam is used with the casts. Thanks to Johnny
+ Willemsen for this fix.
+
+Thu Nov 8 14:52:39 2001 Steve Huston <shuston@riverace.comy>
+
+ * ace/Arg_Shifter.h: Doxygen-ized some comments.
+
+ * ace/Date_Time.i (update): Add 1900 to years value to convert from
+ localtime's years-since-1900 value to now. Add 1 to the month
+ to convert localtime's 0-11 range to 1-12. Thanks to Syed
+ Wasim Ali <syed.ali@neustar.com> for reporting this.
+
+ * tests/Date_Time_Test.(cpp dsp icc): New test for ACE_Date_Time.
+
+ * tests/tests.dsw:
+ * tests/tests.icp:
+ * tests/Makefile[.bor]: Added Date_Time_Test.
+
+ * tests/run_test.lst: Added Arg_Shifter_Test and Date_Time_Test.
+
+Thu Nov 8 11:53:00 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/Arg_Shifter_Test.(cpp dsp icc): New test for ACE_Arg_Shifter.
+
+ * tests/tests.dsw:
+ * tests/tests.icp:
+ * tests/Makefile[.bor]: Added Arg_Shifter_Test.
+
+Thu Nov 8 13:05:12 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * include/makeinclude/platform_irix6.x_sgic++.GNU:
+
+ Added an option to suppress warnings about #pragma pack.
+
+Thu Nov 8 10:43:22 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/OS.cpp:
+
+ Correct a build problem for GHS on Win32.
+
+Wed Nov 07 13:50:39 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/Task_T.h (ACE_Task): Decorated ACE_Task with ACE_Export to
+ avoid VC7's internal compiler error. Thanks to Darrell for
+ submitting the change.
+
+Wed Nov 7 10:59:00 2001 Craig Rodrigues <crodrigu@bbn.com>
+
+ * include/makeinclude/platform_sunos5_g++.GNU: Append -D_REENTRANT
+ to CPPFLAGS if threads=1
+
+Wed Nov 7 08:09:20 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * bin/nightlybuilds/builds.lst: Changed the name CC5 build as
+ CC51. It uses version 5.1 of the compiler anyway.
+
+Tue Nov 6 14:39:28 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/SString.i (find),
+ * ace/Local_Name_Space_T.cpp (resolve_i): Fixed "off-by-one"
+ bugs with ACE_OS::strscpy(). Thanks to Alain Decamps
+ <Alain.Decamps@PIDPA.be> for contributing this.
+
+Tue Nov 6 13:25:40 2001 Chris Cleeland <cleeland_c@ociweb.com>
+
+ * tests/Collection_Test.cpp: Committed an old change that uses an
+ actual class as the element in the Unbounded_Set rather than an
+ int. I wrote this to get a better understanding of how the
+ iterator and accessors on the iterator worked.
+
+ * tests/SString_Test.cpp (main): Added a test for the rep() method
+ that insures that the char array returned is equivalent to the
+ string in the ACE_CString from which it's obtained.
+
+Mon Nov 5 10:12:01 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/OS.cpp,
+ * ace/Local_Name_Space_T.cpp,
+ * ace/FILE_Addr.cpp,
+ * ace/Acceptor.cpp,
+ * ace/ACE.cpp: Changed uses of strncpy() to ACE_OS::strsncpy().
+ Thanks to Alain Decamps for these fixes.
+
+Sun Nov 4 12:11:31 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Reactor.cpp: Enhanced all the Reactor's event loop methods
+ to first check and see if the Reactor's been deactivated and to
+ bailout immediately in this case. Thanks to Don Hinton for
+ suggesting this.
+
+ * ace/Reactor.i: Moved the reactor_event_loop_done() method from
+ the *.cpp file into the *.i file and made inlineable.
+
+ * ace/Select_Reactor_T.cpp: Be more careful about error handling in the
+ dispatch_notification_handlers() method. If a failure occurs,
+ when dispatch_notifications() is called, return -1, rather than
+ erroneously "incrementing" the count of the number of handlers
+ dispatched. Thanks to Don Hinton for reporting this.
+
+Sat Nov 3 11:15:43 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * The following fixes are from Joachim Achtzehnter <joachima@netacquire.com>:
+
+ In ace/config-pharlap.h we had to explicitly #undef
+ ACE_HAS_WCHAR after the #include "ace/config-win32.h"
+ directive. Without this change the resulting DLL depended on
+ several wide character versions of Win32 system functions, such
+ as _CreateMutexW. At least some of these dependencies were
+ caused by ace/OS.i.
+
+ In ace/Log_Msg.cpp we had to add !defined(ACE_HAS_PHARLAP) to a
+ few more places in addition to the ones Bruce Trask had posted
+ to avoid reference to the NT Eventlog functionality.
+
+ At the top of ace/Log_Msg_NT_Event_Log.h and
+ ace/Log_Msg_NT_Event_Log.cpp we added !defined(ACE_HAS_PHARLAP)
+ to completely bypass the contents of these two files.
+
+ * ace/DEV_Addr.i (addr_to_string):
+ * ace/Local_Tokens.i (name):
+ * ace/Module.i (name):
+ * ace/OS.i (asctime_r):
+ * ace/SPIPE_Addr.i (addr_to_string):
+ * ace/UNIX_Addr.i (addr_to_string):
+ * ace/SString.i (rep): Changed uses of strncpy() to ACE_OS::strsncpy().
+ Thanks to Alain Decamps for these fixes.
+
+Fri Nov 2 14:38:49 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/Task.h (ACE_Task_Base): Clarify the meaning of the put()
+ hook method. Thanks to Tommy Svensson <tommysvensson@yahoo.com>
+ for motivating this.
+
+Mon Nov 5 14:23:12 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/ACE.cpp:
+
+ Remove a build warning for gcc 2.95.3 on SunOS 5.6.
+
+Mon Nov 5 14:21:30 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/nightlybuilds/builds.lst:
+
+ Added the HP-UX nightly build back to the list.
+
+Mon Nov 5 13:31:15 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/ACE.cpp:
+
+ Fix a build warning for 64-bit HP-UX.
+
+ * ace/Active_Map_Manager_T.i:
+
+ Cast the free list id to ACE_UINT32 to match up with the
+ slot_index () type. On 64-bit HP-UX, the free list id type
+ (size_t) is a 64 bit number and must be cast down to 32 bits.
+ Otherwise, the slot_index is cast up to 64 bits and does not give
+ the correct results.
+
+ * include/makeinclude/platform_hpux_aCC.GNU:
+
+ Add a -L./ to allow the 64-bit HP-UX builds to link properly.
+
+Mon Nov 5 11:17:20 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * bin/auto_compile:
+ Add support for the new status.txt file in the scoreboard.
+
+Mon Nov 5 13:02:50 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/config-hpux-11.00.h:
+
+ Added #define of ACE_HAS_CHARPTR_DL. This corresponds with the
+ declaration of dlopen(char*,unsigned int).
+
+ * ace/OS.cpp:
+
+ Changed the default thread scope to system (similar to Linux).
+ Process thread scope is not supported in HP-UX.
+
+Sun Nov 04 11:18:31 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/OS.cpp (fopen): Changed to forward call to fopen instead of
+ _fopen on non-borland compilers when not using UNICODE. This
+ change allows the code to compile on Win98. Thanks to Jstwo
+ <jstwo@writeme.com> for submitting the fix.
+
+Thu Nov 1 16:21:51 2001 Chris Cleeland <cleeland_c@ociweb.com>
+
+ * bin/auto_run_tests.pl: Added snippet of code that puts the
+ current directory ('.') in the PATH environment variable since
+ auto_run_tests.pl depends on the current directory being there.
+
+Thu Nov 1 15:49:04 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * include/makeinclude/platform_osf1_4.x_cxx.GNU: Moved the
+ CXX_VERSION definition to the global scope.
+
+ * include/makeinclude/platform_tru64_cxx.GNU: Added
+ -D_PTHREAD_ENV_DECCXX flag to the CPPFLAGS. This is done only
+ for v5.1, 1885. The pthreads.h in 1885 is messed up. The
+ conditional include of c_asm.h is busted for DECCXX and
+ v1885. Hence the change. We need to do this to protect ACE and
+ TAO applications on this platform and compiler
+ combinations. Thanks to Don Hinton <dhinton@gmx.net> for
+ reporting the problem.
+
+Thu Nov 1 14:25:52 2001 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * ace/config-win32-borland.h:
+
+ Added fix sent in by Chris Kohlhoff <kohlhoff@pop.ihug.com.au>
+ to ACE_CC_PREPROCESSOR_ARGS to enable the recognition of a
+ filename to which the preprocessor output is to be directed.
+ There is also a corresponding fix in TAO_IDL/driver/drv_preproc.cpp
+ that carries out the redirection.
+
+Thu Nov 1 10:27:21 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/Select_Reactor_Base.h (open):
+ * ace/Select_Reactor_T.h (ACE_Select_Reactor_T, open):
+
+ Added a note about the "size" of the Select_Reactor on Unix
+ platforms. On Unix platforms, the size parameter should be as
+ large as the maximum number of file descriptors allowed for a
+ given process. This is necessary since a file descriptor is
+ used to directly index the array of event handlers maintained by
+ the Reactor's handler repository. Direct indexing is used for
+ efficiency reasons.
+
+Thu Nov 1 06:38:30 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/ACE.cpp: Fixed some minor formatting problems so that
+ format_hexdump() works properly. Thanks to Kyle Brost
+ <Kyle.Brost@quest.com> for reporting this.
+
+ * ace/config-win32.h: Include the config-cygwin32.h file when
+ __CYGWIN32__ is enabled. Thanks to Johnny Willemsen for
+ reporting this.
+
+ * ace/Synch.i (remove): Added some casts to make certain compilers
+ happy? Thanks to Guillaume Renaud <guillaume.renaud@valtech.fr>
+ for reporting this.
+
+ * ace/OS.i: Updated the Win32 version of ACE_OS::llseek(). Thanks to
+ Doron Rajwan <doron@BANDWIZ.COM> for reporting this.
+
+Wed Oct 31 11:25:40 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/OS.h: The ACE_OS::llseek() method must be static! Thanks to
+ Doron Rajwan <doron@BANDWIZ.COM> for reporting this.
+
+Tue Oct 30 08:30:16 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/RB_Tree.cpp (operator=): Make sure to check for self-assignment
+ in the operator=. Thanks to Johnny Willemsen for reporting
+ this.
+
+Mon Oct 29 05:23:56 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Naming_Context.{h,cpp}: Moved ACE_STATIC_SVC_REQUIRE from the
+ .h file to the .cpp file to avoid multiple definitions. Thanks to
+ Boris Kaminer <boris.kaminer@orcsoftware.com> for reporting this.
+
+Sun Oct 28 10:05:32 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/config-macosx.h:
+ * include/makeincludes/platform_macosx.GNU
+ Added new fixes to get this to work on MacOS X. Thanks to John
+ Michael Zorko <j.zorko@att.net> and Fikri Pribadi
+ <fikri@ugotacall.com> for contributing this.
+
+Wed Oct 24 23:59:13 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Configuration_Import_Export.cpp: Fixed a bug where a
+ check of a pointer was made rather than the character pointed to
+ by the pointer. Thanks to Juan Jose Comellas
+ <uanjo@comellas.org> for reporting this.
+
+Wed Oct 31 16:45:07 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/OS.h (llseek):
+
+ Made ACE_OS::llseek() a static method, as it was originally
+ intended to be. Thanks to Doron Rajwan <doron@BANDWIZ.COM> for
+ pointing out the problem.
+
+Tue Oct 30 22:53:57 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/Svc_Conf_l.cpp:
+
+ Fixed incorrect #line preprocessor directives.
+
+ * etc/Svc_Conf_l.cpp.diff:
+
+ Regenerated this diff so that it includes recent updates.
+
+Mon Oct 29 20:12:40 2001 Ossama Othman <ossama@uci.edu>
+
+ * tests/run_test.lst:
+
+ Added the Proactor test to the list of one-button tests to run.
+
+Mon Oct 29 20:04:40 2001 Ossama Othman <ossama@uci.edu>
+
+ * tests/Proactor_Test.cpp:
+
+ More patches from Alexander Libman. The Proactor_Test appears
+ to finally work on Linux.
+
+Mon Oct 29 17:49:21 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/TP_Reactor.cpp: Added some error checks at places where
+ token where acquired.
+
+Mon Oct 29 16:59:58 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/TP_Reactor.cpp (acquire_token): The acquire_token () called
+ acquire with a sleep hook. It was wrong. It should just unblock
+ the thread by sending notify. A bad cut and paste error
+ :(. Thanks to Graeme Clark <gclark@opentext.com> for reporting
+ this. This closes [BUGID 1077].
+
+Sun Oct 28 20:36:56 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/Map_T.i (clone):
+
+ Fixed syntax errors.
+
+ * ace/Svc_Handler.cpp (new):
+
+ Reverted Michael's change. It incorrectly altered the semantics
+ of the new operator, particularly when compiling with native
+ exception support enabled. Fixes a warning.
+
+Sun Oct 28 16:44:20 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/Timer_Hash_T.cpp (ACE_Timer_Hash_T):
+
+ Corrected syntax error that was introduced in the changes
+ described below by removing extraneous trailing bracket.
+
+Sun Oct 28 13:15:00 2001 Michael Kircher <Michael.Kircher@mchp.siemens.de>
+
+ * ace/ACE.i:
+ * ace/Activation_Queue.cpp:
+ * ace/Bound_Ptr.i:
+ * ace/Configuration.cpp:
+ * ace/Configuration_Import_Export.cpp:
+ * ace/Containers_T.cpp:
+ * ace/Future.cpp:
+ * ace/Handle_Gobbler.h:
+ * ace/Local_Tokens.i:
+ * ace/MEM_SAP.i:
+ * ace/Map_T.i:
+ * ace/Message_Block.cpp:
+ * ace/OS_Errno.cpp:
+ * ace/Object_Manager.cpp:
+ * ace/Obstack_T.cpp:
+ * ace/Refcounted_Auto_Ptr.i:
+ * ace/Remote_Tokens.i:
+ * ace/Strategies_T.cpp:
+ * ace/Stream.cpp:
+ * ace/Svc_Handler.cpp:
+ * ace/Synch_T.cpp:
+ * ace/TLI.cpp:
+ * ace/Timer_Hash_T.cpp:
+ * ace/Timer_Queue_T.cpp:
+ * ace/Unbounded_Queue.cpp:
+ * ace/Unbounded_Set.cpp:
+
+ Changed almost all direct usages of operator new in ACE to use
+ ACE_NEW_RETURN (Exceptions is Dump_T.h). In one case in
+ Stream.cpp the semantics changed slightly if operator new would
+ have been overloaded, see the "@@ Michael" comment.
+
+ When new got used with placement most of the usages got
+ replaced with ACE_NEW_MALLOC_RETURN. In some cases as in
+ Malloc_T.cpp, Map_Manager.cpp, PI_Malloc.i, Array_Base.cpp
+ special cases exist, where the macros would have incurred
+ different semantics and performance penalties.
+
+Fri Oct 26 07:37:43 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * bin/auto_run_tests.lst: Quoter example will not run in
+ minimum_corba builds.
+
+Wed Oct 24 08:04:36 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Reactor.h: Improved the documentation of the
+ end_reactor_event_loop ().
+
+Tue Oct 23 10:04:25 2001 Ossama Othman <ossama@uci.edu>
+
+ * tests/Proactor_Test.cpp:
+
+ Replaced uses of a static global lock with the
+ ACE_Static_Object_Lock singleton.
+
+ Fixed incorrect uses of the "%l" format specifier. "%d" is the
+ expected format specifier.
+
+ (Acceptor):
+
+ Initialize the "sessions_" member in the base member initializer
+ list. Corrects a problem where the session number initially
+ contained a "garbage" value.
+
+Mon Oct 22 17:55:00 2001 Craig Rodrigues <crodrigu@bbn.com>
+
+ * ace/Svc_Conf_l.cpp: Remove include of stdlib.h, fix g++/Solaris
+ build.
+
+Mon Oct 22 15:54:29 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/config-hpux-10.x-hpc++.h: Remove hard-coded setting of
+ ACE_HAS_EXCEPTIONS. It is controlled by platform_hpux_aCC.GNU.
+
+Mon Oct 22 15:50:35 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * THANKS: Added Chris Hughes name to the Hall of Fame
+
+Sun Oct 21 16:44:41 2001 Ossama Othman <ossama@uci.edu>
+
+ * tests/Proactor_Test.cpp (disable_signal):
+
+ Fixed warnings regarding a method that "hid" virtual function
+ with the same name, in addition to unused argument warnings.
+
+Sun Oct 21 15:22:57 2001 Ossama Othman <ossama@uci.edu>
+
+ * tests/Proactor_Test.cpp:
+
+ Fixed warning about deprecated conversion of "const char *" to
+ "char *" exhibited by GCC 3.0.x builds.
+
+Sun Oct 21 12:50:39 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/LSOCK.cpp: The ACE_LSOCK::recv_handle() was returning success
+ without setting the I/O handle. Thanks to Rick Ohnemus
+ <rick.ohnemus@systemware.com> for reporting this.
+
+ * ace/config-freebsd-pthread.h: Changed
+ #if (__FreeBSD_version > 430000) to
+ #if (__FreeBSD_version > 440000) to get ACE to work with FreeBSD 4.4.
+ Thanks to Gu Song <gusong_m@yahoo.com> for reporting this.
+
+Fri Oct 19 06:44:17 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * examples/Reactor/WFMO_Reactor/test_window_messages.cpp:
+ Don't use a global Event_Handler object since this violates the
+ design rules for the ACE_Reactor.
+
+Sun Oct 21 13:39:27 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * bin/auto_run_tests.lst: Added the Quoter example in
+ $TAO_ROOT/examples to the list of tests in the daily builds.
+
+Thu Oct 18 20:56:53 2001 Ossama Othman <ossama@uci.edu>
+
+ * tests/Proactor_Test.cpp:
+
+ Added no-op main() function for platforms that do not support
+ asynchronous IO.
+
+Thu Oct 18 22:46:09 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/TP_Reactor.h:
+ * ace/TP_Reactor.cpp: Fixed warnings in Sun CC and TRU 64 builds.
+
+Thu Oct 18 20:42:55 2001 Ossama Othman <ossama@uci.edu>
+
+ * tests/Proactor_Test.cpp:
+
+ Fixed Unicode build errors.
+
+Thu Oct 18 19:52:44 2001 Craig Rodrigues <crodrigu@bbn.com>
+
+ * ace/SString.h: clarify example in comments to ACE_Tokenize
+ so that constant strings are not passed in its constructor.
+
+ * examples/OS/Process/process.cpp: do not pass constant strings
+ to ACE_Tokenize constructor. Thanks to
+ Werner Buchert <w.buchert@medat.de> and
+ Don Hinton <dhinton@swan.fr>.
+
+Wed Oct 17 23:56:45 2001 Ossama Othman <ossama@uci.edu>
+
+ * tests/Proactor_Test.cpp:
+ * tests/Proactor_Test.dsp:
+
+ Proactor test contributed by Alexander Libman
+ <alibman@baltimore.com>.
+
+ * tests/tests.dsw:
+
+ Added Proactor_Test project to the tests workspace.
+
+Wed Oct 17 18:59:53 2001 Christopher Kohlhoff <chris@kohlhoff.com>
+
+ * include/makeinclude/install.bor:
+ Borland makefile fix to ensure that, when doing the install
+ target, core executables are built correctly if they don't
+ already exist.
+
+Wed Oct 17 09:15:10 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/config-linux-common.h: Clarified that this file should
+ not be included directly! Thanks to Suresh N
+ <suresh.n@vergiltech.com> for reporting this.
+
+Wed Oct 17 16:00:19 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * THANKS: Added Graeme Clark to the Hall of Fame.
+
+Wed Oct 17 15:49:20 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/TP_Reactor.cpp:
+ * ace/TP_Reactor.h: Added remove_handler () calls to the
+ TP_Reactor. Before this, the call on the reactor used to be
+ handled by the Select_Reactor's implementation. The
+ implementation has a problem. It tries to call handle_close ()
+ (an upcall) as one of the calls after holding the token. This
+ was asking for trouble. This could lead to deadlocks as
+ mentioned in [BUG ID 1055].
+
+ The method in the TP_Reactor now calls remove_handler () on the
+ Select_Reactor (its base class) with a DONT_CALL flag. Then it
+ calls handle_close () on the Event_Handler if the user did not
+ pass in the DONT_CALL mask. This two step process would get
+ around the problem that was mentioned before. Thanks to Graeme
+ Clark <gclark@opentext.com> for reporting the problem and
+ testing this fix.
+
+ This should close [BUG ID 1055].
+
+Wed Oct 17 10:40:17 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_Accept_Handler.cpp (ssl_accept):
+ * ace/SSL/SSL_Connect_Handler.cpp (ssl_connect):
+
+ If errno is set to EWOULDBLOCK for the SSL_ERROR_SYSCALL case,
+ then continue the connection establishment loop. Do not return
+ right away. Fixes non-blocking connection establishment on AIX.
+ Thanks to Vladimir Chovanec <Vladimir.CHOVANEC@asset.sk> for
+ providing this fix.
+
+ * ace/SSL/SSL_SOCK_Stream.h (notify):
+
+ Made this method protected. It isn't intended to be used
+ internally by the ACE_SSL_SOCK_Stream class.
+
+Wed Oct 17 12:15:15 2001 Chris Cleeland <cleeland_c@ociweb.com>
+
+ * ace/Select_Reactor_T.cpp (handle_error, check_handles): Add
+ vxworks to the ever-growing list of OSs which return
+ unpredictable values in errno when there's a bad file descriptor
+ in a select mask. [Bug 1058].
+
+ Thanks to Dave Arndt <darndt@oresis.com>, Tad Hetke
+ <thetke@oresis.com>, and Erik Johannes <ejohannes@oresis.com>
+ for tracking down and providing this fix.
+
+Tue Oct 16 23:08:27 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/Svc_Conf.h (ACE_Svc_Conf_Param):
+
+ Added a new ACE_Obstack attribute that is passed down to the
+ parser and scanner. This obviates the need for the global
+ pointer to the ACE_Obstack that was formally used, which in turn
+ avoids a race condition.
+
+ (ace_obstack):
+
+ No longer a need to maintain a global pointer to the ACE_Obstack
+ instance used during parsing/scanning.
+
+ * ace/Svc_Conf.y:
+ * ace/Svc_Conf.l:
+
+ Retrieve the Obstack from the parameter passed down to yyparse()
+ and yylex() instead of using the (now non-existent) global
+ instance. This is part of a race condition fix.
+
+ * ace/Svc_Conf_y.cpp:
+ * ace/Svc_Conf_l.cpp:
+
+ Updated to pull in the changes made to the source files from
+ which these files were generated.
+
+ * ace/Service_Config.cpp (process_directives_i):
+
+ The global ACE_Obstack pointer used during each Service
+ Configurator parse has been removed. An ACE_Obstack instance is
+ now passed down to the parser and scanner in a
+ reentrant/thread-safe manner via the new ACE_Svc_Conf_Param
+ parameter. As such, there is no longer any need to maintain a
+ global pointer to the ACE_Obstack instance in use, nor is it
+ necessary to store/restore the previous value when performing
+ nested or parallel Service Configurator directive processing.
+ This fixes a race condition that was causing some memory
+ corruption when parsing Service Configurator directives in
+ parallel.
+
+ Note that the ACE_Obstack is now instantiated on the stack
+ rather than the heap, thus improving Service Configurator
+ directive processing performance.
+
+Mon Oct 15 23:16:55 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/Service_Config.h (process_directives_i):
+
+ Updated the signature of this method to accept a parameter that
+ will eventually passed to the parser and the scanner.
+
+ * ace/Service_Config.cpp:
+
+ No need to include "ace/Svc_Conf_Lexer_Guard.h" and
+ "ace/Object_Manager.h".
+
+ (process_directives_i):
+
+ Updated the signature of this method to accept a parameter that
+ will eventually passed to the parser and the scanner.
+
+ Pass the "ACE_Svc_Conf_Param" parameter to the yyparse() call.
+ This is reentrant/thread-safe.
+
+ Check the error count found in the "ACE_Svc_Conf_Param" object.
+ It's count is incremented in a thread-safe/reentrant manner.
+
+ (process_directive, process_directives):
+
+ The ACE_Svc_Conf_Lexer_Guard and its accompanying
+ synchronization has been moved to the generated scanner code.
+ This makes locking finer grained. Specifically, instead of
+ holding a lock for the duration of the scope within which
+ service configurator directive parsing and scanning is
+ performed (e.g. for the duration of the yyparse() call), the
+ lock is only held for the duration of the scope where service
+ configurator directive scanning occurs (i.e. the entire yylex()
+ call is synchronized). This is part of the core fix that
+ corrects a deadlock that occurred when activating an ACE_Task,
+ in conjunction with the singleton instance of the
+ ACE_Thread_Manager, during Service Object initialization.
+ [Bug 1036]
+
+ * ace/Service_Config.i:
+
+ Cosmetic update.
+
+ * ace/Svc_Conf.h:
+
+ Added declaration and method definitions for the
+ ACE_Svc_Conf_Param class. Instances of this class contain the
+ state used when parsing/scanning a given service configurator
+ file or service configurator directive.
+
+ (ACE_SERVICE_DIRECTIVE_STACK_DEPTH):
+
+ There is no longer any hard-coded limit on the maximum depth
+ nested service configurator directives may be processed. Only
+ process resource limits limit the maximum nesting depth.
+
+ (ace_yyparse, ace_yylex):
+
+ Updated the parser and lexer entry points to accept an
+ additional parameter, i.e. a pointer to an ACE_Svc_Conf_Param
+ object.
+
+ (ace_yy_push_buffer, ace_yy_pop_buffer):
+
+ Pass a pointer to the buffer that will be "switched" in our out
+ when processing nested service configurator directives those
+ that are processed in parallel.
+
+ * ace/Svc_Conf.l:
+
+ Removed array that implemented the service configurator
+ directive stack. The "stack" is now implemented using the
+ function call stack itself. Hence there is no hard-coded limit
+ to the stack size.
+
+ Removed all references to ACE_{LPAREN, RPAREN, LBRACE, RBRACE,
+ COLON, STAR}. Just return their corresponding symbolic integer
+ constants (e.g. ACE_COLON --> ':').
+
+ Increment error and line count in the ACE_Svc_Conf_Param object
+ passed to the yylex() function from yyparse(). This improves
+ reentrance/thread-safety when tracking error counts.
+
+ (yy_push_buffer, yy_pop_buffer):
+
+ Pass a pointer to the buffer that will be "switched" in our out
+ when processing nested service configurator directives those
+ that are processed in parallel.
+
+ * ace/Svc_Conf.y:
+
+ Removed all references to ACE_{LPAREN, RPAREN, LBRACE, RBRACE,
+ COLON, STAR}. Just use their corresponding symbolic integer
+ constants (e.g. ACE_COLON --> ':').
+
+ Increment error and line count in the ACE_Svc_Conf_Param object
+ passed to the yylex() function from yyparse(). This improves
+ reentrance/thread-safety when tracking error counts.
+
+ * ace/Svc_Conf_Lexer_Guard.h:
+
+ Store a pointer the lexer buffer currently being scanned.
+
+ * ace/Svc_Conf_Lexer_Guard.cpp:
+
+ Updated constructor to accept a pointer to an ACE_Svc_Conf_Param
+ object. If the buffer in that object is zero, it will be
+ initialized.
+
+ * ace/Svc_Conf_l.cpp:
+ * ace/Svc_Conf_y.cpp:
+ * ace/Svc_Conf_Tokens.h:
+
+ Regenerated these files in order to pull in the updates made to
+ their corresponding source files (i.e. Svc_Conf.{l,y}).
+
+Mon Oct 15 11:26:39 2001 Steve Huston <shuston@riverace.com>
+
+ * examples/C++NPv2: New directory for examples in "C++ Network
+ Programming, Volume 2: Systematic Reuse with ACE and Frameworks"
+ Moved these changes to the new directory, and reverted the
+ C++NPv1 files to their ACE 5.2 state:
+ Sun Oct 14 17:05:14 2001 Douglas C. Schmidt
+ Tue Oct 9 07:46:20 2001 Douglas C. Schmidt
+
+Sun Oct 14 17:05:14 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * examples/C++NPv1/Logging_Handler.{h,cpp}: Changed log_file_ from
+ a reference to a pointer so that it can be initialized
+ correctly. Thanks to Kitty for reporting this.
+
+Fri Oct 12 14:54:58 2001 Craig Rodrigues <crodrigu@bbn.com>
+
+ * ace/OS.i:
+ Remove extraneous check for macro ACE_HAS_WINSOCK2_GQOS,
+ which was breaking various builds under Windows.
+ Thanks to Jeff McNiel <JMcNiel@datacrit.com> for pointing it out.
+
+Fri Oct 12 12:15:22 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * bin/nightlybuilds/builds.lst:
+ The QNX machine is no longer running that OS, plus attempts to
+ bring it back to life failed. The build is removed until
+ further notice.
+
+Thu Oct 11 17:52:32 2001 Priyanka Gontla <pgontla@ece.uci.edu>
+
+ * ace/SOCK_Dgram_Mcast.cpp:
+ Somehow the file didnt get committed yesterday. So, committing
+ the following change now.
+
+ Wed Oct 10 16:56:18 2001 Priyanka Gontla <pgontla@ece.uci.edu>
+
+Thu Oct 11 10:57:58 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * ace/RB_Tree.h:
+ * ace/RB_Tree.i:
+ * ace/RB_Tree.cpp:
+ Reverted to the 5.2 release state. The proposed changes were
+ breaking some builds, and they were not bug fixes in any case.
+
+Wed Oct 10 16:56:18 2001 Priyanka Gontla <pgontla@ece.uci.edu>
+
+ * ace/SOCK_Dgram_Mcast.cpp:
+ Reverted the following change as it ended up with some problems
+ for multicast services.
+
+ Fri Oct 5 14:40:03 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+Wed Oct 10 06:16:52 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Activation_Queue.{h,cpp}: Added support for two ACE_Allocator that
+ will control how the message blocks and data blocks are
+ allocated. Thanks to Gil Rapaport <grapaport@comgates.co.il>
+ for contributing this.
+
+ * examples/Reactor/WFMO_Reactor/test_apc.cpp (main):
+ * examples/Reactor/WFMO_Reactor/test_abandoned.cpp (main): Don't
+ use a global Event_Handler since this violates the design rules
+ for the ACE_Reactor. Thanks to Heping He
+ <heping.he@riskmetrics.com> and Hartmut Quast
+ <HartmutQuast@t-online.de> for reporting this and to Irfan for
+ suggesting where the problem arose.
+
+Tue Oct 9 07:46:20 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * examples/C++NPv1/Logging_Handler.h: Added a new constructor to
+ class Logging_Handler that just takes an ACE_SOCK_Stream. We
+ need to use this in C++NPv2.
+
+ * ace/Message_Queue_T.cpp (wait_not_full_cond): Thanks to Leo Kov
+ <leo_kov@hotmail.com> for reporting this.
+
+ * ace/TTY_IO.cpp (control): Inserted some useful
+ ACE_OS::set_errno_to_last_error() calls. Also, for Win32 made
+ readtimeoutmsec == 0 cause no timeout, whereas readtimeoutmsec
+ == MAXDWORD causes infinite timeout. Thanks to Lars Steubesand
+ <Lars_Steubesand@hsgmed.com> for reporting this.
+
+Mon Oct 8 20:19:44 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * examples/DLL/test_dll.cpp: There's no need to specify
+ ACE_DLL_SUFFIX as it prevent ACE_Lib_Find to figure out the
+ correct DLL name.
+
+ The ACE_ERROR_RETURN macro store and reset the errno so there's
+ no need to use dll.error() with it. Changed to use "%p" to
+ display the error.
+
+ Thanks to Heping He <heping.he@riskmetrics.com> for reporting
+ the problem.
+
+Mon Oct 8 11:15:21 2001 Angelo Corsaro <corsaro@doc.ece.uci.edu>
+
+ * ace/RB_Tree.h (class ACE_RB_Tree_Node):
+ * ace/RB_Tree.i:
+
+ Changed access privilege on the operator new/delete to be
+ public, and added assertion in those method implementation to
+ make sure that wrong use of these method are promptly notified.
+ This changes should fix the problem that some compiling were
+ still having with RB_Trees.
+
+Sat Oct 06 23:06:41 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_Accept_Handler.cpp (ssl_accept):
+ * ace/SSL/SSL_Connect_Handler.cpp (ssl_connect):
+ * ace/SSL/SSL_SOCK_Stream.i (send_i, recv_i, close):
+
+ Removed the do/while(SSL_pending()) loop. Its introduction into
+ the code was a bit misguided. There is no need to flush the SSL
+ buffer before returning to the Reactor's event loop since the
+ code now sends a notification to the Reactor to force the
+ Reactor to invoke the event handler before waiting in the event
+ loop. This fixes some SSL protocol errors that manifested
+ during multithreaded SSL communication. [Bug 943]
+
+ * ace/SSL/SSL_SOCK_Acceptor.cpp (ssl_accept):
+
+ It is no longer necessary to call SSL_accept()/connect() to
+ flush the SSL buffer before running the Reactor's event loop
+ since the Reactor is notified that it should call the
+ appropriate event handler before blocking on select() for
+ WaitForMultipleObjects(), for example.
+
+ * ace/SSL/SSL_SOCK_Stream.cpp (reactor, handler):
+
+ New methods to set the Reactor and event handler associated with
+ the ACE_SSL_SOCK_Stream. If each of these is set, then the
+ Reactor will be notified if data is still pending in the SSL
+ buffer.
+
+ (~ACE_SSL_SOCK_Stream):
+
+ Uninlined the destructor. There is no need for it to be
+ inlined, and doing so only caused unnecessary code bloat.
+
+ * ace/SSL/SSL_SOCK_Stream.h (notify, reactor, handler):
+
+ Added these new method declarations, in addition to the
+ corresponding attributes.
+
+ Updated documentation.
+
+ * ace/SSL/SSL_SOCK_Stream.i (notify):
+
+ Method that pushes the event handler on to the Reactor's
+ notification pipe when necessary. Invoked by recv_i() and
+ send_i().
+
+ * ace/SSL/SSL_SOCK_Acceptor.h:
+ * ace/SSL/SSL_SOCK_Connector.h:
+ * ace/SSL/SSL_Accept_Handler.h:
+ * ace/SSL/SSL_Connect_Handler.h:
+
+ Updated documentation.
+
+Sat Oct 6 16:04:29 2001 Angelo Corsaro <corsaro@doc.ece.uci.edu>
+
+ * ace/RB_Tree.h:
+ * ace/RB_Tree.i:
+
+ The operator new and delete were declared to be No-Op but were
+ not implemented as such. This was breaking some builds. Now the
+ operator are declared as private and they also have a no-op
+ implementation. This should solve some linking error that were
+ occurring.
+
+Sat Oct 6 11:17:22 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * THANKS: Added Adrian Mercieca to the hallf of fame.
+
+Fri Oct 05 18:30:59 2001 Irfan Pyarali <irfan@cs.wustl.edu>
+
+ * ace/RW_Process_Mutex.cpp: Added inclusion ACE.h and fixed member
+ initialization.
+
+Fri Oct 5 18:16:53 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/SString.h:
+ * ace/SString.cpp: Changes the usage of ostream to
+ ACE_OSTREAM_TYPE. Thanks to Russ Noseworthy for letting us
+ know.
+
+Thu Oct 4 07:10:01 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/RB_Tree.*: Added support for using the "ACE_Allocator" parameters
+ to manage memory. Thanks to Airat A. Sadreev <airatsa@nm.ru>
+ for reporting contributing this.
+
+Wed Oct 3 07:20:06 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/RW_Process_Mutex.{h,cpp}: Added the ability to create a
+ unique name if the user doesn't supply one. Thanks to Tom
+ Wagner <TomW@CoManage.net> for suggesting this.
+
+ * ace/Synch.h: Clarified that the timed wait capabilities of
+ ACE_Semaphore only work on Solaris if ACE_HAS_PTHREAD is enabled
+ *and* ACE_HAS_POSIX_SEM/ACE_HAS_STHREAD are disabled. Thanks to
+ Bonifides Bautista <earlboy@my-deja.com> for reporting this.
+
+Fri Oct 5 12:48:48 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_SOCK_Stream.i (close):
+
+ Reset the SSL object to allow another connection to be made
+ using the existing ACE_SSL_SOCK_Stream instance. This prevents
+ the previous SSL session state from being associated with the
+ new SSL session/connection. Thanks to Vladimir Chovanec
+ <Vladimir.CHOVANEC@asset.sk> for pointing out this problem and
+ suggesting a course of action.
+
+Fri Oct 5 14:40:03 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/SOCK_Dgram_Mcast.cpp (open): Removed the #if defined (linux)
+ from the code. Looks like this had to be removed to get it
+ working for RTI under Linux. The other ChangeLog entries that
+ this change is concerned with are "Sat Feb 17 17:23:46 2001
+ Darrell Brunsch <brunsch@uci.edu>" and "Fri Jan 26 11:18:15 2001
+ Douglas C. Schmidt". Looks like the patch provided by Keith
+ Nicewarner <knicewar@erg.sri.com> is being reverted. I remember
+ a communication from Keith which seemed to hint that this may
+ not be required.
+
+ Thanks to Russ Noseworthy for suggesting this.
+
+Fri Oct 5 14:04:39 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * THANKS: Added Hagen Ulrich to the Hall of Fame.
+
+Fri Oct 5 13:55:02 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Makefile: Removed the SUPPRESS_DASH_G option. Not really
+ sure where it is used. Further, added a tab to the place where
+ rules for CHORUS are set. This should fix BUGID 1049. Thanks to
+ Hagen Ulrich <ulrich.hagen@siemens.com> and Dr.David Levine for
+ reporting and verifying the fix.
+
+Fri Oct 05 05:56:50 2001 Balachandran <bala@cs.wustl.edu>
+
+ * ACE version 5.2 released.
+
+Thu Oct 4 17:38:21 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/Synch.h: Added some comments to explain the rationale for
+ the different return values from the blocking and timed
+ versions of ACE_Null_Semaphore::acquire(). Thanks to Doug
+ Schmidt for explaining this.
+
+Thu Oct 4 17:27:39 2001 Steve Huston <shuston@riverace.com>
+
+ * examples/C++NPv1/Logging_Handler.cpp (recv_log_record): Insure that
+ the payload message block is properly aligned for any CDR
+ extraction. Many thanks to Bala for noticing this problem and
+ sending code for the fix.
+
+Thu Oct 4 17:08:39 2001 Steve Huston <shuston@riverace.com>
+
+ * examples/C++NPv1/Process_Per_Connection_Logging_Server.cpp:
+ In prepare(), call ACE_Process_Options::command_line() rather
+ than ACE_Process_Options::process_name() to set the program
+ path for the child process.
+
+Thu Oct 4 13:18:37 2001 Steve Huston <shuston@riverace.com>
+
+ * examples/C++NPv1/Logging_Handler.cpp: Use a ACE_Message_Block,
+ rather than hijacking a CDR block, to read the payload into.
+
+Thu Oct 4 10:14:34 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * THANKS: Added Donald Acton to the Hall of Fame.
+
+Thu Oct 4 06:39:20 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/config-sunos5.5.h: Added ACE_LACKS_MKSTEMP as SunOS 5.5 does
+ not support mkstemp ().
+
+ * ace/config-sunos5.6.h: Undefined ACE_LACKS_MKSTEMP as Sun 5.6
+ and above support it.
+
+ Thanks to Don Hinton <dhinton@swan.fr> for reporting this
+ problem and Chad Elliott for testing this out on a Sun OS 5.5
+ box.
+
+Wed Oct 3 16:37:41 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/CDR_Stream.cpp (read_1): Reverted this change "Wed Oct 3
+ 15:05:43 2001 Jeff Parsons <parsons@cs.wustl.edu>". This
+ change is alone not enough to fix the problem that Brad
+ reported. The sample program for the text needs to be fixed to
+ get it working right.
+
+Wed Oct 3 15:05:43 2001 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * ace/CDR_Stream.cpp (read_1);
+
+ Reverted changed made in
+
+ Fri Aug 17 16:56:16 2001 Jeff Parsons <parsons@cs.wustl.edu>
+
+ to read_1(). A similar change made in several other methods is
+ ok, but in this case bytes can be copied into the input CDR
+ stream without changing wr_ptr, so the check will fail
+ unnecessarily. Thanks to Brad Hoskins <BHoskins@slo.newport.com>
+ for pointing this out.
+
+Wed Oct 2 12:18:37 2001 Steve Huston <shuston@riverace.com>
+
+ * examples/C++NPv1/Logging_Server.cpp: Fixed spelling error.
+ * examples/C++NPv1/Logging_Handler.cpp: Comment length adjustment.
+
+Tue Oct 2 21:52:31 2001 Steve Huston <shuston@riverace.com>
+
+ * examples/C++NPv1/Logging_Client.cpp: Reverted this:
+ Mon Oct 1 18:27:41 2001 Steve Huston <shuston@riverace.com>
+
+Tue Oct 2 19:52:57 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * Makefile: Removed some of the files that no longer exist in the
+ repository. The inclusion of these files in the Makefile added
+ noise during the beta cutting process.
+
+Tue Oct 02 15:34:49 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * etc/tao_cosevent.doxygen:
+ * etc/tao_cosnotification.doxygen:
+ Fixed typos in the tag file names.
+
+Tue Oct 2 15:52:27 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * THANKS: Added Sunny Leung to the Hall of Fame.
+
+Tue Oct 2 15:33:36 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * THANKS: Removed one instance of Peter Phillips
+ <pphillip@opentext.com> from the Hall of Fame.
+
+Tue Oct 2 15:00:37 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/CDR_Stream.cpp (clone_from): Copied the GIOP major and minor
+ versions from the incoming CDR stream. Thanks to Sunny Leung
+ <sleung@opentext.com> for reporting this. This closes bugzilla
+ #1043.
+
+Tue Oct 2 09:45:39 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/libDLL_Test.icc:
+ * tests/libService_Config_DLL.icc: Add link(exportAll) to the link
+ options to export the entrypoints needed for the tests.
+
+Mon Oct 1 20:04:14 2001 Priyanka Gontla <pgontla@ece.uci.edu>
+
+ * THANKS:
+ Added Tushar Nair to the THANKS file.
+
+Mon Oct 1 18:06:48 2001 Priyanka Gontla <pgontla@ece.uci.edu>
+
+ * ace/Object_Manager.cpp (ACE_UnhandledExceptionFilter):
+ Removed the un-needed #if 0's. Left them before as a safety
+ measure (in case something doesnt work) and forgot to remove
+ them later.
+
+ * ace/Log_Msg.cpp (instance):
+ Fixed the seg faults that are raised when ace is compiled with
+ ACE_NTRACE=0 on SunOS. Added a check before locking and
+ releasing a lock.
+
+ Thanks to Tushar Nair <ntushar@yahoo.com> for reporting the
+ problem and for providing a fix.
+
+Mon Oct 1 18:27:41 2001 Steve Huston <shuston@riverace.com>
+
+ * examples/C++NPv1/Logging_Client.cpp: Remove the third (optional)
+ arg from getline(). Using a char literal without further
+ qualification causes confusion in Unicode builds.
+
+Mon Oct 1 14:44:13 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_Context.cpp (ssl_library_init):
+
+ Initialize the locking callbacks in the crypto library before
+ initializing the OpenSSL library. OpenSSL may require the
+ locking callbacks to be initialized before its own
+ initialization.
+
+ * ace/SSL/SSL_Context.cpp (ssl_library_fini):
+
+ Perform crypto library resource cleanup before reclaiming the
+ locks used by the locking callbacks. Crypto library resource
+ cleanup makes use of the locking callbacks.
+
+Mon Oct 1 15:19:11 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * examples/C++NPv1/README: Added a section that illustrates the
+ mapping of chapters onto files in the directory.
+
+Mon Oct 1 12:58:57 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/TP_Reactor.cpp (handle_socket_events): A fix for the problem
+ that started showing up this time is like this. One of the
+ threads was dispatching an upcall. In the intermediate time the
+ Reactor woke up another thread to close the handler, remember
+ that this is possible with the TP_Reactor if the application
+ resumes the handles (the way TAO does that). Now when the thread
+ that that dispatched the upcall returned it tries to invoke a
+ method on the already closed handle. To prevent that from
+ happening we make an extra check to see whether the handle
+ associated with the handler is still available in the internal
+ map of the Reactor. As this check is done in the return path of
+ the thread this should have less performance impact. This is
+ another reason why we should have #1031 in place ASAP.
+
+Mon Oct 1 12:23:57 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * bin/nightlybuilds/builds.lst (WEB): Changed the name of the
+ Sun's EGCS build. We have not been using EGCS but 2.95.x for a
+ long time now.
+
+Mon Oct 1 10:46:15 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * bin/PerlACE/Run_Test.pm (check_n_cleanup_files): Removed the
+ word "ERROR" when files are left behind. This was creating noise
+ in the daily builds. We have captured the problem in the
+ bugzilla with id #1014. After 1.2 goes out, if someone is
+ looking at this problem again we need to add this back so that
+ our daily builds can pick them up.
+
+Sun Sep 30 17:25:33 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_SOCK_Stream.i (send_i, recv_i):
+
+ Reset errno to prevent previous values (e.g. EWOULDBLOCK) from
+ being associated with a fatal SSL error (e.g. an alert).
+
+Sun Sep 30 16:52:22 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_Asynch_Stream.cpp (do_SSL_shutdown):
+
+ Return the "retval" variable instead of always returning -1.
+ The actual return value may not always be -1. Thanks to Alain
+ Totouom <atotouom@gmx.de> for providing this fix.
+
+ * THANKS:
+
+ Added Alain to the list of contributors.
+
+Sun Sep 30 09:13:04 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_SOCK_Acceptor.cpp (ssl_accept):
+ * ace/SSL/SSL_SOCK_Connector.cpp (ssl_connect):
+
+ Made reactor mask constant to emphasize the fact that it is
+ indeed a constant.
+
+Sat Sep 29 08:07:07 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Configuration.{h,cpp}: Changed "allocator" to "alloc" to
+ avoid bugs with MSVC++ 5.0. Thanks to Munagala Ramanath
+ <amberarrow@yahoo.com> for reporting this.
+
+ * ACE-INSTALL.html: Yet more improvements courtesy of Chris
+ Kohloff.
+
+Fri Sep 28 23:38:07 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_Accept_Handler.cpp (ssl_accept):
+
+ Cleaned up the code.
+
+ Do not attempt to verify the X.509 certificate. Only the
+ application knows how best to do that.
+
+ * ace/SSL/SSL_Context.cpp (ssl_library_init):
+
+ Fixed some Unicode problems. Wrap strings within an ACE_TEXT
+ macro.
+
+ * ace/SSL/SSL_Connect_Handler.cpp (ssl_connect):
+ * ace/SSL/SSL_SOCK_Stream.i:
+
+ Corrected some comments.
+
+ * ace/SSL/SSL_SOCK_Stream.h (send_n, recv_n):
+
+ Added a "bytes transferred" pointer parameter. This allows the
+ amount of bytes transferred to returned via this parameter, thus
+ matching the semantics of their ACE_SOCK_Stream counterparts.
+
+ * ace/SSL/SSL_SOCK_Stream.cpp (send):
+
+ Do not block attempt a timed send() if data is available in
+ OpenSSL's internal buffer. This prevents a condition where
+ needlessly blocking on select() would occur. A similar fix for
+ recv() was made earlier. See Fri Aug 24 16:54:02 2001 Ossama
+ Othman <ossama@uci.edu> for details.
+
+ (send_n, recv_n):
+
+ If the "bytes transferred" pointer parameter is non-zero then
+ return the amounts of bytes transferred through it. This makes
+ these methods better match the semantics of their
+ ACE_SOCK_Stream counterparts.
+
+Fri Sep 28 19:24:51 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/config-hpux-11.00.h: Moved the definitions for ACE_HAS_WCHAR
+ and ACE_HAS_XPG4_MULTIBYTE_CHAR from the compiler-independent
+ section to the aC++ section. (at least) gcc 3.0 distributed from
+ HP can't handle compiling wide char stuff... it refers to
+ wctype.h, only available in aC++.
+
+Fri Sep 28 12:46:25 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_Context.cpp (report_error):
+
+ Don't bother displaying an error message if the error code is
+ zero (i.e. no error).
+
+Fri Sep 28 12:31:39 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_SOCK_Acceptor.cpp (ssl_accept):
+
+ Transfer ownership of the Reactor to the previous owner for the
+ SSL_ERROR_ZERO_RETURN case. Thanks to Vladimir Chovanec
+ <Vladimir.CHOVANEC@asset.sk> for pointing out this problem.
+
+ Remove the SSL event handler from the reactor for the
+ SSL_ERROR_ZERO_RETURN case. Previously, this method returned
+ without removing it, resulting in a seg fault.
+
+ * ace/SSL/SSL_SOCK_Connector.cpp (ssl_connect):
+
+ Ported the updates made to the ssl_accept() counterpart to this
+ method.
+
+ * ace/SSL/SSL_Accept_Handler.cpp (ssl_accept):
+ * ace/SSL/SSL_Connect_Handler.cpp (ssl_connect):
+ * ace/SSL/SSL_SOCK_Stream.i (send_i):
+ * ace/SSL/SSL_SOCK_Acceptor.cpp (ssl_accept):
+ * ace/SSL/SSL_SOCK_Connector.cpp (ssl_connect):
+
+ In the event a SSL_ERROR_SYSCALL error condition occurs, call
+ ACE_OS::set_errno_to_last_error() to make sure errno is updated
+ appropriately since OpenSSL does not do that. Fixes some
+ "misbehaving" Reactor interactions. Thanks to Andrew Finnell
+ <Andrew.Finnell@esecurityinc.com> for tracking down the problem
+ and suggesting these fixes.
+
+Fri Sep 28 09:37:28 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_Context.h (report_error):
+ * ace/SSL/SSL_Context.cpp (report_error):
+
+ New SSL error reporting functions that use the ACE_Log_Msg
+ facilities to dump error information.
+
+ * ace/SSL/SSL_Context.cpp (set_mode):
+ * ace/SSL/SSL_SOCK_Acceptor.cpp (ssl_accept):
+ * ace/SSL/SSL_SOCK_Stream.i (send_i, recv_i):
+ * ace/SSL/SSL_Accept_Handler.cpp (ssl_accept):
+ * ace/SSL/SSL_Connect_Handler.cpp (ssl_connect):
+
+ Use the new report_error() static method to display error
+ information instead of OpenSSL's ERR_print_error_fp().
+
+ * ace/SSL/SSL_SOCK_Connector.cpp:
+
+ Include 'ace/Log_Msg.h' to pull ACE_ERROR macro definitions.
+ Fixes compile-time problems on Tru64. Thanks to Martin
+ Krumpolec for providing this fix. [Bug 1034]
+
+ (ACE_SSL_SOCK_Connector):
+
+ Wrap format specifier string in ACE_ERROR call with ACE_TEXT.
+ Fixes mismatched Unicode/non-unicode strings.
+
+Fri Sep 28 06:17:27 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/SPIPE_Acceptor.{h,cpp}: Fixed the use of "char" for
+ "already_connected_" to be "int". Thanks to Johnny Willemsen
+ for reporting this.
+
+ * ACE-INSTALL.html: Improved the installation instructions for BCB 4/5.
+ Thanks to Chris Kohloff for contributing this and to
+ Jan Kalin <jan.kalin@zag.si> for motivating this.
+
+ * ace/TTY_IO.cpp: Fixed numerous bugs in the control() method.
+ Thanks to Airat A. Sadreev <airatsa@nm.ru> for reporting this.
+
+ * ace/TTY_IO.h: Add a new field for Win32. Thanks to
+ Airat A. Sadreev <airatsa@nm.ru> for reporting this.
+
+Thu Sep 27 06:12:21 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/config-win32.h: Added a special-case for Borland C++ Builder,
+ which must include vcl.h before windows.h. Thanks to Chris
+ Kohloff for reporting this. This fixes Bug ID 899 for the time
+ being.
+
+ * ace/Module.cpp (ACE_Module): The line
+
+ this->name ("<unknown>");
+
+ was be replaced with
+
+ this->name (ACE_TEXT("<unknown>"));
+
+ Thanks to Airat A. Sadreev <sadreevaa@hq.tatenergo.ru> for
+ reporting this. This fixes bug id 1041.
+
+Thu Sep 27 13:09:19 2001 Bala <bala@cs.wustl.edu>
+
+ * ACE version 5.1.21 released.
+
+Tue Sep 25 16:12:14 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_SOCK_Stream.i (recv_i):
+
+ Use ACE_OS::set_errno_to_last_error() set errno instead of doing
+ so manually to get around broken compilers that reset the last
+ error when assigning to errno. Thanks to Chris Kohloff for
+ pointing out the problem and suggesting this fix.
+
+Tue Sep 25 13:00:37 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/Obstack.h: Fixed a typo when declaring ACE_Obstack
+ exportable. I mistakenly used the underlying
+ ACE_EXPORT_SINGLETON_DECLARATION macro directly.
+ ACE_SINGLETON_DECLARATION is the right macro to use here.
+ Thanks to Martin Krumpolec <krumpolec@asset.sk> for reporting
+ the bug.
+
+Tue Sep 25 09:12:28 2001 Andrew Finnell <Andrew.Finnell@esecurityinc.com>
+
+ * ace/SSL/SSL_SOCK_Stream.i (recv_i):
+
+ On MS Windows, OpenSSL does not store the last error in errno so
+ explicitly do so. This corrects problems where a server is
+ unaware that a client has forcefully disconnected.
+
+Tue Sep 25 00:01:59 2001 Irfan Pyarali <irfan@cs.wustl.edu>
+
+ * ace/Service_Repository.cpp (instance): There are three stages of
+ the Object Manager: (a) starting up; (b) running; (c) shutdown.
+ ACE_Service_Repository::instance() was not creating a new
+ instance in (a) and (c). It was changed to allow creation (a).
+
+Mon Sep 24 01:55:29 2001 Ossama Othman <ossama@uci.edu>
+
+ * bin/auto_run_tests.lst:
+
+ Added TAO's PICurrent test to the list of automated regression
+ tests.
+
+Sun Sep 23 19:28:06 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/Reactor.h (ACE_Reactor): Fixed comments for
+ <end_reactor_event_loop> and <reactor_event_loop_done>. Both
+ methods work on an instance of reactor, not the global singleton
+ reactor. Thanks to Doug for noticing this.
+
+Sun Sep 23 10:02:59 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/High_Res_Timer.h: Removed a question mark "?", in a line
+ which read "or sometimes 3.579 Mhz??". This seems to remove the
+ warning in VXWORKS builds. I have no clue about the problem that
+ VXWORKS compiler sees. It took only more than an hour to figure
+ this out. :(.
+
+Sat Sep 22 08:59:24 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Service_Manager.cpp (handle_input): Added some logic to
+ strip off newlines and carriage returns for Windows platforms.
+ Thanks to Kyle Brost <Kyle.Brost@quest.com> for contributing
+ this.
+
+Sat Sep 22 12:28:21 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/ACE_SSL_LIB.dsp:
+
+ Corrected code generation settings to use the multi-threaded DLL
+ version of the run-time library. Corrects "legacy" build
+ problems.
+
+Sat Sep 22 08:59:24 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/High_Res_Timer.{h,i,cpp}: Added comments to explain how
+ to configure the timers properly on various platforms. Thanks
+ to Alain Decamps <Alain.Decamps@PIDPA.be> for reporting this.
+
+ * ace/OS.i (ACE_Flow_Spec): Added a check for ACE_HAS_WINSOCK2_GQOS
+ so that things will compile properly on MinGW32. Thanks to Jeff
+ McNiel <JMcNiel@datacrit.com> for reporting this.
+
+Fri Sep 21 15:54:55 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/OS_Dirent.cpp: Fixed all the allocations so they work properly
+ when used with ACE_TCHAR! Thanks to Olof Lindfors
+ <olof.lindfors@protegrity.com>.
+
+Tue Sep 18 06:25:22 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/*Reactor*: Changed all uses of "delta_time" to "delay_time".
+ Thanks to Johnny Willemsen for reporting this.
+
+Sun Sep 16 11:53:38 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Connector.cpp (handle_output): Fixed the comment to be
+ ACE_WIN32. Thanks to Kobi Cohen-Arazi <kobi@mivzak.com> for
+ reporting this.
+
+Fri Sep 21 17:11:52 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Message_Block.h: Tried rewording some comments in the
+ ACE_Message_Block. Thanks to Tom Wagner <TomW@CoManage.net> for
+ suggesting this.
+
+ * THANKS: Added Tom Wagner <TomW@CoManage.net> to the Hall of
+ Fame.
+
+Fri Sep 21 22:11:53 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/ACE_SSL_LIB.dsp:
+
+ Removed hardcoded user-specific include paths, and user-specific
+ preprocessor macro definitions.
+
+Thu Sep 20 18:15:49 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/Config_Test.cpp: Added some more tests to verify correct
+ string value reset and enumerate values/sections.
+
+Thu Sep 20 12:29:09 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/ACE_SSL_LIB.dsp:
+ * ace/SSL/ACE_SSL_LIB.dsw:
+
+ New static build MSVC++ project and workspace files for the
+ ACE_SSL library contributed by Jonathan Reis <reis@stentor.com>.
+ [Bug 1032]
+
+Thu Sep 20 12:16:13 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_SOCK.cpp (enable, disable):
+
+ Removed unreachable "return" statements. [Bug 1033]
+
+ * ace/SSL/SSL_SOCK_Stream.i (ACE_SSL_SOCK_Stream):
+ * ace/SSL/SSL_SOCK_Stream.cpp:
+
+ Moved constructor to the ".cpp" file since to prevent inclusion
+ of `ace/Log_Msg.h' in `SSL_SOCK_Stream.h'. This fixes problems
+ with some platforms needing the Log_Msg include to pull in the
+ ACE_ERROR macros without needlessly increasing inter-header
+ dependencies and inclusions. [Bug 1034]
+
+Thu Sep 20 14:44:29 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/Process.cpp (ACE_Process_Options): Moved avoid_zombies_
+ initialization outside the !Win32 section. Thanks to Johnny
+ Willemsen <johnny.willemsen@meco.nl> for this fix.
+
+Thu Sep 20 06:28:50 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/config-hpux-11.00.h:
+
+ Reverting the change from "Wed Aug 29 15:32:10 2001 Douglas C.
+ Schmidt <schmidt@macarena.cs.wustl.edu>". HP-UX 11.00 does
+ not actually support pread/pwrite.
+
+Wed Sep 19 16:56:02 2001 Irfan Pyarali <irfan@cs.wustl.edu>
+
+ * ace/OS.h (THR_SCOPE_PROCESS and THR_SCOPE_SYSTEM): Added
+ definitions for THR_SCOPE_PROCESS and THR_SCOPE_SYSTEM on
+ platforms that do not support threads.
+
+Wed Sep 19 16:54:04 2001 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * ace/Containers_T.cpp:
+
+ In copy constructor for ACE_Double_Linked_List, added line to
+ copy the size of the rhs to the lhs. The new list was ending
+ up with a garbage value for its size.
+
+Wed Sep 19 14:15:08 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/ace_dll.dsp:
+ * ace/ace_lib.dsp: Enabled generation of debug info even for
+ release configurations. Thanks to Jonathan Reis
+ <reis@stentor.com> for suggesting this.
+
+Wed Sep 19 10:23:06 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * html/index.html:
+ Add couple of missing links to the RT-CORBA components
+
+Wed Sep 19 12:00:04 2001 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ACE-INSTALL.html:
+ Added BCB5 to some places as supported/used compiler
+
+ * ace/Future.h:
+ * ace/Test_and_Set.h:
+ Removed the ACE_EXPORT from the templates ACE_Future_Holder and
+ ACE_Test_and_Set
+
+ * ace/Service_Config.{h,cpp}:
+ Changed the type of the members be_a_daemon_ and no_static_svcs_
+ from char to int
+
+Tue Sep 18 13:57:36 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * */Makefile:
+ * */Makefile.*:
+ Updated dependencies, some of the paths were absolute leading to
+ ambiguities in parallel builds.
+
+Tue Sep 18 12:18:26 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * bin/footprint_stats.sh:
+ Fixed bug in footprint charts generation.
+
+Tue Sep 18 10:50:15 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * html/index.html:
+ Add COS Event and COS Notification services to the index.
+
+Mon Sep 17 19:00:00 2001 Irfan Pyarali <irfan@cs.wustl.edu>
+
+ * ace/OS.h:
+
+ - THR_SCOPE_PROCESS and THR_SCOPE_SYSTEM were not defined
+ for NT. Added them.
+
+ - Moved the following definitions of VxWorks around such
+ that these defines are available even when PACE is not
+ used.
+
+ THR_INHERIT_SCHED
+ THR_EXPLICIT_SCHED
+ THR_SCHED_IO
+ THR_SCOPE_SYSTEM
+ THR_SCOPE_PROCESS
+
+ * ace/OS.cpp: LinuxThreads do not have support for
+ PTHREAD_SCOPE_PROCESS; only PTHREAD_SCOPE_SYSTEM is supported.
+ Therefore, PTHREAD_SCOPE_PROCESS is ignored when setting the
+ thread scheduling scope.
+
+ * ace/Sample_History.cpp: Added accessors for <sample_count> and
+ <max_samples>.
+
+ * bin/auto_run_tests.lst: Added new RTCORBA tests. Removed
+ Minimum CORBA dependency on these tests.
+
+Mon Sep 17 13:49:07 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * etc/tao_cosevent.doxygen:
+ * etc/tao_cosnotification.doxygen:
+ Add new Doxygen files for the Notification and COS Event
+ Services
+
+ * bin/generate_doxygen.pl:
+ Add new doxygen files to the automatically generated
+ documentation.
+
+Mon Sep 17 11:36:54 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * tests/run_tests.lst: This is the script used by the shell
+ script in that directory. As the name is confusing this is being
+ moved as a new file.
+
+ * tests/run_tests_remote.lst: Renamed the run_tests.lst as
+ run_tests_shell.lst. This is invoked by run_tests.sh
+
+ * tests/run_tests.sh: Renamed as a new file.
+
+ * tests/run_tests_remote.sh: Renamed the file run_tests.sh as this
+ one. This script can be used to run tests remotely on a
+ CHORUS/ClassiX/MVME targets. Further this can also be used to
+ run tests on platforms that dont support perl or do not have
+ perl.
+
+Sun Sep 16 11:19:01 2001 Balachandran <bala@cs.wustl.edu>
+
+ * ACE version 5.1.20 released.
+
+Sat Sep 15 16:58:08 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * tests/High_Res_Timer_Test.cpp: Fixed compile problem with Sun CC
+ 4.2.
+
+Fri Sep 14 05:28:13 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * THANKS: We now have over 1,300 contributors to ACE+TAO!
+
+ * ace/Basic_Types.{h,i}: Added "const" to various operators and
+ methods. Thanks to Alain Decamps for reporting this.
+
+Thu Sep 13 11:02:41 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Singleton.cpp: If we're not compiling with threading enabled,
+ don't call the get_singleton_lock() code. Thanks to Charles
+ Frasch <cfrasch@spawar.navy.mil> for contributing this.
+
+Tue Sep 11 06:23:08 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Array_Base.h: Changed current_ from u_int to size_t. Thanks
+ to Johnny Willemsen for reporting this.
+
+Fri Sep 14 17:18:37 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/High_Res_Timer_Test.cpp (check_micro_nano): If the
+ nanointerval is 0, change it to 1 to prevent divide-by-zero.
+
+Fri Sep 14 17:02:39 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/High_Res_Timer_Test.cpp: Replaced some (u_int) casts with
+ ACE_U64_TO_U32, which is correct. Thanks to Alain Decamps, yet
+ again!, for this fix.
+
+Fri Sep 14 11:39:03 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * THANKS: Added Mahesh Varadarajan and Kevin Clien to the Hall of
+ Fame.
+
+Thu Sep 13 22:43:34 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * bin/auto_run_tests.lst: Added the new Cache_Growth_Test to the
+ daily tests.
+
+Thu Sep 13 20:38:44 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/Thread_Manager.h (ACE_Thread_Manager): Changed the default
+ argument <prealloc> for the constructor from 0 to
+ ACE_DEFAULT_THREAD_MANAGER_PREALLOC. Thanks to Doug for
+ pointing this out.
+
+ Added better documentation to explain the purpose of each
+ argument in ACE_Thread_Manager's constructor. Thanks to Nick
+ Pratt <npratt@microstrategy.com> for motivating the change.
+
+Thu Sep 13 13:38:41 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/High_Res_Timer.cpp (elapsed_time (ACE_hrtime_t&nanoseconds),
+ elapsed_time_incr (ACE_hrtime_t&nanoseconds): Instead of using
+ "nanoseconds >>= 10", use "nanoseconds = nanoseconds >> 10" to
+ work around a Borland C++Builder bug. Thanks very much to
+ Johnny Willemsen, Christopher Kohlhoff, and Alain Decamps
+ for solving this problem.
+
+Thu Sep 13 13:33:29 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/Service_Config_Test.cpp: Added #include "ace/Log_Msg.h".
+ This was probably to get AIX to build clean, but it's been a
+ while.
+
+Thu Sep 13 12:04:04 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * THANKS: Added Werner Buchert to the Hall of Fame.
+
+Wed Sep 12 15:10:41 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/High_Res_Timer.cpp (elapsed_time (ACE_hrtime_t&nanoseconds),
+ elapsed_time_incr (ACE_hrtime_t&nanoseconds): Changes to account
+ for very fast clocks (> 1GHz). Thank you to Derek Dominish
+ <derek.dominish@boeing.com> and Alain Decamps
+ <Alain.Decamps@PIDPA.be> for identifying the problem and coming
+ up with a good solution. This fixes Bugzilla #1024 (how
+ appropriate! ;-)
+
+ * ace/High_Res_Timer.i (elapsed_microseconds (ACE_hrtime_t &usecs):
+ More adjustment to the Win32 scale factor adjusting. Thanks (again!)
+ to Alain Decamps <Alain.Decamps@PIDPA.be> for identifying and
+ supplying a fix for this. This fixes Bugzilla #948 (again).
+
+Wed Sep 12 14:33:29 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/High_Res_Timer_Test.cpp: Incorporated some additional tests
+ for usec/nsec sanity checks on the calculated ACE_High_Res_Timer
+ values. Thank you very much to Alain Decamps
+ <Alain.Decamps@PIDPA.be> for this test.
+
+Tue Sep 11 12:40:01 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * Terror unleashed. The World Trade Center and the Pentagon
+ attacked today. Looks like there could be lots of loss to
+ precious lives. This is too horrible. We convey our condolences
+ to the bereaved families. God save this world.
+
+Tue Sep 11 06:41:31 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * apps/Gateway/Gateway/Concrete_Connection_Handlers.cpp: Fixed a
+ typo. This should fix most of the errors in the scoreboard.
+
+Mon Sep 10 18:59:24 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * apps/Gateway/Peer/Peer.cpp (nonblk_put):
+ * apps/Gateway/Gateway/Concrete_Connection_Handlers.cpp (nonblk_put):
+ Reverted Bala's changes below since the original code was
+ correct. Also, added comments to clarify things to prevent
+ confusion in the future.
+
+Mon Sep 10 17:31:11 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ACE-INSTALL.html: Added a new platform to the list.
+
+Mon Sep 10 12:54:28 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * apps/Gateway/Gateway/Concrete_Connection_Handlers.cpp:
+ Changed the condition that checks for EWOULDBLOCK after a
+ send. It was erroneously written. Thanks to Nick Pratt
+ <npratt@microstrategy.com> for pointing this out.
+
+Mon Sep 10 12:36:07 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * apps/Gateway/Peer/Peer.cpp (nonblk_put): Changed the condition
+ that checks for EWOULDBLOCK after a send. It was erroneously
+ written. Thanks to Nick Pratt <npratt@microstrategy.com> for
+ pointing this out.
+
+Mon Sep 10 08:17:08 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * bin/auto_run_tests.lst: Will not run the File_IO test in the
+ Minimum CORBA configuration.
+
+Mon Sep 10 08:05:39 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * bin/auto_run_tests.lst: Prevented the DLL_ORB test from running
+ in static builds.
+
+Sun Sep 9 10:20:59 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * */Makefile: Updated dependencies.
+
+Sun Sep 9 08:43:02 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Handle_Set.i: Added a check in set_bit () and clr_bit () for
+ ACE_INVALID_HANDLE. If we pass a ACE_INVALID_HANDLE we were
+ crashing which is not good and hence the fix.
+
+Sun Sep 9 08:28:52 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Reactor_Impl.h:
+ * ace/Select_Reactor_Base.h:
+ * ace/Select_Reactor_Base.cpp (is_dispatchable): Added a new
+ method. This method, just figures out whether the buffer has any
+ dispatchable info or not.
+
+ * ace/WFMO_Reactor.h:
+ * ace/WFMO_Reactor.cpp: Added the above method in the WFMO
+ Reactor.
+
+ * ace/TP_Reactor.cpp: The handle_notify_events () method now
+ checks whether the buffer it has read is dispatchable or not. If
+ it is then it gives up the token to make an upcall. Else, it
+ just sits around to remove messages of the pipe, till it find
+ one with a dispatchable info. The fix was necessary so that
+ wake-up calls that are unanswered are removed of the
+ pipe. Unanswered wakeup calls were filling up the pipe and they
+ were blocking some application from writing further to the
+ pipe. This should be in all probability be the final fix to the
+ Reactor.
+
+Sat Sep 8 09:34:52 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * tests/Logging_Strategy_Test.cpp: Fixed a typo that was giving
+ compile errors in VXWORKS builds.
+
+Fri Sep 7 16:40:37 2001 Priyanka Gontla <pgontla@ece.uci.edu>
+
+ * ace/OS.h:
+ Added an if-def case for IP_MULTICAST_TTL too.
+
+Fri Sep 7 17:09:04 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * tests/Thread_Pool_Reactor_Resume_Test.cpp: Initialised the lock
+ to null in the constrcutor before allocating memory for
+ it. This was done to remove the ABW errors in
+ purify. This should remove the problem that we see with this
+ test in our daily builds with SunCC 4.2.
+
+Fri Sep 7 15:51:48 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * tests/Logging_Strategy_Test.cpp: Included Auto_Ptr.h.
+
+Fri Sep 07 15:29:37 2001 Yamuna Krishnamurthy <yamuna@cs.wustl.edu>
+
+ * examples/QOS/Change_Receiver_FlowSpec/Receiver_QoS_Event_Handler.cpp:
+ * examples/QOS/Change_Receiver_FlowSpec/Sender_QoS_Event_Handler.cpp::
+ * examples/QOS/Change_Receiver_FlowSpec/Fill_ACE_QoS.cpp:
+
+ * examples/QOS/Change_Sender_TSpec/Receiver_QoS_Event_Handler.cpp:
+ * examples/QOS/Change_Sender_TSpec/Sender_QoS_Event_Handler.cpp::
+ * examples/QOS/Change_Sender_TSpec/Fill_ACE_QoS.cpp:
+
+ * examples/QOS/Simple/Receiver_QoS_Event_Handler.cpp:
+ * examples/QOS/Simple/Sender_QoS_Event_Handler.cpp:
+ * examples/QOS/Simple/Fill_ACE_QoS.cpp:
+
+ Fixed compile errors.
+
+Fri Sep 7 14:17:41 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/TP_Reactor.cpp: Do not clear the notify handle bit when
+ trying to dispatch notify calls. This shoudl fix the long
+ pending problems with TRU 64 builds.
+
+Fri Sep 07 12:12:39 2001 Steve Huston <shuston@riverace.com>
+
+ * examples/C++NPv1/Iterative_Logging_Server.dsp:
+ * examples/C++NPv1/Logging_Client.dsp:
+ * examples/C++NPv1/Process_Per_Connection_Logging_Server.dsp:
+ * examples/C++NPv1/RT_Thread_Per_Connection_Logging_Server.dsp:
+ * examples/C++NPv1/Reactive_Logging_Server.dsp:
+ * examples/C++NPv1/Reactive_Logging_Server_Ex.dsp:
+ * examples/C++NPv1/Thread_Per_Connection_Logging_Server.dsp:
+ Use relative paths to include and library files rather than
+ $(ACE_ROOT). Makes it easier to use in place regardless of
+ ACE version.
+
+ * examples/C++NPv1/Logging_Client.cpp: Fixed scoping of the getline()
+ method call.
+
+Thu Sep 6 21:14:05 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * tests/Logging_Strategy_Test.cpp: Changed the usage of auto_ptr
+ <> to ACE_Auto_Basic_Ptr<>. Thanks to Carlos O'Ryan for this
+ suggestion.
+
+Thu Sep 06 18:42:39 2001 Steve Huston <shuston@riverace.com>
+
+ * examples/C++NPv1: New directory that contains all of the example
+ code for Doug/my book, C++ Network Programming, Vol 1.
+
+Thu Sep 6 12:01:15 2001 Priyanka Gontla <pgontla@ece.uci.edu>
+
+ * ace/OS.h:
+ Added a if-def case for IP_MULTICAST_IF. Seems like it is not
+ defined in some of the OS versions.
+
+Thu Sep 06 12:36:43 2001 Yamuna Krishnamurthy <yamuna@cs.wustl.edu>
+
+ * ace/OS.h:
+ * ace/OS.i:
+ * ace/QoS/QoS_Session_Impl.cpp:
+ * ace/QoS/QoS_Session.h:
+
+ Fixed compile errors.
+
+Thu Sep 6 10:24:15 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/Acceptor.cpp (accept_svc_handler):
+ * ace/Strategies_T.cpp (accept_svc_handler):
+
+ Do not close and reopen the peer acceptor on failed attempts to
+ accept a connection. Several problems were fixed by removing
+ this code:
+
+ - A race condition existed where another thread or process
+ could acquire the port that the peer acceptor was
+ listening on before it was closed. Note that it is not
+ enough to attempt to synchronize this code with a lock
+ since an external process could still acquire the port.
+
+ - If the port in the peer acceptor (assuming it is an
+ ACE_INET_Addr based one) is the wildcard port (zero), then
+ there is no guarantee that the acceptor will be opened on
+ the same port upon which it is was previously listening.
+ In such a case, IORs generated by TAO (for example) can be
+ rendered invalid since the addressing information embedded
+ in those IORs will no longer contain the actual port to
+ connect to when making invocations. [Bug 962]
+
+ - The above two problems actually introduced a
+ denial-of-service attack vulnerability (now closed by this
+ fix) since it was relatively easy to force a failed
+ connection attempt, which would then cause the peer
+ acceptor to be reopened on potentially a different port,
+ or to shutdown completely if reopening failed.
+
+ * ace/SSL/SSL_SOCK_Acceptor.i (close):
+
+ Invalidate the handle stored within the ACE_SSL_SOCK_Acceptor
+ instance. Corrects problems arising from attempts to use a
+ listening socket that has been shut down.
+
+ * ace/SSL/SSL_SOCK_Acceptor.cpp (ssl_accept):
+
+ Perform an OpenSSL SSL_accept() in case OpenSSL buffered data
+ that must be handled before entering the Reactor event loop used
+ to complete a non-blocking SSL passive connection.
+
+ If the OpenSSL error status is SSL_ERROR_ZERO_RETURN shut down
+ the partially initialized SSL stream/session since the peer has
+ itself shut down.
+
+Thu Sep 6 11:00:46 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/TP_Reactor.cpp: The timer events are not included as a part
+ of number of active handles from wait_for_multiple_events
+ (). The check for event_count > 0 before processing timer events
+ was wrong. Removed the check. Thanks to Chad Elliott for
+ pointing this out.
+
+ Further did some cosmetic changes like adding comments, removing
+ comments that was not valid etc.
+
+Thu Sep 6 07:50:56 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * bin/auto_run_tests.lst: The AMI buffering test should not be run
+ Single threaded builds.
+
+Thu Sep 6 02:30:14 2001 Christopher Kohlhoff <chris@kohlhoff.com>
+
+ * examples/Export/Makefile.bor:
+ * examples/Export/export_dll.bor:
+ * examples/Export/test.bor:
+ * examples/Export/dll.h:
+ Added makefiles for this example and fixed a template problem with
+ Borland C++. Thanks to Charles Frasch <cfrasch@spawar.navy.mil> for
+ contributing this.
+
+Wed Sep 5 19:48:34 2001 Priyanka Gontla <pgontla@ece.uci.edu>
+
+ * ace/SOCK_Dgram.cpp (set_nic):
+ Fixed the errors that raised in Win.
+
+Wed Sep 5 20:38:10 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/OS.h:
+ * ace/OS.i:
+ * ace/QoS/QoS_Session_Impl.cpp:
+ * ace/QoS/QoS_Session.h: Reverted the change "Wed Sep 5 18:58:00
+ 2001 Yamuna Krishnamurthy <yamuna@cs.wustl.edu>". The change
+ broke builds. Further there was no reason why the QoS
+ information should come inside OS.* files. Talk about increasing
+ foot print.
+
+Wed Sep 5 18:58:00 2001 Yamuna Krishnamurthy <yamuna@cs.wustl.edu>
+
+ * ace/QoS/QoS_Session.h:
+ * ace/QoS/QoS_Session_Impl.h:
+ * ace/QoS/QoS_Session_Impl.cpp:
+
+ Added rapi_sender and rapi_reserve calls with null tspec and
+ flow spec respectively to facilitate the tearing down of PATH
+ and RESV messages.
+
+ * ace/OS.h:
+ * ace/OS.i:
+
+ Changed the sending_flowspec_ and receiving_flowspec_ members of
+ the ACE_QoS class to pointers so they can be initialized to null
+ flow specs.
+
+Wed Sep 5 16:50:03 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * THANKS: Added Peter Phillips <pphillip@opentext.com> to the Hall
+ of Fame.
+
+ * ace/OS_String.cpp: Fixed a warning in TRU64 builds.
+
+Wed Sep 5 11:29:59 2001 Priyanka Gontla <pgontla@ece.uci.edu>
+
+ * ace/SOCK_Dgram.h:
+ * ace/SOCK_Dgram.cpp:
+
+ Added a new method to set the NIC address in the socket.
+
+Wed Sep 05 12:00:42 2001 Steve Huston <shuston@riverace.com>
+
+ * include/makeinclude/platform_aix4_g++.GNU: Sets ACE_AIX_VERS rather
+ than separate major/minor; see entry below for further info.
+
+Wed Sep 05 11:52:39 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/config-aix5.1.h: New config file for AIX 5L, version 5.1,
+ using Visual Age C++ 5.
+
+ * ace/config-aix-4.1.x.h:
+ * ace/config-aix-4.2.x.h:
+ * ace/config-aix-4.3.x.h:
+ * ace/config-aix-4.x.h: Use ACE_AIX_VERS (which has both major and
+ minor version) rather than ACE_AIX_MAJOR_VERS and ACE_AIX_MINOR_VERS.
+
+ * include/makeinclude/platform_aix_ibm.GNU: Rather than making
+ separate major/minor OS version variables, use one that incorporates
+ both to make it easier for config.h files to set upwardly-compatible
+ feature flags.
+
+Wed Sep 5 06:55:44 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * tests/Log_Msg_Test.cpp:
+
+ Add ACE_TEXT() around the default program name for the Windows
+ WChar Unicode build.
+
+Tue Sep 4 18:48:00 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Select_Reactor_Base.cpp: Changed the value returned from
+ ACE_Select_Reactor_Notify_Handler::handle_input (). This now
+ returns a 0 if we did not dispatch any handles or the number of
+ handles dispatched. We were returning a -1 if we did not
+ dispatch any handles, after reading the notification from the
+ pipe. This should fix the Reactor_Notify_Test in the Implicit
+ templates build.
+
+Tue Sep 4 12:46:50 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/ACE.cpp: Reverted this change "Tue Sep 4 07:37:17 2001
+ Balachandran Natarajan <bala@cs.wustl.edu>". Thanks to Irfan
+ for pointing that this change, changes the semantics of the
+ methods.
+
+Tue Sep 4 09:14:36 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/CDR_Stream.i:
+ * ace/CDR_Stream.cpp:
+
+ Work around a compiler bug in the latest Green Hills Multi200.
+ Casting a float to an ACE_CDR::ULong* caused internal compiler
+ errors if the code was inlined.
+
+ * ace/config-vxworks5.x.h:
+ * include/makeinclude/platform_vxworks5.x_ghs.GNU:
+
+ Updated support for Green Hills Multi2000.
+
+Tue Sep 4 07:41:42 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * THANKS: Added Eyal Neuman <eyal@tradertools.com> to the Hall of
+ Fame.
+
+Tue Sep 4 07:37:17 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/ACE.cpp: Fixed a bug with recv_n_i (). The problem was form
+ returning the exact number of bytes from the for loop. If the
+ loop had executed once and if we get 0 in the next recv_i ()
+ call, then we should be returning the number of bytes read in
+ the previous iteration and not 0. Thanks to Eyal Neuman
+ <eyal@tradertools.com> for this fix. This closes bug 1015.
+
+Tue Sep 4 07:08:30 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/ACE.cpp: Fixed a unicode error in teh Win32 builds. Acted as
+ a dumbo when I made this change yesterday:(
+
+Mon Sep 3 20:08:25 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/TP_Reactor.cpp: Fixed a warning in TRU 64 builds.
+
+Mon Sep 3 09:58:32 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * */Makefile: Updated dependencies
+
+Mon Sep 3 09:44:46 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Select_Reactor_Base.cpp: Fixed a warning in Implicit
+ template builds.
+
+Mon Sep 3 08:21:36 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/ACE.cpp: Replaced L with ACE_TEXT_WIDE.
+
+Mon Sep 3 07:54:32 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/OS_String.cpp: Fixed compile errors in win32 builds. Thanks
+ to Johnny Willemsen for sending in patches for replacing L with
+ ACE_TEXT_WIDE.
+
+Sun Sep 2 19:33:07 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Select_Reactor_Base.cpp: Fixed a small problem with the
+ select reactor's notify () handling mechanism. This was more of
+ a problem with me not checking the while () loop condition
+ properly. This should fix most of the reactor problems seen in
+ the daily builds.
+
+Sat Sep 1 14:10:08 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/System_Time.cpp,
+ * ace/Stream_Modules.cpp,
+ * ace/Service_Types.cpp,
+ * ace/Service_Manager.cpp,
+ * ace/SPIPE_Addr.cpp,
+ * ace/OS.cpp,
+ * ace/Memory_Pool.cpp,
+ * ace/Mem_Map.cpp,
+ * ace/Local_Name_Space_T.cpp,
+ * ace/FILE_Addr.cpp,
+ * ace/FIFO.cpp,
+ * ace/Connector.cpp,
+ * ace/Acceptor.cpp,
+ * ace/Token_Collection.cpp,
+ * ace/Name_Request_Reply.cpp,
+ * ace/Local_Tokens.cpp,
+ * ace/ACE.cpp,
+ * ace/Log_Record.cpp,
+ * ace/Log_Msg.cpp: Added the use of the new ACE_OS::strsncpy()
+ method. Thanks to Alain for reporting this.
+
+ * ace/OS_String.{h,cpp}: Added a "safe" c string copy method:
+ strsncpy(dst,src,maxlen). Changing an occurence off strncpy()
+ to strsncpy() is less errorprone, but could break somebody's
+ code if he/she is using the fact that the strncpy's where
+ nul-padding the destination, but this is extremely
+ unlikely. Using strsncpy() is also almost always (a lot) faster
+ than strncpy(). Thanks to Alain Decamps
+ <Alain.Decamps@PIDPA.be> for this method.
+
+Sat Sep 1 09:54:55 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * tests/Bound_Ptr_Test.cpp: Added a patch from Chris Kohlhoff that
+ fixes the problem with VXWORKS builds. The old gcc compiler
+ seems to have problems with forward declared types as template
+ parameters. Chris solves the problem by defining a ABC properly
+ and making the offending class inherit from it. This should fix
+ our daily VXWORKS builds.
+
+Sat Sep 1 08:07:51 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Select_Reactor_Base.cpp: Fixed a compilation error in the
+ Notification queue portion of the code. Thanks to our daily
+ builds for helping me with this testing.
+
+Fri Aug 31 22:12:26 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/TP_Reactor.cpp:
+ * ace/Select_Reactor_Base.cpp: Fixed fuzz errors.
+
+Fri Aug 31 22:07:57 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/WFMO_Reactor.h:
+ * ace/WFMO_Reactor.cpp: Added the method read_notify_pipe () to
+ the WFMO_Notify_Handler.
+
+Fri Aug 31 19:14:52 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Reactor_Impl.h: Added a new method by name read_notify_pipe
+ (). Also changed the dispatch_notify () to take in a
+ Notification buffer instead of a ACE_HANDLE.
+
+ * ace/Select_Reactor_Base.cpp:
+ * ace/Select_Reactor_Base.h: Made the following changes
+
+ - Implemented read_notify_pipe (). Will read just one message from
+ the notify pipe or one message from the notification queue.
+
+ - Reimplemented dispatch_notify (). This method would just
+ dispatch the upcall using the information in the notification
+ buffer.
+
+ - The handle_input () now uses the read_notify_pipe () and
+ dispatch_notify () to achieve what it was doing before.
+
+ - The notify () call now sends one notify message on the pipe
+ for every message in the notification queue.
+
+ * ace/TP_Reactor.cpp (handle_socket_events):
+ * ace/TP_Reactor.h:
+ * ace/TP_Reactor.i: We had a race condition. The race condition
+ was because two threads were trying to read from the notify_pipe
+ at the same instance. This race condition was fixed by adding a
+ call to read_notify_pipe () with the lock held and then calling
+ dispatch_notify () with the buffer read after releasing the
+ lock. Did the following minor modifications
+
+ - Changed dispatch_socket_events () as dispatch_socket_event ()
+ as we were dispatching only one event.
+
+ - We dont grab the token in the constructor of the token. We
+ have to make a call specfically to grab_token () to get the
+ token.
+
+ The above checkins should fix the correctness of the reactor
+ problems that we have been seeing.
+
+Fri Aug 31 18:30:28 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * bin/auto_run_tests.lst:
+
+ Added Blocking_Sync_None to the list of tests to be run on
+ Tru64.
+
+ * ACE-INSTALL.html:
+
+ Added Linux/IA64 to the list of platforms supported.
+
+Fri Aug 31 15:27:09 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Bound_Ptr.i: Fixed a problem with Sun CC42 builds. Used 1
+ instead of true.
+
+Fri Aug 31 14:57:42 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/MEM_Stream_Test.cpp: Fixed usage of ACE_SYNCH meta-class
+ to work correctly with templates.
+
+Fri Aug 31 11:53:05 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * ace/OS.h:
+ * ace/Timer_Queue_T.h:
+ * ace/Timer_Queue_T.h:
+ * ace/config-hpux-11.00.h:
+ * ace/config-hpux11.h:
+ * ace/config-irix6.x-common.h:
+ * ace/config-linux-common.h:
+ * ace/config-lynxos.h:
+ * ace/config-osf1-4.0.h:
+ * ace/config-pharlap.h:
+ * ace/config-sunos4-g++.h:
+ * ace/config-sunos4-lucid3.2.h:
+ * ace/config-sunos4-sun3.x.h:
+ * ace/config-sunos4-sun4.1.4.h:
+ * ace/config-sunos4-sun4.x-orbix.h:
+ * ace/config-sunos5.4-centerline-2.x.h:
+ * ace/config-sunos5.4-g++.h:
+ * ace/config-sunos5.4-sunc++-4.x-orbix.h:
+ * ace/config-sunos5.4-sunc++-4.x.h:
+ * ace/config-sunos5.5.h:
+ * ace/config-tandem.h:
+
+ Fixed up documentation of ACE_TIMER_SKEW. Fixed bogus values in
+ all the above files. Should help in removing some of the errors
+ in TAO tests. Any test in ACE/TAO which breaks because of this
+ change is broken and should be fixed.
+
+Fri Aug 31 12:00:00 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/Bound_Ptr_Test.icc: New Visual Age C++ config for this test.
+ * tests/tests.icp: Added Bound_Ptr_Test.icc, Service_Config_Test.icc,
+ and libService_Config_DLL.icc.
+
+Fri Aug 31 11:40:31 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/MEM_Stream_Test.(cpp h): Fixed single-threaded builds.
+
+Fri Aug 31 08:13:26 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/perltest2cpp.pl:
+
+ Added a -t option to set the timeout factor.
+
+Thu Aug 30 18:08:32 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * ace/config-linux-common.h:
+
+ Added some more missing stuff which might break compilations.
+ The previous change also removed the existing definition for
+ ACE_TIMER_SKEW so add it back till the new version is checked in.
+
+Thu Aug 30 17:54:40 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * ace/config-linux-common.h:
+
+ This file was checked in inadvertently when checking in fixes
+ for ACE_NEEDS_HUGE_THREAD_STACKSIZE.
+
+Thu Aug 30 13:04:38 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/run_test.lst: Added Bound_Ptr_Test.
+
+Thu Aug 30 11:40:39 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/run_test.pl (run_program): Fixed the 'unlink' to get
+ all of a test's log files; prevents seeing previous sub-logs
+ from a test such as MEM_Stream_Test and falsely reporting errors.
+
+Thu Aug 30 10:46:51 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/High_Res_Timer.cpp (global_scale_factor ()): When checking for
+ a high-res timer mechanism, don't set the global_scale_factor_status_
+ away from 0 until _after_ getting the scale factor, to avoid
+ a second parallel thread from using a bogus value. Thanks very much
+ to Alain Decamps for this fix.
+
+Thu Aug 30 09:30:19 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * tests/Log_Msg_Test.cpp:
+
+ Fix for VxWorks when ace_main() is called with argc == 0.
+
+ * tests/run_test.lst:
+
+ Update the list of tests that run on VxWorks.
+
+ * tests/Makefile:
+ * tests/run_test.pl:
+
+ Update the script to output VxWorks commands to a file.
+
+Thu Aug 30 09:58:38 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/High_Res_Timer.i (elapsed_microseconds): For Win32, isolate the
+ msec modulus before converting it up to usecs. Thanks to Francois
+ Rioux <rioux01@gel.ulaval.ca> for reporting this.
+
+Thu Aug 30 00:42:41 2001 Christopher Kohlhoff <chris@kohlhoff.com>
+
+ * ace/Service_Config.cpp:
+ Service_Object instances are now inserted into the Service_Repository
+ only after they have been successfully initialised, to provide better
+ support for recursive use of the service configurator. With this
+ change, a service loaded from 'inside' another services's init() will
+ be inserted into the repository first and unloaded last. This ensures
+ that any recursively loaded services on which the original service
+ depends still exist when the original service's fini() function is
+ called.
+
+Thu Aug 30 00:27:05 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * ChangeLog:
+
+ Removed bogus files from the previous entry. I should not play
+ around with a lot of tasks at once.
+
+Wed Aug 29 19:57:29 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * ace/config-osf1-4.0.h:
+
+ Remove definition of ACE_NEEDS_HUGE_THREAD_STACKSIZE. The
+ default value seems to be good enough.
+
+ * ace/config-vxworks5.x.h:
+ * ace/config-lynxos.h:
+ * ace/config-qnx-neutrino.h:
+ * ace/config-rtems.h:
+
+ Standardized the values to 64KB on these platforms. Don't know
+ if these platforms need it. But I don't have access to any of
+ these so playing it safe.
+
+
+Wed Aug 29 18:52:12 2001 Christopher Kohlhoff <chris@kohlhoff.com>
+
+ * tests/Bound_Ptr_Test.cpp:
+ Removed a stray asterisk that was causing compilation failures.
+
+Wed Aug 29 17:54:52 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/libDLL_Test.icc:
+ * tests/libService_Config_DLL.icc: Fixed the "run after" directives
+ to correctly build the lib*.a files. Also, fixed the cleanup
+ directives to properly clean up both .a and shr.o files.
+
+Wed Aug 29 15:32:10 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/config-aix-4.x.h:
+ * ace/config-hpux-11.00.h:
+ * ace/config-osf1-4.0.h: Added better support for pread()/pwrite().
+ Thanks to Steve Vranyes <steve.vranyes@veritas.com> for these fixes.
+
+Wed Aug 29 15:47:33 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/run_test.lst: Re-enabled MEM_Stream_Test.
+
+Wed Aug 29 12:15:01 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/ace_dll.dsp:
+ * ace/ace_lib.dsp: Added Bound_Ptr.* to the projects.
+
+ * tests/tests.dsw:
+ * tests/Bound_Ptr_Test.dsp: Added a new project for
+ Bound_Ptr_Test.
+
+Wed Aug 29 11:01:22 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/MEM_Stream_Test.cpp: Fixed a cut/paste error and now runs the
+ proper number of threads/processes for the MT case, avoiding a
+ hang.
+
+Wed Aug 29 07:08:23 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * tests/run_tests.lst:
+ * tests/Makefile
+ * tests/Makefile.bor
+ * ace/Makefile
+ * ace/Bound_Ptr.{h,i}
+ * tests/Bound_Ptr_Test.cpp
+ * examples/Smart_Pointer: Added a pair of new smart pointer classes,
+ ACE_Strong_Bound_Ptr and ACE_Weak_Bound_Ptr. Thanks to
+ Christopher Kohlhoff <chris@kohlhoff.com> for contributing
+ these.
+
+Tue Aug 28 17:51:19 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/run_test.pl: If a test has log files associated with the
+ main log of the form <test>-<other>.log, e.g. MEM_Stream_Test-331.log
+ the check_log function will scan those for errors/warnings too.
+
+Tue Aug 28 16:48:23 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/TP_Reactor.i: We (the current thread) should not release the
+ token unless we own it. This simple mistake just took 3 days to
+ figure out. An 'if' condition was mixing and have added
+ it. Shows how a small problem at lower levels can take days to
+ fix.
+
+Tue Aug 28 17:45:22 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/MEM_Stream_Test.cpp: Fixed compile warning on gcc.
+
+Tue Aug 28 13:16:31 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/vxworks_modify.pl:
+ * bin/perltest2cpp.pl:
+
+ Generated c++ files now pass the fuzz check.
+
+Tue Aug 28 11:02:08 2001 Ossama Othman <ossama@uci.edu>
+
+ * bin/nightlybuilds/builds.lst:
+
+ Renamed the GCC 3.0 build to "Debian_GCC_3.0.1." since we're
+ actually compiling with GCC 3.0.1, not GCC 3.0. The latter has
+ bugs that prevent it from compiling ACE/TAO at the "-O3"
+ optimization level.
+
+Tue Aug 28 10:19:18 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_SOCK_Stream.i (recv_i):
+
+ Corrected Borland warning using a more efficient fix (i.e. less
+ function calls).
+
+Tue Aug 28 10:36:10 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/vxworks_modify.pl:
+ * bin/perltest2cpp.pl:
+
+ Added these scripts for use with VxWorks and the newly added TAO
+ TestUtils. These scripts modify c++ and perl to generate
+ "one-button" modules for TAO testing on VxWorks.
+
+Tue Aug 28 11:07:26 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/MEM_Stream_Test.cpp: Be sure to close the stream from the
+ client end.
+
+Mon Aug 27 20:16:38 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * tests/run_test.lst: Removed the MEM_Stream_Test from the daily
+ builds as they were hanging. This was causing the builds to
+ choke. I will keep Steve Huston informed on this so that he can
+ reenable them once he has fixed the test.
+
+Mon Aug 27 18:33:59 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * bin/nightlybuilds/builds.lst (WEB):
+
+ Removed the stray yoda part of LIST which is causing the wrong
+ results to show up.
+
+Mon Aug 27 18:14:38 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * bin/nightlybuilds/builds.lst (WEB):
+
+ Added the IA-64 builds back again. We now have a faster machine
+ running a better version of Linux.
+
+Mon Aug 27 09:39:33 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Timer_Queue_T.i (get_dispatch_info):
+ * ace/Timer_Queue_T.h: Fixed the compile problem in VXWORKS
+ builds. How could I forget that there are a few compilers which
+ cannot grok traits?
+
+Mon Aug 27 09:39:12 2001 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/Makefile.bor:
+ * examples/NT_Service/Makefile.bor
+ Added BCB makefile for this example
+
+Sun Aug 26 22:08:32 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/TP_Reactor.i: Reordered methods to fix warnings in TRU 64
+ builds.
+
+Sun Aug 26 20:50:22 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/SSL/SSL_SOCK_Stream.i: Fixed a warning (hopefully) in
+ Borland builds. The warning was because a temporary variable was
+ created.
+
+Sun Aug 26 20:45:24 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * tests/MEM_Stream_Test.cpp: Fixed a unused variable warning in
+ Borland.
+
+Sun Aug 26 08:13:12 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * tests/test_config.h: Added a new ACE_CLOSE_TEST_LOG macro. Thanks to
+ Edan for this.
+
+Sun Aug 26 09:07:32 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/TP_Reactor.cpp: Fixed a compile error with SunCC4.2
+
+Sun Aug 26 08:28:09 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Timer_Queue_T.cpp: Fixed a warning from an unused variable
+ reported by KCC compilers.
+
+Sun Aug 26 08:13:12 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * tests/Logging_Strategy_Test.cpp: Applied the following fixes from
+ Edan:
+
+ - Included ace/Logging_Strategy.h
+ - Addition of -w switch to enable initial wipeout of logfile
+ - Removal of the redundant ACE_LOG_MSG->open()
+ - Explicitly close the previous log before applying the changes to the
+ ACE_LOG_MSG
+ - Moved remove_files() call higher, just before logfile close
+
+ * ace/Logging_Strategy.{h,cpp}: Added the following fixes from
+ Edan Ayal:
+
+ - Logging_Strategy now supports any ACE_Log_Msg, not just the
+ ACE_LOG_MSG singleton.
+ - Added a check for success (ios::goodbit) of new ofstream
+ creation.
+ - Changed default values for max_size and interval. Now the
+ default interval is 10 minutes (instead of 0) and the default
+ log file size is 0 (was 16K). The timer is now activated only
+ if both are non-zero.
+ - Added a mutator to set the ACE_Log_Msg to work with, and a
+ member variable
+ - Added definition for ACE_DEFAULT_LOGFILE_POLL_INTERVAL
+ - Removed definition of ACE_DEFAULT_MAX_LOGFILE_SIZE
+
+ * ace/Log_Record.{h,cpp}: Enhanced this implementation to (1)
+ be consistent with recent changes to Log_Msg.h and (2) to
+ replace problematic use of strncpy(). Thanks to Alain
+ Decamps for these fixes.
+
+Sat Aug 25 20:58:22 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/FILE_IO.i (send_n): Changed to use ACE::write_n to send the
+ chain of Message_Blocks. The originally used ACE::send_n was
+ causing problem on NT because send_n was restricted for sockets
+ I/O on NT. Thanks to Doug for pointing this out.
+
+Sat Aug 25 10:16:21 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * tests/Svc_Handler_Test.cpp (main): The destructor of svc_handler
+ will close file_io, so we don't need to do it explicitly!
+
+ * ace/Log_Msg.cpp (log): Changed range check from
+
+ this->msg_ + ACE_Log_Record::MAXLOGMSGLEN
+
+ to
+
+ this->msg_ + sizeof this->msg_
+
+ to correspond to the change below.
+
+ * ace/Log_Msg.h (ACE_Log_Msg): Increased the size of the buffer
+ used to store log records to account for the NUL-terminator.
+
+ * tests/Svc_Handler_Test.cpp (main): Changed the buffer size
+ and NUL-terminated the buffer so that things print correctly.
+ Thanks to Nanbor for finding this.
+
+Sat Aug 25 09:00:28 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/TP_Reactor.cpp:
+ * ace/TP_Reactor.h (ACE_TP_Reactor): Fixed a warning in KCC
+ builds.
+
+Sat Aug 25 08:42:57 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Configuration_Import_Export.cpp: Fixed warnings with g++. I
+ am not sure how this fix will be accepted on different
+ compilers. Things are always dicy when you want to delete a
+ void *.
+
+Fri Aug 24 23:29:09 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * bin/auto_run_tests.lst: Added File_IO test to our daily builds.
+
+Fri Aug 24 23:12:15 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/WFMO_Reactor.h:
+ * ace/WFMO_Reactor.cpp (dispatch_notify): Fixed a compile error on
+ MSVC.
+
+Fri Aug 24 23:07:42 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Configuration_Import_Export.cpp: Fixed a compile error with
+ g++.
+
+Fri Aug 24 21:55:00 2001 Craig Rodrigues <crodrigu@bbn.com>
+
+ * ace/QoS/QoS_Session_Impl.cpp:
+ Check for null parameters in rsvp_callback().
+ Thanks to Yamuna Krishnamurthy <yamuna@cs.wustl.edu>.
+
+Fri Aug 24 20:32:39 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/MEM_Stream_Test.cpp: Changed this test to use multiple
+ processes on any platform without ACE_LACKS_FORK. It actually
+ could be broader than this if desired. This is motivated by the
+ fact that HP-UX can't mmap() (the call underlying ACE_MEM_IO)
+ the same file more than once in the same process. With this,
+ MEM_Stream_Test goes a lot better on HP-UX, though not perfectly
+ yet.
+
+Fri Aug 24 16:54:02 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_SOCK_Stream.h (recv_i):
+
+ Added a timeout parameter. See below for details.
+
+ * ace/SSL/SSL_SOCK_Stream.i (recv_i):
+
+ Perform an SSL_read() before attempting to block on select()
+ with a timeout. OpenSSL may buffer more data than requested
+ since it is a record-oriented protocol. Fixes a problem where
+ subsequent calls to ACE_SSL_SOCK_Stream::recv() could timeout
+ when needlessly blocking on select() because the expected data
+ has already been buffered by OpenSSL. Thanks to Martin
+ Krumpolec <krumpo@pobox.sk> for reporting and diagnosing the
+ problem. [Bug 1006]
+
+ * ace/SSL/SSL_SOCK_Stream.cpp (recv):
+
+ Moved the timed recv() code to the lower level recv_i() method
+ since timeout support must now be more tightly integrated with
+ do/while(SSL_pending()) SSL_read() loop.
+
+Fri Aug 24 18:33:09 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Parse_Node.cpp (ACE_Function_Node): Make sure to dynamically
+ allocate the pathname_ so we can delete it! Thanks to
+ Don Hinton for reporting this.
+
+ * ace/Configuration_Import_Export.cpp: Changed a couple of
+ delete (char *) buf to delete (char *) [] buf. Thanks to
+ Don Hinton for reporting this.
+
+Fri Aug 24 16:10:20 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ Merged in changes from the reactor_deadlock branch. This set of
+ changes actually fixes a long standing problem with the
+ TP_Reactor. The TP_Reactor was holding the token too long and
+ this created all sorts of problems for TAO. The changes have been
+ merged from the branch <reactor_deadlock> and here are the relevant
+ ChangeLog entries.
+
+ Fri Aug 24 14:59:52 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/TP_Reactor.cpp (dispatch_socket_events): Cosmetic changes.
+
+ Fri Aug 24 14:19:02 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Timer_Queue_T.i:
+ * ace/Timer_Queue_T.h:Removed the default constructor and
+ destructor for ACE_Timer_Node_Dispatch_Info_T allowing the
+ compiler to do the job.
+
+ Fri Aug 24 12:05:25 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Timer_Queue_T.cpp: Removed some vague debug statements.
+
+ Fri Aug 24 11:34:11 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Timer_Queue_T.h:
+ * ace/Timer_Queue_T.cpp:
+ * ace/Timer_Queue_T.i: Added a new class
+ ACE_Timer_Node_Dispatch_Info_T that has the dispatch information
+ needed to make the upcall. Added methods, dispatch_info () and
+ dispatch_info_i () in ACE_Timer_Queue_T. These methods return
+ the dispatch information if there is a node in the queue whose
+ timer value <= current time. Changed the expire () method to use
+ this method to get dispatch information.
+
+ * ace/Timer_Queue.h: Added a template specialisation for
+ ACE_Timer_Node_Dispatch_Info_T.
+
+ * ace/Timer_Queue.cpp: Added template instantiations for the
+ specialisation.
+
+ * ace/TP_Reactor.h:
+ * ace/TP_Reactor.cpp: Added a new method handle_timer_events ()
+ that would handles timer events.
+
+ Thu Aug 23 11:50:18 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Reactor_Impl.h: Added two new methods notify_handle () and
+ dispatch_notify () to the ACE_Reactor_Impl class.
+
+ * ace/Select_Reactor_Base.h:
+ * ace/Select_Reactor_Base.cpp: Implemented the above two
+ methods in the ACE_Select_Reactor_Notify class. The
+ notify_handle () method returns the handle of the pipe on which
+ it is listening. The dispatch_notify () call does a dispatch of
+ just one notify () call in the notify pipe. The handle_input ()
+ call that used to process all the notify calls now calls the
+ dispatch_notify () in a loop. The change essentially allows
+ some extrenal client of this class to just process one notify at
+ a time if needed.
+
+ * ace/TP_Reactor.h:
+ * ace/TP_Reactor.i:
+ * ace/TP_Reactor.cpp (handle_events): Fixed a bug with
+ handle_events (ACE_Time_Value &). This should be calling the
+ handle_events () of the TP_Reactor and not the select reactor.
+
+ Added a whole slew of new methods that basically allows us to do
+ this
+ - handle one event at a time
+
+ - once the thread knows the event that needs handling it should
+ release the token before dispatching the events
+
+ The new methods that have been added are
+
+ - handle_signals (), which handle signals that interrupted the
+ select (). The implementation of this method is busted. The
+ implementation has been copied from the existing setup
+
+ - handle_notify_events (), which handles one notify on the
+ notify_pipe at a time
+
+ - handle_socket_events (), which handles socket events.
+
+ Quite a few helper methods have also been added. They are
+ get_notify_handle (), get_socket_event_info (), and
+ dispatch_socket_events (). Removed the methods dispatch_i (),
+ dispatch_i_protected () and notify_handle (). This checkin fixes
+ the problem in 1002. But we still have to add handling timeouts
+ into the TP_Reactor.
+
+
+ Tue Aug 21 17:21:07 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/TP_Reactor.i:
+ * ace/TP_Reactor.h:
+ * ace/TP_Reactor.cpp: Made lots of changes which havent been
+ compiled yet. Added a new class ACE_TP_Token_Guard that helps
+ in obtaining and releasing tokens. Moved the grab_token () from
+ the ACE_TP_Reactor class to the TP_Token_Guard class. Added a
+ new method for handling signals. They havent been compiled yet
+ and this checkin is to put files from work to my home box.
+
+ Tue Aug 21 07:58:42 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/TP_Reactor.i:
+ * ace/TP_Reactor.h:
+ * ace/TP_Reactor.cpp (handle_events): Started refactoring some of
+ the code to help with this bug. This change has not been
+ compiled. This is just being done to transfer files from home
+ to work.
+
+Fri Aug 24 14:25:31 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * THANKS: Added Massimo Pichini <massimo@webbridges.it> to the
+ Hall of Fame.
+
+Fri Aug 24 13:40:01 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * bin/nightlybuilds/builds.lst: Removed HPUX and AIX_VAC for the
+ timebeing. Looks like OCI is running different versions of the
+ OS for their internal use.
+
+Fri Aug 24 10:17:00 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Log_Msg.cpp (log_hexdump): Added a patch provided by Massimo
+ Pichini <massimo@webbridges.it>. This prevents overflows with
+ long strings that are used in printing hexdumps. Previously we
+ had a buffer of 80 bytes on the stack.
+
+Fri Aug 24 10:03:29 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/INET_Addr.(h cpp): Applied changes submitted by
+ Alain Decamps <Alain.Decamps@PIDPA.be> to insure that
+ get_host_name (char hostname[], size_t len) const always
+ nul-terminates the hostname string. If the host lookup is
+ successful, but the supplied buffer is too short, the function
+ returns -1, errno == ENOSPC.
+
+Thu Aug 23 22:01:11 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * tests/Logging_Strategy_Test.cpp: Reverted this change "Thu Aug
+ 23 05:24:57 2001 Douglas C. Schmidt" as this was giving
+ warnings with MSVC 6.0
+
+Thu Aug 23 11:49:15 2001 Paul Calabrese <calabrese_p@ociweb.com>
+
+ * bin/msvc_auto_compile.pl:
+
+ Revert changes from Mon Aug 20 15:48:30 2001.
+ Thanks to Darrell to showing me the error in my ways.
+
+Thu Aug 23 09:17:25 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Log_Msg.cpp (file): Reduced the number of bytes copied in
+ ACE_Log_Msg::file () and ACE_Log_Msg::msg () by one. Thanks to
+ Alain Decamps <Alain.Decamps@PIDPA.be> for pointing this out.
+
+Thu Aug 23 08:11:22 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/Configuration_Import_Export.cpp (process_previous_line_format):
+ Prepend ACE_OS:: to atoi to work with both narrow and wide chars.
+
+Thu Aug 23 08:03:00 2001 Craig Rodrigues <crodrigu@bbn.com>
+
+ * ace/QoS/QoS_Session_Impl.cpp:
+ Improve debugging messages. Return -1 inside rsvp_callback()
+ if flowspec type is unknown.
+
+Thu Aug 23 05:24:57 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * tests/Logging_Strategy_Test.cpp: Added new and improved test that
+ it better documented and fixes some minor bugs. Thanks to
+ Edan Ayal for this.
+
+Wed Aug 22 19:04:57 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * tests/Logging_Strategy_Test.cpp: Enable this test to work
+ on platforms that don't support DLLs. Thanks to Edan Ayal
+ <edana@bandwiz.com> for suggestion this and providing the code.
+
+ * tests/Logging_Strategy_Test.cpp (parse_args): Changed 'n' for 'N'
+ since that controls the max number of log files. Thanks to Edan
+ Ayal <edana@bandwiz.com> for reporting this.
+
+Thu Aug 23 07:30:12 2001 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/SString.{h,i}: Added clear() method to the ACE_CString and
+ ACE_WString so that it is possible to clear a string in just one
+ call
+ * tests/SString_Test.cpp: Extended to test clear() method
+
+Wed Aug 22 15:30:05 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * bin/auto_compile:
+ Use the print_config.pl script to print out the configuration.
+
+Wed Aug 22 17:33:29 2001 Steve Huston <shuston@riverace.com>
+
+ Applied fixes submitted by Jerry D. Odenwelder, to fix
+ Bugzilla #953:
+
+ * ace/Configuration.cpp (import_config, export_config): Changed
+ from using a ACE_Ini_ImpExp object to an ACE_Registry_ImpExp
+ to preserve type information in the import/export files, and
+ retain the ability to read an ACE 5.1-format file (with the
+ changes next...)
+
+ * ace/Configuration_Import_Export.(h cpp): Added a new
+ ACE_Registry_ImpExp::process_previous_line_format() method that
+ knows how to read an ACE 5.1-format config line. If
+ ACE_Registry_ImpExp::import_config finds a line that does not
+ begin with one of <"[#;> it calls process_previous_line_format
+ to try to convert it using ACE 5.1-format rules.
+ Note that the auto conversion works on import. If the
+ object is subsequently exported, the new registry format
+ will be used to write the file, effectively updating it
+ from old to new format.
+
+Wed Aug 22 12:04:04 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/WFMO_Reactor.h (ACE_WFMO_Reactor): Clarified that the
+ work_pending() method isn't implemented and suggest what to do
+ for a workaround. Thanks to Michelangelo Riccobene
+ (michelangelo.riccobene@marconi.com) for reporting this.
+
+Wed Aug 22 10:38:08 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * bin/nightlybuilds/print_config.pl:
+ Add new perl script to print out the build configuration, the
+ script will be shared by the Unix and Win32 builds.
+
+Wed Aug 22 11:30:13 2001 Joe Hoffert <joeh@cs.wustl.edu>
+
+ * ace/OS_Memory.h:
+ Removed include of pace/stddef.h. PACE does not have this
+ file. There are no POSIX functions that typically reside
+ in this header. Maybe PACE will need this later but it
+ doesn't now.
+
+ * ace/OS.h (ACE_cond_t):
+ Modified #if guard to include ACE_cond_t class if we're
+ on Win32. If we're using PACE then we don't want this method
+ (since PACE takes care of it) unless we're on Windows. Win32
+ mutexes, semaphores, and condition variables are not yet
+ supported in PACE.
+
+ * ace/OS.cpp (ACE_OS::cond_destroy):
+ Modified #if guard to include ACE_cond_t::cond_destroy
+ if we're on Win32. If we're using PACE then we don't want
+ this method (since PACE takes care of it) unless we're on
+ Windows. Win32 mutexes, semaphores, and condition variables
+ are not yet supported in PACE.
+
+ * ace/OS.i (ACE_OS::waiters):
+ Modified #if guard to include ACE_cond_t::waiters if
+ we're not on Win32. If we're using PACE then we want
+ this method (since PACE defines cond_t) unless we're
+ on Windows. Win32 mutexes, semaphores, and condition
+ variables are not yet supported in PACE.
+
+Tue Aug 21 08:26:30 2001 David L. Levine <levine@cs.wustl.edu>
+
+ * docs/ACE-guidelines.html: changed the example referenced
+ in:
+ Sun Aug 19 08:17:14 2001 David L. Levine <levine@cs.wustl.edu>
+ to be a bit more realistic.
+
+Tue Aug 21 06:58:49 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Log_Msg.cpp: Fixed problematic uses of strncpy. Thanks to
+ Alain Decamps <Alain.Decamps@advalvas.be> for giving this patch.
+
+Tue Aug 21 10:40:12 2001 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Map.i: Made the return value of ACE_Incremental_Key_Generator
+ getCurrentValue() const
+
+ * ace/Map_Manager.*: Added a const iterator for the
+ ACE_Map_Manager
+
+Mon Aug 20 18:20:51 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/Process.cpp (pass_handle): Only try to compile the
+ DuplicateHandle stuff when !ACE_HAS_WINCE... I think it's
+ right this time...
+
+Mon Aug 20 15:54:46 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/SUN_Proactor.cpp: Removed the instantiation of
+ ACE_Condition<ACE_Thread_Mutex>. Thanks to David Trusty
+ <david.trusty@westwave.com> for reporting this.
+
+Mon Aug 20 15:48:30 2001 Paul Calabrese <calabrese_p@ociweb.com>
+
+ * bin/msvc_auto_compile.pl:
+
+ Modify script to print config.h contents.
+
+Mon Aug 20 13:14:00 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * bin/auto_compile:
+ Fixed chdir commands for the auto_compile scripts.
+
+Mon Aug 20 14:33:31 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/Message_Queue_T.cpp: If we timeout in the semaphore implementation
+ of the message queue in wait_not_full_cond() or
+ wait_not_empty_cond() make sure to decrement the "waiters" count
+ accordingly! Thanks to Patrick Rabau <Patrick.Rabau@htc.com>
+ for noticing this in the C++NPv1 book version!
+
+Mon Aug 20 07:01:31 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/Synch_T.i (release): If owner_ == -1 then return
+ -1. Thanks to Don Hinton <dhinton@swan.fr> for suggesting this.
+
+Mon Aug 20 13:18:51 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/SOCK.h: Corrected comment on ACE_SOCK ctor being protected,
+ not private. Thanks to Don Hinton <dhinton@swan.fr> for
+ pointing this out.
+
+ * THANKS: Added Don Hinton to the Hall of Fame.
+
+Mon Aug 20 11:00:50 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/OS.h:
+
+ Set the ACE_DEFAULT_FILE_PERMS to the correct value for VxWorks.
+
+ * tests/run_test.lst:
+
+ Removed tests for VxWorks for which the platform has no support.
+
+ * tests/CDR_File_Test.cpp:
+ * tests/Svc_Handler_Test.cpp:
+
+ Add VxWorks to the list of platforms that can't unlink the file
+ in advance of the test completing.
+
+Mon Aug 20 01:49:12 2001 Christopher Kohlhoff <chris@kohlhoff.com>
+
+ * include/makeinclude/build_dll.bor:
+ Build non-core DLLs into the common bin directory. This is necessary
+ so that the tests can find all the DLLs they need on the path.
+
+ * tests/run_test.pl:
+ Removed the append of the ExeSubDir to the path, since it is no
+ longer needed and never really worked properly anyway.
+
+Mon Aug 20 00:01:29 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/SOCK_Connector.h: Clarify the conditions under which errno
+ will be ETIME (caller-specified timeout expires w/o connect)
+ vs. ETIMEDOUT (protocol layer timed out the connect).
+
+ * ace/SOCK_Connector.cpp: Add "|| errno == ETIME" to a couple
+ places where an ACE_ERROR is _not_ done for certain conditions.
+
+ * ace/ACE.cpp (handle_timed_complete): If the user-specified timeout
+ expires before the connect is resolved one way or the other,
+ set errno to ETIME, not ETIMEDOUT. This makes it match the
+ documented behavior in the ACE_SOCK_Connector man page.
+
+Sun Aug 19 20:33:39 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * bin/nightlybuilds/builds.lst:
+ Update build list
+
+Sun Aug 19 15:36:23 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * bin/auto_compile:
+ Add new 'Config' section at the end of the build, useful for the
+ next generation scoreboard.
+
+Sun Aug 19 13:25:51 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * bin/footprint_stats.sh:
+ * bin/performance_stats.sh:
+ * bin/generate_footprint_chart.sh:
+ * bin/generate_performance_chart.sh:
+ * html/Stats/Stats.css:
+ * html/Stats/configuration.shtml:
+ * html/Stats/detailed_footprint.shtml:
+ * html/Stats/detailed_performance.shtml:
+ * html/Stats/footer.html:
+ * html/Stats/index.shtml:
+ * html/Stats/navigation.html:
+ Put the scripts and HTML documents used to generate the Stats
+ pages under CVS control. Now it is easier for people to add
+ their own libraries and tests, as well as let our user community
+ examine the way the pages are generated.
+
+ * bin/auto_run_tests.lst:
+ Remove TAO/tests/LongUpcalls/run_ami_test.pl, the tests have
+ been incorporated into the run_test.pl script.
+
+ * bin/sandbox.cpp:
+ Minor changes to the sandbox script, actually not very useful,
+ the ACE classes to create processes start a new process group by
+ default, therefore there is no simple way to kill all the
+ subprocesses if a test fails.
+
+Sun Aug 19 08:17:14 2001 David L. Levine <levine@cs.wustl.edu>
+
+ * docs/ACE-guidelines.html: replaced function call in
+ ASSERT with simple comparison of a variable value. Thanks
+ to Tino Schwarze <tino.schwarze@informatik.tu-chemnitz.de>
+ for suggesting this.
+
+Sat Aug 18 18:26:24 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/ACE.cpp: Removed the ASYS_INLINE macro from the definition
+ of write_n ().
+
+Sat Aug 18 13:18:10 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/ACE.{h,cpp}: Added a new write_n(...ACE_Message_Block *...)
+ for file transfers that's the dual of
+ send_n(...ACE_Message_Block *...). This helps out the C++NPv1
+ book symmetry. Thanks to Alain Decamps <Alain.Decamps@PIDPA.be>
+ for motivating this.
+
+Fri Aug 17 18:17:38 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * bin/clone.cpp: Only use extern char *sys_errlist[] if we're not
+ compiling on Linux. Thanks to Thomas Groth
+ <groth.th@stn-atlas.de> for reporting this.
+
+Fri Aug 17 19:04:31 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/Process.cpp (ACE_Process_Options::pass_handle): For WinCE,
+ just do ACE_NOTSUP_RETURN (-1). It can't dup a handle.
+
+Fri Aug 17 16:56:16 2001 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * ace/CDR_Stream.h:
+ * ace/CDR_Stream.i:
+ * ace/CDR_Stream.cpp:
+
+ Added wr_ptr() accessor method to ACE_InputCDR, and added its
+ use to adjust(), align_read_ptr(), read_1(), skip_string() and
+ skip_bytes() instead of end(). Also added reset of good_bit_
+ to 0 upon failure in read_string() and read_wstring(). Thanks to
+ Peter Phillips <pphillip@opentext.com> for reporting this bug,
+ which was causing excessive memory allocation is some cases.
+ [Bug 591, 944, 983]
+
+Fri Aug 17 13:31:45 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * tests/run_test.pl:
+
+ Added the ability to generate windsh commands to load and run
+ the ace tests.
+
+ * tests/Makefile:
+
+ Added a rule to generate run_test.vxworks, using run_test.pl,
+ which can be used to run the tests selected for the VxWorks OS.
+
+ * tests/run_test.lst:
+
+ Update this list to take into account the limitations of VxWorks.
+
+ * tests/test_config.h:
+
+ Change the permissions of the log file open (for VxWorks only) to
+ use the symbolic permission names instead of 0x644. The
+ permissions differ from the standard UNIX modes.
+
+ * tests/run_tests.vxworks:
+
+ This file was out of date and no longer needs to be maintained.
+ So, it has been removed.
+
+Fri Aug 17 09:44:49 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Map_T.{h,i}: Reverted this change "Fri Aug 17 08:07:12 2001
+ Johnny Willemsen <jwillemsen@remedy.nl>" as this was giving too
+ much of warnings in the builds.
+
+Fri Aug 17 09:30:34 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * gperf/apps/tests/Makefile: Fixed the problem that was causing
+ the builds to fail.
+
+Fri Aug 17 08:07:12 2001 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Map_T.(h i): made the return value of
+ ACE_Incremental_Key_Generator::current_value const T& instead
+ of T&. Added uppercase traits to the ACE_Map class.
+
+Thu Aug 16 19:27:29 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/Process.cpp (ACE_Process_Options::pass_handle): Add
+ "::" to front of "DuplicateHandle" so the WinCE compiler
+ sees the right function.
+ Also added ctor/dtor for ACE_Managed_Process to try and fix the
+ can't find vtable error on Linux.
+
+ * ace/Process.h: Added a constructor for ACE_Managed_Process
+ to fix "can't find vtable" error on Linux.
+
+ * ace/Process.i: Moved ACE_Managed_Process dtor to .cpp file.
+
+Thu Aug 16 15:10:42 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/Process.h (pass_handle): Clarify comments for this method.
+
+ * ace/Process_Manager.cpp:
+ * ace/Process.(h i): Moved the ACE_Managed_Process class out
+ of Process_Manager.cpp, exposing it for general use.
+
+Thu Aug 16 10:34:20 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/POSIX_Proactor.cpp (allocate_aio_slot): Added a fix so that
+ the POSIX Proactor compiles with FreeBSD 4.4. Thanks to Yev
+ Omenzel <omenzel@yahoo.com> for reporting this and to Craig
+ Rodrigues <crodrigu@bbn.com> for fixing it and to
+ John E Hein <jhein@timing.com> for fixing the fix ;-)
+
+Thu Aug 16 08:09:53 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * tests/run_test.lst:
+
+ Added the OTHER requirement to the Thread_Pool_Reactor_Test and
+ the Thread_Pool_Reactor_Resume_Test. These are only built if
+ OTHER is part of the ACE components list.
+
+
+Wed Aug 15 15:50:38 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/WFMO_Reactor.cpp: Don't try to purge the notifications if
+ notify_handler_ is 0. Thanks to Edan Ayal
+ <edanayal@hotmail.com> for reporting this.
+
+Wed Aug 15 11:33:26 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * bin/nightlybuilds/builds.lst:
+ Remove one build from the list, the machine is being retargeted
+ for performance testing.
+
+Wed Aug 15 11:10:22 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * include/makeinclude/wrapper_macros.GNU: Added $(VDIR) for
+ OBJDIRS. This prevents hardcoding the value of OBJDIRS. This has
+ been tested for a dynamic and a static library on Linux. If
+ there are other platforms that gives problems, please feel free
+ to revert the changes to the version 4.114 of the file.
+
+Wed Aug 15 09:35:19 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/Dirent_Test.cpp:
+
+ Added #define's for VXWORKS that allow this test to function
+ properly. Avoid hard-coded relative paths that may not exist on
+ VxWorks.
+
+Wed Aug 15 09:08:40 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/Sock_Connect.cpp:
+
+ Added an implementation to ACE_Sock_Connect::get_ip_interfaces().
+ With this, the Enum_Interfaces_Test works correctly.
+
+Wed Aug 15 07:54:49 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * include/makeinclude/wrapper_macros.GNU: Unravelled the mystery a
+ bit. The patch that was applied to remove the hard coding of
+ OBJDIRS seems to be the problem. The OBJDIRS has been hardcoded
+ again. This should fix the problems that we have been seeing in
+ the builds. If at all we need to remove hardcoding the OBJDIRS,
+ we either need to put the value of VDIR or VSHDIR. If we put
+ both we are going to end up with duplicate targets. Now the
+ killer, what do we add to the OBJDIRS? Me thinks it is VDIR. I
+ have test that out else I would be breaking builds again.
+
+Wed Aug 15 07:30:00 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * include/makeinclude/wrapper_macros.GNU: Reverted the change "Tue
+ Aug 14 21:42:24 2001 Balachandran Natarajan". Thought that was a
+ typo. But looks like it is not.
+
+Wed Aug 15 06:39:50 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Process.cpp: Fixed a warning with g++.
+
+Tue Aug 14 23:57:42 2001 Steve Huston <shuston@riverace.com>
+
+ * A set of changes to encapsulate passing handles to spawned
+ processes. Thanks very much to Eamonn Saunders
+ <Esaunders@softricity.com> for suggesting that this could work
+ and pointing out the Win32 details!
+
+ * THANKS: Added Eamonn Saunders to the Hall of Fame
+
+ * ace/Handle_Set.h: Replace include ace/ACE.h with ace/OS.h. This
+ class is part of the OS subset.
+
+ * ace/Process.h: Added the following methods:
+ - ACE_Process_Options::pass_handle (ACE_HANDLE). Cause the specified
+ handle to be passed to a child process when it's spawned. Has
+ meaning mainly for Win32. The handle value will be included
+ in the spawned process's command line as +H <handle>. The passed
+ handle value will be duplicated if on Win32 less than NT4.
+
+ - ACE_Process_Options::dup_handles (ACE_Handle_Set set) const
+ Get a copy of the handles the ACE_Process_Options duplicated
+ for the spawned process.
+
+ - ACE_Process_Options::passed_handles (ACE_Handle_Set set) const
+ Get a copy of the handles passed to the spawned process. This
+ will be the set of handles previously passed to pass_handle().
+
+ - ACE_Process::close_dup_handles (). Close all the handles in
+ the set obtained from ACE_Process_Options::dup_handles.
+
+ - ACE_Process::close_passed_handles (). Close all the handles in
+ the set obtained from ACE_Process_Options::passed_handles.
+
+ Also moved the avoid_zombies() functions and flag out of the
+ non-Win32 section - it can safely be ignored, maintain the
+ intended semantics, and help apps stay portable.
+
+ * Process.cpp: Implement the above new methods. Also, after spawning
+ a process, the parent will call the above dup_handles/passed_handles
+ methods to get any passed handles. The close_*_handles() methods
+ can then close them. Also, the destructor will call close_dup_handles
+ to be sure that no handles leak on Win32 less than NT4.
+
+ * Process.i (command_line_buf ()): Added a new arg to receive the
+ maximum length of the buffer pointed to on return. To maintain
+ backward compatibility, the arg defaults to 0 (don't return
+ the max length).
+
+ * ace/Makefile: Moved Handle_Set from the UTILS group to the OS group.
+
+ * ace/ace.icc: Moved Handle_Set from DEMUX to OS.
+
+ * docs/ACE-subsets.html: Move Handle_Set from DEMUX to OS.
+
+Tue Aug 14 21:42:24 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * include/makeinclude/wrapper_macros.GNU: Fixed a typo.
+
+Tue Aug 14 21:30:04 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * apps/Makefile: Removed JAWS2 and JAWS from the Makefile. There
+ are several reasons for reverting. This breaks the builds. The
+ Makefiles in the recursed directories are all messed up. The
+ library dependencies doesnt seem trivial. Nobody may have time
+ to fix this. Further, our daily builds return too quickly and we
+ just needed more files to compile :-).
+
+Tue Aug 14 14:19:49 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/Memory_Pool.i (ACE_Local_Memory_Pool dtor): Call release()
+ here to free up the blocks allocated by the pool, else they're
+ stranded and can't be freed.
+
+ * ace/Memory_Pool.cpp (ACE_Local_Memory_Pool::release): After
+ freeing up the blocks, reset the allocated_chunks_ set to be
+ sure they are also freed, and the chunks can't be freed again.
+
+Tue Aug 14 14:19:37 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Log_Msg.cpp: Applied the patches sent by Tibor Kiss
+ <tkiss@mindmaker.hu> for ACE_Log_Msg::close ()
+
+Tue Aug 14 13:55:42 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * include/makeinclude/platform_macosx.GNU: Added a patch from John
+ Michael Zorko <j.zorko@att.net>.
+
+Tue Aug 14 10:21:39 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/Log_Msg.h: Clarified the defaults for the per-process and
+ per-instance default priority masks.
+
+Mon Aug 13 14:01:35 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * include/makeinclude/wrapper_macros.GNU: Fixed some hard-coded
+ uses of .shobj and .obj. Thanks to Shashi Bhushan
+ <Shashi.Bhushan@lmco.com> for contributing these.
+
+ * ace/CDR_Stream.h: Added comments warning about the deletarious
+ effects of not aligning buffers to ACE_InputCDR and
+ ACE_OutputCDR properly. Thanks to Alain Decamps
+ <Alain.Decamps@PIDPA.be> for reporting this.
+
+Sun Aug 12 14:46:07 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/OS.cpp (sched_params): Make sure to set errno for Win32 so
+ that callers can figure out what's going wrong in a consistent
+ way.
+
+ * ace/Select_Reactor_Base.i (purge_pending_notifications): Don't
+ try to purge the notifications if notify_handler_ is 0. thanks
+ to Steve Rahn <SRahn@rim.net> for reporting this.
+
+Mon Aug 13 20:09:04 2001 Balachandran <bala@cs.wustl.edu>
+
+ * ACE version 5.1.19 released.
+
+Sun Aug 12 02:17:01 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/MEM_Acceptor.cpp:
+ * ace/MEM_Connector.cpp: On non-Win32 platforms, disable
+ multithreaded MEM_IO if _ACE_USE_SV_SEM is defined.
+
+Sun Aug 12 01:27:51 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/Log_Msg_Test.cpp: Correct const-ness of a pointer
+ retrieved from ACE_Log_Record::msg_data().
+
+Sun Aug 12 00:34:42 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/Log_Record.h:
+ * ace/Log_Record.i (msg_data()): Changed ACE_TCHAR *msg_data()
+ to: const ACE_TCHAR *msg_data (void) const. Makes it safer,
+ and conforms to all current usage inside ACE. Also makes
+ C++ Network Programming examples simpler :-)
+
+Sat Aug 11 09:01:11 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Thread.h:
+ * ace/Task.h: Added a list of other flags that can be passed to
+ activate().
+
+Fri Aug 10 19:39:48 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * bin/auto_run_tests.lst:
+
+ Disabled the Blocking_Sync_None test from running under Tru64.
+ Also changed the config parameter passed to the auto_compile
+ script from TRU_64 to Tru64 in
+ ~bugzilla/bin/auto_compile_tru64_cxx.
+
+ This is so that the test is disabled only for the WashU builds.
+ The reason being that Bala was not too happy with changing the
+ default values for all the platforms and we also wanted to avoid
+ more #ifdefs in the code. Other builds might have better values
+ and the test might succeed. Have to confirm this though.
+
+Fri Aug 10 17:59:47 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/Svc_Conf_y.cpp:
+ * ace/OS.h: Added /**/ between #include and <sys/modem.h> and
+ <alloca.h> to avoid warning from CE compiler.
+
+ * ace/ace_dll.vcp: Added Svc_Conf_Lexer_Guard.* to the project.
+
+Fri Aug 10 13:40:46 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/nightlybuilds/builds.lst:
+
+ I didn't realize the LIST definition was needed. I have
+ added it for the Tru64 4.0f Compaq C++ 6.3-10 build.
+
+Fri Aug 10 11:45:03 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/nightlybuilds/builds.lst:
+
+ Added the Tru64 4.0f Compaq C++ 6.3-10 build.
+
+Fri Aug 10 11:06:23 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * apps/drwho/CM_Client.cpp:
+ * apps/drwho/CM_Server.cpp:
+ * apps/drwho/server.cpp:
+
+ Changes to avoid warnings on HP-UX with aCC.
+
+Thu Aug 9 16:56:05 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Hash_Map_Manager_T.i:
+ * ace/Hash_Map_Manager_T.cpp: We seem to be re-inventing wheels
+ again and again. A few months back we had a show stopper in a
+ beta which was caused by usage of static cast. The cast was not
+ to the liking of SunCC 4.2. Looks like we had to change a bunch
+ of static cast sprayed in these two files to a C style cast as
+ 4.2 doesnt like them. Compilers like Borland handle these
+ better, but not 4.2.
+
+Thu Aug 9 11:51:10 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * include/makeinclude/platform_hpux_aCC.GNU: On popular mandate we
+ have the -w flag removed from CCFLAGS in the above file. Looks
+ like the -w disables lots of warnings that may be useful.
+
+Thu Aug 9 11:41:01 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/CDR_Stream.h (ACE_OutputCDR): Fixed the ambigous constructor
+ problem. The InputCDR class had two constructors which were
+ similar if the default values for the arguments were
+ exercised. Thanks to Torbjorn Backstrom
+ <torbjorn.k.backstrom@volvo.com> for reporting this.
+
+Thu Aug 9 12:31:21 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/OS_String.cpp (strtok_r_emulation): Make sure to check
+ for a NULL return from strtok() before calling strlen()! Thanks
+ to Boris Sukholitko <boriss@richfx.com> for reporting this.
+
+Wed Aug 08 21:27:50 2001 Ossama Othman <ossama@uci.edu>
+
+ * bin/nightlybuilds/builds.lst (Debian_Wchar, Debian_GCC_3.0):
+
+ The host these nightly builds were built on is now called
+ "rumba" (previously "valinor"). Updated the build list
+ accordingly.
+
+Wed Aug 08 21:19:09 2001 Ossama Othman <ossama@uci.edu>
+
+ * tests/Service_Config_Test.UTF-16.conf:
+
+ Removed extraneous characters from this file that were causing
+ the Service Configurator's underlying lexer to "choke."
+
+Wed Aug 8 16:23:31 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * bin/auto_run_tests.lst:
+ Add the AMI_Buffering tests to the nightly regression testsuite.
+
+Wed Aug 8 16:07:26 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * bin/auto_run_tests.lst: The GIOP lite tests will not work in the
+ static builds. It was adding more complications to the test
+ than what is already there to get it working for the static
+ builds.
+
+Wed Aug 8 14:06:36 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * ace/config-tru64.h:
+
+ Define ACE_HAS_NONSTATIC_OBJECT_MANAGER for all DEC Unix 4.x
+ versions.
+
+ * ace/config-cxx-common.h:
+
+ Define ACE_AUTO_PTR_LACKS_RESET if __DECCXX_VER == 60190027.
+ Thanks to Robert Burke <c-robert.burke@wcom.com> for reporting
+ this.
+
+ * include/makeinclude/platform_osf1_3.2.GNU:
+ * include/makeinclude/platform_osf1_4.0.GNU:
+ * include/makeinclude/platform_osf1_4.0_g++.GNU:
+ * include/makeinclude/platform_osf1_4.0_kcc.GNU:
+ * include/makeinclude/platform_osf1_4.0_rcc.GNU:
+
+ Removed the following files.
+
+ * include/makeinclude/platform_osf1_3.2_cxx.GNU:
+ * include/makeinclude/platform_osf1_4.x_cxx.GNU:
+ * include/makeinclude/platform_osf1_4.x_g++.GNU:
+ * include/makeinclude/platform_osf1_4.x_kcc.GNU:
+ * include/makeinclude/platform_osf1_4.x_rcc.GNU:
+
+ Added new versions of the removed files.
+
+ * include/makeinclude/platform_tru64_pre.GNU:
+ * include/makeinclude/platform_tru64_post.GNU:
+
+ Moved a lot of duplicated code into these new files.
+
+ * include/makeinclude/platform_tru64_cxx.GNU:
+ * include/makeinclude/platform_tru64_g++.GNU:
+ * include/makeinclude/platform_tru64_kcc.GNU:
+
+ Removed a lot of old *cruft* like setting up compilation with
+ cxx when gcc was asked for etc. etc. Somebody went overboard
+ with cut'n paste and copied David's changes blindly. Still not
+ completely satisfied. But it works and is better than before.
+ This also fixes Bug Id 989.
+
+Wed Aug 08 11:30:26 2001 Ossama Othman <ossama@uci.edu>
+
+ * tests/Service_Config_Test.cpp (run_test):
+
+ Don't check if "ACE_USES_WCHAR == 1" since some configurations
+ neglect to set it an integer value. Instead, just check if it
+ is defined.
+
+Wed Aug 8 12:31:51 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * tests/MEM_Stream_Test.cpp: Changed a ACE_DEBUG statment with an
+ LM_WARNING to an LM_DEBUG.
+
+Wed Aug 08 11:59:45 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/OS.h: Do not redefine ACE_IOV_MAX if it has already been
+ defined.
+
+Wed Aug 8 06:21:24 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Makefile: Moved Message_Block from STREAMS_FILES to
+ UTILS_FILES.
+
+ * ace/OS_Dirent.inl (closedir): Changed delete d->directory_name_ to
+ delete [] d->directory_name_. Thanks to Olivier Brunet
+ <obrunet@groupama-ccama.tm.fr> for reporting this.
+
+Tue Aug 7 21:59:42 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * tests/Svc_Handler_Test.cpp: Modified the test to dump the contents
+ of the temporary file to the log file.
+
+Tue Aug 7 19:14:24 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/CDR_Stream.i:
+ * ace/SOCK_Stream.h: Fixed incorrect comments.
+ Thanks to Alain Decamps <Alain.Decamps@PIDPA.be> for reporting
+ these.
+
+Tue Aug 7 15:19:38 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace: Changed all uses of IOV_MAX to use the new ACE_IOV_MAX.
+ * ace/OS.h: Added a new ACE_IOV_MAX that makes it clear this is
+ an ACE-level #define. We use this in C++NP v1.
+
+Tue Aug 7 14:16:57 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/Svc_Handler.cpp: Reimplemented the flush() method to use
+ the new send_n() method on the various ACE I/O classes.
+
+ * ace/SOCK_Stream.{h,i}:
+ * ace/FILE_IO.{h,i}: Added a new send_n() method that sends all
+ the <message_block>s chained through their <next> and <cont>
+ pointers using the underlying OS gather-write operation to
+ reduce the domain-crossing penalty.
+
+Tue Aug 7 17:27:16 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * tests/Collection_test.cpp: Fixed a compile error with g++. This
+ is a patch that Johnny Willemsen sent as a part of his last
+ checkin.
+
+Tue Aug 07 11:25:36 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/config-freebsd-pthread.h: Made the following definition
+ valid only for pre-4.2-RELEASE.
+
+ #define ACE_LACKS_GETPGID
+ #define ACE_LACKS_SETPGID
+ #define ACE_LACKS_SETREGID
+ #define ACE_LACKS_SETREUID
+
+ Thanks to Robert Burke <rburke2002@yahoo.com> for reporting
+ this.
+
+Tue Aug 07 16:40:12 2001 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Hash_Map_Manager_T.*:
+ Added const_iterator to the Hash_Map_Manager so that it is
+ possible to iterate over a hash map in a const method
+
+ The operator= of the iterator now check the value of this to
+ check that the iterator instance is assigned to itself
+
+ * tests/Hash_Map_Manager_Test.cpp
+ Extended this test to test the new const_iterator capabilities
+ of the hash map
+
+ * ace/Unbounded_Set.cpp:
+ Implemented missing operator* for the const iterator
+
+ * tests/Collection_test.cpp:
+ Extended test to test the operator* of the
+ Unbounded_Set_Const_Iterator
+
+Mon Aug 6 19:58:48 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/config-hpux-11.00.h: Added #define for ACE_HAS_TERM_IOCTLS.
+ Thanks to Torbjorn Backstrom <torbjorn.k.backstrom@volvo.com>
+ for reporting this.
+
+ * ace/OS.h: Added a #include for <sys/modem.h> for HP/UX. Thanks
+ to Torbjorn Backstrom <torbjorn.k.backstrom@volvo.com> for
+ reporting this.
+
+Mon Aug 6 12:51:35 2001 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
+
+ * ace/Synch.h (ACE_Null_Mutex>): Fixed a cut&paste error
+ where acquire_write() should be acquire_read(). Thanks to
+ Russell Mora <rd.mora@router.econz.co.nz> for fixing this.
+
+Mon Aug 06 17:17:33 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/Service_Config.cpp:
+
+ Fixed some debugging messages that were not wrapped within an
+ ACE_LIB_TEXT macro.
+
+ * tests/Service_Config_Test.UTF-16.conf:
+
+ Interim UTF-16 encoded version of the UTF-8 encoded
+ Service_Config_Test.conf. It was generated on a little-endian
+ host. Its current purpose is simply to keep our Unicode
+ regression testing happy until the on-the-fly generation is
+ implemented. Once we start generating this file on-the-fly
+ this file should disappear.
+
+ * tests/Service_Config_Test.cpp (run_test):
+
+ When using full Unicode support, use the version of the Service
+ Configurator file that is UTF-16 encoded (as described above).
+
+Mon Aug 06 11:10:24 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/Svc_Conf_l.cpp:
+
+ More Unicode fixes. Flex's allocation function uses malloc() as
+ its underlying allocator. Since it only accepts the size in
+ bytes, allocate "size * sizeof (ACE_TCHAR)" when allocating
+ string buffers. This should clear up some strange looking text
+ "unknown character" messages emanating from the Service
+ Configurator's underlying text scanner.
+
+ Note that these changes do not fix the cause of the "unknown
+ character." Those fixes should soon follow.
+
+Mon Aug 06 09:04:04 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/Svc_Conf.l:
+
+ Unicode updates. Wrap debugging text within an ACE_LIB_TEXT
+ macro.
+
+Sun Aug 5 14:31:10 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * tests/run_tests.lst: Ossama suggested that we dont run the
+ Service_Config_Test in static builds.
+
+Fri Aug 04 3:33:31 2001 Yamuna Krishnamurthy <yamuna@cs.wustl.edu>
+
+ * ace/QoS/SOCK_Dgram_Mcast_QoS.h:
+ * ace/QoS/SOCK_Dgram_Mcast_QoS.cpp:
+
+ Made the open method public so we can open UDP sockets for
+ non-multicast addresses.
+
+Fri Aug 03 22:19:31 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/config-hpux-11.00.h: Added ACE_HAS_WCHAR to build in the
+ wide char handling since Darrell so nicely straightened all
+ the muck out throughout ACE. Thanks Darrell!
+
+Fri Aug 03 22:15:51 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/Log_Msg.cpp (log): For 'W' and 'w' on HP-UX, the 'ls' and
+ 'lc' forms are not allowed; HP-UX requires 'S' and 'C'.
+
+Fri Aug 3 13:10:59 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/config-linux-common.h (ACE_UINT64_FORMAT_SPECIFIER,
+ ACE_SSIZE_T_FORMAT_SPECIFIER, ACE_SIZE_T_FORMAT_SPECIFIER):
+
+ Removed unnecessary and some incorrect format specifiers for the
+ 32-bit platform case. In particular, the format specifier for
+ an unsigned 64-bit integer was incorrectly set to "%Lu." "%L"
+ is the format specifier for a "long double," not a "long long"
+ integer on 32-bit platforms. "%llu" is the correct format
+ specifier which `ace/Basic_Types.h' already defines.
+
+Fri Aug 3 09:55:38 2001 Ossama Othman <ossama@uci.edu>
+
+ * bin/auto_run_tests.lst:
+
+ Added the new TAO "DLL_ORB" test to the list of tests to run.
+
+Fri Aug 3 08:26:45 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/RW_Process_Mutex.cpp: Added a missing comma in the
+ constructor. This should fix Win32 compile errors.
+
+Fri Aug 3 08:07:45 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/CDR_Base.cpp: Added a check for a memory allocation failure
+ in grow (). Thanks to Francis Paul <FranciP@navcanada.ca> for
+ pointing this out.
+
+Thu Aug 2 18:37:23 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/RW_Process_Mutex.cpp: Added ACE_DEFAULT_OPEN_PERMS
+ to the constructor call to ACE_RW_Process_Mutex so that it does
+ the right thing on Win32. Thanks to Wayne Erchak
+ <werchak@stentor.com> for reporting this. This fixes
+ bugid 996.
+
+Thu Aug 02 13:04:19 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/ace.icc: Added Intrusive_List.cpp to the TEMPLATE_FILES
+ section.
+
+Thu Aug 02 06:59:39 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/Basic_Types.h (ACE_SIZEOF_WCHAR): If ACE_HAS_XPG4_MULTIBYTE_CHAR
+ is defined, use sizeof(wchar_t) to set ACE_SIZEOF_WCHAR.
+
+Wed Aug 1 16:05:49 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * Merged changes from the fix_886 branch
+
+ Tue Jul 31 09:17:49 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * ace/Intrusive_List.h:
+ * ace/Intrusive_List.inl:
+ Add new methods to access the head and tail of the list.
+
+ * ace/Intrusive_List.cpp:
+ Fixed the implementation of remove(), if the element to be
+ removed was the last on the list it wasn't removed at all.
+ Left some code to check invariants, have to find a way to keep
+ that code around with some optional compilation flags.
+
+ Thu Jul 26 16:50:54 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * ace/Makefile:
+ * ace/Makefile.am:
+ * ace/Makefile.bor:
+ * ace/Intrusive_List.h:
+ * ace/Intrusive_List.inl:
+ * ace/Intrusive_List.cpp:
+ Add new template to implement intrusive lists, i.e. lists that
+ assume their elements implement the next() and prev() methods.
+
+ * ace/Intrusive_List_Node.h:
+ * ace/Intrusive_List_Node.inl:
+ * ace/Intrusive_List_Node.cpp:
+ Helper class to add the requirements of ACE_Intrusive_List to
+ any other class, simply do:
+ class Foo : public ACE_Intrusive_List_Node<Foo>
+
+Wed Aug 1 15:57:35 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/Message_Block.cpp (release, release_i):
+
+ Obtain the pointer to the allocator from the object that will be
+ destroyed before calling ACE_DES_FREE on the object. Previously
+ we were obtaining the allocator after the object was destroyed,
+ due to the way the ACE_DES_FREE macro works. Thanks to Hyman
+ Rosen <hyrosen@mail.com> for reporting the problem, and to
+ Carlos for suggesting a fix. [Bug 992]
+
+Wed Aug 1 15:00:21 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/Log_Record.{h,i}: Changed msg_data_len() from a "setter"
+ to a "getter" method, which makes more sense. Thanks to Patrick
+ Rabau <Patrick.Rabau@htc.com> for reporting this.
+
+Wed Aug 1 12:43:57 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/Svc_Conf_l.cpp:
+
+ Reintegreated Nanbor's change (Wed Jun 13 10:22:10 2001 Nanbor
+ Wang <nanbor@cs.wustl.edu>) that enables proper handling of
+ UNICODE Service Configurator directives.
+
+Wed Aug 1 07:14:42 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * include/makeinclude/platform_vxworks5.x_g++.GNU: Checked in a new
+ version of this file, which includes support for the Hitachi
+ chip. Thanks to Frank Wolf for this.
+
+ * ace/Log_Record.cpp (format_msg): Added a cast to fix a warning.
+ Thanks to Bala for reporting this.
+
+Tue Jul 31 22:53:26 2001 Ossama Othman <ossama@uci.edu>
+
+ * tests/libService_Config_DLL.icc:
+
+ New Visual Age project file for the libService_Config_DLL
+ library.
+
+ * tests/Makefile.am:
+
+ Added build targets/dependencies for the libService_Config_DLL
+ library.
+
+Tue Jul 31 22:46:33 2001 Ossama Othman <ossama@uci.edu>
+
+ * tests/Service_Config_DLL.dsp:
+ * tests/Service_Config_Test.dsp:
+
+ Removed the static library configurations. The
+ Service_Config_Test currently requires dynamically loadable
+ objects. Fixes Win32 "LIB" build failures.
+
+Tue Jul 31 22:10:48 2001 Ossama Othman <ossama@uci.edu>
+
+ * tests/Service_Config_Test.cpp (run_test):
+
+ Wrap strings passed to ACE_ARGV::add() within an ACE_TEXT
+ macro. Fixes Unicode conversion problems.
+
+Tue Jul 31 16:53:57 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/Svc_Conf.h (ace_yyrestart, ace_yy_delete_parse_buffer,
+ ace_yydirective):
+
+ Remove these global function and variable declarations. They
+ are no longer used.
+
+Tue Jul 31 16:43:33 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/Basic_Types.h:
+
+ If "__LITTLE_ENDIAN__" is defined then assume that the
+ architecture is little endian. Some compilers/platforms define
+ that macro. Suggested by Frank Wolf" <fwolf@gum.de>.
+
+ * ace/Svc_Conf.h (yy_push_buffer):
+ * ace/Svc_Conf.l (yy_push_buffer):
+ * ace/Svc_Conf_l.cpp (ace_yy_push_buffer):
+ * ace/Svc_Conf_Lexer_Guard.cpp (ACE_Svc_Conf_Lexer_Guard):
+ * ace/Svc_Conf_Lexer_Guard.h (ACE_Svc_Conf_Lexer_Guard):
+
+ The Service Configurator directive is an "ACE_TCHAR *" not a
+ "char *". Updated these method/function parameters to accept
+ the former. Fixes a compile-time problem on "wchar/Unicode"
+ builds.
+
+Tue Jul 31 05:34:48 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/OS.h: Removed a spurious WNOHANG definition. Thanks to
+ Christina Junru <junruli@lucent.com> for reporting this.
+
+Mon Jul 30 15:31:42 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/Log_Msg.{h,i,cpp}: Fixed this class so that all of its fields
+ are ACE_UINT32 or ACE_INT32 internally so that it'll always be
+ the same on all platforms. Thanks to Fabris
+ <fabris65@my-deja.com> for reporting this.
+
+Tue Jul 31 10:22:38 2001 Ossama Othman <ossama@uci.edu>
+
+ * tests/Makefile:
+
+ Only build the Service_Config_Test if shared libraries are
+ enabled, since it attempts to dynamically load a shared
+ library.
+
+Tue Jul 31 10:16:31 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/Dump.h: Clarified the use of ACE_NDEBUG for turning this
+ feature off, not on. Thanks to Don Hinton <dhinton@swan.fr>
+ for noticing this.
+
+Mon Jul 30 13:41:00 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/OS.cpp (ACE_Time_Value::FILETIME_to_timval_skew): Updated
+ docuementation to better explain the meaning of this constant.
+ Thanks to Mike Vitalo <mvitalo@sprynet.com> for motivating the
+ change.
+
+Mon Jul 30 09:43:06 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/OS.i (mutex_lock): Missing an argument to the ACE_OSCALL macro.
+ Thanks to Bala for reporting this.
+
+Mon Jul 30 05:43:23 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/Synch.h (ACE_Semaphore): Corrected the comment on
+ how to get POSIX Pthreads "implementation" of semaphores (which
+ supports the timed acquire() option). Thanks to Grzegorz
+ Sikora <GSikora1@era.pl> for reporting this.
+
+Sun Jul 29 19:03:56 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * tests/Thread_Mutex_Test.cpp (test): Fixed this test to be
+ consistent wrt the errno for the timed acquire(), which should
+ now always be set to ETIME rather than ETIMEDOUT and EBUSY.
+
+ * ace/Message_Queue_T.cpp (wait_not_full_cond,
+ wait_not_empty_cond): Fixed a nasty bug with the semaphore
+ version of ACE_Message_Queue that would have reared it's ugly
+ head if ACE_NULL_SYNCH were used when
+ ACE_HAS_OPTIMIZED_MESSAGE_QUEUE was enabled. Fixing this bug
+ also triggered the following changes.
+
+ * ace/OS.{h,i}: Added support for ACE_OS::sema_wait(),
+ ACE_OS::mutex_lock(), ACE_OS::thread_mutex_lock() that take
+ ACE_Time_Value *.
+
+ * ace/OS.i: For some odd reason the timeouts for the timed version
+ of mutex_lock() were returning a random smattering of errnos.
+ I've changed them to all be consistent with the
+ ACE_Condition_Thread_Mutex::wait() errno, which is ETIME.
+
+ * ace/Synch.h: Updated the documentation of all the timed
+ acquire() methods to explain what the various return values
+ mean.
+
+Sun Jul 29 22:10:40 2001 Ossama Othman <ossama@uci.edu>
+
+ * tests/Service_Config_DLL.cpp:
+ * tests/Service_Config_DLL.h:
+ * tests/Service_Config_DLL.dsp:
+ * tests/Service_Config_DLL_Export.h:
+ * tests/Service_Config_Test.conf:
+
+ New files associated with the existing Service_Config_Test.
+ They are used when testing the reentrance/thread-safety of the
+ Service Configurator, in addition to testing the Service
+ Configurator's ability to handle nested processing of Service
+ Configurator directives.
+
+ * tests/Service_Config_Test.cpp (run_test):
+
+ Add arguments to the Service Configurator argument vector to
+ make it process the newly added `Service_Config_Test.conf'
+ file.
+
+ (main):
+
+ Make the ACE_Thread_Manager wait for all running threads before
+ exiting the test. Processing the `Service_Config_Test.conf'
+ file causes some threads to be spawned.
+
+Sun Jul 29 19:19:20 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/Service_Config.cpp (process_directive, process_directives):
+
+ Wrap the ACE_GUARD_RETURN macro within an ACE_MT block. The
+ ACE_Static_Object_Lock declaration is only visible if
+ ACE_HAS_THREADS is defined. This truly fixes the
+ single-threaded build problems.
+
+Sun Jul 29 19:06:11 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/Svc_Conf.y (ace_obstack):
+ * ace/Svc_Conf_y.cpp:
+ * ace/Svc_Conf_l.cpp:
+
+ UNICODE updates and fixes.
+
+Sun Jul 29 10:50:45 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/Svc_Conf_Lexer_Guard.cpp:
+
+ There is no longer any need to include "ace/Object_Manager.h"
+
+ * ace/Service_Config.cpp:
+
+ Include "ace/Object_Manager.h" to pull in the definition of
+ ACE_Static_Object_Lock. Fixes a problem found in Sun builds and
+ single-threaded builds.
+
+Sat Jul 28 23:03:24 2001 Ossama Othman <ossama@uci.edu>
+
+ The following are changes that make the Service Configurator
+ reentrant and thread-safe.
+
+ * ace/Svc_Conf.y:
+
+ Generate a pure (reentrant) parser using Bison. BYACC doesn't
+ support generation of reentrant parsers.
+
+ * ace/Svc_Conf.l:
+
+ Implemented "buffer stack" support. This feature makes it
+ possible to process Service Configurator directives within a
+ Service Object's init() method, i.e. support nested directive
+ processing.
+
+ (ace_yyerrno):
+
+ Moved declaration of ace_yyerrno from this file to
+ `Svc_Conf.y'. ace_yyerrno was not used in the generated
+ scanner. It was only used in the generated parser.
+
+ (yy_delete_parse_buffer):
+
+ There is no longer any need for this function. The lexer buffer
+ stack implementation handles memory management of lexer buffers.
+
+ (yywrap):
+
+ Do not call yy_delete_parse_buffer(). It is no longer necessary
+ to do so, in addition to the fact that that function was
+ removed (as described above).
+
+ (<<EOF>>):
+
+ Do not call ACE_YY_NEW_FILE in this rule. The new buffer stack
+ implementation handles the buffer switching that ACE_YY_NEW_FILE
+ did, and more.
+
+ * ace/Svc_Conf_Tokens.h:
+ * ace/Svc_Conf_l.cpp:
+ * ace/Svc_Conf_y.cpp:
+
+ Regenerated these files using updated Bison/YACC and FLEX input
+ files to pull in support for reentrant parsing and nested
+ processing of Service Configurator directives.
+
+ * ace/Svc_Conf.h (ace_yy_push_buffer, ace_yy_pop_buffer):
+
+ Added function prototypes for the newly implemented lexer buffer
+ stack manipulation functions.
+
+ (ace_yylex):
+
+ Added ACE_YYSTYPE parameter to this functions signature, as
+ required by the new reentrant parser support.
+
+ (ACE_SERVICE_DIRECTIVE_STACK_DEPTH):
+
+ New symbolic constant that defines the maximum supported depth
+ for nested Service Configurator processing. The current default
+ is 8.
+
+ (ACE_YY_INPUT):
+
+ No longer any need to redefine this macro to support scanning of
+ Service Configurator directive strings. The new lexer buffer
+ stack implementation provides support for lexer buffer scanning
+ from a string instead of a pointer to "FILE."
+
+ (ace_yydirective):
+
+ This global variable is no longer needed due to the fact that
+ the new buffer stack implementation handles directives read from
+ both a string and a file.
+
+ * ace/Service_Config.cpp:
+
+ (process_directive, process_directives):
+
+ Obtain a recursive lock before manipulating the lexer buffer
+ stack, and invoking the parser and scanner. This makes
+ invocation of the scanner thread-safe.
+
+ The new lexer buffer stack implemenation obviates the need to
+ call yyrestart() since buffer switching is handled by the stack
+ implementation.
+
+ (open_i, close):
+
+ No need to deallocate the lexer buffer since the buffer stack
+ implementation handles that.
+
+ * ace/Svc_Conf_Lexer_Guard.h:
+ * ace/Svc_Conf_Lexer_Guard.cpp:
+
+ New "guard" class that makes lexer buffer stack pushing and
+ popping exception-safe.
+
+ * ace/Makefile:
+ * ace/Makefile.am:
+ * ace/Makefile.bor:
+ * ace/ace.icc:
+ * ace/ace_dll.dsp:
+ * ace/ace_lib.dsp:
+
+ Added Svc_Conf_Lexer_Guard.* sources to these Makefiles and
+ project files.
+
+Sat Jul 28 14:58:30 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/Svc_Conf_l.cpp:
+ * ace/Svc_Conf_y.cpp: Reran BYACC and FLEX on the Svc_Conf.l and
+ Svc_Conf.y files to regenerate them. Thanks to Bala for
+ motivating this.
+
+ * netsvcs/clients/Tokens/collection/Makefile,
+ netsvcs/clients/Tokens/deadlock/Makefile,
+ netsvcs/clients/Tokens/invariant/Makefile,
+ netsvcs/clients/Tokens/mutex/Makefile,
+ netsvcs/clients/Tokens/rw_lock/Makefile,
+ examples/ASX/CCM_App/Makefile,
+ examples/Logger/Acceptor-server/Makefile,
+ examples/Reactor/Multicast/Makefile,
+ examples/Reactor/Ntalker/Makefile,
+ examples/Shared_Malloc/Makefile,
+ performance-tests/TCP/Makefile,
+ performance-tests/UDP/Makefile: Removed the line
+ include $(ACE_ROOT)/include/makeinclude/rules.LIB.GNU
+ so that these projects will build correctly on VxWorks with
+ Make 3.79.1. Thanks to Frank Wolf for reporting this.
+
+Fri Jul 27 11:24:50 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/Svc_Conf.y: Allow quoted strings as the pathname. Thanks
+ to Kevin Burge <kcburge@systemware-inc.com> for suggesting this
+ and providing the fix.
+
+ * ace/Svc_Conf.l: Added support for "~" in pathnames to support
+ Win32isms. Thanks to Kevin Burge <kcburge@systemware-inc.com>
+ for suggesting this and providing the fix.
+
+ * ace/Refcounted_Auto_Ptr.i (assign): Fixed the code to avoid a
+ race condition. Thanks to Charlie Duke for this fix.
+
+Thu Jul 26 08:15:36 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * include/makeinclude/platform_vxworks5.x_g++.GNU: Changed
+ $PATH to $(PATH). Thanks to Frank Wolf for reporting this.
+
+Wed Jul 25 17:46:58 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/Asynch_Acceptor.{h,cpp}: Added an asynch_accept() accessor
+ method. Thanks to Craig L. Ching <cching@mqsoftware.com> for
+ reporting this.
+
+Wed Jul 25 17:36:09 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/Refcounted_Auto_Ptr.i: Added a lock for the reference count
+ to the assign() method. Thanks to Charlie Duke
+ <cduke@cuseeme.com> for reporting this.
+
+Fri Jul 27 23:17:31 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/ace_wchar.h: If ACE_HAS_XPG4_MULTIBYTE_CHAR is set, then
+ also set up definitions for functions that are not present
+ (ACE_LACKS_ITOW, ACE_LACKS_WCSICMP, ACE_LACKS_WCSNICMP,
+ ACE_LACKS_WCSDUP).
+
+ * ace/ace_wchar.inl: If not ACE_WIN32, include <string.h> to see
+ strlen().
+
+ * ace/OS_String.inl (strstr): The XPG4 multibyte version of
+ strstr() is wcswcs(), whereas the ANSI C / UNIX98 version is
+ wcsstr(). So if ACE_HAS_XPG4_MULTIBYTE_CHAR is defined, use
+ wcswcs.
+
+Fri Jul 27 21:52:48 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * bin/auto_run_tests.lst: Added the IDL_Cubut test with GIOP Lite
+ script, to our daily builds.
+
+Fri Jul 27 16:50:49 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/Log_Msg_Test.cpp: Silence a compile warning in g++.
+
+Fri Jul 27 12:18:49 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/Log_Msg.cpp (log): Fixed compile error - missing "" around
+ 's' for the %S case.
+
+Fri Jul 27 11:07:26 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/OS.h:
+
+ After conversation with Steve Huston, I am reverting his change
+ pertaining to HPUX from "Tue Jul 10 18:15:39 2001 Steve Huston
+ <shuston@riverace.com>".
+
+Fri Jul 27 10:57:24 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/SOCK_Dgram_Bcast.cpp:
+
+ Fix the ACE_SOCK_Dgram_Bcast::mk_broadcast() which was completely
+ broken on AIX. The broadcast_client in docs/tutorials/008 now
+ works with the help of this change.
+
+Thu Jul 26 22:09:19 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/Log_Msg.cpp (log): Extend behavior so that all printf
+ formatting conversion specifiers can be used with all legal
+ ACE_Log_Msg format characters. This allows the caller to line
+ up columns on any field, like line number or program name, or
+ thread ID. Thanks to Paul Caffrey <pcaffrey@iel.ie> for
+ motivating this extension.
+
+ * tests/Log_Msg_Test.cpp: Added a new function, test_format_specs,
+ that verifies the formatting. Right now it does not detect the
+ correctness of the strings produced - they have to be examined
+ in the log file to check. This needs to be fixed still.
+
+Thu Jul 26 11:48:16 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * bin/count_lines:
+ Add a few new file types.
+
+Wed Jul 25 23:49:43 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * include/makeinclude/platform_tru64_g++.GNU:
+
+ Fixed some missing defines in the Makefile for DEC Unix versions
+ 4.0D, 4.0E. We don't support or suggest this combination. Hence
+ the oversight in missing the needed defines.
+
+ Thanks to Martin Krumpolec <krumpo@pobox.sk> for reporting this.
+
+Wed Jul 25 23:49:00 2001 Craig Rodrigues <crodrigu@bbn.com>
+
+ * include/makeinclude/wrapper_macros.GNU:
+
+ Remove extraneous rapi = 0.
+
+Wed Jul 25 18:53:18 2001 Ossama Othman <ossama@uci.edu>
+
+ * html/index.html:
+
+ Added CORBA Security Service main page link to the list of
+ documentation.
+
+Wed Jul 25 17:41:43 2001 Ossama Othman <ossama@uci.edu>
+
+ * ltcf-c.sh:
+ * ltcf-cxx.sh:
+ * ltconfig:
+
+ Removed these libtool related files. New versions of libtool
+ (GNU libtool >= 1.4b) no longer use them.
+
+ * config.guess:
+ * config.sub:
+ * ltmain.sh:
+
+ Removed these files. We no longer need to keep custom copies
+ lieing around since libtool 1.4b includes all of our local
+ changes (i.e. our changes have been folded into the upstream
+ libtool sources).
+
+ * install-sh:
+ * missing:
+ * mkinstalldirs:
+
+ Removed these files. Automake will automatically add these when
+ necessary.
+
+Wed Jul 25 16:29:48 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/Max_Default_Port_Test.cpp: ACE-ified the code and fixed
+ a number of ACE_DEBUG %p directives without a corresponding
+ string. Also, closed a 2 handle-per-try handle leak, which
+ may have affected test results on some platforms.
+ * tests/Max_Default_Port_Test.h: Added a destructor to the
+ test class - it's used to close the acceptor handle down.
+
+Wed Jul 25 15:21:22 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * ace/OS.h:
+
+ Fixed the _XOPEN_SOURCE checking to _XOPEN_SOURCE < 500 to fix
+ incorrect declaration of prototype. This fixes the warnings when
+ compiling with gcc-3.0. Thanks to Ossama for suggesting the fix.
+
+Wed Jul 25 08:05:45 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * tests/Thread_Pool_Reactor_Resume_Test.h:
+ * tests/Thread_Pool_Reactor_Resume_Test.cpp: Fixed a subtle race
+ condition. This hardly showed up in many of our daily
+ builds. The race condition had to be fixed to show the users of
+ the cautious approach that one needs to take if they are
+ resuming the handle in the application itself.
+
+Tue Jul 24 16:41:57 2001 Joe Hoffert <joeh@cs.wustl.edu>
+
+ * ace/Thread_Manager.cpp :
+ Added "&& ! defined (ACE_HAS_PACE)" ifdefs to already existing
+ #if defined (VXWORKS) sections of code to get ACE_HAS_PACE to
+ compile on VxWorks.
+
+ * ace/OS.i :
+ * ace/OS.cpp:
+ Fixed formatting of some comments and added needed PACE
+ calls for ACE_HAS_PACE on VxWorks.
+
+ * ace/OS.h :
+ Put #if !defined guards around the ACE_THR_PRI* macros
+ so that we can define them in the config*.h files if
+ they need to be corrected. For instance, ACE_THR_PRI_OTHER_MIN
+ has a different value on SunOS 5.8 than it does on SunOS 5.7,
+ i.e., -20 vs. 0 respectively.
+
+ Also, added some needed typedefs and #define for ACE_HAS_PACE
+ on VxWorks and updated some comments concerning ACE_OS::thr_create
+ flags.
+
+ * ace/Sched_Params.cpp (priority_min, priority_max):
+ Changed to return correct thread priority min/max for
+ Solaris threads. We now use the ACE_PRI_THR* macros
+ for these values while still calling ACE_OS::priority_control
+ for process and LWP priorities.
+
+ * ace/config-sunos5.8.h:
+ Added setting of ACE_THR_PRI_OTHER_MIN to be correct
+ for SunOS 5.8.
+
+Tue Jul 24 13:47:32 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/SSL/SSL_Asynch_Stream.h (ACE_SSL_Asynch_Stream):
+ * ace/SSL/SSL_Asynch_Stream.cpp: Added a open () method that
+ matches the signature of ACE_Service_Handler. This should fix
+ the warnings in Borland builds that complain about hiding
+ the virtual functions.
+
+Tue Jul 24 10:56:04 2001 Ossama Othman <ossama@uci.edu>
+
+ * bin/generate_doxygen.pl (TAO_DOCS):
+
+ Added "tao_security" and "tao_ssliop" Doxygen configurations to
+ the list of documentation to generate.
+
+Tue Jul 24 07:45:03 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/Containers_T: Fixed some problems with the lack of
+ const for the ACE_DLList and ACE_Double_Linked_List classes.
+ Thanks to Michael Kircher for reporting this.
+
+ * ace/config-cygwin32-common.h: Removed the ACE_LACKS_FORK
+ macro since this is apparently working on Cygwin. Thanks tj
+ Stefan Kluehspies <Stefan.Kluehspies@gmx.net> for reporting
+ this.
+
+ * ace/config-cygwin32.h: Removed the #define _CLOCKID_T
+ macro, which should now be handled by the following change.
+
+ * ace/OS.h: Added a #defined for _CLOCKID_T_. Thanks to
+ Stefan Kluehspies <Stefan.Kluehspies@gmx.net> for
+ reporting this.
+
+Tue Jul 24 11:10:59 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * ace/OS.h:
+
+ Fix the compile errors seen on gcc-3.0 with -pedantic and
+ -Wno-long-long. This should fix all the errors.
+
+Tue Jul 24 10:07:31 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * include/makeinclude/platform_sunos5_g++.GNU:
+
+ Add an optimize override to 0 for g++ 3.0. The compiler breaks on
+ a tremendous amount of files, even with -O.
+
+Tue Jul 24 10:04:52 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/INET_Addr.cpp:
+
+ Corrected a run-time error on Tru64 with gcc. Any executable
+ that called ACE_INET_Addr::get_host_name() would core dump.
+ This was caused by the call to ACE_OS::gethostbyaddr_r().
+
+Tue Jul 24 08:20:02 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * include/makeinclude/platform_aix_ibm.GNU:
+
+ Change -O2 to -O. The optimizer seems to be a tiny
+ bit broken, which is demonstrated by a few TAO and orbsvcs
+ tests.
+
+Mon Jul 23 17:38:46 2001 Ossama Othman <ossama@uci.edu>
+
+ * etc/tao_security.doxygen:
+ * etc/tao_ssliop.doxygen:
+
+ New Doxygen files for TAO's CORBA security libraries.
+
+Mon Jul 23 13:48:26 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/MEM_Connector.cpp (connect):
+
+ Disable non-blocking on the stream after its handle has been
+ set. Previously, non-blocking was disabled on an uninitialized
+ MEM_Stream, after which the handle was set (i.e. initializing
+ the stream). In order to properly disable non-blocking on a
+ stream, its handle must be set first since ioctl() operations
+ are typically performed on the underlying stream handle.
+
+Mon Jul 23 13:06:39 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/WFMO_Reactor.cpp (event_handling): Corrected the loop check
+ to account for a zero ACE_Time_Value *, avoiding a crash in
+ tests/Reactor_Timer_Test, as well as any other program that
+ called ACE_Reactor::handle_events with a zero timer pointer.
+
+Mon Jul 23 10:39:55 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/OS.h: Added /**/ between #include and <sys/times.h> to
+ avoid warning from CE compiler.
+
+ * ace/ace_dll.vcp: Added Obchunk.cpp to the project.
+
+Sun Jul 22 08:19:43 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/config-cygwin32.h: ADded a #define for_CLOCKID_T. Thanks to
+ Christophe Galerne <christophgalerne@earthlink.net> for
+ reporting this.
+
+ * ace/Log_Record.cpp (priority_names_): Added commas after the
+ 'ACE_LIB_TEXT ("LM_UNK(04000)")' lines. Thanks to Steve Harris
+ <harris_s@ociweb.com> for reporting this.
+
+Sat Jul 21 19:56:08 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/Map_T.{h,i}: Made current_value() a const member function.
+ Thanks to Johnny Willemsen for reporting this.
+
+Fri Jul 20 10:16:46 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/Connector.cpp (create_AST): Replaced some calls to
+ sh->get_handle () with a cached value of handle. This fixes a
+ bug with gcc 2.96 on Tornado 2.1/VxWorks for SuperH. Thanks to
+ Frank Wolf <fwolf@gum.de> for reporting this.
+
+ * examples/Connection/non_blocking/CPP-acceptor.cpp:
+ * examples/Service_Configurator/IPC-tests/server/Handle_Thr_Stream.cpp:
+ * examples/Connection/non_blocking/CPP-connector.cpp: Changed the
+ SH macro to SVH to avoid clashes with a macro in VxWorks.
+ Thanks to Frank Wolf <fwolf@gum.de> for reporting this.
+
+Thu Jul 19 06:55:07 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/config-g++-common.h: Version 2.96 of g++ on VxWorks
+ is missing auto_ptr, so let's add the ACE_LACK_AUTO_PTR flag
+ there. Thanks to Frank Wolf for suggesting this.
+
+Fri Jul 20 09:47:38 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/Log_Msg.cpp: Fixed WinCE errors. CE does not support
+ UNIX_Syslog.
+
+Thu Jul 19 22:39:32 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * tests/MEM_Stream_Test.cpp:
+ * ace/MEM_IO.h:
+ * ace/MEM_IO.i:
+ * ace/MEM_IO.cpp: On non-Win32 platforms, disable multithreaded
+ MEM_IO if _ACE_USE_SV_SEM is defined.
+
+Thu Jul 19 15:25:11 2001 Paul Calabrese <calabrese_p@ociweb.com>
+
+ * ace/MEM_Acceptor.i (mmap_prefix):
+
+ Fix case where a null pointer is passed in.
+
+Thu Jul 19 06:55:07 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/Connector.cpp (connect_svc_handler): Missed one change...
+ Thanks to Bala for reporting this!
+
+ * include/makeinclude/platform_vxworks5.x_g++.GNU (HOST_DIR): Added
+ support for the SH7700 and SH7700LE. Thanks to Frank Wolf
+ <WolfF@Becker.de> for reporting this.
+
+ * ace/OS.i (truncate): Make sure to close the handle that we
+ opens. Thanks to Lothar for reporting this.
+
+ * ace/Connector.cpp: Changed the SH macro to SVH to avoid clashes
+ with a macro in VxWorks. Thanks to Frank Wolf <fwolf@gum.de>
+ for reporting this.
+
+Wed Jul 18 13:15:06 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/OS_Dirent.cpp (scandir_emulation): Removed the calls to the
+ ACE_ERROR_RETURN macros to avoid dependencies on ACE_Log_Msg
+ from within the ACE_OS layer. Thanks to Bala for pointing this
+ out!
+
+ * ace/ACE.{h,cpp}: Added a new wrapper method for ACE_OS::select()
+ that uses ACE_Handle_Set *'s rather than fd_set *'s. This is
+ motivated by work Steve Huston and I are doing on our new book
+ "C++ Network Programming: Resolving Complexity with ACE and
+ Patterns."
+
+ * ace/Malloc_T.i (release): Removed an unnecessary "else" to
+ make gcc 2.96 happy. Thanks to Frank Wolf <fwolf@gum.de> for
+ reporting this.
+
+ * Happy birthday to me and Angelo Corsaro!
+
+Tue Jul 17 00:34:40 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/SString.h (ACE_Tokenizer): Make sure that the data members
+ are protected, not private... Thanks to Martin Krumpolec for
+ reporting this (again)!
+
+Wed Jul 18 16:40:56 2001 Irfan Pyarali <irfan@cs.wustl.edu>
+
+ * ace/Log_Msg.cpp (program_name): Undid the following changes:
+
+ ChangeLogTag:Tue Jul 10 11:32:26 2001 Tibor Kiss
+
+ Tibor will be looking into this further since this change
+ currently causes shutdown problems on Win2000.
+
+Wed Jul 18 15:59:03 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * ace/config-tru64.h:
+
+ Removed _LIBC_POLLUTION_H. It seems that this macro is causing
+ problems for some users. Thanks to Pierre Oberson
+ <oberson@nagra-kudelski.ch> for prompting this fix.
+
+Tue Jul 17 13:00:11 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * tests/run_test.lst: Enabled the MEM_Stream test on Linux.
+
+Mon Jul 16 14:59:32 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/Memory_Pool.h (ACE_Shared_Memory_Pool): Added a comment
+ that discourages developer from using the ACE_Shared_Memory_Pool
+ and points them to the ACE_MMAP_Memory_Pool instead. Thanks to
+ Johnny Chen <jchen@huawei.com> for motivating this.
+
+ * ace/OS_Dirent.cpp (readdir_emulation): Fixed a handle leak
+ in the event that errors occur. Thanks to Kevin Burge
+ <kcburge@systemware-inc.com> for reporting this.
+
+ * ace/Log_Msg_UNIX_Syslog.cpp (open): Add an ACE_const_cast()
+ to the program name for platforms like LynxOS whose openlog()
+ method is char * rather than const char *. Thanks to Bala for
+ reporting this.
+
+Sun Jul 15 11:06:33 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/Log_Msg_NT_Event_Log.cpp: Fixed the implementation so that
+ it's consistent with the new program_name() features. Thanks to
+ Chris Kohloff <chris@kohlhoff.com> for this fix.
+
+Sun Jul 15 11:04:26 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * ace/SSL/ACE_SSL.dsp:
+ Removed references to $OPENSSL_ROOT, the user should configure
+ those in the Tools -> Option -> Directories tab.
+
+Fri Jul 13 23:02:46 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_Asynch_Stream.h:
+ * ace/SSL/SSL_Asynch_Stream.cpp:
+ * ace/SSL/SSL_Asynch_BIO.h:
+ * ace/SSL/SSL_Asynch_BIO.cpp:
+
+ Only support asynchronous SSL streams when using OpenSSL >
+ 0.9.5a. The BIO method signatures changed in OpenSSL 0.9.6.
+
+Fri Jul 13 22:48:56 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_Asynch_BIO.cpp (methods_ACE):
+
+ Removed excess element in aggregate initializer.
+
+Fri Jul 13 22:29:01 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_Asynch_Stream.cpp (print_error):
+
+ The OpenSSL ERR_error_string_n() function is only supported in
+ OpenSSL 0.9.6 or better.
+
+Fri Jul 13 14:59:18 2001 Alexander Libman <alexander.libman@baltimore.com>
+
+ * ace/WIN32_Asynch_IO.h (ACE_WIN32_Asynch_Result):
+ * ace/WIN32_Asynch_IO.cpp (set_error, set_bytes_transferred):
+
+ Added new methods set_error() and set_bytes_transferred().
+ Needed for below changes and new asynchronous SSL stream
+ implementation.
+
+ * ace/WIN32_Proactor.cpp (handle_events):
+
+ Fixed error handling semantics so that it is consistent with the
+ POSIX Proactor error handling semantics.
+
+ (post_completion):
+
+ Pass the amount of bytes transferred and the completion key to
+ the Win32 PostQueuedCompletionStatus() function. The error, if
+ any, will later be extracted in the handle_events() method.
+
+Fri Jul 13 15:59:45 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * netsvcs/servers/main.cpp (main): The server was always outputing
+ LM_DEBUG information, even when the program was not run with the
+ -d command line argument. Therefore, changed the following
+ lines from:
+
+ if (ACE::debug () == 0)
+ ACE_Log_Msg::disable_debug_messages ();
+
+ to:
+
+ if (ACE::debug () == 0)
+ ACE_LOG_MSG->priority_mask (~LM_DEBUG, ACE_Log_Msg::PROCESS);
+
+ Thanks to Jerry D. De Master <jdemaster@rite-solutions.com> for
+ reporting this fix.
+
+Fri Jul 13 12:16:03 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_Asynch_BIO.h:
+ * ace/SSL/SSL_Asynch_BIO.cpp:
+ * ace/SSL/SSL_Asynch_Stream.h:
+ * ace/SSL/SSL_Asynch_Stream.cpp:
+
+ New asynchrounous SSL stream implementation contributed by
+ Alexander Libman <alexander.libman@baltimore.com>.
+
+ * ace/SSL/ACE_SSL.dsp:
+ * ace/SSL/Makefile:
+ * ace/SSL/Makefile.bor:
+
+ Added new asynchronous SSL stream source files to these
+ Makefiles and project files.
+
+Fri Jul 13 09:40:08 2001 Jerry D. De Master <jdemaster@rite-solutions.com>
+
+ * ace/Log_Msg.*,
+ ace/Logging_Strategy.*,
+ ace/Log_Msg_UNIX_Syslog.*:
+ Applied patches to ACE_Log_Msg, ACE_Logging_Strategy, and
+ ACE_Log_Msg_UNIX_Syslog that are required to add the program
+ name logging strategy option ('n') and to initialize the UNIX
+ syslog facility with the program name. Also included are Boris
+ Kolpackov <bosk@ipmce.ru> patches for ACE_LACKS_IOSTREAM_TOTALLY
+ to ACE_Logging_Strategy.
+
+Thu Jul 12 19:54:27 2001 Ossama Othman <ossama@uci.edu>
+
+ * examples/Registry/test_registry_update.cpp (main):
+
+ Fixed unused argument warning.
+
+Thu Jul 12 19:57:12 2001 Frank Hunleth <fhunleth@cs.wustl.edu>
+
+ * bin/auto_run_tests.lst:
+
+ Added TAO/tests/RTCORBA/ORB_init to the auto run list.
+
+Thu Jul 12 17:11:35 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * bin/nightlybuilds/builds.lst (WEB):
+
+ Temporarily removed the IA-64 build till some issues get sorted
+ out.
+
+Thu Jul 12 06:01:03 2001 John Michael Zorko <j.zorko@att.net>
+
+ * netsvcs/lib/Server_Logging_Handler.cpp:
+ Added an an additional #define in config-macosx.h called
+ ACE_HAS_MACOSX_DYLIB, and checked to see if this was _not_
+ defined before instantiating the offending template in
+ Server_Logging_Handler.cpp. OS X has this thing about .dylibs
+ (OS X version of .so) where they can't have any duplicate
+ symbols, which is why libnetsvcs wasn't building on OS X
+ earlier. This fixes that.
+
+ * include/makeincludes/platform-macosx.GNU: Added -lACE to the
+ LIBS line, which fixed the majority of the build problems.
+
+ * ace/config-macosx.h: Added the ACE_HAS_MACOSX_DYLIB #define
+ mentioned above.
+
+Thu Jul 12 06:01:03 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/TLI_Connector.cpp (complete): Changed ACE_OS::t_rcvconnect()
+ to simply t_rcvconnect(). Thansk to Andreas Geisler for
+ reporting this.
+
+Thu Jul 12 09:43:36 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/FILE_Connector.h (ACE_FILE_Connector, connect):
+
+ Removed the default O_EXCL flag I added a few days ago. It is
+ mostly useful for preventing symbolic link attacks in a
+ directory with global write permissions. Pass the
+ responsibility of using the O_EXCL flag when necessary on to the
+ application developer.
+
+Wed Jul 11 22:31:50 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * include/makeinclude/rules.local.GNU (clean.local):
+
+ Added ti_files to remove the template cache generated by KCC.
+
+ * ace/TLI_Acceptor.cpp(open_new_endpoint):
+
+ Fixed a small typo causing compilation errors under Tru64.
+
+Wed Jul 11 13:06:33 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/Log_Msg_Test.cpp: Changed the ostream test to close the
+ under-test ostream file before trying to open it and read the
+ contents. Avoids the "already open" error now that
+ ACE_FILE_Connector includes O_EXCL by default, and avoids any
+ potential file buffering issues reading an already-open file.
+
+Wed Jul 11 08:31:02 2001 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * tests/Dirent_Test.cpp:
+
+ Wrapped a string literal with ACE_TEXT, to get rid of a Win2000
+ WChar build error.
+
+Wed Jul 11 06:41:43 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/TLI_Stream.cpp,
+ * ace/TLI_Connector.cpp,
+ * ace/TLI_Acceptor.cpp: Added enhancements so that the code would
+ work on Win32. Thanks to Andreas Geisler
+ <Andreas.Geisler@erl9.siemens.de> for reporting this.
+
+Tue Jul 10 19:26:15 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/ace_dll.dsp:
+
+ Disabled generation of source browse information. It was
+ causing problems on some existing builds that didn't use it.
+
+ * ace/SSL/SSL_SOCK_Acceptor.cpp (ssl_accept):
+
+ Removed certificate verification code. It is up to the
+ application, not the ACE_SSL library, to perform proper
+ certificate verification.
+
+Tue Jul 10 23:02:00 2001 Craig Rodrigues <crodrigu@bbn.com>
+
+ * tests/Log_Msg_Test.cpp:
+ Fix test so it doesn't open output file to write to twice.
+ Thanks to Ossama for finding it.
+
+Tue Jul 10 19:10:19 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/ace.icc: Corrected the mis-applied patch for ace.icc in
+ Mon Jul 09 19:12:42 2001 Steve Huston <shuston@riverace.com>
+
+Tue Jul 10 16:01:52 2001 Ossama Othman <ossama@uci.edu>
+
+ * THANKS:
+
+ Added Sangeetha Ramadurai <Sangeetha.Ramadurai@geind.ge.com> to
+ the hall of fame.
+
+Tue Jul 10 18:15:39 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/WFMO_Reactor.cpp (event_handling): Move the logic for
+ noticing that the wait timed out, but did not expire any
+ timers, into this function. Will remove it from Reactor.cpp,
+ to properly move the fix into handle_events() rather than
+ needing to call run_reactor_event_loop to get it right.
+ * ace/Select_Reactor_T.cpp - still need to add similar logic here.
+
+ * ace/config-sunos5.6.h: Re the following:
+ Mon Jul 2 15:26:32 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+ Replaced ACE_HAS_POSIX_SEM, and left ACE_LACKS_NAMED_POSIX_SEM out.
+ Solaris does indeed have POSIX semaphores in 2.6 and later, but
+ requires the changes to OS.i below to work right.
+
+ * ace/OS.h: For ACE_PROC_PRI_OTHER_MIN (and MAX), on HP-UX,
+ convert the HP-UX priority value to the POSIX range.
+
+ * ace/OS.i (ACE_OS::sema_init, named POSIX semaphore): On Solaris
+ and HP-UX, the name of a POSIX semaphore needs to start with
+ a slash (further restricted on Solaris). Enforce that here by
+ prepending a slash, or by chopping off parts of the name.
+
+Tue Jul 10 16:08:04 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * include/makeinclude/platform_osf1_4.0.GNU:
+
+ Fixed the default flags so that it enables the user to override
+ settings. Now that the long pending fix to wrapper_macros.GNU is
+ through, this should work fine now.
+
+Tue Jul 10 13:37:31 2001 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * ace/OS_Dirent.cpp (readdir_emulation):
+
+ Removed the hard cast to char* of one of the two arguments in
+ a call to strcpy. In the WChar win32 build, this cast was
+ causing the source and target strings to be of different widths.
+
+Tue Jul 10 11:32:26 2001 Tibor Kiss <tkiss@mindmaker.hu>
+
+ * ace/Log_Msg.cpp:
+ Completed the ACE_Log_Msg::close method with the
+ ACE_Thread::keyfree (log_msg_tss_key_) and key_created_ = 0; to
+ ensure restartability by multiple successive ACE::init and
+ ACE::fini calls. This fix prevent leaks from occurring when
+ ACE::init() and ACE::fini() are called multiple times.
+
+Tue Jul 10 11:12:00 2001 Chris Gill <cdgill@cs.wustl.edu>
+
+ * ace/OS_Dirent.{h, inl}: refactored XDIR, dirent usage for pSOS -
+ user is no longer responsible for buffer deallocation after each
+ readdir call, only for passing the pointer returned from opendir
+ into closedir when all done. ACE_DIR structure is now used
+ consistently for all pSOS dirent calls.
+
+Tue Jul 10 06:06:07 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/Service_Repository.h: Updated the insert() comment to
+ clarify the return values. Thanks to Johnny Willemsen for
+ suggesting this.
+
+ * ace/Service_Repository.{h,i}: Made the current_size() and
+ total_size() methods const. Thanks to Johnny Willemsen for
+ suggesting this.
+
+ * ace/Service_Repository.h: Fixed a typo in the comments. Thanks
+ to Johnny Willemsen for reporting this.
+
+Tue Jul 10 08:39:04 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/config-vxworks5.x.h:
+
+ Added the macro ACE_LACKS_UNIX_SYSLOG.
+
+Tue Jul 10 08:26:57 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/Log_Msg_UNIX_Syslog.cpp:
+
+ Added a macro, ACE_LACKS_SETLOGMASK, for platforms that have
+ syslog, but don't have setlogmask().
+
+ * ace/config-chorus.h:
+
+ ChorusOS 4.0.1 happens to be one of them.
+
+Tue Jul 10 09:00:12 2001 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_Dirent.h
+ Made the member 'd_name' of the 'dirent' struct non-const, because
+ BCB had problems with it
+
+Mon Jul 09 22:41:43 2001 Ossama Othman <ossama@uci.edu>
+
+ * include/makeinclude/wrapper_macros.GNU (exceptions):
+
+ Include platform_macros.GNU before the default for "exceptions"
+ is set. This fixes a problem where the default native
+ exceptions setting in platform_linux.GNU was not set due to the
+ fact that it was previously set in wrapper_macros.GNU. Thanks
+ to Hans Utz <hans.utz@informatik.uni-ulm.de> for tracking down
+ the problem.
+
+Mon Jul 9 16:40:02 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/Dirent_Selector.cpp (ACE_Dirent_Selector):
+
+ Correct order of initialization of members to match order of
+ declaration. Fixes a warning issued from GCC.
+
+ * ace/Dirent_Selector.inl:
+
+ Added missing RCS ID keyword. Fuzz was whining about the lack
+ of it.
+
+ * ace/Dirent_Selector.h:
+
+ Corrected some Doxygen comments.
+
+Mon Jul 09 19:12:42 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/ace.icc: Added Log_Msg_UNIX_Syslog and Log_Msg_NT_Event_Log
+ modules to the LOGGING component. Added Dirent_Selector to the
+ UTILS component.
+
+Mon Jul 9 15:59:56 2001 Joe Hoffert <joeh@cs.wustl.edu>
+
+ * ace/config-lynxos.h:
+ Added ACE_LACKS_MKSTEMP since LynxOS doesn't seem to have
+ this.
+
+Mon Jul 9 15:28:29 2001 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * ace/Dirent_Selector.cpp:
+ * ace/Dirent_Selector.h:
+
+ Added ACE_INLINE guards around inclusion of Dirent_Selector.inl.
+
+ * ace/ace_dll.dsp:
+ * ace/ace_lib.dsp:
+
+ Added Dirent_Selector.{h,i,cpp} to these projects.
+
+Mon Jul 9 06:52:09 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/Makefile.bor (OBJFILES): Added the Dirent_Selector.obj file.
+
+ * tests/Dirent_Test.cpp: Integrated a new test for the
+ ACE_Dirent_Selector class.
+
+ * ace/Makefile (UTILS_FILES),
+ * ace/Dirent_Selector.h,
+ * ace/Dirent_Selector.inl,
+ * ace/Dirent_Selector.cpp: Added support for a C++ wrapper facade that
+ encapsulates ACE_OS_Dirent::scandir(). Thanks to Rich Newman for
+ contributing this, as well.
+
+ * ace/OS_Dirent.h,
+ * ace/OS_Dirent.inl,
+ * ace/OS_Dirent.cpp: Added support for the scandir() feature, which
+ makes it possible to selectively pick which files in a directory
+ to iterate over. Also fixed a bug in the emulation of dirent.
+ Thanks to Rich Newman <RNewman@directv.com> for contributing
+ these fixes.
+
+Mon Jul 09 14:39:50 2001 Irfan Pyarali <irfan@cs.wustl.edu>
+
+ * ace/OS.i (thr_getprio and thr_setprio): Changed these two
+ function such that if we are on Solaris and we have pthreads
+ enabled, we should use the pthread calls rather than the native
+ Solaris calls. The reasons for choosing the pthread calls is
+ due to following problems with the native calls:
+
+ - thr_getprio() is evil because on Solaris 5.8, a thread with
+ priority -20 (SCHED_OTHER) is reported to have priority 80.
+
+ - thr_setprio() is evil because it cannot set the negative
+ priorities on Solaris 5.8.
+
+ - Also, thr_setprio() cannot change the priority of a thread
+ with negative priority to a positive priority on Solaris 5.8
+ (even though there is no error reported and thr_getprio() shows
+ that the change happened but pthread_getschedparam() shows that
+ no change happened).
+
+ - In addition, suppose a thread of policy SCHED_RR or SCHED_FIFO
+ uses thr_setprio() to reset its priority, the priority will be
+ reset but the scheduling policy will be dropped to SCHED_OTHER.
+ This happens with both Solaris 5.7 and Solaris 5.8.
+
+Mon Jul 9 13:33:43 2001 Joe Hoffert <joeh@cs.wustl.edu>
+
+ * include/makeinclude/wrapper_macros.GNU:
+ Change PACE path to start at $PACE_ROOT rather than $ACE_ROOT/PACE
+ since the latter is not as flexible. Defined PACE_ROOT if not
+ already defined. Also, added inclusion of PACE library for VxWorks
+ even when inlining since not all the PACE functions should be
+ inlined.
+
+Mon Jul 09 10:59:22 2001 Ossama Othman <ossama@uci.edu>
+
+ * THANKS:
+
+ Added Mouna Seri <seri@crhc.uiuc.edu> to the hall of fame.
+
+Mon Jul 9 11:10:44 2001 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * ace/config-win32-msvc-5.h:
+ * ace/config-win32-msvc-6.h:
+
+ Added conditional definitions for ACE_LD_DECORATOR_STR
+ "mfc" and "mfcd" so that the MFC release and debug versions
+ of libraries can be dynamically loaded in the same way that
+ the non-MFC release and debug versions are. Thanks to
+ Francois Bernier <fbernier@gel.ulaval.ca> for suggesting
+ this enhancement.
+
+Mon Jul 09 11:31:12 2001 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/pre.h
+ * include/makeinclude/compiler.bor
+
+ Removed the disabling of the compiler warning 'parameter never
+ used'. Unused parameters are handled by ACE_UNUSED_ARG macro.
+ A missing ACE_UNUSED_ARG is now shown as warning in the BCB build
+ log.
+
+Sun Jul 08 11:26:23 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/OS.h (mkstemp):
+ * ace/OS.i (mkstemp):
+
+ New mkstemp() wrapper. It is assumed to be available on the
+ given platform, unless ACE_LACKS_MKSTEMP is defined.
+
+ * ace/FILE_Connector.h:
+
+ Added O_EXCL to the default flags. This is a security hole
+ fix.
+
+ * ace/FILE_Connector.cpp (connect):
+
+ If mkstemp() is available, then use it to create a temporary
+ file rather than mktemp() (via ACE_FILE_Addr) since mktemp() is
+ susceptible to a denial-of-service attack.
+
+ * ace/config-win32-common.h:
+ * ace/config-vxworks5.x.h:
+
+ mkstemp() is not supported on MS Windows and VxWorks. Define
+ ACE_LACKS_MKSTEMP in these headers.
+
+Sun Jul 8 08:13:12 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/Select_Reactor_Base.h: Added a comment explaining what
+ the ACE_HAS_REACTOR_NOTIFICATION_QUEUE macro means. Thanks to
+ Kobi Cohen-Arazi <kobic@bvr.co.il> for motivating this.
+
+Sat Jul 7 18:53:49 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * include/makeinclude/platform_osf1_4.0.GNU:
+
+ Revert the changes made to this file. Please see the file for a
+ lengthy description.
+
+Fri Jul 06 21:53:26 2001 Christopher Kohlhoff <chris@kohlhoff.com>
+
+ * ace/config-win32-borland.h:
+ Reverted addition of ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION.
+
+Fri Jul 6 19:55:23 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * examples/Reactor/Multicast: Adding the support for UNIX Syslog
+ broke this example because LOG_DEBUG was suddenly defined as a
+ macro (it's in syslog.h). I've fixed this by renaming the LOG_
+ enums to LM_ instead. Thanks to Bala for reporting this.
+
+Fri Jul 06 20:23:41 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/Refcoutned_Auto_Ptr.i (null): Change const_cast<> to
+ ACE_const_cast() to build on older compilers, like IBM C/C++ 3.6.6.
+
+Fri Jul 06 20:13:29 2001 Steve Huston <shuston@riverace.com>
+
+ * netsvcs/lib/Name_Handler.cpp:
+ * netsvcs/lib/Server_Logging_Handler_T.cpp:
+ * netsvcs/lib/Token_Handler.cpp:
+
+ More ACE_DEBUG disables.
+
+Fri Jul 6 15:55:54 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/OS.h (ACE_FD_SETSIZE):
+
+ Integrated patch from Jody Hagins <jody@atdesk.com>. Set the
+ default reactor file descriptor set size to be an integer
+ constant rather than a preprocessor constant. Some third party
+ software #undef FD_SETSIZE in their header files, causing build
+ problems in ACE.
+
+Fri Jul 06 18:20:39 2001 Steve Huston <shuston@riverace.com>
+
+ * netsvcs/lib/Client_Logging_Handler.cpp: #if 0'd out a bunch of
+ ACE_DEBUG statements that aren't appropriate for use in commercial
+ logging. These can be #if 1'd if there's some doubt while debugging
+ this stuff, but they aren't useful once debugged, and are
+ distracting since they're interespersed with application records.
+
+Fri Jul 6 13:40:20 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Log_Msg_UNIX_Syslog.cpp: Fixed a warning in g++.
+
+Fri Jul 06 11:39:41 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/INET_Addr.h: Clarified (and improved doxygenation) of
+ constructor and set() methods regarding byte orders.
+
+ * tests/Max_Default_Port_Test.icc: New file for this test.
+ * tests/tests.icp: Added Max_Default_Port_Test
+
+Fri Jul 6 08:36:20 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * netsvcs/Makefile: Don't build this if ACE_COMPONENTS does not
+ contain Other. The netsvcs library requires Naming_Context.
+
+Fri Jul 6 05:44:13 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/Makefile (LOGGING_FILES): Added support for
+ Log_Msg_UNIX_Syslog.
+
+ * ace/Log_Msg_UNIX_Syslog.{h,cpp}:
+ * ace/Log_Msg.cpp,
+ * ace/OS.h: Added support for a new UNIX syslog backend for the
+ ACE_Log_Msg class. Thanks to Jerry D. De Master
+ <jdemaster@rite-solutions.com> and Robert Davidson
+ <robert@rdavidson.freeserve.co.uk>.
+
+ * ace/SOCK_Dgram.h: Fixed a typo in one of the send() method
+ comments. Thanks to Alain Decamps <Alain.Decamps@PIDPA.be> for
+ reporting this.
+
+ * ace/config-macosx.h: Added a new file courtesy of John
+ Zorko so that things will work on MacOSX.
+
+Thu Jul 5 23:22:21 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ Fixes that were required for fixing bug 575. Merged in from
+ branch bug_575_stage_2.
+
+Thu Jul 5 23:09:29 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/CDR_Stream.cpp (ACE_InputCDR): Fixed a long standing bug in
+ the branch. This caused the DSI_Gateway test to fail. The
+ problem was from setting the write pointer to a wrong position
+ during the construction.
+
+Thu Jul 5 14:39:45 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * Merged with the main trunk and moved it to a new branch by name
+ bug_575_stage_2.
+
+Thu Jun 28 15:25:07 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Reactor.h (ACE_Reactor):
+ * ace/Reactor.cpp: Added a new method resumable_handler () to the
+ reactor interface. This would indicate whether the application
+ can take advantage by resuming the handlers themselves or
+ not. Not all reactors can allow this feature.
+
+ * ace/Reactor_Impl.h:
+ * ace/Reactor_Impl.cpp: Added a pure virtual function so that all
+ the implementations can decide whether the handlers are
+ resumable or not.
+
+ * ace/Select_Reactor_Base.h:
+ * ace/Select_Reactor_Base.cpp:
+ * ace/TP_Reactor.h:
+ * ace/TP_Reactor.cpp:
+ * ace/WFMO_Reactor.h:
+ * ace/WFMO_Reactor.cpp:Implemented resumable_handlers ().
+
+Sun Jun 24 11:25:07 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * Created this file. Got the whole stuff in ace to a new branch by
+ name bug_575_stage_1. This ChangeLog file will be in branch
+ bug_575.
+
+Fri Jun 22 16:52:13 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/CDR_Stream.cpp: Changed the copy constructor for the
+ ACE_InputCDR's. Instead of duplicating the ACE_Data_Block we
+ now use the new copy constructor in the ACE_Message_Block.
+
+ * ace/Message_Block.h:
+ * ace/Message_Block.cpp: Added a new copy constructor to the
+ ACE_Message_Block. This copy constructor does a deep copy from
+ the data block if the data block of the incoming message block
+ is on the stack or does a shallow copy of the data block (by
+ incrementing the ref count) if it is on the heap.
+
+ END of entries from bug_575_stage_2.
+
+Thu Jul 5 22:07:33 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * bin/auto_run_tests.lst: Added the new perl script in LongUpcalls
+ in the daily builds.
+
+Thu Jul 5 20:36:00 2001 Craig Rodrigues <crodrigu@bbn.com>
+
+ * ace/config-win32-borland.h
+ define ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION
+ * tests/Token_Test.cpp
+ Fix template instantiation problem.
+
+Wed Jul 4 15:35:47 2001 Joe Hoffert <joeh@cs.wustl.edu>
+
+ * tests/run_tests.vxworks:
+ Removed invocation of CDR_Array_Test. According to the ace
+ config files the compiler we are using is pre 2.8 (i.e.,
+ ACE_HAS_GNUG_PRE_2_8 is defined). Therefore don't run
+ CDR_Array_Test since the Makefile doesn't build it (due to
+ the ACE_HAS_GNUG_PRE_2_8 macro).
+
+Wed Jul 04 14:26:10 2001 Irfan Pyarali <irfan@cs.wustl.edu>
+
+ * ace/Synch_T.h (class ACE_Acquire_Method): Moved the enums from
+ the Reverse Lock class into ACE_Acquire_Method, a non-template
+ class. These enums should have been inside the reverse lock
+ class, but some lame compilers cannot handle enums inside
+ template classes.
+
+Wed Jul 04 12:43:22 2001 Irfan Pyarali <irfan@cs.wustl.edu>
+
+ * ace/Synch_T.i (ACE_Reverse_Lock): Fully specified the
+ ACE_ACQUIRE_METHOD type.
+
+Tue Jul 3 15:43:25 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Select_Reactor_Base.cpp: Fixed a warning in g++.
+
+Tue Jul 3 14:44:00 2001 Craig Rodrigues <crodrigues@bbn.com>
+
+ * ace/config-win32-common.h: Borland C++ apparently
+ does not support the "extern template class" Microsoft VC++
+ proprietary extension. Thanks to Chris Kohloff <chris@kohlhoff.com>
+ for the fix.
+
+Tue Jul 03 12:26:33 2001 Irfan Pyarali <irfan@cs.wustl.edu>
+
+ * ace/Synch_T.h (class ACE_Reverse_Lock): Added a parameter to the
+ constructor of the reverse lock. The ACE_ACQUIRE_METHOD
+ parameter is used to indicate which acquire() method will be
+ called on the real lock when the release() method is called on
+ the reverse lock. REGULAR indicated the acquire() method, READ
+ indicates the acquire_read() method, and WRITE indicates the
+ acquire_write() method. Note that the try_*() methods are not
+ represented here because we have to make sure that the release()
+ method on the reverse lock acquires a lock on the real lock.
+
+ Thanks to Edan Ayal <edana@bandwiz.com> for suggesting this.
+
+Tue Jul 3 06:20:13 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/Reactor.h,
+ * ace/Reactor_Impl.h,
+ * ace/Select_Reactor_Base.cpp,
+ * ace/Select_Reactor_Base.i,
+ * ace/Select_Reactor_Base.h,
+ * ace/WFMO_Reactor.cpp,
+ * ace/WFMO_Reactor.h: Added an enhancement that allows the
+ Reactor to selectively purge event handlers from its
+ notification queue according to their Reactor_Mask type. Thanks
+ to Edan Ayal <edana@bandwiz.com> for contributing this.
+
+ * tests/Reactor_Notify_Test.cpp (run_notify_purge_test):
+ Added a new set of tests for the new selective notification
+ purging features of the Reactor. Thanks to Edan Ayal
+ <edana@bandwiz.com> for contributing this.
+
+ * ace/WIN32_Asynch_IO.cpp: Removed the
+ ACE_WIN32_Asynch_Result (handler, act, event, 0, 0, priority,
+ signal_number), initializer since we no longer use virtual
+ inheritance. Thanks to Alexander Libman
+ <alexander.libman@baltimore.com> for reporting this.
+
+ * ace/WIN32_Asynch_IO.h: Removed the virtual inheritance from
+ ACE_WIN32_Asynch_Result for the ACE_Asynch_Read_Stream_Result
+ and ACE_Asynch_Read_Dgram_Result classes. Thanks to Alexander
+ Libman <alexander.libman@baltimore.com> for reporting this.
+
+ * ace/Refcounted_Auto_Ptr.h: Made the destructor of
+ ACE_Refcounted_Auto_Ptr virtual so that users can override it
+ locally. Thanks to Jenny Kowald <jkowald@oz.agile.tv> for
+ reporting this.
+
+Tue Jul 3 09:40:59 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * include/makeinclude/platform_osf1_4.0.GNU:
+ * include/makeinclude/platform_osf1_4.0_g++.GNU:
+
+ Allow users to set options like debug, exceptions, ... without
+ using override.
+
+Tue Jul 3 08:38:47 2001 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * examples/Reactor/Proactor/test_dup_proactor.dsp:
+
+ Fixed a mistake in the link to the ACE library.
+
+Mon Jul 2 16:23:04 2001 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * examples/Reactor/Proactor/test_multiple_loops.dsp:
+ * examples/Reactor/Proactor/test_proactor.dsp:
+ * examples/Reactor/Proactor/test_proactor.dsw:
+ * examples/Reactor/Proactor/test_timeout.dsp:
+ * examples/Reactor/Proactor/test_udp_proactor.dsp:
+
+ Fixed settings on release version of test_udp_proactor.dsp,
+ added it to the workspace, and removed unused file folders
+ from the FileViews of the other projects.
+
+Mon Jul 2 15:26:32 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/config-sunos5.6.h: Removed ACE_HAS_POSIX_SEM and
+ ACE_LACKS_NAMED_POSIX_SEM. Thanks to Glenn Popelka
+ <gpp@gpopelka.com> for helping track this down.
+
+Mon Jul 02 11:45:57 2001 Ossama Othman <ossama@uci.edu>
+
+ * bin/make_release:
+
+ Disabled bootstrapping of ACE's autoconf support. It isn't
+ ready for general use. Doing so reduces the amount of
+ confusion. Thanks to Holger P. Krekel <krekel@merlinux.de> for
+ motivating this change.
+
+Mon Jul 2 13:18:14 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * Moved ACE-configurations.txt into the docs directory. Also
+ removed the hopelessly out of date BIBLIOGRAPHY file.
+
+ * Moved all the ChangeLog-* files into the new ChangeLogs
+ directory. Thanks to Holger P. Krekel <krekel@merlinux.de> for
+ this suggestion.
+
+Mon Jul 02 11:20:52 2001 Ossama Othman <ossama@uci.edu>
+
+ * config.guess:
+ * config.sub:
+
+ Updated to the latest versions from the GNU FTP site.
+
+Mon Jul 02 11:30:20 2001 Irfan Pyarali <irfan@cs.wustl.edu>
+
+ * ace/Synch_T.i: Since the release() method on the reverse lock
+ calls the simple acquire() method on the real lock, it is
+ assumed that it is a simple acquire/release protocol with the
+ real lock. Therefore, I think all the other methods on the
+ reverse lock tryacquire(), acquire_read(), acquire_write(),
+ tryacquire_read(), tryacquire_write(), and
+ tryacquire_write_upgrade() should not be allowed. This falls in
+ line with the original concept of using reverse locks with
+ regular guards.
+
+ Thanks to Edan Ayal <edana@bandwiz.com> for pointing this out.
+
+Mon Jul 2 11:17:37 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/Profile_Timer.cpp:
+
+ Cleaned up the conditional macros. Added method bodies for
+ ACE_Profile_Timer::get_rusage() and
+ ACE_Profile_Timer::elapsed_rusage() when neither ACE_HAS_PRUSAGE_T
+ nor ACE_HAS_GETRUSAGE is defined.
+
+ * Reverted the reverted changes in this entry.
+ "Fri Jun 29 22:31:56 2001 Balachandran Natarajan
+ <bala@cs.wustl.edu>". These changes are ok, I just
+ needed to fix the bug in Profile_Timer.cpp.
+
+Mon Jul 2 09:40:45 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * include/makeinclude/platform_aix_ibm.GNU:
+
+ Add the output filter to the linker to avoid the duplicate symbol
+ warnings on AIX.
+
+Mon Jul 2 05:40:54 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/Logging_Strategy.cpp: Enhanced the code so that it works with
+ ACE_LACKS_IOSTREAM_TOTALLY. Thanks to Nir Drang <nir@bandwiz.com>
+ and Edan Ayal <edana@bandwiz.com> for reporting this.
+
+ * ace/SPIPE_Addr.cpp (set): Added a "+ 1" to the computation of
+ the size of the SPIPE_Addr to account for the trailing NUL.
+ Thanks to Oren Zeev-Ben-Mordehai <oren@phonedo.com> for
+ reporting this.
+
+ * ace/Refcounted_Auto_Ptr.{h,i}: Added support for a "null()"
+ method to check if a refcounted auto ptr is NULL. Thanks to
+ Jenny Kowald <jkowald@oz.agile.tv> for reporting this.
+
+ * ace/config-macosx.h,
+ * ace/platform_macosx.GNU: Enhanced these files to support MacOSX.
+ Thanks to John Zorko <j.zorko@att.net> for contributing this.
+
+ * ace/Synch.h: Fixed the Doxygen documentation for all the
+ removed_ fields, which where somehow messed up. Thanks to
+ Johnny Willemsen for reporting this.
+
+Sun Jul 1 11:49:13 2001 Alexander Libman <alexander.libman@baltimore.com>
+
+ * ace: Enhanced the POSIX and Sun Proactor implementations as
+ follows:
+
+ . POSIX_SIG_Proactor is now based on POSIX_AIOCB_Proactor
+
+ . All classes ACE_POSIX_SIG_Asynch_XXXX are removed.
+ POSIX_SIG_Proactor uses the ACE_POSIX_AIOCB_Asynch_XXXX
+ classes now.
+
+ . ACE_POSIX_AIOCB_Proactor::register_and_start_aio (...)
+ now calls a new virtual method: int
+ ACE_POSIX_AIOCB_Proactor::allocate_aio_slot
+ (ACE_POSIX_Asynch_Result *result).
+
+ . The strategy of free slot allocation in SIG_Proactor is
+ a bit different from AIOCB and SUN Proactors. The
+ allocate_aio_slot() method is responsible for setting
+ notification information for aio request
+ (SIGEV_NONE/SIGEV_SIGNAL). For SIG_Proactor, the field
+ aio_sigevent.sigev_value.sival_int now contains index of aiocb
+ in the aiocb_list_, not a pointer.
+
+ . The ACE_POSIX_AIOCB_Proactor::find_completed_aio (int &error_status,
+ int &return_status, size_t
+ &index, size_t &count)
+ parameter index defines initial slot to scan and the new
+ parameter count tells us maximum number slots to scan. On
+ return: index contains value to start scan next time, count
+ contains remained number of slots. Scanning is performed in
+ "wheel" style to allow all requests be handled with equal
+ priorities.
+
+ . ACE_POSIX_AIOCB_Proactor::check_max_aio_num () checks for
+ max_number_files to open and tries to setup max_number_files
+ equal to aiocb_max_size_. if we failed than cut off
+ aiocb_max_size_ value to existing max_number_files.
+
+ . POSIX_Proactor added member int os_id_ and constructor sets up
+ os_id_ (compilation time + run_time function) to know
+ OS(Sun/HP/Linux/...) and version. We need such info for
+ POSIX_SIG_Proactors to take into account the behavior of
+ different OS.
+
+ . Delivery of simulated/"post_completed" Asynch_Results
+ (Timers, AsynchAccept,Wakeup ...). As both Proactors have no
+ reliable mechanizm for delivery "post_completed" results, so
+ the reliable queue of "post_completed" results was
+ implemented. The new member of AIOCB Proactor
+ ACE_Unbounded_Queue<ACE_POSIX_Asynch_Result *> result_queue_
+ has been added. Also added protected methods to the
+ ACE_POSIX_AIOCB_Proactor.
+
+ . We had an error in all previous versions (from major ACE 5.1):
+ post_completion (int how_many) does not guarantee that all
+ completions will be delivered to the different threads running
+ event_loop (sometimes several completions could be delivered
+ to the one thread, in another thread performs during long time
+ application_spesific_code ()). Moreover, you can run now
+ Proactor event_loop in any number of threads (more than
+ SIGQUEMAX).
+
+Sun Jul 1 11:49:13 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * examples/Reactor/Proactor: Integrated a test that exercises the
+ support for asynchronous UDP operations. Thanks to Roger Tragin
+ <r.tragin@computer.org> for contributing this.
+
+ * ace/Synch_T.i: Changed the implementations of all the
+ acquire*() method to call release(). Thanks to Edan Ayal
+ <edana@bandwiz.com> for reporting this.
+
+Sat Jun 30 12:44:11 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * examples/Connection/blocking/SPIPE-acceptor.cpp: Added better
+ support for shutting down the server when a signal occurs.
+ Thanks to Rich Newman <RNewman@directv.com> for this
+ enhancement.
diff --git a/ChangeLogs/ChangeLog-03a b/ChangeLogs/ChangeLog-03a
new file mode 100644
index 00000000000..fa845881eb7
--- /dev/null
+++ b/ChangeLogs/ChangeLog-03a
@@ -0,0 +1,6249 @@
+Mon Dec 03 14:22:57 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * ace/ace_dll.dsp:
+ * ace/ace_lib.dsp:
+ Add UNIX-only files. Though strictly not required to compile
+ ACE under NT, putting them in the project makes this directory
+ more amenable for samwise.
+
+ * ace/POSIX_Proactor.cpp:
+ Remove duplicate ACE_BUILD_DLL macro, when needed this is
+ defined via options in the project file.
+
+Mon Dec 3 13:59:06 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/README:
+
+ The ACE_HAS_IP6 macro has been superceded by the ACE_HAS_IPV6
+ macro. Also added description of the
+ ACE_USES_IPV4_IPV6_MIGRATION macro based on Steve's description
+ below.
+
+Mon Dec 3 15:50:42 2001 Steve Huston <shuston@riverace.com>
+
+ * IPv6 changes done by John Aughey and myself. To enable IPv6
+ support for a build, put this in your config.h file:
+ #define ACE_HAS_IPV6
+ If your build with IPv6 enabled must also run on systems where
+ the IPv6 support in the kernel is not actually turned on (for
+ example, Redhat Linux 7 by default), also add this to your
+ config.h file:
+ #define ACE_USES_IPV4_IPV6_MIGRATION
+
+ * ace/ACE.cpp (format_hexdump): Add \n to last part of a dump line.
+
+ * ace/INET_Addr.(h i cpp): If IPv6 is enabled, the inet_addr_
+ member is now a union of sockaddr_in and sockaddr_in6. Which
+ one is legit is noted in ACE_Addr::type as well as the family
+ member of either of the union members. The host name lookup
+ functions can look up ipv6 as well as ipv4 names, and the
+ caller can force one or the other by using the address_family
+ argument to set().
+
+ * ace/OS.(h i): Removed ACE_OS::gethostbyname2; replaced it with
+ the more correctly-named and more flexible ACE_OS::getipnodebyname.
+ Also added ACE_OS::getipnodebyaddr. These are the IPv6-capable
+ functions analogous to gethostbyname and gethostbyaddr.
+
+ * ace/SOCK.cpp (get_remote_addr, get_local_addr): Set up the
+ ACE_Addr's type properly to account for ipv4/6 possibilities.
+
+ * ace/SOCK_Acceptor.(h cpp): Allow accepting on ipv4 and ipv6 sockets.
+
+ * ace/SOCK_CODgram.h:
+ * ace/SOCK_Connector.(cpp h ):
+ * ace/SOCK_Dgram.(cpp h ): Change default protocol family from
+ PF_INET to vary and take advantage of IPv6 if available.
+
+ * ace/Sock_Connect.(cpp h): Added ACE_Sock_Connect::ipv6_enabled()
+ method - it checks to see if the running kernel can do IPv6
+ sockets or not.
+
+ * ace/Sock_Connect.cpp (get_ip_interfaces): Removed a #if 0'd
+ block that had possible specializations for MSVC 4.2. It's
+ been a number of years, and it's obviously not needed.
+
+ * ace/MEM_Addr.cpp (same_host): Don't try to compare binary
+ addresses directly... get ACE_INET_Addr objects, clear the port
+ numbers, and compare them.
+
+ * ace/MEM_Connector.cpp (connect): Print error text with message.
+
+ * ace/Asynch_Acceptor.cpp (open): For the new socket, use the
+ protocol family from the listen address, not PF_INET.
+
+ * tests/INET_Addr_Test.cpp: New test.
+
+ * tests/Makefile: Added INET_Addr_Test.
+
+Mon Dec 3 10:54:34 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * ace/OS.h:
+ Document CDR default buffer sizes and control macros
+ using Doxygen.
+ Document memory alignment macros in Doxygen form.
+
+ * ace/Sample_History.h:
+ * ace/Sample_History.inl:
+ Add accessor to get the samples saved on the history.
+
+ * ace/RMCast/RMCast_Singleton_Factory.h:
+ Document constructor in more detail.
+
+Mon Dec 03 07:54:04 2001 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Unbounded_Queue.{h,cpp}:
+ Added const iterator for this container class
+
+Sun Dec 02 15:13:30 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * ace/OS.cpp:
+ Fixed Fuzz problems, the ACE_TRACE calls in operator++/--
+ definitions had less whitespace than the actual operators.
+
+Sun Dec 02 15:17:47 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/Thread_Manager.cpp (join): This method mistakenly used the
+ local copy of Thread_Descriptor to change the thread status when
+ it found a thread to join from the <thr_list_>. This prevented
+ the status of the original Thread_Descriptor to be updated
+ correctly and the same descriptor got put into the
+ <terminated_thr_list_> again, which caused the same thread to be
+ waiting on in some cases. Changed to manipulate the descriptor
+ directly to avoid the problem. Thanks to Eyal Lubetzky
+ <eyall@BANDWIZ.COM> for reporting the problem and providing a
+ nice example to showcase it.
+
+Sun Dec 2 12:44:58 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * tests/ACE_Init_Test.cpp:
+ * tests/ACE_Init_TestDlg.cpp:
+ Protect this test against compilation on non-Win32 platforms,
+ that makes it easier to compile using samwise.
+
+ * tests/RMCast/RMCast_Fragment_Test.cpp:
+ * tests/RMCast/RMCast_Membership_Test.cpp:
+ * tests/RMCast/RMCast_Reassembly_Test.cpp:
+ * tests/RMCast/RMCast_Reordering_Test.cpp:
+ * tests/RMCast/RMCast_Retransmission_Test.cpp:
+ * tests/RMCast/RMCast_UDP_Best_Effort_Test.cpp:
+ Change #include "test_config.h" to #include "../test_config.h",
+ it is easier to generate makefiles and projects files with
+ samwise if we do that.
+
+Sun Dec 02 12:15:25 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * ace/OS.cpp:
+ Fixed typos in ACE_Time_Value::operator++ implementations.
+ Also moved the implementation outside the #ifdef ACE_WIN32
+ section.
+
+Sun Dec 2 12:17:09 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Reactor.i: Fixed a warning in TRU 64. Thanks to
+ <krumpo@pobox.sk> which reminded me of the fix in one of my
+ workspaces. This shows up only in V6.3-013 (cxx) of the
+ compiler.
+
+Sat Dec 1 19:39:22 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/Date_Time.i (update): Use ACE_OS::gettimeofday for the time
+ source. This gets both the seconds-since-epoch value from which
+ the date and time are calculated and the microseconds value.
+ Thanks to Jim Connelly <jim.connelly@neustar.com> for reporting this.
+
+ * THANKS: Added Jim Connelly to the Hall of Fame.
+
+ * ace/Log_Msg_NT_Event_Log.{cpp h} (open):
+ * ace/Log_Msg_UNIX_Syslog.{cpp h} (open):
+ If the caller passes a prog_name (logger_key) argument, use it
+ for the Source field in the event log entries (or ident in the
+ syslog entries). If not, use the program name (previous behavior).
+ Added comments to define this behavior.
+
+ * ace/Log_Msg.cpp (open): Don't refuse to open a backend if the
+ <logger_key> arg is 0 and the SYSLOG bit is enabled. The SYSLOG
+ backends, both UNIX and NT Event Log, work perfectly fine with
+ a 0 logger_key. Thanks to Steve Witten <steve_witten@hp.com> for
+ reporting this.
+
+Sat Dec 1 18:03:51 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/config-macosx.h:
+ * include/makeinclude/platform_macosx.GNU:
+ Added support so that ACE will build and run on Mac OS X 10.1.
+ Thanks to John Michael Zorko <j.zorko@att.net> for contributing
+ this.
+
+Fri Nov 30 19:08:19 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/ARGV.cpp (dump): Fixed a bug with dump() so that it
+ works properly even if argv_ changes. Thanks to Kyle Brost
+ <Kyle.Brost@quest.com> for this fix.
+
+Thu Nov 29 16:31:57 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/OS.{h,i,cpp}: Changed the return value of
+ ACE_Time_Value::operator+= and operator -= to be ACE_Time_Value
+ & rather than void. Also, added overloaded operator++ and
+ operator--. This is all to make this stuff work better with
+ ACE_Atomic_Op. Thanks to Kelly F. Hickel <kfh@mqsoftware.com>
+ for suggesting this.
+
+ * ace/Asynch_Acceptor.cpp (parse_address): Changed
+ the "message_block.size () - 2 * this->address_size ()" argument
+ to "bytes_to_read_" to work properly on Win32. Thanks to Kelly
+ F. Hickel <kfh@mqsoftware.com> for reporting this.
+
+Wed Nov 28 17:44:26 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/OS_Dirent.cpp (readdir_emulation): Fixed a memory leak
+ in the dirent emulation. Thanks to Olivier Brunet
+ <obrunet@groupama-ccama.tm.fr> for reporting this.
+
+ * ace/SPIPE_Acceptor.h (ACE_SPIPE_Acceptor): Clarified the
+ return value of open(). Thanks to Garth Watney
+ <Garth.J.Watney@jpl.nasa.gov> for motivating this.
+
+ * ace/OS.h: Added a workaround to the Borland bug for
+ ACE_OS::stat(). Thanks to Christopher Kohlhoff
+ <chris@kohlhoff.com> and Chris Able <cable@scires.com> for
+ reporting/fixing this.
+
+Sat Dec 01 09:26:27 2001 Balachandran <bala@cs.wustl.edu>
+
+ * ACE version 5.2.1 released.
+
+Wed Nov 28 09:28:09 2001 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/examples/IPC_SAP/SOCK_SAP/*
+ * ace/examples/IPC_SAP/SPIPE_SAP/*
+ * ace/examples/Misc/*
+ * ace/examples/Naming/*
+ * ace/examples/RMCast/Send_File/*
+ * ace/examples/Reactor/DGram/*
+ * ace/examples/Reactor/Ntalker/*
+ * ace/examples/Registry/*
+ * ace/examples/Threads/*
+ * ace/examples/Service_Configurator/IPC_tests/client/*
+ Made these examples compiling when ACE_USES_WCHAR is set
+
+Mon Nov 26 16:07:57 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * bin/make_release: The distribution will be available in bzip2
+ compressed format too. Made modifications to the release scripts
+ to put out the beta in bzip2 compressed format.
+
+Sat Nov 24 10:23:00 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Unbounded_Set.h (class ACE_Unbounded_Set): Moved the
+ insert_tail() method from the private part of the class to the
+ public part since it's needed by the examples/Misc/test_set.cpp
+ file.
+
+ * examples/Misc/test_set.cpp (main): Somehow the contents of this file
+ got lost. Thanks to Johnny Willemsen for reporting this!
+
+Fri Nov 23 08:40:33 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * tests/Refcounted_Auto_Ptr_Test.cpp: Added some ACE_DEBUGs to
+ print out the reference count.
+
+ * ace/Refcounted_Auto_Ptr.h: Added a count() accessor method to
+ return the reference count. Thanks to Andrea Bernicchia
+ <a.bernicchia@acsys.it> for contributing this.
+
+Thu Nov 22 05:24:51 2001 Craig Rodrigues <crodrigu@bbn.com>
+
+ * examples/QOS/Diffserv: Added a simple example to illustrate
+ how to set Diffserv Codepoints on an ACE_SOCK_CODgram.
+ * examples/QOS/Makefile: Updated.
+
+Wed Nov 21 11:35:50 2001 Michael Kircher <Michael.Kircher@mchp.siemens.de>
+
+ * ace/Bound_Ptr.h
+ * ace/Bound_Ptr.i
+ * ace/Future.cpp
+ * ace/Future.h
+ * ace/Refcounted_Auto_Ptr.h
+ * ace/Refcounted_Auto_Ptr.i
+
+ Made the memory allocation failure behavior consistent
+ to the behavior prior to the change on Sun Oct 28 13:15:00 2001.
+ Thanks to Christopher Kohlhoff <chris@kohlhoff.com> who prepared
+ this change.
+ The problem was that with the above mentioned change failed
+ allocations would return 0 in either case, if exceptions were
+ enabled by the platform or not. This was incosistent to the
+ behavior before, as new threw bad_alloc on allocation failure
+ when exceptions were supported by the platform.
+
+ To fix this we faced the following forces:
+ - Not to introduce yet another macro
+ - Minimize impact of changes, localize the problem
+ - Keep the new calls wrapped by a ACE_NEW macro to allow
+ users to eventually redefine the macro (using e.g. new (nothrow)
+
+ As the ACE_NEW macros are quite restrictive in their supported
+ semantics, e.g. you can only return on error, we decided to introduce
+ a new method (as inline) internal_create which does the allocation.
+ internal_create is called by create which does the differentiation
+ between the exception-supported and exception-not-supported case.
+
+Wed Nov 21 09:07:37 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/OS.h: Updated the ACE_GUARD_ACTION macro and added a new
+ ACE_GUARD_REACTION macro. Then, reimplemented the ACE_GUARD and
+ ACE_GUARD_RETURN macros in terms of these new macros. Thanks to
+ Don Hinton for contributing these.
+
+ * ace/Log_Msg_Callback.h: Improved the comments to explain why
+ ACE_Log_Msg_Callback isn't inherited. Thanks to
+ Alexey Chalimov <alexey@allcharge.com> for motivating this.
+
+Tue Nov 20 15:36:52 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ACE-INSTALL.html: Pointed out that on Solaris with g++ you may
+ need to use GNU as instead of /usr/ccs/bin/as, if you want
+ -gstabs+ and -pipe support. Thanks to C Chan
+ <CChan@md.aacisd.com> for reporting this.
+
+Mon Nov 19 07:24:05 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * examples/Synch/proc_sema.cpp: Added the ACE_TEXT macro so that
+ ACE_Get_Opt works correctly. Thanks to Johnny Willemsen for
+ contributing this.
+
+ * tests/Aio_Platform_Test.cpp (main): Fixed the code so that it
+ compiles when ACE_USES_WCHAR. Thanks to Johnny Willemsen for
+ reporting this.
+
+ * docs/ACE-categories.html: Updated the Doxygen URLs to use the
+ new format. Thanks to Peter J. Mason <peter.mason@retriever.com.au>
+ for reporting the problem.
+
+Fri Nov 16 10:39:52 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * docs: Moved minimumTAO.html from $TAO_ROOT/docs/ to
+ $ACE_ROOT/docs.
+
+ * ace/OS.h: Added two new macros ACE_GUARD_ACTION and
+ ACE_GUARD_ACTION_RETURN. Thanks to Boris Kaminer
+ <boris.kaminer@orcsoftware.com> for suggesting these.
+
+ * ace/NT_Service.cpp (state): Fixed a bug where calling
+ ACE_NT_Service::state(x,x) while the service is stopped was
+ causing the internal status variables of ACE_NT_Service to
+ become corrupt. If the control_mask is set to
+ SERVICE_ACCEPT_STOP in the constructor, the call to state will
+ cause this mask to be reset (if the service is not running).
+ This ultimately results in an NT Service that can be started but
+ not stopped. Thanks to Kyle Brost <Kyle.Brost@quest.com> for
+ providing this fix.
+
+Wed Nov 21 10:00:20 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/config-irix6.x-common.h:
+
+ Changed the size of a long double from 16 to 8 for the GNU
+ compiler.
+
+ * include/makeinclude/platform_irix6.x_sgic++.GNU:
+
+ Add buildbits macro to allow 32 and 64 bit builds on IRIX.
+
+Wed Nov 21 12:49:08 2001 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * performance-tests/Misc/basic_perf.cpp
+ * performance-tests/Misc/childbirth_time.cpp
+ * performance-tests/Misc/context_switch_time.cpp
+ * performance-tests/Misc/preempt.cpp
+ * performance-tests/Misc/test_mutex.cpp
+ * performance-tests/Misc/test_singleton.cpp
+ Made these tests compiling when ACE_USES_WCHAR is set
+
+Wed Nov 21 08:49:12 2001 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS.h
+ Added ACE_LIB_TEXT around ACE_DEFAULT_RENDEZVOUS to make a unicode
+ constant when ACE_USES_WCHAR is defined
+
+ * tests/FlReactor_Test.cpp
+ * tests/TkReactor_Test.cpp
+ * tests/XtReactor_Test.cpp
+ Changed type of argv argument of main from char to ACE_TCHAR so that
+ these tests compile without problems when ACE_USES_WCHAR is defined
+
+ * examples/IPC_SAP/ATM_SAP/CPP-client.cpp
+ * examples/IPC_SAP/ATM_SAP/CPP-server.cpp
+ * examples/IPC_SAP/FIFO_SAP/FIFO-client.cpp
+ * examples/IPC_SAP/FIFO_SAP/FIFO-Msg-client.cpp
+ * examples/IPC_SAP/FIFO_SAP/FIFO-Msg-server.cpp
+ * examples/IPC_SAP/FIFO_SAP/FIFO-server.cpp
+ Made these example compiling when ACE_USES_WCHAR is set
+
+Tue Nov 20 12:02:16 2001 Ossama Othman <ossama@uci.edu>
+
+ * configure.in:
+
+ Removed this file from the distribution. Some folks insist on
+ attempting to build ACE/TAO with the configure script and
+ reporting problems despite the fact we've explicitly disabled
+ it.
+
+Tue Nov 20 13:30:36 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Strategies.h:
+ * ace/Strategies.cpp:
+ * ace/Strategies.i: Re-added files back into the main trunk. Got
+ accidentally removed from the main when I was doing some work on
+ a branch.
+
+Mon Nov 19 20:35:44 2001 Jaiganesh Balasubramanian <jai@balar.ece.uci.edu>
+
+ * ace/SOCK_Dgram_Mcast.cpp:
+ This class allow application to subscribe a single socket to
+ many multicast groups. However, the unsubscribe operation
+ failed to work with more than one group. For some strange
+ reason it was storing the first multicast group subscription in
+ a class member and using that member in all the paths for the
+ unsubscribe methods.
+
+ We have changed the unsubscribe(const ACE_INET_Addr&,...) method
+ to work as adversited, i.e. unsubscribe the *given* multicast
+ address, not the stored one, as an added benefit the method is
+ now re-entrant. The unsubscribe(void) method works as before.
+ The code has been re-factored to minimize duplication.
+
+Mon Nov 19 11:03:07 2001 Ossama Othman <ossama@uci.edu>
+
+ * ACE-INSTALL.html:
+
+ Added missing build instructions for the ACE_SSL library, and
+ updated the list of "make" flags recognized by ACE's Makefile
+ scheme.
+
+Mon Nov 19 00:53:54 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * ace/Svc_Conf_y.cpp:
+ * ace/Svc_Conf_l.cpp:
+ * ace/Svc_Conf_Tokens.h:
+
+ Fixed some bugs introduced by my previous checkin because of
+ patch confusion. Replaced all the standard C system calls with
+ ACE_OS calls. Made it more wchar friendly.
+
+ * ace/Makefile:
+
+ Removed the dependency on /pkg/gnu/bin/flex. It was broken. We
+ now use $(LEX) and $(YACC) defined in
+ $ACE_ROOT/include/makeinclude/wrapper_macros.GNU.
+
+ * include/makeinclude/wrapper_macros.GNU:
+
+ Changed the definition of YACC to bison (by default). If people
+ want to change this, it can be overridden by a variable in the
+ Makefile. But things are most likely to break if you use yacc.
+
+ * etc/Svc_Conf_l.cpp.diff:
+ * etc/Svc_Conf_y.cpp.diff:
+
+ Regenerated the diffs.
+
+ *Sigh* This patching business is ugly.
+
+Fri Nov 16 07:22:19 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * bin/make_release: Updated the script to copy the beta to a
+ different location. Have tested this by creating a dummy
+ repository and a dummy export directory. Things worked
+ fine. Hopefully the beta should go through without any hassle.
+
+ The script is tied to its usage on ace.cs. Needs to be
+ changed. Will do that after this beta goes out. Having too many
+ changes at the same time may not be good.
+
+Thu Nov 15 20:44:40 2001 Craig Rodrigues <crodrigu@bbn.com>
+
+ * etc/Svc_Conf_l.cpp.diff: Updated. Thanks to Kitty for reporting it.
+ * etc/Svc_Conf_y.cpp.diff: Added. We need it for uses of ACE_LIB_TEXT.
+ * ace/Makefile: Added rule to apply patch to Svc_Conf_y.cpp.
+
+Thu Nov 15 08:26:57 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/*.cpp: Changed all remaining uses of ACE_TEXT to ACE_LIB_TEXT
+ to be consistent... Thanks to Johnny Willemsen for reporting
+ the inconsistencies and for Darrell Brunsch for clarifying what
+ the right behavior should be.
+
+Wed Nov 14 07:43:20 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * docs/ACE-guidelines.html: Updated the guidelines to explain
+ the use of ACE_TCHAR for the argv parameter to main(). Thanks
+ to Johnny Willemsen for reporting this.
+
+ * ace/OS_Dirent.inl (opendir): Replace char * const cast with
+ ACE_TCHAR * const cast. Thanks to Nick Pratt for reporting
+ this.
+
+ * tests/Upgradable_RW_Test.cpp (main): Fixed the test to avoid
+ dividing by 0 and also initialized all pointers to NULL. Thanks
+ to Johnny Willemsen for reporting this. Thanks fixes BudID 650.
+
+Tue Nov 13 15:25:04 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/ACE.h (ACE): Clarified what the time_len parameter is used for.
+ Thanks to Tompa <safdsfd@adsffda.com> for reporting this.
+
+Sun Nov 11 09:50:52 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Naming_Context.cpp (info): Added an ACE_UNUSED_ARG to
+ silence warning about "length" parameter and changed buf from
+ char to ACE_TCHAR. Thanks to Johnny Willemsen for reporting
+ this.
+
+ * tests/Aio_Platform_Test.cpp: The argv parameter of main() should
+ be ACE_TCHAR rather than char. Thanks to Johnny Willemsen for
+ reporting this.
+
+Thu Nov 15 15:43:20 2001 Craig Rodrigues <crodrigu@bbn.com>
+
+ * ace/Naming_Context.cpp (info): Wrapped sprintf() arguments with
+ ACE_LIB_TEXT. Fix supplied by Johnny Willemsen.
+
+Thu Nov 15 12:43:31 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * docs/wchar.txt: Added a writeup for ACE_LIB_TEXT and ACE_TEXT
+ from "the authority."
+
+Wed Nov 14 21:36:42 2001 Ossama Othman <ossama@uci.edu>
+
+ * docs/usage-bugzilla.html:
+
+ Corrected link to the DOC Center's bugzilla site.
+
+Wed Nov 14 23:11:59 2001 Craig Rodrigues <crodrigu@bbn.com>
+
+ * ace/Naming_Context.cpp (info): Fixed Unicode build problems
+ by consistently using ACE_TCHAR instead of char, and by
+ using Unicode aware string functions in ACE_OS_String
+ instead of ACE_OS.
+
+ * ace/Svc_Conf_l.cpp: Default intialized ace_yy_c_buf_p to ACE_TCHAR
+ instead of char. Default initialized ace_yy_cp, ace_yy_bp to 0.
+
+ * ace/Svc_Conf_y.cpp: Wrap string literals passed to ace_yyerror
+ with ACE_LIB_TEXT().
+
+Wed Nov 14 06:38:41 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * docs/ACE-bug-process.html (HREF): Changed references from ace.cs
+ to deuce.doc. Thanks to Johnny Willemsen for reporting this.
+
+Tue Nov 13 15:04:15 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * html/Stats/index.shtml:
+ * html/Stats/detailed_performance.shtml:
+ Improved documentation about the test location, ORB, and network
+ configuration used. Thanks to David Yongqiang Wang
+ <davidyw@avaya.com> for pointing out the problems.
+
+Tue Nov 13 11:46:11 2001 Chris Cleeland <cleeland_c@ociweb.com>
+
+ * tests/Collection_Test.cpp (iterate_const): Fixed ACE_DEBUG print
+ statements that were accessing the element of the unbounded set
+ as an int rather than an UglyThing. Thanks to Ossama for
+ pointing this out.
+
+Mon Nov 12 11:41:35 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_SOCK_Stream.cpp (send, recv):
+
+ In the va_arg versions of these methods, do not use
+ send/recv_n() to as the underlying send/recv() method. It
+ forces unnecessary blocking.
+
+ Corrected return value semantics in versions of these methods
+ that use loop to send/receive multiple buffers. If data was
+ sent or received than do not return -1 on error. Instead return
+ the amount of bytes sent/received. This is necessary to allow
+ the caller to keep track of sent or received data. [Bug 882]
+
+Sun Nov 11 23:50:00 2001 Craig Rodrigues <crodrigu@bbn.com>
+
+ * tests/Date_Time_Test.cpp: Remove argv variable from
+ main() to eliminate unused variable compiler warning.
+ * tests/Arg_Shifter_Test.cpp: Same.
+
+Sun Nov 11 10:00:56 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_SOCK_Stream.h (ACE_SSL_SOCK_Stream):
+
+ Removed unused class members.
+
+ * ace/SSL/SSL_SOCK_Stream.cpp (sendv):
+
+ If an error occurs but data was sent on a previous loop
+ iteration then return the amount of bytes sent, not the error.
+ This extends previous check for EWOULDBLOCK and ETIME. All
+ errors are now caught. The caller must always know if any data
+ was successfully sent. [Bug 882]
+
+ Do not continue on to the next loop iteration if the amount of
+ data sent was less than the amount data given. This avoids a
+ subtle problem where "holes" in the data stream would occur if
+ partial sends of a given buffer in the iovec array occured.
+ [Bug 882]
+
+Sun Nov 11 07:58:07 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_SOCK_Stream.cpp (sendv):
+
+ Fixed unused variable warnings.
+
+Sat Nov 10 23:25:50 2001 Ossama Othman <ossama@uci.edu>
+
+ * bin/auto_run_tests.lst:
+
+ Added new SSLIOP "Big_Request" test to the list of regression
+ tests to automatically run during the nightly builds.
+
+Sat Nov 10 22:13:54 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * ace/Svc_Conf_l.cpp:
+ * ace/Svc_Conf_y.cpp:
+ * ace/Svc_Conf_Tokens.h:
+
+ Regenerated the files after fixing the warnings that showed up
+ under Sun CC Forte Update. They were caused because Sun CC's
+ preprocessor doesn't like the #line statements generated by flex
+ and bison. Since these files are not modified on a daily basis,
+ people debugging the lexer can turn it on by removing the flags
+ '-l' and '-L' to bison and flex respectively in the Makefile.
+ For now, this removes a lot of noise.
+
+ * ace/Makefile:
+
+ Added flags '-l' to bison and '-L' to flex.
+
+ * etc/Svc_Conf_l.cpp.diff:
+
+ Regenerated the diff to match the current version.
+
+ * etc/Svc_Conf_y.cpp.diff:
+
+ This file held the stuff which have been obsoleted by the move
+ to use bison. So removed this file to avoid causing confusion in
+ the future. Thanks to Ossama for pointing this out.
+
+ Let's see some green :-)
+
+Sat Nov 10 19:27:36 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_Accept_Handler.cpp (ssl_accept):
+ * ace/SSL/SSL_Connect_Handler.cpp (ssl_connect):
+
+ If data is still buffered within OpenSSL's internal buffer, then
+ force the Reactor to invoke the event handler (with
+ the appropriate mask) before waiting for more events
+ (e.g. blocking on select()) by returning a value greater than
+ one. All pending data must be processed before waiting for more
+ events to come in on the SSL handle.
+
+ * ace/SSL/SSL_SOCK_Stream.h (reactor, handler, notify):
+
+ These methods are no longer needed. Removed them.
+
+ (sendv):
+
+ Added missing timeout parameter.
+
+ * ace/SSL/SSL_SOCK_Acceptor.cpp (ssl_accept):
+ * ace/SSL/SSL_SOCK_Connector.cpp (ssl_connect):
+ * ace/SSL/SSL_SOCK_Stream.i (notify, recv_i, send_i, close):
+
+ Reverted code that notify()ed the Reactor if data was still
+ pending in OpenSSL's internal buffers. The idea was to force
+ the reactor to call the appropriate event handler before polling
+ for events (e.g. blocking on select()). However, notifications
+ are not dispatched until after events are polled which meant
+ that there is no point in notify()ing the Reactor.
+
+ * ace/SSL/SSL_SOCK_Stream.cpp (reactor, handler):
+
+ These methods are no longer needed. Removed them.
+
+ (sendv):
+
+ Fixed/improved the writev() semantics and emulation in this
+ method. Previously, if an iov_base buffer was successfully
+ sent, that success was not reported to the caller if subsequent
+ sends in the emulation loop failed. The caller would end up
+ thinking that no part of the message was sent. The improved
+ semantics are now the following if the underlying send() call
+ returns with an EWOULDBLOCK or ETIME error condition:
+
+ - If no data was sent, then return -1.
+ - If some data was sent on a previous loop iteration then
+ return the number of bytes successfully sent.
+
+ In both cases, errno is unchanged. [Bug 882]
+
+ Incidentally, this fixes a problem in TAO's SSLIOP pluggable
+ protocol when sending very large requests. Thanks to Andrew
+ Finnell <Andrew.Finnell@esecurityinc.com> for providing an
+ example that exhibited the problem.
+
+ Lastly, the missing timeout support has been added. The timeout
+ is decremented on each loop iteration.
+
+Sat Nov 10 17:16:59 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/OS.cpp (fopen): Removed redundant parentheses.
+
+Sat Nov 10 09:29:48 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/OS.i (pipe): Replaced the _pipe() call on Win32 with the
+ CreatePipe() call. Thanks to Bo Balders <bba@post.utfors.se>
+ for reporting this.
+
+ * ace/Log_Msg.cpp (log): The "format" string was omitted. Thanks
+ to Martin Krumpolec for noticing this.
+
+Sat Nov 10 08:48:24 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/Arg_Shifter.{h,cpp}: Added a new constructor to ACE_Arg_Shifter
+ so that it can handle both const char ** and char ** arguments.
+
+Fri Nov 9 07:42:41 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Arg_Shifter.cpp: Made the argv parameter to ACE_Arg_Shifter
+ a "const" ACE_CHAR **.
+
+ * tests/Arg_Shifter_Test.cpp (main): Added "const" to the
+ args local variable to remove a warning from SunC++.
+
+Fri Nov 9 11:23:01 2001 Chris Cleeland <cleeland_c@ociweb.com>
+
+ * tests/Collection_Test.cpp: Fixed up things that caused problems
+ on several platforms. Added the ARRAY tests back in.
+
+Thu Nov 8 14:52:39 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/Log_Msg.h: Added a new 'M' option to print out the name of
+ the log priority. Thanks to Vladimir Chovanec
+ <Vladimir.CHOVANEC@asset.sk> for reporting this.
+
+Thu Nov 8 10:41:44 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/OS_String.h: Enhanced the documentation so that it explains
+ the differences between ACE_OS::strsncpy() and ACE_OS::strcpy()
+ more precisely. Thanks to Alain Decamps for contributing this.
+
+ * ace/Naming_Context.{h,cpp}: The info() method should have
+ ACE_TCHAR ** rather than char **. Thanks to Johnny Willemsen
+ for reporting this.
+
+ * ace/OS.cpp: Added support for Borland's idiosyncratic _wfdopen()
+ method. Thanks to Johnny Willemsen for reporting this.
+
+Wed Nov 7 05:17:03 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Message_Queue_T.{h,cpp}: Changed the typo DEFUALT_PRIORITY
+ to DEFAULT_PRIORITY.
+
+ * ace/OS.i: In BCB the _wtempnam() has the following signature:
+ wchar_t *_wtempnam(wchar_t *dir, wchar_t *prefix)
+
+ This means that the arguments must be made non-const by a cast. The
+ fix is to add some defines so that with BCB and no wchar the
+ _tempnam is used (with the casts) and with BCB and wchar then
+ the _wtempnam is used with the casts. Thanks to Johnny
+ Willemsen for this fix.
+
+Thu Nov 8 14:52:39 2001 Steve Huston <shuston@riverace.comy>
+
+ * ace/Arg_Shifter.h: Doxygen-ized some comments.
+
+ * ace/Date_Time.i (update): Add 1900 to years value to convert from
+ localtime's years-since-1900 value to now. Add 1 to the month
+ to convert localtime's 0-11 range to 1-12. Thanks to Syed
+ Wasim Ali <syed.ali@neustar.com> for reporting this.
+
+ * tests/Date_Time_Test.(cpp dsp icc): New test for ACE_Date_Time.
+
+ * tests/tests.dsw:
+ * tests/tests.icp:
+ * tests/Makefile[.bor]: Added Date_Time_Test.
+
+ * tests/run_test.lst: Added Arg_Shifter_Test and Date_Time_Test.
+
+Thu Nov 8 11:53:00 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/Arg_Shifter_Test.(cpp dsp icc): New test for ACE_Arg_Shifter.
+
+ * tests/tests.dsw:
+ * tests/tests.icp:
+ * tests/Makefile[.bor]: Added Arg_Shifter_Test.
+
+Thu Nov 8 13:05:12 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * include/makeinclude/platform_irix6.x_sgic++.GNU:
+
+ Added an option to suppress warnings about #pragma pack.
+
+Thu Nov 8 10:43:22 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/OS.cpp:
+
+ Correct a build problem for GHS on Win32.
+
+Wed Nov 07 13:50:39 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/Task_T.h (ACE_Task): Decorated ACE_Task with ACE_Export to
+ avoid VC7's internal compiler error. Thanks to Darrell for
+ submitting the change.
+
+Wed Nov 7 10:59:00 2001 Craig Rodrigues <crodrigu@bbn.com>
+
+ * include/makeinclude/platform_sunos5_g++.GNU: Append -D_REENTRANT
+ to CPPFLAGS if threads=1
+
+Wed Nov 7 08:09:20 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * bin/nightlybuilds/builds.lst: Changed the name CC5 build as
+ CC51. It uses version 5.1 of the compiler anyway.
+
+Tue Nov 6 14:39:28 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/SString.i (find),
+ * ace/Local_Name_Space_T.cpp (resolve_i): Fixed "off-by-one"
+ bugs with ACE_OS::strscpy(). Thanks to Alain Decamps
+ <Alain.Decamps@PIDPA.be> for contributing this.
+
+Tue Nov 6 13:25:40 2001 Chris Cleeland <cleeland_c@ociweb.com>
+
+ * tests/Collection_Test.cpp: Committed an old change that uses an
+ actual class as the element in the Unbounded_Set rather than an
+ int. I wrote this to get a better understanding of how the
+ iterator and accessors on the iterator worked.
+
+ * tests/SString_Test.cpp (main): Added a test for the rep() method
+ that insures that the char array returned is equivalent to the
+ string in the ACE_CString from which it's obtained.
+
+Mon Nov 5 10:12:01 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/OS.cpp,
+ * ace/Local_Name_Space_T.cpp,
+ * ace/FILE_Addr.cpp,
+ * ace/Acceptor.cpp,
+ * ace/ACE.cpp: Changed uses of strncpy() to ACE_OS::strsncpy().
+ Thanks to Alain Decamps for these fixes.
+
+Sun Nov 4 12:11:31 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Reactor.cpp: Enhanced all the Reactor's event loop methods
+ to first check and see if the Reactor's been deactivated and to
+ bailout immediately in this case. Thanks to Don Hinton for
+ suggesting this.
+
+ * ace/Reactor.i: Moved the reactor_event_loop_done() method from
+ the *.cpp file into the *.i file and made inlineable.
+
+ * ace/Select_Reactor_T.cpp: Be more careful about error handling in the
+ dispatch_notification_handlers() method. If a failure occurs,
+ when dispatch_notifications() is called, return -1, rather than
+ erroneously "incrementing" the count of the number of handlers
+ dispatched. Thanks to Don Hinton for reporting this.
+
+Sat Nov 3 11:15:43 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * The following fixes are from Joachim Achtzehnter <joachima@netacquire.com>:
+
+ In ace/config-pharlap.h we had to explicitly #undef
+ ACE_HAS_WCHAR after the #include "ace/config-win32.h"
+ directive. Without this change the resulting DLL depended on
+ several wide character versions of Win32 system functions, such
+ as _CreateMutexW. At least some of these dependencies were
+ caused by ace/OS.i.
+
+ In ace/Log_Msg.cpp we had to add !defined(ACE_HAS_PHARLAP) to a
+ few more places in addition to the ones Bruce Trask had posted
+ to avoid reference to the NT Eventlog functionality.
+
+ At the top of ace/Log_Msg_NT_Event_Log.h and
+ ace/Log_Msg_NT_Event_Log.cpp we added !defined(ACE_HAS_PHARLAP)
+ to completely bypass the contents of these two files.
+
+ * ace/DEV_Addr.i (addr_to_string):
+ * ace/Local_Tokens.i (name):
+ * ace/Module.i (name):
+ * ace/OS.i (asctime_r):
+ * ace/SPIPE_Addr.i (addr_to_string):
+ * ace/UNIX_Addr.i (addr_to_string):
+ * ace/SString.i (rep): Changed uses of strncpy() to ACE_OS::strsncpy().
+ Thanks to Alain Decamps for these fixes.
+
+Fri Nov 2 14:38:49 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/Task.h (ACE_Task_Base): Clarify the meaning of the put()
+ hook method. Thanks to Tommy Svensson <tommysvensson@yahoo.com>
+ for motivating this.
+
+Mon Nov 5 14:23:12 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/ACE.cpp:
+
+ Remove a build warning for gcc 2.95.3 on SunOS 5.6.
+
+Mon Nov 5 14:21:30 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/nightlybuilds/builds.lst:
+
+ Added the HP-UX nightly build back to the list.
+
+Mon Nov 5 13:31:15 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/ACE.cpp:
+
+ Fix a build warning for 64-bit HP-UX.
+
+ * ace/Active_Map_Manager_T.i:
+
+ Cast the free list id to ACE_UINT32 to match up with the
+ slot_index () type. On 64-bit HP-UX, the free list id type
+ (size_t) is a 64 bit number and must be cast down to 32 bits.
+ Otherwise, the slot_index is cast up to 64 bits and does not give
+ the correct results.
+
+ * include/makeinclude/platform_hpux_aCC.GNU:
+
+ Add a -L./ to allow the 64-bit HP-UX builds to link properly.
+
+Mon Nov 5 11:17:20 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * bin/auto_compile:
+ Add support for the new status.txt file in the scoreboard.
+
+Mon Nov 5 13:02:50 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/config-hpux-11.00.h:
+
+ Added #define of ACE_HAS_CHARPTR_DL. This corresponds with the
+ declaration of dlopen(char*,unsigned int).
+
+ * ace/OS.cpp:
+
+ Changed the default thread scope to system (similar to Linux).
+ Process thread scope is not supported in HP-UX.
+
+Sun Nov 04 11:18:31 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/OS.cpp (fopen): Changed to forward call to fopen instead of
+ _fopen on non-borland compilers when not using UNICODE. This
+ change allows the code to compile on Win98. Thanks to Jstwo
+ <jstwo@writeme.com> for submitting the fix.
+
+Thu Nov 1 16:21:51 2001 Chris Cleeland <cleeland_c@ociweb.com>
+
+ * bin/auto_run_tests.pl: Added snippet of code that puts the
+ current directory ('.') in the PATH environment variable since
+ auto_run_tests.pl depends on the current directory being there.
+
+Thu Nov 1 15:49:04 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * include/makeinclude/platform_osf1_4.x_cxx.GNU: Moved the
+ CXX_VERSION definition to the global scope.
+
+ * include/makeinclude/platform_tru64_cxx.GNU: Added
+ -D_PTHREAD_ENV_DECCXX flag to the CPPFLAGS. This is done only
+ for v5.1, 1885. The pthreads.h in 1885 is messed up. The
+ conditional include of c_asm.h is busted for DECCXX and
+ v1885. Hence the change. We need to do this to protect ACE and
+ TAO applications on this platform and compiler
+ combinations. Thanks to Don Hinton <dhinton@gmx.net> for
+ reporting the problem.
+
+Thu Nov 1 14:25:52 2001 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * ace/config-win32-borland.h:
+
+ Added fix sent in by Chris Kohlhoff <kohlhoff@pop.ihug.com.au>
+ to ACE_CC_PREPROCESSOR_ARGS to enable the recognition of a
+ filename to which the preprocessor output is to be directed.
+ There is also a corresponding fix in TAO_IDL/driver/drv_preproc.cpp
+ that carries out the redirection.
+
+Thu Nov 1 10:27:21 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/Select_Reactor_Base.h (open):
+ * ace/Select_Reactor_T.h (ACE_Select_Reactor_T, open):
+
+ Added a note about the "size" of the Select_Reactor on Unix
+ platforms. On Unix platforms, the size parameter should be as
+ large as the maximum number of file descriptors allowed for a
+ given process. This is necessary since a file descriptor is
+ used to directly index the array of event handlers maintained by
+ the Reactor's handler repository. Direct indexing is used for
+ efficiency reasons.
+
+Thu Nov 1 06:38:30 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/ACE.cpp: Fixed some minor formatting problems so that
+ format_hexdump() works properly. Thanks to Kyle Brost
+ <Kyle.Brost@quest.com> for reporting this.
+
+ * ace/config-win32.h: Include the config-cygwin32.h file when
+ __CYGWIN32__ is enabled. Thanks to Johnny Willemsen for
+ reporting this.
+
+ * ace/Synch.i (remove): Added some casts to make certain compilers
+ happy? Thanks to Guillaume Renaud <guillaume.renaud@valtech.fr>
+ for reporting this.
+
+ * ace/OS.i: Updated the Win32 version of ACE_OS::llseek(). Thanks to
+ Doron Rajwan <doron@BANDWIZ.COM> for reporting this.
+
+Wed Oct 31 11:25:40 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/OS.h: The ACE_OS::llseek() method must be static! Thanks to
+ Doron Rajwan <doron@BANDWIZ.COM> for reporting this.
+
+Tue Oct 30 08:30:16 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/RB_Tree.cpp (operator=): Make sure to check for self-assignment
+ in the operator=. Thanks to Johnny Willemsen for reporting
+ this.
+
+Mon Oct 29 05:23:56 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Naming_Context.{h,cpp}: Moved ACE_STATIC_SVC_REQUIRE from the
+ .h file to the .cpp file to avoid multiple definitions. Thanks to
+ Boris Kaminer <boris.kaminer@orcsoftware.com> for reporting this.
+
+Sun Oct 28 10:05:32 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/config-macosx.h:
+ * include/makeincludes/platform_macosx.GNU
+ Added new fixes to get this to work on MacOS X. Thanks to John
+ Michael Zorko <j.zorko@att.net> and Fikri Pribadi
+ <fikri@ugotacall.com> for contributing this.
+
+Wed Oct 24 23:59:13 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Configuration_Import_Export.cpp: Fixed a bug where a
+ check of a pointer was made rather than the character pointed to
+ by the pointer. Thanks to Juan Jose Comellas
+ <uanjo@comellas.org> for reporting this.
+
+Wed Oct 31 16:45:07 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/OS.h (llseek):
+
+ Made ACE_OS::llseek() a static method, as it was originally
+ intended to be. Thanks to Doron Rajwan <doron@BANDWIZ.COM> for
+ pointing out the problem.
+
+Tue Oct 30 22:53:57 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/Svc_Conf_l.cpp:
+
+ Fixed incorrect #line preprocessor directives.
+
+ * etc/Svc_Conf_l.cpp.diff:
+
+ Regenerated this diff so that it includes recent updates.
+
+Mon Oct 29 20:12:40 2001 Ossama Othman <ossama@uci.edu>
+
+ * tests/run_test.lst:
+
+ Added the Proactor test to the list of one-button tests to run.
+
+Mon Oct 29 20:04:40 2001 Ossama Othman <ossama@uci.edu>
+
+ * tests/Proactor_Test.cpp:
+
+ More patches from Alexander Libman. The Proactor_Test appears
+ to finally work on Linux.
+
+Mon Oct 29 17:49:21 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/TP_Reactor.cpp: Added some error checks at places where
+ token where acquired.
+
+Mon Oct 29 16:59:58 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/TP_Reactor.cpp (acquire_token): The acquire_token () called
+ acquire with a sleep hook. It was wrong. It should just unblock
+ the thread by sending notify. A bad cut and paste error
+ :(. Thanks to Graeme Clark <gclark@opentext.com> for reporting
+ this. This closes [BUGID 1077].
+
+Sun Oct 28 20:36:56 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/Map_T.i (clone):
+
+ Fixed syntax errors.
+
+ * ace/Svc_Handler.cpp (new):
+
+ Reverted Michael's change. It incorrectly altered the semantics
+ of the new operator, particularly when compiling with native
+ exception support enabled. Fixes a warning.
+
+Sun Oct 28 16:44:20 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/Timer_Hash_T.cpp (ACE_Timer_Hash_T):
+
+ Corrected syntax error that was introduced in the changes
+ described below by removing extraneous trailing bracket.
+
+Sun Oct 28 13:15:00 2001 Michael Kircher <Michael.Kircher@mchp.siemens.de>
+
+ * ace/ACE.i:
+ * ace/Activation_Queue.cpp:
+ * ace/Bound_Ptr.i:
+ * ace/Configuration.cpp:
+ * ace/Configuration_Import_Export.cpp:
+ * ace/Containers_T.cpp:
+ * ace/Future.cpp:
+ * ace/Handle_Gobbler.h:
+ * ace/Local_Tokens.i:
+ * ace/MEM_SAP.i:
+ * ace/Map_T.i:
+ * ace/Message_Block.cpp:
+ * ace/OS_Errno.cpp:
+ * ace/Object_Manager.cpp:
+ * ace/Obstack_T.cpp:
+ * ace/Refcounted_Auto_Ptr.i:
+ * ace/Remote_Tokens.i:
+ * ace/Strategies_T.cpp:
+ * ace/Stream.cpp:
+ * ace/Svc_Handler.cpp:
+ * ace/Synch_T.cpp:
+ * ace/TLI.cpp:
+ * ace/Timer_Hash_T.cpp:
+ * ace/Timer_Queue_T.cpp:
+ * ace/Unbounded_Queue.cpp:
+ * ace/Unbounded_Set.cpp:
+
+ Changed almost all direct usages of operator new in ACE to use
+ ACE_NEW_RETURN (Exceptions is Dump_T.h). In one case in
+ Stream.cpp the semantics changed slightly if operator new would
+ have been overloaded, see the "@@ Michael" comment.
+
+ When new got used with placement most of the usages got
+ replaced with ACE_NEW_MALLOC_RETURN. In some cases as in
+ Malloc_T.cpp, Map_Manager.cpp, PI_Malloc.i, Array_Base.cpp
+ special cases exist, where the macros would have incurred
+ different semantics and performance penalties.
+
+Fri Oct 26 07:37:43 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * bin/auto_run_tests.lst: Quoter example will not run in
+ minimum_corba builds.
+
+Wed Oct 24 08:04:36 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Reactor.h: Improved the documentation of the
+ end_reactor_event_loop ().
+
+Tue Oct 23 10:04:25 2001 Ossama Othman <ossama@uci.edu>
+
+ * tests/Proactor_Test.cpp:
+
+ Replaced uses of a static global lock with the
+ ACE_Static_Object_Lock singleton.
+
+ Fixed incorrect uses of the "%l" format specifier. "%d" is the
+ expected format specifier.
+
+ (Acceptor):
+
+ Initialize the "sessions_" member in the base member initializer
+ list. Corrects a problem where the session number initially
+ contained a "garbage" value.
+
+Mon Oct 22 17:55:00 2001 Craig Rodrigues <crodrigu@bbn.com>
+
+ * ace/Svc_Conf_l.cpp: Remove include of stdlib.h, fix g++/Solaris
+ build.
+
+Mon Oct 22 15:54:29 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/config-hpux-10.x-hpc++.h: Remove hard-coded setting of
+ ACE_HAS_EXCEPTIONS. It is controlled by platform_hpux_aCC.GNU.
+
+Mon Oct 22 15:50:35 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * THANKS: Added Chris Hughes name to the Hall of Fame
+
+Sun Oct 21 16:44:41 2001 Ossama Othman <ossama@uci.edu>
+
+ * tests/Proactor_Test.cpp (disable_signal):
+
+ Fixed warnings regarding a method that "hid" virtual function
+ with the same name, in addition to unused argument warnings.
+
+Sun Oct 21 15:22:57 2001 Ossama Othman <ossama@uci.edu>
+
+ * tests/Proactor_Test.cpp:
+
+ Fixed warning about deprecated conversion of "const char *" to
+ "char *" exhibited by GCC 3.0.x builds.
+
+Sun Oct 21 12:50:39 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/LSOCK.cpp: The ACE_LSOCK::recv_handle() was returning success
+ without setting the I/O handle. Thanks to Rick Ohnemus
+ <rick.ohnemus@systemware.com> for reporting this.
+
+ * ace/config-freebsd-pthread.h: Changed
+ #if (__FreeBSD_version > 430000) to
+ #if (__FreeBSD_version > 440000) to get ACE to work with FreeBSD 4.4.
+ Thanks to Gu Song <gusong_m@yahoo.com> for reporting this.
+
+Fri Oct 19 06:44:17 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * examples/Reactor/WFMO_Reactor/test_window_messages.cpp:
+ Don't use a global Event_Handler object since this violates the
+ design rules for the ACE_Reactor.
+
+Sun Oct 21 13:39:27 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * bin/auto_run_tests.lst: Added the Quoter example in
+ $TAO_ROOT/examples to the list of tests in the daily builds.
+
+Thu Oct 18 20:56:53 2001 Ossama Othman <ossama@uci.edu>
+
+ * tests/Proactor_Test.cpp:
+
+ Added no-op main() function for platforms that do not support
+ asynchronous IO.
+
+Thu Oct 18 22:46:09 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/TP_Reactor.h:
+ * ace/TP_Reactor.cpp: Fixed warnings in Sun CC and TRU 64 builds.
+
+Thu Oct 18 20:42:55 2001 Ossama Othman <ossama@uci.edu>
+
+ * tests/Proactor_Test.cpp:
+
+ Fixed Unicode build errors.
+
+Thu Oct 18 19:52:44 2001 Craig Rodrigues <crodrigu@bbn.com>
+
+ * ace/SString.h: clarify example in comments to ACE_Tokenize
+ so that constant strings are not passed in its constructor.
+
+ * examples/OS/Process/process.cpp: do not pass constant strings
+ to ACE_Tokenize constructor. Thanks to
+ Werner Buchert <w.buchert@medat.de> and
+ Don Hinton <dhinton@swan.fr>.
+
+Wed Oct 17 23:56:45 2001 Ossama Othman <ossama@uci.edu>
+
+ * tests/Proactor_Test.cpp:
+ * tests/Proactor_Test.dsp:
+
+ Proactor test contributed by Alexander Libman
+ <alibman@baltimore.com>.
+
+ * tests/tests.dsw:
+
+ Added Proactor_Test project to the tests workspace.
+
+Wed Oct 17 18:59:53 2001 Christopher Kohlhoff <chris@kohlhoff.com>
+
+ * include/makeinclude/install.bor:
+ Borland makefile fix to ensure that, when doing the install
+ target, core executables are built correctly if they don't
+ already exist.
+
+Wed Oct 17 09:15:10 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/config-linux-common.h: Clarified that this file should
+ not be included directly! Thanks to Suresh N
+ <suresh.n@vergiltech.com> for reporting this.
+
+Wed Oct 17 16:00:19 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * THANKS: Added Graeme Clark to the Hall of Fame.
+
+Wed Oct 17 15:49:20 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/TP_Reactor.cpp:
+ * ace/TP_Reactor.h: Added remove_handler () calls to the
+ TP_Reactor. Before this, the call on the reactor used to be
+ handled by the Select_Reactor's implementation. The
+ implementation has a problem. It tries to call handle_close ()
+ (an upcall) as one of the calls after holding the token. This
+ was asking for trouble. This could lead to deadlocks as
+ mentioned in [BUG ID 1055].
+
+ The method in the TP_Reactor now calls remove_handler () on the
+ Select_Reactor (its base class) with a DONT_CALL flag. Then it
+ calls handle_close () on the Event_Handler if the user did not
+ pass in the DONT_CALL mask. This two step process would get
+ around the problem that was mentioned before. Thanks to Graeme
+ Clark <gclark@opentext.com> for reporting the problem and
+ testing this fix.
+
+ This should close [BUG ID 1055].
+
+Wed Oct 17 10:40:17 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_Accept_Handler.cpp (ssl_accept):
+ * ace/SSL/SSL_Connect_Handler.cpp (ssl_connect):
+
+ If errno is set to EWOULDBLOCK for the SSL_ERROR_SYSCALL case,
+ then continue the connection establishment loop. Do not return
+ right away. Fixes non-blocking connection establishment on AIX.
+ Thanks to Vladimir Chovanec <Vladimir.CHOVANEC@asset.sk> for
+ providing this fix.
+
+ * ace/SSL/SSL_SOCK_Stream.h (notify):
+
+ Made this method protected. It isn't intended to be used
+ internally by the ACE_SSL_SOCK_Stream class.
+
+Wed Oct 17 12:15:15 2001 Chris Cleeland <cleeland_c@ociweb.com>
+
+ * ace/Select_Reactor_T.cpp (handle_error, check_handles): Add
+ vxworks to the ever-growing list of OSs which return
+ unpredictable values in errno when there's a bad file descriptor
+ in a select mask. [Bug 1058].
+
+ Thanks to Dave Arndt <darndt@oresis.com>, Tad Hetke
+ <thetke@oresis.com>, and Erik Johannes <ejohannes@oresis.com>
+ for tracking down and providing this fix.
+
+Tue Oct 16 23:08:27 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/Svc_Conf.h (ACE_Svc_Conf_Param):
+
+ Added a new ACE_Obstack attribute that is passed down to the
+ parser and scanner. This obviates the need for the global
+ pointer to the ACE_Obstack that was formally used, which in turn
+ avoids a race condition.
+
+ (ace_obstack):
+
+ No longer a need to maintain a global pointer to the ACE_Obstack
+ instance used during parsing/scanning.
+
+ * ace/Svc_Conf.y:
+ * ace/Svc_Conf.l:
+
+ Retrieve the Obstack from the parameter passed down to yyparse()
+ and yylex() instead of using the (now non-existent) global
+ instance. This is part of a race condition fix.
+
+ * ace/Svc_Conf_y.cpp:
+ * ace/Svc_Conf_l.cpp:
+
+ Updated to pull in the changes made to the source files from
+ which these files were generated.
+
+ * ace/Service_Config.cpp (process_directives_i):
+
+ The global ACE_Obstack pointer used during each Service
+ Configurator parse has been removed. An ACE_Obstack instance is
+ now passed down to the parser and scanner in a
+ reentrant/thread-safe manner via the new ACE_Svc_Conf_Param
+ parameter. As such, there is no longer any need to maintain a
+ global pointer to the ACE_Obstack instance in use, nor is it
+ necessary to store/restore the previous value when performing
+ nested or parallel Service Configurator directive processing.
+ This fixes a race condition that was causing some memory
+ corruption when parsing Service Configurator directives in
+ parallel.
+
+ Note that the ACE_Obstack is now instantiated on the stack
+ rather than the heap, thus improving Service Configurator
+ directive processing performance.
+
+Mon Oct 15 23:16:55 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/Service_Config.h (process_directives_i):
+
+ Updated the signature of this method to accept a parameter that
+ will eventually passed to the parser and the scanner.
+
+ * ace/Service_Config.cpp:
+
+ No need to include "ace/Svc_Conf_Lexer_Guard.h" and
+ "ace/Object_Manager.h".
+
+ (process_directives_i):
+
+ Updated the signature of this method to accept a parameter that
+ will eventually passed to the parser and the scanner.
+
+ Pass the "ACE_Svc_Conf_Param" parameter to the yyparse() call.
+ This is reentrant/thread-safe.
+
+ Check the error count found in the "ACE_Svc_Conf_Param" object.
+ It's count is incremented in a thread-safe/reentrant manner.
+
+ (process_directive, process_directives):
+
+ The ACE_Svc_Conf_Lexer_Guard and its accompanying
+ synchronization has been moved to the generated scanner code.
+ This makes locking finer grained. Specifically, instead of
+ holding a lock for the duration of the scope within which
+ service configurator directive parsing and scanning is
+ performed (e.g. for the duration of the yyparse() call), the
+ lock is only held for the duration of the scope where service
+ configurator directive scanning occurs (i.e. the entire yylex()
+ call is synchronized). This is part of the core fix that
+ corrects a deadlock that occurred when activating an ACE_Task,
+ in conjunction with the singleton instance of the
+ ACE_Thread_Manager, during Service Object initialization.
+ [Bug 1036]
+
+ * ace/Service_Config.i:
+
+ Cosmetic update.
+
+ * ace/Svc_Conf.h:
+
+ Added declaration and method definitions for the
+ ACE_Svc_Conf_Param class. Instances of this class contain the
+ state used when parsing/scanning a given service configurator
+ file or service configurator directive.
+
+ (ACE_SERVICE_DIRECTIVE_STACK_DEPTH):
+
+ There is no longer any hard-coded limit on the maximum depth
+ nested service configurator directives may be processed. Only
+ process resource limits limit the maximum nesting depth.
+
+ (ace_yyparse, ace_yylex):
+
+ Updated the parser and lexer entry points to accept an
+ additional parameter, i.e. a pointer to an ACE_Svc_Conf_Param
+ object.
+
+ (ace_yy_push_buffer, ace_yy_pop_buffer):
+
+ Pass a pointer to the buffer that will be "switched" in our out
+ when processing nested service configurator directives those
+ that are processed in parallel.
+
+ * ace/Svc_Conf.l:
+
+ Removed array that implemented the service configurator
+ directive stack. The "stack" is now implemented using the
+ function call stack itself. Hence there is no hard-coded limit
+ to the stack size.
+
+ Removed all references to ACE_{LPAREN, RPAREN, LBRACE, RBRACE,
+ COLON, STAR}. Just return their corresponding symbolic integer
+ constants (e.g. ACE_COLON --> ':').
+
+ Increment error and line count in the ACE_Svc_Conf_Param object
+ passed to the yylex() function from yyparse(). This improves
+ reentrance/thread-safety when tracking error counts.
+
+ (yy_push_buffer, yy_pop_buffer):
+
+ Pass a pointer to the buffer that will be "switched" in our out
+ when processing nested service configurator directives those
+ that are processed in parallel.
+
+ * ace/Svc_Conf.y:
+
+ Removed all references to ACE_{LPAREN, RPAREN, LBRACE, RBRACE,
+ COLON, STAR}. Just use their corresponding symbolic integer
+ constants (e.g. ACE_COLON --> ':').
+
+ Increment error and line count in the ACE_Svc_Conf_Param object
+ passed to the yylex() function from yyparse(). This improves
+ reentrance/thread-safety when tracking error counts.
+
+ * ace/Svc_Conf_Lexer_Guard.h:
+
+ Store a pointer the lexer buffer currently being scanned.
+
+ * ace/Svc_Conf_Lexer_Guard.cpp:
+
+ Updated constructor to accept a pointer to an ACE_Svc_Conf_Param
+ object. If the buffer in that object is zero, it will be
+ initialized.
+
+ * ace/Svc_Conf_l.cpp:
+ * ace/Svc_Conf_y.cpp:
+ * ace/Svc_Conf_Tokens.h:
+
+ Regenerated these files in order to pull in the updates made to
+ their corresponding source files (i.e. Svc_Conf.{l,y}).
+
+Mon Oct 15 11:26:39 2001 Steve Huston <shuston@riverace.com>
+
+ * examples/C++NPv2: New directory for examples in "C++ Network
+ Programming, Volume 2: Systematic Reuse with ACE and Frameworks"
+ Moved these changes to the new directory, and reverted the
+ C++NPv1 files to their ACE 5.2 state:
+ Sun Oct 14 17:05:14 2001 Douglas C. Schmidt
+ Tue Oct 9 07:46:20 2001 Douglas C. Schmidt
+
+Sun Oct 14 17:05:14 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * examples/C++NPv1/Logging_Handler.{h,cpp}: Changed log_file_ from
+ a reference to a pointer so that it can be initialized
+ correctly. Thanks to Kitty for reporting this.
+
+Fri Oct 12 14:54:58 2001 Craig Rodrigues <crodrigu@bbn.com>
+
+ * ace/OS.i:
+ Remove extraneous check for macro ACE_HAS_WINSOCK2_GQOS,
+ which was breaking various builds under Windows.
+ Thanks to Jeff McNiel <JMcNiel@datacrit.com> for pointing it out.
+
+Fri Oct 12 12:15:22 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * bin/nightlybuilds/builds.lst:
+ The QNX machine is no longer running that OS, plus attempts to
+ bring it back to life failed. The build is removed until
+ further notice.
+
+Thu Oct 11 17:52:32 2001 Priyanka Gontla <pgontla@ece.uci.edu>
+
+ * ace/SOCK_Dgram_Mcast.cpp:
+ Somehow the file didnt get committed yesterday. So, committing
+ the following change now.
+
+ Wed Oct 10 16:56:18 2001 Priyanka Gontla <pgontla@ece.uci.edu>
+
+Thu Oct 11 10:57:58 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * ace/RB_Tree.h:
+ * ace/RB_Tree.i:
+ * ace/RB_Tree.cpp:
+ Reverted to the 5.2 release state. The proposed changes were
+ breaking some builds, and they were not bug fixes in any case.
+
+Wed Oct 10 16:56:18 2001 Priyanka Gontla <pgontla@ece.uci.edu>
+
+ * ace/SOCK_Dgram_Mcast.cpp:
+ Reverted the following change as it ended up with some problems
+ for multicast services.
+
+ Fri Oct 5 14:40:03 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+Wed Oct 10 06:16:52 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Activation_Queue.{h,cpp}: Added support for two ACE_Allocator that
+ will control how the message blocks and data blocks are
+ allocated. Thanks to Gil Rapaport <grapaport@comgates.co.il>
+ for contributing this.
+
+ * examples/Reactor/WFMO_Reactor/test_apc.cpp (main):
+ * examples/Reactor/WFMO_Reactor/test_abandoned.cpp (main): Don't
+ use a global Event_Handler since this violates the design rules
+ for the ACE_Reactor. Thanks to Heping He
+ <heping.he@riskmetrics.com> and Hartmut Quast
+ <HartmutQuast@t-online.de> for reporting this and to Irfan for
+ suggesting where the problem arose.
+
+Tue Oct 9 07:46:20 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * examples/C++NPv1/Logging_Handler.h: Added a new constructor to
+ class Logging_Handler that just takes an ACE_SOCK_Stream. We
+ need to use this in C++NPv2.
+
+ * ace/Message_Queue_T.cpp (wait_not_full_cond): Thanks to Leo Kov
+ <leo_kov@hotmail.com> for reporting this.
+
+ * ace/TTY_IO.cpp (control): Inserted some useful
+ ACE_OS::set_errno_to_last_error() calls. Also, for Win32 made
+ readtimeoutmsec == 0 cause no timeout, whereas readtimeoutmsec
+ == MAXDWORD causes infinite timeout. Thanks to Lars Steubesand
+ <Lars_Steubesand@hsgmed.com> for reporting this.
+
+Mon Oct 8 20:19:44 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * examples/DLL/test_dll.cpp: There's no need to specify
+ ACE_DLL_SUFFIX as it prevent ACE_Lib_Find to figure out the
+ correct DLL name.
+
+ The ACE_ERROR_RETURN macro store and reset the errno so there's
+ no need to use dll.error() with it. Changed to use "%p" to
+ display the error.
+
+ Thanks to Heping He <heping.he@riskmetrics.com> for reporting
+ the problem.
+
+Mon Oct 8 11:15:21 2001 Angelo Corsaro <corsaro@doc.ece.uci.edu>
+
+ * ace/RB_Tree.h (class ACE_RB_Tree_Node):
+ * ace/RB_Tree.i:
+
+ Changed access privilege on the operator new/delete to be
+ public, and added assertion in those method implementation to
+ make sure that wrong use of these method are promptly notified.
+ This changes should fix the problem that some compiling were
+ still having with RB_Trees.
+
+Sat Oct 06 23:06:41 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_Accept_Handler.cpp (ssl_accept):
+ * ace/SSL/SSL_Connect_Handler.cpp (ssl_connect):
+ * ace/SSL/SSL_SOCK_Stream.i (send_i, recv_i, close):
+
+ Removed the do/while(SSL_pending()) loop. Its introduction into
+ the code was a bit misguided. There is no need to flush the SSL
+ buffer before returning to the Reactor's event loop since the
+ code now sends a notification to the Reactor to force the
+ Reactor to invoke the event handler before waiting in the event
+ loop. This fixes some SSL protocol errors that manifested
+ during multithreaded SSL communication. [Bug 943]
+
+ * ace/SSL/SSL_SOCK_Acceptor.cpp (ssl_accept):
+
+ It is no longer necessary to call SSL_accept()/connect() to
+ flush the SSL buffer before running the Reactor's event loop
+ since the Reactor is notified that it should call the
+ appropriate event handler before blocking on select() for
+ WaitForMultipleObjects(), for example.
+
+ * ace/SSL/SSL_SOCK_Stream.cpp (reactor, handler):
+
+ New methods to set the Reactor and event handler associated with
+ the ACE_SSL_SOCK_Stream. If each of these is set, then the
+ Reactor will be notified if data is still pending in the SSL
+ buffer.
+
+ (~ACE_SSL_SOCK_Stream):
+
+ Uninlined the destructor. There is no need for it to be
+ inlined, and doing so only caused unnecessary code bloat.
+
+ * ace/SSL/SSL_SOCK_Stream.h (notify, reactor, handler):
+
+ Added these new method declarations, in addition to the
+ corresponding attributes.
+
+ Updated documentation.
+
+ * ace/SSL/SSL_SOCK_Stream.i (notify):
+
+ Method that pushes the event handler on to the Reactor's
+ notification pipe when necessary. Invoked by recv_i() and
+ send_i().
+
+ * ace/SSL/SSL_SOCK_Acceptor.h:
+ * ace/SSL/SSL_SOCK_Connector.h:
+ * ace/SSL/SSL_Accept_Handler.h:
+ * ace/SSL/SSL_Connect_Handler.h:
+
+ Updated documentation.
+
+Sat Oct 6 16:04:29 2001 Angelo Corsaro <corsaro@doc.ece.uci.edu>
+
+ * ace/RB_Tree.h:
+ * ace/RB_Tree.i:
+
+ The operator new and delete were declared to be No-Op but were
+ not implemented as such. This was breaking some builds. Now the
+ operator are declared as private and they also have a no-op
+ implementation. This should solve some linking error that were
+ occurring.
+
+Sat Oct 6 11:17:22 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * THANKS: Added Adrian Mercieca to the hallf of fame.
+
+Fri Oct 05 18:30:59 2001 Irfan Pyarali <irfan@cs.wustl.edu>
+
+ * ace/RW_Process_Mutex.cpp: Added inclusion ACE.h and fixed member
+ initialization.
+
+Fri Oct 5 18:16:53 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/SString.h:
+ * ace/SString.cpp: Changes the usage of ostream to
+ ACE_OSTREAM_TYPE. Thanks to Russ Noseworthy for letting us
+ know.
+
+Thu Oct 4 07:10:01 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/RB_Tree.*: Added support for using the "ACE_Allocator" parameters
+ to manage memory. Thanks to Airat A. Sadreev <airatsa@nm.ru>
+ for reporting contributing this.
+
+Wed Oct 3 07:20:06 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/RW_Process_Mutex.{h,cpp}: Added the ability to create a
+ unique name if the user doesn't supply one. Thanks to Tom
+ Wagner <TomW@CoManage.net> for suggesting this.
+
+ * ace/Synch.h: Clarified that the timed wait capabilities of
+ ACE_Semaphore only work on Solaris if ACE_HAS_PTHREAD is enabled
+ *and* ACE_HAS_POSIX_SEM/ACE_HAS_STHREAD are disabled. Thanks to
+ Bonifides Bautista <earlboy@my-deja.com> for reporting this.
+
+Fri Oct 5 12:48:48 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_SOCK_Stream.i (close):
+
+ Reset the SSL object to allow another connection to be made
+ using the existing ACE_SSL_SOCK_Stream instance. This prevents
+ the previous SSL session state from being associated with the
+ new SSL session/connection. Thanks to Vladimir Chovanec
+ <Vladimir.CHOVANEC@asset.sk> for pointing out this problem and
+ suggesting a course of action.
+
+Fri Oct 5 14:40:03 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/SOCK_Dgram_Mcast.cpp (open): Removed the #if defined (linux)
+ from the code. Looks like this had to be removed to get it
+ working for RTI under Linux. The other ChangeLog entries that
+ this change is concerned with are "Sat Feb 17 17:23:46 2001
+ Darrell Brunsch <brunsch@uci.edu>" and "Fri Jan 26 11:18:15 2001
+ Douglas C. Schmidt". Looks like the patch provided by Keith
+ Nicewarner <knicewar@erg.sri.com> is being reverted. I remember
+ a communication from Keith which seemed to hint that this may
+ not be required.
+
+ Thanks to Russ Noseworthy for suggesting this.
+
+Fri Oct 5 14:04:39 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * THANKS: Added Hagen Ulrich to the Hall of Fame.
+
+Fri Oct 5 13:55:02 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Makefile: Removed the SUPPRESS_DASH_G option. Not really
+ sure where it is used. Further, added a tab to the place where
+ rules for CHORUS are set. This should fix BUGID 1049. Thanks to
+ Hagen Ulrich <ulrich.hagen@siemens.com> and Dr.David Levine for
+ reporting and verifying the fix.
+
+Fri Oct 05 05:56:50 2001 Balachandran <bala@cs.wustl.edu>
+
+ * ACE version 5.2 released.
+
+Thu Oct 4 17:38:21 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/Synch.h: Added some comments to explain the rationale for
+ the different return values from the blocking and timed
+ versions of ACE_Null_Semaphore::acquire(). Thanks to Doug
+ Schmidt for explaining this.
+
+Thu Oct 4 17:27:39 2001 Steve Huston <shuston@riverace.com>
+
+ * examples/C++NPv1/Logging_Handler.cpp (recv_log_record): Insure that
+ the payload message block is properly aligned for any CDR
+ extraction. Many thanks to Bala for noticing this problem and
+ sending code for the fix.
+
+Thu Oct 4 17:08:39 2001 Steve Huston <shuston@riverace.com>
+
+ * examples/C++NPv1/Process_Per_Connection_Logging_Server.cpp:
+ In prepare(), call ACE_Process_Options::command_line() rather
+ than ACE_Process_Options::process_name() to set the program
+ path for the child process.
+
+Thu Oct 4 13:18:37 2001 Steve Huston <shuston@riverace.com>
+
+ * examples/C++NPv1/Logging_Handler.cpp: Use a ACE_Message_Block,
+ rather than hijacking a CDR block, to read the payload into.
+
+Thu Oct 4 10:14:34 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * THANKS: Added Donald Acton to the Hall of Fame.
+
+Thu Oct 4 06:39:20 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/config-sunos5.5.h: Added ACE_LACKS_MKSTEMP as SunOS 5.5 does
+ not support mkstemp ().
+
+ * ace/config-sunos5.6.h: Undefined ACE_LACKS_MKSTEMP as Sun 5.6
+ and above support it.
+
+ Thanks to Don Hinton <dhinton@swan.fr> for reporting this
+ problem and Chad Elliott for testing this out on a Sun OS 5.5
+ box.
+
+Wed Oct 3 16:37:41 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/CDR_Stream.cpp (read_1): Reverted this change "Wed Oct 3
+ 15:05:43 2001 Jeff Parsons <parsons@cs.wustl.edu>". This
+ change is alone not enough to fix the problem that Brad
+ reported. The sample program for the text needs to be fixed to
+ get it working right.
+
+Wed Oct 3 15:05:43 2001 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * ace/CDR_Stream.cpp (read_1);
+
+ Reverted changed made in
+
+ Fri Aug 17 16:56:16 2001 Jeff Parsons <parsons@cs.wustl.edu>
+
+ to read_1(). A similar change made in several other methods is
+ ok, but in this case bytes can be copied into the input CDR
+ stream without changing wr_ptr, so the check will fail
+ unnecessarily. Thanks to Brad Hoskins <BHoskins@slo.newport.com>
+ for pointing this out.
+
+Wed Oct 2 12:18:37 2001 Steve Huston <shuston@riverace.com>
+
+ * examples/C++NPv1/Logging_Server.cpp: Fixed spelling error.
+ * examples/C++NPv1/Logging_Handler.cpp: Comment length adjustment.
+
+Tue Oct 2 21:52:31 2001 Steve Huston <shuston@riverace.com>
+
+ * examples/C++NPv1/Logging_Client.cpp: Reverted this:
+ Mon Oct 1 18:27:41 2001 Steve Huston <shuston@riverace.com>
+
+Tue Oct 2 19:52:57 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * Makefile: Removed some of the files that no longer exist in the
+ repository. The inclusion of these files in the Makefile added
+ noise during the beta cutting process.
+
+Tue Oct 02 15:34:49 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * etc/tao_cosevent.doxygen:
+ * etc/tao_cosnotification.doxygen:
+ Fixed typos in the tag file names.
+
+Tue Oct 2 15:52:27 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * THANKS: Added Sunny Leung to the Hall of Fame.
+
+Tue Oct 2 15:33:36 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * THANKS: Removed one instance of Peter Phillips
+ <pphillip@opentext.com> from the Hall of Fame.
+
+Tue Oct 2 15:00:37 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/CDR_Stream.cpp (clone_from): Copied the GIOP major and minor
+ versions from the incoming CDR stream. Thanks to Sunny Leung
+ <sleung@opentext.com> for reporting this. This closes bugzilla
+ #1043.
+
+Tue Oct 2 09:45:39 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/libDLL_Test.icc:
+ * tests/libService_Config_DLL.icc: Add link(exportAll) to the link
+ options to export the entrypoints needed for the tests.
+
+Mon Oct 1 20:04:14 2001 Priyanka Gontla <pgontla@ece.uci.edu>
+
+ * THANKS:
+ Added Tushar Nair to the THANKS file.
+
+Mon Oct 1 18:06:48 2001 Priyanka Gontla <pgontla@ece.uci.edu>
+
+ * ace/Object_Manager.cpp (ACE_UnhandledExceptionFilter):
+ Removed the un-needed #if 0's. Left them before as a safety
+ measure (in case something doesnt work) and forgot to remove
+ them later.
+
+ * ace/Log_Msg.cpp (instance):
+ Fixed the seg faults that are raised when ace is compiled with
+ ACE_NTRACE=0 on SunOS. Added a check before locking and
+ releasing a lock.
+
+ Thanks to Tushar Nair <ntushar@yahoo.com> for reporting the
+ problem and for providing a fix.
+
+Mon Oct 1 18:27:41 2001 Steve Huston <shuston@riverace.com>
+
+ * examples/C++NPv1/Logging_Client.cpp: Remove the third (optional)
+ arg from getline(). Using a char literal without further
+ qualification causes confusion in Unicode builds.
+
+Mon Oct 1 14:44:13 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_Context.cpp (ssl_library_init):
+
+ Initialize the locking callbacks in the crypto library before
+ initializing the OpenSSL library. OpenSSL may require the
+ locking callbacks to be initialized before its own
+ initialization.
+
+ * ace/SSL/SSL_Context.cpp (ssl_library_fini):
+
+ Perform crypto library resource cleanup before reclaiming the
+ locks used by the locking callbacks. Crypto library resource
+ cleanup makes use of the locking callbacks.
+
+Mon Oct 1 15:19:11 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * examples/C++NPv1/README: Added a section that illustrates the
+ mapping of chapters onto files in the directory.
+
+Mon Oct 1 12:58:57 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/TP_Reactor.cpp (handle_socket_events): A fix for the problem
+ that started showing up this time is like this. One of the
+ threads was dispatching an upcall. In the intermediate time the
+ Reactor woke up another thread to close the handler, remember
+ that this is possible with the TP_Reactor if the application
+ resumes the handles (the way TAO does that). Now when the thread
+ that that dispatched the upcall returned it tries to invoke a
+ method on the already closed handle. To prevent that from
+ happening we make an extra check to see whether the handle
+ associated with the handler is still available in the internal
+ map of the Reactor. As this check is done in the return path of
+ the thread this should have less performance impact. This is
+ another reason why we should have #1031 in place ASAP.
+
+Mon Oct 1 12:23:57 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * bin/nightlybuilds/builds.lst (WEB): Changed the name of the
+ Sun's EGCS build. We have not been using EGCS but 2.95.x for a
+ long time now.
+
+Mon Oct 1 10:46:15 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * bin/PerlACE/Run_Test.pm (check_n_cleanup_files): Removed the
+ word "ERROR" when files are left behind. This was creating noise
+ in the daily builds. We have captured the problem in the
+ bugzilla with id #1014. After 1.2 goes out, if someone is
+ looking at this problem again we need to add this back so that
+ our daily builds can pick them up.
+
+Sun Sep 30 17:25:33 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_SOCK_Stream.i (send_i, recv_i):
+
+ Reset errno to prevent previous values (e.g. EWOULDBLOCK) from
+ being associated with a fatal SSL error (e.g. an alert).
+
+Sun Sep 30 16:52:22 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_Asynch_Stream.cpp (do_SSL_shutdown):
+
+ Return the "retval" variable instead of always returning -1.
+ The actual return value may not always be -1. Thanks to Alain
+ Totouom <atotouom@gmx.de> for providing this fix.
+
+ * THANKS:
+
+ Added Alain to the list of contributors.
+
+Sun Sep 30 09:13:04 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_SOCK_Acceptor.cpp (ssl_accept):
+ * ace/SSL/SSL_SOCK_Connector.cpp (ssl_connect):
+
+ Made reactor mask constant to emphasize the fact that it is
+ indeed a constant.
+
+Sat Sep 29 08:07:07 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Configuration.{h,cpp}: Changed "allocator" to "alloc" to
+ avoid bugs with MSVC++ 5.0. Thanks to Munagala Ramanath
+ <amberarrow@yahoo.com> for reporting this.
+
+ * ACE-INSTALL.html: Yet more improvements courtesy of Chris
+ Kohloff.
+
+Fri Sep 28 23:38:07 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_Accept_Handler.cpp (ssl_accept):
+
+ Cleaned up the code.
+
+ Do not attempt to verify the X.509 certificate. Only the
+ application knows how best to do that.
+
+ * ace/SSL/SSL_Context.cpp (ssl_library_init):
+
+ Fixed some Unicode problems. Wrap strings within an ACE_TEXT
+ macro.
+
+ * ace/SSL/SSL_Connect_Handler.cpp (ssl_connect):
+ * ace/SSL/SSL_SOCK_Stream.i:
+
+ Corrected some comments.
+
+ * ace/SSL/SSL_SOCK_Stream.h (send_n, recv_n):
+
+ Added a "bytes transferred" pointer parameter. This allows the
+ amount of bytes transferred to returned via this parameter, thus
+ matching the semantics of their ACE_SOCK_Stream counterparts.
+
+ * ace/SSL/SSL_SOCK_Stream.cpp (send):
+
+ Do not block attempt a timed send() if data is available in
+ OpenSSL's internal buffer. This prevents a condition where
+ needlessly blocking on select() would occur. A similar fix for
+ recv() was made earlier. See Fri Aug 24 16:54:02 2001 Ossama
+ Othman <ossama@uci.edu> for details.
+
+ (send_n, recv_n):
+
+ If the "bytes transferred" pointer parameter is non-zero then
+ return the amounts of bytes transferred through it. This makes
+ these methods better match the semantics of their
+ ACE_SOCK_Stream counterparts.
+
+Fri Sep 28 19:24:51 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/config-hpux-11.00.h: Moved the definitions for ACE_HAS_WCHAR
+ and ACE_HAS_XPG4_MULTIBYTE_CHAR from the compiler-independent
+ section to the aC++ section. (at least) gcc 3.0 distributed from
+ HP can't handle compiling wide char stuff... it refers to
+ wctype.h, only available in aC++.
+
+Fri Sep 28 12:46:25 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_Context.cpp (report_error):
+
+ Don't bother displaying an error message if the error code is
+ zero (i.e. no error).
+
+Fri Sep 28 12:31:39 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_SOCK_Acceptor.cpp (ssl_accept):
+
+ Transfer ownership of the Reactor to the previous owner for the
+ SSL_ERROR_ZERO_RETURN case. Thanks to Vladimir Chovanec
+ <Vladimir.CHOVANEC@asset.sk> for pointing out this problem.
+
+ Remove the SSL event handler from the reactor for the
+ SSL_ERROR_ZERO_RETURN case. Previously, this method returned
+ without removing it, resulting in a seg fault.
+
+ * ace/SSL/SSL_SOCK_Connector.cpp (ssl_connect):
+
+ Ported the updates made to the ssl_accept() counterpart to this
+ method.
+
+ * ace/SSL/SSL_Accept_Handler.cpp (ssl_accept):
+ * ace/SSL/SSL_Connect_Handler.cpp (ssl_connect):
+ * ace/SSL/SSL_SOCK_Stream.i (send_i):
+ * ace/SSL/SSL_SOCK_Acceptor.cpp (ssl_accept):
+ * ace/SSL/SSL_SOCK_Connector.cpp (ssl_connect):
+
+ In the event a SSL_ERROR_SYSCALL error condition occurs, call
+ ACE_OS::set_errno_to_last_error() to make sure errno is updated
+ appropriately since OpenSSL does not do that. Fixes some
+ "misbehaving" Reactor interactions. Thanks to Andrew Finnell
+ <Andrew.Finnell@esecurityinc.com> for tracking down the problem
+ and suggesting these fixes.
+
+Fri Sep 28 09:37:28 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_Context.h (report_error):
+ * ace/SSL/SSL_Context.cpp (report_error):
+
+ New SSL error reporting functions that use the ACE_Log_Msg
+ facilities to dump error information.
+
+ * ace/SSL/SSL_Context.cpp (set_mode):
+ * ace/SSL/SSL_SOCK_Acceptor.cpp (ssl_accept):
+ * ace/SSL/SSL_SOCK_Stream.i (send_i, recv_i):
+ * ace/SSL/SSL_Accept_Handler.cpp (ssl_accept):
+ * ace/SSL/SSL_Connect_Handler.cpp (ssl_connect):
+
+ Use the new report_error() static method to display error
+ information instead of OpenSSL's ERR_print_error_fp().
+
+ * ace/SSL/SSL_SOCK_Connector.cpp:
+
+ Include 'ace/Log_Msg.h' to pull ACE_ERROR macro definitions.
+ Fixes compile-time problems on Tru64. Thanks to Martin
+ Krumpolec for providing this fix. [Bug 1034]
+
+ (ACE_SSL_SOCK_Connector):
+
+ Wrap format specifier string in ACE_ERROR call with ACE_TEXT.
+ Fixes mismatched Unicode/non-unicode strings.
+
+Fri Sep 28 06:17:27 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/SPIPE_Acceptor.{h,cpp}: Fixed the use of "char" for
+ "already_connected_" to be "int". Thanks to Johnny Willemsen
+ for reporting this.
+
+ * ACE-INSTALL.html: Improved the installation instructions for BCB 4/5.
+ Thanks to Chris Kohloff for contributing this and to
+ Jan Kalin <jan.kalin@zag.si> for motivating this.
+
+ * ace/TTY_IO.cpp: Fixed numerous bugs in the control() method.
+ Thanks to Airat A. Sadreev <airatsa@nm.ru> for reporting this.
+
+ * ace/TTY_IO.h: Add a new field for Win32. Thanks to
+ Airat A. Sadreev <airatsa@nm.ru> for reporting this.
+
+Thu Sep 27 06:12:21 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/config-win32.h: Added a special-case for Borland C++ Builder,
+ which must include vcl.h before windows.h. Thanks to Chris
+ Kohloff for reporting this. This fixes Bug ID 899 for the time
+ being.
+
+ * ace/Module.cpp (ACE_Module): The line
+
+ this->name ("<unknown>");
+
+ was be replaced with
+
+ this->name (ACE_TEXT("<unknown>"));
+
+ Thanks to Airat A. Sadreev <sadreevaa@hq.tatenergo.ru> for
+ reporting this. This fixes bug id 1041.
+
+Thu Sep 27 13:09:19 2001 Bala <bala@cs.wustl.edu>
+
+ * ACE version 5.1.21 released.
+
+Tue Sep 25 16:12:14 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_SOCK_Stream.i (recv_i):
+
+ Use ACE_OS::set_errno_to_last_error() set errno instead of doing
+ so manually to get around broken compilers that reset the last
+ error when assigning to errno. Thanks to Chris Kohloff for
+ pointing out the problem and suggesting this fix.
+
+Tue Sep 25 13:00:37 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/Obstack.h: Fixed a typo when declaring ACE_Obstack
+ exportable. I mistakenly used the underlying
+ ACE_EXPORT_SINGLETON_DECLARATION macro directly.
+ ACE_SINGLETON_DECLARATION is the right macro to use here.
+ Thanks to Martin Krumpolec <krumpolec@asset.sk> for reporting
+ the bug.
+
+Tue Sep 25 09:12:28 2001 Andrew Finnell <Andrew.Finnell@esecurityinc.com>
+
+ * ace/SSL/SSL_SOCK_Stream.i (recv_i):
+
+ On MS Windows, OpenSSL does not store the last error in errno so
+ explicitly do so. This corrects problems where a server is
+ unaware that a client has forcefully disconnected.
+
+Tue Sep 25 00:01:59 2001 Irfan Pyarali <irfan@cs.wustl.edu>
+
+ * ace/Service_Repository.cpp (instance): There are three stages of
+ the Object Manager: (a) starting up; (b) running; (c) shutdown.
+ ACE_Service_Repository::instance() was not creating a new
+ instance in (a) and (c). It was changed to allow creation (a).
+
+Mon Sep 24 01:55:29 2001 Ossama Othman <ossama@uci.edu>
+
+ * bin/auto_run_tests.lst:
+
+ Added TAO's PICurrent test to the list of automated regression
+ tests.
+
+Sun Sep 23 19:28:06 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/Reactor.h (ACE_Reactor): Fixed comments for
+ <end_reactor_event_loop> and <reactor_event_loop_done>. Both
+ methods work on an instance of reactor, not the global singleton
+ reactor. Thanks to Doug for noticing this.
+
+Sun Sep 23 10:02:59 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/High_Res_Timer.h: Removed a question mark "?", in a line
+ which read "or sometimes 3.579 Mhz??". This seems to remove the
+ warning in VXWORKS builds. I have no clue about the problem that
+ VXWORKS compiler sees. It took only more than an hour to figure
+ this out. :(.
+
+Sat Sep 22 08:59:24 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Service_Manager.cpp (handle_input): Added some logic to
+ strip off newlines and carriage returns for Windows platforms.
+ Thanks to Kyle Brost <Kyle.Brost@quest.com> for contributing
+ this.
+
+Sat Sep 22 12:28:21 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/ACE_SSL_LIB.dsp:
+
+ Corrected code generation settings to use the multi-threaded DLL
+ version of the run-time library. Corrects "legacy" build
+ problems.
+
+Sat Sep 22 08:59:24 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/High_Res_Timer.{h,i,cpp}: Added comments to explain how
+ to configure the timers properly on various platforms. Thanks
+ to Alain Decamps <Alain.Decamps@PIDPA.be> for reporting this.
+
+ * ace/OS.i (ACE_Flow_Spec): Added a check for ACE_HAS_WINSOCK2_GQOS
+ so that things will compile properly on MinGW32. Thanks to Jeff
+ McNiel <JMcNiel@datacrit.com> for reporting this.
+
+Fri Sep 21 15:54:55 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/OS_Dirent.cpp: Fixed all the allocations so they work properly
+ when used with ACE_TCHAR! Thanks to Olof Lindfors
+ <olof.lindfors@protegrity.com>.
+
+Tue Sep 18 06:25:22 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/*Reactor*: Changed all uses of "delta_time" to "delay_time".
+ Thanks to Johnny Willemsen for reporting this.
+
+Sun Sep 16 11:53:38 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Connector.cpp (handle_output): Fixed the comment to be
+ ACE_WIN32. Thanks to Kobi Cohen-Arazi <kobi@mivzak.com> for
+ reporting this.
+
+Fri Sep 21 17:11:52 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Message_Block.h: Tried rewording some comments in the
+ ACE_Message_Block. Thanks to Tom Wagner <TomW@CoManage.net> for
+ suggesting this.
+
+ * THANKS: Added Tom Wagner <TomW@CoManage.net> to the Hall of
+ Fame.
+
+Fri Sep 21 22:11:53 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/ACE_SSL_LIB.dsp:
+
+ Removed hardcoded user-specific include paths, and user-specific
+ preprocessor macro definitions.
+
+Thu Sep 20 18:15:49 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/Config_Test.cpp: Added some more tests to verify correct
+ string value reset and enumerate values/sections.
+
+Thu Sep 20 12:29:09 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/ACE_SSL_LIB.dsp:
+ * ace/SSL/ACE_SSL_LIB.dsw:
+
+ New static build MSVC++ project and workspace files for the
+ ACE_SSL library contributed by Jonathan Reis <reis@stentor.com>.
+ [Bug 1032]
+
+Thu Sep 20 12:16:13 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_SOCK.cpp (enable, disable):
+
+ Removed unreachable "return" statements. [Bug 1033]
+
+ * ace/SSL/SSL_SOCK_Stream.i (ACE_SSL_SOCK_Stream):
+ * ace/SSL/SSL_SOCK_Stream.cpp:
+
+ Moved constructor to the ".cpp" file since to prevent inclusion
+ of `ace/Log_Msg.h' in `SSL_SOCK_Stream.h'. This fixes problems
+ with some platforms needing the Log_Msg include to pull in the
+ ACE_ERROR macros without needlessly increasing inter-header
+ dependencies and inclusions. [Bug 1034]
+
+Thu Sep 20 14:44:29 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/Process.cpp (ACE_Process_Options): Moved avoid_zombies_
+ initialization outside the !Win32 section. Thanks to Johnny
+ Willemsen <johnny.willemsen@meco.nl> for this fix.
+
+Thu Sep 20 06:28:50 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/config-hpux-11.00.h:
+
+ Reverting the change from "Wed Aug 29 15:32:10 2001 Douglas C.
+ Schmidt <schmidt@macarena.cs.wustl.edu>". HP-UX 11.00 does
+ not actually support pread/pwrite.
+
+Wed Sep 19 16:56:02 2001 Irfan Pyarali <irfan@cs.wustl.edu>
+
+ * ace/OS.h (THR_SCOPE_PROCESS and THR_SCOPE_SYSTEM): Added
+ definitions for THR_SCOPE_PROCESS and THR_SCOPE_SYSTEM on
+ platforms that do not support threads.
+
+Wed Sep 19 16:54:04 2001 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * ace/Containers_T.cpp:
+
+ In copy constructor for ACE_Double_Linked_List, added line to
+ copy the size of the rhs to the lhs. The new list was ending
+ up with a garbage value for its size.
+
+Wed Sep 19 14:15:08 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/ace_dll.dsp:
+ * ace/ace_lib.dsp: Enabled generation of debug info even for
+ release configurations. Thanks to Jonathan Reis
+ <reis@stentor.com> for suggesting this.
+
+Wed Sep 19 10:23:06 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * html/index.html:
+ Add couple of missing links to the RT-CORBA components
+
+Wed Sep 19 12:00:04 2001 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ACE-INSTALL.html:
+ Added BCB5 to some places as supported/used compiler
+
+ * ace/Future.h:
+ * ace/Test_and_Set.h:
+ Removed the ACE_EXPORT from the templates ACE_Future_Holder and
+ ACE_Test_and_Set
+
+ * ace/Service_Config.{h,cpp}:
+ Changed the type of the members be_a_daemon_ and no_static_svcs_
+ from char to int
+
+Tue Sep 18 13:57:36 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * */Makefile:
+ * */Makefile.*:
+ Updated dependencies, some of the paths were absolute leading to
+ ambiguities in parallel builds.
+
+Tue Sep 18 12:18:26 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * bin/footprint_stats.sh:
+ Fixed bug in footprint charts generation.
+
+Tue Sep 18 10:50:15 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * html/index.html:
+ Add COS Event and COS Notification services to the index.
+
+Mon Sep 17 19:00:00 2001 Irfan Pyarali <irfan@cs.wustl.edu>
+
+ * ace/OS.h:
+
+ - THR_SCOPE_PROCESS and THR_SCOPE_SYSTEM were not defined
+ for NT. Added them.
+
+ - Moved the following definitions of VxWorks around such
+ that these defines are available even when PACE is not
+ used.
+
+ THR_INHERIT_SCHED
+ THR_EXPLICIT_SCHED
+ THR_SCHED_IO
+ THR_SCOPE_SYSTEM
+ THR_SCOPE_PROCESS
+
+ * ace/OS.cpp: LinuxThreads do not have support for
+ PTHREAD_SCOPE_PROCESS; only PTHREAD_SCOPE_SYSTEM is supported.
+ Therefore, PTHREAD_SCOPE_PROCESS is ignored when setting the
+ thread scheduling scope.
+
+ * ace/Sample_History.cpp: Added accessors for <sample_count> and
+ <max_samples>.
+
+ * bin/auto_run_tests.lst: Added new RTCORBA tests. Removed
+ Minimum CORBA dependency on these tests.
+
+Mon Sep 17 13:49:07 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * etc/tao_cosevent.doxygen:
+ * etc/tao_cosnotification.doxygen:
+ Add new Doxygen files for the Notification and COS Event
+ Services
+
+ * bin/generate_doxygen.pl:
+ Add new doxygen files to the automatically generated
+ documentation.
+
+Mon Sep 17 11:36:54 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * tests/run_tests.lst: This is the script used by the shell
+ script in that directory. As the name is confusing this is being
+ moved as a new file.
+
+ * tests/run_tests_remote.lst: Renamed the run_tests.lst as
+ run_tests_shell.lst. This is invoked by run_tests.sh
+
+ * tests/run_tests.sh: Renamed as a new file.
+
+ * tests/run_tests_remote.sh: Renamed the file run_tests.sh as this
+ one. This script can be used to run tests remotely on a
+ CHORUS/ClassiX/MVME targets. Further this can also be used to
+ run tests on platforms that dont support perl or do not have
+ perl.
+
+Sun Sep 16 11:19:01 2001 Balachandran <bala@cs.wustl.edu>
+
+ * ACE version 5.1.20 released.
+
+Sat Sep 15 16:58:08 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * tests/High_Res_Timer_Test.cpp: Fixed compile problem with Sun CC
+ 4.2.
+
+Fri Sep 14 05:28:13 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * THANKS: We now have over 1,300 contributors to ACE+TAO!
+
+ * ace/Basic_Types.{h,i}: Added "const" to various operators and
+ methods. Thanks to Alain Decamps for reporting this.
+
+Thu Sep 13 11:02:41 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Singleton.cpp: If we're not compiling with threading enabled,
+ don't call the get_singleton_lock() code. Thanks to Charles
+ Frasch <cfrasch@spawar.navy.mil> for contributing this.
+
+Tue Sep 11 06:23:08 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Array_Base.h: Changed current_ from u_int to size_t. Thanks
+ to Johnny Willemsen for reporting this.
+
+Fri Sep 14 17:18:37 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/High_Res_Timer_Test.cpp (check_micro_nano): If the
+ nanointerval is 0, change it to 1 to prevent divide-by-zero.
+
+Fri Sep 14 17:02:39 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/High_Res_Timer_Test.cpp: Replaced some (u_int) casts with
+ ACE_U64_TO_U32, which is correct. Thanks to Alain Decamps, yet
+ again!, for this fix.
+
+Fri Sep 14 11:39:03 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * THANKS: Added Mahesh Varadarajan and Kevin Clien to the Hall of
+ Fame.
+
+Thu Sep 13 22:43:34 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * bin/auto_run_tests.lst: Added the new Cache_Growth_Test to the
+ daily tests.
+
+Thu Sep 13 20:38:44 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/Thread_Manager.h (ACE_Thread_Manager): Changed the default
+ argument <prealloc> for the constructor from 0 to
+ ACE_DEFAULT_THREAD_MANAGER_PREALLOC. Thanks to Doug for
+ pointing this out.
+
+ Added better documentation to explain the purpose of each
+ argument in ACE_Thread_Manager's constructor. Thanks to Nick
+ Pratt <npratt@microstrategy.com> for motivating the change.
+
+Thu Sep 13 13:38:41 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/High_Res_Timer.cpp (elapsed_time (ACE_hrtime_t&nanoseconds),
+ elapsed_time_incr (ACE_hrtime_t&nanoseconds): Instead of using
+ "nanoseconds >>= 10", use "nanoseconds = nanoseconds >> 10" to
+ work around a Borland C++Builder bug. Thanks very much to
+ Johnny Willemsen, Christopher Kohlhoff, and Alain Decamps
+ for solving this problem.
+
+Thu Sep 13 13:33:29 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/Service_Config_Test.cpp: Added #include "ace/Log_Msg.h".
+ This was probably to get AIX to build clean, but it's been a
+ while.
+
+Thu Sep 13 12:04:04 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * THANKS: Added Werner Buchert to the Hall of Fame.
+
+Wed Sep 12 15:10:41 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/High_Res_Timer.cpp (elapsed_time (ACE_hrtime_t&nanoseconds),
+ elapsed_time_incr (ACE_hrtime_t&nanoseconds): Changes to account
+ for very fast clocks (> 1GHz). Thank you to Derek Dominish
+ <derek.dominish@boeing.com> and Alain Decamps
+ <Alain.Decamps@PIDPA.be> for identifying the problem and coming
+ up with a good solution. This fixes Bugzilla #1024 (how
+ appropriate! ;-)
+
+ * ace/High_Res_Timer.i (elapsed_microseconds (ACE_hrtime_t &usecs):
+ More adjustment to the Win32 scale factor adjusting. Thanks (again!)
+ to Alain Decamps <Alain.Decamps@PIDPA.be> for identifying and
+ supplying a fix for this. This fixes Bugzilla #948 (again).
+
+Wed Sep 12 14:33:29 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/High_Res_Timer_Test.cpp: Incorporated some additional tests
+ for usec/nsec sanity checks on the calculated ACE_High_Res_Timer
+ values. Thank you very much to Alain Decamps
+ <Alain.Decamps@PIDPA.be> for this test.
+
+Tue Sep 11 12:40:01 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * Terror unleashed. The World Trade Center and the Pentagon
+ attacked today. Looks like there could be lots of loss to
+ precious lives. This is too horrible. We convey our condolences
+ to the bereaved families. God save this world.
+
+Tue Sep 11 06:41:31 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * apps/Gateway/Gateway/Concrete_Connection_Handlers.cpp: Fixed a
+ typo. This should fix most of the errors in the scoreboard.
+
+Mon Sep 10 18:59:24 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * apps/Gateway/Peer/Peer.cpp (nonblk_put):
+ * apps/Gateway/Gateway/Concrete_Connection_Handlers.cpp (nonblk_put):
+ Reverted Bala's changes below since the original code was
+ correct. Also, added comments to clarify things to prevent
+ confusion in the future.
+
+Mon Sep 10 17:31:11 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ACE-INSTALL.html: Added a new platform to the list.
+
+Mon Sep 10 12:54:28 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * apps/Gateway/Gateway/Concrete_Connection_Handlers.cpp:
+ Changed the condition that checks for EWOULDBLOCK after a
+ send. It was erroneously written. Thanks to Nick Pratt
+ <npratt@microstrategy.com> for pointing this out.
+
+Mon Sep 10 12:36:07 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * apps/Gateway/Peer/Peer.cpp (nonblk_put): Changed the condition
+ that checks for EWOULDBLOCK after a send. It was erroneously
+ written. Thanks to Nick Pratt <npratt@microstrategy.com> for
+ pointing this out.
+
+Mon Sep 10 08:17:08 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * bin/auto_run_tests.lst: Will not run the File_IO test in the
+ Minimum CORBA configuration.
+
+Mon Sep 10 08:05:39 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * bin/auto_run_tests.lst: Prevented the DLL_ORB test from running
+ in static builds.
+
+Sun Sep 9 10:20:59 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * */Makefile: Updated dependencies.
+
+Sun Sep 9 08:43:02 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Handle_Set.i: Added a check in set_bit () and clr_bit () for
+ ACE_INVALID_HANDLE. If we pass a ACE_INVALID_HANDLE we were
+ crashing which is not good and hence the fix.
+
+Sun Sep 9 08:28:52 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Reactor_Impl.h:
+ * ace/Select_Reactor_Base.h:
+ * ace/Select_Reactor_Base.cpp (is_dispatchable): Added a new
+ method. This method, just figures out whether the buffer has any
+ dispatchable info or not.
+
+ * ace/WFMO_Reactor.h:
+ * ace/WFMO_Reactor.cpp: Added the above method in the WFMO
+ Reactor.
+
+ * ace/TP_Reactor.cpp: The handle_notify_events () method now
+ checks whether the buffer it has read is dispatchable or not. If
+ it is then it gives up the token to make an upcall. Else, it
+ just sits around to remove messages of the pipe, till it find
+ one with a dispatchable info. The fix was necessary so that
+ wake-up calls that are unanswered are removed of the
+ pipe. Unanswered wakeup calls were filling up the pipe and they
+ were blocking some application from writing further to the
+ pipe. This should be in all probability be the final fix to the
+ Reactor.
+
+Sat Sep 8 09:34:52 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * tests/Logging_Strategy_Test.cpp: Fixed a typo that was giving
+ compile errors in VXWORKS builds.
+
+Fri Sep 7 16:40:37 2001 Priyanka Gontla <pgontla@ece.uci.edu>
+
+ * ace/OS.h:
+ Added an if-def case for IP_MULTICAST_TTL too.
+
+Fri Sep 7 17:09:04 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * tests/Thread_Pool_Reactor_Resume_Test.cpp: Initialised the lock
+ to null in the constrcutor before allocating memory for
+ it. This was done to remove the ABW errors in
+ purify. This should remove the problem that we see with this
+ test in our daily builds with SunCC 4.2.
+
+Fri Sep 7 15:51:48 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * tests/Logging_Strategy_Test.cpp: Included Auto_Ptr.h.
+
+Fri Sep 07 15:29:37 2001 Yamuna Krishnamurthy <yamuna@cs.wustl.edu>
+
+ * examples/QOS/Change_Receiver_FlowSpec/Receiver_QoS_Event_Handler.cpp:
+ * examples/QOS/Change_Receiver_FlowSpec/Sender_QoS_Event_Handler.cpp::
+ * examples/QOS/Change_Receiver_FlowSpec/Fill_ACE_QoS.cpp:
+
+ * examples/QOS/Change_Sender_TSpec/Receiver_QoS_Event_Handler.cpp:
+ * examples/QOS/Change_Sender_TSpec/Sender_QoS_Event_Handler.cpp::
+ * examples/QOS/Change_Sender_TSpec/Fill_ACE_QoS.cpp:
+
+ * examples/QOS/Simple/Receiver_QoS_Event_Handler.cpp:
+ * examples/QOS/Simple/Sender_QoS_Event_Handler.cpp:
+ * examples/QOS/Simple/Fill_ACE_QoS.cpp:
+
+ Fixed compile errors.
+
+Fri Sep 7 14:17:41 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/TP_Reactor.cpp: Do not clear the notify handle bit when
+ trying to dispatch notify calls. This shoudl fix the long
+ pending problems with TRU 64 builds.
+
+Fri Sep 07 12:12:39 2001 Steve Huston <shuston@riverace.com>
+
+ * examples/C++NPv1/Iterative_Logging_Server.dsp:
+ * examples/C++NPv1/Logging_Client.dsp:
+ * examples/C++NPv1/Process_Per_Connection_Logging_Server.dsp:
+ * examples/C++NPv1/RT_Thread_Per_Connection_Logging_Server.dsp:
+ * examples/C++NPv1/Reactive_Logging_Server.dsp:
+ * examples/C++NPv1/Reactive_Logging_Server_Ex.dsp:
+ * examples/C++NPv1/Thread_Per_Connection_Logging_Server.dsp:
+ Use relative paths to include and library files rather than
+ $(ACE_ROOT). Makes it easier to use in place regardless of
+ ACE version.
+
+ * examples/C++NPv1/Logging_Client.cpp: Fixed scoping of the getline()
+ method call.
+
+Thu Sep 6 21:14:05 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * tests/Logging_Strategy_Test.cpp: Changed the usage of auto_ptr
+ <> to ACE_Auto_Basic_Ptr<>. Thanks to Carlos O'Ryan for this
+ suggestion.
+
+Thu Sep 06 18:42:39 2001 Steve Huston <shuston@riverace.com>
+
+ * examples/C++NPv1: New directory that contains all of the example
+ code for Doug/my book, C++ Network Programming, Vol 1.
+
+Thu Sep 6 12:01:15 2001 Priyanka Gontla <pgontla@ece.uci.edu>
+
+ * ace/OS.h:
+ Added a if-def case for IP_MULTICAST_IF. Seems like it is not
+ defined in some of the OS versions.
+
+Thu Sep 06 12:36:43 2001 Yamuna Krishnamurthy <yamuna@cs.wustl.edu>
+
+ * ace/OS.h:
+ * ace/OS.i:
+ * ace/QoS/QoS_Session_Impl.cpp:
+ * ace/QoS/QoS_Session.h:
+
+ Fixed compile errors.
+
+Thu Sep 6 10:24:15 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/Acceptor.cpp (accept_svc_handler):
+ * ace/Strategies_T.cpp (accept_svc_handler):
+
+ Do not close and reopen the peer acceptor on failed attempts to
+ accept a connection. Several problems were fixed by removing
+ this code:
+
+ - A race condition existed where another thread or process
+ could acquire the port that the peer acceptor was
+ listening on before it was closed. Note that it is not
+ enough to attempt to synchronize this code with a lock
+ since an external process could still acquire the port.
+
+ - If the port in the peer acceptor (assuming it is an
+ ACE_INET_Addr based one) is the wildcard port (zero), then
+ there is no guarantee that the acceptor will be opened on
+ the same port upon which it is was previously listening.
+ In such a case, IORs generated by TAO (for example) can be
+ rendered invalid since the addressing information embedded
+ in those IORs will no longer contain the actual port to
+ connect to when making invocations. [Bug 962]
+
+ - The above two problems actually introduced a
+ denial-of-service attack vulnerability (now closed by this
+ fix) since it was relatively easy to force a failed
+ connection attempt, which would then cause the peer
+ acceptor to be reopened on potentially a different port,
+ or to shutdown completely if reopening failed.
+
+ * ace/SSL/SSL_SOCK_Acceptor.i (close):
+
+ Invalidate the handle stored within the ACE_SSL_SOCK_Acceptor
+ instance. Corrects problems arising from attempts to use a
+ listening socket that has been shut down.
+
+ * ace/SSL/SSL_SOCK_Acceptor.cpp (ssl_accept):
+
+ Perform an OpenSSL SSL_accept() in case OpenSSL buffered data
+ that must be handled before entering the Reactor event loop used
+ to complete a non-blocking SSL passive connection.
+
+ If the OpenSSL error status is SSL_ERROR_ZERO_RETURN shut down
+ the partially initialized SSL stream/session since the peer has
+ itself shut down.
+
+Thu Sep 6 11:00:46 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/TP_Reactor.cpp: The timer events are not included as a part
+ of number of active handles from wait_for_multiple_events
+ (). The check for event_count > 0 before processing timer events
+ was wrong. Removed the check. Thanks to Chad Elliott for
+ pointing this out.
+
+ Further did some cosmetic changes like adding comments, removing
+ comments that was not valid etc.
+
+Thu Sep 6 07:50:56 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * bin/auto_run_tests.lst: The AMI buffering test should not be run
+ Single threaded builds.
+
+Thu Sep 6 02:30:14 2001 Christopher Kohlhoff <chris@kohlhoff.com>
+
+ * examples/Export/Makefile.bor:
+ * examples/Export/export_dll.bor:
+ * examples/Export/test.bor:
+ * examples/Export/dll.h:
+ Added makefiles for this example and fixed a template problem with
+ Borland C++. Thanks to Charles Frasch <cfrasch@spawar.navy.mil> for
+ contributing this.
+
+Wed Sep 5 19:48:34 2001 Priyanka Gontla <pgontla@ece.uci.edu>
+
+ * ace/SOCK_Dgram.cpp (set_nic):
+ Fixed the errors that raised in Win.
+
+Wed Sep 5 20:38:10 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/OS.h:
+ * ace/OS.i:
+ * ace/QoS/QoS_Session_Impl.cpp:
+ * ace/QoS/QoS_Session.h: Reverted the change "Wed Sep 5 18:58:00
+ 2001 Yamuna Krishnamurthy <yamuna@cs.wustl.edu>". The change
+ broke builds. Further there was no reason why the QoS
+ information should come inside OS.* files. Talk about increasing
+ foot print.
+
+Wed Sep 5 18:58:00 2001 Yamuna Krishnamurthy <yamuna@cs.wustl.edu>
+
+ * ace/QoS/QoS_Session.h:
+ * ace/QoS/QoS_Session_Impl.h:
+ * ace/QoS/QoS_Session_Impl.cpp:
+
+ Added rapi_sender and rapi_reserve calls with null tspec and
+ flow spec respectively to facilitate the tearing down of PATH
+ and RESV messages.
+
+ * ace/OS.h:
+ * ace/OS.i:
+
+ Changed the sending_flowspec_ and receiving_flowspec_ members of
+ the ACE_QoS class to pointers so they can be initialized to null
+ flow specs.
+
+Wed Sep 5 16:50:03 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * THANKS: Added Peter Phillips <pphillip@opentext.com> to the Hall
+ of Fame.
+
+ * ace/OS_String.cpp: Fixed a warning in TRU64 builds.
+
+Wed Sep 5 11:29:59 2001 Priyanka Gontla <pgontla@ece.uci.edu>
+
+ * ace/SOCK_Dgram.h:
+ * ace/SOCK_Dgram.cpp:
+
+ Added a new method to set the NIC address in the socket.
+
+Wed Sep 05 12:00:42 2001 Steve Huston <shuston@riverace.com>
+
+ * include/makeinclude/platform_aix4_g++.GNU: Sets ACE_AIX_VERS rather
+ than separate major/minor; see entry below for further info.
+
+Wed Sep 05 11:52:39 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/config-aix5.1.h: New config file for AIX 5L, version 5.1,
+ using Visual Age C++ 5.
+
+ * ace/config-aix-4.1.x.h:
+ * ace/config-aix-4.2.x.h:
+ * ace/config-aix-4.3.x.h:
+ * ace/config-aix-4.x.h: Use ACE_AIX_VERS (which has both major and
+ minor version) rather than ACE_AIX_MAJOR_VERS and ACE_AIX_MINOR_VERS.
+
+ * include/makeinclude/platform_aix_ibm.GNU: Rather than making
+ separate major/minor OS version variables, use one that incorporates
+ both to make it easier for config.h files to set upwardly-compatible
+ feature flags.
+
+Wed Sep 5 06:55:44 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * tests/Log_Msg_Test.cpp:
+
+ Add ACE_TEXT() around the default program name for the Windows
+ WChar Unicode build.
+
+Tue Sep 4 18:48:00 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Select_Reactor_Base.cpp: Changed the value returned from
+ ACE_Select_Reactor_Notify_Handler::handle_input (). This now
+ returns a 0 if we did not dispatch any handles or the number of
+ handles dispatched. We were returning a -1 if we did not
+ dispatch any handles, after reading the notification from the
+ pipe. This should fix the Reactor_Notify_Test in the Implicit
+ templates build.
+
+Tue Sep 4 12:46:50 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/ACE.cpp: Reverted this change "Tue Sep 4 07:37:17 2001
+ Balachandran Natarajan <bala@cs.wustl.edu>". Thanks to Irfan
+ for pointing that this change, changes the semantics of the
+ methods.
+
+Tue Sep 4 09:14:36 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/CDR_Stream.i:
+ * ace/CDR_Stream.cpp:
+
+ Work around a compiler bug in the latest Green Hills Multi200.
+ Casting a float to an ACE_CDR::ULong* caused internal compiler
+ errors if the code was inlined.
+
+ * ace/config-vxworks5.x.h:
+ * include/makeinclude/platform_vxworks5.x_ghs.GNU:
+
+ Updated support for Green Hills Multi2000.
+
+Tue Sep 4 07:41:42 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * THANKS: Added Eyal Neuman <eyal@tradertools.com> to the Hall of
+ Fame.
+
+Tue Sep 4 07:37:17 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/ACE.cpp: Fixed a bug with recv_n_i (). The problem was form
+ returning the exact number of bytes from the for loop. If the
+ loop had executed once and if we get 0 in the next recv_i ()
+ call, then we should be returning the number of bytes read in
+ the previous iteration and not 0. Thanks to Eyal Neuman
+ <eyal@tradertools.com> for this fix. This closes bug 1015.
+
+Tue Sep 4 07:08:30 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/ACE.cpp: Fixed a unicode error in teh Win32 builds. Acted as
+ a dumbo when I made this change yesterday:(
+
+Mon Sep 3 20:08:25 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/TP_Reactor.cpp: Fixed a warning in TRU 64 builds.
+
+Mon Sep 3 09:58:32 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * */Makefile: Updated dependencies
+
+Mon Sep 3 09:44:46 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Select_Reactor_Base.cpp: Fixed a warning in Implicit
+ template builds.
+
+Mon Sep 3 08:21:36 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/ACE.cpp: Replaced L with ACE_TEXT_WIDE.
+
+Mon Sep 3 07:54:32 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/OS_String.cpp: Fixed compile errors in win32 builds. Thanks
+ to Johnny Willemsen for sending in patches for replacing L with
+ ACE_TEXT_WIDE.
+
+Sun Sep 2 19:33:07 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Select_Reactor_Base.cpp: Fixed a small problem with the
+ select reactor's notify () handling mechanism. This was more of
+ a problem with me not checking the while () loop condition
+ properly. This should fix most of the reactor problems seen in
+ the daily builds.
+
+Sat Sep 1 14:10:08 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/System_Time.cpp,
+ * ace/Stream_Modules.cpp,
+ * ace/Service_Types.cpp,
+ * ace/Service_Manager.cpp,
+ * ace/SPIPE_Addr.cpp,
+ * ace/OS.cpp,
+ * ace/Memory_Pool.cpp,
+ * ace/Mem_Map.cpp,
+ * ace/Local_Name_Space_T.cpp,
+ * ace/FILE_Addr.cpp,
+ * ace/FIFO.cpp,
+ * ace/Connector.cpp,
+ * ace/Acceptor.cpp,
+ * ace/Token_Collection.cpp,
+ * ace/Name_Request_Reply.cpp,
+ * ace/Local_Tokens.cpp,
+ * ace/ACE.cpp,
+ * ace/Log_Record.cpp,
+ * ace/Log_Msg.cpp: Added the use of the new ACE_OS::strsncpy()
+ method. Thanks to Alain for reporting this.
+
+ * ace/OS_String.{h,cpp}: Added a "safe" c string copy method:
+ strsncpy(dst,src,maxlen). Changing an occurence off strncpy()
+ to strsncpy() is less errorprone, but could break somebody's
+ code if he/she is using the fact that the strncpy's where
+ nul-padding the destination, but this is extremely
+ unlikely. Using strsncpy() is also almost always (a lot) faster
+ than strncpy(). Thanks to Alain Decamps
+ <Alain.Decamps@PIDPA.be> for this method.
+
+Sat Sep 1 09:54:55 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * tests/Bound_Ptr_Test.cpp: Added a patch from Chris Kohlhoff that
+ fixes the problem with VXWORKS builds. The old gcc compiler
+ seems to have problems with forward declared types as template
+ parameters. Chris solves the problem by defining a ABC properly
+ and making the offending class inherit from it. This should fix
+ our daily VXWORKS builds.
+
+Sat Sep 1 08:07:51 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Select_Reactor_Base.cpp: Fixed a compilation error in the
+ Notification queue portion of the code. Thanks to our daily
+ builds for helping me with this testing.
+
+Fri Aug 31 22:12:26 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/TP_Reactor.cpp:
+ * ace/Select_Reactor_Base.cpp: Fixed fuzz errors.
+
+Fri Aug 31 22:07:57 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/WFMO_Reactor.h:
+ * ace/WFMO_Reactor.cpp: Added the method read_notify_pipe () to
+ the WFMO_Notify_Handler.
+
+Fri Aug 31 19:14:52 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Reactor_Impl.h: Added a new method by name read_notify_pipe
+ (). Also changed the dispatch_notify () to take in a
+ Notification buffer instead of a ACE_HANDLE.
+
+ * ace/Select_Reactor_Base.cpp:
+ * ace/Select_Reactor_Base.h: Made the following changes
+
+ - Implemented read_notify_pipe (). Will read just one message from
+ the notify pipe or one message from the notification queue.
+
+ - Reimplemented dispatch_notify (). This method would just
+ dispatch the upcall using the information in the notification
+ buffer.
+
+ - The handle_input () now uses the read_notify_pipe () and
+ dispatch_notify () to achieve what it was doing before.
+
+ - The notify () call now sends one notify message on the pipe
+ for every message in the notification queue.
+
+ * ace/TP_Reactor.cpp (handle_socket_events):
+ * ace/TP_Reactor.h:
+ * ace/TP_Reactor.i: We had a race condition. The race condition
+ was because two threads were trying to read from the notify_pipe
+ at the same instance. This race condition was fixed by adding a
+ call to read_notify_pipe () with the lock held and then calling
+ dispatch_notify () with the buffer read after releasing the
+ lock. Did the following minor modifications
+
+ - Changed dispatch_socket_events () as dispatch_socket_event ()
+ as we were dispatching only one event.
+
+ - We dont grab the token in the constructor of the token. We
+ have to make a call specfically to grab_token () to get the
+ token.
+
+ The above checkins should fix the correctness of the reactor
+ problems that we have been seeing.
+
+Fri Aug 31 18:30:28 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * bin/auto_run_tests.lst:
+
+ Added Blocking_Sync_None to the list of tests to be run on
+ Tru64.
+
+ * ACE-INSTALL.html:
+
+ Added Linux/IA64 to the list of platforms supported.
+
+Fri Aug 31 15:27:09 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Bound_Ptr.i: Fixed a problem with Sun CC42 builds. Used 1
+ instead of true.
+
+Fri Aug 31 14:57:42 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/MEM_Stream_Test.cpp: Fixed usage of ACE_SYNCH meta-class
+ to work correctly with templates.
+
+Fri Aug 31 11:53:05 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * ace/OS.h:
+ * ace/Timer_Queue_T.h:
+ * ace/Timer_Queue_T.h:
+ * ace/config-hpux-11.00.h:
+ * ace/config-hpux11.h:
+ * ace/config-irix6.x-common.h:
+ * ace/config-linux-common.h:
+ * ace/config-lynxos.h:
+ * ace/config-osf1-4.0.h:
+ * ace/config-pharlap.h:
+ * ace/config-sunos4-g++.h:
+ * ace/config-sunos4-lucid3.2.h:
+ * ace/config-sunos4-sun3.x.h:
+ * ace/config-sunos4-sun4.1.4.h:
+ * ace/config-sunos4-sun4.x-orbix.h:
+ * ace/config-sunos5.4-centerline-2.x.h:
+ * ace/config-sunos5.4-g++.h:
+ * ace/config-sunos5.4-sunc++-4.x-orbix.h:
+ * ace/config-sunos5.4-sunc++-4.x.h:
+ * ace/config-sunos5.5.h:
+ * ace/config-tandem.h:
+
+ Fixed up documentation of ACE_TIMER_SKEW. Fixed bogus values in
+ all the above files. Should help in removing some of the errors
+ in TAO tests. Any test in ACE/TAO which breaks because of this
+ change is broken and should be fixed.
+
+Fri Aug 31 12:00:00 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/Bound_Ptr_Test.icc: New Visual Age C++ config for this test.
+ * tests/tests.icp: Added Bound_Ptr_Test.icc, Service_Config_Test.icc,
+ and libService_Config_DLL.icc.
+
+Fri Aug 31 11:40:31 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/MEM_Stream_Test.(cpp h): Fixed single-threaded builds.
+
+Fri Aug 31 08:13:26 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/perltest2cpp.pl:
+
+ Added a -t option to set the timeout factor.
+
+Thu Aug 30 18:08:32 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * ace/config-linux-common.h:
+
+ Added some more missing stuff which might break compilations.
+ The previous change also removed the existing definition for
+ ACE_TIMER_SKEW so add it back till the new version is checked in.
+
+Thu Aug 30 17:54:40 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * ace/config-linux-common.h:
+
+ This file was checked in inadvertently when checking in fixes
+ for ACE_NEEDS_HUGE_THREAD_STACKSIZE.
+
+Thu Aug 30 13:04:38 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/run_test.lst: Added Bound_Ptr_Test.
+
+Thu Aug 30 11:40:39 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/run_test.pl (run_program): Fixed the 'unlink' to get
+ all of a test's log files; prevents seeing previous sub-logs
+ from a test such as MEM_Stream_Test and falsely reporting errors.
+
+Thu Aug 30 10:46:51 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/High_Res_Timer.cpp (global_scale_factor ()): When checking for
+ a high-res timer mechanism, don't set the global_scale_factor_status_
+ away from 0 until _after_ getting the scale factor, to avoid
+ a second parallel thread from using a bogus value. Thanks very much
+ to Alain Decamps for this fix.
+
+Thu Aug 30 09:30:19 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * tests/Log_Msg_Test.cpp:
+
+ Fix for VxWorks when ace_main() is called with argc == 0.
+
+ * tests/run_test.lst:
+
+ Update the list of tests that run on VxWorks.
+
+ * tests/Makefile:
+ * tests/run_test.pl:
+
+ Update the script to output VxWorks commands to a file.
+
+Thu Aug 30 09:58:38 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/High_Res_Timer.i (elapsed_microseconds): For Win32, isolate the
+ msec modulus before converting it up to usecs. Thanks to Francois
+ Rioux <rioux01@gel.ulaval.ca> for reporting this.
+
+Thu Aug 30 00:42:41 2001 Christopher Kohlhoff <chris@kohlhoff.com>
+
+ * ace/Service_Config.cpp:
+ Service_Object instances are now inserted into the Service_Repository
+ only after they have been successfully initialised, to provide better
+ support for recursive use of the service configurator. With this
+ change, a service loaded from 'inside' another services's init() will
+ be inserted into the repository first and unloaded last. This ensures
+ that any recursively loaded services on which the original service
+ depends still exist when the original service's fini() function is
+ called.
+
+Thu Aug 30 00:27:05 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * ChangeLog:
+
+ Removed bogus files from the previous entry. I should not play
+ around with a lot of tasks at once.
+
+Wed Aug 29 19:57:29 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * ace/config-osf1-4.0.h:
+
+ Remove definition of ACE_NEEDS_HUGE_THREAD_STACKSIZE. The
+ default value seems to be good enough.
+
+ * ace/config-vxworks5.x.h:
+ * ace/config-lynxos.h:
+ * ace/config-qnx-neutrino.h:
+ * ace/config-rtems.h:
+
+ Standardized the values to 64KB on these platforms. Don't know
+ if these platforms need it. But I don't have access to any of
+ these so playing it safe.
+
+
+Wed Aug 29 18:52:12 2001 Christopher Kohlhoff <chris@kohlhoff.com>
+
+ * tests/Bound_Ptr_Test.cpp:
+ Removed a stray asterisk that was causing compilation failures.
+
+Wed Aug 29 17:54:52 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/libDLL_Test.icc:
+ * tests/libService_Config_DLL.icc: Fixed the "run after" directives
+ to correctly build the lib*.a files. Also, fixed the cleanup
+ directives to properly clean up both .a and shr.o files.
+
+Wed Aug 29 15:32:10 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/config-aix-4.x.h:
+ * ace/config-hpux-11.00.h:
+ * ace/config-osf1-4.0.h: Added better support for pread()/pwrite().
+ Thanks to Steve Vranyes <steve.vranyes@veritas.com> for these fixes.
+
+Wed Aug 29 15:47:33 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/run_test.lst: Re-enabled MEM_Stream_Test.
+
+Wed Aug 29 12:15:01 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/ace_dll.dsp:
+ * ace/ace_lib.dsp: Added Bound_Ptr.* to the projects.
+
+ * tests/tests.dsw:
+ * tests/Bound_Ptr_Test.dsp: Added a new project for
+ Bound_Ptr_Test.
+
+Wed Aug 29 11:01:22 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/MEM_Stream_Test.cpp: Fixed a cut/paste error and now runs the
+ proper number of threads/processes for the MT case, avoiding a
+ hang.
+
+Wed Aug 29 07:08:23 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * tests/run_tests.lst:
+ * tests/Makefile
+ * tests/Makefile.bor
+ * ace/Makefile
+ * ace/Bound_Ptr.{h,i}
+ * tests/Bound_Ptr_Test.cpp
+ * examples/Smart_Pointer: Added a pair of new smart pointer classes,
+ ACE_Strong_Bound_Ptr and ACE_Weak_Bound_Ptr. Thanks to
+ Christopher Kohlhoff <chris@kohlhoff.com> for contributing
+ these.
+
+Tue Aug 28 17:51:19 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/run_test.pl: If a test has log files associated with the
+ main log of the form <test>-<other>.log, e.g. MEM_Stream_Test-331.log
+ the check_log function will scan those for errors/warnings too.
+
+Tue Aug 28 16:48:23 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/TP_Reactor.i: We (the current thread) should not release the
+ token unless we own it. This simple mistake just took 3 days to
+ figure out. An 'if' condition was mixing and have added
+ it. Shows how a small problem at lower levels can take days to
+ fix.
+
+Tue Aug 28 17:45:22 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/MEM_Stream_Test.cpp: Fixed compile warning on gcc.
+
+Tue Aug 28 13:16:31 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/vxworks_modify.pl:
+ * bin/perltest2cpp.pl:
+
+ Generated c++ files now pass the fuzz check.
+
+Tue Aug 28 11:02:08 2001 Ossama Othman <ossama@uci.edu>
+
+ * bin/nightlybuilds/builds.lst:
+
+ Renamed the GCC 3.0 build to "Debian_GCC_3.0.1." since we're
+ actually compiling with GCC 3.0.1, not GCC 3.0. The latter has
+ bugs that prevent it from compiling ACE/TAO at the "-O3"
+ optimization level.
+
+Tue Aug 28 10:19:18 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_SOCK_Stream.i (recv_i):
+
+ Corrected Borland warning using a more efficient fix (i.e. less
+ function calls).
+
+Tue Aug 28 10:36:10 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/vxworks_modify.pl:
+ * bin/perltest2cpp.pl:
+
+ Added these scripts for use with VxWorks and the newly added TAO
+ TestUtils. These scripts modify c++ and perl to generate
+ "one-button" modules for TAO testing on VxWorks.
+
+Tue Aug 28 11:07:26 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/MEM_Stream_Test.cpp: Be sure to close the stream from the
+ client end.
+
+Mon Aug 27 20:16:38 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * tests/run_test.lst: Removed the MEM_Stream_Test from the daily
+ builds as they were hanging. This was causing the builds to
+ choke. I will keep Steve Huston informed on this so that he can
+ reenable them once he has fixed the test.
+
+Mon Aug 27 18:33:59 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * bin/nightlybuilds/builds.lst (WEB):
+
+ Removed the stray yoda part of LIST which is causing the wrong
+ results to show up.
+
+Mon Aug 27 18:14:38 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * bin/nightlybuilds/builds.lst (WEB):
+
+ Added the IA-64 builds back again. We now have a faster machine
+ running a better version of Linux.
+
+Mon Aug 27 09:39:33 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Timer_Queue_T.i (get_dispatch_info):
+ * ace/Timer_Queue_T.h: Fixed the compile problem in VXWORKS
+ builds. How could I forget that there are a few compilers which
+ cannot grok traits?
+
+Mon Aug 27 09:39:12 2001 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/Makefile.bor:
+ * examples/NT_Service/Makefile.bor
+ Added BCB makefile for this example
+
+Sun Aug 26 22:08:32 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/TP_Reactor.i: Reordered methods to fix warnings in TRU 64
+ builds.
+
+Sun Aug 26 20:50:22 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/SSL/SSL_SOCK_Stream.i: Fixed a warning (hopefully) in
+ Borland builds. The warning was because a temporary variable was
+ created.
+
+Sun Aug 26 20:45:24 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * tests/MEM_Stream_Test.cpp: Fixed a unused variable warning in
+ Borland.
+
+Sun Aug 26 08:13:12 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * tests/test_config.h: Added a new ACE_CLOSE_TEST_LOG macro. Thanks to
+ Edan for this.
+
+Sun Aug 26 09:07:32 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/TP_Reactor.cpp: Fixed a compile error with SunCC4.2
+
+Sun Aug 26 08:28:09 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Timer_Queue_T.cpp: Fixed a warning from an unused variable
+ reported by KCC compilers.
+
+Sun Aug 26 08:13:12 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * tests/Logging_Strategy_Test.cpp: Applied the following fixes from
+ Edan:
+
+ - Included ace/Logging_Strategy.h
+ - Addition of -w switch to enable initial wipeout of logfile
+ - Removal of the redundant ACE_LOG_MSG->open()
+ - Explicitly close the previous log before applying the changes to the
+ ACE_LOG_MSG
+ - Moved remove_files() call higher, just before logfile close
+
+ * ace/Logging_Strategy.{h,cpp}: Added the following fixes from
+ Edan Ayal:
+
+ - Logging_Strategy now supports any ACE_Log_Msg, not just the
+ ACE_LOG_MSG singleton.
+ - Added a check for success (ios::goodbit) of new ofstream
+ creation.
+ - Changed default values for max_size and interval. Now the
+ default interval is 10 minutes (instead of 0) and the default
+ log file size is 0 (was 16K). The timer is now activated only
+ if both are non-zero.
+ - Added a mutator to set the ACE_Log_Msg to work with, and a
+ member variable
+ - Added definition for ACE_DEFAULT_LOGFILE_POLL_INTERVAL
+ - Removed definition of ACE_DEFAULT_MAX_LOGFILE_SIZE
+
+ * ace/Log_Record.{h,cpp}: Enhanced this implementation to (1)
+ be consistent with recent changes to Log_Msg.h and (2) to
+ replace problematic use of strncpy(). Thanks to Alain
+ Decamps for these fixes.
+
+Sat Aug 25 20:58:22 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/FILE_IO.i (send_n): Changed to use ACE::write_n to send the
+ chain of Message_Blocks. The originally used ACE::send_n was
+ causing problem on NT because send_n was restricted for sockets
+ I/O on NT. Thanks to Doug for pointing this out.
+
+Sat Aug 25 10:16:21 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * tests/Svc_Handler_Test.cpp (main): The destructor of svc_handler
+ will close file_io, so we don't need to do it explicitly!
+
+ * ace/Log_Msg.cpp (log): Changed range check from
+
+ this->msg_ + ACE_Log_Record::MAXLOGMSGLEN
+
+ to
+
+ this->msg_ + sizeof this->msg_
+
+ to correspond to the change below.
+
+ * ace/Log_Msg.h (ACE_Log_Msg): Increased the size of the buffer
+ used to store log records to account for the NUL-terminator.
+
+ * tests/Svc_Handler_Test.cpp (main): Changed the buffer size
+ and NUL-terminated the buffer so that things print correctly.
+ Thanks to Nanbor for finding this.
+
+Sat Aug 25 09:00:28 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/TP_Reactor.cpp:
+ * ace/TP_Reactor.h (ACE_TP_Reactor): Fixed a warning in KCC
+ builds.
+
+Sat Aug 25 08:42:57 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Configuration_Import_Export.cpp: Fixed warnings with g++. I
+ am not sure how this fix will be accepted on different
+ compilers. Things are always dicy when you want to delete a
+ void *.
+
+Fri Aug 24 23:29:09 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * bin/auto_run_tests.lst: Added File_IO test to our daily builds.
+
+Fri Aug 24 23:12:15 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/WFMO_Reactor.h:
+ * ace/WFMO_Reactor.cpp (dispatch_notify): Fixed a compile error on
+ MSVC.
+
+Fri Aug 24 23:07:42 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Configuration_Import_Export.cpp: Fixed a compile error with
+ g++.
+
+Fri Aug 24 21:55:00 2001 Craig Rodrigues <crodrigu@bbn.com>
+
+ * ace/QoS/QoS_Session_Impl.cpp:
+ Check for null parameters in rsvp_callback().
+ Thanks to Yamuna Krishnamurthy <yamuna@cs.wustl.edu>.
+
+Fri Aug 24 20:32:39 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/MEM_Stream_Test.cpp: Changed this test to use multiple
+ processes on any platform without ACE_LACKS_FORK. It actually
+ could be broader than this if desired. This is motivated by the
+ fact that HP-UX can't mmap() (the call underlying ACE_MEM_IO)
+ the same file more than once in the same process. With this,
+ MEM_Stream_Test goes a lot better on HP-UX, though not perfectly
+ yet.
+
+Fri Aug 24 16:54:02 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_SOCK_Stream.h (recv_i):
+
+ Added a timeout parameter. See below for details.
+
+ * ace/SSL/SSL_SOCK_Stream.i (recv_i):
+
+ Perform an SSL_read() before attempting to block on select()
+ with a timeout. OpenSSL may buffer more data than requested
+ since it is a record-oriented protocol. Fixes a problem where
+ subsequent calls to ACE_SSL_SOCK_Stream::recv() could timeout
+ when needlessly blocking on select() because the expected data
+ has already been buffered by OpenSSL. Thanks to Martin
+ Krumpolec <krumpo@pobox.sk> for reporting and diagnosing the
+ problem. [Bug 1006]
+
+ * ace/SSL/SSL_SOCK_Stream.cpp (recv):
+
+ Moved the timed recv() code to the lower level recv_i() method
+ since timeout support must now be more tightly integrated with
+ do/while(SSL_pending()) SSL_read() loop.
+
+Fri Aug 24 18:33:09 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Parse_Node.cpp (ACE_Function_Node): Make sure to dynamically
+ allocate the pathname_ so we can delete it! Thanks to
+ Don Hinton for reporting this.
+
+ * ace/Configuration_Import_Export.cpp: Changed a couple of
+ delete (char *) buf to delete (char *) [] buf. Thanks to
+ Don Hinton for reporting this.
+
+Fri Aug 24 16:10:20 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ Merged in changes from the reactor_deadlock branch. This set of
+ changes actually fixes a long standing problem with the
+ TP_Reactor. The TP_Reactor was holding the token too long and
+ this created all sorts of problems for TAO. The changes have been
+ merged from the branch <reactor_deadlock> and here are the relevant
+ ChangeLog entries.
+
+ Fri Aug 24 14:59:52 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/TP_Reactor.cpp (dispatch_socket_events): Cosmetic changes.
+
+ Fri Aug 24 14:19:02 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Timer_Queue_T.i:
+ * ace/Timer_Queue_T.h:Removed the default constructor and
+ destructor for ACE_Timer_Node_Dispatch_Info_T allowing the
+ compiler to do the job.
+
+ Fri Aug 24 12:05:25 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Timer_Queue_T.cpp: Removed some vague debug statements.
+
+ Fri Aug 24 11:34:11 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Timer_Queue_T.h:
+ * ace/Timer_Queue_T.cpp:
+ * ace/Timer_Queue_T.i: Added a new class
+ ACE_Timer_Node_Dispatch_Info_T that has the dispatch information
+ needed to make the upcall. Added methods, dispatch_info () and
+ dispatch_info_i () in ACE_Timer_Queue_T. These methods return
+ the dispatch information if there is a node in the queue whose
+ timer value <= current time. Changed the expire () method to use
+ this method to get dispatch information.
+
+ * ace/Timer_Queue.h: Added a template specialisation for
+ ACE_Timer_Node_Dispatch_Info_T.
+
+ * ace/Timer_Queue.cpp: Added template instantiations for the
+ specialisation.
+
+ * ace/TP_Reactor.h:
+ * ace/TP_Reactor.cpp: Added a new method handle_timer_events ()
+ that would handles timer events.
+
+ Thu Aug 23 11:50:18 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Reactor_Impl.h: Added two new methods notify_handle () and
+ dispatch_notify () to the ACE_Reactor_Impl class.
+
+ * ace/Select_Reactor_Base.h:
+ * ace/Select_Reactor_Base.cpp: Implemented the above two
+ methods in the ACE_Select_Reactor_Notify class. The
+ notify_handle () method returns the handle of the pipe on which
+ it is listening. The dispatch_notify () call does a dispatch of
+ just one notify () call in the notify pipe. The handle_input ()
+ call that used to process all the notify calls now calls the
+ dispatch_notify () in a loop. The change essentially allows
+ some extrenal client of this class to just process one notify at
+ a time if needed.
+
+ * ace/TP_Reactor.h:
+ * ace/TP_Reactor.i:
+ * ace/TP_Reactor.cpp (handle_events): Fixed a bug with
+ handle_events (ACE_Time_Value &). This should be calling the
+ handle_events () of the TP_Reactor and not the select reactor.
+
+ Added a whole slew of new methods that basically allows us to do
+ this
+ - handle one event at a time
+
+ - once the thread knows the event that needs handling it should
+ release the token before dispatching the events
+
+ The new methods that have been added are
+
+ - handle_signals (), which handle signals that interrupted the
+ select (). The implementation of this method is busted. The
+ implementation has been copied from the existing setup
+
+ - handle_notify_events (), which handles one notify on the
+ notify_pipe at a time
+
+ - handle_socket_events (), which handles socket events.
+
+ Quite a few helper methods have also been added. They are
+ get_notify_handle (), get_socket_event_info (), and
+ dispatch_socket_events (). Removed the methods dispatch_i (),
+ dispatch_i_protected () and notify_handle (). This checkin fixes
+ the problem in 1002. But we still have to add handling timeouts
+ into the TP_Reactor.
+
+
+ Tue Aug 21 17:21:07 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/TP_Reactor.i:
+ * ace/TP_Reactor.h:
+ * ace/TP_Reactor.cpp: Made lots of changes which havent been
+ compiled yet. Added a new class ACE_TP_Token_Guard that helps
+ in obtaining and releasing tokens. Moved the grab_token () from
+ the ACE_TP_Reactor class to the TP_Token_Guard class. Added a
+ new method for handling signals. They havent been compiled yet
+ and this checkin is to put files from work to my home box.
+
+ Tue Aug 21 07:58:42 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/TP_Reactor.i:
+ * ace/TP_Reactor.h:
+ * ace/TP_Reactor.cpp (handle_events): Started refactoring some of
+ the code to help with this bug. This change has not been
+ compiled. This is just being done to transfer files from home
+ to work.
+
+Fri Aug 24 14:25:31 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * THANKS: Added Massimo Pichini <massimo@webbridges.it> to the
+ Hall of Fame.
+
+Fri Aug 24 13:40:01 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * bin/nightlybuilds/builds.lst: Removed HPUX and AIX_VAC for the
+ timebeing. Looks like OCI is running different versions of the
+ OS for their internal use.
+
+Fri Aug 24 10:17:00 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Log_Msg.cpp (log_hexdump): Added a patch provided by Massimo
+ Pichini <massimo@webbridges.it>. This prevents overflows with
+ long strings that are used in printing hexdumps. Previously we
+ had a buffer of 80 bytes on the stack.
+
+Fri Aug 24 10:03:29 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/INET_Addr.(h cpp): Applied changes submitted by
+ Alain Decamps <Alain.Decamps@PIDPA.be> to insure that
+ get_host_name (char hostname[], size_t len) const always
+ nul-terminates the hostname string. If the host lookup is
+ successful, but the supplied buffer is too short, the function
+ returns -1, errno == ENOSPC.
+
+Thu Aug 23 22:01:11 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * tests/Logging_Strategy_Test.cpp: Reverted this change "Thu Aug
+ 23 05:24:57 2001 Douglas C. Schmidt" as this was giving
+ warnings with MSVC 6.0
+
+Thu Aug 23 11:49:15 2001 Paul Calabrese <calabrese_p@ociweb.com>
+
+ * bin/msvc_auto_compile.pl:
+
+ Revert changes from Mon Aug 20 15:48:30 2001.
+ Thanks to Darrell to showing me the error in my ways.
+
+Thu Aug 23 09:17:25 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Log_Msg.cpp (file): Reduced the number of bytes copied in
+ ACE_Log_Msg::file () and ACE_Log_Msg::msg () by one. Thanks to
+ Alain Decamps <Alain.Decamps@PIDPA.be> for pointing this out.
+
+Thu Aug 23 08:11:22 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/Configuration_Import_Export.cpp (process_previous_line_format):
+ Prepend ACE_OS:: to atoi to work with both narrow and wide chars.
+
+Thu Aug 23 08:03:00 2001 Craig Rodrigues <crodrigu@bbn.com>
+
+ * ace/QoS/QoS_Session_Impl.cpp:
+ Improve debugging messages. Return -1 inside rsvp_callback()
+ if flowspec type is unknown.
+
+Thu Aug 23 05:24:57 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * tests/Logging_Strategy_Test.cpp: Added new and improved test that
+ it better documented and fixes some minor bugs. Thanks to
+ Edan Ayal for this.
+
+Wed Aug 22 19:04:57 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * tests/Logging_Strategy_Test.cpp: Enable this test to work
+ on platforms that don't support DLLs. Thanks to Edan Ayal
+ <edana@bandwiz.com> for suggestion this and providing the code.
+
+ * tests/Logging_Strategy_Test.cpp (parse_args): Changed 'n' for 'N'
+ since that controls the max number of log files. Thanks to Edan
+ Ayal <edana@bandwiz.com> for reporting this.
+
+Thu Aug 23 07:30:12 2001 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/SString.{h,i}: Added clear() method to the ACE_CString and
+ ACE_WString so that it is possible to clear a string in just one
+ call
+ * tests/SString_Test.cpp: Extended to test clear() method
+
+Wed Aug 22 15:30:05 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * bin/auto_compile:
+ Use the print_config.pl script to print out the configuration.
+
+Wed Aug 22 17:33:29 2001 Steve Huston <shuston@riverace.com>
+
+ Applied fixes submitted by Jerry D. Odenwelder, to fix
+ Bugzilla #953:
+
+ * ace/Configuration.cpp (import_config, export_config): Changed
+ from using a ACE_Ini_ImpExp object to an ACE_Registry_ImpExp
+ to preserve type information in the import/export files, and
+ retain the ability to read an ACE 5.1-format file (with the
+ changes next...)
+
+ * ace/Configuration_Import_Export.(h cpp): Added a new
+ ACE_Registry_ImpExp::process_previous_line_format() method that
+ knows how to read an ACE 5.1-format config line. If
+ ACE_Registry_ImpExp::import_config finds a line that does not
+ begin with one of <"[#;> it calls process_previous_line_format
+ to try to convert it using ACE 5.1-format rules.
+ Note that the auto conversion works on import. If the
+ object is subsequently exported, the new registry format
+ will be used to write the file, effectively updating it
+ from old to new format.
+
+Wed Aug 22 12:04:04 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/WFMO_Reactor.h (ACE_WFMO_Reactor): Clarified that the
+ work_pending() method isn't implemented and suggest what to do
+ for a workaround. Thanks to Michelangelo Riccobene
+ (michelangelo.riccobene@marconi.com) for reporting this.
+
+Wed Aug 22 10:38:08 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * bin/nightlybuilds/print_config.pl:
+ Add new perl script to print out the build configuration, the
+ script will be shared by the Unix and Win32 builds.
+
+Wed Aug 22 11:30:13 2001 Joe Hoffert <joeh@cs.wustl.edu>
+
+ * ace/OS_Memory.h:
+ Removed include of pace/stddef.h. PACE does not have this
+ file. There are no POSIX functions that typically reside
+ in this header. Maybe PACE will need this later but it
+ doesn't now.
+
+ * ace/OS.h (ACE_cond_t):
+ Modified #if guard to include ACE_cond_t class if we're
+ on Win32. If we're using PACE then we don't want this method
+ (since PACE takes care of it) unless we're on Windows. Win32
+ mutexes, semaphores, and condition variables are not yet
+ supported in PACE.
+
+ * ace/OS.cpp (ACE_OS::cond_destroy):
+ Modified #if guard to include ACE_cond_t::cond_destroy
+ if we're on Win32. If we're using PACE then we don't want
+ this method (since PACE takes care of it) unless we're on
+ Windows. Win32 mutexes, semaphores, and condition variables
+ are not yet supported in PACE.
+
+ * ace/OS.i (ACE_OS::waiters):
+ Modified #if guard to include ACE_cond_t::waiters if
+ we're not on Win32. If we're using PACE then we want
+ this method (since PACE defines cond_t) unless we're
+ on Windows. Win32 mutexes, semaphores, and condition
+ variables are not yet supported in PACE.
+
+Tue Aug 21 08:26:30 2001 David L. Levine <levine@cs.wustl.edu>
+
+ * docs/ACE-guidelines.html: changed the example referenced
+ in:
+ Sun Aug 19 08:17:14 2001 David L. Levine <levine@cs.wustl.edu>
+ to be a bit more realistic.
+
+Tue Aug 21 06:58:49 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Log_Msg.cpp: Fixed problematic uses of strncpy. Thanks to
+ Alain Decamps <Alain.Decamps@advalvas.be> for giving this patch.
+
+Tue Aug 21 10:40:12 2001 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Map.i: Made the return value of ACE_Incremental_Key_Generator
+ getCurrentValue() const
+
+ * ace/Map_Manager.*: Added a const iterator for the
+ ACE_Map_Manager
+
+Mon Aug 20 18:20:51 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/Process.cpp (pass_handle): Only try to compile the
+ DuplicateHandle stuff when !ACE_HAS_WINCE... I think it's
+ right this time...
+
+Mon Aug 20 15:54:46 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/SUN_Proactor.cpp: Removed the instantiation of
+ ACE_Condition<ACE_Thread_Mutex>. Thanks to David Trusty
+ <david.trusty@westwave.com> for reporting this.
+
+Mon Aug 20 15:48:30 2001 Paul Calabrese <calabrese_p@ociweb.com>
+
+ * bin/msvc_auto_compile.pl:
+
+ Modify script to print config.h contents.
+
+Mon Aug 20 13:14:00 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * bin/auto_compile:
+ Fixed chdir commands for the auto_compile scripts.
+
+Mon Aug 20 14:33:31 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/Message_Queue_T.cpp: If we timeout in the semaphore implementation
+ of the message queue in wait_not_full_cond() or
+ wait_not_empty_cond() make sure to decrement the "waiters" count
+ accordingly! Thanks to Patrick Rabau <Patrick.Rabau@htc.com>
+ for noticing this in the C++NPv1 book version!
+
+Mon Aug 20 07:01:31 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/Synch_T.i (release): If owner_ == -1 then return
+ -1. Thanks to Don Hinton <dhinton@swan.fr> for suggesting this.
+
+Mon Aug 20 13:18:51 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/SOCK.h: Corrected comment on ACE_SOCK ctor being protected,
+ not private. Thanks to Don Hinton <dhinton@swan.fr> for
+ pointing this out.
+
+ * THANKS: Added Don Hinton to the Hall of Fame.
+
+Mon Aug 20 11:00:50 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/OS.h:
+
+ Set the ACE_DEFAULT_FILE_PERMS to the correct value for VxWorks.
+
+ * tests/run_test.lst:
+
+ Removed tests for VxWorks for which the platform has no support.
+
+ * tests/CDR_File_Test.cpp:
+ * tests/Svc_Handler_Test.cpp:
+
+ Add VxWorks to the list of platforms that can't unlink the file
+ in advance of the test completing.
+
+Mon Aug 20 01:49:12 2001 Christopher Kohlhoff <chris@kohlhoff.com>
+
+ * include/makeinclude/build_dll.bor:
+ Build non-core DLLs into the common bin directory. This is necessary
+ so that the tests can find all the DLLs they need on the path.
+
+ * tests/run_test.pl:
+ Removed the append of the ExeSubDir to the path, since it is no
+ longer needed and never really worked properly anyway.
+
+Mon Aug 20 00:01:29 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/SOCK_Connector.h: Clarify the conditions under which errno
+ will be ETIME (caller-specified timeout expires w/o connect)
+ vs. ETIMEDOUT (protocol layer timed out the connect).
+
+ * ace/SOCK_Connector.cpp: Add "|| errno == ETIME" to a couple
+ places where an ACE_ERROR is _not_ done for certain conditions.
+
+ * ace/ACE.cpp (handle_timed_complete): If the user-specified timeout
+ expires before the connect is resolved one way or the other,
+ set errno to ETIME, not ETIMEDOUT. This makes it match the
+ documented behavior in the ACE_SOCK_Connector man page.
+
+Sun Aug 19 20:33:39 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * bin/nightlybuilds/builds.lst:
+ Update build list
+
+Sun Aug 19 15:36:23 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * bin/auto_compile:
+ Add new 'Config' section at the end of the build, useful for the
+ next generation scoreboard.
+
+Sun Aug 19 13:25:51 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * bin/footprint_stats.sh:
+ * bin/performance_stats.sh:
+ * bin/generate_footprint_chart.sh:
+ * bin/generate_performance_chart.sh:
+ * html/Stats/Stats.css:
+ * html/Stats/configuration.shtml:
+ * html/Stats/detailed_footprint.shtml:
+ * html/Stats/detailed_performance.shtml:
+ * html/Stats/footer.html:
+ * html/Stats/index.shtml:
+ * html/Stats/navigation.html:
+ Put the scripts and HTML documents used to generate the Stats
+ pages under CVS control. Now it is easier for people to add
+ their own libraries and tests, as well as let our user community
+ examine the way the pages are generated.
+
+ * bin/auto_run_tests.lst:
+ Remove TAO/tests/LongUpcalls/run_ami_test.pl, the tests have
+ been incorporated into the run_test.pl script.
+
+ * bin/sandbox.cpp:
+ Minor changes to the sandbox script, actually not very useful,
+ the ACE classes to create processes start a new process group by
+ default, therefore there is no simple way to kill all the
+ subprocesses if a test fails.
+
+Sun Aug 19 08:17:14 2001 David L. Levine <levine@cs.wustl.edu>
+
+ * docs/ACE-guidelines.html: replaced function call in
+ ASSERT with simple comparison of a variable value. Thanks
+ to Tino Schwarze <tino.schwarze@informatik.tu-chemnitz.de>
+ for suggesting this.
+
+Sat Aug 18 18:26:24 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/ACE.cpp: Removed the ASYS_INLINE macro from the definition
+ of write_n ().
+
+Sat Aug 18 13:18:10 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/ACE.{h,cpp}: Added a new write_n(...ACE_Message_Block *...)
+ for file transfers that's the dual of
+ send_n(...ACE_Message_Block *...). This helps out the C++NPv1
+ book symmetry. Thanks to Alain Decamps <Alain.Decamps@PIDPA.be>
+ for motivating this.
+
+Fri Aug 17 18:17:38 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * bin/clone.cpp: Only use extern char *sys_errlist[] if we're not
+ compiling on Linux. Thanks to Thomas Groth
+ <groth.th@stn-atlas.de> for reporting this.
+
+Fri Aug 17 19:04:31 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/Process.cpp (ACE_Process_Options::pass_handle): For WinCE,
+ just do ACE_NOTSUP_RETURN (-1). It can't dup a handle.
+
+Fri Aug 17 16:56:16 2001 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * ace/CDR_Stream.h:
+ * ace/CDR_Stream.i:
+ * ace/CDR_Stream.cpp:
+
+ Added wr_ptr() accessor method to ACE_InputCDR, and added its
+ use to adjust(), align_read_ptr(), read_1(), skip_string() and
+ skip_bytes() instead of end(). Also added reset of good_bit_
+ to 0 upon failure in read_string() and read_wstring(). Thanks to
+ Peter Phillips <pphillip@opentext.com> for reporting this bug,
+ which was causing excessive memory allocation is some cases.
+ [Bug 591, 944, 983]
+
+Fri Aug 17 13:31:45 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * tests/run_test.pl:
+
+ Added the ability to generate windsh commands to load and run
+ the ace tests.
+
+ * tests/Makefile:
+
+ Added a rule to generate run_test.vxworks, using run_test.pl,
+ which can be used to run the tests selected for the VxWorks OS.
+
+ * tests/run_test.lst:
+
+ Update this list to take into account the limitations of VxWorks.
+
+ * tests/test_config.h:
+
+ Change the permissions of the log file open (for VxWorks only) to
+ use the symbolic permission names instead of 0x644. The
+ permissions differ from the standard UNIX modes.
+
+ * tests/run_tests.vxworks:
+
+ This file was out of date and no longer needs to be maintained.
+ So, it has been removed.
+
+Fri Aug 17 09:44:49 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Map_T.{h,i}: Reverted this change "Fri Aug 17 08:07:12 2001
+ Johnny Willemsen <jwillemsen@remedy.nl>" as this was giving too
+ much of warnings in the builds.
+
+Fri Aug 17 09:30:34 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * gperf/apps/tests/Makefile: Fixed the problem that was causing
+ the builds to fail.
+
+Fri Aug 17 08:07:12 2001 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Map_T.(h i): made the return value of
+ ACE_Incremental_Key_Generator::current_value const T& instead
+ of T&. Added uppercase traits to the ACE_Map class.
+
+Thu Aug 16 19:27:29 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/Process.cpp (ACE_Process_Options::pass_handle): Add
+ "::" to front of "DuplicateHandle" so the WinCE compiler
+ sees the right function.
+ Also added ctor/dtor for ACE_Managed_Process to try and fix the
+ can't find vtable error on Linux.
+
+ * ace/Process.h: Added a constructor for ACE_Managed_Process
+ to fix "can't find vtable" error on Linux.
+
+ * ace/Process.i: Moved ACE_Managed_Process dtor to .cpp file.
+
+Thu Aug 16 15:10:42 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/Process.h (pass_handle): Clarify comments for this method.
+
+ * ace/Process_Manager.cpp:
+ * ace/Process.(h i): Moved the ACE_Managed_Process class out
+ of Process_Manager.cpp, exposing it for general use.
+
+Thu Aug 16 10:34:20 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/POSIX_Proactor.cpp (allocate_aio_slot): Added a fix so that
+ the POSIX Proactor compiles with FreeBSD 4.4. Thanks to Yev
+ Omenzel <omenzel@yahoo.com> for reporting this and to Craig
+ Rodrigues <crodrigu@bbn.com> for fixing it and to
+ John E Hein <jhein@timing.com> for fixing the fix ;-)
+
+Thu Aug 16 08:09:53 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * tests/run_test.lst:
+
+ Added the OTHER requirement to the Thread_Pool_Reactor_Test and
+ the Thread_Pool_Reactor_Resume_Test. These are only built if
+ OTHER is part of the ACE components list.
+
+
+Wed Aug 15 15:50:38 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/WFMO_Reactor.cpp: Don't try to purge the notifications if
+ notify_handler_ is 0. Thanks to Edan Ayal
+ <edanayal@hotmail.com> for reporting this.
+
+Wed Aug 15 11:33:26 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * bin/nightlybuilds/builds.lst:
+ Remove one build from the list, the machine is being retargeted
+ for performance testing.
+
+Wed Aug 15 11:10:22 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * include/makeinclude/wrapper_macros.GNU: Added $(VDIR) for
+ OBJDIRS. This prevents hardcoding the value of OBJDIRS. This has
+ been tested for a dynamic and a static library on Linux. If
+ there are other platforms that gives problems, please feel free
+ to revert the changes to the version 4.114 of the file.
+
+Wed Aug 15 09:35:19 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/Dirent_Test.cpp:
+
+ Added #define's for VXWORKS that allow this test to function
+ properly. Avoid hard-coded relative paths that may not exist on
+ VxWorks.
+
+Wed Aug 15 09:08:40 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/Sock_Connect.cpp:
+
+ Added an implementation to ACE_Sock_Connect::get_ip_interfaces().
+ With this, the Enum_Interfaces_Test works correctly.
+
+Wed Aug 15 07:54:49 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * include/makeinclude/wrapper_macros.GNU: Unravelled the mystery a
+ bit. The patch that was applied to remove the hard coding of
+ OBJDIRS seems to be the problem. The OBJDIRS has been hardcoded
+ again. This should fix the problems that we have been seeing in
+ the builds. If at all we need to remove hardcoding the OBJDIRS,
+ we either need to put the value of VDIR or VSHDIR. If we put
+ both we are going to end up with duplicate targets. Now the
+ killer, what do we add to the OBJDIRS? Me thinks it is VDIR. I
+ have test that out else I would be breaking builds again.
+
+Wed Aug 15 07:30:00 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * include/makeinclude/wrapper_macros.GNU: Reverted the change "Tue
+ Aug 14 21:42:24 2001 Balachandran Natarajan". Thought that was a
+ typo. But looks like it is not.
+
+Wed Aug 15 06:39:50 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Process.cpp: Fixed a warning with g++.
+
+Tue Aug 14 23:57:42 2001 Steve Huston <shuston@riverace.com>
+
+ * A set of changes to encapsulate passing handles to spawned
+ processes. Thanks very much to Eamonn Saunders
+ <Esaunders@softricity.com> for suggesting that this could work
+ and pointing out the Win32 details!
+
+ * THANKS: Added Eamonn Saunders to the Hall of Fame
+
+ * ace/Handle_Set.h: Replace include ace/ACE.h with ace/OS.h. This
+ class is part of the OS subset.
+
+ * ace/Process.h: Added the following methods:
+ - ACE_Process_Options::pass_handle (ACE_HANDLE). Cause the specified
+ handle to be passed to a child process when it's spawned. Has
+ meaning mainly for Win32. The handle value will be included
+ in the spawned process's command line as +H <handle>. The passed
+ handle value will be duplicated if on Win32 less than NT4.
+
+ - ACE_Process_Options::dup_handles (ACE_Handle_Set set) const
+ Get a copy of the handles the ACE_Process_Options duplicated
+ for the spawned process.
+
+ - ACE_Process_Options::passed_handles (ACE_Handle_Set set) const
+ Get a copy of the handles passed to the spawned process. This
+ will be the set of handles previously passed to pass_handle().
+
+ - ACE_Process::close_dup_handles (). Close all the handles in
+ the set obtained from ACE_Process_Options::dup_handles.
+
+ - ACE_Process::close_passed_handles (). Close all the handles in
+ the set obtained from ACE_Process_Options::passed_handles.
+
+ Also moved the avoid_zombies() functions and flag out of the
+ non-Win32 section - it can safely be ignored, maintain the
+ intended semantics, and help apps stay portable.
+
+ * Process.cpp: Implement the above new methods. Also, after spawning
+ a process, the parent will call the above dup_handles/passed_handles
+ methods to get any passed handles. The close_*_handles() methods
+ can then close them. Also, the destructor will call close_dup_handles
+ to be sure that no handles leak on Win32 less than NT4.
+
+ * Process.i (command_line_buf ()): Added a new arg to receive the
+ maximum length of the buffer pointed to on return. To maintain
+ backward compatibility, the arg defaults to 0 (don't return
+ the max length).
+
+ * ace/Makefile: Moved Handle_Set from the UTILS group to the OS group.
+
+ * ace/ace.icc: Moved Handle_Set from DEMUX to OS.
+
+ * docs/ACE-subsets.html: Move Handle_Set from DEMUX to OS.
+
+Tue Aug 14 21:42:24 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * include/makeinclude/wrapper_macros.GNU: Fixed a typo.
+
+Tue Aug 14 21:30:04 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * apps/Makefile: Removed JAWS2 and JAWS from the Makefile. There
+ are several reasons for reverting. This breaks the builds. The
+ Makefiles in the recursed directories are all messed up. The
+ library dependencies doesnt seem trivial. Nobody may have time
+ to fix this. Further, our daily builds return too quickly and we
+ just needed more files to compile :-).
+
+Tue Aug 14 14:19:49 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/Memory_Pool.i (ACE_Local_Memory_Pool dtor): Call release()
+ here to free up the blocks allocated by the pool, else they're
+ stranded and can't be freed.
+
+ * ace/Memory_Pool.cpp (ACE_Local_Memory_Pool::release): After
+ freeing up the blocks, reset the allocated_chunks_ set to be
+ sure they are also freed, and the chunks can't be freed again.
+
+Tue Aug 14 14:19:37 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Log_Msg.cpp: Applied the patches sent by Tibor Kiss
+ <tkiss@mindmaker.hu> for ACE_Log_Msg::close ()
+
+Tue Aug 14 13:55:42 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * include/makeinclude/platform_macosx.GNU: Added a patch from John
+ Michael Zorko <j.zorko@att.net>.
+
+Tue Aug 14 10:21:39 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/Log_Msg.h: Clarified the defaults for the per-process and
+ per-instance default priority masks.
+
+Mon Aug 13 14:01:35 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * include/makeinclude/wrapper_macros.GNU: Fixed some hard-coded
+ uses of .shobj and .obj. Thanks to Shashi Bhushan
+ <Shashi.Bhushan@lmco.com> for contributing these.
+
+ * ace/CDR_Stream.h: Added comments warning about the deletarious
+ effects of not aligning buffers to ACE_InputCDR and
+ ACE_OutputCDR properly. Thanks to Alain Decamps
+ <Alain.Decamps@PIDPA.be> for reporting this.
+
+Sun Aug 12 14:46:07 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/OS.cpp (sched_params): Make sure to set errno for Win32 so
+ that callers can figure out what's going wrong in a consistent
+ way.
+
+ * ace/Select_Reactor_Base.i (purge_pending_notifications): Don't
+ try to purge the notifications if notify_handler_ is 0. thanks
+ to Steve Rahn <SRahn@rim.net> for reporting this.
+
+Mon Aug 13 20:09:04 2001 Balachandran <bala@cs.wustl.edu>
+
+ * ACE version 5.1.19 released.
+
+Sun Aug 12 02:17:01 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/MEM_Acceptor.cpp:
+ * ace/MEM_Connector.cpp: On non-Win32 platforms, disable
+ multithreaded MEM_IO if _ACE_USE_SV_SEM is defined.
+
+Sun Aug 12 01:27:51 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/Log_Msg_Test.cpp: Correct const-ness of a pointer
+ retrieved from ACE_Log_Record::msg_data().
+
+Sun Aug 12 00:34:42 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/Log_Record.h:
+ * ace/Log_Record.i (msg_data()): Changed ACE_TCHAR *msg_data()
+ to: const ACE_TCHAR *msg_data (void) const. Makes it safer,
+ and conforms to all current usage inside ACE. Also makes
+ C++ Network Programming examples simpler :-)
+
+Sat Aug 11 09:01:11 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Thread.h:
+ * ace/Task.h: Added a list of other flags that can be passed to
+ activate().
+
+Fri Aug 10 19:39:48 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * bin/auto_run_tests.lst:
+
+ Disabled the Blocking_Sync_None test from running under Tru64.
+ Also changed the config parameter passed to the auto_compile
+ script from TRU_64 to Tru64 in
+ ~bugzilla/bin/auto_compile_tru64_cxx.
+
+ This is so that the test is disabled only for the WashU builds.
+ The reason being that Bala was not too happy with changing the
+ default values for all the platforms and we also wanted to avoid
+ more #ifdefs in the code. Other builds might have better values
+ and the test might succeed. Have to confirm this though.
+
+Fri Aug 10 17:59:47 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/Svc_Conf_y.cpp:
+ * ace/OS.h: Added /**/ between #include and <sys/modem.h> and
+ <alloca.h> to avoid warning from CE compiler.
+
+ * ace/ace_dll.vcp: Added Svc_Conf_Lexer_Guard.* to the project.
+
+Fri Aug 10 13:40:46 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/nightlybuilds/builds.lst:
+
+ I didn't realize the LIST definition was needed. I have
+ added it for the Tru64 4.0f Compaq C++ 6.3-10 build.
+
+Fri Aug 10 11:45:03 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * bin/nightlybuilds/builds.lst:
+
+ Added the Tru64 4.0f Compaq C++ 6.3-10 build.
+
+Fri Aug 10 11:06:23 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * apps/drwho/CM_Client.cpp:
+ * apps/drwho/CM_Server.cpp:
+ * apps/drwho/server.cpp:
+
+ Changes to avoid warnings on HP-UX with aCC.
+
+Thu Aug 9 16:56:05 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Hash_Map_Manager_T.i:
+ * ace/Hash_Map_Manager_T.cpp: We seem to be re-inventing wheels
+ again and again. A few months back we had a show stopper in a
+ beta which was caused by usage of static cast. The cast was not
+ to the liking of SunCC 4.2. Looks like we had to change a bunch
+ of static cast sprayed in these two files to a C style cast as
+ 4.2 doesnt like them. Compilers like Borland handle these
+ better, but not 4.2.
+
+Thu Aug 9 11:51:10 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * include/makeinclude/platform_hpux_aCC.GNU: On popular mandate we
+ have the -w flag removed from CCFLAGS in the above file. Looks
+ like the -w disables lots of warnings that may be useful.
+
+Thu Aug 9 11:41:01 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/CDR_Stream.h (ACE_OutputCDR): Fixed the ambigous constructor
+ problem. The InputCDR class had two constructors which were
+ similar if the default values for the arguments were
+ exercised. Thanks to Torbjorn Backstrom
+ <torbjorn.k.backstrom@volvo.com> for reporting this.
+
+Thu Aug 9 12:31:21 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/OS_String.cpp (strtok_r_emulation): Make sure to check
+ for a NULL return from strtok() before calling strlen()! Thanks
+ to Boris Sukholitko <boriss@richfx.com> for reporting this.
+
+Wed Aug 08 21:27:50 2001 Ossama Othman <ossama@uci.edu>
+
+ * bin/nightlybuilds/builds.lst (Debian_Wchar, Debian_GCC_3.0):
+
+ The host these nightly builds were built on is now called
+ "rumba" (previously "valinor"). Updated the build list
+ accordingly.
+
+Wed Aug 08 21:19:09 2001 Ossama Othman <ossama@uci.edu>
+
+ * tests/Service_Config_Test.UTF-16.conf:
+
+ Removed extraneous characters from this file that were causing
+ the Service Configurator's underlying lexer to "choke."
+
+Wed Aug 8 16:23:31 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * bin/auto_run_tests.lst:
+ Add the AMI_Buffering tests to the nightly regression testsuite.
+
+Wed Aug 8 16:07:26 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * bin/auto_run_tests.lst: The GIOP lite tests will not work in the
+ static builds. It was adding more complications to the test
+ than what is already there to get it working for the static
+ builds.
+
+Wed Aug 8 14:06:36 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * ace/config-tru64.h:
+
+ Define ACE_HAS_NONSTATIC_OBJECT_MANAGER for all DEC Unix 4.x
+ versions.
+
+ * ace/config-cxx-common.h:
+
+ Define ACE_AUTO_PTR_LACKS_RESET if __DECCXX_VER == 60190027.
+ Thanks to Robert Burke <c-robert.burke@wcom.com> for reporting
+ this.
+
+ * include/makeinclude/platform_osf1_3.2.GNU:
+ * include/makeinclude/platform_osf1_4.0.GNU:
+ * include/makeinclude/platform_osf1_4.0_g++.GNU:
+ * include/makeinclude/platform_osf1_4.0_kcc.GNU:
+ * include/makeinclude/platform_osf1_4.0_rcc.GNU:
+
+ Removed the following files.
+
+ * include/makeinclude/platform_osf1_3.2_cxx.GNU:
+ * include/makeinclude/platform_osf1_4.x_cxx.GNU:
+ * include/makeinclude/platform_osf1_4.x_g++.GNU:
+ * include/makeinclude/platform_osf1_4.x_kcc.GNU:
+ * include/makeinclude/platform_osf1_4.x_rcc.GNU:
+
+ Added new versions of the removed files.
+
+ * include/makeinclude/platform_tru64_pre.GNU:
+ * include/makeinclude/platform_tru64_post.GNU:
+
+ Moved a lot of duplicated code into these new files.
+
+ * include/makeinclude/platform_tru64_cxx.GNU:
+ * include/makeinclude/platform_tru64_g++.GNU:
+ * include/makeinclude/platform_tru64_kcc.GNU:
+
+ Removed a lot of old *cruft* like setting up compilation with
+ cxx when gcc was asked for etc. etc. Somebody went overboard
+ with cut'n paste and copied David's changes blindly. Still not
+ completely satisfied. But it works and is better than before.
+ This also fixes Bug Id 989.
+
+Wed Aug 08 11:30:26 2001 Ossama Othman <ossama@uci.edu>
+
+ * tests/Service_Config_Test.cpp (run_test):
+
+ Don't check if "ACE_USES_WCHAR == 1" since some configurations
+ neglect to set it an integer value. Instead, just check if it
+ is defined.
+
+Wed Aug 8 12:31:51 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * tests/MEM_Stream_Test.cpp: Changed a ACE_DEBUG statment with an
+ LM_WARNING to an LM_DEBUG.
+
+Wed Aug 08 11:59:45 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/OS.h: Do not redefine ACE_IOV_MAX if it has already been
+ defined.
+
+Wed Aug 8 06:21:24 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/Makefile: Moved Message_Block from STREAMS_FILES to
+ UTILS_FILES.
+
+ * ace/OS_Dirent.inl (closedir): Changed delete d->directory_name_ to
+ delete [] d->directory_name_. Thanks to Olivier Brunet
+ <obrunet@groupama-ccama.tm.fr> for reporting this.
+
+Tue Aug 7 21:59:42 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * tests/Svc_Handler_Test.cpp: Modified the test to dump the contents
+ of the temporary file to the log file.
+
+Tue Aug 7 19:14:24 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/CDR_Stream.i:
+ * ace/SOCK_Stream.h: Fixed incorrect comments.
+ Thanks to Alain Decamps <Alain.Decamps@PIDPA.be> for reporting
+ these.
+
+Tue Aug 7 15:19:38 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace: Changed all uses of IOV_MAX to use the new ACE_IOV_MAX.
+ * ace/OS.h: Added a new ACE_IOV_MAX that makes it clear this is
+ an ACE-level #define. We use this in C++NP v1.
+
+Tue Aug 7 14:16:57 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/Svc_Handler.cpp: Reimplemented the flush() method to use
+ the new send_n() method on the various ACE I/O classes.
+
+ * ace/SOCK_Stream.{h,i}:
+ * ace/FILE_IO.{h,i}: Added a new send_n() method that sends all
+ the <message_block>s chained through their <next> and <cont>
+ pointers using the underlying OS gather-write operation to
+ reduce the domain-crossing penalty.
+
+Tue Aug 7 17:27:16 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * tests/Collection_test.cpp: Fixed a compile error with g++. This
+ is a patch that Johnny Willemsen sent as a part of his last
+ checkin.
+
+Tue Aug 07 11:25:36 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/config-freebsd-pthread.h: Made the following definition
+ valid only for pre-4.2-RELEASE.
+
+ #define ACE_LACKS_GETPGID
+ #define ACE_LACKS_SETPGID
+ #define ACE_LACKS_SETREGID
+ #define ACE_LACKS_SETREUID
+
+ Thanks to Robert Burke <rburke2002@yahoo.com> for reporting
+ this.
+
+Tue Aug 07 16:40:12 2001 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Hash_Map_Manager_T.*:
+ Added const_iterator to the Hash_Map_Manager so that it is
+ possible to iterate over a hash map in a const method
+
+ The operator= of the iterator now check the value of this to
+ check that the iterator instance is assigned to itself
+
+ * tests/Hash_Map_Manager_Test.cpp
+ Extended this test to test the new const_iterator capabilities
+ of the hash map
+
+ * ace/Unbounded_Set.cpp:
+ Implemented missing operator* for the const iterator
+
+ * tests/Collection_test.cpp:
+ Extended test to test the operator* of the
+ Unbounded_Set_Const_Iterator
+
+Mon Aug 6 19:58:48 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/config-hpux-11.00.h: Added #define for ACE_HAS_TERM_IOCTLS.
+ Thanks to Torbjorn Backstrom <torbjorn.k.backstrom@volvo.com>
+ for reporting this.
+
+ * ace/OS.h: Added a #include for <sys/modem.h> for HP/UX. Thanks
+ to Torbjorn Backstrom <torbjorn.k.backstrom@volvo.com> for
+ reporting this.
+
+Mon Aug 6 12:51:35 2001 Douglas C. Schmidt <schmidt@flamenco.cs.wustl.edu>
+
+ * ace/Synch.h (ACE_Null_Mutex>): Fixed a cut&paste error
+ where acquire_write() should be acquire_read(). Thanks to
+ Russell Mora <rd.mora@router.econz.co.nz> for fixing this.
+
+Mon Aug 06 17:17:33 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/Service_Config.cpp:
+
+ Fixed some debugging messages that were not wrapped within an
+ ACE_LIB_TEXT macro.
+
+ * tests/Service_Config_Test.UTF-16.conf:
+
+ Interim UTF-16 encoded version of the UTF-8 encoded
+ Service_Config_Test.conf. It was generated on a little-endian
+ host. Its current purpose is simply to keep our Unicode
+ regression testing happy until the on-the-fly generation is
+ implemented. Once we start generating this file on-the-fly
+ this file should disappear.
+
+ * tests/Service_Config_Test.cpp (run_test):
+
+ When using full Unicode support, use the version of the Service
+ Configurator file that is UTF-16 encoded (as described above).
+
+Mon Aug 06 11:10:24 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/Svc_Conf_l.cpp:
+
+ More Unicode fixes. Flex's allocation function uses malloc() as
+ its underlying allocator. Since it only accepts the size in
+ bytes, allocate "size * sizeof (ACE_TCHAR)" when allocating
+ string buffers. This should clear up some strange looking text
+ "unknown character" messages emanating from the Service
+ Configurator's underlying text scanner.
+
+ Note that these changes do not fix the cause of the "unknown
+ character." Those fixes should soon follow.
+
+Mon Aug 06 09:04:04 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/Svc_Conf.l:
+
+ Unicode updates. Wrap debugging text within an ACE_LIB_TEXT
+ macro.
+
+Sun Aug 5 14:31:10 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * tests/run_tests.lst: Ossama suggested that we dont run the
+ Service_Config_Test in static builds.
+
+Fri Aug 04 3:33:31 2001 Yamuna Krishnamurthy <yamuna@cs.wustl.edu>
+
+ * ace/QoS/SOCK_Dgram_Mcast_QoS.h:
+ * ace/QoS/SOCK_Dgram_Mcast_QoS.cpp:
+
+ Made the open method public so we can open UDP sockets for
+ non-multicast addresses.
+
+Fri Aug 03 22:19:31 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/config-hpux-11.00.h: Added ACE_HAS_WCHAR to build in the
+ wide char handling since Darrell so nicely straightened all
+ the muck out throughout ACE. Thanks Darrell!
+
+Fri Aug 03 22:15:51 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/Log_Msg.cpp (log): For 'W' and 'w' on HP-UX, the 'ls' and
+ 'lc' forms are not allowed; HP-UX requires 'S' and 'C'.
+
+Fri Aug 3 13:10:59 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/config-linux-common.h (ACE_UINT64_FORMAT_SPECIFIER,
+ ACE_SSIZE_T_FORMAT_SPECIFIER, ACE_SIZE_T_FORMAT_SPECIFIER):
+
+ Removed unnecessary and some incorrect format specifiers for the
+ 32-bit platform case. In particular, the format specifier for
+ an unsigned 64-bit integer was incorrectly set to "%Lu." "%L"
+ is the format specifier for a "long double," not a "long long"
+ integer on 32-bit platforms. "%llu" is the correct format
+ specifier which `ace/Basic_Types.h' already defines.
+
+Fri Aug 3 09:55:38 2001 Ossama Othman <ossama@uci.edu>
+
+ * bin/auto_run_tests.lst:
+
+ Added the new TAO "DLL_ORB" test to the list of tests to run.
+
+Fri Aug 3 08:26:45 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/RW_Process_Mutex.cpp: Added a missing comma in the
+ constructor. This should fix Win32 compile errors.
+
+Fri Aug 3 08:07:45 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/CDR_Base.cpp: Added a check for a memory allocation failure
+ in grow (). Thanks to Francis Paul <FranciP@navcanada.ca> for
+ pointing this out.
+
+Thu Aug 2 18:37:23 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/RW_Process_Mutex.cpp: Added ACE_DEFAULT_OPEN_PERMS
+ to the constructor call to ACE_RW_Process_Mutex so that it does
+ the right thing on Win32. Thanks to Wayne Erchak
+ <werchak@stentor.com> for reporting this. This fixes
+ bugid 996.
+
+Thu Aug 02 13:04:19 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/ace.icc: Added Intrusive_List.cpp to the TEMPLATE_FILES
+ section.
+
+Thu Aug 02 06:59:39 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/Basic_Types.h (ACE_SIZEOF_WCHAR): If ACE_HAS_XPG4_MULTIBYTE_CHAR
+ is defined, use sizeof(wchar_t) to set ACE_SIZEOF_WCHAR.
+
+Wed Aug 1 16:05:49 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * Merged changes from the fix_886 branch
+
+ Tue Jul 31 09:17:49 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * ace/Intrusive_List.h:
+ * ace/Intrusive_List.inl:
+ Add new methods to access the head and tail of the list.
+
+ * ace/Intrusive_List.cpp:
+ Fixed the implementation of remove(), if the element to be
+ removed was the last on the list it wasn't removed at all.
+ Left some code to check invariants, have to find a way to keep
+ that code around with some optional compilation flags.
+
+ Thu Jul 26 16:50:54 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * ace/Makefile:
+ * ace/Makefile.am:
+ * ace/Makefile.bor:
+ * ace/Intrusive_List.h:
+ * ace/Intrusive_List.inl:
+ * ace/Intrusive_List.cpp:
+ Add new template to implement intrusive lists, i.e. lists that
+ assume their elements implement the next() and prev() methods.
+
+ * ace/Intrusive_List_Node.h:
+ * ace/Intrusive_List_Node.inl:
+ * ace/Intrusive_List_Node.cpp:
+ Helper class to add the requirements of ACE_Intrusive_List to
+ any other class, simply do:
+ class Foo : public ACE_Intrusive_List_Node<Foo>
+
+Wed Aug 1 15:57:35 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/Message_Block.cpp (release, release_i):
+
+ Obtain the pointer to the allocator from the object that will be
+ destroyed before calling ACE_DES_FREE on the object. Previously
+ we were obtaining the allocator after the object was destroyed,
+ due to the way the ACE_DES_FREE macro works. Thanks to Hyman
+ Rosen <hyrosen@mail.com> for reporting the problem, and to
+ Carlos for suggesting a fix. [Bug 992]
+
+Wed Aug 1 15:00:21 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/Log_Record.{h,i}: Changed msg_data_len() from a "setter"
+ to a "getter" method, which makes more sense. Thanks to Patrick
+ Rabau <Patrick.Rabau@htc.com> for reporting this.
+
+Wed Aug 1 12:43:57 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/Svc_Conf_l.cpp:
+
+ Reintegreated Nanbor's change (Wed Jun 13 10:22:10 2001 Nanbor
+ Wang <nanbor@cs.wustl.edu>) that enables proper handling of
+ UNICODE Service Configurator directives.
+
+Wed Aug 1 07:14:42 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * include/makeinclude/platform_vxworks5.x_g++.GNU: Checked in a new
+ version of this file, which includes support for the Hitachi
+ chip. Thanks to Frank Wolf for this.
+
+ * ace/Log_Record.cpp (format_msg): Added a cast to fix a warning.
+ Thanks to Bala for reporting this.
+
+Tue Jul 31 22:53:26 2001 Ossama Othman <ossama@uci.edu>
+
+ * tests/libService_Config_DLL.icc:
+
+ New Visual Age project file for the libService_Config_DLL
+ library.
+
+ * tests/Makefile.am:
+
+ Added build targets/dependencies for the libService_Config_DLL
+ library.
+
+Tue Jul 31 22:46:33 2001 Ossama Othman <ossama@uci.edu>
+
+ * tests/Service_Config_DLL.dsp:
+ * tests/Service_Config_Test.dsp:
+
+ Removed the static library configurations. The
+ Service_Config_Test currently requires dynamically loadable
+ objects. Fixes Win32 "LIB" build failures.
+
+Tue Jul 31 22:10:48 2001 Ossama Othman <ossama@uci.edu>
+
+ * tests/Service_Config_Test.cpp (run_test):
+
+ Wrap strings passed to ACE_ARGV::add() within an ACE_TEXT
+ macro. Fixes Unicode conversion problems.
+
+Tue Jul 31 16:53:57 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/Svc_Conf.h (ace_yyrestart, ace_yy_delete_parse_buffer,
+ ace_yydirective):
+
+ Remove these global function and variable declarations. They
+ are no longer used.
+
+Tue Jul 31 16:43:33 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/Basic_Types.h:
+
+ If "__LITTLE_ENDIAN__" is defined then assume that the
+ architecture is little endian. Some compilers/platforms define
+ that macro. Suggested by Frank Wolf" <fwolf@gum.de>.
+
+ * ace/Svc_Conf.h (yy_push_buffer):
+ * ace/Svc_Conf.l (yy_push_buffer):
+ * ace/Svc_Conf_l.cpp (ace_yy_push_buffer):
+ * ace/Svc_Conf_Lexer_Guard.cpp (ACE_Svc_Conf_Lexer_Guard):
+ * ace/Svc_Conf_Lexer_Guard.h (ACE_Svc_Conf_Lexer_Guard):
+
+ The Service Configurator directive is an "ACE_TCHAR *" not a
+ "char *". Updated these method/function parameters to accept
+ the former. Fixes a compile-time problem on "wchar/Unicode"
+ builds.
+
+Tue Jul 31 05:34:48 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/OS.h: Removed a spurious WNOHANG definition. Thanks to
+ Christina Junru <junruli@lucent.com> for reporting this.
+
+Mon Jul 30 15:31:42 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/Log_Msg.{h,i,cpp}: Fixed this class so that all of its fields
+ are ACE_UINT32 or ACE_INT32 internally so that it'll always be
+ the same on all platforms. Thanks to Fabris
+ <fabris65@my-deja.com> for reporting this.
+
+Tue Jul 31 10:22:38 2001 Ossama Othman <ossama@uci.edu>
+
+ * tests/Makefile:
+
+ Only build the Service_Config_Test if shared libraries are
+ enabled, since it attempts to dynamically load a shared
+ library.
+
+Tue Jul 31 10:16:31 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/Dump.h: Clarified the use of ACE_NDEBUG for turning this
+ feature off, not on. Thanks to Don Hinton <dhinton@swan.fr>
+ for noticing this.
+
+Mon Jul 30 13:41:00 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/OS.cpp (ACE_Time_Value::FILETIME_to_timval_skew): Updated
+ docuementation to better explain the meaning of this constant.
+ Thanks to Mike Vitalo <mvitalo@sprynet.com> for motivating the
+ change.
+
+Mon Jul 30 09:43:06 2001 Douglas C. Schmidt <schmidt@macarena.cs.wustl.edu>
+
+ * ace/OS.i (mutex_lock): Missing an argument to the ACE_OSCALL macro.
+ Thanks to Bala for reporting this.
+
+Mon Jul 30 05:43:23 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/Synch.h (ACE_Semaphore): Corrected the comment on
+ how to get POSIX Pthreads "implementation" of semaphores (which
+ supports the timed acquire() option). Thanks to Grzegorz
+ Sikora <GSikora1@era.pl> for reporting this.
+
+Sun Jul 29 19:03:56 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * tests/Thread_Mutex_Test.cpp (test): Fixed this test to be
+ consistent wrt the errno for the timed acquire(), which should
+ now always be set to ETIME rather than ETIMEDOUT and EBUSY.
+
+ * ace/Message_Queue_T.cpp (wait_not_full_cond,
+ wait_not_empty_cond): Fixed a nasty bug with the semaphore
+ version of ACE_Message_Queue that would have reared it's ugly
+ head if ACE_NULL_SYNCH were used when
+ ACE_HAS_OPTIMIZED_MESSAGE_QUEUE was enabled. Fixing this bug
+ also triggered the following changes.
+
+ * ace/OS.{h,i}: Added support for ACE_OS::sema_wait(),
+ ACE_OS::mutex_lock(), ACE_OS::thread_mutex_lock() that take
+ ACE_Time_Value *.
+
+ * ace/OS.i: For some odd reason the timeouts for the timed version
+ of mutex_lock() were returning a random smattering of errnos.
+ I've changed them to all be consistent with the
+ ACE_Condition_Thread_Mutex::wait() errno, which is ETIME.
+
+ * ace/Synch.h: Updated the documentation of all the timed
+ acquire() methods to explain what the various return values
+ mean.
+
+Sun Jul 29 22:10:40 2001 Ossama Othman <ossama@uci.edu>
+
+ * tests/Service_Config_DLL.cpp:
+ * tests/Service_Config_DLL.h:
+ * tests/Service_Config_DLL.dsp:
+ * tests/Service_Config_DLL_Export.h:
+ * tests/Service_Config_Test.conf:
+
+ New files associated with the existing Service_Config_Test.
+ They are used when testing the reentrance/thread-safety of the
+ Service Configurator, in addition to testing the Service
+ Configurator's ability to handle nested processing of Service
+ Configurator directives.
+
+ * tests/Service_Config_Test.cpp (run_test):
+
+ Add arguments to the Service Configurator argument vector to
+ make it process the newly added `Service_Config_Test.conf'
+ file.
+
+ (main):
+
+ Make the ACE_Thread_Manager wait for all running threads before
+ exiting the test. Processing the `Service_Config_Test.conf'
+ file causes some threads to be spawned.
+
+Sun Jul 29 19:19:20 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/Service_Config.cpp (process_directive, process_directives):
+
+ Wrap the ACE_GUARD_RETURN macro within an ACE_MT block. The
+ ACE_Static_Object_Lock declaration is only visible if
+ ACE_HAS_THREADS is defined. This truly fixes the
+ single-threaded build problems.
+
+Sun Jul 29 19:06:11 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/Svc_Conf.y (ace_obstack):
+ * ace/Svc_Conf_y.cpp:
+ * ace/Svc_Conf_l.cpp:
+
+ UNICODE updates and fixes.
+
+Sun Jul 29 10:50:45 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/Svc_Conf_Lexer_Guard.cpp:
+
+ There is no longer any need to include "ace/Object_Manager.h"
+
+ * ace/Service_Config.cpp:
+
+ Include "ace/Object_Manager.h" to pull in the definition of
+ ACE_Static_Object_Lock. Fixes a problem found in Sun builds and
+ single-threaded builds.
+
+Sat Jul 28 23:03:24 2001 Ossama Othman <ossama@uci.edu>
+
+ The following are changes that make the Service Configurator
+ reentrant and thread-safe.
+
+ * ace/Svc_Conf.y:
+
+ Generate a pure (reentrant) parser using Bison. BYACC doesn't
+ support generation of reentrant parsers.
+
+ * ace/Svc_Conf.l:
+
+ Implemented "buffer stack" support. This feature makes it
+ possible to process Service Configurator directives within a
+ Service Object's init() method, i.e. support nested directive
+ processing.
+
+ (ace_yyerrno):
+
+ Moved declaration of ace_yyerrno from this file to
+ `Svc_Conf.y'. ace_yyerrno was not used in the generated
+ scanner. It was only used in the generated parser.
+
+ (yy_delete_parse_buffer):
+
+ There is no longer any need for this function. The lexer buffer
+ stack implementation handles memory management of lexer buffers.
+
+ (yywrap):
+
+ Do not call yy_delete_parse_buffer(). It is no longer necessary
+ to do so, in addition to the fact that that function was
+ removed (as described above).
+
+ (<<EOF>>):
+
+ Do not call ACE_YY_NEW_FILE in this rule. The new buffer stack
+ implementation handles the buffer switching that ACE_YY_NEW_FILE
+ did, and more.
+
+ * ace/Svc_Conf_Tokens.h:
+ * ace/Svc_Conf_l.cpp:
+ * ace/Svc_Conf_y.cpp:
+
+ Regenerated these files using updated Bison/YACC and FLEX input
+ files to pull in support for reentrant parsing and nested
+ processing of Service Configurator directives.
+
+ * ace/Svc_Conf.h (ace_yy_push_buffer, ace_yy_pop_buffer):
+
+ Added function prototypes for the newly implemented lexer buffer
+ stack manipulation functions.
+
+ (ace_yylex):
+
+ Added ACE_YYSTYPE parameter to this functions signature, as
+ required by the new reentrant parser support.
+
+ (ACE_SERVICE_DIRECTIVE_STACK_DEPTH):
+
+ New symbolic constant that defines the maximum supported depth
+ for nested Service Configurator processing. The current default
+ is 8.
+
+ (ACE_YY_INPUT):
+
+ No longer any need to redefine this macro to support scanning of
+ Service Configurator directive strings. The new lexer buffer
+ stack implementation provides support for lexer buffer scanning
+ from a string instead of a pointer to "FILE."
+
+ (ace_yydirective):
+
+ This global variable is no longer needed due to the fact that
+ the new buffer stack implementation handles directives read from
+ both a string and a file.
+
+ * ace/Service_Config.cpp:
+
+ (process_directive, process_directives):
+
+ Obtain a recursive lock before manipulating the lexer buffer
+ stack, and invoking the parser and scanner. This makes
+ invocation of the scanner thread-safe.
+
+ The new lexer buffer stack implemenation obviates the need to
+ call yyrestart() since buffer switching is handled by the stack
+ implementation.
+
+ (open_i, close):
+
+ No need to deallocate the lexer buffer since the buffer stack
+ implementation handles that.
+
+ * ace/Svc_Conf_Lexer_Guard.h:
+ * ace/Svc_Conf_Lexer_Guard.cpp:
+
+ New "guard" class that makes lexer buffer stack pushing and
+ popping exception-safe.
+
+ * ace/Makefile:
+ * ace/Makefile.am:
+ * ace/Makefile.bor:
+ * ace/ace.icc:
+ * ace/ace_dll.dsp:
+ * ace/ace_lib.dsp:
+
+ Added Svc_Conf_Lexer_Guard.* sources to these Makefiles and
+ project files.
+
+Sat Jul 28 14:58:30 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/Svc_Conf_l.cpp:
+ * ace/Svc_Conf_y.cpp: Reran BYACC and FLEX on the Svc_Conf.l and
+ Svc_Conf.y files to regenerate them. Thanks to Bala for
+ motivating this.
+
+ * netsvcs/clients/Tokens/collection/Makefile,
+ netsvcs/clients/Tokens/deadlock/Makefile,
+ netsvcs/clients/Tokens/invariant/Makefile,
+ netsvcs/clients/Tokens/mutex/Makefile,
+ netsvcs/clients/Tokens/rw_lock/Makefile,
+ examples/ASX/CCM_App/Makefile,
+ examples/Logger/Acceptor-server/Makefile,
+ examples/Reactor/Multicast/Makefile,
+ examples/Reactor/Ntalker/Makefile,
+ examples/Shared_Malloc/Makefile,
+ performance-tests/TCP/Makefile,
+ performance-tests/UDP/Makefile: Removed the line
+ include $(ACE_ROOT)/include/makeinclude/rules.LIB.GNU
+ so that these projects will build correctly on VxWorks with
+ Make 3.79.1. Thanks to Frank Wolf for reporting this.
+
+Fri Jul 27 11:24:50 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/Svc_Conf.y: Allow quoted strings as the pathname. Thanks
+ to Kevin Burge <kcburge@systemware-inc.com> for suggesting this
+ and providing the fix.
+
+ * ace/Svc_Conf.l: Added support for "~" in pathnames to support
+ Win32isms. Thanks to Kevin Burge <kcburge@systemware-inc.com>
+ for suggesting this and providing the fix.
+
+ * ace/Refcounted_Auto_Ptr.i (assign): Fixed the code to avoid a
+ race condition. Thanks to Charlie Duke for this fix.
+
+Thu Jul 26 08:15:36 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * include/makeinclude/platform_vxworks5.x_g++.GNU: Changed
+ $PATH to $(PATH). Thanks to Frank Wolf for reporting this.
+
+Wed Jul 25 17:46:58 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/Asynch_Acceptor.{h,cpp}: Added an asynch_accept() accessor
+ method. Thanks to Craig L. Ching <cching@mqsoftware.com> for
+ reporting this.
+
+Wed Jul 25 17:36:09 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/Refcounted_Auto_Ptr.i: Added a lock for the reference count
+ to the assign() method. Thanks to Charlie Duke
+ <cduke@cuseeme.com> for reporting this.
+
+Fri Jul 27 23:17:31 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/ace_wchar.h: If ACE_HAS_XPG4_MULTIBYTE_CHAR is set, then
+ also set up definitions for functions that are not present
+ (ACE_LACKS_ITOW, ACE_LACKS_WCSICMP, ACE_LACKS_WCSNICMP,
+ ACE_LACKS_WCSDUP).
+
+ * ace/ace_wchar.inl: If not ACE_WIN32, include <string.h> to see
+ strlen().
+
+ * ace/OS_String.inl (strstr): The XPG4 multibyte version of
+ strstr() is wcswcs(), whereas the ANSI C / UNIX98 version is
+ wcsstr(). So if ACE_HAS_XPG4_MULTIBYTE_CHAR is defined, use
+ wcswcs.
+
+Fri Jul 27 21:52:48 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * bin/auto_run_tests.lst: Added the IDL_Cubut test with GIOP Lite
+ script, to our daily builds.
+
+Fri Jul 27 16:50:49 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/Log_Msg_Test.cpp: Silence a compile warning in g++.
+
+Fri Jul 27 12:18:49 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/Log_Msg.cpp (log): Fixed compile error - missing "" around
+ 's' for the %S case.
+
+Fri Jul 27 11:07:26 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/OS.h:
+
+ After conversation with Steve Huston, I am reverting his change
+ pertaining to HPUX from "Tue Jul 10 18:15:39 2001 Steve Huston
+ <shuston@riverace.com>".
+
+Fri Jul 27 10:57:24 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/SOCK_Dgram_Bcast.cpp:
+
+ Fix the ACE_SOCK_Dgram_Bcast::mk_broadcast() which was completely
+ broken on AIX. The broadcast_client in docs/tutorials/008 now
+ works with the help of this change.
+
+Thu Jul 26 22:09:19 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/Log_Msg.cpp (log): Extend behavior so that all printf
+ formatting conversion specifiers can be used with all legal
+ ACE_Log_Msg format characters. This allows the caller to line
+ up columns on any field, like line number or program name, or
+ thread ID. Thanks to Paul Caffrey <pcaffrey@iel.ie> for
+ motivating this extension.
+
+ * tests/Log_Msg_Test.cpp: Added a new function, test_format_specs,
+ that verifies the formatting. Right now it does not detect the
+ correctness of the strings produced - they have to be examined
+ in the log file to check. This needs to be fixed still.
+
+Thu Jul 26 11:48:16 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * bin/count_lines:
+ Add a few new file types.
+
+Wed Jul 25 23:49:43 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * include/makeinclude/platform_tru64_g++.GNU:
+
+ Fixed some missing defines in the Makefile for DEC Unix versions
+ 4.0D, 4.0E. We don't support or suggest this combination. Hence
+ the oversight in missing the needed defines.
+
+ Thanks to Martin Krumpolec <krumpo@pobox.sk> for reporting this.
+
+Wed Jul 25 23:49:00 2001 Craig Rodrigues <crodrigu@bbn.com>
+
+ * include/makeinclude/wrapper_macros.GNU:
+
+ Remove extraneous rapi = 0.
+
+Wed Jul 25 18:53:18 2001 Ossama Othman <ossama@uci.edu>
+
+ * html/index.html:
+
+ Added CORBA Security Service main page link to the list of
+ documentation.
+
+Wed Jul 25 17:41:43 2001 Ossama Othman <ossama@uci.edu>
+
+ * ltcf-c.sh:
+ * ltcf-cxx.sh:
+ * ltconfig:
+
+ Removed these libtool related files. New versions of libtool
+ (GNU libtool >= 1.4b) no longer use them.
+
+ * config.guess:
+ * config.sub:
+ * ltmain.sh:
+
+ Removed these files. We no longer need to keep custom copies
+ lieing around since libtool 1.4b includes all of our local
+ changes (i.e. our changes have been folded into the upstream
+ libtool sources).
+
+ * install-sh:
+ * missing:
+ * mkinstalldirs:
+
+ Removed these files. Automake will automatically add these when
+ necessary.
+
+Wed Jul 25 16:29:48 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/Max_Default_Port_Test.cpp: ACE-ified the code and fixed
+ a number of ACE_DEBUG %p directives without a corresponding
+ string. Also, closed a 2 handle-per-try handle leak, which
+ may have affected test results on some platforms.
+ * tests/Max_Default_Port_Test.h: Added a destructor to the
+ test class - it's used to close the acceptor handle down.
+
+Wed Jul 25 15:21:22 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * ace/OS.h:
+
+ Fixed the _XOPEN_SOURCE checking to _XOPEN_SOURCE < 500 to fix
+ incorrect declaration of prototype. This fixes the warnings when
+ compiling with gcc-3.0. Thanks to Ossama for suggesting the fix.
+
+Wed Jul 25 08:05:45 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * tests/Thread_Pool_Reactor_Resume_Test.h:
+ * tests/Thread_Pool_Reactor_Resume_Test.cpp: Fixed a subtle race
+ condition. This hardly showed up in many of our daily
+ builds. The race condition had to be fixed to show the users of
+ the cautious approach that one needs to take if they are
+ resuming the handle in the application itself.
+
+Tue Jul 24 16:41:57 2001 Joe Hoffert <joeh@cs.wustl.edu>
+
+ * ace/Thread_Manager.cpp :
+ Added "&& ! defined (ACE_HAS_PACE)" ifdefs to already existing
+ #if defined (VXWORKS) sections of code to get ACE_HAS_PACE to
+ compile on VxWorks.
+
+ * ace/OS.i :
+ * ace/OS.cpp:
+ Fixed formatting of some comments and added needed PACE
+ calls for ACE_HAS_PACE on VxWorks.
+
+ * ace/OS.h :
+ Put #if !defined guards around the ACE_THR_PRI* macros
+ so that we can define them in the config*.h files if
+ they need to be corrected. For instance, ACE_THR_PRI_OTHER_MIN
+ has a different value on SunOS 5.8 than it does on SunOS 5.7,
+ i.e., -20 vs. 0 respectively.
+
+ Also, added some needed typedefs and #define for ACE_HAS_PACE
+ on VxWorks and updated some comments concerning ACE_OS::thr_create
+ flags.
+
+ * ace/Sched_Params.cpp (priority_min, priority_max):
+ Changed to return correct thread priority min/max for
+ Solaris threads. We now use the ACE_PRI_THR* macros
+ for these values while still calling ACE_OS::priority_control
+ for process and LWP priorities.
+
+ * ace/config-sunos5.8.h:
+ Added setting of ACE_THR_PRI_OTHER_MIN to be correct
+ for SunOS 5.8.
+
+Tue Jul 24 13:47:32 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/SSL/SSL_Asynch_Stream.h (ACE_SSL_Asynch_Stream):
+ * ace/SSL/SSL_Asynch_Stream.cpp: Added a open () method that
+ matches the signature of ACE_Service_Handler. This should fix
+ the warnings in Borland builds that complain about hiding
+ the virtual functions.
+
+Tue Jul 24 10:56:04 2001 Ossama Othman <ossama@uci.edu>
+
+ * bin/generate_doxygen.pl (TAO_DOCS):
+
+ Added "tao_security" and "tao_ssliop" Doxygen configurations to
+ the list of documentation to generate.
+
+Tue Jul 24 07:45:03 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/Containers_T: Fixed some problems with the lack of
+ const for the ACE_DLList and ACE_Double_Linked_List classes.
+ Thanks to Michael Kircher for reporting this.
+
+ * ace/config-cygwin32-common.h: Removed the ACE_LACKS_FORK
+ macro since this is apparently working on Cygwin. Thanks tj
+ Stefan Kluehspies <Stefan.Kluehspies@gmx.net> for reporting
+ this.
+
+ * ace/config-cygwin32.h: Removed the #define _CLOCKID_T
+ macro, which should now be handled by the following change.
+
+ * ace/OS.h: Added a #defined for _CLOCKID_T_. Thanks to
+ Stefan Kluehspies <Stefan.Kluehspies@gmx.net> for
+ reporting this.
+
+Tue Jul 24 11:10:59 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * ace/OS.h:
+
+ Fix the compile errors seen on gcc-3.0 with -pedantic and
+ -Wno-long-long. This should fix all the errors.
+
+Tue Jul 24 10:07:31 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * include/makeinclude/platform_sunos5_g++.GNU:
+
+ Add an optimize override to 0 for g++ 3.0. The compiler breaks on
+ a tremendous amount of files, even with -O.
+
+Tue Jul 24 10:04:52 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/INET_Addr.cpp:
+
+ Corrected a run-time error on Tru64 with gcc. Any executable
+ that called ACE_INET_Addr::get_host_name() would core dump.
+ This was caused by the call to ACE_OS::gethostbyaddr_r().
+
+Tue Jul 24 08:20:02 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * include/makeinclude/platform_aix_ibm.GNU:
+
+ Change -O2 to -O. The optimizer seems to be a tiny
+ bit broken, which is demonstrated by a few TAO and orbsvcs
+ tests.
+
+Mon Jul 23 17:38:46 2001 Ossama Othman <ossama@uci.edu>
+
+ * etc/tao_security.doxygen:
+ * etc/tao_ssliop.doxygen:
+
+ New Doxygen files for TAO's CORBA security libraries.
+
+Mon Jul 23 13:48:26 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/MEM_Connector.cpp (connect):
+
+ Disable non-blocking on the stream after its handle has been
+ set. Previously, non-blocking was disabled on an uninitialized
+ MEM_Stream, after which the handle was set (i.e. initializing
+ the stream). In order to properly disable non-blocking on a
+ stream, its handle must be set first since ioctl() operations
+ are typically performed on the underlying stream handle.
+
+Mon Jul 23 13:06:39 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/WFMO_Reactor.cpp (event_handling): Corrected the loop check
+ to account for a zero ACE_Time_Value *, avoiding a crash in
+ tests/Reactor_Timer_Test, as well as any other program that
+ called ACE_Reactor::handle_events with a zero timer pointer.
+
+Mon Jul 23 10:39:55 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/OS.h: Added /**/ between #include and <sys/times.h> to
+ avoid warning from CE compiler.
+
+ * ace/ace_dll.vcp: Added Obchunk.cpp to the project.
+
+Sun Jul 22 08:19:43 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/config-cygwin32.h: ADded a #define for_CLOCKID_T. Thanks to
+ Christophe Galerne <christophgalerne@earthlink.net> for
+ reporting this.
+
+ * ace/Log_Record.cpp (priority_names_): Added commas after the
+ 'ACE_LIB_TEXT ("LM_UNK(04000)")' lines. Thanks to Steve Harris
+ <harris_s@ociweb.com> for reporting this.
+
+Sat Jul 21 19:56:08 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/Map_T.{h,i}: Made current_value() a const member function.
+ Thanks to Johnny Willemsen for reporting this.
+
+Fri Jul 20 10:16:46 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/Connector.cpp (create_AST): Replaced some calls to
+ sh->get_handle () with a cached value of handle. This fixes a
+ bug with gcc 2.96 on Tornado 2.1/VxWorks for SuperH. Thanks to
+ Frank Wolf <fwolf@gum.de> for reporting this.
+
+ * examples/Connection/non_blocking/CPP-acceptor.cpp:
+ * examples/Service_Configurator/IPC-tests/server/Handle_Thr_Stream.cpp:
+ * examples/Connection/non_blocking/CPP-connector.cpp: Changed the
+ SH macro to SVH to avoid clashes with a macro in VxWorks.
+ Thanks to Frank Wolf <fwolf@gum.de> for reporting this.
+
+Thu Jul 19 06:55:07 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/config-g++-common.h: Version 2.96 of g++ on VxWorks
+ is missing auto_ptr, so let's add the ACE_LACK_AUTO_PTR flag
+ there. Thanks to Frank Wolf for suggesting this.
+
+Fri Jul 20 09:47:38 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/Log_Msg.cpp: Fixed WinCE errors. CE does not support
+ UNIX_Syslog.
+
+Thu Jul 19 22:39:32 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * tests/MEM_Stream_Test.cpp:
+ * ace/MEM_IO.h:
+ * ace/MEM_IO.i:
+ * ace/MEM_IO.cpp: On non-Win32 platforms, disable multithreaded
+ MEM_IO if _ACE_USE_SV_SEM is defined.
+
+Thu Jul 19 15:25:11 2001 Paul Calabrese <calabrese_p@ociweb.com>
+
+ * ace/MEM_Acceptor.i (mmap_prefix):
+
+ Fix case where a null pointer is passed in.
+
+Thu Jul 19 06:55:07 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/Connector.cpp (connect_svc_handler): Missed one change...
+ Thanks to Bala for reporting this!
+
+ * include/makeinclude/platform_vxworks5.x_g++.GNU (HOST_DIR): Added
+ support for the SH7700 and SH7700LE. Thanks to Frank Wolf
+ <WolfF@Becker.de> for reporting this.
+
+ * ace/OS.i (truncate): Make sure to close the handle that we
+ opens. Thanks to Lothar for reporting this.
+
+ * ace/Connector.cpp: Changed the SH macro to SVH to avoid clashes
+ with a macro in VxWorks. Thanks to Frank Wolf <fwolf@gum.de>
+ for reporting this.
+
+Wed Jul 18 13:15:06 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/OS_Dirent.cpp (scandir_emulation): Removed the calls to the
+ ACE_ERROR_RETURN macros to avoid dependencies on ACE_Log_Msg
+ from within the ACE_OS layer. Thanks to Bala for pointing this
+ out!
+
+ * ace/ACE.{h,cpp}: Added a new wrapper method for ACE_OS::select()
+ that uses ACE_Handle_Set *'s rather than fd_set *'s. This is
+ motivated by work Steve Huston and I are doing on our new book
+ "C++ Network Programming: Resolving Complexity with ACE and
+ Patterns."
+
+ * ace/Malloc_T.i (release): Removed an unnecessary "else" to
+ make gcc 2.96 happy. Thanks to Frank Wolf <fwolf@gum.de> for
+ reporting this.
+
+ * Happy birthday to me and Angelo Corsaro!
+
+Tue Jul 17 00:34:40 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/SString.h (ACE_Tokenizer): Make sure that the data members
+ are protected, not private... Thanks to Martin Krumpolec for
+ reporting this (again)!
+
+Wed Jul 18 16:40:56 2001 Irfan Pyarali <irfan@cs.wustl.edu>
+
+ * ace/Log_Msg.cpp (program_name): Undid the following changes:
+
+ ChangeLogTag:Tue Jul 10 11:32:26 2001 Tibor Kiss
+
+ Tibor will be looking into this further since this change
+ currently causes shutdown problems on Win2000.
+
+Wed Jul 18 15:59:03 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * ace/config-tru64.h:
+
+ Removed _LIBC_POLLUTION_H. It seems that this macro is causing
+ problems for some users. Thanks to Pierre Oberson
+ <oberson@nagra-kudelski.ch> for prompting this fix.
+
+Tue Jul 17 13:00:11 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * tests/run_test.lst: Enabled the MEM_Stream test on Linux.
+
+Mon Jul 16 14:59:32 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/Memory_Pool.h (ACE_Shared_Memory_Pool): Added a comment
+ that discourages developer from using the ACE_Shared_Memory_Pool
+ and points them to the ACE_MMAP_Memory_Pool instead. Thanks to
+ Johnny Chen <jchen@huawei.com> for motivating this.
+
+ * ace/OS_Dirent.cpp (readdir_emulation): Fixed a handle leak
+ in the event that errors occur. Thanks to Kevin Burge
+ <kcburge@systemware-inc.com> for reporting this.
+
+ * ace/Log_Msg_UNIX_Syslog.cpp (open): Add an ACE_const_cast()
+ to the program name for platforms like LynxOS whose openlog()
+ method is char * rather than const char *. Thanks to Bala for
+ reporting this.
+
+Sun Jul 15 11:06:33 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/Log_Msg_NT_Event_Log.cpp: Fixed the implementation so that
+ it's consistent with the new program_name() features. Thanks to
+ Chris Kohloff <chris@kohlhoff.com> for this fix.
+
+Sun Jul 15 11:04:26 2001 Carlos O'Ryan <coryan@uci.edu>
+
+ * ace/SSL/ACE_SSL.dsp:
+ Removed references to $OPENSSL_ROOT, the user should configure
+ those in the Tools -> Option -> Directories tab.
+
+Fri Jul 13 23:02:46 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_Asynch_Stream.h:
+ * ace/SSL/SSL_Asynch_Stream.cpp:
+ * ace/SSL/SSL_Asynch_BIO.h:
+ * ace/SSL/SSL_Asynch_BIO.cpp:
+
+ Only support asynchronous SSL streams when using OpenSSL >
+ 0.9.5a. The BIO method signatures changed in OpenSSL 0.9.6.
+
+Fri Jul 13 22:48:56 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_Asynch_BIO.cpp (methods_ACE):
+
+ Removed excess element in aggregate initializer.
+
+Fri Jul 13 22:29:01 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_Asynch_Stream.cpp (print_error):
+
+ The OpenSSL ERR_error_string_n() function is only supported in
+ OpenSSL 0.9.6 or better.
+
+Fri Jul 13 14:59:18 2001 Alexander Libman <alexander.libman@baltimore.com>
+
+ * ace/WIN32_Asynch_IO.h (ACE_WIN32_Asynch_Result):
+ * ace/WIN32_Asynch_IO.cpp (set_error, set_bytes_transferred):
+
+ Added new methods set_error() and set_bytes_transferred().
+ Needed for below changes and new asynchronous SSL stream
+ implementation.
+
+ * ace/WIN32_Proactor.cpp (handle_events):
+
+ Fixed error handling semantics so that it is consistent with the
+ POSIX Proactor error handling semantics.
+
+ (post_completion):
+
+ Pass the amount of bytes transferred and the completion key to
+ the Win32 PostQueuedCompletionStatus() function. The error, if
+ any, will later be extracted in the handle_events() method.
+
+Fri Jul 13 15:59:45 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * netsvcs/servers/main.cpp (main): The server was always outputing
+ LM_DEBUG information, even when the program was not run with the
+ -d command line argument. Therefore, changed the following
+ lines from:
+
+ if (ACE::debug () == 0)
+ ACE_Log_Msg::disable_debug_messages ();
+
+ to:
+
+ if (ACE::debug () == 0)
+ ACE_LOG_MSG->priority_mask (~LM_DEBUG, ACE_Log_Msg::PROCESS);
+
+ Thanks to Jerry D. De Master <jdemaster@rite-solutions.com> for
+ reporting this fix.
+
+Fri Jul 13 12:16:03 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_Asynch_BIO.h:
+ * ace/SSL/SSL_Asynch_BIO.cpp:
+ * ace/SSL/SSL_Asynch_Stream.h:
+ * ace/SSL/SSL_Asynch_Stream.cpp:
+
+ New asynchrounous SSL stream implementation contributed by
+ Alexander Libman <alexander.libman@baltimore.com>.
+
+ * ace/SSL/ACE_SSL.dsp:
+ * ace/SSL/Makefile:
+ * ace/SSL/Makefile.bor:
+
+ Added new asynchronous SSL stream source files to these
+ Makefiles and project files.
+
+Fri Jul 13 09:40:08 2001 Jerry D. De Master <jdemaster@rite-solutions.com>
+
+ * ace/Log_Msg.*,
+ ace/Logging_Strategy.*,
+ ace/Log_Msg_UNIX_Syslog.*:
+ Applied patches to ACE_Log_Msg, ACE_Logging_Strategy, and
+ ACE_Log_Msg_UNIX_Syslog that are required to add the program
+ name logging strategy option ('n') and to initialize the UNIX
+ syslog facility with the program name. Also included are Boris
+ Kolpackov <bosk@ipmce.ru> patches for ACE_LACKS_IOSTREAM_TOTALLY
+ to ACE_Logging_Strategy.
+
+Thu Jul 12 19:54:27 2001 Ossama Othman <ossama@uci.edu>
+
+ * examples/Registry/test_registry_update.cpp (main):
+
+ Fixed unused argument warning.
+
+Thu Jul 12 19:57:12 2001 Frank Hunleth <fhunleth@cs.wustl.edu>
+
+ * bin/auto_run_tests.lst:
+
+ Added TAO/tests/RTCORBA/ORB_init to the auto run list.
+
+Thu Jul 12 17:11:35 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * bin/nightlybuilds/builds.lst (WEB):
+
+ Temporarily removed the IA-64 build till some issues get sorted
+ out.
+
+Thu Jul 12 06:01:03 2001 John Michael Zorko <j.zorko@att.net>
+
+ * netsvcs/lib/Server_Logging_Handler.cpp:
+ Added an an additional #define in config-macosx.h called
+ ACE_HAS_MACOSX_DYLIB, and checked to see if this was _not_
+ defined before instantiating the offending template in
+ Server_Logging_Handler.cpp. OS X has this thing about .dylibs
+ (OS X version of .so) where they can't have any duplicate
+ symbols, which is why libnetsvcs wasn't building on OS X
+ earlier. This fixes that.
+
+ * include/makeincludes/platform-macosx.GNU: Added -lACE to the
+ LIBS line, which fixed the majority of the build problems.
+
+ * ace/config-macosx.h: Added the ACE_HAS_MACOSX_DYLIB #define
+ mentioned above.
+
+Thu Jul 12 06:01:03 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/TLI_Connector.cpp (complete): Changed ACE_OS::t_rcvconnect()
+ to simply t_rcvconnect(). Thansk to Andreas Geisler for
+ reporting this.
+
+Thu Jul 12 09:43:36 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/FILE_Connector.h (ACE_FILE_Connector, connect):
+
+ Removed the default O_EXCL flag I added a few days ago. It is
+ mostly useful for preventing symbolic link attacks in a
+ directory with global write permissions. Pass the
+ responsibility of using the O_EXCL flag when necessary on to the
+ application developer.
+
+Wed Jul 11 22:31:50 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * include/makeinclude/rules.local.GNU (clean.local):
+
+ Added ti_files to remove the template cache generated by KCC.
+
+ * ace/TLI_Acceptor.cpp(open_new_endpoint):
+
+ Fixed a small typo causing compilation errors under Tru64.
+
+Wed Jul 11 13:06:33 2001 Steve Huston <shuston@riverace.com>
+
+ * tests/Log_Msg_Test.cpp: Changed the ostream test to close the
+ under-test ostream file before trying to open it and read the
+ contents. Avoids the "already open" error now that
+ ACE_FILE_Connector includes O_EXCL by default, and avoids any
+ potential file buffering issues reading an already-open file.
+
+Wed Jul 11 08:31:02 2001 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * tests/Dirent_Test.cpp:
+
+ Wrapped a string literal with ACE_TEXT, to get rid of a Win2000
+ WChar build error.
+
+Wed Jul 11 06:41:43 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/TLI_Stream.cpp,
+ * ace/TLI_Connector.cpp,
+ * ace/TLI_Acceptor.cpp: Added enhancements so that the code would
+ work on Win32. Thanks to Andreas Geisler
+ <Andreas.Geisler@erl9.siemens.de> for reporting this.
+
+Tue Jul 10 19:26:15 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/ace_dll.dsp:
+
+ Disabled generation of source browse information. It was
+ causing problems on some existing builds that didn't use it.
+
+ * ace/SSL/SSL_SOCK_Acceptor.cpp (ssl_accept):
+
+ Removed certificate verification code. It is up to the
+ application, not the ACE_SSL library, to perform proper
+ certificate verification.
+
+Tue Jul 10 23:02:00 2001 Craig Rodrigues <crodrigu@bbn.com>
+
+ * tests/Log_Msg_Test.cpp:
+ Fix test so it doesn't open output file to write to twice.
+ Thanks to Ossama for finding it.
+
+Tue Jul 10 19:10:19 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/ace.icc: Corrected the mis-applied patch for ace.icc in
+ Mon Jul 09 19:12:42 2001 Steve Huston <shuston@riverace.com>
+
+Tue Jul 10 16:01:52 2001 Ossama Othman <ossama@uci.edu>
+
+ * THANKS:
+
+ Added Sangeetha Ramadurai <Sangeetha.Ramadurai@geind.ge.com> to
+ the hall of fame.
+
+Tue Jul 10 18:15:39 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/WFMO_Reactor.cpp (event_handling): Move the logic for
+ noticing that the wait timed out, but did not expire any
+ timers, into this function. Will remove it from Reactor.cpp,
+ to properly move the fix into handle_events() rather than
+ needing to call run_reactor_event_loop to get it right.
+ * ace/Select_Reactor_T.cpp - still need to add similar logic here.
+
+ * ace/config-sunos5.6.h: Re the following:
+ Mon Jul 2 15:26:32 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+ Replaced ACE_HAS_POSIX_SEM, and left ACE_LACKS_NAMED_POSIX_SEM out.
+ Solaris does indeed have POSIX semaphores in 2.6 and later, but
+ requires the changes to OS.i below to work right.
+
+ * ace/OS.h: For ACE_PROC_PRI_OTHER_MIN (and MAX), on HP-UX,
+ convert the HP-UX priority value to the POSIX range.
+
+ * ace/OS.i (ACE_OS::sema_init, named POSIX semaphore): On Solaris
+ and HP-UX, the name of a POSIX semaphore needs to start with
+ a slash (further restricted on Solaris). Enforce that here by
+ prepending a slash, or by chopping off parts of the name.
+
+Tue Jul 10 16:08:04 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * include/makeinclude/platform_osf1_4.0.GNU:
+
+ Fixed the default flags so that it enables the user to override
+ settings. Now that the long pending fix to wrapper_macros.GNU is
+ through, this should work fine now.
+
+Tue Jul 10 13:37:31 2001 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * ace/OS_Dirent.cpp (readdir_emulation):
+
+ Removed the hard cast to char* of one of the two arguments in
+ a call to strcpy. In the WChar win32 build, this cast was
+ causing the source and target strings to be of different widths.
+
+Tue Jul 10 11:32:26 2001 Tibor Kiss <tkiss@mindmaker.hu>
+
+ * ace/Log_Msg.cpp:
+ Completed the ACE_Log_Msg::close method with the
+ ACE_Thread::keyfree (log_msg_tss_key_) and key_created_ = 0; to
+ ensure restartability by multiple successive ACE::init and
+ ACE::fini calls. This fix prevent leaks from occurring when
+ ACE::init() and ACE::fini() are called multiple times.
+
+Tue Jul 10 11:12:00 2001 Chris Gill <cdgill@cs.wustl.edu>
+
+ * ace/OS_Dirent.{h, inl}: refactored XDIR, dirent usage for pSOS -
+ user is no longer responsible for buffer deallocation after each
+ readdir call, only for passing the pointer returned from opendir
+ into closedir when all done. ACE_DIR structure is now used
+ consistently for all pSOS dirent calls.
+
+Tue Jul 10 06:06:07 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/Service_Repository.h: Updated the insert() comment to
+ clarify the return values. Thanks to Johnny Willemsen for
+ suggesting this.
+
+ * ace/Service_Repository.{h,i}: Made the current_size() and
+ total_size() methods const. Thanks to Johnny Willemsen for
+ suggesting this.
+
+ * ace/Service_Repository.h: Fixed a typo in the comments. Thanks
+ to Johnny Willemsen for reporting this.
+
+Tue Jul 10 08:39:04 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/config-vxworks5.x.h:
+
+ Added the macro ACE_LACKS_UNIX_SYSLOG.
+
+Tue Jul 10 08:26:57 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/Log_Msg_UNIX_Syslog.cpp:
+
+ Added a macro, ACE_LACKS_SETLOGMASK, for platforms that have
+ syslog, but don't have setlogmask().
+
+ * ace/config-chorus.h:
+
+ ChorusOS 4.0.1 happens to be one of them.
+
+Tue Jul 10 09:00:12 2001 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/OS_Dirent.h
+ Made the member 'd_name' of the 'dirent' struct non-const, because
+ BCB had problems with it
+
+Mon Jul 09 22:41:43 2001 Ossama Othman <ossama@uci.edu>
+
+ * include/makeinclude/wrapper_macros.GNU (exceptions):
+
+ Include platform_macros.GNU before the default for "exceptions"
+ is set. This fixes a problem where the default native
+ exceptions setting in platform_linux.GNU was not set due to the
+ fact that it was previously set in wrapper_macros.GNU. Thanks
+ to Hans Utz <hans.utz@informatik.uni-ulm.de> for tracking down
+ the problem.
+
+Mon Jul 9 16:40:02 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/Dirent_Selector.cpp (ACE_Dirent_Selector):
+
+ Correct order of initialization of members to match order of
+ declaration. Fixes a warning issued from GCC.
+
+ * ace/Dirent_Selector.inl:
+
+ Added missing RCS ID keyword. Fuzz was whining about the lack
+ of it.
+
+ * ace/Dirent_Selector.h:
+
+ Corrected some Doxygen comments.
+
+Mon Jul 09 19:12:42 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/ace.icc: Added Log_Msg_UNIX_Syslog and Log_Msg_NT_Event_Log
+ modules to the LOGGING component. Added Dirent_Selector to the
+ UTILS component.
+
+Mon Jul 9 15:59:56 2001 Joe Hoffert <joeh@cs.wustl.edu>
+
+ * ace/config-lynxos.h:
+ Added ACE_LACKS_MKSTEMP since LynxOS doesn't seem to have
+ this.
+
+Mon Jul 9 15:28:29 2001 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * ace/Dirent_Selector.cpp:
+ * ace/Dirent_Selector.h:
+
+ Added ACE_INLINE guards around inclusion of Dirent_Selector.inl.
+
+ * ace/ace_dll.dsp:
+ * ace/ace_lib.dsp:
+
+ Added Dirent_Selector.{h,i,cpp} to these projects.
+
+Mon Jul 9 06:52:09 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/Makefile.bor (OBJFILES): Added the Dirent_Selector.obj file.
+
+ * tests/Dirent_Test.cpp: Integrated a new test for the
+ ACE_Dirent_Selector class.
+
+ * ace/Makefile (UTILS_FILES),
+ * ace/Dirent_Selector.h,
+ * ace/Dirent_Selector.inl,
+ * ace/Dirent_Selector.cpp: Added support for a C++ wrapper facade that
+ encapsulates ACE_OS_Dirent::scandir(). Thanks to Rich Newman for
+ contributing this, as well.
+
+ * ace/OS_Dirent.h,
+ * ace/OS_Dirent.inl,
+ * ace/OS_Dirent.cpp: Added support for the scandir() feature, which
+ makes it possible to selectively pick which files in a directory
+ to iterate over. Also fixed a bug in the emulation of dirent.
+ Thanks to Rich Newman <RNewman@directv.com> for contributing
+ these fixes.
+
+Mon Jul 09 14:39:50 2001 Irfan Pyarali <irfan@cs.wustl.edu>
+
+ * ace/OS.i (thr_getprio and thr_setprio): Changed these two
+ function such that if we are on Solaris and we have pthreads
+ enabled, we should use the pthread calls rather than the native
+ Solaris calls. The reasons for choosing the pthread calls is
+ due to following problems with the native calls:
+
+ - thr_getprio() is evil because on Solaris 5.8, a thread with
+ priority -20 (SCHED_OTHER) is reported to have priority 80.
+
+ - thr_setprio() is evil because it cannot set the negative
+ priorities on Solaris 5.8.
+
+ - Also, thr_setprio() cannot change the priority of a thread
+ with negative priority to a positive priority on Solaris 5.8
+ (even though there is no error reported and thr_getprio() shows
+ that the change happened but pthread_getschedparam() shows that
+ no change happened).
+
+ - In addition, suppose a thread of policy SCHED_RR or SCHED_FIFO
+ uses thr_setprio() to reset its priority, the priority will be
+ reset but the scheduling policy will be dropped to SCHED_OTHER.
+ This happens with both Solaris 5.7 and Solaris 5.8.
+
+Mon Jul 9 13:33:43 2001 Joe Hoffert <joeh@cs.wustl.edu>
+
+ * include/makeinclude/wrapper_macros.GNU:
+ Change PACE path to start at $PACE_ROOT rather than $ACE_ROOT/PACE
+ since the latter is not as flexible. Defined PACE_ROOT if not
+ already defined. Also, added inclusion of PACE library for VxWorks
+ even when inlining since not all the PACE functions should be
+ inlined.
+
+Mon Jul 09 10:59:22 2001 Ossama Othman <ossama@uci.edu>
+
+ * THANKS:
+
+ Added Mouna Seri <seri@crhc.uiuc.edu> to the hall of fame.
+
+Mon Jul 9 11:10:44 2001 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * ace/config-win32-msvc-5.h:
+ * ace/config-win32-msvc-6.h:
+
+ Added conditional definitions for ACE_LD_DECORATOR_STR
+ "mfc" and "mfcd" so that the MFC release and debug versions
+ of libraries can be dynamically loaded in the same way that
+ the non-MFC release and debug versions are. Thanks to
+ Francois Bernier <fbernier@gel.ulaval.ca> for suggesting
+ this enhancement.
+
+Mon Jul 09 11:31:12 2001 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/pre.h
+ * include/makeinclude/compiler.bor
+
+ Removed the disabling of the compiler warning 'parameter never
+ used'. Unused parameters are handled by ACE_UNUSED_ARG macro.
+ A missing ACE_UNUSED_ARG is now shown as warning in the BCB build
+ log.
+
+Sun Jul 08 11:26:23 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/OS.h (mkstemp):
+ * ace/OS.i (mkstemp):
+
+ New mkstemp() wrapper. It is assumed to be available on the
+ given platform, unless ACE_LACKS_MKSTEMP is defined.
+
+ * ace/FILE_Connector.h:
+
+ Added O_EXCL to the default flags. This is a security hole
+ fix.
+
+ * ace/FILE_Connector.cpp (connect):
+
+ If mkstemp() is available, then use it to create a temporary
+ file rather than mktemp() (via ACE_FILE_Addr) since mktemp() is
+ susceptible to a denial-of-service attack.
+
+ * ace/config-win32-common.h:
+ * ace/config-vxworks5.x.h:
+
+ mkstemp() is not supported on MS Windows and VxWorks. Define
+ ACE_LACKS_MKSTEMP in these headers.
+
+Sun Jul 8 08:13:12 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/Select_Reactor_Base.h: Added a comment explaining what
+ the ACE_HAS_REACTOR_NOTIFICATION_QUEUE macro means. Thanks to
+ Kobi Cohen-Arazi <kobic@bvr.co.il> for motivating this.
+
+Sat Jul 7 18:53:49 2001 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * include/makeinclude/platform_osf1_4.0.GNU:
+
+ Revert the changes made to this file. Please see the file for a
+ lengthy description.
+
+Fri Jul 06 21:53:26 2001 Christopher Kohlhoff <chris@kohlhoff.com>
+
+ * ace/config-win32-borland.h:
+ Reverted addition of ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION.
+
+Fri Jul 6 19:55:23 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * examples/Reactor/Multicast: Adding the support for UNIX Syslog
+ broke this example because LOG_DEBUG was suddenly defined as a
+ macro (it's in syslog.h). I've fixed this by renaming the LOG_
+ enums to LM_ instead. Thanks to Bala for reporting this.
+
+Fri Jul 06 20:23:41 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/Refcoutned_Auto_Ptr.i (null): Change const_cast<> to
+ ACE_const_cast() to build on older compilers, like IBM C/C++ 3.6.6.
+
+Fri Jul 06 20:13:29 2001 Steve Huston <shuston@riverace.com>
+
+ * netsvcs/lib/Name_Handler.cpp:
+ * netsvcs/lib/Server_Logging_Handler_T.cpp:
+ * netsvcs/lib/Token_Handler.cpp:
+
+ More ACE_DEBUG disables.
+
+Fri Jul 6 15:55:54 2001 Ossama Othman <ossama@uci.edu>
+
+ * ace/OS.h (ACE_FD_SETSIZE):
+
+ Integrated patch from Jody Hagins <jody@atdesk.com>. Set the
+ default reactor file descriptor set size to be an integer
+ constant rather than a preprocessor constant. Some third party
+ software #undef FD_SETSIZE in their header files, causing build
+ problems in ACE.
+
+Fri Jul 06 18:20:39 2001 Steve Huston <shuston@riverace.com>
+
+ * netsvcs/lib/Client_Logging_Handler.cpp: #if 0'd out a bunch of
+ ACE_DEBUG statements that aren't appropriate for use in commercial
+ logging. These can be #if 1'd if there's some doubt while debugging
+ this stuff, but they aren't useful once debugged, and are
+ distracting since they're interespersed with application records.
+
+Fri Jul 6 13:40:20 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Log_Msg_UNIX_Syslog.cpp: Fixed a warning in g++.
+
+Fri Jul 06 11:39:41 2001 Steve Huston <shuston@riverace.com>
+
+ * ace/INET_Addr.h: Clarified (and improved doxygenation) of
+ constructor and set() methods regarding byte orders.
+
+ * tests/Max_Default_Port_Test.icc: New file for this test.
+ * tests/tests.icp: Added Max_Default_Port_Test
+
+Fri Jul 6 08:36:20 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * netsvcs/Makefile: Don't build this if ACE_COMPONENTS does not
+ contain Other. The netsvcs library requires Naming_Context.
+
+Fri Jul 6 05:44:13 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/Makefile (LOGGING_FILES): Added support for
+ Log_Msg_UNIX_Syslog.
+
+ * ace/Log_Msg_UNIX_Syslog.{h,cpp}:
+ * ace/Log_Msg.cpp,
+ * ace/OS.h: Added support for a new UNIX syslog backend for the
+ ACE_Log_Msg class. Thanks to Jerry D. De Master
+ <jdemaster@rite-solutions.com> and Robert Davidson
+ <robert@rdavidson.freeserve.co.uk>.
+
+ * ace/SOCK_Dgram.h: Fixed a typo in one of the send() method
+ comments. Thanks to Alain Decamps <Alain.Decamps@PIDPA.be> for
+ reporting this.
+
+ * ace/config-macosx.h: Added a new file courtesy of John
+ Zorko so that things will work on MacOSX.
+
+Thu Jul 5 23:22:21 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ Fixes that were required for fixing bug 575. Merged in from
+ branch bug_575_stage_2.
+
+Thu Jul 5 23:09:29 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/CDR_Stream.cpp (ACE_InputCDR): Fixed a long standing bug in
+ the branch. This caused the DSI_Gateway test to fail. The
+ problem was from setting the write pointer to a wrong position
+ during the construction.
+
+Thu Jul 5 14:39:45 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * Merged with the main trunk and moved it to a new branch by name
+ bug_575_stage_2.
+
+Thu Jun 28 15:25:07 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Reactor.h (ACE_Reactor):
+ * ace/Reactor.cpp: Added a new method resumable_handler () to the
+ reactor interface. This would indicate whether the application
+ can take advantage by resuming the handlers themselves or
+ not. Not all reactors can allow this feature.
+
+ * ace/Reactor_Impl.h:
+ * ace/Reactor_Impl.cpp: Added a pure virtual function so that all
+ the implementations can decide whether the handlers are
+ resumable or not.
+
+ * ace/Select_Reactor_Base.h:
+ * ace/Select_Reactor_Base.cpp:
+ * ace/TP_Reactor.h:
+ * ace/TP_Reactor.cpp:
+ * ace/WFMO_Reactor.h:
+ * ace/WFMO_Reactor.cpp:Implemented resumable_handlers ().
+
+Sun Jun 24 11:25:07 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * Created this file. Got the whole stuff in ace to a new branch by
+ name bug_575_stage_1. This ChangeLog file will be in branch
+ bug_575.
+
+Fri Jun 22 16:52:13 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/CDR_Stream.cpp: Changed the copy constructor for the
+ ACE_InputCDR's. Instead of duplicating the ACE_Data_Block we
+ now use the new copy constructor in the ACE_Message_Block.
+
+ * ace/Message_Block.h:
+ * ace/Message_Block.cpp: Added a new copy constructor to the
+ ACE_Message_Block. This copy constructor does a deep copy from
+ the data block if the data block of the incoming message block
+ is on the stack or does a shallow copy of the data block (by
+ incrementing the ref count) if it is on the heap.
+
+ END of entries from bug_575_stage_2.
+
+Thu Jul 5 22:07:33 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * bin/auto_run_tests.lst: Added the new perl script in LongUpcalls
+ in the daily builds.
+
+Thu Jul 5 20:36:00 2001 Craig Rodrigues <crodrigu@bbn.com>
+
+ * ace/config-win32-borland.h
+ define ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION
+ * tests/Token_Test.cpp
+ Fix template instantiation problem.
+
+Wed Jul 4 15:35:47 2001 Joe Hoffert <joeh@cs.wustl.edu>
+
+ * tests/run_tests.vxworks:
+ Removed invocation of CDR_Array_Test. According to the ace
+ config files the compiler we are using is pre 2.8 (i.e.,
+ ACE_HAS_GNUG_PRE_2_8 is defined). Therefore don't run
+ CDR_Array_Test since the Makefile doesn't build it (due to
+ the ACE_HAS_GNUG_PRE_2_8 macro).
+
+Wed Jul 04 14:26:10 2001 Irfan Pyarali <irfan@cs.wustl.edu>
+
+ * ace/Synch_T.h (class ACE_Acquire_Method): Moved the enums from
+ the Reverse Lock class into ACE_Acquire_Method, a non-template
+ class. These enums should have been inside the reverse lock
+ class, but some lame compilers cannot handle enums inside
+ template classes.
+
+Wed Jul 04 12:43:22 2001 Irfan Pyarali <irfan@cs.wustl.edu>
+
+ * ace/Synch_T.i (ACE_Reverse_Lock): Fully specified the
+ ACE_ACQUIRE_METHOD type.
+
+Tue Jul 3 15:43:25 2001 Balachandran Natarajan <bala@cs.wustl.edu>
+
+ * ace/Select_Reactor_Base.cpp: Fixed a warning in g++.
+
+Tue Jul 3 14:44:00 2001 Craig Rodrigues <crodrigues@bbn.com>
+
+ * ace/config-win32-common.h: Borland C++ apparently
+ does not support the "extern template class" Microsoft VC++
+ proprietary extension. Thanks to Chris Kohloff <chris@kohlhoff.com>
+ for the fix.
+
+Tue Jul 03 12:26:33 2001 Irfan Pyarali <irfan@cs.wustl.edu>
+
+ * ace/Synch_T.h (class ACE_Reverse_Lock): Added a parameter to the
+ constructor of the reverse lock. The ACE_ACQUIRE_METHOD
+ parameter is used to indicate which acquire() method will be
+ called on the real lock when the release() method is called on
+ the reverse lock. REGULAR indicated the acquire() method, READ
+ indicates the acquire_read() method, and WRITE indicates the
+ acquire_write() method. Note that the try_*() methods are not
+ represented here because we have to make sure that the release()
+ method on the reverse lock acquires a lock on the real lock.
+
+ Thanks to Edan Ayal <edana@bandwiz.com> for suggesting this.
+
+Tue Jul 3 06:20:13 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/Reactor.h,
+ * ace/Reactor_Impl.h,
+ * ace/Select_Reactor_Base.cpp,
+ * ace/Select_Reactor_Base.i,
+ * ace/Select_Reactor_Base.h,
+ * ace/WFMO_Reactor.cpp,
+ * ace/WFMO_Reactor.h: Added an enhancement that allows the
+ Reactor to selectively purge event handlers from its
+ notification queue according to their Reactor_Mask type. Thanks
+ to Edan Ayal <edana@bandwiz.com> for contributing this.
+
+ * tests/Reactor_Notify_Test.cpp (run_notify_purge_test):
+ Added a new set of tests for the new selective notification
+ purging features of the Reactor. Thanks to Edan Ayal
+ <edana@bandwiz.com> for contributing this.
+
+ * ace/WIN32_Asynch_IO.cpp: Removed the
+ ACE_WIN32_Asynch_Result (handler, act, event, 0, 0, priority,
+ signal_number), initializer since we no longer use virtual
+ inheritance. Thanks to Alexander Libman
+ <alexander.libman@baltimore.com> for reporting this.
+
+ * ace/WIN32_Asynch_IO.h: Removed the virtual inheritance from
+ ACE_WIN32_Asynch_Result for the ACE_Asynch_Read_Stream_Result
+ and ACE_Asynch_Read_Dgram_Result classes. Thanks to Alexander
+ Libman <alexander.libman@baltimore.com> for reporting this.
+
+ * ace/Refcounted_Auto_Ptr.h: Made the destructor of
+ ACE_Refcounted_Auto_Ptr virtual so that users can override it
+ locally. Thanks to Jenny Kowald <jkowald@oz.agile.tv> for
+ reporting this.
+
+Tue Jul 3 09:40:59 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * include/makeinclude/platform_osf1_4.0.GNU:
+ * include/makeinclude/platform_osf1_4.0_g++.GNU:
+
+ Allow users to set options like debug, exceptions, ... without
+ using override.
+
+Tue Jul 3 08:38:47 2001 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * examples/Reactor/Proactor/test_dup_proactor.dsp:
+
+ Fixed a mistake in the link to the ACE library.
+
+Mon Jul 2 16:23:04 2001 Jeff Parsons <parsons@cs.wustl.edu>
+
+ * examples/Reactor/Proactor/test_multiple_loops.dsp:
+ * examples/Reactor/Proactor/test_proactor.dsp:
+ * examples/Reactor/Proactor/test_proactor.dsw:
+ * examples/Reactor/Proactor/test_timeout.dsp:
+ * examples/Reactor/Proactor/test_udp_proactor.dsp:
+
+ Fixed settings on release version of test_udp_proactor.dsp,
+ added it to the workspace, and removed unused file folders
+ from the FileViews of the other projects.
+
+Mon Jul 2 15:26:32 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ * ace/config-sunos5.6.h: Removed ACE_HAS_POSIX_SEM and
+ ACE_LACKS_NAMED_POSIX_SEM. Thanks to Glenn Popelka
+ <gpp@gpopelka.com> for helping track this down.
+
+Mon Jul 02 11:45:57 2001 Ossama Othman <ossama@uci.edu>
+
+ * bin/make_release:
+
+ Disabled bootstrapping of ACE's autoconf support. It isn't
+ ready for general use. Doing so reduces the amount of
+ confusion. Thanks to Holger P. Krekel <krekel@merlinux.de> for
+ motivating this change.
+
+Mon Jul 2 13:18:14 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * Moved ACE-configurations.txt into the docs directory. Also
+ removed the hopelessly out of date BIBLIOGRAPHY file.
+
+ * Moved all the ChangeLog-* files into the new ChangeLogs
+ directory. Thanks to Holger P. Krekel <krekel@merlinux.de> for
+ this suggestion.
+
+Mon Jul 02 11:20:52 2001 Ossama Othman <ossama@uci.edu>
+
+ * config.guess:
+ * config.sub:
+
+ Updated to the latest versions from the GNU FTP site.
+
+Mon Jul 02 11:30:20 2001 Irfan Pyarali <irfan@cs.wustl.edu>
+
+ * ace/Synch_T.i: Since the release() method on the reverse lock
+ calls the simple acquire() method on the real lock, it is
+ assumed that it is a simple acquire/release protocol with the
+ real lock. Therefore, I think all the other methods on the
+ reverse lock tryacquire(), acquire_read(), acquire_write(),
+ tryacquire_read(), tryacquire_write(), and
+ tryacquire_write_upgrade() should not be allowed. This falls in
+ line with the original concept of using reverse locks with
+ regular guards.
+
+ Thanks to Edan Ayal <edana@bandwiz.com> for pointing this out.
+
+Mon Jul 2 11:17:37 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/Profile_Timer.cpp:
+
+ Cleaned up the conditional macros. Added method bodies for
+ ACE_Profile_Timer::get_rusage() and
+ ACE_Profile_Timer::elapsed_rusage() when neither ACE_HAS_PRUSAGE_T
+ nor ACE_HAS_GETRUSAGE is defined.
+
+ * Reverted the reverted changes in this entry.
+ "Fri Jun 29 22:31:56 2001 Balachandran Natarajan
+ <bala@cs.wustl.edu>". These changes are ok, I just
+ needed to fix the bug in Profile_Timer.cpp.
+
+Mon Jul 2 09:40:45 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * include/makeinclude/platform_aix_ibm.GNU:
+
+ Add the output filter to the linker to avoid the duplicate symbol
+ warnings on AIX.
+
+Mon Jul 2 05:40:54 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * ace/Logging_Strategy.cpp: Enhanced the code so that it works with
+ ACE_LACKS_IOSTREAM_TOTALLY. Thanks to Nir Drang <nir@bandwiz.com>
+ and Edan Ayal <edana@bandwiz.com> for reporting this.
+
+ * ace/SPIPE_Addr.cpp (set): Added a "+ 1" to the computation of
+ the size of the SPIPE_Addr to account for the trailing NUL.
+ Thanks to Oren Zeev-Ben-Mordehai <oren@phonedo.com> for
+ reporting this.
+
+ * ace/Refcounted_Auto_Ptr.{h,i}: Added support for a "null()"
+ method to check if a refcounted auto ptr is NULL. Thanks to
+ Jenny Kowald <jkowald@oz.agile.tv> for reporting this.
+
+ * ace/config-macosx.h,
+ * ace/platform_macosx.GNU: Enhanced these files to support MacOSX.
+ Thanks to John Zorko <j.zorko@att.net> for contributing this.
+
+ * ace/Synch.h: Fixed the Doxygen documentation for all the
+ removed_ fields, which where somehow messed up. Thanks to
+ Johnny Willemsen for reporting this.
+
+Sun Jul 1 11:49:13 2001 Alexander Libman <alexander.libman@baltimore.com>
+
+ * ace: Enhanced the POSIX and Sun Proactor implementations as
+ follows:
+
+ . POSIX_SIG_Proactor is now based on POSIX_AIOCB_Proactor
+
+ . All classes ACE_POSIX_SIG_Asynch_XXXX are removed.
+ POSIX_SIG_Proactor uses the ACE_POSIX_AIOCB_Asynch_XXXX
+ classes now.
+
+ . ACE_POSIX_AIOCB_Proactor::register_and_start_aio (...)
+ now calls a new virtual method: int
+ ACE_POSIX_AIOCB_Proactor::allocate_aio_slot
+ (ACE_POSIX_Asynch_Result *result).
+
+ . The strategy of free slot allocation in SIG_Proactor is
+ a bit different from AIOCB and SUN Proactors. The
+ allocate_aio_slot() method is responsible for setting
+ notification information for aio request
+ (SIGEV_NONE/SIGEV_SIGNAL). For SIG_Proactor, the field
+ aio_sigevent.sigev_value.sival_int now contains index of aiocb
+ in the aiocb_list_, not a pointer.
+
+ . The ACE_POSIX_AIOCB_Proactor::find_completed_aio (int &error_status,
+ int &return_status, size_t
+ &index, size_t &count)
+ parameter index defines initial slot to scan and the new
+ parameter count tells us maximum number slots to scan. On
+ return: index contains value to start scan next time, count
+ contains remained number of slots. Scanning is performed in
+ "wheel" style to allow all requests be handled with equal
+ priorities.
+
+ . ACE_POSIX_AIOCB_Proactor::check_max_aio_num () checks for
+ max_number_files to open and tries to setup max_number_files
+ equal to aiocb_max_size_. if we failed than cut off
+ aiocb_max_size_ value to existing max_number_files.
+
+ . POSIX_Proactor added member int os_id_ and constructor sets up
+ os_id_ (compilation time + run_time function) to know
+ OS(Sun/HP/Linux/...) and version. We need such info for
+ POSIX_SIG_Proactors to take into account the behavior of
+ different OS.
+
+ . Delivery of simulated/"post_completed" Asynch_Results
+ (Timers, AsynchAccept,Wakeup ...). As both Proactors have no
+ reliable mechanizm for delivery "post_completed" results, so
+ the reliable queue of "post_completed" results was
+ implemented. The new member of AIOCB Proactor
+ ACE_Unbounded_Queue<ACE_POSIX_Asynch_Result *> result_queue_
+ has been added. Also added protected methods to the
+ ACE_POSIX_AIOCB_Proactor.
+
+ . We had an error in all previous versions (from major ACE 5.1):
+ post_completion (int how_many) does not guarantee that all
+ completions will be delivered to the different threads running
+ event_loop (sometimes several completions could be delivered
+ to the one thread, in another thread performs during long time
+ application_spesific_code ()). Moreover, you can run now
+ Proactor event_loop in any number of threads (more than
+ SIGQUEMAX).
+
+Sun Jul 1 11:49:13 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * examples/Reactor/Proactor: Integrated a test that exercises the
+ support for asynchronous UDP operations. Thanks to Roger Tragin
+ <r.tragin@computer.org> for contributing this.
+
+ * ace/Synch_T.i: Changed the implementations of all the
+ acquire*() method to call release(). Thanks to Edan Ayal
+ <edana@bandwiz.com> for reporting this.
+
+Sat Jun 30 12:44:11 2001 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
+
+ * examples/Connection/blocking/SPIPE-acceptor.cpp: Added better
+ support for shutting down the server when a signal occurs.
+ Thanks to Rich Newman <RNewman@directv.com> for this
+ enhancement.
diff --git a/TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_EH.cpp b/TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_EH.cpp
new file mode 100644
index 00000000000..8efc4b7a5d7
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_EH.cpp
@@ -0,0 +1,393 @@
+// $Id$
+
+#include "orbsvcs/Event/ECG_Mcast_EH.h"
+#include "orbsvcs/Event/EC_Gateway_UDP.h"
+#include "orbsvcs/Event_Service_Constants.h"
+
+#if !defined(__ACE_INLINE__)
+#include "ECG_Mcast_EH.i"
+#endif /* __ACE_INLINE__ */
+
+ACE_RCSID(Event, ECG_UDP_EH, "$Id$")
+
+TAO_ECG_Mcast_EH::TAO_ECG_Mcast_EH (TAO_ECG_UDP_Receiver *recv,
+ const ACE_TCHAR *net_if)
+ : net_if_ (net_if?ACE_OS::strdup (net_if):0)
+ , receiver_ (recv)
+ , observer_ (this)
+{
+}
+
+TAO_ECG_Mcast_EH::~TAO_ECG_Mcast_EH (void)
+{
+ ACE_OS::free (this->net_if_);
+}
+
+// @@ TODO Why have a return code *and* exceptions? Only one would do!
+
+int
+TAO_ECG_Mcast_EH::open (RtecEventChannelAdmin::EventChannel_ptr ec,
+ CORBA::Environment& ACE_TRY_ENV)
+{
+ // @@ TODO Think about the exception safety (or lack thereof) of
+ // this code, what if the following operations fail?
+
+ this->ec_ = RtecEventChannelAdmin::EventChannel::_duplicate (ec);
+
+ // @@ TODO This activation should be configured by the application,
+ // it is too much policy to use _this().
+ // @@ TODO Using a full instance instead of a pointer makes memory
+ // management complex. The observer_ object should derive from
+ // PortableServer::RefCountServantBase and use the POA to control
+ // its lifetime.
+
+ RtecEventChannelAdmin::Observer_var obs =
+ this->observer_._this (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+
+ ACE_TRY
+ {
+ this->handle_ =
+ this->ec_->append_observer (obs.in (), ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+ }
+ ACE_CATCH(CORBA::SystemException, ex)
+ {
+ // @@ TODO This code is tedious and error prone, plus its
+ // exceptions should be ignored (no way to recover from them),
+ // we should encapsulate it in a Deactivator.
+
+ PortableServer::POA_var poa =
+ this->observer_._default_POA (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+ PortableServer::ObjectId_var id =
+ poa->servant_to_id (&this->observer_, ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+ poa->deactivate_object (id.in (), ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+
+ ACE_RE_THROW;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK_RETURN (-1);
+
+ return 0;
+}
+
+int
+TAO_ECG_Mcast_EH::close (CORBA::Environment& ACE_TRY_ENV)
+{
+ if (this->handle_ == 0)
+ return 0;
+
+ RtecEventChannelAdmin::Observer_Handle h = this->handle_;
+ this->handle_ = 0;
+ this->ec_->remove_observer (h, ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+
+ // @@ TODO If the first operation raises an exception then the
+ // second one never executes!!!
+ {
+ PortableServer::POA_var poa =
+ this->observer_._default_POA (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+ PortableServer::ObjectId_var id =
+ poa->servant_to_id (&this->observer_, ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+ poa->deactivate_object (id.in (), ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+ }
+
+ // Ignore the result, the handler could have been removed by a call
+ // to update_consumer() or something similar.
+ (void) this->reactor ()->remove_handler (this,
+ ACE_Event_Handler::READ_MASK);
+
+ size_t sockets_size = this->sockets_.size ();
+ for (size_t i = 0; i != sockets_size; ++i)
+ {
+ // Ignore any errors that we may have when closing the socket,
+ // there is nothing we can do about them at this point....
+ (void) this->sockets_[i]->close();
+ delete this->sockets_[i];
+ }
+ this->sockets_.size (0);
+
+ // Once all the sockets are closed they no longer are subscribed for
+ // anything
+ this->subscriptions_.unbind_all ();
+
+ return 0;
+}
+
+int
+TAO_ECG_Mcast_EH::handle_input (ACE_HANDLE fd)
+{
+ // @@ TODO How expensive is this loop? Should we use a more
+ // efficient data structure than an Array? For example a RB tree
+ // or a hash map?
+ size_t sockets_size = this->sockets_.size ();
+ for (size_t i = 0; i != sockets_size; ++i)
+ {
+ ACE_SOCK_Dgram_Mcast *socket = this->sockets_[i];
+ if (socket->get_handle () == fd)
+ {
+ return this->receiver_->handle_input (*socket);
+ }
+ }
+ return -1;
+}
+
+void
+TAO_ECG_Mcast_EH::compute_required_subscriptions (
+ const RtecEventChannelAdmin::ConsumerQOS& sub,
+ Address_Set& multicast_addresses,
+ CORBA::Environment& ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ CORBA::ULong count = sub.dependencies.length ();
+ for (CORBA::ULong i = 0; i != count; ++i)
+ {
+ const RtecEventComm::EventHeader& header =
+ sub.dependencies[i].event.header;
+ if (0 <= header.type && header.type < ACE_ES_EVENT_UNDEFINED)
+ {
+ continue;
+ }
+ RtecUDPAdmin::UDP_Addr addr;
+
+ // For the time being we are exception neutral, i.e., if an
+ // exception is raised at this point we simply propagate it.
+ // Notice that we haven't performed any changes to the state of
+ // the current class, so this is the easiest approach. The
+ // alternatives are:
+ // + Ignore the exception and continue with the operation: risky
+ // because we don't know if the exception indicated a
+ // temporary or permanent condition, and if it is the former
+ // we may loose an important multicast group, with no
+ // opportunity to recover it.
+ // + Close the MCast Event Handler completely, too much policy
+ // for this level.
+ this->receiver_->get_addr (header, addr, ACE_TRY_ENV);
+ ACE_CHECK;
+
+ ACE_INET_Addr inet_addr (addr.port, addr.ipaddr);
+ // Ignore errors, if the element is in the set we simply ignore
+ // the problem...
+ (void) multicast_addresses.insert (inet_addr);
+ }
+}
+
+int
+TAO_ECG_Mcast_EH::delete_unwanted_subscriptions (
+ Address_Set& multicast_addresses)
+{
+ Subscriptions_Iterator j = this->subscriptions_.begin ();
+ while (j != this->subscriptions_.end ())
+ {
+ ACE_INET_Addr multicast_group = (*j).ext_id_;
+ if (multicast_addresses.find (multicast_group))
+ {
+ // Remove from the list of subscriptions that should be
+ // added, because it is already there...
+ (void) multicast_addresses.remove (multicast_group);
+ ++j;
+ continue;
+ }
+
+ char buf[256];
+ multicast_group.addr_to_string (buf, sizeof buf, 1);
+ ACE_SOCK_Dgram_Mcast *socket = (*j).int_id_;
+ // Ignore errors, there is no appropriate policy to handle them
+ // at this layer.
+ // @@ TODO Consider if we should raise exceptions.
+ socket->unsubscribe (multicast_group, this->net_if_);
+ // Increment and then remove, this is a safe way to remove the
+ // element without invalidating the iterator.
+ ++j;
+ this->subscriptions_.unbind (multicast_group);
+ }
+ return 0;
+}
+
+int
+TAO_ECG_Mcast_EH::subscribe_to_existing_socket (
+ ACE_INET_Addr& multicast_group)
+{
+ size_t sockets_size = this->sockets_.size ();
+ int result = -1;
+ for (size_t i = 0; i != sockets_size; ++i)
+ {
+ ACE_SOCK_Dgram_Mcast *socket = this->sockets_[i];
+ result =
+ socket->subscribe (multicast_group, 1, this->net_if_);
+ if (result == 0)
+ {
+ // Add the subscription to the subscription list
+ (void) this->subscriptions_.bind (multicast_group, socket);
+ break;
+ }
+ /* assert(result == -1) */
+ if (errno == ENOBUFS || errno == ETOOMANYREFS)
+ {
+ // The socket is full, try with the next one...
+ continue;
+ }
+ // @@ TODO: There was an error, but the problem is not with
+ // too many subscriptions... what we need to do is close the
+ // socket? Or skip the subscription?
+ }
+ return result;
+}
+
+void
+TAO_ECG_Mcast_EH::subscribe_to_new_socket(
+ ACE_INET_Addr& multicast_group)
+{
+ ACE_SOCK_Dgram_Mcast *socket;
+ ACE_NEW (socket, ACE_SOCK_Dgram_Mcast);
+ size_t sockets_size = this->sockets_.size ();
+
+ if (this->sockets_.max_size () == sockets_size)
+ {
+ this->sockets_.max_size (sockets_size + 1);
+ this->sockets_.size (sockets_size + 1);
+ }
+ this->sockets_[sockets_size] = socket;
+ socket->subscribe (multicast_group, 1, this->net_if_);
+
+ // @@ TODO: we have no way to handle this failure....
+ (void) this->subscriptions_.bind (multicast_group, socket);
+
+ // @@ TODO: we have no way to handle this failure....
+ (void) this->reactor ()->register_handler (socket->get_handle (),
+ this,
+ ACE_Event_Handler::READ_MASK);
+}
+
+void
+TAO_ECG_Mcast_EH::add_new_subscriptions (
+ Address_Set& multicast_addresses)
+{
+ typedef ACE_Unbounded_Set_Iterator<ACE_INET_Addr> Address_Iterator;
+ for (Address_Iterator k = multicast_addresses.begin ();
+ k != multicast_addresses.end ();
+ ++k)
+ {
+ // This is the multicast group we want to add to...
+ ACE_INET_Addr multicast_group = *k;
+
+ char buf[256];
+ multicast_group.addr_to_string (buf, sizeof buf, 1);
+
+ // Try to find a socket that has space for another multicast
+ // group.
+ int successful_subscription =
+ this->subscribe_to_existing_socket (multicast_group);
+
+ if (successful_subscription == -1)
+ {
+ // We try all the sockets and all of them appear to be full,
+ // we need to open a new one and add it to the Array...
+ this->subscribe_to_new_socket(multicast_group);
+ }
+ }
+}
+
+void
+TAO_ECG_Mcast_EH::update_consumer (
+ const RtecEventChannelAdmin::ConsumerQOS& sub,
+ CORBA::Environment& ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // @@ TODO This function turned out to be too long, we need to break
+ // it up in pieces, maybe 3 or 4 private member functions....
+
+ // 1) Figure out the list of multicast groups that we need to
+ // subscribe to
+
+ Address_Set multicast_addresses;
+
+ this->compute_required_subscriptions (sub, multicast_addresses, ACE_TRY_ENV);
+ ACE_CHECK;
+
+ // 2) To conserve OS and network resources we first unsubscribe from
+ // the multicast groups no longer wanted. This is done by
+ // iterating over the current set of multicast groups and
+ // removing those not present in the "multicast_addresses" set.
+
+ this->delete_unwanted_subscriptions (multicast_addresses);
+
+ // 3) After the loop above the "multicast_addresses" set contains
+ // only the new subscriptions... go ahead and add them to the
+ // sockets, opening sockets if needed.
+
+ this->add_new_subscriptions (multicast_addresses);
+}
+
+void
+TAO_ECG_Mcast_EH::update_supplier (const RtecEventChannelAdmin::SupplierQOS&,
+ CORBA::Environment&)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ // Do nothing
+}
+
+// ****************************************************************
+
+TAO_ECG_Mcast_EH::Observer::Observer (TAO_ECG_Mcast_EH* eh)
+ : eh_ (eh)
+{
+}
+
+void
+TAO_ECG_Mcast_EH::Observer::update_consumer (
+ const RtecEventChannelAdmin::ConsumerQOS& sub,
+ CORBA::Environment& ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ this->eh_->update_consumer (sub, ACE_TRY_ENV);
+}
+
+void
+TAO_ECG_Mcast_EH::Observer::update_supplier (
+ const RtecEventChannelAdmin::SupplierQOS& pub,
+ CORBA::Environment& ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException))
+{
+ this->eh_->update_supplier (pub, ACE_TRY_ENV);
+}
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+
+template class ACE_Hash_Map_Manager<ACE_INET_Addr,ACE_SOCK_Dgram_Mcast*,ACE_Null_Mutex>;
+template class ACE_Hash_Map_Manager_Ex<ACE_INET_Addr, ACE_SOCK_Dgram_Mcast *, ACE_Hash<ACE_INET_Addr>, ACE_Equal_To<ACE_INET_Addr>, ACE_Null_Mutex>;
+template class ACE_Hash_Map_Entry<ACE_INET_Addr, ACE_SOCK_Dgram_Mcast *>;
+template class ACE_Hash<ACE_INET_Addr>;
+template class ACE_Equal_To<ACE_INET_Addr>;
+template class ACE_Unbounded_Set<ACE_INET_Addr>;
+template class ACE_Array_Base<ACE_SOCK_Dgram_Mcast *>;
+template class ACE_Unbounded_Set_Iterator<ACE_INET_Addr>;
+template class ACE_Hash_Map_Iterator_Base_Ex<ACE_INET_Addr, ACE_SOCK_Dgram_Mcast*, ACE_Hash<ACE_INET_Addr>, ACE_Equal_To<ACE_INET_Addr>, ACE_Null_Mutex>;
+template class ACE_Hash_Map_Iterator<ACE_INET_Addr,ACE_SOCK_Dgram_Mcast*,ACE_Null_Mutex>;
+template class ACE_Hash_Map_Iterator_Ex<ACE_INET_Addr, ACE_SOCK_Dgram_Mcast*, ACE_Hash<ACE_INET_Addr>, ACE_Equal_To<ACE_INET_Addr>, ACE_Null_Mutex>;
+template class ACE_Hash_Map_Reverse_Iterator<ACE_INET_Addr,ACE_SOCK_Dgram_Mcast*,ACE_Null_Mutex>;
+template class ACE_Hash_Map_Reverse_Iterator_Ex<ACE_INET_Addr, ACE_SOCK_Dgram_Mcast*, ACE_Hash<ACE_INET_Addr>, ACE_Equal_To<ACE_INET_Addr>, ACE_Null_Mutex>;
+
+#elif defined(ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+
+#pragma instantiate ACE_Hash_Map_Manager<ACE_INET_Addr,ACE_SOCK_Dgram_Mcast*,ACE_Null_Mutex>
+#pragma instantiate ACE_Hash_Map_Manager_Ex<ACE_INET_Addr, ACE_SOCK_Dgram_Mcast *, ACE_Hash<ACE_INET_Addr>, ACE_Equal_To<ACE_INET_Addr>, ACE_Null_Mutex>
+#pragma instantiate ACE_Hash_Map_Entry<ACE_INET_Addr, ACE_SOCK_Dgram_Mcast *>
+#pragma instantiate ACE_Hash<ACE_INET_Addr>
+#pragma instantiate ACE_Equal_To<ACE_INET_Addr>
+#pragma instantiate ACE_Unbounded_Set<ACE_INET_Addr>
+#pragma instantiate ACE_Array_Base<ACE_SOCK_Dgram_Mcast *>
+#pragma instantiate ACE_Unbounded_Set_Iterator<ACE_INET_Addr>
+#pragma instantiate ACE_Hash_Map_Iterator_Base_Ex<ACE_INET_Addr, ACE_SOCK_Dgram_Mcast *, ACE_Hash<ACE_INET_Addr>, ACE_Equal_To<ACE_INET_Addr>, ACE_Null_Mutex>
+#pragma instantiate ACE_Hash_Map_Iterator<ACE_INET_Addr,ACE_SOCK_Dgram_Mcast*,ACE_Null_Mutex>;
+#pragma instantiate ACE_Hash_Map_Iterator_Ex<ACE_INET_Addr, ACE_SOCK_Dgram_Mcast*, ACE_Hash<ACE_INET_Addr>, ACE_Equal_To<ACE_INET_Addr>, ACE_Null_Mutex>
+#pragma instantiate ACE_Hash_Map_Reverse_Iterator<ACE_INET_Addr,ACE_SOCK_Dgram_Mcast*,ACE_Null_Mutex>
+#pragma instantiate ACE_Hash_Map_Reverse_Iterator_Ex<ACE_INET_Addr, ACE_SOCK_Dgram_Mcast*, ACE_Hash<ACE_INET_Addr>, ACE_Equal_To<ACE_INET_Addr>, ACE_Null_Mutex>
+
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_EH.h b/TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_EH.h
new file mode 100644
index 00000000000..3bb1a708476
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_EH.h
@@ -0,0 +1,212 @@
+/* -*- C++ -*- */
+/**
+ * @file ECG_Mcast_EH.h
+ *
+ * $Id$
+ *
+ * @author Carlos O'Ryan <coryan@uci.edu>
+ * @author Jaiganesh Balasubramanian <jai@doc.ece.uci.edu>
+ *
+ * http://doc.ece.uci.edu/~coryan/EC/index.html
+ *
+ */
+#ifndef TAO_ECG_MCAST_EH_H
+#define TAO_ECG_MCAST_EH_H
+#include "ace/pre.h"
+
+#include "orbsvcs/Event/event_export.h"
+#include "orbsvcs/RtecEventChannelAdminS.h"
+#include "ace/Event_Handler.h"
+#include "ace/Hash_Map_Manager.h"
+#include "ace/Array_Base.h"
+#include "ace/SOCK_Dgram_Mcast.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+class TAO_ECG_UDP_Receiver;
+
+/**
+ * @class TAO_ECG_Mcast_EH
+ *
+ * @brief Event Handler for UDP messages.
+ *
+ * This object receives callbacks from the Reactor when data is
+ * available on the mcast socket, it forwards to the UDP_Receive
+ * gateway which reads the events and transform it into an event.
+ */
+class TAO_RTEvent_Export TAO_ECG_Mcast_EH : public ACE_Event_Handler
+{
+public:
+ /**
+ * Constructor, the messages received by this EH are forwarded to
+ * the <recv>.
+ * It is possible to select the NIC where the multicast messages are
+ * expected using <net_if>
+ */
+ TAO_ECG_Mcast_EH (TAO_ECG_UDP_Receiver *recv,
+ const ACE_TCHAR *net_if = 0);
+
+ /// Destructor
+ virtual ~TAO_ECG_Mcast_EH (void);
+
+ /**
+ * Register for changes in the EC subscription list.
+ * When the subscription list becomes non-empty we join the proper
+ * multicast groups (using the receiver to translate between event
+ * types and mcast groups) and the class registers itself with the
+ * reactor.
+ */
+ int open (RtecEventChannelAdmin::EventChannel_ptr ec,
+ CORBA::Environment &env = TAO_default_environment ());
+
+ /**
+ * Remove ourselves from the event channel, unsubscribe from the
+ * multicast groups, close the sockets and unsubscribe from the
+ * reactor.
+ */
+ int close (CORBA::Environment &env = TAO_default_environment ());
+
+ /// Reactor callbacks
+ virtual int handle_input (ACE_HANDLE fd);
+
+ /// The Observer methods
+ void update_consumer (const RtecEventChannelAdmin::ConsumerQOS& sub,
+ CORBA::Environment &env = TAO_default_environment ())
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ void update_supplier (const RtecEventChannelAdmin::SupplierQOS& pub,
+ CORBA::Environment &env = TAO_default_environment ())
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ /**
+ * @class Observer
+ *
+ * @brief Observe changes in the EC subscriptions.
+ *
+ * As the subscriptions on the EC change we also change the
+ * mcast groups that we join.
+ * We could use the TIE classes, but they don't work in all
+ * compilers.
+ */
+
+ class Observer : public POA_RtecEventChannelAdmin::Observer
+ {
+ public:
+ /// We report changes in the EC subscriptions to the event
+ /// handler.
+ Observer (TAO_ECG_Mcast_EH* eh);
+
+ // The Observer methods
+ virtual void update_consumer (
+ const RtecEventChannelAdmin::ConsumerQOS& sub,
+ CORBA::Environment &env =
+ TAO_default_environment ())
+ ACE_THROW_SPEC ((CORBA::SystemException));
+ virtual void update_supplier (
+ const RtecEventChannelAdmin::SupplierQOS& pub,
+ CORBA::Environment &env =
+ TAO_default_environment ())
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ private:
+ /// Our callback object.
+ TAO_ECG_Mcast_EH *eh_;
+ };
+
+private:
+ typedef ACE_Unbounded_Set<ACE_INET_Addr> Address_Set;
+
+ /// Compute the list of multicast addresses that we need to be
+ /// subscribed to, in order to receive the events described in the
+ /// ConsumerQOS parameter.
+ /**
+ * @param sub The list of event types that our event channel
+ * consumers are interested into.
+ * @param multicast_addresses Returns the list of multicast
+ * addresses that we need to subscribe to.
+ * @param env Used to raise CORBA exceptions when there is no
+ * support for native C++ exceptions.
+ *
+ * @throw CORBA::SystemException This method needs to perform
+ * several CORBA invocations and propagates any exceptions
+ * back to the caller.
+ */
+
+ void compute_required_subscriptions (
+ const RtecEventChannelAdmin::ConsumerQOS& sub,
+ Address_Set& multicast_addresses,
+ CORBA::Environment &ACE_TRY_ENV)
+ ACE_THROW_SPEC ((CORBA::SystemException));
+
+ /// Delete the list of multicast addresses that we need not
+ /// subscribe to, in order to receive the events described in the
+ /// ConsumerQOS parameter.
+ /**
+ * @param multicast_addresses Returns the list of multicast
+ * addresses that we need to subscribe to.
+ */
+
+ int delete_unwanted_subscriptions (
+ Address_Set& multicast_addresses);
+
+ /// Add the list of new multicast addresses that we need to
+ /// subscribe to, in order to receive the events described in the
+ /// ConsumerQOS parameter.
+ /**
+ * @param multicast_addresses Returns the list of multicast
+ * addresses that we need to subscribe to.
+ */
+
+ void add_new_subscriptions (
+ Address_Set& multicast_addresses);
+
+ /// Subscribe an existing socket to a multicast group.
+ /**
+ * @param multicast_group Returns the multicast
+ * address that we need to subscribe to.
+ */
+ int subscribe_to_existing_socket (ACE_INET_Addr& multicast_group);
+
+ /// Subscribe a new socket to a multicast group.
+ /**
+ * @param multicast_group Returns the multicast
+ * address that we need to subscribe to.
+ */
+ void subscribe_to_new_socket (ACE_INET_Addr& multicast_group);
+
+private:
+ /// The NIC name used to subscribe for multicast traffic.
+ ACE_TCHAR *net_if_;
+
+ /// Define the collection used to keep the iterator
+ typedef ACE_Hash_Map_Manager<ACE_INET_Addr,ACE_SOCK_Dgram_Mcast*,ACE_Null_Mutex> Subscriptions_Map;
+ typedef ACE_Hash_Map_Iterator<ACE_INET_Addr,ACE_SOCK_Dgram_Mcast*,ACE_Null_Mutex> Subscriptions_Iterator;
+
+ /// @@ Please describe this map and its role in the class!
+ Subscriptions_Map subscriptions_;
+
+ /// The datagram used to receive the data.
+ typedef ACE_Array_Base<ACE_SOCK_Dgram_Mcast*> Socket_List;
+ Socket_List sockets_;
+
+ /// We callback to this object when a message arrives.
+ TAO_ECG_UDP_Receiver* receiver_;
+
+ /// This object will call us back when the subscription list
+ /// changes.
+ Observer observer_;
+
+ /// Keep the handle of the observer so we can unregister later.
+ RtecEventChannelAdmin::Observer_Handle handle_;
+
+ /// The Event Channel.
+ RtecEventChannelAdmin::EventChannel_var ec_;
+};
+
+#if defined(__ACE_INLINE__)
+#include "ECG_Mcast_EH.i"
+#endif /* __ACE_INLINE__ */
+
+#include "ace/post.h"
+#endif /* TAO_ECG_Mcast_EH_H */
diff --git a/TAO/orbsvcs/tests/AVStreams/Bidirectional_Flows/Makefile b/TAO/orbsvcs/tests/AVStreams/Bidirectional_Flows/Makefile
new file mode 100644
index 00000000000..a0d4ef3c63e
--- /dev/null
+++ b/TAO/orbsvcs/tests/AVStreams/Bidirectional_Flows/Makefile
@@ -0,0 +1,58 @@
+#----------------------------------------------------------------------------
+# $Id$
+#
+# Top-level Makefile for Pluggable testing of AVStreams of TAO.
+#
+#----------------------------------------------------------------------------
+
+#----------------------------------------------------------------------------
+# Local macros
+#----------------------------------------------------------------------------
+
+LDLIBS = -lTAO_AV -lTAO_CosProperty -lTAO_CosNaming -lTAO_Svc_Utils -lTAO_IORTable -lTAO_PortableServer -lTAO
+
+RECEIVER_OBJS = receiver.o
+SENDER_OBJS = sender.o
+
+VLDLIBS = $(LDLIBS:%=%$(VAR))
+
+ifndef TAO_ROOT
+TAO_ROOT = $(ACE_ROOT)/TAO
+endif
+
+FILES = sender receiver
+DEFS = $(addsuffix .h,$(FILES))
+LSRC = $(addsuffix .cpp,$(FILES))
+
+BIN2 = receiver sender
+
+#### If the TAO orbsvcs library wasn't built with sufficient components,
+#### don't try to build here.
+TAO_ORBSVCS := $(shell $(ACE_ROOT)/bin/ace_components --orbsvcs)
+ifeq (AV,$(findstring AV,$(TAO_ORBSVCS)))
+ BIN = $(BIN2)
+endif # AV
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(TAO_ROOT)/rules.tao.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+
+ifeq ($(rapi),1)
+ LDLIBS += -lACE_QoS
+endif # rapi
+
+#DCFLAGS = -g
+LDFLAGS += -L$(TAO_ROOT)/orbsvcs/orbsvcs -L$(TAO_ROOT)/tao
+CPPFLAGS += -I$(TAO_ROOT)/orbsvcs -I$(TAO_ROOT)/orbsvcs/orbsvcs/AV \
+ -I$(TAO_ROOT)
+
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
diff --git a/TAO/orbsvcs/tests/AVStreams/Bidirectional_Flows/README b/TAO/orbsvcs/tests/AVStreams/Bidirectional_Flows/README
new file mode 100644
index 00000000000..c637b2c3b25
--- /dev/null
+++ b/TAO/orbsvcs/tests/AVStreams/Bidirectional_Flows/README
@@ -0,0 +1,45 @@
+// $Id$
+
+Description
+-----------
+
+This directory contains a simple test in the form of a sender and a
+receiver. The test has the following features:
+
+1. It tests the AVStreams Pluggable Protocol Framework
+2. Shows a mechanism to pace data.
+3. Shows how to set up bidirectional data.
+
+Running the test
+----------------
+
+receiver
+--------
+
+receiver -f <input_filename>
+
+-f <input_filename> -> The name of the file from which data is sent to the receiver
+
+sender
+------
+
+sender [-f <filename>] [-p <protocol>] [-r <frame rate>] [-d]
+
+
+-f filename --> The file to be streamed to the receiver (defaults to
+ "input").
+
+-p protocol --> The protocol string could be UDP or TCP (defaults to
+ UDP). But with the multicast address it should be UDP.
+
+-r framerate--> The rate at which tha data frames need to be sent
+ (defaults to 30 frames per second).
+
+-d --> Increament the TAO_debug_level for debug messages.
+
+
+The test must be run with the naming service. Check the run_test.pl
+to see how to configure the test case.
+
+
+
diff --git a/TAO/orbsvcs/tests/AVStreams/Bidirectional_Flows/input b/TAO/orbsvcs/tests/AVStreams/Bidirectional_Flows/input
new file mode 100644
index 00000000000..b6579cec283
--- /dev/null
+++ b/TAO/orbsvcs/tests/AVStreams/Bidirectional_Flows/input
@@ -0,0 +1,995 @@
+#----------------------------------------------------------------------------
+# input,v 1.1 2001/03/27 11:41:00 irfan Exp
+#
+# Top-level Makefile for Pluggable testing of AVStreams of TAO.
+#
+#----------------------------------------------------------------------------
+
+#----------------------------------------------------------------------------
+# Local macros
+#----------------------------------------------------------------------------
+
+LDLIBS = -lTAO_AV -lTAO_CosProperty -lTAO_CosNaming -lTAO_Svc_Utils -lTAO_IORTable -lTAO_PortableServer -lTAO
+
+SERVER_OBJS = server.o
+CLIENT_OBJS = ftp.o
+
+VLDLIBS = $(LDLIBS:%=%$(VAR))
+
+ifndef TAO_ROOT
+TAO_ROOT = $(ACE_ROOT)/TAO
+endif
+
+FILES = ftp server
+DEFS = $(addsuffix .h,$(FILES))
+LSRC = $(addsuffix .cpp,$(FILES))
+
+BIN2 = server ftp
+
+#### If the TAO orbsvcs library wasn't built with sufficient components,
+#### don't try to build here.
+TAO_ORBSVCS := $(shell $(ACE_ROOT)/bin/ace_components --orbsvcs)
+ifeq (AV,$(findstring AV,$(TAO_ORBSVCS)))
+ BIN = $(BIN2)
+endif # AV
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(TAO_ROOT)/rules.tao.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+
+#DCFLAGS = -g
+LDFLAGS += -L$(TAO_ROOT)/orbsvcs/orbsvcs -L$(TAO_ROOT)/tao
+CPPFLAGS += -I$(TAO_ROOT)/orbsvcs -I$(TAO_ROOT)/orbsvcs/orbsvcs/AV \
+ -I$(TAO_ROOT)
+
+#server:$(addprefix $(VDIR),$(SERVER_OBJS))
+# $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK)
+
+#ftp:$(addprefix $(VDIR),$(CLIENT_OBJS))
+# $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK)
+
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+
+.obj/ftp.o .obj/ftp.so .shobj/ftp.o .shobj/ftp.so: ftp.cpp ftp.h \
+ $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Get_Opt.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Naming/Naming_Utils.h \
+ $(TAO_ROOT)/tao/corba.h \
+ $(TAO_ROOT)/tao/corbafwd.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/try_macros.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/corbafwd.i \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/SString.i \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/Services.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Services.i \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(TAO_ROOT)/tao/Object_Proxy_Broker.h \
+ $(TAO_ROOT)/tao/Object_Proxy_Impl.h \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/Encodable.h \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/NVList.h \
+ $(TAO_ROOT)/tao/NVList.i \
+ $(TAO_ROOT)/tao/Principal.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/Principal.i \
+ $(TAO_ROOT)/tao/TAO_Server_Request.h \
+ $(TAO_ROOT)/tao/Tagged_Profile.h \
+ $(TAO_ROOT)/tao/IOPC.h \
+ $(TAO_ROOT)/tao/IOPC.i \
+ $(TAO_ROOT)/tao/GIOPC.h \
+ $(TAO_ROOT)/tao/Object_KeyC.h \
+ $(TAO_ROOT)/tao/Object_KeyC.i \
+ $(TAO_ROOT)/tao/GIOPC.i \
+ $(TAO_ROOT)/tao/Tagged_Profile.i \
+ $(TAO_ROOT)/tao/Service_Context.h \
+ $(TAO_ROOT)/tao/Service_Context.inl \
+ $(TAO_ROOT)/tao/TAO_Server_Request.i \
+ $(TAO_ROOT)/tao/Remote_Object_Proxy_Impl.h \
+ $(TAO_ROOT)/tao/LocalObject.h \
+ $(TAO_ROOT)/tao/LocalObject.i \
+ $(TAO_ROOT)/tao/Stub.h \
+ $(TAO_ROOT)/tao/Pluggable.h \
+ $(TAO_ROOT)/tao/Pluggable.i \
+ $(TAO_ROOT)/tao/MProfile.h \
+ $(TAO_ROOT)/tao/Profile.h \
+ $(TAO_ROOT)/tao/Tagged_Components.h \
+ $(TAO_ROOT)/tao/CONV_FRAMEC.h \
+ $(TAO_ROOT)/tao/CONV_FRAMEC.i \
+ $(TAO_ROOT)/tao/Tagged_Components.i \
+ $(TAO_ROOT)/tao/GIOP_Message_State.h \
+ $(TAO_ROOT)/tao/GIOP_Message_State.i \
+ $(TAO_ROOT)/tao/Profile.i \
+ $(TAO_ROOT)/tao/MProfile.i \
+ $(TAO_ROOT)/tao/ORB_Core.h \
+ $(TAO_ROOT)/tao/Policy_Manager.h \
+ $(TAO_ROOT)/tao/Policy_Manager.i \
+ $(TAO_ROOT)/tao/Resource_Factory.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Protocol_Factory.h \
+ $(TAO_ROOT)/tao/params.h \
+ $(TAO_ROOT)/tao/params.i \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.h \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.inl \
+ $(TAO_ROOT)/tao/TAO_Singleton.h \
+ $(TAO_ROOT)/tao/TAO_Singleton.inl \
+ $(TAO_ROOT)/tao/TAO_Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(TAO_ROOT)/tao/Adapter.h \
+ $(TAO_ROOT)/tao/Adapter.i \
+ $(TAO_ROOT)/tao/PolicyFactory_Registry.h \
+ $(TAO_ROOT)/tao/PortableInterceptorC.h \
+ $(TAO_ROOT)/tao/DynamicC.h \
+ $(TAO_ROOT)/tao/DynamicC.i \
+ $(TAO_ROOT)/tao/MessagingC.h \
+ $(TAO_ROOT)/tao/ValueBase.h \
+ $(TAO_ROOT)/tao/ValueBase.i \
+ $(TAO_ROOT)/tao/ValueFactory.h \
+ $(TAO_ROOT)/tao/ValueFactory.i \
+ $(TAO_ROOT)/tao/TimeBaseC.h \
+ $(TAO_ROOT)/tao/TimeBaseC.i \
+ $(TAO_ROOT)/tao/PollableC.h \
+ $(TAO_ROOT)/tao/PollableC.i \
+ $(TAO_ROOT)/tao/MessagingC.i \
+ $(TAO_ROOT)/tao/PortableInterceptorC.i \
+ $(ACE_ROOT)/ace/Map_Manager.h \
+ $(ACE_ROOT)/ace/Map_Manager.i \
+ $(ACE_ROOT)/ace/Map_Manager.cpp \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/Handle_Set.i \
+ $(ACE_ROOT)/ace/Timer_Queue.h \
+ $(ACE_ROOT)/ace/Timer_Queue_T.h \
+ $(ACE_ROOT)/ace/Test_and_Set.h \
+ $(ACE_ROOT)/ace/Test_and_Set.i \
+ $(ACE_ROOT)/ace/Test_and_Set.cpp \
+ $(ACE_ROOT)/ace/Timer_Queue_T.i \
+ $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Parser_Registry.h \
+ $(TAO_ROOT)/tao/Parser_Registry.i \
+ $(TAO_ROOT)/tao/Service_Callbacks.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.i \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.h \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.i \
+ $(TAO_ROOT)/tao/Connection_Cache_Manager.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(TAO_ROOT)/tao/Cache_Entries.h \
+ $(TAO_ROOT)/tao/Connection_Descriptor_Interface.h \
+ $(TAO_ROOT)/tao/Endpoint.h \
+ $(TAO_ROOT)/tao/Endpoint.i \
+ $(TAO_ROOT)/tao/Connection_Descriptor_Interface.inl \
+ $(TAO_ROOT)/tao/Cache_Entries.inl \
+ $(TAO_ROOT)/tao/Connection_Cache_Manager.inl \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.h \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \
+ $(TAO_ROOT)/tao/Object_Ref_Table.h \
+ $(TAO_ROOT)/tao/Interceptor_List.h \
+ $(TAO_ROOT)/tao/Interceptor_List.inl \
+ $(TAO_ROOT)/tao/RT_Policy_i.h \
+ $(TAO_ROOT)/tao/RTCORBAS.h \
+ $(TAO_ROOT)/tao/IOPS.h \
+ $(TAO_ROOT)/tao/IOPS_T.h \
+ $(TAO_ROOT)/tao/IOPS_T.i \
+ $(TAO_ROOT)/tao/IOPS_T.cpp \
+ $(TAO_ROOT)/tao/IOPS.i \
+ $(TAO_ROOT)/tao/TimeBaseS.h \
+ $(TAO_ROOT)/tao/TimeBaseS_T.h \
+ $(TAO_ROOT)/tao/TimeBaseS_T.i \
+ $(TAO_ROOT)/tao/TimeBaseS_T.cpp \
+ $(TAO_ROOT)/tao/TimeBaseS.i \
+ $(TAO_ROOT)/tao/RTCORBAC.h \
+ $(TAO_ROOT)/tao/RTCORBAC.i \
+ $(TAO_ROOT)/tao/RTCORBAS_T.h \
+ $(TAO_ROOT)/tao/RTCORBAS_T.i \
+ $(TAO_ROOT)/tao/RTCORBAS_T.cpp \
+ $(TAO_ROOT)/tao/RTCORBAS.i \
+ $(TAO_ROOT)/tao/RT_Policy_i.i \
+ $(TAO_ROOT)/tao/Protocols_Hooks.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager.h \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(TAO_ROOT)/tao/ORB_Core.i \
+ $(TAO_ROOT)/tao/Stub.i \
+ $(TAO_ROOT)/tao/debug.h \
+ $(TAO_ROOT)/tao/Client_Strategy_Factory.h \
+ $(TAO_ROOT)/tao/Server_Strategy_Factory.h \
+ $(TAO_ROOT)/tao/Invocation.h \
+ $(TAO_ROOT)/tao/Synch_Reply_Dispatcher.h \
+ $(TAO_ROOT)/tao/Reply_Dispatcher.h \
+ $(TAO_ROOT)/tao/Reply_Dispatcher.i \
+ $(TAO_ROOT)/tao/TAOC.h \
+ $(TAO_ROOT)/tao/Priority_Mapping_Manager.h \
+ $(TAO_ROOT)/tao/Priority_Mapping.h \
+ $(TAO_ROOT)/tao/Priority_Mapping.i \
+ $(TAO_ROOT)/tao/Priority_Mapping_Manager.i \
+ $(TAO_ROOT)/tao/TAOC.i \
+ $(TAO_ROOT)/tao/operation_details.h \
+ $(TAO_ROOT)/tao/target_specification.h \
+ $(TAO_ROOT)/tao/target_specification.i \
+ $(TAO_ROOT)/tao/operation_details.i \
+ $(TAO_ROOT)/tao/Invocation_Endpoint_Selectors.h \
+ $(TAO_ROOT)/tao/Invocation_Endpoint_Selectors.i \
+ $(TAO_ROOT)/tao/Invocation.i \
+ $(TAO_ROOT)/tao/ObjectIDList.h \
+ $(TAO_ROOT)/tao/ObjectIDList.i \
+ $(TAO_ROOT)/tao/DomainC.h \
+ $(TAO_ROOT)/tao/ClientRequestInfo.h \
+ $(TAO_ROOT)/tao/StringSeqC.h \
+ $(TAO_ROOT)/tao/StringSeqC.i \
+ $(TAO_ROOT)/tao/ClientRequestInfo.inl \
+ $(TAO_ROOT)/tao/DomainC.i \
+ $(TAO_ROOT)/tao/WrongTransactionC.h \
+ $(TAO_ROOT)/tao/BoundsC.h \
+ $(TAO_ROOT)/tao/BoundsC.i \
+ $(TAO_ROOT)/tao/PortableInterceptor.h \
+ $(TAO_ROOT)/tao/PortableInterceptor.i \
+ $(TAO_ROOT)/tao/BiDirPolicyC.h \
+ $(TAO_ROOT)/tao/BiDirPolicyC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingC.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Naming/naming_export.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/IOR_Multicast.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/svc_utils_export.h \
+ $(ACE_ROOT)/ace/INET_Addr.h \
+ $(ACE_ROOT)/ace/Addr.h \
+ $(ACE_ROOT)/ace/Addr.i \
+ $(ACE_ROOT)/ace/INET_Addr.i \
+ $(ACE_ROOT)/ace/SOCK_Dgram_Mcast.h \
+ $(ACE_ROOT)/ace/SOCK_Dgram.h \
+ $(ACE_ROOT)/ace/SOCK.h \
+ $(ACE_ROOT)/ace/IPC_SAP.h \
+ $(ACE_ROOT)/ace/IPC_SAP.i \
+ $(ACE_ROOT)/ace/QoS_Session.h \
+ $(ACE_ROOT)/ace/SOCK.i \
+ $(ACE_ROOT)/ace/SOCK_Dgram.i \
+ $(ACE_ROOT)/ace/SOCK_Dgram_Mcast.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Naming/Naming_Context_Interface.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingS.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/PortableServer/RTPortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/PortableServer/RTPortableServerC.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ $(TAO_ROOT)/tao/PortableServer/Collocated_Object.h \
+ $(TAO_ROOT)/tao/PortableServer/Collocated_Object.i \
+ $(TAO_ROOT)/tao/PortableServer/ThruPOA_Object_Proxy_Impl.h \
+ $(TAO_ROOT)/tao/PortableServer/Direct_Object_Proxy_Impl.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.inl \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingS_T.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingS_T.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingS_T.cpp \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingS.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/AVStreams_i.h \
+ $(ACE_ROOT)/ace/ATM_Addr.h \
+ $(ACE_ROOT)/ace/ATM_Addr.i \
+ $(ACE_ROOT)/ace/Process.h \
+ $(ACE_ROOT)/ace/Process.i \
+ $(ACE_ROOT)/ace/SOCK_CODgram.h \
+ $(ACE_ROOT)/ace/SOCK_IO.h \
+ $(ACE_ROOT)/ace/SOCK_IO.i \
+ $(ACE_ROOT)/ace/SOCK_CODgram.i \
+ $(ACE_ROOT)/ace/Connector.h \
+ $(ACE_ROOT)/ace/Svc_Handler.h \
+ $(ACE_ROOT)/ace/Synch_Options.h \
+ $(ACE_ROOT)/ace/Synch_Options.i \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Strategies.h \
+ $(ACE_ROOT)/ace/Strategies_T.h \
+ $(ACE_ROOT)/ace/Strategies_T.i \
+ $(ACE_ROOT)/ace/Strategies_T.cpp \
+ $(ACE_ROOT)/ace/Service_Repository.h \
+ $(ACE_ROOT)/ace/Service_Types.h \
+ $(ACE_ROOT)/ace/Service_Types.i \
+ $(ACE_ROOT)/ace/Service_Repository.i \
+ $(ACE_ROOT)/ace/WFMO_Reactor.h \
+ $(ACE_ROOT)/ace/Process_Mutex.h \
+ $(ACE_ROOT)/ace/Process_Mutex.inl \
+ $(ACE_ROOT)/ace/WFMO_Reactor.i \
+ $(ACE_ROOT)/ace/Strategies.i \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Svc_Handler.cpp \
+ $(ACE_ROOT)/ace/Dynamic.h \
+ $(ACE_ROOT)/ace/Dynamic.i \
+ $(ACE_ROOT)/ace/Connector.cpp \
+ $(ACE_ROOT)/ace/SOCK_Connector.h \
+ $(ACE_ROOT)/ace/SOCK_Stream.h \
+ $(ACE_ROOT)/ace/SOCK_Stream.i \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/SOCK_Connector.i \
+ $(ACE_ROOT)/ace/Acceptor.h \
+ $(ACE_ROOT)/ace/Acceptor.cpp \
+ $(ACE_ROOT)/ace/SOCK_Acceptor.h \
+ $(ACE_ROOT)/ace/SOCK_Acceptor.i \
+ $(TAO_ROOT)/tao/PortableServer/ORB_Manager.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/AV_export.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceC.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Property/property_export.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS_T.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS_T.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS_T.cpp \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsC.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS_T.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS_T.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS_T.cpp \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Property/CosPropertyService_i.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/AV_Core.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Endpoint_Strategy.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.cpp \
+ $(ACE_ROOT)/ace/Process_Semaphore.h \
+ $(ACE_ROOT)/ace/Process_Semaphore.inl \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlC.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS_T.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS_T.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS_T.cpp \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/FlowSpec_Entry.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Transport.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Transport.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/FlowSpec_Entry.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/AVStreams_i.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Flows_T.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Flows_T.cpp \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/sfp.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/sfpC.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/sfpC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Policy.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Policy.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/MCast.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Protocol_Factory.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/MCast.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/UDP.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/UDP.i \
+ $(ACE_ROOT)/ace/High_Res_Timer.h \
+ $(ACE_ROOT)/ace/High_Res_Timer.i \
+ $(ACE_ROOT)/ace/Stats.h \
+ $(ACE_ROOT)/ace/Basic_Stats.h \
+ $(ACE_ROOT)/ace/Basic_Stats.inl \
+ $(ACE_ROOT)/ace/Stats.i
+
+.obj/server.o .obj/server.so .shobj/server.o .shobj/server.so: server.cpp server.h \
+ $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Get_Opt.i \
+ $(TAO_ROOT)/tao/PortableServer/ORB_Manager.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/corbafwd.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/try_macros.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/corbafwd.i \
+ $(TAO_ROOT)/tao/PortableServer/RTPortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(TAO_ROOT)/tao/Object_Proxy_Broker.h \
+ $(TAO_ROOT)/tao/Object_Proxy_Impl.h \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/Encodable.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/SString.i \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/RTCORBAC.h \
+ $(TAO_ROOT)/tao/IOPC.h \
+ $(TAO_ROOT)/tao/IOPC.i \
+ $(TAO_ROOT)/tao/TimeBaseC.h \
+ $(TAO_ROOT)/tao/TimeBaseC.i \
+ $(TAO_ROOT)/tao/RTCORBAC.i \
+ $(TAO_ROOT)/tao/PortableServer/RTPortableServerC.i \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Services.h \
+ $(TAO_ROOT)/tao/Services.i \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Naming/Naming_Utils.h \
+ $(TAO_ROOT)/tao/corba.h \
+ $(TAO_ROOT)/tao/NVList.h \
+ $(TAO_ROOT)/tao/NVList.i \
+ $(TAO_ROOT)/tao/Principal.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/Principal.i \
+ $(TAO_ROOT)/tao/TAO_Server_Request.h \
+ $(TAO_ROOT)/tao/Tagged_Profile.h \
+ $(TAO_ROOT)/tao/GIOPC.h \
+ $(TAO_ROOT)/tao/Object_KeyC.h \
+ $(TAO_ROOT)/tao/Object_KeyC.i \
+ $(TAO_ROOT)/tao/GIOPC.i \
+ $(TAO_ROOT)/tao/Tagged_Profile.i \
+ $(TAO_ROOT)/tao/Service_Context.h \
+ $(TAO_ROOT)/tao/Service_Context.inl \
+ $(TAO_ROOT)/tao/TAO_Server_Request.i \
+ $(TAO_ROOT)/tao/Remote_Object_Proxy_Impl.h \
+ $(TAO_ROOT)/tao/LocalObject.h \
+ $(TAO_ROOT)/tao/LocalObject.i \
+ $(TAO_ROOT)/tao/Stub.h \
+ $(TAO_ROOT)/tao/Pluggable.h \
+ $(TAO_ROOT)/tao/Pluggable.i \
+ $(TAO_ROOT)/tao/MProfile.h \
+ $(TAO_ROOT)/tao/Profile.h \
+ $(TAO_ROOT)/tao/Tagged_Components.h \
+ $(TAO_ROOT)/tao/CONV_FRAMEC.h \
+ $(TAO_ROOT)/tao/CONV_FRAMEC.i \
+ $(TAO_ROOT)/tao/Tagged_Components.i \
+ $(TAO_ROOT)/tao/GIOP_Message_State.h \
+ $(TAO_ROOT)/tao/GIOP_Message_State.i \
+ $(TAO_ROOT)/tao/Profile.i \
+ $(TAO_ROOT)/tao/MProfile.i \
+ $(TAO_ROOT)/tao/ORB_Core.h \
+ $(TAO_ROOT)/tao/Policy_Manager.h \
+ $(TAO_ROOT)/tao/Policy_Manager.i \
+ $(TAO_ROOT)/tao/Resource_Factory.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Protocol_Factory.h \
+ $(TAO_ROOT)/tao/params.h \
+ $(TAO_ROOT)/tao/params.i \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.h \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.inl \
+ $(TAO_ROOT)/tao/TAO_Singleton.h \
+ $(TAO_ROOT)/tao/TAO_Singleton.inl \
+ $(TAO_ROOT)/tao/TAO_Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(TAO_ROOT)/tao/Adapter.h \
+ $(TAO_ROOT)/tao/Adapter.i \
+ $(TAO_ROOT)/tao/PolicyFactory_Registry.h \
+ $(TAO_ROOT)/tao/PortableInterceptorC.h \
+ $(TAO_ROOT)/tao/DynamicC.h \
+ $(TAO_ROOT)/tao/DynamicC.i \
+ $(TAO_ROOT)/tao/MessagingC.h \
+ $(TAO_ROOT)/tao/ValueBase.h \
+ $(TAO_ROOT)/tao/ValueBase.i \
+ $(TAO_ROOT)/tao/ValueFactory.h \
+ $(TAO_ROOT)/tao/ValueFactory.i \
+ $(TAO_ROOT)/tao/PollableC.h \
+ $(TAO_ROOT)/tao/PollableC.i \
+ $(TAO_ROOT)/tao/MessagingC.i \
+ $(TAO_ROOT)/tao/PortableInterceptorC.i \
+ $(ACE_ROOT)/ace/Map_Manager.h \
+ $(ACE_ROOT)/ace/Map_Manager.i \
+ $(ACE_ROOT)/ace/Map_Manager.cpp \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/Handle_Set.i \
+ $(ACE_ROOT)/ace/Timer_Queue.h \
+ $(ACE_ROOT)/ace/Timer_Queue_T.h \
+ $(ACE_ROOT)/ace/Test_and_Set.h \
+ $(ACE_ROOT)/ace/Test_and_Set.i \
+ $(ACE_ROOT)/ace/Test_and_Set.cpp \
+ $(ACE_ROOT)/ace/Timer_Queue_T.i \
+ $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Parser_Registry.h \
+ $(TAO_ROOT)/tao/Parser_Registry.i \
+ $(TAO_ROOT)/tao/Service_Callbacks.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.i \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.h \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.i \
+ $(TAO_ROOT)/tao/Connection_Cache_Manager.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(TAO_ROOT)/tao/Cache_Entries.h \
+ $(TAO_ROOT)/tao/Connection_Descriptor_Interface.h \
+ $(TAO_ROOT)/tao/Endpoint.h \
+ $(TAO_ROOT)/tao/Endpoint.i \
+ $(TAO_ROOT)/tao/Connection_Descriptor_Interface.inl \
+ $(TAO_ROOT)/tao/Cache_Entries.inl \
+ $(TAO_ROOT)/tao/Connection_Cache_Manager.inl \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.h \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \
+ $(TAO_ROOT)/tao/Object_Ref_Table.h \
+ $(TAO_ROOT)/tao/Interceptor_List.h \
+ $(TAO_ROOT)/tao/Interceptor_List.inl \
+ $(TAO_ROOT)/tao/RT_Policy_i.h \
+ $(TAO_ROOT)/tao/RTCORBAS.h \
+ $(TAO_ROOT)/tao/IOPS.h \
+ $(TAO_ROOT)/tao/IOPS_T.h \
+ $(TAO_ROOT)/tao/IOPS_T.i \
+ $(TAO_ROOT)/tao/IOPS_T.cpp \
+ $(TAO_ROOT)/tao/IOPS.i \
+ $(TAO_ROOT)/tao/TimeBaseS.h \
+ $(TAO_ROOT)/tao/TimeBaseS_T.h \
+ $(TAO_ROOT)/tao/TimeBaseS_T.i \
+ $(TAO_ROOT)/tao/TimeBaseS_T.cpp \
+ $(TAO_ROOT)/tao/TimeBaseS.i \
+ $(TAO_ROOT)/tao/RTCORBAS_T.h \
+ $(TAO_ROOT)/tao/RTCORBAS_T.i \
+ $(TAO_ROOT)/tao/RTCORBAS_T.cpp \
+ $(TAO_ROOT)/tao/RTCORBAS.i \
+ $(TAO_ROOT)/tao/RT_Policy_i.i \
+ $(TAO_ROOT)/tao/Protocols_Hooks.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager.h \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(TAO_ROOT)/tao/ORB_Core.i \
+ $(TAO_ROOT)/tao/Stub.i \
+ $(TAO_ROOT)/tao/debug.h \
+ $(TAO_ROOT)/tao/Client_Strategy_Factory.h \
+ $(TAO_ROOT)/tao/Server_Strategy_Factory.h \
+ $(TAO_ROOT)/tao/Invocation.h \
+ $(TAO_ROOT)/tao/Synch_Reply_Dispatcher.h \
+ $(TAO_ROOT)/tao/Reply_Dispatcher.h \
+ $(TAO_ROOT)/tao/Reply_Dispatcher.i \
+ $(TAO_ROOT)/tao/TAOC.h \
+ $(TAO_ROOT)/tao/Priority_Mapping_Manager.h \
+ $(TAO_ROOT)/tao/Priority_Mapping.h \
+ $(TAO_ROOT)/tao/Priority_Mapping.i \
+ $(TAO_ROOT)/tao/Priority_Mapping_Manager.i \
+ $(TAO_ROOT)/tao/TAOC.i \
+ $(TAO_ROOT)/tao/operation_details.h \
+ $(TAO_ROOT)/tao/target_specification.h \
+ $(TAO_ROOT)/tao/target_specification.i \
+ $(TAO_ROOT)/tao/operation_details.i \
+ $(TAO_ROOT)/tao/Invocation_Endpoint_Selectors.h \
+ $(TAO_ROOT)/tao/Invocation_Endpoint_Selectors.i \
+ $(TAO_ROOT)/tao/Invocation.i \
+ $(TAO_ROOT)/tao/ObjectIDList.h \
+ $(TAO_ROOT)/tao/ObjectIDList.i \
+ $(TAO_ROOT)/tao/DomainC.h \
+ $(TAO_ROOT)/tao/ClientRequestInfo.h \
+ $(TAO_ROOT)/tao/StringSeqC.h \
+ $(TAO_ROOT)/tao/StringSeqC.i \
+ $(TAO_ROOT)/tao/ClientRequestInfo.inl \
+ $(TAO_ROOT)/tao/DomainC.i \
+ $(TAO_ROOT)/tao/WrongTransactionC.h \
+ $(TAO_ROOT)/tao/BoundsC.h \
+ $(TAO_ROOT)/tao/BoundsC.i \
+ $(TAO_ROOT)/tao/PortableInterceptor.h \
+ $(TAO_ROOT)/tao/PortableInterceptor.i \
+ $(TAO_ROOT)/tao/BiDirPolicyC.h \
+ $(TAO_ROOT)/tao/BiDirPolicyC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingC.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Naming/naming_export.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/IOR_Multicast.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/svc_utils_export.h \
+ $(ACE_ROOT)/ace/INET_Addr.h \
+ $(ACE_ROOT)/ace/Addr.h \
+ $(ACE_ROOT)/ace/Addr.i \
+ $(ACE_ROOT)/ace/INET_Addr.i \
+ $(ACE_ROOT)/ace/SOCK_Dgram_Mcast.h \
+ $(ACE_ROOT)/ace/SOCK_Dgram.h \
+ $(ACE_ROOT)/ace/SOCK.h \
+ $(ACE_ROOT)/ace/IPC_SAP.h \
+ $(ACE_ROOT)/ace/IPC_SAP.i \
+ $(ACE_ROOT)/ace/QoS_Session.h \
+ $(ACE_ROOT)/ace/SOCK.i \
+ $(ACE_ROOT)/ace/SOCK_Dgram.i \
+ $(ACE_ROOT)/ace/SOCK_Dgram_Mcast.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Naming/Naming_Context_Interface.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingS.h \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ $(TAO_ROOT)/tao/PortableServer/Collocated_Object.h \
+ $(TAO_ROOT)/tao/PortableServer/Collocated_Object.i \
+ $(TAO_ROOT)/tao/PortableServer/ThruPOA_Object_Proxy_Impl.h \
+ $(TAO_ROOT)/tao/PortableServer/Direct_Object_Proxy_Impl.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.inl \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingS_T.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingS_T.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingS_T.cpp \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingS.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/AVStreams_i.h \
+ $(ACE_ROOT)/ace/ATM_Addr.h \
+ $(ACE_ROOT)/ace/ATM_Addr.i \
+ $(ACE_ROOT)/ace/Process.h \
+ $(ACE_ROOT)/ace/Process.i \
+ $(ACE_ROOT)/ace/SOCK_CODgram.h \
+ $(ACE_ROOT)/ace/SOCK_IO.h \
+ $(ACE_ROOT)/ace/SOCK_IO.i \
+ $(ACE_ROOT)/ace/SOCK_CODgram.i \
+ $(ACE_ROOT)/ace/Connector.h \
+ $(ACE_ROOT)/ace/Svc_Handler.h \
+ $(ACE_ROOT)/ace/Synch_Options.h \
+ $(ACE_ROOT)/ace/Synch_Options.i \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Strategies.h \
+ $(ACE_ROOT)/ace/Strategies_T.h \
+ $(ACE_ROOT)/ace/Strategies_T.i \
+ $(ACE_ROOT)/ace/Strategies_T.cpp \
+ $(ACE_ROOT)/ace/Service_Repository.h \
+ $(ACE_ROOT)/ace/Service_Types.h \
+ $(ACE_ROOT)/ace/Service_Types.i \
+ $(ACE_ROOT)/ace/Service_Repository.i \
+ $(ACE_ROOT)/ace/WFMO_Reactor.h \
+ $(ACE_ROOT)/ace/Process_Mutex.h \
+ $(ACE_ROOT)/ace/Process_Mutex.inl \
+ $(ACE_ROOT)/ace/WFMO_Reactor.i \
+ $(ACE_ROOT)/ace/Strategies.i \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Svc_Handler.cpp \
+ $(ACE_ROOT)/ace/Dynamic.h \
+ $(ACE_ROOT)/ace/Dynamic.i \
+ $(ACE_ROOT)/ace/Connector.cpp \
+ $(ACE_ROOT)/ace/SOCK_Connector.h \
+ $(ACE_ROOT)/ace/SOCK_Stream.h \
+ $(ACE_ROOT)/ace/SOCK_Stream.i \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/SOCK_Connector.i \
+ $(ACE_ROOT)/ace/Acceptor.h \
+ $(ACE_ROOT)/ace/Acceptor.cpp \
+ $(ACE_ROOT)/ace/SOCK_Acceptor.h \
+ $(ACE_ROOT)/ace/SOCK_Acceptor.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/AV_export.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceC.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Property/property_export.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS_T.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS_T.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS_T.cpp \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsC.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS_T.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS_T.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS_T.cpp \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Property/CosPropertyService_i.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/AV_Core.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Endpoint_Strategy.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.cpp \
+ $(ACE_ROOT)/ace/Process_Semaphore.h \
+ $(ACE_ROOT)/ace/Process_Semaphore.inl \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlC.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS_T.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS_T.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS_T.cpp \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/FlowSpec_Entry.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Transport.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Transport.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/FlowSpec_Entry.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/AVStreams_i.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Flows_T.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Flows_T.cpp \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/sfp.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/sfpC.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/sfpC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Policy.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Policy.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/MCast.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Protocol_Factory.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/MCast.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/UDP.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/UDP.i \
+ $(ACE_ROOT)/ace/High_Res_Timer.h \
+ $(ACE_ROOT)/ace/High_Res_Timer.i \
+ $(ACE_ROOT)/ace/Stats.h \
+ $(ACE_ROOT)/ace/Basic_Stats.h \
+ $(ACE_ROOT)/ace/Basic_Stats.inl \
+ $(ACE_ROOT)/ace/Stats.i
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/TAO/orbsvcs/tests/AVStreams/Bidirectional_Flows/receiver.cpp b/TAO/orbsvcs/tests/AVStreams/Bidirectional_Flows/receiver.cpp
new file mode 100644
index 00000000000..6bceacbf55b
--- /dev/null
+++ b/TAO/orbsvcs/tests/AVStreams/Bidirectional_Flows/receiver.cpp
@@ -0,0 +1,363 @@
+// $Id$
+
+#include "receiver.h"
+#include "ace/Get_Opt.h"
+#include "ace/High_Res_Timer.h"
+
+static FILE *output_file = 0;
+// File handle of the file into which received data is written.
+
+static const char *output_file_name = "output";
+// File name of the file into which received data is written.
+
+typedef ACE_Singleton<Receiver,ACE_Null_Mutex> RECEIVER;
+//Create a singleton instance of the receiver.
+
+int
+Receiver_StreamEndPoint::get_callback (const char *,
+ TAO_AV_Callback *&callback)
+{
+ // Return the receiver application callback to the AVStreams for
+ // future upcalls.
+ callback = &this->callback_;
+ return 0;
+}
+
+
+int
+Receiver_StreamEndPoint::set_protocol_object (const char * flowname,
+ TAO_AV_Protocol_Object *object)
+{
+ // Set the sender protocol object corresponding to the transport
+ // protocol selected.
+ if (ACE_OS::strcmp (flowname, "Data_Receiver1") == 0)
+ RECEIVER::instance ()->protocol_object (object);
+ return 0;
+}
+
+Receiver_Callback::Receiver_Callback (void)
+ : frame_count_ (1),
+ mb_ (BUFSIZ)
+{
+}
+
+int
+Receiver_Callback::receive_frame (ACE_Message_Block *frame,
+ TAO_AV_frame_info *,
+ const ACE_Addr &)
+{
+ //
+ // Upcall from the AVStreams when there is data to be received from
+ // the sender.
+ //
+ ACE_DEBUG ((LM_DEBUG,
+ "Receiver_Callback::receive_frame for frame %d\n",
+ this->frame_count_++));
+
+ while (frame != 0)
+ {
+ // Write the received data to the file.
+ size_t result =
+ ACE_OS::fwrite (frame->rd_ptr (),
+ frame->length (),
+ 1,
+ output_file);
+
+ if (result == frame->length ())
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Receiver_Callback::fwrite failed\n"),
+ -1);
+
+ frame = frame->cont ();
+ }
+
+ // Read from the file into a message block.
+ int n = ACE_OS::fread (this->mb_.wr_ptr (),
+ 1,
+ this->mb_.size (),
+ RECEIVER::instance ()->input_file ());
+
+ if (n < 0)
+ ACE_DEBUG ((LM_DEBUG,
+ "Receiver::receive_frame fread failed\n"));
+
+ if (n == 0)
+ {
+ // At end of file break the loop and end the sender.
+ ACE_DEBUG ((LM_DEBUG,"End of file\n"));
+ }
+ else
+ {
+ this->mb_.wr_ptr (n);
+
+ // Send frame.
+ int result =
+ RECEIVER::instance ()->protocol_object ()->send_frame (&this->mb_);
+
+ if (result < 0)
+ ACE_DEBUG ((LM_DEBUG,
+ "Send Frame Failed\n"));
+
+ // Reset the message block.
+ this->mb_.reset ();
+ }
+ return 0;
+}
+
+int
+Receiver_Callback::handle_destroy (void)
+{
+ // Called when the distributer requests the stream to be shutdown.
+ ACE_DEBUG ((LM_DEBUG,
+ "Receiver_Callback::handle_destroy\n"));
+
+ static int count = 0;
+ ++count;
+
+ if (count < 2)
+ {
+ ACE_TRY_NEW_ENV
+ {
+ TAO_AV_CORE::instance ()->orb ()->shutdown (0,
+ ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "Receiver_Callback::handle_destroy Failed\n");
+ return -1;
+
+ }
+
+ ACE_ENDTRY;
+ }
+
+ return 0;
+}
+
+Receiver::Receiver (void)
+ : mmdevice_ (0),
+ frame_rate_ (30),
+ input_file_ (0),
+ frame_count_ (0),
+ filename_ ("input"),
+ mb_ (BUFSIZ)
+{
+}
+
+Receiver::~Receiver (void)
+{
+}
+
+void
+Receiver::protocol_object (TAO_AV_Protocol_Object *object)
+{
+ // Set the sender protocol object corresponding to the transport
+ // protocol selected.
+ this->protocol_object_ = object;
+}
+
+int
+Receiver::parse_args (int argc,
+ char **argv)
+{
+ // Parse command line arguments
+ ACE_Get_Opt opts (argc, argv, "f:r:d");
+
+ int c;
+ while ((c= opts ()) != -1)
+ {
+ switch (c)
+ {
+ case 'f':
+ this->filename_ = opts.optarg;
+ break;
+ case 'r':
+ this->frame_rate_ = ACE_OS::atoi (opts.optarg);
+ break;
+ case 'd':
+ TAO_debug_level++;
+ break;
+ default:
+ ACE_DEBUG ((LM_DEBUG, "Unknown Option\n"));
+ return -1;
+ }
+ }
+ return 0;
+}
+
+int
+Receiver::init (int argc,
+ char ** argv,
+ CORBA::Environment &ACE_TRY_ENV)
+{
+ // Initialize the endpoint strategy with the orb and poa.
+ int result =
+ this->reactive_strategy_.init (TAO_AV_CORE::instance ()->orb (),
+ TAO_AV_CORE::instance ()->poa ());
+ if (result != 0)
+ return result;
+
+ // Parse the command line arguments
+ result =
+ this->parse_args (argc,
+ argv);
+ if (result != 0)
+ return result;
+
+ // Open file to read.
+ this->input_file_ =
+ ACE_OS::fopen (this->filename_.c_str (),
+ "r");
+
+ if (this->input_file_ == 0)
+ ACE_ERROR_RETURN ((LM_DEBUG,
+ "Cannot open input file %s\n",
+ this->filename_.c_str ()),
+ -1);
+ else
+ ACE_DEBUG ((LM_DEBUG,
+ "Input File opened successfully\n"));
+
+ // Register the receiver mmdevice object with the ORB
+ ACE_NEW_RETURN (this->mmdevice_,
+ TAO_MMDevice (&this->reactive_strategy_),
+ -1);
+
+ // Servant Reference Counting to manage lifetime
+ PortableServer::ServantBase_var safe_mmdevice =
+ this->mmdevice_;
+
+ CORBA::Object_var mmdevice =
+ this->mmdevice_->_this (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+
+ // Register the mmdevice with the naming service.
+ CosNaming::Name name (1);
+ name.length (1);
+ name [0].id =
+ CORBA::string_dup ("Receiver");
+
+ // Initialize the naming services
+ if (this->naming_client_.init (TAO_AV_CORE::instance ()->orb ()) != 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Unable to initialize "
+ "the TAO_Naming_Client\n"),
+ -1);
+
+ // Register the receiver object with the naming server.
+ this->naming_client_->rebind (name,
+ mmdevice.in (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+
+ return 0;
+}
+
+TAO_AV_Protocol_Object*
+Receiver::protocol_object (void)
+{
+ return this->protocol_object_;
+}
+
+FILE *
+Receiver::input_file (void)
+{
+ return this->input_file_;
+}
+
+int
+main (int argc,
+ char **argv)
+{
+ ACE_DECLARE_NEW_CORBA_ENV;
+ ACE_TRY
+ {
+ // Initialize the ORB first.
+ CORBA::ORB_var orb =
+ CORBA::ORB_init (argc,
+ argv,
+ 0,
+ ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ CORBA::Object_var obj
+ = orb->resolve_initial_references ("RootPOA",
+ ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ // Get the POA_var object from Object_var.
+ PortableServer::POA_var root_poa =
+ PortableServer::POA::_narrow (obj.in (),
+ ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ PortableServer::POAManager_var mgr
+ = root_poa->the_POAManager (ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ mgr->activate (ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ // Initialize the AVStreams components.
+ TAO_AV_CORE::instance ()->init (orb.in (), root_poa.in (), ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ // Make sure we have a valid <output_file>
+ output_file = ACE_OS::fopen (output_file_name,
+ "w");
+ if (output_file == 0)
+ ACE_ERROR_RETURN ((LM_DEBUG,
+ "Cannot open output file %s\n",
+ output_file_name),
+ -1);
+
+ else
+ ACE_DEBUG ((LM_DEBUG,
+ "Output File Opened Successfully\n"));
+
+ int result =
+ RECEIVER::instance ()->init (argc,
+ argv,
+ ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ // // Start sending data.
+ // result = SENDER::instance ()->pace_data (ACE_TRY_ENV);
+ // ACE_TRY_CHECK;
+
+ if (result != 0)
+ return result;
+
+ orb->run (ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ // Hack for now....
+ ACE_OS::sleep (1);
+
+ //orb->destroy (ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"receiver::init");
+ return -1;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK_RETURN (-1);
+
+ ACE_OS::fclose (output_file);
+
+ return 0;
+}
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Singleton <Receiver,ACE_Null_Mutex>;
+template class TAO_AV_Endpoint_Reactive_Strategy_B<Receiver_StreamEndPoint,TAO_VDev,AV_Null_MediaCtrl>;
+template class TAO_AV_Endpoint_Reactive_Strategy<Receiver_StreamEndPoint,TAO_VDev,AV_Null_MediaCtrl>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_Singleton <Receiver,ACE_Null_Mutex>
+#pragma instantiate TAO_AV_Endpoint_Reactive_Strategy_B<Receiver_StreamEndPoint,TAO_VDev,AV_Null_MediaCtrl>
+#pragma instantiate TAO_AV_Endpoint_Reactive_Strategy<Receiver_StreamEndPoint,TAO_VDev,AV_Null_MediaCtrl>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/tests/AVStreams/Bidirectional_Flows/receiver.h b/TAO/orbsvcs/tests/AVStreams/Bidirectional_Flows/receiver.h
new file mode 100644
index 00000000000..4511d5f7710
--- /dev/null
+++ b/TAO/orbsvcs/tests/AVStreams/Bidirectional_Flows/receiver.h
@@ -0,0 +1,146 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/tests/AVStreams/Simple
+//
+// = FILENAME
+// receiver.h
+//
+// = DESCRIPTION
+// This application receives data from a AV sender and writes it to
+// a file.
+//
+// = AUTHOR
+// Yamuna Krishnamurthy <yamuna@cs.wustl.edu>
+//
+// ============================================================================
+
+#include "orbsvcs/Naming/Naming_Utils.h"
+#include "orbsvcs/AV/AVStreams_i.h"
+#include "orbsvcs/AV/Endpoint_Strategy.h"
+#include "orbsvcs/AV/Policy.h"
+#include "orbsvcs/AV/Protocol_Factory.h"
+
+class Receiver_Callback : public TAO_AV_Callback
+{
+ // = TITLE
+ // Application defined callback object.
+ //
+ // = DESCRIPTION
+ // AVStreams calls this class when data shows up from a sender.
+public:
+
+ Receiver_Callback (void);
+ // Constructor.
+
+ // Method that is called when there is data to be received from a
+ // sender.
+ int receive_frame (ACE_Message_Block *frame,
+ TAO_AV_frame_info *frame_info,
+ const ACE_Addr &peer_address);
+
+ // Called when the sender is done sending data and wants to close
+ // down the connection.
+ int handle_destroy (void);
+
+private:
+ int frame_count_;
+ // Keeping a count of the incoming frames.
+
+ ACE_Message_Block mb_;
+ // Message block into which data is read from a file and then sent.
+};
+
+class Receiver_StreamEndPoint : public TAO_Server_StreamEndPoint
+{
+ // = TITLE
+ // Application defined stream endpoint object.
+ //
+ // = DESCRIPTION
+ // AVStreams calls this class during connection setup.
+public:
+ // Create a receiver application callback.
+ int get_callback (const char *flowname,
+ TAO_AV_Callback *&callback);
+
+ int set_protocol_object (const char *flowname,
+ TAO_AV_Protocol_Object *object);
+ // Set protocol object corresponding to the transport protocol
+ // chosen.
+
+
+private:
+ Receiver_Callback callback_;
+ // Receiver application callback.
+};
+
+class Receiver
+{
+ // = TITLE
+ // Receiver application class.
+ //
+ // = DESCRIPTION
+ // This class receives data from a AV sender and writes it to
+ // a file.
+public:
+ Receiver (void);
+ // Constructor
+
+ ~Receiver (void);
+ // Destructor.
+
+ int init (int argc,
+ char **argv,
+ CORBA::Environment &);
+ // Initialize data components.
+
+ void protocol_object (TAO_AV_Protocol_Object *protocol_object);
+ // Set the protocol object corresponding to the transport protocol chosen.
+
+ TAO_AV_Protocol_Object * protocol_object (void);
+ // Set the protocol object corresponding to the transport protocol chosen.
+
+ FILE * input_file (void);
+
+protected:
+ TAO_Naming_Client naming_client_;
+ // The Naming Service Client.
+
+ TAO_AV_Endpoint_Reactive_Strategy_B
+ <Receiver_StreamEndPoint,TAO_VDev,AV_Null_MediaCtrl> reactive_strategy_;
+ // The endpoint reactive strategy.
+
+ TAO_MMDevice *mmdevice_;
+ // Receiver MMDevice.
+
+ int frame_rate_;
+ // Rate at which the data will be sent.
+
+ TAO_AV_Protocol_Object *protocol_object_;
+ // Protocol object corresponding to the transport protocol selected.
+
+ FILE *input_file_;
+ // File handle of the file read from.
+
+ int frame_count_;
+ // Number of frames sent.
+
+ ACE_CString filename_;
+ // File from which data is read.
+
+ int parse_args (int argc, char **argv);
+ // Method to parse the command line arguments.
+
+ ACE_Message_Block mb_;
+ // Message block into which data is read from a file and then sent.
+
+};
+
+
+
+
+
+
diff --git a/TAO/orbsvcs/tests/AVStreams/Bidirectional_Flows/run_test.pl b/TAO/orbsvcs/tests/AVStreams/Bidirectional_Flows/run_test.pl
new file mode 100755
index 00000000000..28372903db4
--- /dev/null
+++ b/TAO/orbsvcs/tests/AVStreams/Bidirectional_Flows/run_test.pl
@@ -0,0 +1,67 @@
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# $Id$
+# -*- perl -*-
+
+use lib $ENV{"ACE_ROOT"}.'/bin';
+use PerlACE::Run_Test;
+
+# amount of delay between running the servers
+
+$sleeptime = 2;
+$status = 0;
+
+$nsior = PerlACE::LocalFile ("ns.ior");
+$outfile = PerlACE::LocalFile ("output");
+
+unlink $nsior;
+
+$NS = new PerlACE::Process ($ENV{"TAO_ROOT"}."/orbsvcs/Naming_Service/Naming_Service", "-o $nsior");
+$SV = new PerlACE::Process ("receiver", "-ORBInitRef NameService=file://$nsior -f output");
+$CL = new PerlACE::Process ("sender", "-ORBInitRef NameService=file://$nsior -f input -r 2");
+
+print STDERR "Starting Naming Service\n";
+
+$NS->Spawn ();
+
+if (PerlACE::waitforfile_timed ($nsior, 5) == -1) {
+ print STDERR "ERROR: cannot find naming service IOR file\n";
+ $NS->Kill ();
+ exit 1;
+}
+
+print STDERR "Starting Receiver\n";
+
+$SV->Spawn ();
+
+sleep $sleeptime;
+
+print STDERR "Starting Sender\n";
+
+$sender = $CL->SpawnWaitKill (200);
+
+if ($sender != 0) {
+ print STDERR "ERROR: sender returned $sender\n";
+ $status = 1;
+}
+
+$receiver = $SV->TerminateWaitKill (5);
+
+if ($receiver != 0) {
+ print STDERR "ERROR: receiver returned $receiver\n";
+ $status = 1;
+}
+
+$nserver = $NS->TerminateWaitKill (5);
+
+if ($nserver != 0) {
+ print STDERR "ERROR: Naming Service returned $nserver\n";
+ $status = 1;
+}
+
+unlink $nsior;
+unlink $output;
+
+exit $status;
diff --git a/TAO/orbsvcs/tests/AVStreams/Bidirectional_Flows/sender.cpp b/TAO/orbsvcs/tests/AVStreams/Bidirectional_Flows/sender.cpp
new file mode 100644
index 00000000000..63dab991dd3
--- /dev/null
+++ b/TAO/orbsvcs/tests/AVStreams/Bidirectional_Flows/sender.cpp
@@ -0,0 +1,513 @@
+// $Id$
+
+#include "sender.h"
+#include "tao/debug.h"
+#include "ace/Get_Opt.h"
+#include "ace/High_Res_Timer.h"
+
+typedef ACE_Singleton<Sender, ACE_Null_Mutex> SENDER;
+// Create a singleton instance of the Sender.
+
+static FILE *output_file = 0;
+// File handle of the file into which received data is written.
+
+static const char *output_file_name = "output";
+// File name of the file into which received data is written.
+
+
+int
+Sender_StreamEndPoint::get_callback (const char *,
+ TAO_AV_Callback *&callback)
+{
+ // Create and return the sender application callback to AVStreams
+ // for further upcalls.
+ callback = &this->callback_;
+ return 0;
+}
+
+int
+Sender_StreamEndPoint::set_protocol_object (const char *,
+ TAO_AV_Protocol_Object *object)
+{
+ // Set the sender protocol object corresponding to the transport
+ // protocol selected.
+ SENDER::instance ()->protocol_object (object);
+ return 0;
+}
+
+Sender_Callback::Sender_Callback (void)
+ : frame_count_ (1)
+{
+}
+
+int
+Sender_Callback::receive_frame (ACE_Message_Block *frame,
+ TAO_AV_frame_info *,
+ const ACE_Addr &)
+{
+ //
+ // Upcall from the AVStreams when there is data to be received from
+ // the sender.
+ //
+ ACE_DEBUG ((LM_DEBUG,
+ "Sender_Callback::receive_frame for frame %d\n",
+ this->frame_count_++));
+
+ while (frame != 0)
+ {
+ // Write the received data to the file.
+ size_t result =
+ ACE_OS::fwrite (frame->rd_ptr (),
+ frame->length (),
+ 1,
+ output_file);
+
+ if (result == frame->length ())
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Sender_Callback::fwrite failed\n"),
+ -1);
+
+ frame = frame->cont ();
+ }
+
+ if (SENDER::instance ()->eof () == 1)
+ SENDER::instance ()->shutdown ();
+ return 0;
+}
+
+Sender::Sender (void)
+ : sender_mmdevice_ (0),
+ streamctrl_ (0),
+ frame_count_ (0),
+ filename_ ("input"),
+ input_file_ (0),
+ protocol_ ("UDP"),
+ frame_rate_ (30),
+ mb_ (BUFSIZ),
+ eof_ (0)
+{
+}
+
+void
+Sender::protocol_object (TAO_AV_Protocol_Object *object)
+{
+ // Set the sender protocol object corresponding to the transport
+ // protocol selected.
+ this->protocol_object_ = object;
+}
+
+int
+Sender::eof (void)
+{
+ return this->eof_;
+}
+
+void
+Sender::shutdown (void)
+{
+ ACE_DECLARE_NEW_CORBA_ENV;
+ // File reading is complete, destroy the stream.
+ AVStreams::flowSpec stop_spec;
+ this->streamctrl_->destroy (stop_spec,
+ ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ // Shut the orb down.
+ TAO_AV_CORE::instance ()->orb ()->shutdown (0,
+ ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+}
+
+int
+Sender::parse_args (int argc,
+ char **argv)
+{
+ // Parse command line arguments
+ ACE_Get_Opt opts (argc, argv, "f:p:r:d");
+
+ int c;
+ while ((c= opts ()) != -1)
+ {
+ switch (c)
+ {
+ case 'f':
+ this->filename_ = opts.optarg;
+ break;
+ case 'p':
+ this->protocol_ = opts.optarg;
+ break;
+ case 'r':
+ this->frame_rate_ = ACE_OS::atoi (opts.optarg);
+ break;
+ case 'd':
+ TAO_debug_level++;
+ break;
+ default:
+ ACE_DEBUG ((LM_DEBUG, "Unknown Option\n"));
+ return -1;
+ }
+ }
+ return 0;
+}
+
+// Method to get the object reference of the receiver
+int
+Sender::bind_to_receiver (CORBA::Environment &ACE_TRY_ENV)
+{
+ CosNaming::Name name (1);
+ name.length (1);
+ name [0].id =
+ CORBA::string_dup ("Receiver");
+
+ // Resolve the receiver object reference from the Naming Service
+ CORBA::Object_var receiver_mmdevice_obj =
+ this->naming_client_->resolve (name,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+
+ this->receiver_mmdevice_ =
+ AVStreams::MMDevice::_narrow (receiver_mmdevice_obj.in (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+
+ if (CORBA::is_nil (this->receiver_mmdevice_.in ()))
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Could not resolve Receiver_MMdevice in Naming service <%s>\n"),
+ -1);
+
+ return 0;
+}
+
+int
+Sender::init (int argc,
+ char **argv,
+ CORBA::Environment &ACE_TRY_ENV)
+{
+ // Initialize the endpoint strategy with the orb and poa.
+ int result =
+ this->endpoint_strategy_.init (TAO_AV_CORE::instance ()->orb (),
+ TAO_AV_CORE::instance ()->poa ());
+ if (result != 0)
+ return result;
+
+ // Initialize the naming services
+ result =
+ this->naming_client_.init (TAO_AV_CORE::instance ()->orb ());
+ if (result != 0)
+ return result;
+
+ // Parse the command line arguments
+ result =
+ this->parse_args (argc,
+ argv);
+ if (result != 0)
+ return result;
+
+ // Open file to read.
+ this->input_file_ =
+ ACE_OS::fopen (this->filename_.c_str (),
+ "r");
+
+ if (this->input_file_ == 0)
+ ACE_ERROR_RETURN ((LM_DEBUG,
+ "Cannot open input file %s\n",
+ this->filename_.c_str ()),
+ -1);
+ else
+ ACE_DEBUG ((LM_DEBUG,
+ "File opened successfully\n"));
+
+ // Resolve the object reference of the receiver from the Naming Service.
+ result = this->bind_to_receiver (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+
+ if (result != 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%P|%t) Error binding to the naming service\n"),
+ -1);
+
+
+ // Initialize the QoS
+ AVStreams::streamQoS_var the_qos (new AVStreams::streamQoS);
+
+ // Create the forward flow specification to describe the flow.
+ TAO_Forward_FlowSpec_Entry entry ("Data_Receiver",
+ "IN",
+ "USER_DEFINED",
+ "",
+ this->protocol_.c_str (),
+ 0);
+
+ AVStreams::flowSpec flow_spec (1);
+ flow_spec.length (2);
+ flow_spec [0] = CORBA::string_dup (entry.entry_to_string ());
+
+ // Create the forward flow specification to describe the flow.
+ TAO_Forward_FlowSpec_Entry entry1 ("Data_Receiver1",
+ "OUT",
+ "USER_DEFINED",
+ "",
+ this->protocol_.c_str (),
+ 0);
+
+ flow_spec [1] = CORBA::string_dup (entry1.entry_to_string ());
+
+ // Register the sender mmdevice object with the ORB
+ ACE_NEW_RETURN (this->sender_mmdevice_,
+ TAO_MMDevice (&this->endpoint_strategy_),
+ -1);
+
+ // Servant Reference Counting to manage lifetime
+ PortableServer::ServantBase_var safe_mmdevice =
+ this->sender_mmdevice_;
+
+ AVStreams::MMDevice_var mmdevice =
+ this->sender_mmdevice_->_this (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+
+ ACE_NEW_RETURN (this->streamctrl_,
+ TAO_StreamCtrl,
+ -1);
+
+ PortableServer::ServantBase_var safe_streamctrl =
+ this->streamctrl_;
+
+ // Bind/Connect the sender and receiver MMDevices.
+ CORBA::Boolean bind_result =
+ this->streamctrl_->bind_devs (mmdevice.in (),
+ this->receiver_mmdevice_.in (),
+ the_qos.inout (),
+ flow_spec,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+
+ if (bind_result == 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "streamctrl::bind_devs failed\n"),
+ -1);
+
+ return 0;
+}
+
+// Method to send data at the specified rate
+int
+Sender::pace_data (CORBA::Environment &ACE_TRY_ENV)
+{
+ // The time that should lapse between two consecutive frames sent.
+ ACE_Time_Value inter_frame_time;
+
+ // The time between two consecutive frames.
+ inter_frame_time.set (1 / (double) this->frame_rate_);
+
+ if (TAO_debug_level > 0)
+ ACE_DEBUG ((LM_DEBUG,
+ "Frame Rate = %d / second\n"
+ "Inter Frame Time = %d (msec)\n",
+ this->frame_rate_,
+ inter_frame_time.msec ()));
+
+ ACE_TRY
+ {
+ // The time taken for sending a frame and preparing for the next frame
+ ACE_High_Res_Timer elapsed_timer;
+
+ // Continue to send data till the file is read to the end.
+ while (1)
+ {
+ // Read from the file into a message block.
+ int n = ACE_OS::fread (this->mb_.wr_ptr (),
+ 1,
+ this->mb_.size (),
+ this->input_file_);
+
+ if (n < 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Sender::pace_data fread failed\n"),
+ -1);
+
+ if (n == 0)
+ {
+ // At end of file break the loop and end the sender.
+ ACE_DEBUG ((LM_DEBUG,"Handle_Start:End of file\n"));
+ this->eof_ = 1;
+ break;
+ }
+
+ this->mb_.wr_ptr (n);
+
+ if (this->frame_count_ > 1)
+ {
+ //
+ // Second frame and beyond
+ //
+
+ // Stop the timer that was started just before the previous frame was sent.
+ elapsed_timer.stop ();
+
+ // Get the time elapsed after sending the previous frame.
+ ACE_Time_Value elapsed_time;
+ elapsed_timer.elapsed_time (elapsed_time);
+
+ if (TAO_debug_level > 0)
+ ACE_DEBUG ((LM_DEBUG,
+ "Elapsed Time = %d\n",
+ elapsed_time.msec ()));
+
+ // Check to see if the inter frame time has elapsed.
+ if (elapsed_time < inter_frame_time)
+ {
+ // Inter frame time has not elapsed.
+
+ // Calculate the time to wait before the next frame needs to be sent.
+ ACE_Time_Value wait_time (inter_frame_time - elapsed_time);
+
+ if (TAO_debug_level > 0)
+ ACE_DEBUG ((LM_DEBUG,
+ "Wait Time = %d\n",
+ wait_time.msec ()));
+
+ // Run the orb for the wait time so the sender can
+ // continue other orb requests.
+ TAO_AV_CORE::instance ()->orb ()->run (wait_time,
+ ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+ }
+ }
+
+ // Start timer before sending the frame.
+ elapsed_timer.start ();
+
+ // Send frame.
+ int result =
+ this->protocol_object_->send_frame (&this->mb_);
+
+ if (result < 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "send failed:%p",
+ "Sender::pace_data send\n"),
+ -1);
+
+ ACE_DEBUG ((LM_DEBUG,
+ "Sender::pace_data frame %d was sent succesfully\n",
+ ++this->frame_count_));
+
+ // Reset the message block.
+ this->mb_.reset ();
+
+ } // end while
+
+ // File reading is complete, destroy the stream.
+ AVStreams::flowSpec stop_spec;
+ this->streamctrl_->destroy (stop_spec,
+ ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ // Shut the orb down.
+ //TAO_AV_CORE::instance ()->orb ()->shutdown (1,
+ // ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ //ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ // "Sender::pace_data Failed\n");
+ return -1;
+ }
+ ACE_ENDTRY;
+ return 0;
+}
+
+int
+main (int argc,
+ char **argv)
+{
+ ACE_DECLARE_NEW_CORBA_ENV;
+ ACE_TRY
+ {
+ CORBA::ORB_var orb =
+ CORBA::ORB_init (argc,
+ argv,
+ 0,
+ ACE_TRY_ENV);
+
+ CORBA::Object_var obj
+ = orb->resolve_initial_references ("RootPOA",
+ ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ // Get the POA_var object from Object_var
+ PortableServer::POA_var root_poa
+ = PortableServer::POA::_narrow (obj.in (),
+ ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ PortableServer::POAManager_var mgr
+ = root_poa->the_POAManager (ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ mgr->activate (ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ // Initialize the AV Stream components.
+/* TAO_AV_CORE::instance ()->init (orb.in (),
+ root_poa.in (),
+ ACE_TRY_ENV); */
+ ACE_TRY_CHECK;
+
+ // Initialize the AVStreams components.
+ TAO_AV_CORE::instance ()->init (orb.in (), root_poa.in (), ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ // Initialize the Sender.
+ int result = 0;
+ result = SENDER::instance ()->init (argc,
+ argv,
+ ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ if (result < 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Sender::init failed\n"),
+ -1);
+
+ // Make sure we have a valid <output_file>
+ output_file = ACE_OS::fopen (output_file_name,
+ "w");
+ if (output_file == 0)
+ ACE_ERROR_RETURN ((LM_DEBUG,
+ "Cannot open output file %s\n",
+ output_file_name),
+ -1);
+
+ else
+ ACE_DEBUG ((LM_DEBUG,
+ "File Opened Successfull\n"));
+
+ // Start sending data.
+ result = SENDER::instance ()->pace_data (ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+ ACE_Time_Value tv(3,0);
+ orb->run (tv);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "Sender Failed\n");
+ return -1;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK_RETURN (-1);
+ return 0;
+}
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Singleton <Sender,ACE_Null_Mutex>;
+template class TAO_AV_Endpoint_Reactive_Strategy_A<Sender_StreamEndPoint,TAO_VDev,AV_Null_MediaCtrl>;
+template class TAO_AV_Endpoint_Reactive_Strategy<Sender_StreamEndPoint,TAO_VDev,AV_Null_MediaCtrl>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_Singleton <Sender,ACE_Null_Mutex>
+#pragma instantiate TAO_AV_Endpoint_Reactive_Strategy_A<Sender_StreamEndPoint,TAO_VDev,AV_Null_MediaCtrl>
+#pragma instantiate TAO_AV_Endpoint_Reactive_Strategy<Sender_StreamEndPoint,TAO_VDev,AV_Null_MediaCtrl>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/tests/AVStreams/Bidirectional_Flows/sender.h b/TAO/orbsvcs/tests/AVStreams/Bidirectional_Flows/sender.h
new file mode 100644
index 00000000000..8188b7f49f7
--- /dev/null
+++ b/TAO/orbsvcs/tests/AVStreams/Bidirectional_Flows/sender.h
@@ -0,0 +1,150 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/tests/AVStreams/Simple
+//
+// = FILENAME
+// sender.h
+//
+// = DESCRIPTION
+// This application reads data from a file and sends it to s
+// receiver.
+//
+// = AUTHOR
+// Yamuna Krishnamurthy <yamuna@cs.wustl.edu>
+//
+// ============================================================================
+
+#include "orbsvcs/Naming/Naming_Utils.h"
+#include "orbsvcs/AV/AVStreams_i.h"
+#include "orbsvcs/AV/Endpoint_Strategy.h"
+#include "orbsvcs/AV/Protocol_Factory.h"
+
+class Sender_Callback : public TAO_AV_Callback
+{
+ // = TITLE
+ // Application defined callback object.
+ //
+ // = DESCRIPTION
+ // AVStreams calls this class when data shows up from a sender.
+public:
+
+ Sender_Callback (void);
+ // Constructor.
+
+ // Method that is called when there is data to be received from a
+ // sender.
+ int receive_frame (ACE_Message_Block *frame,
+ TAO_AV_frame_info *frame_info,
+ const ACE_Addr &peer_address);
+
+ // Called when the sender is done sending data and wants to close
+ // down the connection.
+ // int handle_destroy (void);
+
+private:
+ int frame_count_;
+ // Keeping a count of the incoming frames.
+};
+
+class Sender_StreamEndPoint : public TAO_Client_StreamEndPoint
+{
+ // = TITLE
+ // Defines a sender stream endpoint.
+public:
+ int get_callback (const char *flowname,
+ TAO_AV_Callback *&callback);
+ // Create the application callback and return its handle to
+ // AVStreams for further application callbacks.
+
+ int set_protocol_object (const char *flowname,
+ TAO_AV_Protocol_Object *object);
+ // Set protocol object corresponding to the transport protocol
+ // chosen.
+
+protected:
+ Sender_Callback callback_;
+ // Application callback.
+};
+
+typedef TAO_AV_Endpoint_Reactive_Strategy_A
+ <Sender_StreamEndPoint,
+ TAO_VDev,
+ AV_Null_MediaCtrl>
+ SENDER_ENDPOINT_STRATEGY;
+
+class Sender
+{
+ // = TITLE
+ // Sender Application.
+ //
+ // = DESCRIPTION
+ // Class is responsible for streaming (and pacing) data to a
+ // receiver.
+public:
+ Sender (void);
+ // Constructor
+
+ int init (int argc,
+ char **argv,
+ CORBA::Environment&);
+ // Method to initialize the various data components.
+
+ int pace_data (CORBA::Environment &);
+ // Method to pace and send data from a file.
+
+ void protocol_object (TAO_AV_Protocol_Object *protocol_object);
+ // Set the protocol object corresponding to the transport protocol chosen.
+
+ int eof (void);
+
+ void shutdown (void);
+
+private:
+ int parse_args (int argc, char **argv);
+ // Method to parse the command line arguments.
+
+ int bind_to_receiver (CORBA::Environment& ACE_TRY_ENV);
+ // Method that binds the sender to the receiver.
+
+ SENDER_ENDPOINT_STRATEGY endpoint_strategy_;
+ // The endpoint strategy used by the sender.
+
+ AVStreams::MMDevice_var receiver_mmdevice_;
+ // The receiver MMDevice that the sender connects to.
+
+ TAO_MMDevice *sender_mmdevice_;
+ // The sender MMDevice.
+
+ TAO_StreamCtrl *streamctrl_;
+ // Stream controller
+
+ int frame_count_;
+ // Number of frames sent.
+
+ ACE_CString filename_;
+ // File from which data is read.
+
+ TAO_Naming_Client naming_client_;
+ // The Naming Service client.
+
+ FILE *input_file_;
+ // File handle of the file read from.
+
+ ACE_CString protocol_;
+ // Selected protocol - default is UDP
+
+ int frame_rate_;
+ // Rate at which the data will be sent.
+
+ ACE_Message_Block mb_;
+ // Message block into which data is read from a file and then sent.
+
+ TAO_AV_Protocol_Object *protocol_object_;
+ // Protocol object corresponding to the transport protocol selected.
+
+ int eof_;
+};
diff --git a/TAO/orbsvcs/tests/AVStreams/Multiple_Flows/Makefile b/TAO/orbsvcs/tests/AVStreams/Multiple_Flows/Makefile
new file mode 100644
index 00000000000..a0d4ef3c63e
--- /dev/null
+++ b/TAO/orbsvcs/tests/AVStreams/Multiple_Flows/Makefile
@@ -0,0 +1,58 @@
+#----------------------------------------------------------------------------
+# $Id$
+#
+# Top-level Makefile for Pluggable testing of AVStreams of TAO.
+#
+#----------------------------------------------------------------------------
+
+#----------------------------------------------------------------------------
+# Local macros
+#----------------------------------------------------------------------------
+
+LDLIBS = -lTAO_AV -lTAO_CosProperty -lTAO_CosNaming -lTAO_Svc_Utils -lTAO_IORTable -lTAO_PortableServer -lTAO
+
+RECEIVER_OBJS = receiver.o
+SENDER_OBJS = sender.o
+
+VLDLIBS = $(LDLIBS:%=%$(VAR))
+
+ifndef TAO_ROOT
+TAO_ROOT = $(ACE_ROOT)/TAO
+endif
+
+FILES = sender receiver
+DEFS = $(addsuffix .h,$(FILES))
+LSRC = $(addsuffix .cpp,$(FILES))
+
+BIN2 = receiver sender
+
+#### If the TAO orbsvcs library wasn't built with sufficient components,
+#### don't try to build here.
+TAO_ORBSVCS := $(shell $(ACE_ROOT)/bin/ace_components --orbsvcs)
+ifeq (AV,$(findstring AV,$(TAO_ORBSVCS)))
+ BIN = $(BIN2)
+endif # AV
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(TAO_ROOT)/rules.tao.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+
+ifeq ($(rapi),1)
+ LDLIBS += -lACE_QoS
+endif # rapi
+
+#DCFLAGS = -g
+LDFLAGS += -L$(TAO_ROOT)/orbsvcs/orbsvcs -L$(TAO_ROOT)/tao
+CPPFLAGS += -I$(TAO_ROOT)/orbsvcs -I$(TAO_ROOT)/orbsvcs/orbsvcs/AV \
+ -I$(TAO_ROOT)
+
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
diff --git a/TAO/orbsvcs/tests/AVStreams/Multiple_Flows/README b/TAO/orbsvcs/tests/AVStreams/Multiple_Flows/README
new file mode 100644
index 00000000000..a6deaa1f938
--- /dev/null
+++ b/TAO/orbsvcs/tests/AVStreams/Multiple_Flows/README
@@ -0,0 +1,57 @@
+// $Id$
+
+Description
+-----------
+
+This directory contains a simple test in the form of a sender and a
+receiver. The test has the following features:
+
+1. It tests the AVStreams Pluggable Protocol Framework
+2. Shows a mechanism to pace data.
+3. Shows how to set up multiple data streams between the same MMDevices.
+
+The sender sets up two data streams:
+1. Data_Receiver_One and
+2. Data_Receiver_Two
+
+and sends the data from the input file on both these streams.
+
+The receiver creates two output files:
+1. Data_Receiver_One and
+2. Data_Receiver_Two
+
+corresponding to the two data streams.
+
+Running the test
+----------------
+
+receiver
+--------
+
+receiver
+
+-f <input_filename> -> The name of the file from which data is sent to the receiver
+
+sender
+------
+
+sender [-f <filename>] [-p <protocol>] [-r <frame rate>] [-d]
+
+
+-f filename --> The file to be streamed to the receiver (defaults to
+ "input").
+
+-p protocol --> The protocol string could be UDP or TCP (defaults to
+ UDP). But with the multicast address it should be UDP.
+
+-r framerate--> The rate at which tha data frames need to be sent
+ (defaults to 30 frames per second).
+
+-d --> Increament the TAO_debug_level for debug messages.
+
+
+The test must be run with the naming service. Check the run_test.pl
+to see how to configure the test case.
+
+
+
diff --git a/TAO/orbsvcs/tests/AVStreams/Multiple_Flows/input b/TAO/orbsvcs/tests/AVStreams/Multiple_Flows/input
new file mode 100644
index 00000000000..b6579cec283
--- /dev/null
+++ b/TAO/orbsvcs/tests/AVStreams/Multiple_Flows/input
@@ -0,0 +1,995 @@
+#----------------------------------------------------------------------------
+# input,v 1.1 2001/03/27 11:41:00 irfan Exp
+#
+# Top-level Makefile for Pluggable testing of AVStreams of TAO.
+#
+#----------------------------------------------------------------------------
+
+#----------------------------------------------------------------------------
+# Local macros
+#----------------------------------------------------------------------------
+
+LDLIBS = -lTAO_AV -lTAO_CosProperty -lTAO_CosNaming -lTAO_Svc_Utils -lTAO_IORTable -lTAO_PortableServer -lTAO
+
+SERVER_OBJS = server.o
+CLIENT_OBJS = ftp.o
+
+VLDLIBS = $(LDLIBS:%=%$(VAR))
+
+ifndef TAO_ROOT
+TAO_ROOT = $(ACE_ROOT)/TAO
+endif
+
+FILES = ftp server
+DEFS = $(addsuffix .h,$(FILES))
+LSRC = $(addsuffix .cpp,$(FILES))
+
+BIN2 = server ftp
+
+#### If the TAO orbsvcs library wasn't built with sufficient components,
+#### don't try to build here.
+TAO_ORBSVCS := $(shell $(ACE_ROOT)/bin/ace_components --orbsvcs)
+ifeq (AV,$(findstring AV,$(TAO_ORBSVCS)))
+ BIN = $(BIN2)
+endif # AV
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(TAO_ROOT)/rules.tao.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+
+#DCFLAGS = -g
+LDFLAGS += -L$(TAO_ROOT)/orbsvcs/orbsvcs -L$(TAO_ROOT)/tao
+CPPFLAGS += -I$(TAO_ROOT)/orbsvcs -I$(TAO_ROOT)/orbsvcs/orbsvcs/AV \
+ -I$(TAO_ROOT)
+
+#server:$(addprefix $(VDIR),$(SERVER_OBJS))
+# $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK)
+
+#ftp:$(addprefix $(VDIR),$(CLIENT_OBJS))
+# $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK)
+
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+
+.obj/ftp.o .obj/ftp.so .shobj/ftp.o .shobj/ftp.so: ftp.cpp ftp.h \
+ $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Get_Opt.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Naming/Naming_Utils.h \
+ $(TAO_ROOT)/tao/corba.h \
+ $(TAO_ROOT)/tao/corbafwd.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/try_macros.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/corbafwd.i \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/SString.i \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/Services.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Services.i \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(TAO_ROOT)/tao/Object_Proxy_Broker.h \
+ $(TAO_ROOT)/tao/Object_Proxy_Impl.h \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/Encodable.h \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/NVList.h \
+ $(TAO_ROOT)/tao/NVList.i \
+ $(TAO_ROOT)/tao/Principal.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/Principal.i \
+ $(TAO_ROOT)/tao/TAO_Server_Request.h \
+ $(TAO_ROOT)/tao/Tagged_Profile.h \
+ $(TAO_ROOT)/tao/IOPC.h \
+ $(TAO_ROOT)/tao/IOPC.i \
+ $(TAO_ROOT)/tao/GIOPC.h \
+ $(TAO_ROOT)/tao/Object_KeyC.h \
+ $(TAO_ROOT)/tao/Object_KeyC.i \
+ $(TAO_ROOT)/tao/GIOPC.i \
+ $(TAO_ROOT)/tao/Tagged_Profile.i \
+ $(TAO_ROOT)/tao/Service_Context.h \
+ $(TAO_ROOT)/tao/Service_Context.inl \
+ $(TAO_ROOT)/tao/TAO_Server_Request.i \
+ $(TAO_ROOT)/tao/Remote_Object_Proxy_Impl.h \
+ $(TAO_ROOT)/tao/LocalObject.h \
+ $(TAO_ROOT)/tao/LocalObject.i \
+ $(TAO_ROOT)/tao/Stub.h \
+ $(TAO_ROOT)/tao/Pluggable.h \
+ $(TAO_ROOT)/tao/Pluggable.i \
+ $(TAO_ROOT)/tao/MProfile.h \
+ $(TAO_ROOT)/tao/Profile.h \
+ $(TAO_ROOT)/tao/Tagged_Components.h \
+ $(TAO_ROOT)/tao/CONV_FRAMEC.h \
+ $(TAO_ROOT)/tao/CONV_FRAMEC.i \
+ $(TAO_ROOT)/tao/Tagged_Components.i \
+ $(TAO_ROOT)/tao/GIOP_Message_State.h \
+ $(TAO_ROOT)/tao/GIOP_Message_State.i \
+ $(TAO_ROOT)/tao/Profile.i \
+ $(TAO_ROOT)/tao/MProfile.i \
+ $(TAO_ROOT)/tao/ORB_Core.h \
+ $(TAO_ROOT)/tao/Policy_Manager.h \
+ $(TAO_ROOT)/tao/Policy_Manager.i \
+ $(TAO_ROOT)/tao/Resource_Factory.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Protocol_Factory.h \
+ $(TAO_ROOT)/tao/params.h \
+ $(TAO_ROOT)/tao/params.i \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.h \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.inl \
+ $(TAO_ROOT)/tao/TAO_Singleton.h \
+ $(TAO_ROOT)/tao/TAO_Singleton.inl \
+ $(TAO_ROOT)/tao/TAO_Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(TAO_ROOT)/tao/Adapter.h \
+ $(TAO_ROOT)/tao/Adapter.i \
+ $(TAO_ROOT)/tao/PolicyFactory_Registry.h \
+ $(TAO_ROOT)/tao/PortableInterceptorC.h \
+ $(TAO_ROOT)/tao/DynamicC.h \
+ $(TAO_ROOT)/tao/DynamicC.i \
+ $(TAO_ROOT)/tao/MessagingC.h \
+ $(TAO_ROOT)/tao/ValueBase.h \
+ $(TAO_ROOT)/tao/ValueBase.i \
+ $(TAO_ROOT)/tao/ValueFactory.h \
+ $(TAO_ROOT)/tao/ValueFactory.i \
+ $(TAO_ROOT)/tao/TimeBaseC.h \
+ $(TAO_ROOT)/tao/TimeBaseC.i \
+ $(TAO_ROOT)/tao/PollableC.h \
+ $(TAO_ROOT)/tao/PollableC.i \
+ $(TAO_ROOT)/tao/MessagingC.i \
+ $(TAO_ROOT)/tao/PortableInterceptorC.i \
+ $(ACE_ROOT)/ace/Map_Manager.h \
+ $(ACE_ROOT)/ace/Map_Manager.i \
+ $(ACE_ROOT)/ace/Map_Manager.cpp \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/Handle_Set.i \
+ $(ACE_ROOT)/ace/Timer_Queue.h \
+ $(ACE_ROOT)/ace/Timer_Queue_T.h \
+ $(ACE_ROOT)/ace/Test_and_Set.h \
+ $(ACE_ROOT)/ace/Test_and_Set.i \
+ $(ACE_ROOT)/ace/Test_and_Set.cpp \
+ $(ACE_ROOT)/ace/Timer_Queue_T.i \
+ $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Parser_Registry.h \
+ $(TAO_ROOT)/tao/Parser_Registry.i \
+ $(TAO_ROOT)/tao/Service_Callbacks.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.i \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.h \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.i \
+ $(TAO_ROOT)/tao/Connection_Cache_Manager.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(TAO_ROOT)/tao/Cache_Entries.h \
+ $(TAO_ROOT)/tao/Connection_Descriptor_Interface.h \
+ $(TAO_ROOT)/tao/Endpoint.h \
+ $(TAO_ROOT)/tao/Endpoint.i \
+ $(TAO_ROOT)/tao/Connection_Descriptor_Interface.inl \
+ $(TAO_ROOT)/tao/Cache_Entries.inl \
+ $(TAO_ROOT)/tao/Connection_Cache_Manager.inl \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.h \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \
+ $(TAO_ROOT)/tao/Object_Ref_Table.h \
+ $(TAO_ROOT)/tao/Interceptor_List.h \
+ $(TAO_ROOT)/tao/Interceptor_List.inl \
+ $(TAO_ROOT)/tao/RT_Policy_i.h \
+ $(TAO_ROOT)/tao/RTCORBAS.h \
+ $(TAO_ROOT)/tao/IOPS.h \
+ $(TAO_ROOT)/tao/IOPS_T.h \
+ $(TAO_ROOT)/tao/IOPS_T.i \
+ $(TAO_ROOT)/tao/IOPS_T.cpp \
+ $(TAO_ROOT)/tao/IOPS.i \
+ $(TAO_ROOT)/tao/TimeBaseS.h \
+ $(TAO_ROOT)/tao/TimeBaseS_T.h \
+ $(TAO_ROOT)/tao/TimeBaseS_T.i \
+ $(TAO_ROOT)/tao/TimeBaseS_T.cpp \
+ $(TAO_ROOT)/tao/TimeBaseS.i \
+ $(TAO_ROOT)/tao/RTCORBAC.h \
+ $(TAO_ROOT)/tao/RTCORBAC.i \
+ $(TAO_ROOT)/tao/RTCORBAS_T.h \
+ $(TAO_ROOT)/tao/RTCORBAS_T.i \
+ $(TAO_ROOT)/tao/RTCORBAS_T.cpp \
+ $(TAO_ROOT)/tao/RTCORBAS.i \
+ $(TAO_ROOT)/tao/RT_Policy_i.i \
+ $(TAO_ROOT)/tao/Protocols_Hooks.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager.h \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(TAO_ROOT)/tao/ORB_Core.i \
+ $(TAO_ROOT)/tao/Stub.i \
+ $(TAO_ROOT)/tao/debug.h \
+ $(TAO_ROOT)/tao/Client_Strategy_Factory.h \
+ $(TAO_ROOT)/tao/Server_Strategy_Factory.h \
+ $(TAO_ROOT)/tao/Invocation.h \
+ $(TAO_ROOT)/tao/Synch_Reply_Dispatcher.h \
+ $(TAO_ROOT)/tao/Reply_Dispatcher.h \
+ $(TAO_ROOT)/tao/Reply_Dispatcher.i \
+ $(TAO_ROOT)/tao/TAOC.h \
+ $(TAO_ROOT)/tao/Priority_Mapping_Manager.h \
+ $(TAO_ROOT)/tao/Priority_Mapping.h \
+ $(TAO_ROOT)/tao/Priority_Mapping.i \
+ $(TAO_ROOT)/tao/Priority_Mapping_Manager.i \
+ $(TAO_ROOT)/tao/TAOC.i \
+ $(TAO_ROOT)/tao/operation_details.h \
+ $(TAO_ROOT)/tao/target_specification.h \
+ $(TAO_ROOT)/tao/target_specification.i \
+ $(TAO_ROOT)/tao/operation_details.i \
+ $(TAO_ROOT)/tao/Invocation_Endpoint_Selectors.h \
+ $(TAO_ROOT)/tao/Invocation_Endpoint_Selectors.i \
+ $(TAO_ROOT)/tao/Invocation.i \
+ $(TAO_ROOT)/tao/ObjectIDList.h \
+ $(TAO_ROOT)/tao/ObjectIDList.i \
+ $(TAO_ROOT)/tao/DomainC.h \
+ $(TAO_ROOT)/tao/ClientRequestInfo.h \
+ $(TAO_ROOT)/tao/StringSeqC.h \
+ $(TAO_ROOT)/tao/StringSeqC.i \
+ $(TAO_ROOT)/tao/ClientRequestInfo.inl \
+ $(TAO_ROOT)/tao/DomainC.i \
+ $(TAO_ROOT)/tao/WrongTransactionC.h \
+ $(TAO_ROOT)/tao/BoundsC.h \
+ $(TAO_ROOT)/tao/BoundsC.i \
+ $(TAO_ROOT)/tao/PortableInterceptor.h \
+ $(TAO_ROOT)/tao/PortableInterceptor.i \
+ $(TAO_ROOT)/tao/BiDirPolicyC.h \
+ $(TAO_ROOT)/tao/BiDirPolicyC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingC.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Naming/naming_export.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/IOR_Multicast.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/svc_utils_export.h \
+ $(ACE_ROOT)/ace/INET_Addr.h \
+ $(ACE_ROOT)/ace/Addr.h \
+ $(ACE_ROOT)/ace/Addr.i \
+ $(ACE_ROOT)/ace/INET_Addr.i \
+ $(ACE_ROOT)/ace/SOCK_Dgram_Mcast.h \
+ $(ACE_ROOT)/ace/SOCK_Dgram.h \
+ $(ACE_ROOT)/ace/SOCK.h \
+ $(ACE_ROOT)/ace/IPC_SAP.h \
+ $(ACE_ROOT)/ace/IPC_SAP.i \
+ $(ACE_ROOT)/ace/QoS_Session.h \
+ $(ACE_ROOT)/ace/SOCK.i \
+ $(ACE_ROOT)/ace/SOCK_Dgram.i \
+ $(ACE_ROOT)/ace/SOCK_Dgram_Mcast.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Naming/Naming_Context_Interface.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingS.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/PortableServer/RTPortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/PortableServer/RTPortableServerC.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ $(TAO_ROOT)/tao/PortableServer/Collocated_Object.h \
+ $(TAO_ROOT)/tao/PortableServer/Collocated_Object.i \
+ $(TAO_ROOT)/tao/PortableServer/ThruPOA_Object_Proxy_Impl.h \
+ $(TAO_ROOT)/tao/PortableServer/Direct_Object_Proxy_Impl.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.inl \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingS_T.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingS_T.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingS_T.cpp \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingS.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/AVStreams_i.h \
+ $(ACE_ROOT)/ace/ATM_Addr.h \
+ $(ACE_ROOT)/ace/ATM_Addr.i \
+ $(ACE_ROOT)/ace/Process.h \
+ $(ACE_ROOT)/ace/Process.i \
+ $(ACE_ROOT)/ace/SOCK_CODgram.h \
+ $(ACE_ROOT)/ace/SOCK_IO.h \
+ $(ACE_ROOT)/ace/SOCK_IO.i \
+ $(ACE_ROOT)/ace/SOCK_CODgram.i \
+ $(ACE_ROOT)/ace/Connector.h \
+ $(ACE_ROOT)/ace/Svc_Handler.h \
+ $(ACE_ROOT)/ace/Synch_Options.h \
+ $(ACE_ROOT)/ace/Synch_Options.i \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Strategies.h \
+ $(ACE_ROOT)/ace/Strategies_T.h \
+ $(ACE_ROOT)/ace/Strategies_T.i \
+ $(ACE_ROOT)/ace/Strategies_T.cpp \
+ $(ACE_ROOT)/ace/Service_Repository.h \
+ $(ACE_ROOT)/ace/Service_Types.h \
+ $(ACE_ROOT)/ace/Service_Types.i \
+ $(ACE_ROOT)/ace/Service_Repository.i \
+ $(ACE_ROOT)/ace/WFMO_Reactor.h \
+ $(ACE_ROOT)/ace/Process_Mutex.h \
+ $(ACE_ROOT)/ace/Process_Mutex.inl \
+ $(ACE_ROOT)/ace/WFMO_Reactor.i \
+ $(ACE_ROOT)/ace/Strategies.i \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Svc_Handler.cpp \
+ $(ACE_ROOT)/ace/Dynamic.h \
+ $(ACE_ROOT)/ace/Dynamic.i \
+ $(ACE_ROOT)/ace/Connector.cpp \
+ $(ACE_ROOT)/ace/SOCK_Connector.h \
+ $(ACE_ROOT)/ace/SOCK_Stream.h \
+ $(ACE_ROOT)/ace/SOCK_Stream.i \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/SOCK_Connector.i \
+ $(ACE_ROOT)/ace/Acceptor.h \
+ $(ACE_ROOT)/ace/Acceptor.cpp \
+ $(ACE_ROOT)/ace/SOCK_Acceptor.h \
+ $(ACE_ROOT)/ace/SOCK_Acceptor.i \
+ $(TAO_ROOT)/tao/PortableServer/ORB_Manager.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/AV_export.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceC.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Property/property_export.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS_T.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS_T.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS_T.cpp \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsC.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS_T.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS_T.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS_T.cpp \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Property/CosPropertyService_i.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/AV_Core.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Endpoint_Strategy.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.cpp \
+ $(ACE_ROOT)/ace/Process_Semaphore.h \
+ $(ACE_ROOT)/ace/Process_Semaphore.inl \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlC.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS_T.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS_T.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS_T.cpp \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/FlowSpec_Entry.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Transport.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Transport.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/FlowSpec_Entry.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/AVStreams_i.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Flows_T.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Flows_T.cpp \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/sfp.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/sfpC.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/sfpC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Policy.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Policy.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/MCast.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Protocol_Factory.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/MCast.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/UDP.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/UDP.i \
+ $(ACE_ROOT)/ace/High_Res_Timer.h \
+ $(ACE_ROOT)/ace/High_Res_Timer.i \
+ $(ACE_ROOT)/ace/Stats.h \
+ $(ACE_ROOT)/ace/Basic_Stats.h \
+ $(ACE_ROOT)/ace/Basic_Stats.inl \
+ $(ACE_ROOT)/ace/Stats.i
+
+.obj/server.o .obj/server.so .shobj/server.o .shobj/server.so: server.cpp server.h \
+ $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Get_Opt.i \
+ $(TAO_ROOT)/tao/PortableServer/ORB_Manager.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/corbafwd.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/try_macros.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/corbafwd.i \
+ $(TAO_ROOT)/tao/PortableServer/RTPortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(TAO_ROOT)/tao/Object_Proxy_Broker.h \
+ $(TAO_ROOT)/tao/Object_Proxy_Impl.h \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/Encodable.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/SString.i \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/RTCORBAC.h \
+ $(TAO_ROOT)/tao/IOPC.h \
+ $(TAO_ROOT)/tao/IOPC.i \
+ $(TAO_ROOT)/tao/TimeBaseC.h \
+ $(TAO_ROOT)/tao/TimeBaseC.i \
+ $(TAO_ROOT)/tao/RTCORBAC.i \
+ $(TAO_ROOT)/tao/PortableServer/RTPortableServerC.i \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Services.h \
+ $(TAO_ROOT)/tao/Services.i \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Naming/Naming_Utils.h \
+ $(TAO_ROOT)/tao/corba.h \
+ $(TAO_ROOT)/tao/NVList.h \
+ $(TAO_ROOT)/tao/NVList.i \
+ $(TAO_ROOT)/tao/Principal.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/Principal.i \
+ $(TAO_ROOT)/tao/TAO_Server_Request.h \
+ $(TAO_ROOT)/tao/Tagged_Profile.h \
+ $(TAO_ROOT)/tao/GIOPC.h \
+ $(TAO_ROOT)/tao/Object_KeyC.h \
+ $(TAO_ROOT)/tao/Object_KeyC.i \
+ $(TAO_ROOT)/tao/GIOPC.i \
+ $(TAO_ROOT)/tao/Tagged_Profile.i \
+ $(TAO_ROOT)/tao/Service_Context.h \
+ $(TAO_ROOT)/tao/Service_Context.inl \
+ $(TAO_ROOT)/tao/TAO_Server_Request.i \
+ $(TAO_ROOT)/tao/Remote_Object_Proxy_Impl.h \
+ $(TAO_ROOT)/tao/LocalObject.h \
+ $(TAO_ROOT)/tao/LocalObject.i \
+ $(TAO_ROOT)/tao/Stub.h \
+ $(TAO_ROOT)/tao/Pluggable.h \
+ $(TAO_ROOT)/tao/Pluggable.i \
+ $(TAO_ROOT)/tao/MProfile.h \
+ $(TAO_ROOT)/tao/Profile.h \
+ $(TAO_ROOT)/tao/Tagged_Components.h \
+ $(TAO_ROOT)/tao/CONV_FRAMEC.h \
+ $(TAO_ROOT)/tao/CONV_FRAMEC.i \
+ $(TAO_ROOT)/tao/Tagged_Components.i \
+ $(TAO_ROOT)/tao/GIOP_Message_State.h \
+ $(TAO_ROOT)/tao/GIOP_Message_State.i \
+ $(TAO_ROOT)/tao/Profile.i \
+ $(TAO_ROOT)/tao/MProfile.i \
+ $(TAO_ROOT)/tao/ORB_Core.h \
+ $(TAO_ROOT)/tao/Policy_Manager.h \
+ $(TAO_ROOT)/tao/Policy_Manager.i \
+ $(TAO_ROOT)/tao/Resource_Factory.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Protocol_Factory.h \
+ $(TAO_ROOT)/tao/params.h \
+ $(TAO_ROOT)/tao/params.i \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.h \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.inl \
+ $(TAO_ROOT)/tao/TAO_Singleton.h \
+ $(TAO_ROOT)/tao/TAO_Singleton.inl \
+ $(TAO_ROOT)/tao/TAO_Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(TAO_ROOT)/tao/Adapter.h \
+ $(TAO_ROOT)/tao/Adapter.i \
+ $(TAO_ROOT)/tao/PolicyFactory_Registry.h \
+ $(TAO_ROOT)/tao/PortableInterceptorC.h \
+ $(TAO_ROOT)/tao/DynamicC.h \
+ $(TAO_ROOT)/tao/DynamicC.i \
+ $(TAO_ROOT)/tao/MessagingC.h \
+ $(TAO_ROOT)/tao/ValueBase.h \
+ $(TAO_ROOT)/tao/ValueBase.i \
+ $(TAO_ROOT)/tao/ValueFactory.h \
+ $(TAO_ROOT)/tao/ValueFactory.i \
+ $(TAO_ROOT)/tao/PollableC.h \
+ $(TAO_ROOT)/tao/PollableC.i \
+ $(TAO_ROOT)/tao/MessagingC.i \
+ $(TAO_ROOT)/tao/PortableInterceptorC.i \
+ $(ACE_ROOT)/ace/Map_Manager.h \
+ $(ACE_ROOT)/ace/Map_Manager.i \
+ $(ACE_ROOT)/ace/Map_Manager.cpp \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/Handle_Set.i \
+ $(ACE_ROOT)/ace/Timer_Queue.h \
+ $(ACE_ROOT)/ace/Timer_Queue_T.h \
+ $(ACE_ROOT)/ace/Test_and_Set.h \
+ $(ACE_ROOT)/ace/Test_and_Set.i \
+ $(ACE_ROOT)/ace/Test_and_Set.cpp \
+ $(ACE_ROOT)/ace/Timer_Queue_T.i \
+ $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Parser_Registry.h \
+ $(TAO_ROOT)/tao/Parser_Registry.i \
+ $(TAO_ROOT)/tao/Service_Callbacks.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.i \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.h \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.i \
+ $(TAO_ROOT)/tao/Connection_Cache_Manager.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(TAO_ROOT)/tao/Cache_Entries.h \
+ $(TAO_ROOT)/tao/Connection_Descriptor_Interface.h \
+ $(TAO_ROOT)/tao/Endpoint.h \
+ $(TAO_ROOT)/tao/Endpoint.i \
+ $(TAO_ROOT)/tao/Connection_Descriptor_Interface.inl \
+ $(TAO_ROOT)/tao/Cache_Entries.inl \
+ $(TAO_ROOT)/tao/Connection_Cache_Manager.inl \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.h \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \
+ $(TAO_ROOT)/tao/Object_Ref_Table.h \
+ $(TAO_ROOT)/tao/Interceptor_List.h \
+ $(TAO_ROOT)/tao/Interceptor_List.inl \
+ $(TAO_ROOT)/tao/RT_Policy_i.h \
+ $(TAO_ROOT)/tao/RTCORBAS.h \
+ $(TAO_ROOT)/tao/IOPS.h \
+ $(TAO_ROOT)/tao/IOPS_T.h \
+ $(TAO_ROOT)/tao/IOPS_T.i \
+ $(TAO_ROOT)/tao/IOPS_T.cpp \
+ $(TAO_ROOT)/tao/IOPS.i \
+ $(TAO_ROOT)/tao/TimeBaseS.h \
+ $(TAO_ROOT)/tao/TimeBaseS_T.h \
+ $(TAO_ROOT)/tao/TimeBaseS_T.i \
+ $(TAO_ROOT)/tao/TimeBaseS_T.cpp \
+ $(TAO_ROOT)/tao/TimeBaseS.i \
+ $(TAO_ROOT)/tao/RTCORBAS_T.h \
+ $(TAO_ROOT)/tao/RTCORBAS_T.i \
+ $(TAO_ROOT)/tao/RTCORBAS_T.cpp \
+ $(TAO_ROOT)/tao/RTCORBAS.i \
+ $(TAO_ROOT)/tao/RT_Policy_i.i \
+ $(TAO_ROOT)/tao/Protocols_Hooks.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager.h \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(TAO_ROOT)/tao/ORB_Core.i \
+ $(TAO_ROOT)/tao/Stub.i \
+ $(TAO_ROOT)/tao/debug.h \
+ $(TAO_ROOT)/tao/Client_Strategy_Factory.h \
+ $(TAO_ROOT)/tao/Server_Strategy_Factory.h \
+ $(TAO_ROOT)/tao/Invocation.h \
+ $(TAO_ROOT)/tao/Synch_Reply_Dispatcher.h \
+ $(TAO_ROOT)/tao/Reply_Dispatcher.h \
+ $(TAO_ROOT)/tao/Reply_Dispatcher.i \
+ $(TAO_ROOT)/tao/TAOC.h \
+ $(TAO_ROOT)/tao/Priority_Mapping_Manager.h \
+ $(TAO_ROOT)/tao/Priority_Mapping.h \
+ $(TAO_ROOT)/tao/Priority_Mapping.i \
+ $(TAO_ROOT)/tao/Priority_Mapping_Manager.i \
+ $(TAO_ROOT)/tao/TAOC.i \
+ $(TAO_ROOT)/tao/operation_details.h \
+ $(TAO_ROOT)/tao/target_specification.h \
+ $(TAO_ROOT)/tao/target_specification.i \
+ $(TAO_ROOT)/tao/operation_details.i \
+ $(TAO_ROOT)/tao/Invocation_Endpoint_Selectors.h \
+ $(TAO_ROOT)/tao/Invocation_Endpoint_Selectors.i \
+ $(TAO_ROOT)/tao/Invocation.i \
+ $(TAO_ROOT)/tao/ObjectIDList.h \
+ $(TAO_ROOT)/tao/ObjectIDList.i \
+ $(TAO_ROOT)/tao/DomainC.h \
+ $(TAO_ROOT)/tao/ClientRequestInfo.h \
+ $(TAO_ROOT)/tao/StringSeqC.h \
+ $(TAO_ROOT)/tao/StringSeqC.i \
+ $(TAO_ROOT)/tao/ClientRequestInfo.inl \
+ $(TAO_ROOT)/tao/DomainC.i \
+ $(TAO_ROOT)/tao/WrongTransactionC.h \
+ $(TAO_ROOT)/tao/BoundsC.h \
+ $(TAO_ROOT)/tao/BoundsC.i \
+ $(TAO_ROOT)/tao/PortableInterceptor.h \
+ $(TAO_ROOT)/tao/PortableInterceptor.i \
+ $(TAO_ROOT)/tao/BiDirPolicyC.h \
+ $(TAO_ROOT)/tao/BiDirPolicyC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingC.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Naming/naming_export.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/IOR_Multicast.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/svc_utils_export.h \
+ $(ACE_ROOT)/ace/INET_Addr.h \
+ $(ACE_ROOT)/ace/Addr.h \
+ $(ACE_ROOT)/ace/Addr.i \
+ $(ACE_ROOT)/ace/INET_Addr.i \
+ $(ACE_ROOT)/ace/SOCK_Dgram_Mcast.h \
+ $(ACE_ROOT)/ace/SOCK_Dgram.h \
+ $(ACE_ROOT)/ace/SOCK.h \
+ $(ACE_ROOT)/ace/IPC_SAP.h \
+ $(ACE_ROOT)/ace/IPC_SAP.i \
+ $(ACE_ROOT)/ace/QoS_Session.h \
+ $(ACE_ROOT)/ace/SOCK.i \
+ $(ACE_ROOT)/ace/SOCK_Dgram.i \
+ $(ACE_ROOT)/ace/SOCK_Dgram_Mcast.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Naming/Naming_Context_Interface.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingS.h \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ $(TAO_ROOT)/tao/PortableServer/Collocated_Object.h \
+ $(TAO_ROOT)/tao/PortableServer/Collocated_Object.i \
+ $(TAO_ROOT)/tao/PortableServer/ThruPOA_Object_Proxy_Impl.h \
+ $(TAO_ROOT)/tao/PortableServer/Direct_Object_Proxy_Impl.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.inl \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingS_T.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingS_T.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingS_T.cpp \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingS.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/AVStreams_i.h \
+ $(ACE_ROOT)/ace/ATM_Addr.h \
+ $(ACE_ROOT)/ace/ATM_Addr.i \
+ $(ACE_ROOT)/ace/Process.h \
+ $(ACE_ROOT)/ace/Process.i \
+ $(ACE_ROOT)/ace/SOCK_CODgram.h \
+ $(ACE_ROOT)/ace/SOCK_IO.h \
+ $(ACE_ROOT)/ace/SOCK_IO.i \
+ $(ACE_ROOT)/ace/SOCK_CODgram.i \
+ $(ACE_ROOT)/ace/Connector.h \
+ $(ACE_ROOT)/ace/Svc_Handler.h \
+ $(ACE_ROOT)/ace/Synch_Options.h \
+ $(ACE_ROOT)/ace/Synch_Options.i \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Strategies.h \
+ $(ACE_ROOT)/ace/Strategies_T.h \
+ $(ACE_ROOT)/ace/Strategies_T.i \
+ $(ACE_ROOT)/ace/Strategies_T.cpp \
+ $(ACE_ROOT)/ace/Service_Repository.h \
+ $(ACE_ROOT)/ace/Service_Types.h \
+ $(ACE_ROOT)/ace/Service_Types.i \
+ $(ACE_ROOT)/ace/Service_Repository.i \
+ $(ACE_ROOT)/ace/WFMO_Reactor.h \
+ $(ACE_ROOT)/ace/Process_Mutex.h \
+ $(ACE_ROOT)/ace/Process_Mutex.inl \
+ $(ACE_ROOT)/ace/WFMO_Reactor.i \
+ $(ACE_ROOT)/ace/Strategies.i \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Svc_Handler.cpp \
+ $(ACE_ROOT)/ace/Dynamic.h \
+ $(ACE_ROOT)/ace/Dynamic.i \
+ $(ACE_ROOT)/ace/Connector.cpp \
+ $(ACE_ROOT)/ace/SOCK_Connector.h \
+ $(ACE_ROOT)/ace/SOCK_Stream.h \
+ $(ACE_ROOT)/ace/SOCK_Stream.i \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/SOCK_Connector.i \
+ $(ACE_ROOT)/ace/Acceptor.h \
+ $(ACE_ROOT)/ace/Acceptor.cpp \
+ $(ACE_ROOT)/ace/SOCK_Acceptor.h \
+ $(ACE_ROOT)/ace/SOCK_Acceptor.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/AV_export.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceC.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Property/property_export.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS_T.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS_T.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS_T.cpp \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsC.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS_T.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS_T.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS_T.cpp \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Property/CosPropertyService_i.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/AV_Core.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Endpoint_Strategy.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.cpp \
+ $(ACE_ROOT)/ace/Process_Semaphore.h \
+ $(ACE_ROOT)/ace/Process_Semaphore.inl \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlC.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS_T.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS_T.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS_T.cpp \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/FlowSpec_Entry.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Transport.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Transport.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/FlowSpec_Entry.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/AVStreams_i.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Flows_T.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Flows_T.cpp \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/sfp.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/sfpC.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/sfpC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Policy.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Policy.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/MCast.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Protocol_Factory.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/MCast.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/UDP.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/UDP.i \
+ $(ACE_ROOT)/ace/High_Res_Timer.h \
+ $(ACE_ROOT)/ace/High_Res_Timer.i \
+ $(ACE_ROOT)/ace/Stats.h \
+ $(ACE_ROOT)/ace/Basic_Stats.h \
+ $(ACE_ROOT)/ace/Basic_Stats.inl \
+ $(ACE_ROOT)/ace/Stats.i
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/TAO/orbsvcs/tests/AVStreams/Multiple_Flows/receiver.cpp b/TAO/orbsvcs/tests/AVStreams/Multiple_Flows/receiver.cpp
new file mode 100644
index 00000000000..4106f1c5e07
--- /dev/null
+++ b/TAO/orbsvcs/tests/AVStreams/Multiple_Flows/receiver.cpp
@@ -0,0 +1,305 @@
+// $Id$
+
+#include "receiver.h"
+#include "ace/Get_Opt.h"
+#include "ace/High_Res_Timer.h"
+
+int endstream = 0;
+
+typedef ACE_Singleton<Receiver,ACE_Null_Mutex> RECEIVER;
+//Create a singleton instance of the receiver.
+
+int
+Receiver_StreamEndPoint::get_callback (const char *flow_name,
+ TAO_AV_Callback *&callback)
+{
+ Receiver_Callback *callback_;
+ ACE_NEW_RETURN (callback_,
+ Receiver_Callback,
+ -1);
+
+ // Return the receiver application callback to the AVStreams for
+ // future upcalls.
+ callback = callback_;
+ callback_->flowname (flow_name);
+ return 0;
+}
+
+
+int
+Receiver_StreamEndPoint::set_protocol_object (const char * flowname,
+ TAO_AV_Protocol_Object *object)
+{
+ // Set the sender protocol object corresponding to the transport
+ // protocol selected.
+ if (ACE_OS::strcmp (flowname, "Data_Receiver1") == 0)
+ RECEIVER::instance ()->protocol_object (object);
+ return 0;
+}
+
+Receiver_Callback::Receiver_Callback (void)
+ : frame_count_ (1),
+ mb_ (BUFSIZ)
+{
+ ACE_DEBUG ((LM_DEBUG,
+ "Receiver_Callback::Receiver_Callback\n"));
+}
+
+void
+Receiver_Callback::flowname (const char* flow_name)
+{
+ this->flowname_ = flow_name;
+
+ // Make sure we have a valid <output_file>
+ this->output_file_ = ACE_OS::fopen (this->flowname_.c_str (),
+ "w");
+ if (this->output_file_ == 0)
+ ACE_ERROR ((LM_DEBUG,
+ "Cannot open output file %s\n",
+ this->flowname_.c_str ()));
+
+ else
+ ACE_DEBUG ((LM_DEBUG,
+ "%s File Opened Successfully\n",
+ this->flowname_.c_str ()));
+
+
+}
+
+int
+Receiver_Callback::receive_frame (ACE_Message_Block *frame,
+ TAO_AV_frame_info *,
+ const ACE_Addr &)
+{
+ //
+ // Upcall from the AVStreams when there is data to be received from
+ // the sender.
+ //
+ ACE_DEBUG ((LM_DEBUG,
+ "Receiver_Callback::receive_frame for frame %d for flow %s\n",
+ this->frame_count_++,
+ this->flowname_.c_str ()));
+
+ while (frame != 0)
+ {
+ // Write the received data to the file.
+ size_t result =
+ ACE_OS::fwrite (frame->rd_ptr (),
+ frame->length (),
+ 1,
+ this->output_file_);
+
+ if (result == frame->length ())
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Receiver_Callback::fwrite failed\n"),
+ -1);
+
+ frame = frame->cont ();
+ }
+
+ return 0;
+}
+
+int
+Receiver_Callback::handle_destroy (void)
+{
+ // Called when the distributer requests the stream to be shutdown.
+ ACE_DEBUG ((LM_DEBUG,
+ "Receiver_Callback::handle_destroy\n"));
+
+ endstream++;
+
+ return 0;
+}
+
+Receiver::Receiver (void)
+ : mmdevice_ (0),
+ frame_rate_ (30),
+ frame_count_ (0),
+ filename_ ("input"),
+ mb_ (BUFSIZ)
+{
+}
+
+Receiver::~Receiver (void)
+{
+}
+
+void
+Receiver::protocol_object (TAO_AV_Protocol_Object *object)
+{
+ // Set the sender protocol object corresponding to the transport
+ // protocol selected.
+ this->protocol_object_ = object;
+}
+
+int
+Receiver::parse_args (int argc,
+ char **argv)
+{
+ // Parse command line arguments
+ ACE_Get_Opt opts (argc, argv, "f:r:d");
+
+ int c;
+ while ((c= opts ()) != -1)
+ {
+ switch (c)
+ {
+ case 'f':
+ this->filename_ = opts.optarg;
+ break;
+ case 'r':
+ this->frame_rate_ = ACE_OS::atoi (opts.optarg);
+ break;
+ case 'd':
+ TAO_debug_level++;
+ break;
+ default:
+ ACE_DEBUG ((LM_DEBUG, "Unknown Option\n"));
+ return -1;
+ }
+ }
+ return 0;
+}
+
+int
+Receiver::init (int argc,
+ char ** argv,
+ CORBA::Environment &ACE_TRY_ENV)
+{
+ // Initialize the endpoint strategy with the orb and poa.
+ int result =
+ this->reactive_strategy_.init (TAO_AV_CORE::instance ()->orb (),
+ TAO_AV_CORE::instance ()->poa ());
+ if (result != 0)
+ return result;
+
+ // Parse the command line arguments
+ result =
+ this->parse_args (argc,
+ argv);
+ if (result != 0)
+ return result;
+
+
+ // Register the receiver mmdevice object with the ORB
+ ACE_NEW_RETURN (this->mmdevice_,
+ TAO_MMDevice (&this->reactive_strategy_),
+ -1);
+
+ // Servant Reference Counting to manage lifetime
+ PortableServer::ServantBase_var safe_mmdevice =
+ this->mmdevice_;
+
+ CORBA::Object_var mmdevice =
+ this->mmdevice_->_this (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+
+ // Register the mmdevice with the naming service.
+ CosNaming::Name name (1);
+ name.length (1);
+ name [0].id =
+ CORBA::string_dup ("Receiver");
+
+ // Initialize the naming services
+ if (this->naming_client_.init (TAO_AV_CORE::instance ()->orb ()) != 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Unable to initialize "
+ "the TAO_Naming_Client\n"),
+ -1);
+
+ // Register the receiver object with the naming server.
+ this->naming_client_->rebind (name,
+ mmdevice.in (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+
+ return 0;
+}
+
+TAO_AV_Protocol_Object*
+Receiver::protocol_object (void)
+{
+ return this->protocol_object_;
+}
+
+int
+main (int argc,
+ char **argv)
+{
+ ACE_DECLARE_NEW_CORBA_ENV;
+ ACE_TRY
+ {
+ // Initialize the ORB first.
+ CORBA::ORB_var orb =
+ CORBA::ORB_init (argc,
+ argv,
+ 0,
+ ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ CORBA::Object_var obj
+ = orb->resolve_initial_references ("RootPOA",
+ ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ // Get the POA_var object from Object_var.
+ PortableServer::POA_var root_poa =
+ PortableServer::POA::_narrow (obj.in (),
+ ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ PortableServer::POAManager_var mgr
+ = root_poa->the_POAManager (ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ mgr->activate (ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ // Initialize the AVStreams components.
+ TAO_AV_CORE::instance ()->init (orb.in (),
+ root_poa.in (),
+ ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ int result =
+ RECEIVER::instance ()->init (argc,
+ argv,
+ ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ if (result != 0)
+ return result;
+
+ while (endstream != 2)
+ {
+ orb->perform_work (ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+ }
+
+ // Hack for now....
+ ACE_OS::sleep (1);
+
+ orb->destroy (ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"receiver::init");
+ return -1;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK_RETURN (-1);
+
+ return 0;
+}
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Singleton <Receiver,ACE_Null_Mutex>;
+template class TAO_AV_Endpoint_Reactive_Strategy_B<Receiver_StreamEndPoint,TAO_VDev,AV_Null_MediaCtrl>;
+template class TAO_AV_Endpoint_Reactive_Strategy<Receiver_StreamEndPoint,TAO_VDev,AV_Null_MediaCtrl>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_Singleton <Receiver,ACE_Null_Mutex>
+#pragma instantiate TAO_AV_Endpoint_Reactive_Strategy_B<Receiver_StreamEndPoint,TAO_VDev,AV_Null_MediaCtrl>
+#pragma instantiate TAO_AV_Endpoint_Reactive_Strategy<Receiver_StreamEndPoint,TAO_VDev,AV_Null_MediaCtrl>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/tests/AVStreams/Multiple_Flows/receiver.h b/TAO/orbsvcs/tests/AVStreams/Multiple_Flows/receiver.h
new file mode 100644
index 00000000000..45d6b6586a4
--- /dev/null
+++ b/TAO/orbsvcs/tests/AVStreams/Multiple_Flows/receiver.h
@@ -0,0 +1,144 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/tests/AVStreams/Simple
+//
+// = FILENAME
+// receiver.h
+//
+// = DESCRIPTION
+// This application receives data from a AV sender and writes it to
+// a file.
+//
+// = AUTHOR
+// Yamuna Krishnamurthy <yamuna@cs.wustl.edu>
+//
+// ============================================================================
+
+#include "orbsvcs/Naming/Naming_Utils.h"
+#include "orbsvcs/AV/AVStreams_i.h"
+#include "orbsvcs/AV/Endpoint_Strategy.h"
+#include "orbsvcs/AV/Policy.h"
+#include "orbsvcs/AV/Protocol_Factory.h"
+
+class Receiver_Callback : public TAO_AV_Callback
+{
+ // = TITLE
+ // Application defined callback object.
+ //
+ // = DESCRIPTION
+ // AVStreams calls this class when data shows up from a sender.
+public:
+
+ Receiver_Callback (void);
+ // Constructor.
+
+ // Method that is called when there is data to be received from a
+ // sender.
+ int receive_frame (ACE_Message_Block *frame,
+ TAO_AV_frame_info *frame_info,
+ const ACE_Addr &peer_address);
+
+ // Called when the sender is done sending data and wants to close
+ // down the connection.
+ int handle_destroy (void);
+
+ void flowname (const char*);
+
+private:
+ int frame_count_;
+ // Keeping a count of the incoming frames.
+
+ ACE_Message_Block mb_;
+ // Message block into which data is read from a file and then sent.
+
+ ACE_CString flowname_;
+
+ FILE *output_file_;
+ // File handle of the file into which received data is written.
+
+};
+
+class Receiver_StreamEndPoint : public TAO_Server_StreamEndPoint
+{
+ // = TITLE
+ // Application defined stream endpoint object.
+ //
+ // = DESCRIPTION
+ // AVStreams calls this class during connection setup.
+public:
+ // Create a receiver application callback.
+ int get_callback (const char *flowname,
+ TAO_AV_Callback *&callback);
+
+ int set_protocol_object (const char *flowname,
+ TAO_AV_Protocol_Object *object);
+ // Set protocol object corresponding to the transport protocol
+ // chosen.
+};
+
+class Receiver
+{
+ // = TITLE
+ // Receiver application class.
+ //
+ // = DESCRIPTION
+ // This class receives data from a AV sender and writes it to
+ // a file.
+public:
+ Receiver (void);
+ // Constructor
+
+ ~Receiver (void);
+ // Destructor.
+
+ int init (int argc,
+ char **argv,
+ CORBA::Environment &);
+ // Initialize data components.
+
+ void protocol_object (TAO_AV_Protocol_Object *protocol_object);
+ // Set the protocol object corresponding to the transport protocol chosen.
+
+ TAO_AV_Protocol_Object * protocol_object (void);
+ // Set the protocol object corresponding to the transport protocol chosen.
+
+protected:
+ TAO_Naming_Client naming_client_;
+ // The Naming Service Client.
+
+ TAO_AV_Endpoint_Reactive_Strategy_B
+ <Receiver_StreamEndPoint,TAO_VDev,AV_Null_MediaCtrl> reactive_strategy_;
+ // The endpoint reactive strategy.
+
+ TAO_MMDevice *mmdevice_;
+ // Receiver MMDevice.
+
+ int frame_rate_;
+ // Rate at which the data will be sent.
+
+ TAO_AV_Protocol_Object *protocol_object_;
+ // Protocol object corresponding to the transport protocol selected.
+
+ int frame_count_;
+ // Number of frames sent.
+
+ ACE_CString filename_;
+ // File from which data is read.
+
+ int parse_args (int argc, char **argv);
+ // Method to parse the command line arguments.
+
+ ACE_Message_Block mb_;
+ // Message block into which data is read from a file and then sent.
+
+};
+
+
+
+
+
+
diff --git a/TAO/orbsvcs/tests/AVStreams/Multiple_Flows/run_test.pl b/TAO/orbsvcs/tests/AVStreams/Multiple_Flows/run_test.pl
new file mode 100755
index 00000000000..3f07d66d5c9
--- /dev/null
+++ b/TAO/orbsvcs/tests/AVStreams/Multiple_Flows/run_test.pl
@@ -0,0 +1,67 @@
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# $Id$
+# -*- perl -*-
+
+use lib $ENV{"ACE_ROOT"}.'/bin';
+use PerlACE::Run_Test;
+
+# amount of delay between running the servers
+
+$sleeptime = 2;
+$status = 0;
+
+$nsior = PerlACE::LocalFile ("ns.ior");
+$outfile = PerlACE::LocalFile ("output");
+
+unlink $nsior;
+
+$NS = new PerlACE::Process ($ENV{"TAO_ROOT"}."/orbsvcs/Naming_Service/Naming_Service", "-o $nsior");
+$SV = new PerlACE::Process ("receiver", "-ORBInitRef NameService=file://$nsior -f output");
+$CL = new PerlACE::Process ("sender", "-ORBDebugLevel 2 -ORBInitRef NameService=file://$nsior -f input -r 2");
+
+print STDERR "Starting Naming Service\n";
+
+$NS->Spawn ();
+
+if (PerlACE::waitforfile_timed ($nsior, 5) == -1) {
+ print STDERR "ERROR: cannot find naming service IOR file\n";
+ $NS->Kill ();
+ exit 1;
+}
+
+print STDERR "Starting Receiver\n";
+
+$SV->Spawn ();
+
+sleep $sleeptime;
+
+print STDERR "Starting Sender\n";
+
+$sender = $CL->SpawnWaitKill (200);
+
+if ($sender != 0) {
+ print STDERR "ERROR: sender returned $sender\n";
+ $status = 1;
+}
+
+$receiver = $SV->TerminateWaitKill (5);
+
+if ($receiver != 0) {
+ print STDERR "ERROR: receiver returned $receiver\n";
+ $status = 1;
+}
+
+$nserver = $NS->TerminateWaitKill (5);
+
+if ($nserver != 0) {
+ print STDERR "ERROR: Naming Service returned $nserver\n";
+ $status = 1;
+}
+
+unlink $nsior;
+unlink $output;
+
+exit $status;
diff --git a/TAO/orbsvcs/tests/AVStreams/Multiple_Flows/sender.cpp b/TAO/orbsvcs/tests/AVStreams/Multiple_Flows/sender.cpp
new file mode 100644
index 00000000000..fbdb0919dbb
--- /dev/null
+++ b/TAO/orbsvcs/tests/AVStreams/Multiple_Flows/sender.cpp
@@ -0,0 +1,443 @@
+// $Id$
+
+#include "sender.h"
+#include "tao/debug.h"
+#include "ace/Get_Opt.h"
+#include "ace/High_Res_Timer.h"
+
+typedef ACE_Singleton<Sender, ACE_Null_Mutex> SENDER;
+// Create a singleton instance of the Sender.
+
+
+int
+Sender_StreamEndPoint::get_callback (const char *,
+ TAO_AV_Callback *&callback)
+{
+ // Create and return the sender application callback to AVStreams
+ // for further upcalls.
+ callback = &this->callback_;
+ return 0;
+}
+
+int
+Sender_StreamEndPoint::set_protocol_object (const char *,
+ TAO_AV_Protocol_Object *object)
+{
+ // Set the sender protocol object corresponding to the transport
+ // protocol selected.
+ SENDER::instance ()->protocol_object (object);
+ return 0;
+}
+
+Sender::Sender (void)
+ : sender_mmdevice_ (0),
+ streamctrl_ (0),
+ frame_count_ (0),
+ filename_ ("input"),
+ input_file_ (0),
+ protocol_ ("UDP"),
+ frame_rate_ (30),
+ mb_ (BUFSIZ)
+{
+}
+
+void
+Sender::protocol_object (TAO_AV_Protocol_Object *object)
+{
+ // Set the sender protocol object corresponding to the transport
+ // protocol selected.
+ this->protocol_object_.insert (object);
+}
+
+void
+Sender::shutdown (void)
+{
+ ACE_DECLARE_NEW_CORBA_ENV;
+ // File reading is complete, destroy the stream.
+ AVStreams::flowSpec stop_spec;
+ this->streamctrl_->destroy (stop_spec,
+ ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ // Shut the orb down.
+ TAO_AV_CORE::instance ()->orb ()->shutdown (0,
+ ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+}
+
+int
+Sender::parse_args (int argc,
+ char **argv)
+{
+ // Parse command line arguments
+ ACE_Get_Opt opts (argc, argv, "f:p:r:d");
+
+ int c;
+ while ((c= opts ()) != -1)
+ {
+ switch (c)
+ {
+ case 'f':
+ this->filename_ = opts.optarg;
+ break;
+ case 'p':
+ this->protocol_ = opts.optarg;
+ break;
+ case 'r':
+ this->frame_rate_ = ACE_OS::atoi (opts.optarg);
+ break;
+ case 'd':
+ TAO_debug_level++;
+ break;
+ default:
+ ACE_DEBUG ((LM_DEBUG, "Unknown Option\n"));
+ return -1;
+ }
+ }
+ return 0;
+}
+
+// Method to get the object reference of the receiver
+int
+Sender::bind_to_receiver (CORBA::Environment &ACE_TRY_ENV)
+{
+ CosNaming::Name name (1);
+ name.length (1);
+ name [0].id =
+ CORBA::string_dup ("Receiver");
+
+ // Resolve the receiver object reference from the Naming Service
+ CORBA::Object_var receiver_mmdevice_obj =
+ this->naming_client_->resolve (name,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+
+ this->receiver_mmdevice_ =
+ AVStreams::MMDevice::_narrow (receiver_mmdevice_obj.in (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+
+ if (CORBA::is_nil (this->receiver_mmdevice_.in ()))
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Could not resolve Receiver_MMdevice in Naming service <%s>\n"),
+ -1);
+
+ return 0;
+}
+
+int
+Sender::init (int argc,
+ char **argv,
+ CORBA::Environment &ACE_TRY_ENV)
+{
+ // Initialize the endpoint strategy with the orb and poa.
+ int result =
+ this->endpoint_strategy_.init (TAO_AV_CORE::instance ()->orb (),
+ TAO_AV_CORE::instance ()->poa ());
+ if (result != 0)
+ return result;
+
+ // Initialize the naming services
+ result =
+ this->naming_client_.init (TAO_AV_CORE::instance ()->orb ());
+ if (result != 0)
+ return result;
+
+ // Parse the command line arguments
+ result =
+ this->parse_args (argc,
+ argv);
+ if (result != 0)
+ return result;
+
+ // Open file to read.
+ this->input_file_ =
+ ACE_OS::fopen (this->filename_.c_str (),
+ "r");
+
+ if (this->input_file_ == 0)
+ ACE_ERROR_RETURN ((LM_DEBUG,
+ "Cannot open input file %s\n",
+ this->filename_.c_str ()),
+ -1);
+ else
+ ACE_DEBUG ((LM_DEBUG,
+ "File opened successfully\n"));
+
+ // Resolve the object reference of the receiver from the Naming Service.
+ result = this->bind_to_receiver (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+
+ if (result != 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%P|%t) Error binding to the naming service\n"),
+ -1);
+
+
+ // Initialize the QoS
+ AVStreams::streamQoS_var the_qos (new AVStreams::streamQoS);
+
+ // Create the forward flow specification to describe the flow.
+ TAO_Forward_FlowSpec_Entry entry ("Data_Receiver_One",
+ "IN",
+ "USER_DEFINED",
+ "",
+ this->protocol_.c_str (),
+ 0);
+
+ AVStreams::flowSpec flow_spec (1);
+ flow_spec.length (2);
+ flow_spec [0] = CORBA::string_dup (entry.entry_to_string ());
+
+ // Create the forward flow specification to describe the flow.
+ TAO_Forward_FlowSpec_Entry entry1 ("Data_Receiver_Two",
+ "IN",
+ "USER_DEFINED",
+ "",
+ this->protocol_.c_str (),
+ 0);
+
+ flow_spec [1] = CORBA::string_dup (entry1.entry_to_string ());
+
+ // Register the sender mmdevice object with the ORB
+ ACE_NEW_RETURN (this->sender_mmdevice_,
+ TAO_MMDevice (&this->endpoint_strategy_),
+ -1);
+
+ // Servant Reference Counting to manage lifetime
+ PortableServer::ServantBase_var safe_mmdevice =
+ this->sender_mmdevice_;
+
+ AVStreams::MMDevice_var mmdevice =
+ this->sender_mmdevice_->_this (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+
+ ACE_NEW_RETURN (this->streamctrl_,
+ TAO_StreamCtrl,
+ -1);
+
+ PortableServer::ServantBase_var safe_streamctrl =
+ this->streamctrl_;
+
+ // Bind/Connect the sender and receiver MMDevices.
+ CORBA::Boolean bind_result =
+ this->streamctrl_->bind_devs (mmdevice.in (),
+ this->receiver_mmdevice_.in (),
+ the_qos.inout (),
+ flow_spec,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+
+ if (bind_result == 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "streamctrl::bind_devs failed\n"),
+ -1);
+
+ return 0;
+}
+
+// Method to send data at the specified rate
+int
+Sender::pace_data (CORBA::Environment &ACE_TRY_ENV)
+{
+ // The time that should lapse between two consecutive frames sent.
+ ACE_Time_Value inter_frame_time;
+
+ // The time between two consecutive frames.
+ inter_frame_time.set (1 / (double) this->frame_rate_);
+
+ if (TAO_debug_level > 0)
+ ACE_DEBUG ((LM_DEBUG,
+ "Frame Rate = %d / second\n"
+ "Inter Frame Time = %d (msec)\n",
+ this->frame_rate_,
+ inter_frame_time.msec ()));
+
+ ACE_TRY
+ {
+ // The time taken for sending a frame and preparing for the next frame
+ ACE_High_Res_Timer elapsed_timer;
+
+ // Continue to send data till the file is read to the end.
+ while (1)
+ {
+ // Read from the file into a message block.
+ int n = ACE_OS::fread (this->mb_.wr_ptr (),
+ 1,
+ this->mb_.size (),
+ this->input_file_);
+
+ if (n < 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Sender::pace_data fread failed\n"),
+ -1);
+
+ if (n == 0)
+ {
+ // At end of file break the loop and end the sender.
+ if (TAO_debug_level > 0)
+ ACE_DEBUG ((LM_DEBUG,"Handle_Start:End of file\n"));
+ break;
+ }
+
+ this->mb_.wr_ptr (n);
+
+ if (this->frame_count_ > 1)
+ {
+ //
+ // Second frame and beyond
+ //
+
+ // Stop the timer that was started just before the previous frame was sent.
+ elapsed_timer.stop ();
+
+ // Get the time elapsed after sending the previous frame.
+ ACE_Time_Value elapsed_time;
+ elapsed_timer.elapsed_time (elapsed_time);
+
+ if (TAO_debug_level > 0)
+ ACE_DEBUG ((LM_DEBUG,
+ "Elapsed Time = %d\n",
+ elapsed_time.msec ()));
+
+ // Check to see if the inter frame time has elapsed.
+ if (elapsed_time < inter_frame_time)
+ {
+ // Inter frame time has not elapsed.
+
+ // Calculate the time to wait before the next frame needs to be sent.
+ ACE_Time_Value wait_time (inter_frame_time - elapsed_time);
+
+ if (TAO_debug_level > 0)
+ ACE_DEBUG ((LM_DEBUG,
+ "Wait Time = %d\n",
+ wait_time.msec ()));
+
+ // Run the orb for the wait time so the sender can
+ // continue other orb requests.
+ TAO_AV_CORE::instance ()->orb ()->run (wait_time,
+ ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+ }
+ }
+
+ // Start timer before sending the frame.
+ elapsed_timer.start ();
+
+ ProtocolObject_SetItor end = this->protocol_object_.end ();
+ for (ProtocolObject_SetItor begin = this->protocol_object_.begin ();
+ begin != end; ++begin)
+ {
+ // Send frame.
+ int result =
+ (*begin)->send_frame (&this->mb_);
+
+ if (result < 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "send failed:%p",
+ "Sender::pace_data send\n"),
+ -1);
+ }
+
+
+ ACE_DEBUG ((LM_DEBUG,
+ "Sender::pace_data frame %d was sent succesfully\n",
+ ++this->frame_count_));
+
+ // Reset the message block.
+ this->mb_.reset ();
+
+ } // end while
+
+ this->shutdown ();
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "Sender::pace_data Failed\n");
+ return -1;
+ }
+ ACE_ENDTRY;
+ return 0;
+}
+
+int
+main (int argc,
+ char **argv)
+{
+ ACE_DECLARE_NEW_CORBA_ENV;
+ ACE_TRY
+ {
+ CORBA::ORB_var orb =
+ CORBA::ORB_init (argc,
+ argv,
+ 0,
+ ACE_TRY_ENV);
+
+ CORBA::Object_var obj
+ = orb->resolve_initial_references ("RootPOA",
+ ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ // Get the POA_var object from Object_var
+ PortableServer::POA_var root_poa
+ = PortableServer::POA::_narrow (obj.in (),
+ ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ PortableServer::POAManager_var mgr
+ = root_poa->the_POAManager (ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ mgr->activate (ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ // Initialize the AV Stream components.
+ TAO_AV_CORE::instance ()->init (orb.in (),
+ root_poa.in (),
+ ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ // Initialize the Sender.
+ int result = 0;
+ result = SENDER::instance ()->init (argc,
+ argv,
+ ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ if (result < 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Sender::init failed\n"),
+ -1);
+
+ // Start sending data.
+ result = SENDER::instance ()->pace_data (ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "Sender Failed\n");
+ return -1;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK_RETURN (-1);
+ return 0;
+}
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Singleton <Sender,ACE_Null_Mutex>;
+template class TAO_AV_Endpoint_Reactive_Strategy_A<Sender_StreamEndPoint,TAO_VDev,AV_Null_MediaCtrl>;
+template class TAO_AV_Endpoint_Reactive_Strategy<Sender_StreamEndPoint,TAO_VDev,AV_Null_MediaCtrl>;
+template class ACE_Node <TAO_AV_Protocol_Object*>;
+template class ACE_Unbounded_Set <TAO_AV_Protocol_Object*>;
+template class ACE_Unbounded_Set_Iterator <TAO_AV_Protocol_Object*>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_Singleton <Sender,ACE_Null_Mutex>
+#pragma instantiate TAO_AV_Endpoint_Reactive_Strategy_A<Sender_StreamEndPoint,TAO_VDev,AV_Null_MediaCtrl>
+#pragma instantiate TAO_AV_Endpoint_Reactive_Strategy<Sender_StreamEndPoint,TAO_VDev,AV_Null_MediaCtrl>
+#pragma instantiate ACE_Node <TAO_AV_Protocol_Object*>;
+#pragma instantiate ACE_Unbounded_Set <TAO_AV_Protocol_Object*>;
+#pragma instantiate ACE_Unbounded_Set_Iterator <TAO_AV_Protocol_Object*>;
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/tests/AVStreams/Multiple_Flows/sender.h b/TAO/orbsvcs/tests/AVStreams/Multiple_Flows/sender.h
new file mode 100644
index 00000000000..a95d6827065
--- /dev/null
+++ b/TAO/orbsvcs/tests/AVStreams/Multiple_Flows/sender.h
@@ -0,0 +1,123 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/tests/AVStreams/Simple
+//
+// = FILENAME
+// sender.h
+//
+// = DESCRIPTION
+// This application reads data from a file and sends it to s
+// receiver.
+//
+// = AUTHOR
+// Yamuna Krishnamurthy <yamuna@cs.wustl.edu>
+//
+// ============================================================================
+
+#include "orbsvcs/Naming/Naming_Utils.h"
+#include "orbsvcs/AV/AVStreams_i.h"
+#include "orbsvcs/AV/Endpoint_Strategy.h"
+#include "orbsvcs/AV/Protocol_Factory.h"
+
+typedef ACE_Unbounded_Set<TAO_AV_Protocol_Object*> ProtocolObject_Set;
+typedef ACE_Unbounded_Set_Iterator<TAO_AV_Protocol_Object*> ProtocolObject_SetItor;
+
+class Sender_StreamEndPoint : public TAO_Client_StreamEndPoint
+{
+ // = TITLE
+ // Defines a sender stream endpoint.
+public:
+ int get_callback (const char *flowname,
+ TAO_AV_Callback *&callback);
+ // Create the application callback and return its handle to
+ // AVStreams for further application callbacks.
+
+ int set_protocol_object (const char *flowname,
+ TAO_AV_Protocol_Object *object);
+ // Set protocol object corresponding to the transport protocol
+ // chosen.
+
+protected:
+ TAO_AV_Callback callback_;
+ // Application callback.
+};
+
+typedef TAO_AV_Endpoint_Reactive_Strategy_A
+ <Sender_StreamEndPoint,
+ TAO_VDev,
+ AV_Null_MediaCtrl>
+ SENDER_ENDPOINT_STRATEGY;
+
+class Sender
+{
+ // = TITLE
+ // Sender Application.
+ //
+ // = DESCRIPTION
+ // Class is responsible for streaming (and pacing) data to a
+ // receiver.
+public:
+ Sender (void);
+ // Constructor
+
+ int init (int argc,
+ char **argv,
+ CORBA::Environment&);
+ // Method to initialize the various data components.
+
+ int pace_data (CORBA::Environment &);
+ // Method to pace and send data from a file.
+
+ void protocol_object (TAO_AV_Protocol_Object *protocol_object);
+ // Set the protocol object corresponding to the transport protocol chosen.
+
+ void shutdown (void);
+
+private:
+ int parse_args (int argc, char **argv);
+ // Method to parse the command line arguments.
+
+ int bind_to_receiver (CORBA::Environment& ACE_TRY_ENV);
+ // Method that binds the sender to the receiver.
+
+ SENDER_ENDPOINT_STRATEGY endpoint_strategy_;
+ // The endpoint strategy used by the sender.
+
+ AVStreams::MMDevice_var receiver_mmdevice_;
+ // The receiver MMDevice that the sender connects to.
+
+ TAO_MMDevice *sender_mmdevice_;
+ // The sender MMDevice.
+
+ TAO_StreamCtrl *streamctrl_;
+ // Stream controller
+
+ int frame_count_;
+ // Number of frames sent.
+
+ ACE_CString filename_;
+ // File from which data is read.
+
+ TAO_Naming_Client naming_client_;
+ // The Naming Service client.
+
+ FILE *input_file_;
+ // File handle of the file read from.
+
+ ACE_CString protocol_;
+ // Selected protocol - default is UDP
+
+ int frame_rate_;
+ // Rate at which the data will be sent.
+
+ ACE_Message_Block mb_;
+ // Message block into which data is read from a file and then sent.
+
+ ProtocolObject_Set protocol_object_;
+ // Protocol object corresponding to the transport protocol selected.
+
+};
diff --git a/TAO/orbsvcs/tests/AVStreams/Pluggable_Flow_Protocol/Makefile b/TAO/orbsvcs/tests/AVStreams/Pluggable_Flow_Protocol/Makefile
new file mode 100644
index 00000000000..b6f1eaa3591
--- /dev/null
+++ b/TAO/orbsvcs/tests/AVStreams/Pluggable_Flow_Protocol/Makefile
@@ -0,0 +1,69 @@
+#----------------------------------------------------------------------------
+#
+# $Id$
+#
+#----------------------------------------------------------------------------
+ifndef TAO_ROOT
+ TAO_ROOT = $(ACE_ROOT)/TAO
+endif # ! TAO_ROOT
+
+MAKEFILE = Makefile
+LIBNAME = libTAO_TS
+LIB = $(LIBNAME).a
+SHLIB = $(LIBNAME).$(SOEXT)
+
+VPATH=.
+
+LDLIBS += -lTAO_AV -lTAO_CosProperty -lTAO_CosNaming -lTAO_Svc_Utils -lTAO_PortableServer -lTAO -lACE
+ACE_SHLIBS += -lTAO_AV -lTAO_CosProperty -lTAO_CosNaming -lTAO_Svc_Utils -lTAO_PortableServer -lTAO -lACE
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(TAO_ROOT)/rules.tao.GNU
+
+CPP_SRCS = TimeStamp
+
+FILES = $(CPP_SRCS)
+DEFS = $(addsuffix .h,$(FILES))
+LSRC = $(addsuffix .cpp,$(FILES))
+
+BIN = sender receiver
+
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+## Do not install a symbolic link for libTAO_TS in $ACE_ROOT/ace
+INSTALL=
+include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+
+ifeq ($(rapi),1)
+ LDLIBS += -lACE_QoS
+ ACE_SHLIBS += -lACE_QoS
+endif # rapi
+
+#----------------------------------------------------------------------------
+# Local targets (and local hacks)
+#----------------------------------------------------------------------------
+
+LDFLAGS += -L$(TAO_ROOT)/tao -L$(TAO_ROOT)/orbsvcs/orbsvcs
+CPPFLAGS += -I$(TAO_ROOT) -I$(TAO_ROOT)/orbsvcs
+
+sender: $(addprefix $(VDIR),sender.o) $(SHLIB)
+ $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK)
+
+receiver: $(addprefix $(VDIR),receiver.o) $(SHLIB)
+ $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK)
+
+
+realclean: clean
+
+#----------------------------------------------------------------------------
+# Dependencies
+#----------------------------------------------------------------------------
+
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
diff --git a/TAO/orbsvcs/tests/AVStreams/Pluggable_Flow_Protocol/README b/TAO/orbsvcs/tests/AVStreams/Pluggable_Flow_Protocol/README
new file mode 100644
index 00000000000..20365125206
--- /dev/null
+++ b/TAO/orbsvcs/tests/AVStreams/Pluggable_Flow_Protocol/README
@@ -0,0 +1,47 @@
+// $Id$
+
+Description
+-----------
+
+This directory contains a simple test in the form of a sender and a
+receiver. The test has the following features:
+
+1. It tests the AVStreams Pluggable Protocol Framework
+2. Shows a mechanism to pace data.
+
+A new flow protocol called Time Stamp Flow Protocol is plugged into the AV Streams Framework
+using the Pluggable Protocol Framework and the ACE Service Configurator. This new protocol
+is compiled into a library and loaded when the AVStreams framework is initialized. When a
+frame is sent this protocol appends a timestamp to the data being sent.
+
+Running the test
+----------------
+
+receiver
+--------
+
+receiver -f <output_filename>
+
+-f <output_filename> -> The name of the file under which the received stream
+ data has to be stored (defaults to "output")
+
+sender
+------
+
+sender [-f <filename>] [-p <protocol>] [-r <frame rate>] [-d]
+
+
+-f filename --> The file to be streamed to the receiver (defaults to
+ "input").
+
+-p protocol --> The protocol string could be UDP or TCP (defaults to
+ UDP). But with the multicast address it should be UDP.
+
+-r framerate--> The rate at which tha data frames need to be sent
+ (defaults to 30 frames per second).
+
+-d --> Increament the TAO_debug_level for debug messages.
+
+
+The test must be run with the naming service. Check the run_test.pl
+to see how to configure the test case.
diff --git a/TAO/orbsvcs/tests/AVStreams/Pluggable_Flow_Protocol/TimeStamp.cpp b/TAO/orbsvcs/tests/AVStreams/Pluggable_Flow_Protocol/TimeStamp.cpp
new file mode 100644
index 00000000000..1004ea6ffa3
--- /dev/null
+++ b/TAO/orbsvcs/tests/AVStreams/Pluggable_Flow_Protocol/TimeStamp.cpp
@@ -0,0 +1,241 @@
+#include "TimeStamp.h"
+#include "orbsvcs/AV/AVStreams_i.h"
+#include "ace/High_Res_Timer.h"
+
+// $Id$
+//TimeStamp Protocol Object
+
+TimeStamp_Protocol_Object::TimeStamp_Protocol_Object (TAO_AV_Callback *callback,
+ TAO_AV_Transport *transport)
+ :TAO_AV_Protocol_Object (callback,transport)
+{
+ ACE_DEBUG ((LM_DEBUG,
+ "TimeStamp_Protocol_Object::TimeStamp_Protocol_Object\n"));
+ ACE_NEW (this->frame_,
+ ACE_Message_Block);
+
+ this->frame_->size (4 * this->transport_->mtu ());
+}
+
+
+int
+TimeStamp_Protocol_Object::handle_input (void)
+{
+ int n = this->transport_->recv (this->frame_->rd_ptr (),
+ this->frame_->size ());
+ if (n == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,"TAO_AV_UDP_Flow_Handler::handle_input recv failed\n"),-1);
+ if (n == -1)
+ ACE_ERROR_RETURN ((LM_ERROR,"TAO_AV_UDP_Flow_Handler::handle_input connection closed\n"),-1);
+ this->frame_->wr_ptr (this->frame_->rd_ptr () + n);
+
+ return this->callback_->receive_frame (this->frame_);
+}
+
+// int
+// TimeStamp_Protocol_Object::handle_input (void)
+// {
+// iovec iov;
+// int iovcnt;
+// int n = this->transport_->recv (&iov, iovcnt);
+
+// int frame_size = BUFSIZ;
+
+// int begin = 1;
+// ACE_Message_Block* prev;
+// int iov_base = 0;
+// while (n >= frame_size)
+// {
+// ACE_DEBUG ((LM_DEBUG,
+// "(%N|%l) Frame Size %d %d\n",
+// n,
+// frame_size));
+
+// ACE_Message_Block* mb;
+// ACE_NEW_RETURN (mb,
+// ACE_Message_Block(frame_size),
+// -1);
+
+// ACE_OS_String::memmove (mb->rd_ptr (), iov.iov_base, frame_size);
+// mb->wr_ptr (mb->rd_ptr () + frame_size);
+
+// // iov_base += frame_size;
+
+// n -= frame_size;
+
+// if (begin)
+// {
+// prev = mb;
+// this->frame_ = mb;
+// begin = 0;
+// }
+// else
+// {
+// prev->cont (mb);
+// prev = mb;
+
+// }
+// }
+
+// if (n > 0)
+// if (begin)
+// {
+// ACE_DEBUG ((LM_DEBUG,
+// "(%N|%l) Frame Size %d\n",
+// n));
+// ACE_OS_String::memmove (this->frame_->rd_ptr (), iov.iov_base, n);
+// this->frame_->wr_ptr (this->frame_->rd_ptr () + n);
+// }
+// else
+// {
+
+// ACE_DEBUG ((LM_DEBUG,
+// "(%N|%l) Frame Size %d\n",
+// n));
+
+// ACE_Message_Block* mb;
+// ACE_NEW_RETURN (mb,
+// ACE_Message_Block (frame_size),
+// -1);
+
+// ACE_OS_String::memmove (mb->rd_ptr (), iov.iov_base, n);
+// mb->wr_ptr (mb->rd_ptr () + n);
+// prev->cont (mb);
+// }
+
+// ACE_DEBUG ((LM_DEBUG,
+// "IOVEC SIZE %d %d\n",
+// n,
+// iov.iov_len));
+
+// if (n == -1)
+// ACE_ERROR_RETURN ((LM_ERROR,"TAO_AV_TCP_Flow_Handler::handle_input recv failed\n"),-1);
+// if (n == 0)
+// ACE_ERROR_RETURN ((LM_ERROR,"TAO_AV_TCP_Flow_Handler::handle_input connection closed\n"),-1);
+
+// return this->callback_->receive_frame (this->frame_);
+// }
+
+/// send a data frame.
+int
+TimeStamp_Protocol_Object::send_frame (ACE_Message_Block *frame,
+ TAO_AV_frame_info *)
+{
+ ACE_DEBUG ((LM_DEBUG,
+ "TimeStamp_Protocol_Object::send_frame\n"));
+
+ ACE_Message_Block* timestamp;
+ ACE_NEW_RETURN (timestamp,
+ ACE_Message_Block (BUFSIZ),
+ -1);
+
+ ACE_hrtime_t now = ACE_OS::gethrtime ();
+
+ ACE_UINT64 usec = now;
+ ACE_UINT32 val_1 = ACE_CU64_TO_CU32 (usec);
+ ACE_DEBUG ((LM_DEBUG,
+ "Time Stamp %u usecs\n",
+ val_1));
+
+ ACE_OS_String::memcpy (timestamp->wr_ptr (), &now, sizeof (now));
+ timestamp->wr_ptr (sizeof (now));
+
+ frame->cont (timestamp);
+
+ int result = this->transport_->send (frame);
+ if (result < 0)
+ return result;
+ return 0;
+}
+
+int
+TimeStamp_Protocol_Object::send_frame (iovec const* iov,
+ int iovcnt,
+ TAO_AV_frame_info *)
+{
+ return this->transport_->send (iov,iovcnt);
+}
+
+int
+TimeStamp_Protocol_Object::send_frame (const char* buf,
+ size_t len)
+{
+ int result = this->transport_->send (buf, len, 0);
+ if (result < 0)
+ return result;
+ return 0;
+}
+
+/// end the stream.
+int
+TimeStamp_Protocol_Object::destroy (void)
+{
+ this->callback_->handle_destroy ();
+ return 0;
+}
+
+
+TimeStamp_Protocol_Factory::TimeStamp_Protocol_Factory (void)
+{
+}
+
+TimeStamp_Protocol_Factory::~TimeStamp_Protocol_Factory (void)
+{
+}
+
+int
+TimeStamp_Protocol_Factory::init (int, char **)
+{
+ ACE_DEBUG ((LM_DEBUG,
+ "TimeStamp_Protocol_Factory::init\n"));
+ return 0;
+}
+
+int
+TimeStamp_Protocol_Factory::match_protocol (const char *flow_string)
+{
+ ACE_DEBUG ((LM_DEBUG,
+ "TimeStamp_Protocol_Factory::match_protocol\n"));
+ if (ACE_OS::strcasecmp (flow_string,"TS") == 0)
+ return 1;
+ return 0;
+}
+
+TimeStamp_Protocol_Object*
+TimeStamp_Protocol_Factory::make_protocol_object (TAO_FlowSpec_Entry *entry,
+ TAO_Base_StreamEndPoint *endpoint,
+ TAO_AV_Flow_Handler *handler,
+ TAO_AV_Transport *transport)
+{
+ TAO_AV_Callback *callback = 0;
+ endpoint->get_callback (entry->flowname (),
+ callback);
+
+
+ TimeStamp_Protocol_Object *object = 0;
+ ACE_NEW_RETURN (object,
+ TimeStamp_Protocol_Object (callback,
+ transport),
+ 0);
+ callback->open (object,
+ handler);
+ endpoint->set_protocol_object (entry->flowname (),
+ object);
+ return object;
+}
+
+ACE_FACTORY_DEFINE (TAO_AV, TimeStamp_Protocol_Factory)
+ACE_STATIC_SVC_DEFINE (TimeStamp_Protocol_Factory,
+ ACE_TEXT ("TimeStamp_Protocol_Factory"),
+ ACE_SVC_OBJ_T,
+ &ACE_SVC_NAME (TimeStamp_Protocol_Factory),
+ ACE_Service_Type::DELETE_THIS |
+ ACE_Service_Type::DELETE_OBJ,
+ 0)
+
+
+
+
+
+
+
diff --git a/TAO/orbsvcs/tests/AVStreams/Pluggable_Flow_Protocol/TimeStamp.h b/TAO/orbsvcs/tests/AVStreams/Pluggable_Flow_Protocol/TimeStamp.h
new file mode 100644
index 00000000000..2f7b2fc46be
--- /dev/null
+++ b/TAO/orbsvcs/tests/AVStreams/Pluggable_Flow_Protocol/TimeStamp.h
@@ -0,0 +1,63 @@
+#ifndef TIMESTAMP_H
+#define TIMESTAMP_H
+#include "ace/pre.h"
+
+#include "orbsvcs/AV/Protocol_Factory.h"
+#include "ace/Dynamic_Service.h"
+
+// $Id$
+
+class TAO_AV_Export TimeStamp_Protocol_Object : public TAO_AV_Protocol_Object
+{
+ public:
+ TimeStamp_Protocol_Object (TAO_AV_Callback *callback,
+ TAO_AV_Transport *transport);
+
+ virtual int handle_input (void);
+
+ /// send a data frame.
+ virtual int send_frame (ACE_Message_Block *frame,
+ TAO_AV_frame_info *frame_info = 0);
+
+ virtual int send_frame (iovec const* iov,
+ int iovcnt,
+ TAO_AV_frame_info *frame_info = 0);
+
+ virtual int send_frame (const char*buf,
+ size_t len);
+
+ /// end the stream.
+ virtual int destroy (void);
+
+ private:
+ /// Pre-allocated memory to receive the data...
+ ACE_Message_Block* frame_;
+
+};
+
+class TAO_AV_Export TimeStamp_Protocol_Factory : public TAO_AV_Flow_Protocol_Factory
+{
+ public:
+ /// Initialization hook.
+ TimeStamp_Protocol_Factory (void);
+ virtual ~TimeStamp_Protocol_Factory (void);
+ virtual int init (int argc, char *argv[]);
+ virtual int match_protocol (const char *flow_string);
+ virtual TimeStamp_Protocol_Object* make_protocol_object (TAO_FlowSpec_Entry *entry,
+ TAO_Base_StreamEndPoint *endpoint,
+ TAO_AV_Flow_Handler *handler,
+ TAO_AV_Transport *transport);
+};
+
+ACE_STATIC_SVC_DECLARE (TimeStamp_Protocol_Factory)
+ACE_FACTORY_DECLARE (TAO_AV, TimeStamp_Protocol_Factory)
+
+#include "ace/post.h"
+#endif /*TIMESTAMP_H*/
+
+
+
+
+
+
+
diff --git a/TAO/orbsvcs/tests/AVStreams/Pluggable_Flow_Protocol/input b/TAO/orbsvcs/tests/AVStreams/Pluggable_Flow_Protocol/input
new file mode 100644
index 00000000000..b6579cec283
--- /dev/null
+++ b/TAO/orbsvcs/tests/AVStreams/Pluggable_Flow_Protocol/input
@@ -0,0 +1,995 @@
+#----------------------------------------------------------------------------
+# input,v 1.1 2001/03/27 11:41:00 irfan Exp
+#
+# Top-level Makefile for Pluggable testing of AVStreams of TAO.
+#
+#----------------------------------------------------------------------------
+
+#----------------------------------------------------------------------------
+# Local macros
+#----------------------------------------------------------------------------
+
+LDLIBS = -lTAO_AV -lTAO_CosProperty -lTAO_CosNaming -lTAO_Svc_Utils -lTAO_IORTable -lTAO_PortableServer -lTAO
+
+SERVER_OBJS = server.o
+CLIENT_OBJS = ftp.o
+
+VLDLIBS = $(LDLIBS:%=%$(VAR))
+
+ifndef TAO_ROOT
+TAO_ROOT = $(ACE_ROOT)/TAO
+endif
+
+FILES = ftp server
+DEFS = $(addsuffix .h,$(FILES))
+LSRC = $(addsuffix .cpp,$(FILES))
+
+BIN2 = server ftp
+
+#### If the TAO orbsvcs library wasn't built with sufficient components,
+#### don't try to build here.
+TAO_ORBSVCS := $(shell $(ACE_ROOT)/bin/ace_components --orbsvcs)
+ifeq (AV,$(findstring AV,$(TAO_ORBSVCS)))
+ BIN = $(BIN2)
+endif # AV
+
+#----------------------------------------------------------------------------
+# Include macros and targets
+#----------------------------------------------------------------------------
+
+include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
+include $(ACE_ROOT)/include/makeinclude/macros.GNU
+include $(TAO_ROOT)/rules.tao.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
+include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
+
+#DCFLAGS = -g
+LDFLAGS += -L$(TAO_ROOT)/orbsvcs/orbsvcs -L$(TAO_ROOT)/tao
+CPPFLAGS += -I$(TAO_ROOT)/orbsvcs -I$(TAO_ROOT)/orbsvcs/orbsvcs/AV \
+ -I$(TAO_ROOT)
+
+#server:$(addprefix $(VDIR),$(SERVER_OBJS))
+# $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK)
+
+#ftp:$(addprefix $(VDIR),$(CLIENT_OBJS))
+# $(LINK.cc) $(LDFLAGS) -o $@ $^ $(VLDLIBS) $(POSTLINK)
+
+# DO NOT DELETE THIS LINE -- g++dep uses it.
+# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
+
+
+.obj/ftp.o .obj/ftp.so .shobj/ftp.o .shobj/ftp.so: ftp.cpp ftp.h \
+ $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Get_Opt.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Naming/Naming_Utils.h \
+ $(TAO_ROOT)/tao/corba.h \
+ $(TAO_ROOT)/tao/corbafwd.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/try_macros.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/corbafwd.i \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/SString.i \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/Services.h \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Services.i \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(TAO_ROOT)/tao/Object_Proxy_Broker.h \
+ $(TAO_ROOT)/tao/Object_Proxy_Impl.h \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/Encodable.h \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/NVList.h \
+ $(TAO_ROOT)/tao/NVList.i \
+ $(TAO_ROOT)/tao/Principal.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/Principal.i \
+ $(TAO_ROOT)/tao/TAO_Server_Request.h \
+ $(TAO_ROOT)/tao/Tagged_Profile.h \
+ $(TAO_ROOT)/tao/IOPC.h \
+ $(TAO_ROOT)/tao/IOPC.i \
+ $(TAO_ROOT)/tao/GIOPC.h \
+ $(TAO_ROOT)/tao/Object_KeyC.h \
+ $(TAO_ROOT)/tao/Object_KeyC.i \
+ $(TAO_ROOT)/tao/GIOPC.i \
+ $(TAO_ROOT)/tao/Tagged_Profile.i \
+ $(TAO_ROOT)/tao/Service_Context.h \
+ $(TAO_ROOT)/tao/Service_Context.inl \
+ $(TAO_ROOT)/tao/TAO_Server_Request.i \
+ $(TAO_ROOT)/tao/Remote_Object_Proxy_Impl.h \
+ $(TAO_ROOT)/tao/LocalObject.h \
+ $(TAO_ROOT)/tao/LocalObject.i \
+ $(TAO_ROOT)/tao/Stub.h \
+ $(TAO_ROOT)/tao/Pluggable.h \
+ $(TAO_ROOT)/tao/Pluggable.i \
+ $(TAO_ROOT)/tao/MProfile.h \
+ $(TAO_ROOT)/tao/Profile.h \
+ $(TAO_ROOT)/tao/Tagged_Components.h \
+ $(TAO_ROOT)/tao/CONV_FRAMEC.h \
+ $(TAO_ROOT)/tao/CONV_FRAMEC.i \
+ $(TAO_ROOT)/tao/Tagged_Components.i \
+ $(TAO_ROOT)/tao/GIOP_Message_State.h \
+ $(TAO_ROOT)/tao/GIOP_Message_State.i \
+ $(TAO_ROOT)/tao/Profile.i \
+ $(TAO_ROOT)/tao/MProfile.i \
+ $(TAO_ROOT)/tao/ORB_Core.h \
+ $(TAO_ROOT)/tao/Policy_Manager.h \
+ $(TAO_ROOT)/tao/Policy_Manager.i \
+ $(TAO_ROOT)/tao/Resource_Factory.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Protocol_Factory.h \
+ $(TAO_ROOT)/tao/params.h \
+ $(TAO_ROOT)/tao/params.i \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.h \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.inl \
+ $(TAO_ROOT)/tao/TAO_Singleton.h \
+ $(TAO_ROOT)/tao/TAO_Singleton.inl \
+ $(TAO_ROOT)/tao/TAO_Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(TAO_ROOT)/tao/Adapter.h \
+ $(TAO_ROOT)/tao/Adapter.i \
+ $(TAO_ROOT)/tao/PolicyFactory_Registry.h \
+ $(TAO_ROOT)/tao/PortableInterceptorC.h \
+ $(TAO_ROOT)/tao/DynamicC.h \
+ $(TAO_ROOT)/tao/DynamicC.i \
+ $(TAO_ROOT)/tao/MessagingC.h \
+ $(TAO_ROOT)/tao/ValueBase.h \
+ $(TAO_ROOT)/tao/ValueBase.i \
+ $(TAO_ROOT)/tao/ValueFactory.h \
+ $(TAO_ROOT)/tao/ValueFactory.i \
+ $(TAO_ROOT)/tao/TimeBaseC.h \
+ $(TAO_ROOT)/tao/TimeBaseC.i \
+ $(TAO_ROOT)/tao/PollableC.h \
+ $(TAO_ROOT)/tao/PollableC.i \
+ $(TAO_ROOT)/tao/MessagingC.i \
+ $(TAO_ROOT)/tao/PortableInterceptorC.i \
+ $(ACE_ROOT)/ace/Map_Manager.h \
+ $(ACE_ROOT)/ace/Map_Manager.i \
+ $(ACE_ROOT)/ace/Map_Manager.cpp \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/Handle_Set.i \
+ $(ACE_ROOT)/ace/Timer_Queue.h \
+ $(ACE_ROOT)/ace/Timer_Queue_T.h \
+ $(ACE_ROOT)/ace/Test_and_Set.h \
+ $(ACE_ROOT)/ace/Test_and_Set.i \
+ $(ACE_ROOT)/ace/Test_and_Set.cpp \
+ $(ACE_ROOT)/ace/Timer_Queue_T.i \
+ $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Parser_Registry.h \
+ $(TAO_ROOT)/tao/Parser_Registry.i \
+ $(TAO_ROOT)/tao/Service_Callbacks.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.i \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.h \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.i \
+ $(TAO_ROOT)/tao/Connection_Cache_Manager.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(TAO_ROOT)/tao/Cache_Entries.h \
+ $(TAO_ROOT)/tao/Connection_Descriptor_Interface.h \
+ $(TAO_ROOT)/tao/Endpoint.h \
+ $(TAO_ROOT)/tao/Endpoint.i \
+ $(TAO_ROOT)/tao/Connection_Descriptor_Interface.inl \
+ $(TAO_ROOT)/tao/Cache_Entries.inl \
+ $(TAO_ROOT)/tao/Connection_Cache_Manager.inl \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.h \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \
+ $(TAO_ROOT)/tao/Object_Ref_Table.h \
+ $(TAO_ROOT)/tao/Interceptor_List.h \
+ $(TAO_ROOT)/tao/Interceptor_List.inl \
+ $(TAO_ROOT)/tao/RT_Policy_i.h \
+ $(TAO_ROOT)/tao/RTCORBAS.h \
+ $(TAO_ROOT)/tao/IOPS.h \
+ $(TAO_ROOT)/tao/IOPS_T.h \
+ $(TAO_ROOT)/tao/IOPS_T.i \
+ $(TAO_ROOT)/tao/IOPS_T.cpp \
+ $(TAO_ROOT)/tao/IOPS.i \
+ $(TAO_ROOT)/tao/TimeBaseS.h \
+ $(TAO_ROOT)/tao/TimeBaseS_T.h \
+ $(TAO_ROOT)/tao/TimeBaseS_T.i \
+ $(TAO_ROOT)/tao/TimeBaseS_T.cpp \
+ $(TAO_ROOT)/tao/TimeBaseS.i \
+ $(TAO_ROOT)/tao/RTCORBAC.h \
+ $(TAO_ROOT)/tao/RTCORBAC.i \
+ $(TAO_ROOT)/tao/RTCORBAS_T.h \
+ $(TAO_ROOT)/tao/RTCORBAS_T.i \
+ $(TAO_ROOT)/tao/RTCORBAS_T.cpp \
+ $(TAO_ROOT)/tao/RTCORBAS.i \
+ $(TAO_ROOT)/tao/RT_Policy_i.i \
+ $(TAO_ROOT)/tao/Protocols_Hooks.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager.h \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(TAO_ROOT)/tao/ORB_Core.i \
+ $(TAO_ROOT)/tao/Stub.i \
+ $(TAO_ROOT)/tao/debug.h \
+ $(TAO_ROOT)/tao/Client_Strategy_Factory.h \
+ $(TAO_ROOT)/tao/Server_Strategy_Factory.h \
+ $(TAO_ROOT)/tao/Invocation.h \
+ $(TAO_ROOT)/tao/Synch_Reply_Dispatcher.h \
+ $(TAO_ROOT)/tao/Reply_Dispatcher.h \
+ $(TAO_ROOT)/tao/Reply_Dispatcher.i \
+ $(TAO_ROOT)/tao/TAOC.h \
+ $(TAO_ROOT)/tao/Priority_Mapping_Manager.h \
+ $(TAO_ROOT)/tao/Priority_Mapping.h \
+ $(TAO_ROOT)/tao/Priority_Mapping.i \
+ $(TAO_ROOT)/tao/Priority_Mapping_Manager.i \
+ $(TAO_ROOT)/tao/TAOC.i \
+ $(TAO_ROOT)/tao/operation_details.h \
+ $(TAO_ROOT)/tao/target_specification.h \
+ $(TAO_ROOT)/tao/target_specification.i \
+ $(TAO_ROOT)/tao/operation_details.i \
+ $(TAO_ROOT)/tao/Invocation_Endpoint_Selectors.h \
+ $(TAO_ROOT)/tao/Invocation_Endpoint_Selectors.i \
+ $(TAO_ROOT)/tao/Invocation.i \
+ $(TAO_ROOT)/tao/ObjectIDList.h \
+ $(TAO_ROOT)/tao/ObjectIDList.i \
+ $(TAO_ROOT)/tao/DomainC.h \
+ $(TAO_ROOT)/tao/ClientRequestInfo.h \
+ $(TAO_ROOT)/tao/StringSeqC.h \
+ $(TAO_ROOT)/tao/StringSeqC.i \
+ $(TAO_ROOT)/tao/ClientRequestInfo.inl \
+ $(TAO_ROOT)/tao/DomainC.i \
+ $(TAO_ROOT)/tao/WrongTransactionC.h \
+ $(TAO_ROOT)/tao/BoundsC.h \
+ $(TAO_ROOT)/tao/BoundsC.i \
+ $(TAO_ROOT)/tao/PortableInterceptor.h \
+ $(TAO_ROOT)/tao/PortableInterceptor.i \
+ $(TAO_ROOT)/tao/BiDirPolicyC.h \
+ $(TAO_ROOT)/tao/BiDirPolicyC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingC.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Naming/naming_export.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/IOR_Multicast.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/svc_utils_export.h \
+ $(ACE_ROOT)/ace/INET_Addr.h \
+ $(ACE_ROOT)/ace/Addr.h \
+ $(ACE_ROOT)/ace/Addr.i \
+ $(ACE_ROOT)/ace/INET_Addr.i \
+ $(ACE_ROOT)/ace/SOCK_Dgram_Mcast.h \
+ $(ACE_ROOT)/ace/SOCK_Dgram.h \
+ $(ACE_ROOT)/ace/SOCK.h \
+ $(ACE_ROOT)/ace/IPC_SAP.h \
+ $(ACE_ROOT)/ace/IPC_SAP.i \
+ $(ACE_ROOT)/ace/QoS_Session.h \
+ $(ACE_ROOT)/ace/SOCK.i \
+ $(ACE_ROOT)/ace/SOCK_Dgram.i \
+ $(ACE_ROOT)/ace/SOCK_Dgram_Mcast.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Naming/Naming_Context_Interface.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingS.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/PortableServer/RTPortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/PortableServer/RTPortableServerC.i \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ $(TAO_ROOT)/tao/PortableServer/Collocated_Object.h \
+ $(TAO_ROOT)/tao/PortableServer/Collocated_Object.i \
+ $(TAO_ROOT)/tao/PortableServer/ThruPOA_Object_Proxy_Impl.h \
+ $(TAO_ROOT)/tao/PortableServer/Direct_Object_Proxy_Impl.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.inl \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingS_T.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingS_T.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingS_T.cpp \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingS.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/AVStreams_i.h \
+ $(ACE_ROOT)/ace/ATM_Addr.h \
+ $(ACE_ROOT)/ace/ATM_Addr.i \
+ $(ACE_ROOT)/ace/Process.h \
+ $(ACE_ROOT)/ace/Process.i \
+ $(ACE_ROOT)/ace/SOCK_CODgram.h \
+ $(ACE_ROOT)/ace/SOCK_IO.h \
+ $(ACE_ROOT)/ace/SOCK_IO.i \
+ $(ACE_ROOT)/ace/SOCK_CODgram.i \
+ $(ACE_ROOT)/ace/Connector.h \
+ $(ACE_ROOT)/ace/Svc_Handler.h \
+ $(ACE_ROOT)/ace/Synch_Options.h \
+ $(ACE_ROOT)/ace/Synch_Options.i \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Strategies.h \
+ $(ACE_ROOT)/ace/Strategies_T.h \
+ $(ACE_ROOT)/ace/Strategies_T.i \
+ $(ACE_ROOT)/ace/Strategies_T.cpp \
+ $(ACE_ROOT)/ace/Service_Repository.h \
+ $(ACE_ROOT)/ace/Service_Types.h \
+ $(ACE_ROOT)/ace/Service_Types.i \
+ $(ACE_ROOT)/ace/Service_Repository.i \
+ $(ACE_ROOT)/ace/WFMO_Reactor.h \
+ $(ACE_ROOT)/ace/Process_Mutex.h \
+ $(ACE_ROOT)/ace/Process_Mutex.inl \
+ $(ACE_ROOT)/ace/WFMO_Reactor.i \
+ $(ACE_ROOT)/ace/Strategies.i \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Svc_Handler.cpp \
+ $(ACE_ROOT)/ace/Dynamic.h \
+ $(ACE_ROOT)/ace/Dynamic.i \
+ $(ACE_ROOT)/ace/Connector.cpp \
+ $(ACE_ROOT)/ace/SOCK_Connector.h \
+ $(ACE_ROOT)/ace/SOCK_Stream.h \
+ $(ACE_ROOT)/ace/SOCK_Stream.i \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/SOCK_Connector.i \
+ $(ACE_ROOT)/ace/Acceptor.h \
+ $(ACE_ROOT)/ace/Acceptor.cpp \
+ $(ACE_ROOT)/ace/SOCK_Acceptor.h \
+ $(ACE_ROOT)/ace/SOCK_Acceptor.i \
+ $(TAO_ROOT)/tao/PortableServer/ORB_Manager.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/AV_export.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceC.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Property/property_export.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS_T.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS_T.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS_T.cpp \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsC.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS_T.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS_T.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS_T.cpp \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Property/CosPropertyService_i.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/AV_Core.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Endpoint_Strategy.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.cpp \
+ $(ACE_ROOT)/ace/Process_Semaphore.h \
+ $(ACE_ROOT)/ace/Process_Semaphore.inl \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlC.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS_T.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS_T.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS_T.cpp \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/FlowSpec_Entry.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Transport.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Transport.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/FlowSpec_Entry.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/AVStreams_i.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Flows_T.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Flows_T.cpp \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/sfp.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/sfpC.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/sfpC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Policy.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Policy.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/MCast.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Protocol_Factory.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/MCast.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/UDP.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/UDP.i \
+ $(ACE_ROOT)/ace/High_Res_Timer.h \
+ $(ACE_ROOT)/ace/High_Res_Timer.i \
+ $(ACE_ROOT)/ace/Stats.h \
+ $(ACE_ROOT)/ace/Basic_Stats.h \
+ $(ACE_ROOT)/ace/Basic_Stats.inl \
+ $(ACE_ROOT)/ace/Stats.i
+
+.obj/server.o .obj/server.so .shobj/server.o .shobj/server.so: server.cpp server.h \
+ $(ACE_ROOT)/ace/Get_Opt.h \
+ $(ACE_ROOT)/ace/pre.h \
+ $(ACE_ROOT)/ace/ACE.h \
+ $(ACE_ROOT)/ace/OS.h \
+ $(ACE_ROOT)/ace/post.h \
+ $(ACE_ROOT)/ace/ACE_export.h \
+ $(ACE_ROOT)/ace/svc_export.h \
+ $(ACE_ROOT)/ace/ace_wchar.h \
+ $(ACE_ROOT)/ace/ace_wchar.inl \
+ $(ACE_ROOT)/ace/OS_Errno.h \
+ $(ACE_ROOT)/ace/OS_Export.h \
+ $(ACE_ROOT)/ace/OS_Errno.inl \
+ $(ACE_ROOT)/ace/OS_Dirent.h \
+ $(ACE_ROOT)/ace/OS_Dirent.inl \
+ $(ACE_ROOT)/ace/OS_String.h \
+ $(ACE_ROOT)/ace/OS_String.inl \
+ $(ACE_ROOT)/ace/OS_Memory.h \
+ $(ACE_ROOT)/ace/OS_Memory.inl \
+ $(ACE_ROOT)/ace/OS_TLI.h \
+ $(ACE_ROOT)/ace/OS_TLI.inl \
+ $(ACE_ROOT)/ace/Min_Max.h \
+ $(ACE_ROOT)/ace/streams.h \
+ $(ACE_ROOT)/ace/Basic_Types.h \
+ $(ACE_ROOT)/ace/Basic_Types.i \
+ $(ACE_ROOT)/ace/Trace.h \
+ $(ACE_ROOT)/ace/OS.i \
+ $(ACE_ROOT)/ace/Flag_Manip.h \
+ $(ACE_ROOT)/ace/Flag_Manip.i \
+ $(ACE_ROOT)/ace/Handle_Ops.h \
+ $(ACE_ROOT)/ace/Handle_Ops.i \
+ $(ACE_ROOT)/ace/Lib_Find.h \
+ $(ACE_ROOT)/ace/Lib_Find.i \
+ $(ACE_ROOT)/ace/Init_ACE.h \
+ $(ACE_ROOT)/ace/Init_ACE.i \
+ $(ACE_ROOT)/ace/Sock_Connect.h \
+ $(ACE_ROOT)/ace/Sock_Connect.i \
+ $(ACE_ROOT)/ace/ACE.i \
+ $(ACE_ROOT)/ace/Get_Opt.i \
+ $(TAO_ROOT)/tao/PortableServer/ORB_Manager.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServer.h \
+ $(TAO_ROOT)/tao/PortableServer/portableserver_export.h \
+ $(TAO_ROOT)/tao/corbafwd.h \
+ $(ACE_ROOT)/ace/CDR_Base.h \
+ $(ACE_ROOT)/ace/Message_Block.h \
+ $(ACE_ROOT)/ace/Malloc.h \
+ $(ACE_ROOT)/ace/Log_Msg.h \
+ $(ACE_ROOT)/ace/Log_Record.h \
+ $(ACE_ROOT)/ace/Log_Priority.h \
+ $(ACE_ROOT)/ace/Log_Record.i \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
+ $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
+ $(ACE_ROOT)/ace/Malloc.i \
+ $(ACE_ROOT)/ace/Malloc_T.h \
+ $(ACE_ROOT)/ace/Synch.h \
+ $(ACE_ROOT)/ace/Synch.i \
+ $(ACE_ROOT)/ace/Synch_T.h \
+ $(ACE_ROOT)/ace/Synch_T.i \
+ $(ACE_ROOT)/ace/Thread.h \
+ $(ACE_ROOT)/ace/Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
+ $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread_Adapter.inl \
+ $(ACE_ROOT)/ace/Thread.i \
+ $(ACE_ROOT)/ace/Atomic_Op.i \
+ $(ACE_ROOT)/ace/Synch_T.cpp \
+ $(ACE_ROOT)/ace/Malloc_Allocator.h \
+ $(ACE_ROOT)/ace/Malloc_Base.h \
+ $(ACE_ROOT)/ace/Malloc_Allocator.i \
+ $(ACE_ROOT)/ace/Free_List.h \
+ $(ACE_ROOT)/ace/Free_List.i \
+ $(ACE_ROOT)/ace/Free_List.cpp \
+ $(ACE_ROOT)/ace/Malloc_T.i \
+ $(ACE_ROOT)/ace/Malloc_T.cpp \
+ $(ACE_ROOT)/ace/Memory_Pool.h \
+ $(ACE_ROOT)/ace/Event_Handler.h \
+ $(ACE_ROOT)/ace/Event_Handler.i \
+ $(ACE_ROOT)/ace/Signal.h \
+ $(ACE_ROOT)/ace/Containers.h \
+ $(ACE_ROOT)/ace/Containers.i \
+ $(ACE_ROOT)/ace/Containers_T.h \
+ $(ACE_ROOT)/ace/Containers_T.i \
+ $(ACE_ROOT)/ace/Containers_T.cpp \
+ $(ACE_ROOT)/ace/Signal.i \
+ $(ACE_ROOT)/ace/Mem_Map.h \
+ $(ACE_ROOT)/ace/Mem_Map.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.h \
+ $(ACE_ROOT)/ace/SV_Semaphore_Simple.i \
+ $(ACE_ROOT)/ace/SV_Semaphore_Complex.i \
+ $(ACE_ROOT)/ace/Memory_Pool.i \
+ $(ACE_ROOT)/ace/Message_Block.i \
+ $(ACE_ROOT)/ace/Message_Block_T.h \
+ $(ACE_ROOT)/ace/Message_Block_T.i \
+ $(ACE_ROOT)/ace/Message_Block_T.cpp \
+ $(ACE_ROOT)/ace/CDR_Base.inl \
+ $(TAO_ROOT)/tao/try_macros.h \
+ $(TAO_ROOT)/tao/orbconf.h \
+ $(ACE_ROOT)/ace/CORBA_macros.h \
+ $(TAO_ROOT)/tao/varbase.h \
+ $(TAO_ROOT)/tao/TAO_Export.h \
+ $(TAO_ROOT)/tao/corbafwd.i \
+ $(TAO_ROOT)/tao/PortableServer/RTPortableServerC.h \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.h \
+ $(TAO_ROOT)/tao/CurrentC.h \
+ $(TAO_ROOT)/tao/Object.h \
+ $(TAO_ROOT)/tao/Abstract_Servant_Base.h \
+ $(TAO_ROOT)/tao/Object_Proxy_Broker.h \
+ $(TAO_ROOT)/tao/Object_Proxy_Impl.h \
+ $(TAO_ROOT)/tao/Object.i \
+ $(TAO_ROOT)/tao/CurrentC.i \
+ $(TAO_ROOT)/tao/PolicyC.h \
+ $(TAO_ROOT)/tao/Encodable.h \
+ $(TAO_ROOT)/tao/Exception.h \
+ $(ACE_ROOT)/ace/SString.h \
+ $(ACE_ROOT)/ace/SString.i \
+ $(TAO_ROOT)/tao/Exception.i \
+ $(TAO_ROOT)/tao/Sequence.h \
+ $(TAO_ROOT)/tao/Managed_Types.h \
+ $(TAO_ROOT)/tao/Managed_Types.i \
+ $(TAO_ROOT)/tao/Sequence.i \
+ $(TAO_ROOT)/tao/Sequence_T.h \
+ $(TAO_ROOT)/tao/Sequence_T.i \
+ $(TAO_ROOT)/tao/Sequence_T.cpp \
+ $(TAO_ROOT)/tao/Environment.h \
+ $(TAO_ROOT)/tao/Environment.i \
+ $(TAO_ROOT)/tao/CDR.h \
+ $(ACE_ROOT)/ace/CDR_Stream.h \
+ $(ACE_ROOT)/ace/CDR_Stream.i \
+ $(TAO_ROOT)/tao/CDR.i \
+ $(TAO_ROOT)/tao/Typecode.h \
+ $(TAO_ROOT)/tao/Typecode.i \
+ $(TAO_ROOT)/tao/PolicyC.i \
+ $(TAO_ROOT)/tao/Any.h \
+ $(TAO_ROOT)/tao/Any.i \
+ $(TAO_ROOT)/tao/PortableServer/PortableServerC.i \
+ $(TAO_ROOT)/tao/RTCORBAC.h \
+ $(TAO_ROOT)/tao/IOPC.h \
+ $(TAO_ROOT)/tao/IOPC.i \
+ $(TAO_ROOT)/tao/TimeBaseC.h \
+ $(TAO_ROOT)/tao/TimeBaseC.i \
+ $(TAO_ROOT)/tao/RTCORBAC.i \
+ $(TAO_ROOT)/tao/PortableServer/RTPortableServerC.i \
+ $(TAO_ROOT)/tao/ORB.h \
+ $(TAO_ROOT)/tao/Services.h \
+ $(TAO_ROOT)/tao/Services.i \
+ $(TAO_ROOT)/tao/CORBA_String.h \
+ $(TAO_ROOT)/tao/CORBA_String.inl \
+ $(TAO_ROOT)/tao/ORB.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Naming/Naming_Utils.h \
+ $(TAO_ROOT)/tao/corba.h \
+ $(TAO_ROOT)/tao/NVList.h \
+ $(TAO_ROOT)/tao/NVList.i \
+ $(TAO_ROOT)/tao/Principal.h \
+ $(TAO_ROOT)/tao/OctetSeqC.h \
+ $(TAO_ROOT)/tao/OctetSeqC.i \
+ $(TAO_ROOT)/tao/Principal.i \
+ $(TAO_ROOT)/tao/TAO_Server_Request.h \
+ $(TAO_ROOT)/tao/Tagged_Profile.h \
+ $(TAO_ROOT)/tao/GIOPC.h \
+ $(TAO_ROOT)/tao/Object_KeyC.h \
+ $(TAO_ROOT)/tao/Object_KeyC.i \
+ $(TAO_ROOT)/tao/GIOPC.i \
+ $(TAO_ROOT)/tao/Tagged_Profile.i \
+ $(TAO_ROOT)/tao/Service_Context.h \
+ $(TAO_ROOT)/tao/Service_Context.inl \
+ $(TAO_ROOT)/tao/TAO_Server_Request.i \
+ $(TAO_ROOT)/tao/Remote_Object_Proxy_Impl.h \
+ $(TAO_ROOT)/tao/LocalObject.h \
+ $(TAO_ROOT)/tao/LocalObject.i \
+ $(TAO_ROOT)/tao/Stub.h \
+ $(TAO_ROOT)/tao/Pluggable.h \
+ $(TAO_ROOT)/tao/Pluggable.i \
+ $(TAO_ROOT)/tao/MProfile.h \
+ $(TAO_ROOT)/tao/Profile.h \
+ $(TAO_ROOT)/tao/Tagged_Components.h \
+ $(TAO_ROOT)/tao/CONV_FRAMEC.h \
+ $(TAO_ROOT)/tao/CONV_FRAMEC.i \
+ $(TAO_ROOT)/tao/Tagged_Components.i \
+ $(TAO_ROOT)/tao/GIOP_Message_State.h \
+ $(TAO_ROOT)/tao/GIOP_Message_State.i \
+ $(TAO_ROOT)/tao/Profile.i \
+ $(TAO_ROOT)/tao/MProfile.i \
+ $(TAO_ROOT)/tao/ORB_Core.h \
+ $(TAO_ROOT)/tao/Policy_Manager.h \
+ $(TAO_ROOT)/tao/Policy_Manager.i \
+ $(TAO_ROOT)/tao/Resource_Factory.h \
+ $(ACE_ROOT)/ace/Service_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.h \
+ $(ACE_ROOT)/ace/Shared_Object.i \
+ $(ACE_ROOT)/ace/Service_Object.i \
+ $(TAO_ROOT)/tao/Protocol_Factory.h \
+ $(TAO_ROOT)/tao/params.h \
+ $(TAO_ROOT)/tao/params.i \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.h \
+ $(TAO_ROOT)/tao/TAO_Singleton_Manager.inl \
+ $(TAO_ROOT)/tao/TAO_Singleton.h \
+ $(TAO_ROOT)/tao/TAO_Singleton.inl \
+ $(TAO_ROOT)/tao/TAO_Singleton.cpp \
+ $(ACE_ROOT)/ace/Object_Manager.h \
+ $(ACE_ROOT)/ace/Object_Manager.i \
+ $(ACE_ROOT)/ace/Managed_Object.h \
+ $(ACE_ROOT)/ace/Managed_Object.i \
+ $(ACE_ROOT)/ace/Managed_Object.cpp \
+ $(TAO_ROOT)/tao/Adapter.h \
+ $(TAO_ROOT)/tao/Adapter.i \
+ $(TAO_ROOT)/tao/PolicyFactory_Registry.h \
+ $(TAO_ROOT)/tao/PortableInterceptorC.h \
+ $(TAO_ROOT)/tao/DynamicC.h \
+ $(TAO_ROOT)/tao/DynamicC.i \
+ $(TAO_ROOT)/tao/MessagingC.h \
+ $(TAO_ROOT)/tao/ValueBase.h \
+ $(TAO_ROOT)/tao/ValueBase.i \
+ $(TAO_ROOT)/tao/ValueFactory.h \
+ $(TAO_ROOT)/tao/ValueFactory.i \
+ $(TAO_ROOT)/tao/PollableC.h \
+ $(TAO_ROOT)/tao/PollableC.i \
+ $(TAO_ROOT)/tao/MessagingC.i \
+ $(TAO_ROOT)/tao/PortableInterceptorC.i \
+ $(ACE_ROOT)/ace/Map_Manager.h \
+ $(ACE_ROOT)/ace/Map_Manager.i \
+ $(ACE_ROOT)/ace/Map_Manager.cpp \
+ $(ACE_ROOT)/ace/Service_Config.h \
+ $(ACE_ROOT)/ace/Service_Config.i \
+ $(ACE_ROOT)/ace/Reactor.h \
+ $(ACE_ROOT)/ace/Handle_Set.h \
+ $(ACE_ROOT)/ace/Handle_Set.i \
+ $(ACE_ROOT)/ace/Timer_Queue.h \
+ $(ACE_ROOT)/ace/Timer_Queue_T.h \
+ $(ACE_ROOT)/ace/Test_and_Set.h \
+ $(ACE_ROOT)/ace/Test_and_Set.i \
+ $(ACE_ROOT)/ace/Test_and_Set.cpp \
+ $(ACE_ROOT)/ace/Timer_Queue_T.i \
+ $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Reactor.i \
+ $(ACE_ROOT)/ace/Reactor_Impl.h \
+ $(ACE_ROOT)/ace/Svc_Conf_Tokens.h \
+ $(TAO_ROOT)/tao/Parser_Registry.h \
+ $(TAO_ROOT)/tao/Parser_Registry.i \
+ $(TAO_ROOT)/tao/Service_Callbacks.h \
+ $(TAO_ROOT)/tao/Service_Callbacks.i \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.h \
+ $(TAO_ROOT)/tao/Fault_Tolerance_Service.i \
+ $(TAO_ROOT)/tao/Connection_Cache_Manager.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.h \
+ $(ACE_ROOT)/ace/Functor.h \
+ $(ACE_ROOT)/ace/Functor.i \
+ $(ACE_ROOT)/ace/Functor_T.h \
+ $(ACE_ROOT)/ace/Functor_T.i \
+ $(ACE_ROOT)/ace/Functor_T.cpp \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.i \
+ $(ACE_ROOT)/ace/Hash_Map_Manager_T.cpp \
+ $(TAO_ROOT)/tao/Cache_Entries.h \
+ $(TAO_ROOT)/tao/Connection_Descriptor_Interface.h \
+ $(TAO_ROOT)/tao/Endpoint.h \
+ $(TAO_ROOT)/tao/Endpoint.i \
+ $(TAO_ROOT)/tao/Connection_Descriptor_Interface.inl \
+ $(TAO_ROOT)/tao/Cache_Entries.inl \
+ $(TAO_ROOT)/tao/Connection_Cache_Manager.inl \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.h \
+ $(TAO_ROOT)/tao/Cleanup_Func_Registry.inl \
+ $(TAO_ROOT)/tao/Object_Ref_Table.h \
+ $(TAO_ROOT)/tao/Interceptor_List.h \
+ $(TAO_ROOT)/tao/Interceptor_List.inl \
+ $(TAO_ROOT)/tao/RT_Policy_i.h \
+ $(TAO_ROOT)/tao/RTCORBAS.h \
+ $(TAO_ROOT)/tao/IOPS.h \
+ $(TAO_ROOT)/tao/IOPS_T.h \
+ $(TAO_ROOT)/tao/IOPS_T.i \
+ $(TAO_ROOT)/tao/IOPS_T.cpp \
+ $(TAO_ROOT)/tao/IOPS.i \
+ $(TAO_ROOT)/tao/TimeBaseS.h \
+ $(TAO_ROOT)/tao/TimeBaseS_T.h \
+ $(TAO_ROOT)/tao/TimeBaseS_T.i \
+ $(TAO_ROOT)/tao/TimeBaseS_T.cpp \
+ $(TAO_ROOT)/tao/TimeBaseS.i \
+ $(TAO_ROOT)/tao/RTCORBAS_T.h \
+ $(TAO_ROOT)/tao/RTCORBAS_T.i \
+ $(TAO_ROOT)/tao/RTCORBAS_T.cpp \
+ $(TAO_ROOT)/tao/RTCORBAS.i \
+ $(TAO_ROOT)/tao/RT_Policy_i.i \
+ $(TAO_ROOT)/tao/Protocols_Hooks.h \
+ $(ACE_ROOT)/ace/Hash_Map_Manager.h \
+ $(ACE_ROOT)/ace/Thread_Manager.h \
+ $(ACE_ROOT)/ace/Singleton.h \
+ $(ACE_ROOT)/ace/Singleton.i \
+ $(ACE_ROOT)/ace/Singleton.cpp \
+ $(ACE_ROOT)/ace/Thread_Manager.i \
+ $(TAO_ROOT)/tao/ORB_Core.i \
+ $(TAO_ROOT)/tao/Stub.i \
+ $(TAO_ROOT)/tao/debug.h \
+ $(TAO_ROOT)/tao/Client_Strategy_Factory.h \
+ $(TAO_ROOT)/tao/Server_Strategy_Factory.h \
+ $(TAO_ROOT)/tao/Invocation.h \
+ $(TAO_ROOT)/tao/Synch_Reply_Dispatcher.h \
+ $(TAO_ROOT)/tao/Reply_Dispatcher.h \
+ $(TAO_ROOT)/tao/Reply_Dispatcher.i \
+ $(TAO_ROOT)/tao/TAOC.h \
+ $(TAO_ROOT)/tao/Priority_Mapping_Manager.h \
+ $(TAO_ROOT)/tao/Priority_Mapping.h \
+ $(TAO_ROOT)/tao/Priority_Mapping.i \
+ $(TAO_ROOT)/tao/Priority_Mapping_Manager.i \
+ $(TAO_ROOT)/tao/TAOC.i \
+ $(TAO_ROOT)/tao/operation_details.h \
+ $(TAO_ROOT)/tao/target_specification.h \
+ $(TAO_ROOT)/tao/target_specification.i \
+ $(TAO_ROOT)/tao/operation_details.i \
+ $(TAO_ROOT)/tao/Invocation_Endpoint_Selectors.h \
+ $(TAO_ROOT)/tao/Invocation_Endpoint_Selectors.i \
+ $(TAO_ROOT)/tao/Invocation.i \
+ $(TAO_ROOT)/tao/ObjectIDList.h \
+ $(TAO_ROOT)/tao/ObjectIDList.i \
+ $(TAO_ROOT)/tao/DomainC.h \
+ $(TAO_ROOT)/tao/ClientRequestInfo.h \
+ $(TAO_ROOT)/tao/StringSeqC.h \
+ $(TAO_ROOT)/tao/StringSeqC.i \
+ $(TAO_ROOT)/tao/ClientRequestInfo.inl \
+ $(TAO_ROOT)/tao/DomainC.i \
+ $(TAO_ROOT)/tao/WrongTransactionC.h \
+ $(TAO_ROOT)/tao/BoundsC.h \
+ $(TAO_ROOT)/tao/BoundsC.i \
+ $(TAO_ROOT)/tao/PortableInterceptor.h \
+ $(TAO_ROOT)/tao/PortableInterceptor.i \
+ $(TAO_ROOT)/tao/BiDirPolicyC.h \
+ $(TAO_ROOT)/tao/BiDirPolicyC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingC.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Naming/naming_export.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/IOR_Multicast.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/svc_utils_export.h \
+ $(ACE_ROOT)/ace/INET_Addr.h \
+ $(ACE_ROOT)/ace/Addr.h \
+ $(ACE_ROOT)/ace/Addr.i \
+ $(ACE_ROOT)/ace/INET_Addr.i \
+ $(ACE_ROOT)/ace/SOCK_Dgram_Mcast.h \
+ $(ACE_ROOT)/ace/SOCK_Dgram.h \
+ $(ACE_ROOT)/ace/SOCK.h \
+ $(ACE_ROOT)/ace/IPC_SAP.h \
+ $(ACE_ROOT)/ace/IPC_SAP.i \
+ $(ACE_ROOT)/ace/QoS_Session.h \
+ $(ACE_ROOT)/ace/SOCK.i \
+ $(ACE_ROOT)/ace/SOCK_Dgram.i \
+ $(ACE_ROOT)/ace/SOCK_Dgram_Mcast.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Naming/Naming_Context_Interface.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingS.h \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.h \
+ $(TAO_ROOT)/tao/PortableServer/Servant_Base.i \
+ $(TAO_ROOT)/tao/PortableServer/Collocated_Object.h \
+ $(TAO_ROOT)/tao/PortableServer/Collocated_Object.i \
+ $(TAO_ROOT)/tao/PortableServer/ThruPOA_Object_Proxy_Impl.h \
+ $(TAO_ROOT)/tao/PortableServer/Direct_Object_Proxy_Impl.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.h \
+ $(TAO_ROOT)/tao/PortableServer/ServerRequestInfo.inl \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingS_T.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingS_T.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingS_T.cpp \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosNamingS.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/AVStreams_i.h \
+ $(ACE_ROOT)/ace/ATM_Addr.h \
+ $(ACE_ROOT)/ace/ATM_Addr.i \
+ $(ACE_ROOT)/ace/Process.h \
+ $(ACE_ROOT)/ace/Process.i \
+ $(ACE_ROOT)/ace/SOCK_CODgram.h \
+ $(ACE_ROOT)/ace/SOCK_IO.h \
+ $(ACE_ROOT)/ace/SOCK_IO.i \
+ $(ACE_ROOT)/ace/SOCK_CODgram.i \
+ $(ACE_ROOT)/ace/Connector.h \
+ $(ACE_ROOT)/ace/Svc_Handler.h \
+ $(ACE_ROOT)/ace/Synch_Options.h \
+ $(ACE_ROOT)/ace/Synch_Options.i \
+ $(ACE_ROOT)/ace/Task.h \
+ $(ACE_ROOT)/ace/Task.i \
+ $(ACE_ROOT)/ace/Task_T.h \
+ $(ACE_ROOT)/ace/Message_Queue.h \
+ $(ACE_ROOT)/ace/IO_Cntl_Msg.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.h \
+ $(ACE_ROOT)/ace/Message_Queue_T.i \
+ $(ACE_ROOT)/ace/Message_Queue_T.cpp \
+ $(ACE_ROOT)/ace/Strategies.h \
+ $(ACE_ROOT)/ace/Strategies_T.h \
+ $(ACE_ROOT)/ace/Strategies_T.i \
+ $(ACE_ROOT)/ace/Strategies_T.cpp \
+ $(ACE_ROOT)/ace/Service_Repository.h \
+ $(ACE_ROOT)/ace/Service_Types.h \
+ $(ACE_ROOT)/ace/Service_Types.i \
+ $(ACE_ROOT)/ace/Service_Repository.i \
+ $(ACE_ROOT)/ace/WFMO_Reactor.h \
+ $(ACE_ROOT)/ace/Process_Mutex.h \
+ $(ACE_ROOT)/ace/Process_Mutex.inl \
+ $(ACE_ROOT)/ace/WFMO_Reactor.i \
+ $(ACE_ROOT)/ace/Strategies.i \
+ $(ACE_ROOT)/ace/Message_Queue.i \
+ $(ACE_ROOT)/ace/Task_T.i \
+ $(ACE_ROOT)/ace/Task_T.cpp \
+ $(ACE_ROOT)/ace/Module.h \
+ $(ACE_ROOT)/ace/Module.i \
+ $(ACE_ROOT)/ace/Module.cpp \
+ $(ACE_ROOT)/ace/Stream_Modules.h \
+ $(ACE_ROOT)/ace/Stream_Modules.cpp \
+ $(ACE_ROOT)/ace/Svc_Handler.cpp \
+ $(ACE_ROOT)/ace/Dynamic.h \
+ $(ACE_ROOT)/ace/Dynamic.i \
+ $(ACE_ROOT)/ace/Connector.cpp \
+ $(ACE_ROOT)/ace/SOCK_Connector.h \
+ $(ACE_ROOT)/ace/SOCK_Stream.h \
+ $(ACE_ROOT)/ace/SOCK_Stream.i \
+ $(ACE_ROOT)/ace/Time_Value.h \
+ $(ACE_ROOT)/ace/SOCK_Connector.i \
+ $(ACE_ROOT)/ace/Acceptor.h \
+ $(ACE_ROOT)/ace/Acceptor.cpp \
+ $(ACE_ROOT)/ace/SOCK_Acceptor.h \
+ $(ACE_ROOT)/ace/SOCK_Acceptor.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/AV_export.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceC.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Property/property_export.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS_T.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS_T.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS_T.cpp \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/CosPropertyServiceS.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsC.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS_T.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS_T.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS_T.cpp \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AVStreamsS.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Property/CosPropertyService_i.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/AV_Core.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Endpoint_Strategy.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Endpoint_Strategy_T.cpp \
+ $(ACE_ROOT)/ace/Process_Semaphore.h \
+ $(ACE_ROOT)/ace/Process_Semaphore.inl \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlC.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS_T.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS_T.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS_T.cpp \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/Null_MediaCtrlS.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/FlowSpec_Entry.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Transport.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Transport.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/FlowSpec_Entry.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/AVStreams_i.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Flows_T.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Flows_T.cpp \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/sfp.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/sfpC.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/sfpC.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Policy.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Policy.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/MCast.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/Protocol_Factory.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/MCast.i \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/UDP.h \
+ $(TAO_ROOT)/orbsvcs/orbsvcs/AV/UDP.i \
+ $(ACE_ROOT)/ace/High_Res_Timer.h \
+ $(ACE_ROOT)/ace/High_Res_Timer.i \
+ $(ACE_ROOT)/ace/Stats.h \
+ $(ACE_ROOT)/ace/Basic_Stats.h \
+ $(ACE_ROOT)/ace/Basic_Stats.inl \
+ $(ACE_ROOT)/ace/Stats.i
+
+# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/TAO/orbsvcs/tests/AVStreams/Pluggable_Flow_Protocol/receiver.cpp b/TAO/orbsvcs/tests/AVStreams/Pluggable_Flow_Protocol/receiver.cpp
new file mode 100644
index 00000000000..706f47e93c6
--- /dev/null
+++ b/TAO/orbsvcs/tests/AVStreams/Pluggable_Flow_Protocol/receiver.cpp
@@ -0,0 +1,269 @@
+// $Id$
+
+#include "receiver.h"
+#include "ace/Get_Opt.h"
+#include "ace/OS_String.h"
+#include "ace/High_Res_Timer.h"
+
+static FILE *output_file = 0;
+// File handle of the file into which received data is written.
+
+static const char *output_file_name = "output";
+// File name of the file into which received data is written.
+
+int endstream = 0;
+
+int
+Receiver_StreamEndPoint::get_callback (const char *,
+ TAO_AV_Callback *&callback)
+{
+ // Return the receiver application callback to the AVStreams for
+ // future upcalls.
+ callback = &this->callback_;
+ return 0;
+}
+
+Receiver_Callback::Receiver_Callback (void)
+ : frame_count_ (1)
+{
+}
+
+int
+Receiver_Callback::receive_frame (ACE_Message_Block *frame,
+ TAO_AV_frame_info *,
+ const ACE_Addr &)
+{
+ //
+ // Upcall from the AVStreams when there is data to be received from
+ // the sender.
+ //
+ ACE_DEBUG ((LM_DEBUG,
+ "Receiver_Callback::receive_frame for frame %d\n",
+ this->frame_count_++));
+
+ int frame_size = BUFSIZ;
+
+ // Write the received data to the file.
+ size_t result =
+ ACE_OS::fwrite (frame->rd_ptr (),
+ frame_size,
+ 1,
+ output_file);
+
+ if (result == frame->length ())
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Receiver_Callback::fwrite failed\n"),
+ -1);
+ frame->rd_ptr (frame_size);
+
+ ACE_hrtime_t stamp;
+ ACE_OS_String::memcpy (&stamp, frame->rd_ptr (), sizeof (stamp));
+
+ ACE_UINT64 usec = stamp;
+ ACE_UINT32 val_1 = ACE_CU64_TO_CU32 (usec);
+
+ ACE_DEBUG ((LM_DEBUG,
+ "Time Stamp %u\n",
+ val_1));
+
+ frame->reset ();
+ return 0;
+}
+
+int
+Receiver_Callback::handle_destroy (void)
+{
+ // Called when the distributer requests the stream to be shutdown.
+ ACE_DEBUG ((LM_DEBUG,
+ "Receiver_Callback::end_stream\n"));
+
+ endstream = 1;
+ return 0;
+}
+
+Receiver::Receiver (void)
+ : mmdevice_ (0)
+{
+}
+
+Receiver::~Receiver (void)
+{
+}
+
+int
+Receiver::init (int,
+ char **,
+ CORBA::Environment &ACE_TRY_ENV)
+{
+ // Initialize the endpoint strategy with the orb and poa.
+ int result =
+ this->reactive_strategy_.init (TAO_AV_CORE::instance ()->orb (),
+ TAO_AV_CORE::instance ()->poa ());
+ if (result != 0)
+ return result;
+
+ // Register the receiver mmdevice object with the ORB
+ ACE_NEW_RETURN (this->mmdevice_,
+ TAO_MMDevice (&this->reactive_strategy_),
+ -1);
+
+ // Servant Reference Counting to manage lifetime
+ PortableServer::ServantBase_var safe_mmdevice =
+ this->mmdevice_;
+
+ CORBA::Object_var mmdevice =
+ this->mmdevice_->_this (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+
+ // Register the mmdevice with the naming service.
+ CosNaming::Name name (1);
+ name.length (1);
+ name [0].id =
+ CORBA::string_dup ("Receiver");
+
+ // Initialize the naming services
+ if (this->naming_client_.init (TAO_AV_CORE::instance ()->orb ()) != 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Unable to initialize "
+ "the TAO_Naming_Client\n"),
+ -1);
+
+ // Register the receiver object with the naming server.
+ this->naming_client_->rebind (name,
+ mmdevice.in (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+
+ return 0;
+}
+
+int
+parse_args (int argc,
+ char **argv)
+{
+ // Parse the command line arguments
+ ACE_Get_Opt opts (argc,
+ argv,
+ "f:");
+
+ int c;
+ while ((c = opts ()) != -1)
+ {
+ switch (c)
+ {
+ case 'f':
+ output_file_name = opts.optarg;
+ break;
+ default:
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Usage: receiver -f filename"),
+ -1);
+ }
+ }
+
+ return 0;
+}
+
+int
+main (int argc,
+ char **argv)
+{
+ ACE_DECLARE_NEW_CORBA_ENV;
+ ACE_TRY
+ {
+ ACE_High_Res_Timer::global_scale_factor ();
+
+ // Initialize the ORB first.
+ CORBA::ORB_var orb =
+ CORBA::ORB_init (argc,
+ argv,
+ 0,
+ ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ CORBA::Object_var obj
+ = orb->resolve_initial_references ("RootPOA",
+ ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ // Get the POA_var object from Object_var.
+ PortableServer::POA_var root_poa =
+ PortableServer::POA::_narrow (obj.in (),
+ ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ PortableServer::POAManager_var mgr
+ = root_poa->the_POAManager (ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ mgr->activate (ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ // Initialize the AVStreams components.
+ TAO_AV_CORE::instance ()->init (orb.in (),
+ root_poa.in (),
+ ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ int result =
+ parse_args (argc,
+ argv);
+
+ if (result == -1)
+ return -1;
+
+ // Make sure we have a valid <output_file>
+ output_file = ACE_OS::fopen (output_file_name,
+ "w");
+ if (output_file == 0)
+ ACE_ERROR_RETURN ((LM_DEBUG,
+ "Cannot open output file %s\n",
+ output_file_name),
+ -1);
+
+ else
+ ACE_DEBUG ((LM_DEBUG,
+ "File Opened Successfully\n"));
+
+ Receiver receiver;
+ result =
+ receiver.init (argc,
+ argv,
+ ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ if (result != 0)
+ return result;
+
+ while (!endstream)
+ {
+ orb->perform_work (ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+ }
+
+ // Hack for now....
+ ACE_OS::sleep (1);
+
+ orb->destroy (ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,"receiver::init");
+ return -1;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK_RETURN (-1);
+
+ ACE_OS::fclose (output_file);
+
+ return 0;
+}
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class TAO_AV_Endpoint_Reactive_Strategy_B<Receiver_StreamEndPoint,TAO_VDev,AV_Null_MediaCtrl>;
+template class TAO_AV_Endpoint_Reactive_Strategy<Receiver_StreamEndPoint,TAO_VDev,AV_Null_MediaCtrl>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate TAO_AV_Endpoint_Reactive_Strategy_B<Receiver_StreamEndPoint,TAO_VDev,AV_Null_MediaCtrl>
+#pragma instantiate TAO_AV_Endpoint_Reactive_Strategy<Receiver_StreamEndPoint,TAO_VDev,AV_Null_MediaCtrl>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/tests/AVStreams/Pluggable_Flow_Protocol/receiver.h b/TAO/orbsvcs/tests/AVStreams/Pluggable_Flow_Protocol/receiver.h
new file mode 100644
index 00000000000..d117c273e90
--- /dev/null
+++ b/TAO/orbsvcs/tests/AVStreams/Pluggable_Flow_Protocol/receiver.h
@@ -0,0 +1,100 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/tests/AVStreams/Simple
+//
+// = FILENAME
+// receiver.h
+//
+// = DESCRIPTION
+// This application receives data from a AV sender and writes it to
+// a file.
+//
+// = AUTHOR
+// Yamuna Krishnamurthy <yamuna@cs.wustl.edu>
+//
+// ============================================================================
+
+#include "orbsvcs/Naming/Naming_Utils.h"
+#include "orbsvcs/AV/AVStreams_i.h"
+#include "orbsvcs/AV/Endpoint_Strategy.h"
+#include "orbsvcs/AV/Policy.h"
+
+class Receiver_Callback : public TAO_AV_Callback
+{
+ // = TITLE
+ // Application defined callback object.
+ //
+ // = DESCRIPTION
+ // AVStreams calls this class when data shows up from a sender.
+public:
+
+ Receiver_Callback (void);
+ // Constructor.
+
+ // Method that is called when there is data to be received from a
+ // sender.
+ int receive_frame (ACE_Message_Block *frame,
+ TAO_AV_frame_info *frame_info,
+ const ACE_Addr &peer_address);
+
+ // Called when the sender is done sending data and wants to close
+ // down the connection.
+ int handle_destroy (void);
+
+private:
+ int frame_count_;
+ // Keeping a count of the incoming frames.
+};
+
+class Receiver_StreamEndPoint : public TAO_Server_StreamEndPoint
+{
+ // = TITLE
+ // Application defined stream endpoint object.
+ //
+ // = DESCRIPTION
+ // AVStreams calls this class during connection setup.
+public:
+ // Create a receiver application callback.
+ int get_callback (const char *flowname,
+ TAO_AV_Callback *&callback);
+
+private:
+ Receiver_Callback callback_;
+ // Receiver application callback.
+};
+
+class Receiver
+{
+ // = TITLE
+ // Receiver application class.
+ //
+ // = DESCRIPTION
+ // This class receives data from a AV sender and writes it to
+ // a file.
+public:
+ Receiver (void);
+ // Constructor
+
+ ~Receiver (void);
+ // Destructor.
+
+ int init (int argc,
+ char **argv,
+ CORBA::Environment &);
+ // Initialize data components.
+
+protected:
+ TAO_Naming_Client naming_client_;
+ // The Naming Service Client.
+
+ TAO_AV_Endpoint_Reactive_Strategy_B
+ <Receiver_StreamEndPoint,TAO_VDev,AV_Null_MediaCtrl> reactive_strategy_;
+ // The endpoint reactive strategy.
+
+ TAO_MMDevice *mmdevice_;
+ // Receiver MMDevice.
+};
diff --git a/TAO/orbsvcs/tests/AVStreams/Pluggable_Flow_Protocol/run_test.pl b/TAO/orbsvcs/tests/AVStreams/Pluggable_Flow_Protocol/run_test.pl
new file mode 100755
index 00000000000..3f07d66d5c9
--- /dev/null
+++ b/TAO/orbsvcs/tests/AVStreams/Pluggable_Flow_Protocol/run_test.pl
@@ -0,0 +1,67 @@
+eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}'
+ & eval 'exec perl -S $0 $argv:q'
+ if 0;
+
+# $Id$
+# -*- perl -*-
+
+use lib $ENV{"ACE_ROOT"}.'/bin';
+use PerlACE::Run_Test;
+
+# amount of delay between running the servers
+
+$sleeptime = 2;
+$status = 0;
+
+$nsior = PerlACE::LocalFile ("ns.ior");
+$outfile = PerlACE::LocalFile ("output");
+
+unlink $nsior;
+
+$NS = new PerlACE::Process ($ENV{"TAO_ROOT"}."/orbsvcs/Naming_Service/Naming_Service", "-o $nsior");
+$SV = new PerlACE::Process ("receiver", "-ORBInitRef NameService=file://$nsior -f output");
+$CL = new PerlACE::Process ("sender", "-ORBDebugLevel 2 -ORBInitRef NameService=file://$nsior -f input -r 2");
+
+print STDERR "Starting Naming Service\n";
+
+$NS->Spawn ();
+
+if (PerlACE::waitforfile_timed ($nsior, 5) == -1) {
+ print STDERR "ERROR: cannot find naming service IOR file\n";
+ $NS->Kill ();
+ exit 1;
+}
+
+print STDERR "Starting Receiver\n";
+
+$SV->Spawn ();
+
+sleep $sleeptime;
+
+print STDERR "Starting Sender\n";
+
+$sender = $CL->SpawnWaitKill (200);
+
+if ($sender != 0) {
+ print STDERR "ERROR: sender returned $sender\n";
+ $status = 1;
+}
+
+$receiver = $SV->TerminateWaitKill (5);
+
+if ($receiver != 0) {
+ print STDERR "ERROR: receiver returned $receiver\n";
+ $status = 1;
+}
+
+$nserver = $NS->TerminateWaitKill (5);
+
+if ($nserver != 0) {
+ print STDERR "ERROR: Naming Service returned $nserver\n";
+ $status = 1;
+}
+
+unlink $nsior;
+unlink $output;
+
+exit $status;
diff --git a/TAO/orbsvcs/tests/AVStreams/Pluggable_Flow_Protocol/sender.cpp b/TAO/orbsvcs/tests/AVStreams/Pluggable_Flow_Protocol/sender.cpp
new file mode 100644
index 00000000000..04d695b79a9
--- /dev/null
+++ b/TAO/orbsvcs/tests/AVStreams/Pluggable_Flow_Protocol/sender.cpp
@@ -0,0 +1,415 @@
+// $Id$
+
+#include "sender.h"
+#include "tao/debug.h"
+#include "ace/Get_Opt.h"
+#include "ace/High_Res_Timer.h"
+
+typedef ACE_Singleton<Sender, ACE_Null_Mutex> SENDER;
+// Create a singleton instance of the Sender.
+
+int
+Sender_StreamEndPoint::get_callback (const char *,
+ TAO_AV_Callback *&callback)
+{
+ // Create and return the sender application callback to AVStreams
+ // for further upcalls.
+ callback = &this->callback_;
+ return 0;
+}
+
+int
+Sender_StreamEndPoint::set_protocol_object (const char *,
+ TAO_AV_Protocol_Object *object)
+{
+ // Set the sender protocol object corresponding to the transport
+ // protocol selected.
+ SENDER::instance ()->protocol_object (object);
+ return 0;
+}
+
+Sender::Sender (void)
+ : sender_mmdevice_ (0),
+ streamctrl_ (0),
+ frame_count_ (0),
+ filename_ ("input"),
+ input_file_ (0),
+ protocol_ ("UDP"),
+ frame_rate_ (30),
+ mb_ (BUFSIZ)
+{
+}
+
+void
+Sender::protocol_object (TAO_AV_Protocol_Object *object)
+{
+ // Set the sender protocol object corresponding to the transport
+ // protocol selected.
+ this->protocol_object_ = object;
+}
+
+int
+Sender::parse_args (int argc,
+ char **argv)
+{
+ // Parse command line arguments
+ ACE_Get_Opt opts (argc, argv, "f:p:r:d");
+
+ int c;
+ while ((c= opts ()) != -1)
+ {
+ switch (c)
+ {
+ case 'f':
+ this->filename_ = opts.optarg;
+ break;
+ case 'p':
+ this->protocol_ = opts.optarg;
+ break;
+ case 'r':
+ this->frame_rate_ = ACE_OS::atoi (opts.optarg);
+ break;
+ case 'd':
+ TAO_debug_level++;
+ break;
+ default:
+ ACE_DEBUG ((LM_DEBUG, "Unknown Option\n"));
+ return -1;
+ }
+ }
+ return 0;
+}
+
+// Method to get the object reference of the receiver
+int
+Sender::bind_to_receiver (CORBA::Environment &ACE_TRY_ENV)
+{
+ CosNaming::Name name (1);
+ name.length (1);
+ name [0].id =
+ CORBA::string_dup ("Receiver");
+
+ // Resolve the receiver object reference from the Naming Service
+ CORBA::Object_var receiver_mmdevice_obj =
+ this->naming_client_->resolve (name,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+
+ this->receiver_mmdevice_ =
+ AVStreams::MMDevice::_narrow (receiver_mmdevice_obj.in (),
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+
+ if (CORBA::is_nil (this->receiver_mmdevice_.in ()))
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Could not resolve Receiver_MMdevice in Naming service <%s>\n"),
+ -1);
+
+ return 0;
+}
+
+int
+Sender::init (int argc,
+ char **argv,
+ CORBA::Environment &ACE_TRY_ENV)
+{
+ // Initialize the endpoint strategy with the orb and poa.
+ int result =
+ this->endpoint_strategy_.init (TAO_AV_CORE::instance ()->orb (),
+ TAO_AV_CORE::instance ()->poa ());
+ if (result != 0)
+ return result;
+
+ // Initialize the naming services
+ result =
+ this->naming_client_.init (TAO_AV_CORE::instance ()->orb ());
+ if (result != 0)
+ return result;
+
+ // Parse the command line arguments
+ result =
+ this->parse_args (argc,
+ argv);
+ if (result != 0)
+ return result;
+
+ // Open file to read.
+ this->input_file_ =
+ ACE_OS::fopen (this->filename_.c_str (),
+ "r");
+
+ if (this->input_file_ == 0)
+ ACE_ERROR_RETURN ((LM_DEBUG,
+ "Cannot open input file %s\n",
+ this->filename_.c_str ()),
+ -1);
+ else
+ ACE_DEBUG ((LM_DEBUG,
+ "File opened successfully\n"));
+
+ // Resolve the object reference of the receiver from the Naming Service.
+ result = this->bind_to_receiver (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+
+ if (result != 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%P|%t) Error binding to the naming service\n"),
+ -1);
+
+
+ // Initialize the QoS
+ AVStreams::streamQoS_var the_qos (new AVStreams::streamQoS);
+
+ // Create the forward flow specification to describe the flow.
+ TAO_Forward_FlowSpec_Entry entry ("Data_Receiver",
+ "IN",
+ "USER_DEFINED",
+ "TS",
+ this->protocol_.c_str (),
+ 0);
+
+ AVStreams::flowSpec flow_spec (1);
+ flow_spec.length (1);
+ flow_spec [0] = CORBA::string_dup (entry.entry_to_string ());
+
+ // Register the sender mmdevice object with the ORB
+ ACE_NEW_RETURN (this->sender_mmdevice_,
+ TAO_MMDevice (&this->endpoint_strategy_),
+ -1);
+
+ // Servant Reference Counting to manage lifetime
+ PortableServer::ServantBase_var safe_mmdevice =
+ this->sender_mmdevice_;
+
+ AVStreams::MMDevice_var mmdevice =
+ this->sender_mmdevice_->_this (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+
+ ACE_NEW_RETURN (this->streamctrl_,
+ TAO_StreamCtrl,
+ -1);
+
+ PortableServer::ServantBase_var safe_streamctrl =
+ this->streamctrl_;
+
+ // Bind/Connect the sender and receiver MMDevices.
+ CORBA::Boolean bind_result =
+ this->streamctrl_->bind_devs (mmdevice.in (),
+ this->receiver_mmdevice_.in (),
+ the_qos.inout (),
+ flow_spec,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+
+ if (bind_result == 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "streamctrl::bind_devs failed\n"),
+ -1);
+
+ return 0;
+}
+
+// Method to send data at the specified rate
+int
+Sender::pace_data (CORBA::Environment &ACE_TRY_ENV)
+{
+ // The time that should lapse between two consecutive frames sent.
+ ACE_Time_Value inter_frame_time;
+
+ // The time between two consecutive frames.
+ inter_frame_time.set (1 / (double) this->frame_rate_);
+
+ if (TAO_debug_level > 0)
+ ACE_DEBUG ((LM_DEBUG,
+ "Frame Rate = %d / second\n"
+ "Inter Frame Time = %d (msec)\n",
+ this->frame_rate_,
+ inter_frame_time.msec ()));
+
+ ACE_TRY
+ {
+ // The time taken for sending a frame and preparing for the next frame
+ ACE_High_Res_Timer elapsed_timer;
+
+ // Continue to send data till the file is read to the end.
+ while (1)
+ {
+ // Read from the file into a message block.
+ int n = ACE_OS::fread (this->mb_.wr_ptr (),
+ 1,
+ this->mb_.size (),
+ this->input_file_);
+
+ if (n < 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Sender::pace_data fread failed\n"),
+ -1);
+
+ if (n == 0)
+ {
+ // At end of file break the loop and end the sender.
+ if (TAO_debug_level > 0)
+ ACE_DEBUG ((LM_DEBUG,"Handle_Start:End of file\n"));
+ break;
+ }
+
+ this->mb_.wr_ptr (n);
+
+ if (this->frame_count_ > 1)
+ {
+ //
+ // Second frame and beyond
+ //
+
+ // Stop the timer that was started just before the previous frame was sent.
+ elapsed_timer.stop ();
+
+ // Get the time elapsed after sending the previous frame.
+ ACE_Time_Value elapsed_time;
+ elapsed_timer.elapsed_time (elapsed_time);
+
+ if (TAO_debug_level > 0)
+ ACE_DEBUG ((LM_DEBUG,
+ "Elapsed Time = %d\n",
+ elapsed_time.msec ()));
+
+ // Check to see if the inter frame time has elapsed.
+ if (elapsed_time < inter_frame_time)
+ {
+ // Inter frame time has not elapsed.
+
+ // Calculate the time to wait before the next frame needs to be sent.
+ ACE_Time_Value wait_time (inter_frame_time - elapsed_time);
+
+ if (TAO_debug_level > 0)
+ ACE_DEBUG ((LM_DEBUG,
+ "Wait Time = %d\n",
+ wait_time.msec ()));
+
+ // Run the orb for the wait time so the sender can
+ // continue other orb requests.
+ TAO_AV_CORE::instance ()->orb ()->run (wait_time,
+ ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+ }
+ }
+
+ // Start timer before sending the frame.
+ elapsed_timer.start ();
+
+ // Send frame.
+ int result =
+ this->protocol_object_->send_frame (&this->mb_);
+
+ if (result < 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "send failed:%p",
+ "Sender::pace_data send\n"),
+ -1);
+
+ ACE_DEBUG ((LM_DEBUG,
+ "Sender::pace_data frame %d was sent succesfully\n",
+ ++this->frame_count_));
+
+ // Reset the message block.
+ this->mb_.reset ();
+
+ } // end while
+
+ // File reading is complete, destroy the stream.
+ AVStreams::flowSpec stop_spec;
+ this->streamctrl_->destroy (stop_spec,
+ ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ // Shut the orb down.
+ TAO_AV_CORE::instance ()->orb ()->shutdown (0,
+ ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "Sender::pace_data Failed\n");
+ return -1;
+ }
+ ACE_ENDTRY;
+ return 0;
+}
+
+int
+main (int argc,
+ char **argv)
+{
+ ACE_DECLARE_NEW_CORBA_ENV;
+ ACE_TRY
+ {
+
+ ACE_High_Res_Timer::global_scale_factor ();
+
+ CORBA::ORB_var orb =
+ CORBA::ORB_init (argc,
+ argv,
+ 0,
+ ACE_TRY_ENV);
+
+ CORBA::Object_var obj
+ = orb->resolve_initial_references ("RootPOA",
+ ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ // Get the POA_var object from Object_var
+ PortableServer::POA_var root_poa
+ = PortableServer::POA::_narrow (obj.in (),
+ ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ PortableServer::POAManager_var mgr
+ = root_poa->the_POAManager (ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ mgr->activate (ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ // Initialize the AV Stream components.
+ TAO_AV_CORE::instance ()->init (orb.in (),
+ root_poa.in (),
+ ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ // Initialize the Sender.
+ int result = 0;
+ result = SENDER::instance ()->init (argc,
+ argv,
+ ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ if (result < 0)
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "Sender::init failed\n"),
+ -1);
+
+ // Start sending data.
+ result = SENDER::instance ()->pace_data (ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "Sender Failed\n");
+ return -1;
+ }
+ ACE_ENDTRY;
+ ACE_CHECK_RETURN (-1);
+ return 0;
+}
+
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Singleton <Sender,ACE_Null_Mutex>;
+template class TAO_AV_Endpoint_Reactive_Strategy_A<Sender_StreamEndPoint,TAO_VDev,AV_Null_MediaCtrl>;
+template class TAO_AV_Endpoint_Reactive_Strategy<Sender_StreamEndPoint,TAO_VDev,AV_Null_MediaCtrl>;
+#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_Singleton <Sender,ACE_Null_Mutex>
+#pragma instantiate TAO_AV_Endpoint_Reactive_Strategy_A<Sender_StreamEndPoint,TAO_VDev,AV_Null_MediaCtrl>
+#pragma instantiate TAO_AV_Endpoint_Reactive_Strategy<Sender_StreamEndPoint,TAO_VDev,AV_Null_MediaCtrl>
+#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/TAO/orbsvcs/tests/AVStreams/Pluggable_Flow_Protocol/sender.h b/TAO/orbsvcs/tests/AVStreams/Pluggable_Flow_Protocol/sender.h
new file mode 100644
index 00000000000..87b07bcb553
--- /dev/null
+++ b/TAO/orbsvcs/tests/AVStreams/Pluggable_Flow_Protocol/sender.h
@@ -0,0 +1,117 @@
+/* -*- C++ -*- */
+// $Id$
+
+// ============================================================================
+//
+// = LIBRARY
+// TAO/orbsvcs/tests/AVStreams/Simple
+//
+// = FILENAME
+// sender.h
+//
+// = DESCRIPTION
+// This application reads data from a file and sends it to s
+// receiver.
+//
+// = AUTHOR
+// Yamuna Krishnamurthy <yamuna@cs.wustl.edu>
+//
+// ============================================================================
+
+#include "orbsvcs/Naming/Naming_Utils.h"
+#include "orbsvcs/AV/AVStreams_i.h"
+#include "orbsvcs/AV/Endpoint_Strategy.h"
+#include "orbsvcs/AV/Protocol_Factory.h"
+
+class Sender_StreamEndPoint : public TAO_Client_StreamEndPoint
+{
+ // = TITLE
+ // Defines a sender stream endpoint.
+public:
+ int get_callback (const char *flowname,
+ TAO_AV_Callback *&callback);
+ // Create the application callback and return its handle to
+ // AVStreams for further application callbacks.
+
+ int set_protocol_object (const char *flowname,
+ TAO_AV_Protocol_Object *object);
+ // Set protocol object corresponding to the transport protocol
+ // chosen.
+
+protected:
+ TAO_AV_Callback callback_;
+ // Application callback.
+};
+
+typedef TAO_AV_Endpoint_Reactive_Strategy_A
+ <Sender_StreamEndPoint,
+ TAO_VDev,
+ AV_Null_MediaCtrl>
+ SENDER_ENDPOINT_STRATEGY;
+
+class Sender
+{
+ // = TITLE
+ // Sender Application.
+ //
+ // = DESCRIPTION
+ // Class is responsible for streaming (and pacing) data to a
+ // receiver.
+public:
+ Sender (void);
+ // Constructor
+
+ int init (int argc,
+ char **argv,
+ CORBA::Environment&);
+ // Method to initialize the various data components.
+
+ int pace_data (CORBA::Environment &);
+ // Method to pace and send data from a file.
+
+ void protocol_object (TAO_AV_Protocol_Object *protocol_object);
+ // Set the protocol object corresponding to the transport protocol chosen.
+
+private:
+ int parse_args (int argc, char **argv);
+ // Method to parse the command line arguments.
+
+ int bind_to_receiver (CORBA::Environment& ACE_TRY_ENV);
+ // Method that binds the sender to the receiver.
+
+ SENDER_ENDPOINT_STRATEGY endpoint_strategy_;
+ // The endpoint strategy used by the sender.
+
+ AVStreams::MMDevice_var receiver_mmdevice_;
+ // The receiver MMDevice that the sender connects to.
+
+ TAO_MMDevice *sender_mmdevice_;
+ // The sender MMDevice.
+
+ TAO_StreamCtrl *streamctrl_;
+ // Stream controller
+
+ int frame_count_;
+ // Number of frames sent.
+
+ ACE_CString filename_;
+ // File from which data is read.
+
+ TAO_Naming_Client naming_client_;
+ // The Naming Service client.
+
+ FILE *input_file_;
+ // File handle of the file read from.
+
+ ACE_CString protocol_;
+ // Selected protocol - default is UDP
+
+ int frame_rate_;
+ // Rate at which the data will be sent.
+
+ ACE_Message_Block mb_;
+ // Message block into which data is read from a file and then sent.
+
+ TAO_AV_Protocol_Object *protocol_object_;
+ // Protocol object corresponding to the transport protocol selected.
+};
diff --git a/TAO/orbsvcs/tests/AVStreams/Pluggable_Flow_Protocol/svc.conf b/TAO/orbsvcs/tests/AVStreams/Pluggable_Flow_Protocol/svc.conf
new file mode 100644
index 00000000000..d4f2cd01350
--- /dev/null
+++ b/TAO/orbsvcs/tests/AVStreams/Pluggable_Flow_Protocol/svc.conf
@@ -0,0 +1,5 @@
+dynamic AV_Default_Resource_Factory Service_Object * TAO_AV:_make_TAO_AV_Default_Resource_Factory() ""
+dynamic TimeStamp_Protocol_Factory Service_Object * TAO_TS:_make_TimeStamp_Protocol_Factory() ""
+static AV_Default_Resource_Factory "-AVFlowProtocolFactory TimeStamp_Protocol_Factory"
+dynamic UDP_Factory Service_Object * TAO_AV:_make_TAO_AV_UDP_Factory() ""
+static AV_Default_Resource_Factory "-AVTransportFactory UDP_Factory"