summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorschmidt <douglascraigschmidt@users.noreply.github.com>2001-01-12 11:32:05 +0000
committerschmidt <douglascraigschmidt@users.noreply.github.com>2001-01-12 11:32:05 +0000
commit39821fb9b116e2a54f2458e58de8b40eda8ccdd3 (patch)
tree914fd5afe15dbbff79add22e3811f9d58fb8fd8c
parentfa2f2a87da34c8c412e03372b6e6701c031378ab (diff)
downloadATCD-39821fb9b116e2a54f2458e58de8b40eda8ccdd3.tar.gz
ChangeLogTag:Wed Jan 10 23:30:21 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
-rw-r--r--ChangeLog109
-rw-r--r--ChangeLogs/ChangeLog-02a109
-rw-r--r--ChangeLogs/ChangeLog-03a109
-rw-r--r--TAO/docs/index.html22
-rw-r--r--TAO/docs/minimumTAO.html261
-rw-r--r--TAO/docs/releasenotes/index.html2
-rw-r--r--THANKS9
-rw-r--r--ace/Caching_Utility_T.h16
-rw-r--r--ace/Containers_T.cpp16
-rw-r--r--ace/Containers_T.h14
-rw-r--r--ace/FILE_Addr.cpp2
-rw-r--r--ace/File_Lock.h2
-rw-r--r--ace/File_Lock.inl2
-rw-r--r--ace/Get_Opt.h3
-rw-r--r--ace/Lib_Find.cpp25
-rw-r--r--ace/Lib_Find.h2
-rw-r--r--ace/MEM_Stream.i4
-rw-r--r--ace/Makefile.bor4
-rw-r--r--ace/OS.h24
-rw-r--r--ace/OS.i2
-rw-r--r--ace/SOCK_Stream.h4
-rw-r--r--ace/SOCK_Stream.i4
-rw-r--r--ace/Select_Reactor_T.i6
-rw-r--r--ace/Synch.h1
-rw-r--r--ace/TP_Reactor.h4
-rw-r--r--ace/config-win32-msvc.h3
-rw-r--r--apps/Gateway/Peer/Options.cpp4
-rw-r--r--docs/ACE-subsets.html48
-rw-r--r--examples/IPC_SAP/FIFO_SAP/FIFO-test.cpp9
-rw-r--r--examples/Reactor/Misc/notification.cpp10
-rw-r--r--examples/Reactor/Misc/pingpong.cpp10
-rw-r--r--examples/Service_Configurator/IPC-tests/client/broadcast_client_test.cpp2
-rw-r--r--examples/Service_Configurator/IPC-tests/client/local_dgram_client_test.cpp6
-rw-r--r--examples/Service_Configurator/IPC-tests/client/local_fifo_client_test.cpp5
-rw-r--r--examples/Service_Configurator/IPC-tests/client/local_pipe_client_test.cpp5
-rw-r--r--examples/Service_Configurator/IPC-tests/client/local_spipe_client_test.cpp6
-rw-r--r--examples/Service_Configurator/IPC-tests/client/local_stream_client_test.cpp6
-rw-r--r--examples/Service_Configurator/IPC-tests/client/remote_dgram_client_test.cpp6
-rw-r--r--examples/Service_Configurator/IPC-tests/client/remote_service_directory_test.cpp4
-rw-r--r--examples/Service_Configurator/IPC-tests/client/remote_stream_client_test.cpp6
-rw-r--r--examples/Service_Configurator/IPC-tests/client/remote_thr_stream_client_test.cpp6
-rw-r--r--examples/Shared_Malloc/Options.cpp3
-rw-r--r--include/makeinclude/outputdir.bor2
-rw-r--r--performance-tests/Misc/context_switch_time.cpp4
-rw-r--r--performance-tests/Misc/preempt.cpp4
45 files changed, 702 insertions, 203 deletions
diff --git a/ChangeLog b/ChangeLog
index be14fe401c9..7226f77fa7f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,84 @@
+Wed Jan 10 23:30:21 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/FILE_Addr.cpp (set): Replace (sizeof this->filename_)
+ with (sizeof this->filename_ / sizeof (ACE_TCHAR)). Thanks to
+ Matthias Wittig <m.wittig@com-on.de> for reporting this.
+
+Tue Jan 9 07:27:19 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/Containers_T.h: Clarified that the ACE_Ordered_Multiset class
+ allows duplicates. Thanks to Albert Wijna
+ <albert.wijnja@meco.nl> for clarifying this.
+
+Sat Jan 6 10:20:55 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/File_Lock.{h,inl}: Made the get_handle() method const.
+ Thanks to Johnny Willemsen <johnny.willemsen@meco.nl> for
+ reporting this.
+
+ * ace/TP_Reactor.h:
+ * ace/Get_Opt.h:
+ * ace/Caching_Utility_T.h: Added "ACE_UNIMPLEMENTED_FUNC" macros
+ for all copy constructors and assignment operators. Thanks to
+ Johnny Willemsen <johnny.willemsen@meco.nl> for reporting this.
+
+Fri Jan 5 01:09:28 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * performance-tests/Misc/context_switch_time.cpp (get_options),
+ * performance-tests/Misc/preempt.cpp (open),
+ * examples/Reactor/Misc/pingpong.cpp (run_svc),
+ * examples/Reactor/Misc/notification.cpp (main),
+ * examples/IPC_SAP/FIFO_SAP/FIFO-test.cpp (main),
+ * examples/Shared_Malloc/Options.cpp (print_usage_and_die),
+ * examples/Service_Configurator/IPC-tests/client/: Updated all
+ these programs so that don't abort via %a, but instead call
+ ACE_OS::exit(). Thanks to Mike Curtis <mccurry@my-deja.com> for
+ suggesting this.
+
+ * apps/Gateway/Peer/Options.cpp (print_usage_and_die): Make sure to
+ actually *die* when we're done with this function! Thanks to
+ Mike Curtis <mccurry@my-deja.com> for suggesting this.
+
+Thu Jan 4 00:10:26 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/Select_Reactor_T.i: The cancel_timer() method should return the
+ number of events canceled, rather than 0 or 1. Thanks to Joe
+ Guan <jguan@mistwireless.com> for reporting this and providing
+ the fix.
+
+ * ace/Synch.h: Added an acquire (ACE_Time_Value &) method to ACE_Null_Mutex
+ so that this will work properly when
+ ACE_HAS_OPTIMIZED_MESSAGE_QUEUE is enabled. Thanks to Yuriy
+ Zaporozhets <zaz@internet-zahav.net> for reporting this.
+
+Wed Jan 3 23:00:52 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/Lib_Find.cpp (ldfind),
+ * ace/Makefile.bor (CFLAGS),
+ * include/makeinclude/outputdir.bor (OBJDIR),
+ * ace/config-win32-msvc.h: Added support for the new ACE_LD_DECORATOR_STR
+ macro which is used to work around the fact that Borland
+ attaches a so-called "decorator suffix" to all library names.
+ Thanks to Chris Kohlhoff <chris@kohlhoff.com> for reporting
+ this.
+
+ * ace/Lib_Find.h: Fixed a typo where ACE_LIB_FIND_H was misspelled.
+ Thanks to Chris Kohlhoff <chris@kohlhoff.com> for reporting
+ this.
+
+ * ace/SOCK_Stream.i,
+ ace/MEM_Stream.i: Updated the calls to ACE_OS::shutdown() to use
+ the new macros described below!
+
+ * ace/OS.h: Added better support for the ACE_OS::shutdown() second
+ parmeter in the form of new macros ACE_SHUTDOWN_READ,
+ ACE_SHUTDOWN_WRITE, and ACE_SHUTDOWN_BOTH. Thanks to Mike
+ Curtis <mccurry@my-deja.com> for suggesting this.
+
+ * ace/SOCK_Stream.h: Clarified the role of the timeout parameters in
+ the various methods. Thanks to Allen Broadman
+ <broadmana@plural.com> for motivating this.
+
Thu Jan 11 17:24:30 2001 Carlos O'Ryan <coryan@uci.edu>
* Makefile:
@@ -14,17 +95,17 @@ Thu Jan 11 05:38:24 2001 Balachandran Natarajan <bala@cs.wustl.edu>
5.1 compilers. The change that was reverted is this
Thu Jan 4 17:14:33 2001 Balachandran Natarajan
- <bala@cs.wustl.edu>
-
- * ace/Handle_Set.cpp: Changed the macro
-
- ACE_DIV_BY_WORDSIZE(x) ((x) >> (ACE_Handle_Set::WORDSIZE)) to
-
- ACE_DIV_BY_WORDSIZE(x) ((x) >> ((int)
- ACE_Handle_Set::WORDSIZE)). This seems to be a better
- fix. Thanks to David Allen <dallen@storm.com> for suggesting
- this.
-
+ <bala@cs.wustl.edu>
+
+ * ace/Handle_Set.cpp: Changed the macro
+
+ ACE_DIV_BY_WORDSIZE(x) ((x) >> (ACE_Handle_Set::WORDSIZE)) to
+
+ ACE_DIV_BY_WORDSIZE(x) ((x) >> ((int)
+ ACE_Handle_Set::WORDSIZE)). This seems to be a better
+ fix. Thanks to David Allen <dallen@storm.com> for suggesting
+ this.
+
Tue Jan 9 09:53:53 2001 Carlos O'Ryan <coryan@uci.edu>
* tests/MEM_Stream_Test.cpp:
@@ -93,10 +174,10 @@ Thu Jan 04 17:07:48 2001 Luther Baker <luther@cs.wustl.edu>
Thu Jan 4 15:34:14 2001 Luther J Baker <luther@cs.wustl.edu>
- * ace/ace_dll.dsp
+ * ace/ace_dll.dsp
- Added PACE library to the ACE DLL project file.
- (also changed the library search path)
+ Added PACE library to the ACE DLL project file.
+ (also changed the library search path)
Wed Jan 3 17:24:11 2001 Darrell Brunsch <brunsch@uci.edu>
diff --git a/ChangeLogs/ChangeLog-02a b/ChangeLogs/ChangeLog-02a
index be14fe401c9..7226f77fa7f 100644
--- a/ChangeLogs/ChangeLog-02a
+++ b/ChangeLogs/ChangeLog-02a
@@ -1,3 +1,84 @@
+Wed Jan 10 23:30:21 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/FILE_Addr.cpp (set): Replace (sizeof this->filename_)
+ with (sizeof this->filename_ / sizeof (ACE_TCHAR)). Thanks to
+ Matthias Wittig <m.wittig@com-on.de> for reporting this.
+
+Tue Jan 9 07:27:19 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/Containers_T.h: Clarified that the ACE_Ordered_Multiset class
+ allows duplicates. Thanks to Albert Wijna
+ <albert.wijnja@meco.nl> for clarifying this.
+
+Sat Jan 6 10:20:55 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/File_Lock.{h,inl}: Made the get_handle() method const.
+ Thanks to Johnny Willemsen <johnny.willemsen@meco.nl> for
+ reporting this.
+
+ * ace/TP_Reactor.h:
+ * ace/Get_Opt.h:
+ * ace/Caching_Utility_T.h: Added "ACE_UNIMPLEMENTED_FUNC" macros
+ for all copy constructors and assignment operators. Thanks to
+ Johnny Willemsen <johnny.willemsen@meco.nl> for reporting this.
+
+Fri Jan 5 01:09:28 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * performance-tests/Misc/context_switch_time.cpp (get_options),
+ * performance-tests/Misc/preempt.cpp (open),
+ * examples/Reactor/Misc/pingpong.cpp (run_svc),
+ * examples/Reactor/Misc/notification.cpp (main),
+ * examples/IPC_SAP/FIFO_SAP/FIFO-test.cpp (main),
+ * examples/Shared_Malloc/Options.cpp (print_usage_and_die),
+ * examples/Service_Configurator/IPC-tests/client/: Updated all
+ these programs so that don't abort via %a, but instead call
+ ACE_OS::exit(). Thanks to Mike Curtis <mccurry@my-deja.com> for
+ suggesting this.
+
+ * apps/Gateway/Peer/Options.cpp (print_usage_and_die): Make sure to
+ actually *die* when we're done with this function! Thanks to
+ Mike Curtis <mccurry@my-deja.com> for suggesting this.
+
+Thu Jan 4 00:10:26 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/Select_Reactor_T.i: The cancel_timer() method should return the
+ number of events canceled, rather than 0 or 1. Thanks to Joe
+ Guan <jguan@mistwireless.com> for reporting this and providing
+ the fix.
+
+ * ace/Synch.h: Added an acquire (ACE_Time_Value &) method to ACE_Null_Mutex
+ so that this will work properly when
+ ACE_HAS_OPTIMIZED_MESSAGE_QUEUE is enabled. Thanks to Yuriy
+ Zaporozhets <zaz@internet-zahav.net> for reporting this.
+
+Wed Jan 3 23:00:52 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/Lib_Find.cpp (ldfind),
+ * ace/Makefile.bor (CFLAGS),
+ * include/makeinclude/outputdir.bor (OBJDIR),
+ * ace/config-win32-msvc.h: Added support for the new ACE_LD_DECORATOR_STR
+ macro which is used to work around the fact that Borland
+ attaches a so-called "decorator suffix" to all library names.
+ Thanks to Chris Kohlhoff <chris@kohlhoff.com> for reporting
+ this.
+
+ * ace/Lib_Find.h: Fixed a typo where ACE_LIB_FIND_H was misspelled.
+ Thanks to Chris Kohlhoff <chris@kohlhoff.com> for reporting
+ this.
+
+ * ace/SOCK_Stream.i,
+ ace/MEM_Stream.i: Updated the calls to ACE_OS::shutdown() to use
+ the new macros described below!
+
+ * ace/OS.h: Added better support for the ACE_OS::shutdown() second
+ parmeter in the form of new macros ACE_SHUTDOWN_READ,
+ ACE_SHUTDOWN_WRITE, and ACE_SHUTDOWN_BOTH. Thanks to Mike
+ Curtis <mccurry@my-deja.com> for suggesting this.
+
+ * ace/SOCK_Stream.h: Clarified the role of the timeout parameters in
+ the various methods. Thanks to Allen Broadman
+ <broadmana@plural.com> for motivating this.
+
Thu Jan 11 17:24:30 2001 Carlos O'Ryan <coryan@uci.edu>
* Makefile:
@@ -14,17 +95,17 @@ Thu Jan 11 05:38:24 2001 Balachandran Natarajan <bala@cs.wustl.edu>
5.1 compilers. The change that was reverted is this
Thu Jan 4 17:14:33 2001 Balachandran Natarajan
- <bala@cs.wustl.edu>
-
- * ace/Handle_Set.cpp: Changed the macro
-
- ACE_DIV_BY_WORDSIZE(x) ((x) >> (ACE_Handle_Set::WORDSIZE)) to
-
- ACE_DIV_BY_WORDSIZE(x) ((x) >> ((int)
- ACE_Handle_Set::WORDSIZE)). This seems to be a better
- fix. Thanks to David Allen <dallen@storm.com> for suggesting
- this.
-
+ <bala@cs.wustl.edu>
+
+ * ace/Handle_Set.cpp: Changed the macro
+
+ ACE_DIV_BY_WORDSIZE(x) ((x) >> (ACE_Handle_Set::WORDSIZE)) to
+
+ ACE_DIV_BY_WORDSIZE(x) ((x) >> ((int)
+ ACE_Handle_Set::WORDSIZE)). This seems to be a better
+ fix. Thanks to David Allen <dallen@storm.com> for suggesting
+ this.
+
Tue Jan 9 09:53:53 2001 Carlos O'Ryan <coryan@uci.edu>
* tests/MEM_Stream_Test.cpp:
@@ -93,10 +174,10 @@ Thu Jan 04 17:07:48 2001 Luther Baker <luther@cs.wustl.edu>
Thu Jan 4 15:34:14 2001 Luther J Baker <luther@cs.wustl.edu>
- * ace/ace_dll.dsp
+ * ace/ace_dll.dsp
- Added PACE library to the ACE DLL project file.
- (also changed the library search path)
+ Added PACE library to the ACE DLL project file.
+ (also changed the library search path)
Wed Jan 3 17:24:11 2001 Darrell Brunsch <brunsch@uci.edu>
diff --git a/ChangeLogs/ChangeLog-03a b/ChangeLogs/ChangeLog-03a
index be14fe401c9..7226f77fa7f 100644
--- a/ChangeLogs/ChangeLog-03a
+++ b/ChangeLogs/ChangeLog-03a
@@ -1,3 +1,84 @@
+Wed Jan 10 23:30:21 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/FILE_Addr.cpp (set): Replace (sizeof this->filename_)
+ with (sizeof this->filename_ / sizeof (ACE_TCHAR)). Thanks to
+ Matthias Wittig <m.wittig@com-on.de> for reporting this.
+
+Tue Jan 9 07:27:19 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/Containers_T.h: Clarified that the ACE_Ordered_Multiset class
+ allows duplicates. Thanks to Albert Wijna
+ <albert.wijnja@meco.nl> for clarifying this.
+
+Sat Jan 6 10:20:55 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/File_Lock.{h,inl}: Made the get_handle() method const.
+ Thanks to Johnny Willemsen <johnny.willemsen@meco.nl> for
+ reporting this.
+
+ * ace/TP_Reactor.h:
+ * ace/Get_Opt.h:
+ * ace/Caching_Utility_T.h: Added "ACE_UNIMPLEMENTED_FUNC" macros
+ for all copy constructors and assignment operators. Thanks to
+ Johnny Willemsen <johnny.willemsen@meco.nl> for reporting this.
+
+Fri Jan 5 01:09:28 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * performance-tests/Misc/context_switch_time.cpp (get_options),
+ * performance-tests/Misc/preempt.cpp (open),
+ * examples/Reactor/Misc/pingpong.cpp (run_svc),
+ * examples/Reactor/Misc/notification.cpp (main),
+ * examples/IPC_SAP/FIFO_SAP/FIFO-test.cpp (main),
+ * examples/Shared_Malloc/Options.cpp (print_usage_and_die),
+ * examples/Service_Configurator/IPC-tests/client/: Updated all
+ these programs so that don't abort via %a, but instead call
+ ACE_OS::exit(). Thanks to Mike Curtis <mccurry@my-deja.com> for
+ suggesting this.
+
+ * apps/Gateway/Peer/Options.cpp (print_usage_and_die): Make sure to
+ actually *die* when we're done with this function! Thanks to
+ Mike Curtis <mccurry@my-deja.com> for suggesting this.
+
+Thu Jan 4 00:10:26 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/Select_Reactor_T.i: The cancel_timer() method should return the
+ number of events canceled, rather than 0 or 1. Thanks to Joe
+ Guan <jguan@mistwireless.com> for reporting this and providing
+ the fix.
+
+ * ace/Synch.h: Added an acquire (ACE_Time_Value &) method to ACE_Null_Mutex
+ so that this will work properly when
+ ACE_HAS_OPTIMIZED_MESSAGE_QUEUE is enabled. Thanks to Yuriy
+ Zaporozhets <zaz@internet-zahav.net> for reporting this.
+
+Wed Jan 3 23:00:52 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
+
+ * ace/Lib_Find.cpp (ldfind),
+ * ace/Makefile.bor (CFLAGS),
+ * include/makeinclude/outputdir.bor (OBJDIR),
+ * ace/config-win32-msvc.h: Added support for the new ACE_LD_DECORATOR_STR
+ macro which is used to work around the fact that Borland
+ attaches a so-called "decorator suffix" to all library names.
+ Thanks to Chris Kohlhoff <chris@kohlhoff.com> for reporting
+ this.
+
+ * ace/Lib_Find.h: Fixed a typo where ACE_LIB_FIND_H was misspelled.
+ Thanks to Chris Kohlhoff <chris@kohlhoff.com> for reporting
+ this.
+
+ * ace/SOCK_Stream.i,
+ ace/MEM_Stream.i: Updated the calls to ACE_OS::shutdown() to use
+ the new macros described below!
+
+ * ace/OS.h: Added better support for the ACE_OS::shutdown() second
+ parmeter in the form of new macros ACE_SHUTDOWN_READ,
+ ACE_SHUTDOWN_WRITE, and ACE_SHUTDOWN_BOTH. Thanks to Mike
+ Curtis <mccurry@my-deja.com> for suggesting this.
+
+ * ace/SOCK_Stream.h: Clarified the role of the timeout parameters in
+ the various methods. Thanks to Allen Broadman
+ <broadmana@plural.com> for motivating this.
+
Thu Jan 11 17:24:30 2001 Carlos O'Ryan <coryan@uci.edu>
* Makefile:
@@ -14,17 +95,17 @@ Thu Jan 11 05:38:24 2001 Balachandran Natarajan <bala@cs.wustl.edu>
5.1 compilers. The change that was reverted is this
Thu Jan 4 17:14:33 2001 Balachandran Natarajan
- <bala@cs.wustl.edu>
-
- * ace/Handle_Set.cpp: Changed the macro
-
- ACE_DIV_BY_WORDSIZE(x) ((x) >> (ACE_Handle_Set::WORDSIZE)) to
-
- ACE_DIV_BY_WORDSIZE(x) ((x) >> ((int)
- ACE_Handle_Set::WORDSIZE)). This seems to be a better
- fix. Thanks to David Allen <dallen@storm.com> for suggesting
- this.
-
+ <bala@cs.wustl.edu>
+
+ * ace/Handle_Set.cpp: Changed the macro
+
+ ACE_DIV_BY_WORDSIZE(x) ((x) >> (ACE_Handle_Set::WORDSIZE)) to
+
+ ACE_DIV_BY_WORDSIZE(x) ((x) >> ((int)
+ ACE_Handle_Set::WORDSIZE)). This seems to be a better
+ fix. Thanks to David Allen <dallen@storm.com> for suggesting
+ this.
+
Tue Jan 9 09:53:53 2001 Carlos O'Ryan <coryan@uci.edu>
* tests/MEM_Stream_Test.cpp:
@@ -93,10 +174,10 @@ Thu Jan 04 17:07:48 2001 Luther Baker <luther@cs.wustl.edu>
Thu Jan 4 15:34:14 2001 Luther J Baker <luther@cs.wustl.edu>
- * ace/ace_dll.dsp
+ * ace/ace_dll.dsp
- Added PACE library to the ACE DLL project file.
- (also changed the library search path)
+ Added PACE library to the ACE DLL project file.
+ (also changed the library search path)
Wed Jan 3 17:24:11 2001 Darrell Brunsch <brunsch@uci.edu>
diff --git a/TAO/docs/index.html b/TAO/docs/index.html
index 101380a0e71..337fe854ab0 100644
--- a/TAO/docs/index.html
+++ b/TAO/docs/index.html
@@ -20,23 +20,23 @@ HREF="http://www.omg.org/library/c2indx.html">CORBA</a> Documentation</h3>
<dt>TAO <a HREF="http://www.cs.wustl.edu/~schmidt/corba-research-realtime.html">Technical
Papers</a> </dt><P>
<dt>TAO <a HREF="http://www.cs.wustl.edu/~schmidt/TAO/index.html">Tutorials</a></dt><P>
- <dt>TAO <a HREF="releasenotes/index.html">Release Notes</a> </dt><P>
+ <dt>TAO <a HREF="http://www.cs.wustl.edu/~schmidt/ACE_wrappers/TAO/docs/releasenotes/index.html">Release Notes</a> </dt><P>
<dt><A HREF="http://www.theaceorb.com">OCI</A> TAO <a HREF="http://www.theaceorb.com/faq/">FAQ</a> </dt><P>
- <dt><a HREF="components.html">ORB Configuration Options</a> </dt><P>
- <dt>TAO <a HREF="compiler.html">IDL Compiler Options</a> </dt><P>
- <dt><a HREF="orbsvcs.html">ORB Services Directories</a> </dt><P>
+ <dt><a HREF="http://www.cs.wustl.edu/~schmidt/ACE_wrappers/TAO/docs/components.html">ORB Configuration Options</a> </dt><P>
+ <dt>TAO <a HREF="http://www.cs.wustl.edu/~schmidt/ACE_wrappers/TAO/docs/compiler.html">IDL Compiler Options</a> </dt><P>
+ <dt><a HREF="http://www.cs.wustl.edu/~schmidt/ACE_wrappers/TAO/docs/orbsvcs.html">ORB Services Directories</a> </dt><P>
</dl>
</td>
<td><font SIZE="+1"><dl>
- <dt>TAO <a href="rtcorba/index.html">Real-Time CORBA</a> </dt>
+ <dt>TAO <a href="http://www.cs.wustl.edu/~schmidt/ACE_wrappers/TAO/docs/rtcorba/index.html">Real-Time CORBA</a> </dt>
<dt>&nbsp; </dt>
- <dt><a HREF="INS.html">Interoperable Naming Service</a> </dt><P>
- <dt><a HREF="implrepo/">Implementation Repository</a> </dt><P>
- <dt>ACE+TAO <a HREF="minimumTAO.html">Subsetting</a></dt><p>
- <dt>TAO <a href="../../docs/exceptions.html">Exception Handling</a></dt><p>
- <dt><a HREF="Tags.html">Tags and Magic Numbers</a> </dt><P>
- <dt><a HREF="pluggable_protocols/index.html">Writing Pluggable Protocols</a> </dt><P>
+ <dt><a HREF="http://www.cs.wustl.edu/~schmidt/ACE_wrappers/TAO/docs/INS.html">Interoperable Naming Service</a> </dt><P>
+ <dt><a HREF="http://www.cs.wustl.edu/~schmidt/ACE_wrappers/TAO/docs/implrepo/">Implementation Repository</a> </dt><P>
+ <dt>ACE+TAO <a HREF="http://www.cs.wustl.edu/~schmidt/ACE_wrappers/TAO/docs/minimumTAO.html">Subsetting</a></dt><p>
+ <dt>TAO <a href="http://www.cs.wustl.edu/~schmidt/ACE_wrappers/docs/exceptions.html">Exception Handling</a></dt><p>
+ <dt><a HREF="http://www.cs.wustl.edu/~schmidt/ACE_wrappers/TAO/docs/Tags.html">Tags and Magic Numbers</a> </dt><P>
+ <dt><a HREF="http://www.cs.wustl.edu/~schmidt/ACE_wrappers/TAO/docs/pluggable_protocols/index.html">Writing Pluggable Protocols</a> </dt><P>
</dl>
</font>
</td>
diff --git a/TAO/docs/minimumTAO.html b/TAO/docs/minimumTAO.html
index 66a65a3c243..6603055f8b4 100644
--- a/TAO/docs/minimumTAO.html
+++ b/TAO/docs/minimumTAO.html
@@ -17,16 +17,26 @@
<strong>Minimum TAO</strong>
<p>
-We have added support for the new <a href =
-"http://www.omg.org/cgi-bin/doc?orbos/98-08-04.pdf"><em>minimumCORBA
+In addition to our work on <A
+HREF="http://www.cs.wustl.edu/~schmidt/ACE_wrappers/docs/ACE-subsets.html">ACE
+subsetting</A>, we have also been reducing the footprint of TAO. We
+are pursuing two complementary strategies to reduce TAO's footprint:
+
+<OL>
+
+<LI> <B><EM>Implicit subsetting</EM></B>, e.g., by reducing
+ dependencies in the TAO library so that programs need not link
+ unused TAO components. <P>
+
+<LI> <B><EM>Explicit subsetting</EM></B>, e.g., by supporting the <a
+href="http://www.omg.org/cgi-bin/doc?orbos/98-08-04.pdf"><em>minimumCORBA
</em></a> specification to <a href =
"http://www.cs.wustl.edu/~schmidt/TAO.html">TAO</a>. The <em>
minimumCORBA </em> specification removes the following features from
-the CORBA <a href = "http://www.omg.org/library/c2indx.html">2.2</a>
-specification.
-
+the <a href
+="http://www.omg.org/technology/documents/formal/">CORBA</a>
+specification. <P>
<ul>
-
<li>Dynamic Skeleton Interface<br>
<li>Dynamic Invocation Interface<br>
<li>Dynamic Any<br>
@@ -34,24 +44,25 @@ specification.
<li>Interface Repository<br>
<li>Advanced POA features<br>
<li>CORBA/COM interworking<br>
-
</ul>
-<p>
+</OL>
-To minimize the footprint of TAO, we first <a href=
+The implicit subsetting of TAO requires no explicit application
+programmer intervention. In contrast, to minimize the footprint of
+TAO explicitly, you must first <a href=
"http://www.cs.wustl.edu/~schmidt/ACE_wrappers/ACE-INSTALL.html">configure</a>
ACE to support only those <a href =
"http://www.cs.wustl.edu/~schmidt/ACE_wrappers/docs/ACE-subsets.html">components</a>
-that are required by TAO. Secondly, we <a href =
+that are required by TAO. Second, you must <a href =
"http://www.cs.wustl.edu/~schmidt/ACE_wrappers/TAO/TAO-INSTALL.html">configure</a>
TAO to only support the components specified by the
<em>minimumCORBA</em> specification. The following two tables show
-the footprint reduction achieved. Note that the IDL Compiler column
-refers to the code required to collaborate between the IDL compiler
-and the ORB, and not to the code for the IDL compiler itself.
-<p>
-<hr>
-<p>
+the footprint reduction achievable via explicit subsetting. Note that
+the IDL Compiler column refers to the code required to collaborate
+between the IDL compiler and the ORB, and not to the code for the IDL
+compiler itself.
+
+<p><hr width=50% align=left> <p>
Note: All measurement are for ACE 5.0 and TAO 1.0 using egcs-2.91.60
on SunOS5.7<P>
@@ -77,9 +88,7 @@ ACE, as well). If you're using recent versions of GNU GCC, you can
use the <A HREF="../ACE-INSTALL.html#repo">-frepo</A> option, which
typically reduces the footprint by another 25 percent. <P>
-<p>
-<hr>
-<p>
+<p><hr width=50% align=left> <p>
<center><table cellpadding=4 border=4>
<tr>
@@ -182,11 +191,9 @@ typically reduces the footprint by another 25 percent. <P>
<td align=center>0
<td align=center>100
<td align=center>100
-</table></center><p>
+</table></center>
-<hr>
-
-<p>
+<p><hr width=50% align=left> <p>
<center><table cellpadding=4 border=4>
<tr>
@@ -255,5 +262,213 @@ typically reduces the footprint by another 25 percent. <P>
<td align=center>100
</table></center><p>
+<HR>
+
+<h3><a name="Status">ACE+TAO Subsetting Work in Progress</a></h3>
+
+We've been tracking the footprint reduction of ACE+TAO periodically
+since April, 2000. All the statistics are available <A
+HREF="http://doc.ece.uci.edu/Stats/">online</A>. As the result of
+this prior work, we've identified various areas for improvement that
+we're now addressing. For example, the following are the remaining
+areas for ACE subsetting:
+
+ <ul>
+ <li><EM><B>Log_Msg decoupling</EM></B> -- We have a good start on this, but it needs work
+ to finish. It might be easiest to make an abstract
+ base class, then have ACE_Log_Msg derive from it. That way
+ we could remove the exposure of all the #includes in Log_Msg.cpp
+ to applications that don't need it. Another alternative would
+ be to disable compilation of Log_Msg.cpp when ACE_NLOGGING is
+ enabled.<p>
+
+ <li><EM><B>Higher layer interdependencies</EM></B> -- We haven't
+ exhaustively tested all possible combinations of subsets. It's possible
+ that there are interdependencies between some layers that
+ we haven't yet identified and removed.<p>
+
+ <li><EM><B>Remove reliance on multiple inheritance</EM></B> -- Multiple
+ inheriance is only used in a few
+ places in ACE. This
+ isn't really a subsetting problem, but is necessary to
+ fully take advantage of optimizations available on C++ compilers for
+ embedded systems.<p>
+ </ul>
+
+We anticipate that these changes should reduce the default size of ACE
+by around 100-200 kbytes.<P>
+
+As the effort to reduce TAO's footprint continues, we are planning
+several modifications for TAO that should reduce the footprint for
+both the full CORBA and minimum CORBA configurations by around 300-400
+Kbytes. The list below contains an estimate of the impact of each one
+of these changes, along with the estimated effort to implement them.
+</P>
+
+<P>
+ <TABLE CELLPADDING=4 BORDER=4>
+ <TR>
+ <TD>Component</TD><TD>Impact</TD><TD>Effort</TD>
+ <TD>Description</TD>
+ </TR>
+ <TR>
+ <TD>TAO</TD><TD>~95 Kb</TD><TD>2 weeks</TD>
+ <TD>
+ Make RT CORBA 1.0 support optional, thereby allowing CORBA-compliant
+ applications to link without incurring the overhead of TAO's
+ RT CORBA features.
+ </TD>
+ </TR>
+ <TR>
+ <TD>TAO</TD><TD>~50 kB</TD><TD>3 weeks</TD>
+ <TD>
+ Make the CORBA Messaging components optional.
+ This change requires making RT-CORBA optional first.
+ </TD>
+ </TR>
+ <TR>
+ <TD>ACE</TD><TD>14 Kb</TD><TD>4 weeks</TD>
+ <TD>
+ Implement a TAO-specific Reactor.
+ ACE's reactor supports a number of features that TAO does not
+ require. Thus, a TAO-specific implementation is an important way to
+ reduce the footprint.
+ </TD>
+ </TR>
+ <TR>
+ <TD>ACE</TD><TD>20 Kb</TD><TD>4 weeks</TD>
+ <TD>
+ Implement a TAO-specific Service Configurator.
+ TAO uses the ACE Service Configurator to dynamically configure
+ its strategies. In many embedded applications the set of
+ strategies are selected at design-time, on those platforms it
+ would be appropriate to disable all the features to
+ dynamically load components into the ORB.
+ </TD>
+ </TR>
+ <TR>
+ <TD>TAO</TD><TD>10-15 Kb</TD><TD>1-2 weeks</TD>
+ <TD>
+ Eliminate duplicate code due to instantiations of string ->
+ pointer maps. TAO uses several such maps, they could be replaced by a
+ generic version, wrapped with a fully inlined (i.e. zero
+ footprint) adapter for type-safety.
+ </TD>
+ </TR>
+ <TR>
+ <TD>TAO</TD><TD>3-10 Kb</TD><TD>1-2 weeks</TD>
+ <TD>
+ Make message buffering strategies optional.
+ TAO supports policy extensions to control the outgoing oneway and AMI
+ request buffers. Those policies are not used by all
+ applications.
+ </TD>
+ </TR>
+ <TR>
+ <TD>TAO</TD><TD>10 Kb</TD><TD>2 weeks</TD>
+ <TD>
+ Make support for multiple ORBs optional.
+ TAO can support multiple ORBs in the same process, but most
+ applications only require one.
+ </TD>
+ </TR>
+ <TR>
+ <TD>TAO</TD><TD>&lt;20 Kb</TD><TD>1 weeks</TD>
+ <TD>
+ Use lower footprint alternatives to the
+ <CODE>ACE_Strategy_Acceptor</CODE> and
+ <CODE>ACE_Strategy_Connector</CODE> classes.
+ TAO is using the most flexible classes in ACE to implement
+ acceptors and connector, but does not take advantage of this
+ flexibility.
+ </TD>
+ </TR>
+ <TR>
+ <TD>TAO</TD><TD>5 Kb</TD><TD>1 week</TD>
+ <TD>
+ Move the less common transport muxing and reply waiting
+ strategies to an optional library.
+ </TD>
+ </TR>
+ <TR>
+ <TD>ACE+TAO</TD><TD>30 Kb</TD><TD>8 weeks</TD>
+ <TD>
+ Decouple ACE (and then TAO) from the
+ <CODE>ACE_Thread_Manager</CODE> component.
+ This component is only used in the thread-per-connection
+ model, if we could decouple it in ACE then TAO could be
+ modified to only link this component when that concurrency
+ model is enabled.
+ </TD>
+ </TR>
+ <TR>
+ <TD>TAO</TD><TD>&gt;50 Kb</TD><TD>6 weeks</TD>
+ <TD>
+ Move <CODE>&lt;&lt;=</CODE> and <CODE>&gt;&gt;=</CODE>
+ operators to separate files.
+ Currently TAO includes nearly 500 such operators, moving them
+ to separate files (grouped by component?) would eliminate them
+ from most applications.
+ </TD>
+ </TR>
+ </TABLE>
+</P>
+
+<P>In parallel with the activities described above we are pursuing
+other avenues of research to find sources of rarely used or unused
+code in ACE+TAO, and to modify the software to eliminate such code.
+These activities include the following:</P>
+
+<UL>
+ <LI><P>
+ Using profiling tools, such as gprof, Quantify and True Coverage
+ to find unreachable code, or code only reachable in certain
+ applications.
+ </P></LI>
+ <LI><P>
+ The code TAO's IDL compiler generates for <CODE>CORBA::Any</CODE>
+ operators is large, so we are evaluating designs that reduce the impact of the <CODE>CORBA::Any</CODE>
+ type support. TAO's IDL compiler already makes that support optional.
+ However, for applications that require <CODE>Anys</CODE> it may be useful to separate that code
+ in another file to reduce the size of generated stubs and skeletons,
+ without losing the opportunity to use more dynamic CORBA invocation
+ modes.
+ </P></LI>
+ <LI><P>
+ The Notification Service currently depends on the Trading service to
+ implement the Trader Constraint Language. We are planning to break that
+ dependency and factor the TCL parser into a smaller library shared
+ by both services.
+ </P></LI>
+ <LI><P>
+ TAO still contains features that are rarely or never used.
+ Examples include the interfaces to query the well-known services and
+ to dynamically discover the level of security support. Those
+ components should only be linked (dynamically) in applications that require them.
+ </P></LI>
+ <LI><P>
+ The support for interceptors currently generated by the IDL compiler
+ can be partially refactored into common ORB code.
+ Moreover, we evaluating a new implementation of interceptors
+ that can be configured dynamically, thereby eliminating the need for
+ compile-time configuration flags.
+ </P></LI>
+ <LI><P>
+ We are planning to provide compile-time flags to eliminate certain mandatory features
+ in CORBA that are not used in all applications, such as IOR
+ parsers (corbaloc, corbaname, etc.).
+ </P></LI>
+ <LI><P>
+ Finally, we will perfom more code inspections to determine if template code can be
+ refactored into base classes and thereby shared by many objects in
+ the ACE+TAO implementations.
+ </P></LI>
+</UL>
+
+Although we do not yet have sufficient insights to know how much
+footprint reduction these activities will afford, we anticipate these
+enhancements could reduce the default footprint of TAO by another
+100-200 Kbytes.
+
</body>
</html>
diff --git a/TAO/docs/releasenotes/index.html b/TAO/docs/releasenotes/index.html
index 3dd2e11a667..41ebda669a4 100644
--- a/TAO/docs/releasenotes/index.html
+++ b/TAO/docs/releasenotes/index.html
@@ -1871,7 +1871,7 @@ Add persistence and then to add event notification</li>
Point of contact: <a href="mailto:ossama@uci.edu">Ossama Othman</a>
<h4>Current Status:</h4>
-<p>TAO's Load Balancer currently implements the following load
+<p>TAO's <A HREF="http://www.cs.wustl.edu/~schmidt/PDF/load_balancing.pdf">Load Balancer</a> currently implements the following load
balancing algorithms:
<ul>
<li><FONT COLOR=BLUE>Round Robin</FONT>
diff --git a/THANKS b/THANKS
index 7a7bf37049b..48a87c3fd72 100644
--- a/THANKS
+++ b/THANKS
@@ -1039,7 +1039,7 @@ Caleb Epstein <cae@home.com>
Bruno Marconi <bmarconi@jetstream.com>
Ken Childress <kchildre@uccs.jpl.nasa.gov>
Michael Kramer <kramer@ave.ac.agit.de>
-Johnny Willemsen <jwillemsen@remedy.nl>
+Johnny Willemsen <jwillemsen@meco.nl>
Jonathan Astle <JNASTLE@dera.gov.uk>
Javier Lopez Sanchez <jlopez@uida.es>
Nir Drang <Nir@bandwiz.com>
@@ -1111,7 +1111,14 @@ Bogdan Jeram <bjeram@eso.org>
Sebastian Schubert <sschuber@et.htwk-leipzig.de>
Li Zhou <lizhou@doc.ece.uci.edu>
Shivakumar Patil <shivakumar.patil@stdc.com>
+Steve Olson <Steve_Olson@illinova.com>
+Allen Broadman <broadmana@plural.com>
+Yuriy Zaporozhets <zaz@internet-zahav.net>
+Joe Guan <jguan@mistwireless.com>
+Attilio Dona <dona@sodalia.it>
McGanahan Skjellifetti <cmeier@concentus-tech.com>
+Matthias Wittig <m.wittig@com-on.de>
+Sharath R. Cholleti <sharath@cs.wustl.edu>
David Allen <dallen@storm.com>
I would particularly like to thank Paul Stephenson, who worked with me
diff --git a/ace/Caching_Utility_T.h b/ace/Caching_Utility_T.h
index 3714215f148..5a6ba2239cc 100644
--- a/ace/Caching_Utility_T.h
+++ b/ace/Caching_Utility_T.h
@@ -75,6 +75,9 @@ protected:
/// Whether the cleanup_strategy should be destroyed or not.
int delete_cleanup_strategy_;
+
+ ACE_UNIMPLEMENTED_FUNC (void operator= (const ACE_Pair_Caching_Utility<KEY,VALUE,CONTAINER,ITERATOR,ATTRIBUTES> &))
+ ACE_UNIMPLEMENTED_FUNC (ACE_Pair_Caching_Utility (const ACE_Pair_Caching_Utility<KEY,VALUE,CONTAINER,ITERATOR,ATTRIBUTES> &))
};
////////////////////////////////////////////////////////////////////////////////
@@ -132,6 +135,9 @@ protected:
/// Whether the cleanup_strategy should be destroyed or not.
int delete_cleanup_strategy_;
+private:
+ ACE_UNIMPLEMENTED_FUNC (void operator= (const ACE_Recyclable_Handler_Caching_Utility<KEY,VALUE,CONTAINER,ITERATOR,ATTRIBUTES> &))
+ ACE_UNIMPLEMENTED_FUNC (ACE_Recyclable_Handler_Caching_Utility (const ACE_Recyclable_Handler_Caching_Utility<KEY,VALUE,CONTAINER,ITERATOR,ATTRIBUTES> &))
};
///////////////////////////////////////////////////////////////////////////
@@ -197,6 +203,9 @@ protected:
*/
size_t marked_as_closed_entries_;
+private:
+ ACE_UNIMPLEMENTED_FUNC (void operator= (const ACE_Refcounted_Recyclable_Handler_Caching_Utility<KEY,VALUE,CONTAINER,ITERATOR,ATTRIBUTES> &))
+ ACE_UNIMPLEMENTED_FUNC (ACE_Refcounted_Recyclable_Handler_Caching_Utility (const ACE_Refcounted_Recyclable_Handler_Caching_Utility<KEY,VALUE,CONTAINER,ITERATOR,ATTRIBUTES> &))
};
////////////////////////////////////////////////////////////////////////////////////////
@@ -257,6 +266,9 @@ protected:
/// Whether the cleanup_strategy should be destroyed or not.
int delete_cleanup_strategy_;
+private:
+ ACE_UNIMPLEMENTED_FUNC (void operator= (const ACE_Handler_Caching_Utility<KEY,VALUE,CONTAINER,ITERATOR,ATTRIBUTES> &))
+ ACE_UNIMPLEMENTED_FUNC (ACE_Handler_Caching_Utility (const ACE_Handler_Caching_Utility<KEY,VALUE,CONTAINER,ITERATOR,ATTRIBUTES> &))
};
///////////////////////////////////////////////////////////////////////////
@@ -314,6 +326,10 @@ protected:
/// Whether the cleanup_strategy should be destroyed or not.
int delete_cleanup_strategy_;
+
+private:
+ ACE_UNIMPLEMENTED_FUNC (void operator= (const ACE_Null_Caching_Utility<KEY,VALUE,CONTAINER,ITERATOR,ATTRIBUTES> &))
+ ACE_UNIMPLEMENTED_FUNC (ACE_Null_Caching_Utility (const ACE_Null_Caching_Utility<KEY,VALUE,CONTAINER,ITERATOR,ATTRIBUTES> &))
};
#if defined (ACE_TEMPLATES_REQUIRE_SOURCE)
diff --git a/ace/Containers_T.cpp b/ace/Containers_T.cpp
index a2095a1b2fe..381fe443d23 100644
--- a/ace/Containers_T.cpp
+++ b/ace/Containers_T.cpp
@@ -2180,22 +2180,14 @@ ACE_Ordered_MultiSet<T>::remove (const T &item)
if (node && (result == 0))
{
if (node->prev_)
- {
- node->prev_->next_ = node->next_;
- }
+ node->prev_->next_ = node->next_;
else
- {
- head_ = node->next_;
- }
+ head_ = node->next_;
if (node->next_)
- {
- node->next_->prev_ = node->prev_;
- }
+ node->next_->prev_ = node->prev_;
else
- {
- tail_ = node->prev_;
- }
+ tail_ = node->prev_;
this->cur_size_--;
diff --git a/ace/Containers_T.h b/ace/Containers_T.h
index 5f21d5fd841..6bde6d71662 100644
--- a/ace/Containers_T.h
+++ b/ace/Containers_T.h
@@ -1624,15 +1624,11 @@ private:
/**
* @class ACE_Ordered_MultiSet
*
- * @brief Implement a simple ordered multiset of <T> of unbounded size.
- * This class template requires that < operator semantics be
- * defined for the parameterized type <T>, but does not impose
- * any restriction on how that ordering operator is implemented.
- *
- * This implementation of an unordered set uses a circular
- * linked list with a dummy node. This implementation does not
- * allow duplicates, but it maintains FIFO ordering of
- * insertions.
+ * @brief Implement a simple ordered multiset of <T> of unbounded size
+ * that allows duplicates. This class template requires that <
+ * operator semantics be defined for the parameterized type <T>, but
+ * does not impose any restriction on how that ordering operator is
+ * implemented.
*/
template <class T>
class ACE_Ordered_MultiSet
diff --git a/ace/FILE_Addr.cpp b/ace/FILE_Addr.cpp
index 77906851333..53c27bf7856 100644
--- a/ace/FILE_Addr.cpp
+++ b/ace/FILE_Addr.cpp
@@ -73,7 +73,7 @@ ACE_FILE_Addr::set (const ACE_TCHAR *filename)
ACE_OS::strlen (filename) + 1);
(void) ACE_OS::strncpy (this->filename_,
filename,
- sizeof this->filename_);
+ sizeof this->filename_ / sizeof (ACE_TCHAR));
return 0;
}
diff --git a/ace/File_Lock.h b/ace/File_Lock.h
index f1d438e5734..c68b944056a 100644
--- a/ace/File_Lock.h
+++ b/ace/File_Lock.h
@@ -110,7 +110,7 @@ public:
int tryacquire_read (short whence = 0, off_t start = 0, off_t len = 1);
/// Get underlying <ACE_HANDLE> for the file.
- ACE_HANDLE get_handle (void);
+ ACE_HANDLE get_handle (void) const;
/**
* Set underlying <ACE_HANDLE>. Note that this method assumes
diff --git a/ace/File_Lock.inl b/ace/File_Lock.inl
index 47e97c045ab..a0dc79dcc7b 100644
--- a/ace/File_Lock.inl
+++ b/ace/File_Lock.inl
@@ -74,7 +74,7 @@ ACE_File_Lock::remove (int unlink_file)
}
ACE_INLINE ACE_HANDLE
-ACE_File_Lock::get_handle (void)
+ACE_File_Lock::get_handle (void) const
{
// ACE_TRACE ("ACE_File_Lock::get_handle");
return this->lock_.handle_;
diff --git a/ace/Get_Opt.h b/ace/Get_Opt.h
index 4c9bb421908..6d11c90fb14 100644
--- a/ace/Get_Opt.h
+++ b/ace/Get_Opt.h
@@ -140,6 +140,9 @@ private:
/// Holds the option string.
const ACE_TCHAR *optstring_;
+
+ ACE_UNIMPLEMENTED_FUNC (ACE_Get_Opt (const ACE_Get_Opt &))
+ ACE_UNIMPLEMENTED_FUNC (ACE_Get_Opt &operator= (const ACE_Get_Opt &))
};
#if defined (__ACE_INLINE__)
diff --git a/ace/Lib_Find.cpp b/ace/Lib_Find.cpp
index e42541ae61b..edda500268a 100644
--- a/ace/Lib_Find.cpp
+++ b/ace/Lib_Find.cpp
@@ -26,7 +26,12 @@ ACE_Lib_Find::ldfind (const ACE_TCHAR filename[],
ACE_TCHAR tempcopy[MAXPATHLEN + 1];
ACE_TCHAR searchpathname[MAXPATHLEN + 1];
- ACE_TCHAR searchfilename[MAXPATHLEN + 2];
+#if defined (ACE_WIN32) && defined (ACE_LD_DECORATOR_STR) && !defined (ACE_DISABLE_DEBUG_DLL_CHECK)
+ ACE_TCHAR decorator[] = ACE_LD_DECORATOR_STR;
+ ACE_TCHAR searchfilename[MAXPATHLEN + sizeof(decorator) / sizeof (ACE_TCHAR)];
+#else
+ ACE_TCHAR searchfilename[MAXPATHLEN + 1];
+#endif /* ACE_WIN32 && ACE_LD_DECORATOR_STR && !ACE_DISABLE_DEBUG_DLL_CHECK */
// Create a copy of filename to work with.
if (ACE_OS::strlen (filename) + 1
@@ -97,20 +102,18 @@ ACE_Lib_Find::ldfind (const ACE_TCHAR filename[],
return -1;
}
-#if defined (ACE_WIN32) && defined (_DEBUG) && !defined (ACE_DISABLE_DEBUG_DLL_CHECK)
+#if defined (ACE_WIN32) && defined (ACE_LD_DECORATOR_STR) && !defined (ACE_DISABLE_DEBUG_DLL_CHECK)
size_t len_searchfilename = ACE_OS::strlen (searchfilename);
if (! got_suffix)
- {
- searchfilename [len_searchfilename] = 'd';
- searchfilename [len_searchfilename+1] = 0;
- }
+ ACE_OS_String::strcpy (searchfilename + len_searchfilename,
+ decorator);
for (int tag = 1; tag >= 0; tag --)
{
if (tag == 0)
searchfilename [len_searchfilename] = 0;
-#endif /* ACE_WIN32 && _DEBUG && !ACE_DISABLE_DEBUG_DLL_CHECK */
+#endif /* ACE_WIN32 && ACE_LD_DECORATOR_STR && !ACE_DISABLE_DEBUG_DLL_CHECK */
// Use absolute pathname if there is one.
if (ACE_OS::strlen (searchpathname) > 0)
{
@@ -313,15 +316,15 @@ ACE_Lib_Find::ldfind (const ACE_TCHAR filename[],
ACE_OS::free (ld_path_temp);
#endif /* ACE_WIN32 */
ACE_OS::free ((void *) ld_path);
-#if defined (ACE_WIN32) && defined (_DEBUG) && !defined (ACE_DISABLE_DEBUG_DLL_CHECK)
+#if defined (ACE_WIN32) && defined (ACE_LD_DECORATOR_STR) && !defined (ACE_DISABLE_DEBUG_DLL_CHECK)
if (result == 0 || tag == 0)
-#endif /* ACE_WIN32 && _DEBUG && !ACE_DISABLE_DEBUG_DLL_CHECK */
+#endif /* ACE_WIN32 && ACE_LD_DECORATOR_STR && !ACE_DISABLE_DEBUG_DLL_CHECK */
return result;
}
}
-#if defined (ACE_WIN32) && defined (_DEBUG) && !defined (ACE_DISABLE_DEBUG_DLL_CHECK)
+#if defined (ACE_WIN32) && defined (ACE_LD_DECORATOR_STR) && !defined (ACE_DISABLE_DEBUG_DLL_CHECK)
}
-#endif /* ACE_WIN32 && _DEBUG && !ACE_DISABLE_DEBUG_DLL_CHECK */
+#endif /* ACE_WIN32 && ACE_LD_DECORATOR_STR && !ACE_DISABLE_DEBUG_DLL_CHECK */
errno = ENOENT;
return -1;
diff --git a/ace/Lib_Find.h b/ace/Lib_Find.h
index d2f275b122a..bfdc9cf5eb6 100644
--- a/ace/Lib_Find.h
+++ b/ace/Lib_Find.h
@@ -11,7 +11,7 @@
#ifndef ACE_LIB_FIND_H
-#define ACE_LIB_FINE_H
+#define ACE_LIB_FIND_H
#include "ace/pre.h"
#include "ace/OS.h"
diff --git a/ace/MEM_Stream.i b/ace/MEM_Stream.i
index 7aa77710e49..07f68fafdd0 100644
--- a/ace/MEM_Stream.i
+++ b/ace/MEM_Stream.i
@@ -29,7 +29,7 @@ ACE_MEM_Stream::close_reader (void)
{
ACE_TRACE ("ACE_MEM_Stream::close_reader");
if (this->get_handle () != ACE_INVALID_HANDLE)
- return ACE_OS::shutdown (this->get_handle (), 0);
+ return ACE_OS::shutdown (this->get_handle (), ACE_SHUTDOWN_READ);
else
return 0;
}
@@ -41,7 +41,7 @@ ACE_MEM_Stream::close_writer (void)
{
ACE_TRACE ("ACE_MEM_Stream::close_writer");
if (this->get_handle () != ACE_INVALID_HANDLE)
- return ACE_OS::shutdown (this->get_handle (), 1);
+ return ACE_OS::shutdown (this->get_handle (), ACE_SHUTDOWN_WRITE);
else
return 0;
}
diff --git a/ace/Makefile.bor b/ace/Makefile.bor
index 9cb551ea380..22bd08b9b30 100644
--- a/ace/Makefile.bor
+++ b/ace/Makefile.bor
@@ -226,8 +226,8 @@ OBJFILES = \
RESOURCE = $(OBJDIR)\ace.res
-CFLAGS = $(ACE_CFLAGS) -DACE_BUILD_DLL -DACE_OS_BUILD_DLL
-
+CFLAGS = $(ACE_CFLAGS) -DACE_BUILD_DLL -DACE_OS_BUILD_DLL \
+ -DACE_LD_DECORATOR_STR=ACE_LIB_TEXT(\"$(LIB_DECORATOR)\")
CPPDIR = .
INCDIR_NAME = ace
diff --git a/ace/OS.h b/ace/OS.h
index 8b656652d28..73dfb7a9084 100644
--- a/ace/OS.h
+++ b/ace/OS.h
@@ -4970,6 +4970,30 @@ inline char *ace_cuserid(char *user)
}
#endif /* !ACE_LACKS_CUSERID && !ACE_HAS_ALT_CUSERID && ... */
+#if defined (SD_RECEIVE)
+#define ACE_SHUTDOWN_READ SD_RECEIVE
+#elif defined (SHUT_RD)
+#define ACE_SHUTDOWN_READ SHUT_RD
+#else
+#define ACE_SHUTDOWN_READ 0
+#endif /* SD_RECEIVE */
+
+#if defined (SD_SEND)
+#define ACE_SHUTDOWN_WRITE SD_SEND
+#elif defined (SHUT_WR)
+#define ACE_SHUTDOWN_WRITE SHUT_WR
+#else
+#define ACE_SHUTDOWN_WRITE 1
+#endif /* SD_RECEIVE */
+
+#if defined (SD_BOTH)
+#define ACE_SHUTDOWN_BOTH SD_BOTH
+#elif defined (SHUT_RDWR)
+#define ACE_SHUTDOWN_BOTH SHUT_RDWR
+#else
+#define ACE_SHUTDOWN_BOTH 2
+#endif /* SD_RECEIVE */
+
/**
* @class ACE_OS
*
diff --git a/ace/OS.i b/ace/OS.i
index ed77226bc6b..e9d95340099 100644
--- a/ace/OS.i
+++ b/ace/OS.i
@@ -2906,7 +2906,7 @@ ACE_OS_TRACE ("ACE_Recursive_Thread_Mutex::release");
// the mutex into a known state...
m->owner_id_ = ACE_OS::NULL_thread;
- // Inform waiters that the lock is free.
+ // Inform a waiter that the lock is free.
if (ACE_OS::cond_signal (&m->lock_available_) == -1)
result = -1;
}
diff --git a/ace/SOCK_Stream.h b/ace/SOCK_Stream.h
index 3dce7f71eb2..185f8ae6ce2 100644
--- a/ace/SOCK_Stream.h
+++ b/ace/SOCK_Stream.h
@@ -39,8 +39,8 @@
* blocking sockets, the call will block until action is possible;
* for non-blocking sockets, EWOULDBLOCK will be returned if no
* action is immediately possible.
- * If <timeout> != 0, the call will wait until the relative time
- * specified in *<timeout> elapses.
+ * If <timeout> != 0, the call will wait for data to arrive no longer
+ * than the relative time specified in *<timeout>.
* The "_n()" I/O methods keep looping until all the data has been
* transferred. These methods also work for sockets in non-blocking
* mode i.e., they keep looping on EWOULDBLOCK. <timeout> is used
diff --git a/ace/SOCK_Stream.i b/ace/SOCK_Stream.i
index b20a07b6e56..4f483f43a03 100644
--- a/ace/SOCK_Stream.i
+++ b/ace/SOCK_Stream.i
@@ -27,7 +27,7 @@ ACE_SOCK_Stream::close_reader (void)
{
ACE_TRACE ("ACE_SOCK_Stream::close_reader");
if (this->get_handle () != ACE_INVALID_HANDLE)
- return ACE_OS::shutdown (this->get_handle (), 0);
+ return ACE_OS::shutdown (this->get_handle (), ACE_SHUTDOWN_READ);
else
return 0;
}
@@ -39,7 +39,7 @@ ACE_SOCK_Stream::close_writer (void)
{
ACE_TRACE ("ACE_SOCK_Stream::close_writer");
if (this->get_handle () != ACE_INVALID_HANDLE)
- return ACE_OS::shutdown (this->get_handle (), 1);
+ return ACE_OS::shutdown (this->get_handle (), ACE_SHUTDOWN_WRITE);
else
return 0;
}
diff --git a/ace/Select_Reactor_T.i b/ace/Select_Reactor_T.i
index 6adfe6aa8e2..6241c735589 100644
--- a/ace/Select_Reactor_T.i
+++ b/ace/Select_Reactor_T.i
@@ -123,8 +123,10 @@ ACE_Select_Reactor_T<ACE_SELECT_REACTOR_TOKEN>::cancel_timer (ACE_Event_Handler
int dont_call_handle_close)
{
ACE_TRACE ("ACE_Select_Reactor_T::cancel_timer");
- return this->timer_queue_ != 0 &&
- this->timer_queue_->cancel (handler, dont_call_handle_close);
+ if (this->timer_queue_ != 0)
+ return this->timer_queue_->cancel (handler, dont_call_handle_close);
+ else
+ return 0;
}
template <class ACE_SELECT_REACTOR_TOKEN> /* ACE_INLINE */ int
diff --git a/ace/Synch.h b/ace/Synch.h
index 6ad851c1c86..481d6d398a9 100644
--- a/ace/Synch.h
+++ b/ace/Synch.h
@@ -577,6 +577,7 @@ public:
int remove (void);
int acquire (void);
+ int acquire (ACE_Time_Value &timeout);
int tryacquire (void);
int release (void);
int acquire_write (void);
diff --git a/ace/TP_Reactor.h b/ace/TP_Reactor.h
index d591e51f184..4f5b8d76d7b 100644
--- a/ace/TP_Reactor.h
+++ b/ace/TP_Reactor.h
@@ -65,6 +65,10 @@ public:
ACE_EH_PTMF callback_;
int dispatch_;
+
+private:
+ ACE_UNIMPLEMENTED_FUNC (ACE_EH_Dispatch_Info (const ACE_EH_Dispatch_Info &))
+ ACE_UNIMPLEMENTED_FUNC (ACE_EH_Dispatch_Info &operator= (const ACE_EH_Dispatch_Info &))
};
/**
diff --git a/ace/config-win32-msvc.h b/ace/config-win32-msvc.h
index 58fb04fb903..a1a09b380a5 100644
--- a/ace/config-win32-msvc.h
+++ b/ace/config-win32-msvc.h
@@ -208,6 +208,9 @@ inline void *operator new (unsigned int, void *p) { return p; }
# define ACE_INT64_FORMAT_SPECIFIER ACE_LIB_TEXT ("%I64d")
# define ACE_UINT64_FORMAT_SPECIFIER ACE_LIB_TEXT ("%I64u")
+# if !defined (ACE_LD_DECORATOR_STR) && defined (_DEBUG)
+# define ACE_LD_DECORATOR_STR ACE_LIB_TEXT ("d")
+# endif
#endif /* _MSC_VER */
#include "ace/post.h"
diff --git a/apps/Gateway/Peer/Options.cpp b/apps/Gateway/Peer/Options.cpp
index 5112888b384..80c0256b619 100644
--- a/apps/Gateway/Peer/Options.cpp
+++ b/apps/Gateway/Peer/Options.cpp
@@ -14,7 +14,9 @@ Options *Options::instance_ = 0;
void
Options::print_usage_and_die (void)
{
- ACE_DEBUG ((LM_DEBUG, "%n [-a {C|S}:acceptor-port] [-c {C|S}:connector-port] [-C connection-id] [-h gateway-host] [-q max-queue-size] [-t timeout] [-v]\n"));
+ ACE_DEBUG ((LM_DEBUG,
+ "%n [-a {C|S}:acceptor-port] [-c {C|S}:connector-port] [-C connection-id] [-h gateway-host] [-q max-queue-size] [-t timeout] [-v]\n"));
+ ACE_OS::exit (1);
}
Options::Options (void)
diff --git a/docs/ACE-subsets.html b/docs/ACE-subsets.html
index bcdb7e01aeb..611c73d0105 100644
--- a/docs/ACE-subsets.html
+++ b/docs/ACE-subsets.html
@@ -16,7 +16,9 @@
We are currently subsetting ACE+TAO to make them more flexible and to
reduce their footprint for embedded systems. This document describes
-what we're doing and how to leverage our efforts. <P>
+what we've done thus far, what we're planning to do next, and how to
+leverage our efforts to minimize the size of your ACE+TAO
+applications. <P>
<HR><P>
<font size=+2><strong>Contents</strong></font>
@@ -25,12 +27,12 @@ what we're doing and how to leverage our efforts. <P>
Libraries</a>
<li><a href="#Configuration Management">Configuration Management</a>
<li><a href="#Classes">Classes in Each ACE Library Subset</a>
- <li><a href="#Status">Current ACE Subsetting Status</a>
<li><a href="#ACE Library Size Breakdown">ACE Library Size Breakdown</a>
<li><a href="#Building ACE Subsets">Building ACE Subsets</a>
<li><a href="#ACE_OS Adaptation Layer">ACE_OS Adaptation Layer</a>
- <li><a href="#minimumTAO">Minimum TAO</a>
<li><a href="#PACE">POSIX ACE (PACE)</a>
+ <li><a href="#minimumTAO">Minimum TAO</a>
+ <li><a href="#Status">ACE+TAO Subsetting Work in Progress</a>
</ol><p>
@@ -434,32 +436,6 @@ XtReactor
</code></pre>
<hr><p>
-<h3><a name="Status">Current ACE Subsetting Status</a></h3>
-
-The ACE subsetting effort has identified a few areas for
-improvement. These will be addressed in the future:<p>
-
- <ul>
- <li>Log_Msg cleanup: We have a good start on this, but it needs work
- to finish. It might be easiest to make an abstract
- base class, then have ACE_Log_Msg derive from it. That way
- we could remove the exposure of all the #includes in Log_Msg.cpp
- to applications that don't need it. Another alternative would
- be to disable compilation of Log_Msg.cpp when ACE_NLOGGING is
- enabled.<p>
-
- <li>Higher layer interdependencies: we haven't exhaustively
- tested all possible combinations of subsets. It's possible
- that there are interdependencies between some layers that
- we haven't yet identified.<p>
-
- <li>Remove use of multiple inheritance: its only used in a few
- places, in one of the SOCK classes and Service Config. This
- isn't really a subsetting problem, but is necessary to
- support Embedded C++.<p>
- </ul><P>
-
-
<hr><p>
<h3><a name="ACE Library Size Breakdown">ACE Library Size Breakdown</a></h3>
@@ -829,8 +805,6 @@ the <code>ACE_OS</code> member functions, ACE's
<a href="../tests/Basic_Types_Test.cpp">Basic_Types_Test.cpp</a>
for an example of usage.<p>
-<a name="minimumTAO"><!--#include virtual="../TAO/docs/minimumTAO.html" --></a>
-
<P><HR><P>
<a name="PACE">
The <A
@@ -841,18 +815,20 @@ verified systems. When complete, it will offer these benefits: <P>
<OL>
<LI> A strict POSIX.1-like, low-level interface. Its interface is
``POSIX compatible'' by that we mean as close to POSIX.1
- as it can be, given that PACE is not an operating system. And,
- to avoid name conflicts with OS APIs, all low-level
- PACE function names have the <CODE>pace_</CODE> prefix.
+ as it can be, given that PACE is not an operating system.
+ To avoid name conflicts with OS APIs, all low-level
+ PACE function names have the <CODE>pace_</CODE> prefix. <P>
<LI> The low-level interface is a C file, so that it can be used in
- both C and C++ programs.
+ both C and C++ programs. <P>
<LI> The low-level interface is partitioned into multiple files, one
per POSIX.1 section, which will help linkers reduce the footprint for
- statically linked applications.
+ statically linked applications.
</OL><P>
+<a name="minimumTAO"><!--#include virtual="../TAO/docs/minimumTAO.html" --></a>
+
<P><HR><P>
Back to the <A HREF="http://www.cs.wustl.edu/~schmidt/ACE.html">ACE</A>
home page.<BR>
diff --git a/examples/IPC_SAP/FIFO_SAP/FIFO-test.cpp b/examples/IPC_SAP/FIFO_SAP/FIFO-test.cpp
index b17e8a1c51e..b252488a278 100644
--- a/examples/IPC_SAP/FIFO_SAP/FIFO-test.cpp
+++ b/examples/IPC_SAP/FIFO_SAP/FIFO-test.cpp
@@ -72,9 +72,12 @@ main (int argc, char *argv[])
ACE_LOG_MSG->open (argv[0]);
if (argc != 2)
- ACE_ERROR ((LM_ERROR,
- "usage: %n input-file\n%a",
- 1));
+ {
+ ACE_ERROR ((LM_ERROR,
+ "usage: %n input-file\n",
+ 1));
+ ACE_OS::exit (1);
+ }
ACE_FIFO_Recv fifo_reader (FIFO_NAME, O_RDONLY | O_CREAT, PERMS, 0);
diff --git a/examples/Reactor/Misc/notification.cpp b/examples/Reactor/Misc/notification.cpp
index 556ed24089b..9183692a8b5 100644
--- a/examples/Reactor/Misc/notification.cpp
+++ b/examples/Reactor/Misc/notification.cpp
@@ -351,10 +351,12 @@ main (int argc, char *argv[])
ACE_LOG_MSG->open (argv[0]);
if (argc < 4)
- ACE_ERROR ((LM_ERROR,
- "usage: %s delay interval n_threads [iterations]%a\n",
- argv[0],
- 1));
+ {
+ ACE_ERROR ((LM_ERROR,
+ "usage: %s delay interval n_threads [iterations]\n",
+ argv[0]));
+ ACE_OS::exit (1);
+ }
int delay = ACE_OS::atoi (argv[1]);
int interval = ACE_OS::atoi (argv[2]);
diff --git a/examples/Reactor/Misc/pingpong.cpp b/examples/Reactor/Misc/pingpong.cpp
index 07e25a0dc53..05214da6722 100644
--- a/examples/Reactor/Misc/pingpong.cpp
+++ b/examples/Reactor/Misc/pingpong.cpp
@@ -209,10 +209,12 @@ run_svc (ACE_HANDLE handle)
|| reactor.schedule_timer (&callback,
0,
SHUTDOWN_TIME) == -1)
- ACE_ERROR ((LM_ERROR,
- "%p\n%a",
- "reactor",
- 1));
+ {
+ ACE_ERROR ((LM_ERROR,
+ "%p\n",
+ "reactor"));
+ ACE_OS::exit (1);
+ }
// Main event loop (one per process).
diff --git a/examples/Service_Configurator/IPC-tests/client/broadcast_client_test.cpp b/examples/Service_Configurator/IPC-tests/client/broadcast_client_test.cpp
index 48b1c7a1e0b..cec2daa0dd7 100644
--- a/examples/Service_Configurator/IPC-tests/client/broadcast_client_test.cpp
+++ b/examples/Service_Configurator/IPC-tests/client/broadcast_client_test.cpp
@@ -20,7 +20,7 @@ static void
print_usage_and_die (void)
{
ACE_OS::fprintf (stderr, "usage: %s [-p broadcast portnum]\n",
- program_name);
+ program_name);
ACE_OS::exit (1);
}
diff --git a/examples/Service_Configurator/IPC-tests/client/local_dgram_client_test.cpp b/examples/Service_Configurator/IPC-tests/client/local_dgram_client_test.cpp
index ebd419aed02..c1810bf57a0 100644
--- a/examples/Service_Configurator/IPC-tests/client/local_dgram_client_test.cpp
+++ b/examples/Service_Configurator/IPC-tests/client/local_dgram_client_test.cpp
@@ -24,9 +24,9 @@ static void
print_usage_and_die (void)
{
ACE_ERROR ((LM_ERROR,
- "usage: %s [-r rendezvous_dgram] [-c rendezvous_codgram] [-f file]\n%a",
- program_name,
- -1));
+ "usage: %s [-r rendezvous_dgram] [-c rendezvous_codgram] [-f file]\n",
+ program_name));
+ ACE_OS::exit (1);
}
void
diff --git a/examples/Service_Configurator/IPC-tests/client/local_fifo_client_test.cpp b/examples/Service_Configurator/IPC-tests/client/local_fifo_client_test.cpp
index 58cd18df361..67460ae6712 100644
--- a/examples/Service_Configurator/IPC-tests/client/local_fifo_client_test.cpp
+++ b/examples/Service_Configurator/IPC-tests/client/local_fifo_client_test.cpp
@@ -25,8 +25,9 @@ static void
print_usage_and_die (void)
{
ACE_ERROR ((LM_ERROR,
- "usage: %s [-d] [-f rendezvous_fifo]\n%a",
- program_name, -1));
+ "usage: %s [-d] [-f rendezvous_fifo]\n",
+ program_name));
+ ACE_OS::exit (1);
}
static void
diff --git a/examples/Service_Configurator/IPC-tests/client/local_pipe_client_test.cpp b/examples/Service_Configurator/IPC-tests/client/local_pipe_client_test.cpp
index 92820417a4c..600bc09c5a8 100644
--- a/examples/Service_Configurator/IPC-tests/client/local_pipe_client_test.cpp
+++ b/examples/Service_Configurator/IPC-tests/client/local_pipe_client_test.cpp
@@ -24,8 +24,9 @@ static void
print_usage_and_die (void)
{
ACE_ERROR ((LM_ERROR,
- "usage: %s [-r rendezvous] [-f file]\n%a",
- program_name, -1));
+ "usage: %s [-r rendezvous] [-f file]\n",
+ program_name));
+ ACE_OS::exit (1);
}
void
diff --git a/examples/Service_Configurator/IPC-tests/client/local_spipe_client_test.cpp b/examples/Service_Configurator/IPC-tests/client/local_spipe_client_test.cpp
index 05dd74dc6b3..711b1fdd581 100644
--- a/examples/Service_Configurator/IPC-tests/client/local_spipe_client_test.cpp
+++ b/examples/Service_Configurator/IPC-tests/client/local_spipe_client_test.cpp
@@ -26,9 +26,9 @@ static void
print_usage_and_die (void)
{
ACE_ERROR ((LM_ERROR,
- "usage: %s [-d] [-r rendezvous_spipe]\n%a",
- program_name,
- -1));
+ "usage: %s [-d] [-r rendezvous_spipe]\n",
+ program_name));
+ ACE_OS::exit (1);
}
static void
diff --git a/examples/Service_Configurator/IPC-tests/client/local_stream_client_test.cpp b/examples/Service_Configurator/IPC-tests/client/local_stream_client_test.cpp
index 0c28532906f..764ba8d1d5e 100644
--- a/examples/Service_Configurator/IPC-tests/client/local_stream_client_test.cpp
+++ b/examples/Service_Configurator/IPC-tests/client/local_stream_client_test.cpp
@@ -22,9 +22,9 @@ static void
print_usage_and_die (void)
{
ACE_ERROR ((LM_ERROR,
- "usage: %s [-r rendezvous] [-f file]%a\n",
- program_name,
- -1));
+ "usage: %s [-r rendezvous] [-f file]\n",
+ program_name));
+ ACE_OS::exit (1);
}
void
diff --git a/examples/Service_Configurator/IPC-tests/client/remote_dgram_client_test.cpp b/examples/Service_Configurator/IPC-tests/client/remote_dgram_client_test.cpp
index 762b2ed9df4..efa28f3ec98 100644
--- a/examples/Service_Configurator/IPC-tests/client/remote_dgram_client_test.cpp
+++ b/examples/Service_Configurator/IPC-tests/client/remote_dgram_client_test.cpp
@@ -25,9 +25,9 @@ static const char *file_name = "./remote_data";
static void print_usage_and_die (void)
{
ACE_ERROR ((LM_ERROR,
- "usage: %s [-p portnum] [-h host_name] [-f file]\n%a",
- program_name,
- -1));
+ "usage: %s [-p portnum] [-h host_name] [-f file]\n",
+ program_name));
+ ACE_OS::exit (1);
}
void
diff --git a/examples/Service_Configurator/IPC-tests/client/remote_service_directory_test.cpp b/examples/Service_Configurator/IPC-tests/client/remote_service_directory_test.cpp
index 287a0feb7e1..9aaf18995b1 100644
--- a/examples/Service_Configurator/IPC-tests/client/remote_service_directory_test.cpp
+++ b/examples/Service_Configurator/IPC-tests/client/remote_service_directory_test.cpp
@@ -22,8 +22,8 @@ static void
print_usage_and_die (void)
{
ACE_ERROR ((LM_ERROR,
- "usage: %n [-p portnum] [-h host_name] [-r]\n%a",
- 1));
+ "usage: %n [-p portnum] [-h host_name] [-r]\n"));
+ ACE_OS::exit (1);
}
void
diff --git a/examples/Service_Configurator/IPC-tests/client/remote_stream_client_test.cpp b/examples/Service_Configurator/IPC-tests/client/remote_stream_client_test.cpp
index 215e507ebc2..d5c91b394a6 100644
--- a/examples/Service_Configurator/IPC-tests/client/remote_stream_client_test.cpp
+++ b/examples/Service_Configurator/IPC-tests/client/remote_stream_client_test.cpp
@@ -27,9 +27,9 @@ static void
print_usage_and_die (void)
{
ACE_ERROR ((LM_ERROR,
- "usage: %s [-p portnum] [-h host_name] [-f file]\n%a",
- program_name,
- -1));
+ "usage: %s [-p portnum] [-h host_name] [-f file]\n",
+ program_name));
+ ACE_OS::exit (1);
}
void
diff --git a/examples/Service_Configurator/IPC-tests/client/remote_thr_stream_client_test.cpp b/examples/Service_Configurator/IPC-tests/client/remote_thr_stream_client_test.cpp
index 5f113accefd..4a08d085254 100644
--- a/examples/Service_Configurator/IPC-tests/client/remote_thr_stream_client_test.cpp
+++ b/examples/Service_Configurator/IPC-tests/client/remote_thr_stream_client_test.cpp
@@ -27,9 +27,9 @@ static const char *file_name = "./remote_data";
static void print_usage_and_die (void)
{
ACE_ERROR ((LM_ERROR,
- "usage: %s [-p portnum] [-h host_name] [-f file]\n%a",
- program_name,
- -1));
+ "usage: %s [-p portnum] [-h host_name] [-f file]\n",
+ program_name));
+ ACE_OS::exit (1);
}
void
diff --git a/examples/Shared_Malloc/Options.cpp b/examples/Shared_Malloc/Options.cpp
index 1870d07d1ae..90a84b458e0 100644
--- a/examples/Shared_Malloc/Options.cpp
+++ b/examples/Shared_Malloc/Options.cpp
@@ -105,7 +105,8 @@ Options::print_usage_and_die (void)
"[-s] (use SysV shared memory rather than mmap)\n"
"[-t number of threads or processes to spawn]\n"
"[-T] (enable tracking)\n"
- "[-n iteration_count]\n%a", -1));
+ "[-n iteration_count]\n"));
+ ACE_OS::exit (1);
/* NOTREACHED */
}
diff --git a/include/makeinclude/outputdir.bor b/include/makeinclude/outputdir.bor
index 705c433d43e..d56853f8027 100644
--- a/include/makeinclude/outputdir.bor
+++ b/include/makeinclude/outputdir.bor
@@ -61,7 +61,7 @@ MAKE_BINDIR=if not exist "$(BINDIR)" mkdir "$(BINDIR)"
# PASCAL/non-PASCAL build configurations use the same object directory
# since their compiler options are identical.
!ifndef OBJDIR
-OBJDIR=$(BASE_OBJDIR)\$(NAME)\$(STATIC_DIR)\$(DEBUG_DIR)
+OBJDIR=$(BASE_OBJDIR)\$(NAME)\$(STATIC_DIR)\$(DEBUG_DIR)\$(PASCAL_DIR)
!endif
!ifdef MKDIR
diff --git a/performance-tests/Misc/context_switch_time.cpp b/performance-tests/Misc/context_switch_time.cpp
index 0178b04c427..611fc67ab6f 100644
--- a/performance-tests/Misc/context_switch_time.cpp
+++ b/performance-tests/Misc/context_switch_time.cpp
@@ -1102,7 +1102,9 @@ get_options (int argc, char *argv[])
new_lwp = THR_NEW_LWP;
break;
case '?':
- ACE_DEBUG ((LM_ERROR, "usage: %n %s\n%a", usage, 0));
+ ACE_DEBUG ((LM_ERROR, "usage: %n %s\n", usage));
+ ACE_OS::exit (1);
+ /* NOTREACHED */
break;
default:
ACE_DEBUG ((LM_ERROR, "%n: unknown arg, %c\n", opt));
diff --git a/performance-tests/Misc/preempt.cpp b/performance-tests/Misc/preempt.cpp
index f824ab17027..843e5572ba4 100644
--- a/performance-tests/Misc/preempt.cpp
+++ b/performance-tests/Misc/preempt.cpp
@@ -131,8 +131,8 @@ High_Priority_Task::open (void *)
// Become an active object.
if (this->activate (flags, 1, 0, this->priority_) == -1)
{
- ACE_DEBUG ((LM_ERROR, "(%P|%t) task activation failed, exiting!\n%a",
- -1));
+ ACE_DEBUG ((LM_ERROR, "(%P|%t) task activation failed, exiting!\n"));
+ ACE_OS::exit (1);
}
return 0;