summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliam R. Otte <wotte@dre.vanderbilt.edu>2010-05-02 17:07:42 +0000
committerWilliam R. Otte <wotte@dre.vanderbilt.edu>2010-05-02 17:07:42 +0000
commit4af46b8dcd79219b30dbcc08ba9f9a8dc779f822 (patch)
treead621ae2f589ad612938cb5400f3e1208c2db4b3
parent306a54c5ec18e3a8711ed515abae5d6f51797a35 (diff)
downloadATCD-4af46b8dcd79219b30dbcc08ba9f9a8dc779f822.tar.gz
udate from head
-rw-r--r--modules/ACE/ChangeLog142
-rw-r--r--modules/ACE/Release2
-rw-r--r--modules/ACE/THANKS1
-rw-r--r--modules/ACE/ace/Atomic_Op.cpp32
-rw-r--r--modules/ACE/ace/Atomic_Op.h2
-rw-r--r--modules/ACE/ace/Atomic_Op.inl28
-rw-r--r--modules/ACE/ace/Dev_Poll_Reactor.cpp54
-rw-r--r--modules/ACE/ace/Dev_Poll_Reactor.h2
-rw-r--r--modules/ACE/ace/Service_Repository.cpp90
-rw-r--r--modules/ACE/ace/Service_Types.cpp39
-rw-r--r--modules/ACE/ace/Service_Types.h23
-rw-r--r--modules/ACE/ace/Service_Types.inl11
-rw-r--r--modules/ACE/ace/Stack_Trace.cpp20
-rw-r--r--modules/ACE/ace/config-sunos5.10.h2
-rw-r--r--modules/ACE/bin/MakeProjectCreator/config/global.features2
-rw-r--r--modules/ACE/bin/PerlACE/Process_Unix.pm2
-rwxr-xr-xmodules/ACE/bin/make_release.py16
-rw-r--r--modules/ACE/debian/Basic_Logging_Service.sgml (renamed from modules/ACE/debianbuild/Basic_Logging_Service.sgml)0
-rw-r--r--modules/ACE/debian/Event_Logging_Service.sgml (renamed from modules/ACE/debianbuild/Event_Logging_Service.sgml)0
-rw-r--r--modules/ACE/debian/Notify_Logging_Service.sgml (renamed from modules/ACE/debianbuild/Notify_Logging_Service.sgml)0
-rw-r--r--modules/ACE/debian/README.Debian (renamed from modules/ACE/debianbuild/README.Debian)0
-rw-r--r--modules/ACE/debian/RTEvent_Logging_Service.sgml (renamed from modules/ACE/debianbuild/RTEvent_Logging_Service.sgml)0
-rw-r--r--modules/ACE/debian/TAO_ORB_Options.sgml (renamed from modules/ACE/debianbuild/TAO_ORB_Options.sgml)0
-rw-r--r--modules/ACE/debian/TODO (renamed from modules/ACE/debianbuild/TODO)0
-rw-r--r--modules/ACE/debian/changelog (renamed from modules/ACE/debianbuild/changelog)0
-rwxr-xr-xmodules/ACE/debian/cmp-installation.sh (renamed from modules/ACE/debianbuild/cmp-installation.sh)0
-rw-r--r--modules/ACE/debian/compat (renamed from modules/ACE/debianbuild/compat)0
-rw-r--r--modules/ACE/debian/control (renamed from modules/ACE/debianbuild/control)0
-rw-r--r--modules/ACE/debian/copyright (renamed from modules/ACE/debianbuild/copyright)0
-rw-r--r--modules/ACE/debian/dsc (renamed from modules/ACE/debianbuild/dsc)0
-rw-r--r--modules/ACE/debian/gperf-ace.docs (renamed from modules/ACE/debianbuild/gperf-ace.docs)0
-rw-r--r--modules/ACE/debian/gperf-ace.install (renamed from modules/ACE/debianbuild/gperf-ace.install)0
-rw-r--r--modules/ACE/debian/libace-5.7.8.docs (renamed from modules/ACE/debianbuild/libace-5.7.8.docs)0
-rw-r--r--modules/ACE/debian/libace-5.7.8.install (renamed from modules/ACE/debianbuild/libace-5.7.8.install)0
-rw-r--r--modules/ACE/debian/libace-dev.docs (renamed from modules/ACE/debianbuild/libace-dev.docs)0
-rw-r--r--modules/ACE/debian/libace-dev.install (renamed from modules/ACE/debianbuild/libace-dev.install)0
-rw-r--r--modules/ACE/debian/libace-dev.links (renamed from modules/ACE/debianbuild/libace-dev.links)0
-rw-r--r--modules/ACE/debian/libace-doc.docs (renamed from modules/ACE/debianbuild/libace-doc.docs)0
-rw-r--r--modules/ACE/debian/libace-flreactor-5.7.8.install (renamed from modules/ACE/debianbuild/libace-flreactor-5.7.8.install)0
-rw-r--r--modules/ACE/debian/libace-flreactor-dev.install (renamed from modules/ACE/debianbuild/libace-flreactor-dev.install)0
-rw-r--r--modules/ACE/debian/libace-foxreactor-5.7.8.install (renamed from modules/ACE/debianbuild/libace-foxreactor-5.7.8.install)0
-rw-r--r--modules/ACE/debian/libace-foxreactor-dev.install (renamed from modules/ACE/debianbuild/libace-foxreactor-dev.install)0
-rw-r--r--modules/ACE/debian/libace-htbp-5.7.8.install (renamed from modules/ACE/debianbuild/libace-htbp-5.7.8.install)0
-rw-r--r--modules/ACE/debian/libace-htbp-dev.docs (renamed from modules/ACE/debianbuild/libace-htbp-dev.docs)0
-rw-r--r--modules/ACE/debian/libace-htbp-dev.install (renamed from modules/ACE/debianbuild/libace-htbp-dev.install)0
-rw-r--r--modules/ACE/debian/libace-qtreactor-5.7.8.install (renamed from modules/ACE/debianbuild/libace-qtreactor-5.7.8.install)0
-rw-r--r--modules/ACE/debian/libace-qtreactor-dev.install (renamed from modules/ACE/debianbuild/libace-qtreactor-dev.install)0
-rw-r--r--modules/ACE/debian/libace-rmcast-5.7.8.install (renamed from modules/ACE/debianbuild/libace-rmcast-5.7.8.install)0
-rw-r--r--modules/ACE/debian/libace-rmcast-dev.docs (renamed from modules/ACE/debianbuild/libace-rmcast-dev.docs)0
-rw-r--r--modules/ACE/debian/libace-rmcast-dev.install (renamed from modules/ACE/debianbuild/libace-rmcast-dev.install)0
-rw-r--r--modules/ACE/debian/libace-ssl-5.7.8.install (renamed from modules/ACE/debianbuild/libace-ssl-5.7.8.install)0
-rw-r--r--modules/ACE/debian/libace-ssl-dev.install (renamed from modules/ACE/debianbuild/libace-ssl-dev.install)0
-rw-r--r--modules/ACE/debian/libace-tkreactor-5.7.8.install (renamed from modules/ACE/debianbuild/libace-tkreactor-5.7.8.install)0
-rw-r--r--modules/ACE/debian/libace-tkreactor-dev.install (renamed from modules/ACE/debianbuild/libace-tkreactor-dev.install)0
-rw-r--r--modules/ACE/debian/libace-tmcast-5.7.8.install (renamed from modules/ACE/debianbuild/libace-tmcast-5.7.8.install)0
-rw-r--r--modules/ACE/debian/libace-tmcast-dev.docs (renamed from modules/ACE/debianbuild/libace-tmcast-dev.docs)0
-rw-r--r--modules/ACE/debian/libace-tmcast-dev.install (renamed from modules/ACE/debianbuild/libace-tmcast-dev.install)0
-rw-r--r--modules/ACE/debian/libace-xtreactor-5.7.8.install (renamed from modules/ACE/debianbuild/libace-xtreactor-5.7.8.install)0
-rw-r--r--modules/ACE/debian/libace-xtreactor-dev.install (renamed from modules/ACE/debianbuild/libace-xtreactor-dev.install)0
-rw-r--r--modules/ACE/debian/libacexml-5.7.8.docs (renamed from modules/ACE/debianbuild/libacexml-5.7.8.docs)0
-rw-r--r--modules/ACE/debian/libacexml-5.7.8.install (renamed from modules/ACE/debianbuild/libacexml-5.7.8.install)0
-rw-r--r--modules/ACE/debian/libacexml-dev.docs (renamed from modules/ACE/debianbuild/libacexml-dev.docs)0
-rw-r--r--modules/ACE/debian/libacexml-dev.install (renamed from modules/ACE/debianbuild/libacexml-dev.install)0
-rw-r--r--modules/ACE/debian/libacexml-dev.links (renamed from modules/ACE/debianbuild/libacexml-dev.links)0
-rw-r--r--modules/ACE/debian/libkokyu-5.7.8.docs (renamed from modules/ACE/debianbuild/libkokyu-5.7.8.docs)0
-rw-r--r--modules/ACE/debian/libkokyu-5.7.8.install (renamed from modules/ACE/debianbuild/libkokyu-5.7.8.install)0
-rw-r--r--modules/ACE/debian/libkokyu-dev.docs (renamed from modules/ACE/debianbuild/libkokyu-dev.docs)0
-rw-r--r--modules/ACE/debian/libkokyu-dev.install (renamed from modules/ACE/debianbuild/libkokyu-dev.install)0
-rw-r--r--modules/ACE/debian/libkokyu-dev.links (renamed from modules/ACE/debianbuild/libkokyu-dev.links)0
-rw-r--r--modules/ACE/debian/libtao-1.7.8.docs (renamed from modules/ACE/debianbuild/libtao-1.7.8.docs)0
-rw-r--r--modules/ACE/debian/libtao-1.7.8.install (renamed from modules/ACE/debianbuild/libtao-1.7.8.install)0
-rw-r--r--modules/ACE/debian/libtao-dev.dirs (renamed from modules/ACE/debianbuild/libtao-dev.dirs)0
-rw-r--r--modules/ACE/debian/libtao-dev.docs (renamed from modules/ACE/debianbuild/libtao-dev.docs)0
-rw-r--r--modules/ACE/debian/libtao-dev.install (renamed from modules/ACE/debianbuild/libtao-dev.install)0
-rw-r--r--modules/ACE/debian/libtao-dev.links (renamed from modules/ACE/debianbuild/libtao-dev.links)0
-rw-r--r--modules/ACE/debian/libtao-doc.docs (renamed from modules/ACE/debianbuild/libtao-doc.docs)0
-rw-r--r--modules/ACE/debian/libtao-flresource-1.7.8.install (renamed from modules/ACE/debianbuild/libtao-flresource-1.7.8.install)0
-rw-r--r--modules/ACE/debian/libtao-flresource-dev.install (renamed from modules/ACE/debianbuild/libtao-flresource-dev.install)0
-rw-r--r--modules/ACE/debian/libtao-foxresource-1.7.8.install (renamed from modules/ACE/debianbuild/libtao-foxresource-1.7.8.install)0
-rw-r--r--modules/ACE/debian/libtao-foxresource-dev.install (renamed from modules/ACE/debianbuild/libtao-foxresource-dev.install)0
-rw-r--r--modules/ACE/debian/libtao-orbsvcs-1.7.8.NEWS (renamed from modules/ACE/debianbuild/libtao-orbsvcs-1.7.8.NEWS)0
-rw-r--r--modules/ACE/debian/libtao-orbsvcs-1.7.8.install (renamed from modules/ACE/debianbuild/libtao-orbsvcs-1.7.8.install)0
-rw-r--r--modules/ACE/debian/libtao-orbsvcs-dev.install (renamed from modules/ACE/debianbuild/libtao-orbsvcs-dev.install)0
-rw-r--r--modules/ACE/debian/libtao-orbsvcs-dev.links (renamed from modules/ACE/debianbuild/libtao-orbsvcs-dev.links)0
-rw-r--r--modules/ACE/debian/libtao-qtresource-1.7.8.install (renamed from modules/ACE/debianbuild/libtao-qtresource-1.7.8.install)0
-rw-r--r--modules/ACE/debian/libtao-qtresource-dev.install (renamed from modules/ACE/debianbuild/libtao-qtresource-dev.install)0
-rw-r--r--modules/ACE/debian/libtao-tkresource-1.7.8.install (renamed from modules/ACE/debianbuild/libtao-tkresource-1.7.8.install)0
-rw-r--r--modules/ACE/debian/libtao-tkresource-dev.install (renamed from modules/ACE/debianbuild/libtao-tkresource-dev.install)0
-rw-r--r--modules/ACE/debian/libtao-xtresource-1.7.8.install (renamed from modules/ACE/debianbuild/libtao-xtresource-1.7.8.install)0
-rw-r--r--modules/ACE/debian/libtao-xtresource-dev.install (renamed from modules/ACE/debianbuild/libtao-xtresource-dev.install)0
-rw-r--r--modules/ACE/debian/mpc-ace.docs (renamed from modules/ACE/debianbuild/mpc-ace.docs)0
-rw-r--r--modules/ACE/debian/mpc-ace.install (renamed from modules/ACE/debianbuild/mpc-ace.install)0
-rw-r--r--modules/ACE/debian/mpc-ace.links (renamed from modules/ACE/debianbuild/mpc-ace.links)0
-rw-r--r--modules/ACE/debian/mpc-ace.manpages (renamed from modules/ACE/debianbuild/mpc-ace.manpages)0
-rw-r--r--modules/ACE/debian/patches/00list (renamed from modules/ACE/debianbuild/patches/00list)0
-rw-r--r--modules/ACE/debian/patches/00patch-opts (renamed from modules/ACE/debianbuild/patches/00patch-opts)0
-rw-r--r--modules/ACE/debian/patches/24-add-missing-headers.dpatch (renamed from modules/ACE/debianbuild/patches/24-add-missing-headers.dpatch)0
-rw-r--r--modules/ACE/debian/patches/34-bts386713.dpatch (renamed from modules/ACE/debianbuild/patches/34-bts386713.dpatch)0
-rw-r--r--modules/ACE/debian/patches/50-prepatch-dummy-mark.dpatch (renamed from modules/ACE/debianbuild/patches/50-prepatch-dummy-mark.dpatch)0
-rw-r--r--modules/ACE/debian/patches/90-patch-mpc-basedir.dpatch (renamed from modules/ACE/debianbuild/patches/90-patch-mpc-basedir.dpatch)0
-rw-r--r--modules/ACE/debian/patches/91-patch-dg-basedir.dpatch (renamed from modules/ACE/debianbuild/patches/91-patch-dg-basedir.dpatch)0
-rw-r--r--modules/ACE/debian/patches/92-default-ACE_ROOT.dpatch (renamed from modules/ACE/debianbuild/patches/92-default-ACE_ROOT.dpatch)0
-rw-r--r--modules/ACE/debian/platform_macros.GNU.in (renamed from modules/ACE/debianbuild/platform_macros.GNU.in)0
-rw-r--r--modules/ACE/debian/rules (renamed from modules/ACE/debianbuild/rules)0
-rw-r--r--modules/ACE/debian/tao-concurrency.docs (renamed from modules/ACE/debianbuild/tao-concurrency.docs)0
-rw-r--r--modules/ACE/debian/tao-concurrency.install (renamed from modules/ACE/debianbuild/tao-concurrency.install)0
-rw-r--r--modules/ACE/debian/tao-event.docs (renamed from modules/ACE/debianbuild/tao-event.docs)0
-rw-r--r--modules/ACE/debian/tao-event.install (renamed from modules/ACE/debianbuild/tao-event.install)0
-rw-r--r--modules/ACE/debian/tao-ft.docs (renamed from modules/ACE/debianbuild/tao-ft.docs)0
-rw-r--r--modules/ACE/debian/tao-ft.install (renamed from modules/ACE/debianbuild/tao-ft.install)0
-rw-r--r--modules/ACE/debian/tao-ftrtevent.install (renamed from modules/ACE/debianbuild/tao-ftrtevent.install)0
-rw-r--r--modules/ACE/debian/tao-idl.install (renamed from modules/ACE/debianbuild/tao-idl.install)0
-rw-r--r--modules/ACE/debian/tao-idl.links (renamed from modules/ACE/debianbuild/tao-idl.links)0
-rw-r--r--modules/ACE/debian/tao-idl.manpages (renamed from modules/ACE/debianbuild/tao-idl.manpages)0
-rw-r--r--modules/ACE/debian/tao-ifr.docs (renamed from modules/ACE/debianbuild/tao-ifr.docs)0
-rw-r--r--modules/ACE/debian/tao-ifr.install (renamed from modules/ACE/debianbuild/tao-ifr.install)0
-rw-r--r--modules/ACE/debian/tao-imr.docs (renamed from modules/ACE/debianbuild/tao-imr.docs)0
-rw-r--r--modules/ACE/debian/tao-imr.install (renamed from modules/ACE/debianbuild/tao-imr.install)0
-rw-r--r--modules/ACE/debian/tao-lifecycle.install (renamed from modules/ACE/debianbuild/tao-lifecycle.install)0
-rw-r--r--modules/ACE/debian/tao-load.docs (renamed from modules/ACE/debianbuild/tao-load.docs)0
-rw-r--r--modules/ACE/debian/tao-load.install (renamed from modules/ACE/debianbuild/tao-load.install)0
-rw-r--r--modules/ACE/debian/tao-log.docs (renamed from modules/ACE/debianbuild/tao-log.docs)0
-rw-r--r--modules/ACE/debian/tao-log.install (renamed from modules/ACE/debianbuild/tao-log.install)0
-rw-r--r--modules/ACE/debian/tao-log.manpages (renamed from modules/ACE/debianbuild/tao-log.manpages)0
-rw-r--r--modules/ACE/debian/tao-naming.docs (renamed from modules/ACE/debianbuild/tao-naming.docs)0
-rw-r--r--modules/ACE/debian/tao-naming.install (renamed from modules/ACE/debianbuild/tao-naming.install)0
-rw-r--r--modules/ACE/debian/tao-notify.docs (renamed from modules/ACE/debianbuild/tao-notify.docs)0
-rw-r--r--modules/ACE/debian/tao-notify.install (renamed from modules/ACE/debianbuild/tao-notify.install)0
-rw-r--r--modules/ACE/debian/tao-rtevent.install (renamed from modules/ACE/debianbuild/tao-rtevent.install)0
-rw-r--r--modules/ACE/debian/tao-scheduling.install (renamed from modules/ACE/debianbuild/tao-scheduling.install)0
-rw-r--r--modules/ACE/debian/tao-time.docs (renamed from modules/ACE/debianbuild/tao-time.docs)0
-rw-r--r--modules/ACE/debian/tao-time.install (renamed from modules/ACE/debianbuild/tao-time.install)0
-rw-r--r--modules/ACE/debian/tao-trading.docs (renamed from modules/ACE/debianbuild/tao-trading.docs)0
-rw-r--r--modules/ACE/debian/tao-trading.install (renamed from modules/ACE/debianbuild/tao-trading.install)0
-rw-r--r--modules/ACE/debian/tao-utils.docs (renamed from modules/ACE/debianbuild/tao-utils.docs)0
-rw-r--r--modules/ACE/debian/tao-utils.install (renamed from modules/ACE/debianbuild/tao-utils.install)0
-rw-r--r--modules/ACE/debian/tao_idl (renamed from modules/ACE/debianbuild/tao_idl)0
-rw-r--r--modules/ACE/debian/tao_ifr (renamed from modules/ACE/debianbuild/tao_ifr)0
-rw-r--r--modules/ACE/debian/watch (renamed from modules/ACE/debianbuild/watch)0
-rw-r--r--modules/ACE/examples/ASX/CCM_App/SC_Server.cpp1
-rw-r--r--modules/ACE/examples/Connection/blocking/SPIPE-connector.cpp3
-rw-r--r--modules/ACE/netsvcs/lib/Client_Logging_Handler.cpp4
-rw-r--r--modules/ACE/netsvcs/lib/TS_Server_Handler.cpp2
-rw-r--r--modules/ACE/tests/Bug_2740_Regression_Test.cpp40
-rw-r--r--modules/ACE/tests/Bug_3334_Regression_Test.cpp2
-rw-r--r--modules/ACE/tests/Dev_Poll_Reactor_Test.cpp43
-rw-r--r--modules/ACE/tests/MT_Reference_Counted_Event_Handler_Test.cpp55
-rw-r--r--modules/ACE/tests/Proactor_Test.cpp25
-rw-r--r--modules/ACE/tests/Proactor_Test_IPV6.cpp25
-rw-r--r--modules/ACE/tests/Proactor_UDP_Test.cpp27
-rw-r--r--modules/ACE/tests/SSL/Bug_2912_Regression_Test.cpp68
-rw-r--r--modules/ACE/tests/SSL/SSL_Asynch_Stream_Test.cpp30
-rw-r--r--modules/ACE/tests/TP_Reactor_Test.cpp27
-rw-r--r--modules/ACE/tests/run_test.lst2
154 files changed, 610 insertions, 212 deletions
diff --git a/modules/ACE/ChangeLog b/modules/ACE/ChangeLog
index 8fea111a085..c93ea80a343 100644
--- a/modules/ACE/ChangeLog
+++ b/modules/ACE/ChangeLog
@@ -1,3 +1,139 @@
+Thu Apr 29 03:34:56 UTC 2010 Chris Cleeland <cleeland@ociweb.com>
+
+ * ace/Stack_Trace.cpp: Clarified origins of platform-specific
+ code in the leading comments for the file.
+
+Wed Apr 28 09:23:47 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * netsvcs/lib/Client_Logging_Handler.cpp:
+ * netsvcs/lib/TS_Server_Handler.cpp:
+ Use %C for logging the hostname instead of %s. This fixes bugzilla
+ 3846, thanks to Christian Freund <freund at wrz dot de> for reporting
+ this
+
+Mon Apr 26 08:29:58 UTC 2010 Vladimir Zykov <vladimir.zykov@prismtech.com>
+
+ * tests/SSL/SSL_Asynch_Stream_Test.cpp:
+ * tests/SSL/Bug_2912_Regression_Test.cpp:
+ * tests/Proactor_UDP_Test.cpp:
+ * tests/MT_Reference_Counted_Event_Handler_Test.cpp:
+ * tests/Proactor_Test_IPV6.cpp:
+ * tests/Bug_2740_Regression_Test.cpp:
+ * tests/Dev_Poll_Reactor_Test.cpp:
+ * tests/Proactor_Test.cpp:
+ * tests/TP_Reactor_Test.cpp:
+ All these tests need to block SIGPIPE signal. POSIX defines that
+ newly created threads must inherit signal mask from the creating
+ thread. The later doesn't happen at least on Solaris 10. With this
+ change each new thread in the above tests will block SIGPIPE signal
+ individually.
+
+Thu Apr 22 07:51:42 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * Release:
+ * bin/make_release.py:
+ Updated because of rename
+
+ * debian:
+ * debianbuild:
+ Renamed debianbuild to debianbuild
+
+Wed Apr 21 13:36:30 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * examples/Connection/blocking/SPIPE-connector.cpp:
+ Use Reactor instead of Proactor, thanks to Dave <dwh0403 at 163 dot com>
+ for reporting this
+
+Tue Apr 20 13:02:46 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Atomic_Op.h:
+ Fix redefinition warning
+
+Mon Apr 19 18:17:30 UTC 2010 UTC 2010 Chad Beaulac <chad@objectivesolutions.com
+
+ * ace/Service_Repository.cpp
+ Modified ASR::fini to print debug info for empty
+ service entries and handle empty service entries.
+ This fixes the ASR remove functionality that was
+ one of the reasons SC_Server was crashing at shutdown.
+
+ * examples/ASX/CCM_App/SC_Server.cpp
+ Removing signal handler before main exit to present SEGV
+
+ * tests/run_test.lst
+ Removed !FIXED_BUGS_ONLY from Bug_3334_Regression_Test
+ Apparently it was missed in the last commit.
+
+ This fixes Bugzilla #2916 and #3205.
+ I'll create another patch for #3334 after this commit.
+
+Mon Apr 19 12:44:56 UTC 2010 Chad Beaulac <chad@objectivesolutions.com>
+
+ * ace/Service_Types.h
+ * ace/Service_Types.inl
+ * ace/Service_Types.cpp
+ Added service_type_ attr to expose the type of service being
+ managed to the ACE_Service_Repository. This allows the ASR to
+ manage the lifecycle of the ACE_Module and ACE_Stream in order to
+ avoid a double delete of ACE_Module at shutdown.
+
+ ACE_Stream_Type::fini was modified to not call ACE_Module_Type::fini
+ as this will results in a double delete when ACE_Service_Repository::fini
+ is called. ACE_Stream_Type::remove(module_name) was modified to not call
+ ACE_Module_Type::fini as this will results in a double delete
+ when ACE_Service_Repository::fini is called also.
+
+ * ace/Service_Repository.cpp
+ Modified ASR::fini to iterate over the service_array_ twice.
+ ACE_Service_Type::fini is called on all ACE_Stream_Type and
+ ACE_Service_Object_Type instances first. Then, fini is called on
+ all ACE_Modules_Type instances. All calls to fini are done in the
+ order the services appear in the ASR::service_array_ except for
+ the grouping described here. The calls to ACE_Module_Type::fini
+ must be done last because ACE_Stream_Type::fini accesses the Modules
+ so they must not be deleted by a call to ACE_Module_Type::fini
+ before that.
+
+ * tests/Bug_3334_Regresssion_Test.cpp
+ Added call to ACE_Service_Repository::fini_svcs() to capture all
+ debug output before the application exits.
+
+ * tests/run_tests.lst
+ Removed !FIXED_BUGS_ONLY from Bug_3334_Regression_Test
+
+ This fixes Bugzilla #3334
+
+Mon Apr 19 06:54:01 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * bin/MakeProjectCreator/config/global.features:
+ Enabled LightWeigth CCM as default, if you want to use the
+ full ccm features set ccm_lw to 0 in your default.features file
+
+Fri Apr 16 13:02:04 UTC 2010 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/Atomic_Op.h:
+ * ace/Atomic_Op.inl:
+ * ace/Atomic_Op.cpp:
+ * ace/config-sunos5.10.h:
+ Added support for the Solaris 10 Atomic support, thanks
+ to Aleksandar Vukajlovic <aleksandar dot vukajlovic at finsoft dot rs>
+ for providing the patches
+
+Wed Apr 14 11:22:27 UTC 2010 Steve Huston <shuston@riverace.com>
+
+ * ace/Dev_Poll_Reactor.cpp: Fixed compile error on some g++ versions.
+
+Tue Apr 13 20:34:40 UTC 2010 Steve Huston <shuston@riverace.com>
+
+ * bin/PerlACE/Process_Unix.pm: Fix typo that broke all tests.
+
+Tue Apr 13 19:34:40 UTC 2010 Steve Huston <shuston@riverace.com>
+
+ * ace/Dev_Poll_Reactor.{h cpp}: Reorder the enqueue/pipe operations
+ when adding a notification to close the race where notifies can get
+ lost in the ACE_HAS_NOTIFICATION_QUEUE case. Also fixed a misplaced
+ #endif in read_notification_pipe() and cleaned it up some.
+
Mon Apr 12 09:31:54 UTC 2010 Martin Corino <mcorino@remedy.nl>
* bin/PerlACE/TestTarget_WinCE.pm:
@@ -12,10 +148,10 @@ Mon Apr 12 09:31:54 UTC 2010 Martin Corino <mcorino@remedy.nl>
* bin/PerlACE/Process_Win32.pm:
* bin/PerlACE/Run_Test.pm:
* bin/PerlACE/Process_VMS.pm:
-
- Added support for running multiplatform tests using remote shell
+
+ Added support for running multiplatform tests using remote shell
connections.
- Currently only supported for *nix-like platforms
+ Currently only supported for *nix-like platforms
(like Linux PPC64 <-> Linux x86_64).
Thu Apr 8 21:25:54 UTC 2010 Abdul Sowayan <sowayan@gmail.com>
diff --git a/modules/ACE/Release b/modules/ACE/Release
index 485f4a51eab..5126281422b 100644
--- a/modules/ACE/Release
+++ b/modules/ACE/Release
@@ -66,7 +66,7 @@ CONTROLLED_FILES = \
apps \
bin \
configure.ac \
- debianbuild \
+ debian \
lib \
MPC \
docs \
diff --git a/modules/ACE/THANKS b/modules/ACE/THANKS
index bcda25b0c57..81497dda3b1 100644
--- a/modules/ACE/THANKS
+++ b/modules/ACE/THANKS
@@ -2322,6 +2322,7 @@ Olivier Langlois <olivier at olivierlanglois dot net>
Patrick Soboljew <patrick dot soboljew at gmail dot com>
Tim Pinkawa <tpinkawa at eagleseven dot com>
Ed Blackmond <ed dot blackmond at themis dot com>
+Dave <dwh0403 at 163 dot com>
I would particularly like to thank Paul Stephenson, who worked with me
at Ericsson in the early 1990's. Paul devised the recursive Makefile
diff --git a/modules/ACE/ace/Atomic_Op.cpp b/modules/ACE/ace/Atomic_Op.cpp
index 9076b9f67ed..45b339f003e 100644
--- a/modules/ACE/ace/Atomic_Op.cpp
+++ b/modules/ACE/ace/Atomic_Op.cpp
@@ -34,8 +34,8 @@ single_cpu_increment (volatile long *value)
unsigned long addr = reinterpret_cast<unsigned long> (value);
asm( "xadd %0, (%1)" : "+r"(tmp) : "r"(addr) );
return tmp + 1;
-#elif defined (sun) || \
- (defined (__SUNPRO_CC) && (defined (__i386) || defined (__x86_64)))
+#elif !defined (ACE_HAS_SOLARIS_ATOMIC_LIB) && (defined (sun) || \
+ (defined (__SUNPRO_CC) && (defined (__i386) || defined (__x86_64))))
return ace_atomic_add_long (
reinterpret_cast<volatile unsigned long*> (value), 1);
#elif defined(__GNUC__) && defined(PPC)
@@ -58,8 +58,8 @@ single_cpu_decrement (volatile long *value)
unsigned long addr = reinterpret_cast<unsigned long> (value);
asm( "xadd %0, (%1)" : "+r"(tmp) : "r"(addr) );
return tmp - 1;
-#elif defined (sun) || \
- (defined (__SUNPRO_CC) && (defined (__i386) || defined (__x86_64)))
+#elif !defined (ACE_HAS_SOLARIS_ATOMIC_LIB) && (defined (sun) || \
+ (defined (__SUNPRO_CC) && (defined (__i386) || defined (__x86_64))))
return ace_atomic_add_long (
reinterpret_cast<volatile unsigned long*> (value), -1);
#elif defined(__GNUC__) && defined(PPC)
@@ -81,8 +81,8 @@ single_cpu_exchange (volatile long *value, long rhs)
unsigned long addr = reinterpret_cast<unsigned long> (value);
asm( "xchg %0, (%1)" : "+r"(rhs) : "r"(addr) );
return rhs;
-#elif defined (sun) || \
- (defined (__SUNPRO_CC) && (defined (__i386) || defined (__x86_64)))
+#elif !defined (ACE_HAS_SOLARIS_ATOMIC_LIB) && (defined (sun) || \
+ (defined (__SUNPRO_CC) && (defined (__i386) || defined (__x86_64))))
return ace_atomic_swap_long (
reinterpret_cast<volatile unsigned long*> (value), rhs);
#elif defined(__GNUC__) && defined(PPC)
@@ -104,8 +104,8 @@ single_cpu_exchange_add (volatile long *value, long rhs)
unsigned long addr = reinterpret_cast<unsigned long> (value);
asm( "xadd %0, (%1)" : "+r"(rhs) : "r"(addr) );
return rhs;
-#elif defined (sun) || \
- (defined (__SUNPRO_CC) && (defined (__i386) || defined (__x86_64)))
+#elif !defined (ACE_HAS_SOLARIS_ATOMIC_LIB) && (defined (sun) || \
+ (defined (__SUNPRO_CC) && (defined (__i386) || defined (__x86_64))))
return ace_atomic_swap_add_long (
reinterpret_cast<volatile unsigned long*> (value), rhs);
#elif defined(__GNUC__) && defined(PPC)
@@ -147,8 +147,8 @@ multi_cpu_increment (volatile long *value)
unsigned long addr = reinterpret_cast<unsigned long> (value);
asm( "lock ; xadd %0, (%1)" : "+r"(tmp) : "r"(addr) );
return tmp + 1;
-#elif defined (sun) || \
- (defined (__SUNPRO_CC) && (defined (__i386) || defined (__x86_64)))
+#elif !defined (ACE_HAS_SOLARIS_ATOMIC_LIB) && (defined (sun) || \
+ (defined (__SUNPRO_CC) && (defined (__i386) || defined (__x86_64))))
return ace_atomic_add_long (
reinterpret_cast<volatile unsigned long*> (value), 1);
#else /* ACE_HAS_INTEL_ASSEMBLY*/
@@ -165,8 +165,8 @@ multi_cpu_decrement (volatile long *value)
unsigned long addr = reinterpret_cast<unsigned long> (value);
asm( "lock ; xadd %0, (%1)" : "+r"(tmp) : "r"(addr) );
return tmp - 1;
-#elif defined (sun) || \
- (defined (__SUNPRO_CC) && (defined (__i386) || defined (__x86_64)))
+#elif !defined (ACE_HAS_SOLARIS_ATOMIC_LIB) && (defined (sun) || \
+ (defined (__SUNPRO_CC) && (defined (__i386) || defined (__x86_64))))
return ace_atomic_add_long (
reinterpret_cast<volatile unsigned long*> (value), -1);
#else /* ACE_HAS_INTEL_ASSEMBLY*/
@@ -183,8 +183,8 @@ multi_cpu_exchange (volatile long *value, long rhs)
// The XCHG instruction automatically follows LOCK semantics
asm( "xchg %0, (%1)" : "+r"(rhs) : "r"(addr) );
return rhs;
-#elif defined (sun) || \
- (defined (__SUNPRO_CC) && (defined (__i386) || defined (__x86_64)))
+#elif !defined (ACE_HAS_SOLARIS_ATOMIC_LIB) && (defined (sun) || \
+ (defined (__SUNPRO_CC) && (defined (__i386) || defined (__x86_64))))
return ace_atomic_swap_long (
reinterpret_cast<volatile unsigned long*> (value), rhs);
#else /* ACE_HAS_INTEL_ASSEMBLY*/
@@ -201,8 +201,8 @@ multi_cpu_exchange_add (volatile long *value, long rhs)
unsigned long addr = reinterpret_cast<unsigned long> (value);
asm( "lock ; xadd %0, (%1)" : "+r"(rhs) : "r"(addr) );
return rhs;
-#elif defined (sun) || \
- (defined (__SUNPRO_CC) && (defined (__i386) || defined (__x86_64)))
+#elif !defined (ACE_HAS_SOLARIS_ATOMIC_LIB) && (defined (sun) || \
+ (defined (__SUNPRO_CC) && (defined (__i386) || defined (__x86_64))))
return ace_atomic_swap_add_long (
reinterpret_cast<volatile unsigned long*> (value), rhs);
#elif defined (WIN32) && !defined (ACE_HAS_INTERLOCKED_EXCHANGEADD)
diff --git a/modules/ACE/ace/Atomic_Op.h b/modules/ACE/ace/Atomic_Op.h
index 986b5329c23..27aba2331db 100644
--- a/modules/ACE/ace/Atomic_Op.h
+++ b/modules/ACE/ace/Atomic_Op.h
@@ -45,6 +45,8 @@
# define ACE_HAS_BUILTIN_ATOMIC_OP
# elif defined (ACE_HAS_VXATOMICLIB)
# define ACE_HAS_BUILTIN_ATOMIC_OP
+# elif defined (ACE_HAS_SOLARIS_ATOMIC_LIB) && !defined (ACE_HAS_BUILTIN_ATOMIC_OP)
+# define ACE_HAS_BUILTIN_ATOMIC_OP
# endif /* WIN32 */
#endif /* ACE_HAS_THREADS */
diff --git a/modules/ACE/ace/Atomic_Op.inl b/modules/ACE/ace/Atomic_Op.inl
index fe1119947ca..e2f3e8a1cf7 100644
--- a/modules/ACE/ace/Atomic_Op.inl
+++ b/modules/ACE/ace/Atomic_Op.inl
@@ -11,6 +11,10 @@
# include <vxAtomicLib.h>
#endif
+#if defined (ACE_HAS_SOLARIS_ATOMIC_LIB)
+# include <atomic.h>
+#endif
+
ACE_BEGIN_VERSIONED_NAMESPACE_DECL
#if defined (ACE_HAS_BUILTIN_ATOMIC_OP)
@@ -43,6 +47,8 @@ ACE_Atomic_Op<ACE_Thread_Mutex, long>::operator++ (void)
return ::InterlockedIncrement (const_cast<long *> (&this->value_));
#elif defined (ACE_HAS_VXATOMICLIB)
return ::vxAtomicInc (reinterpret_cast <atomic_t*>(const_cast<long *> (&this->value_))) + 1;
+#elif defined (ACE_HAS_SOLARIS_ATOMIC_LIB)
+ return ::atomic_inc_ulong_nv (reinterpret_cast<volatile unsigned long*>(&this->value_));
#else /* WIN32 */
return (*increment_fn_) (&this->value_);
#endif /* WIN32 */
@@ -63,6 +69,8 @@ ACE_Atomic_Op<ACE_Thread_Mutex, long>::operator-- (void)
return ::InterlockedDecrement (const_cast<long *> (&this->value_));
#elif defined (ACE_HAS_VXATOMICLIB)
return ::vxAtomicDec (reinterpret_cast <atomic_t*>(const_cast<long *> (&this->value_))) - 1;
+#elif defined (ACE_HAS_SOLARIS_ATOMIC_LIB)
+ return ::atomic_dec_ulong_nv (reinterpret_cast<volatile unsigned long*>(&this->value_));
#else /* WIN32 */
return (*decrement_fn_) (&this->value_);
#endif /* WIN32 */
@@ -85,6 +93,8 @@ ACE_Atomic_Op<ACE_Thread_Mutex, long>::operator+= (long rhs)
rhs) + rhs;
#elif defined (ACE_HAS_VXATOMICLIB)
return ::vxAtomicAdd (reinterpret_cast <atomic_t*>(const_cast<long *> (&this->value_)), rhs) + rhs;
+#elif defined (ACE_HAS_SOLARIS_ATOMIC_LIB)
+ return ::atomic_add_long_nv (reinterpret_cast<volatile unsigned long*>(&this->value_), rhs);
#else /* WIN32 && ACE_HAS_INTERLOCKED_EXCHANGEADD */
return (*exchange_add_fn_) (&this->value_, rhs) + rhs;
#endif /* WIN32 && ACE_HAS_INTERLOCKED_EXCHANGEADD */
@@ -101,6 +111,8 @@ ACE_Atomic_Op<ACE_Thread_Mutex, long>::operator-= (long rhs)
-rhs) - rhs;
#elif defined (ACE_HAS_VXATOMICLIB)
return ::vxAtomicSub (reinterpret_cast <atomic_t*>(const_cast<long *> (&this->value_)), rhs) - rhs;
+#elif defined (ACE_HAS_SOLARIS_ATOMIC_LIB)
+ return ::atomic_add_long_nv (reinterpret_cast<volatile unsigned long*>(&this->value_), -rhs);
#else /* WIN32 && ACE_HAS_INTERLOCKED_EXCHANGEADD */
return (*exchange_add_fn_) (&this->value_, -rhs) - rhs;
#endif /* WIN32 && ACE_HAS_INTERLOCKED_EXCHANGEADD */
@@ -151,6 +163,8 @@ ACE_Atomic_Op<ACE_Thread_Mutex, long>::operator= (long rhs)
::InterlockedExchange (const_cast<long *> (&this->value_), rhs);
#elif defined (ACE_HAS_VXATOMICLIB)
::vxAtomicSet (reinterpret_cast <atomic_t*>(const_cast<long *> (&this->value_)), rhs);
+#elif defined (ACE_HAS_SOLARIS_ATOMIC_LIB)
+ ::atomic_swap_ulong (reinterpret_cast<volatile unsigned long*>(&this->value_), rhs);
#else /* WIN32 */
(*exchange_fn_) (&this->value_, rhs);
#endif /* WIN32 */
@@ -167,6 +181,8 @@ ACE_Atomic_Op<ACE_Thread_Mutex, long>::operator= (
::InterlockedExchange (const_cast<long *> (&this->value_), rhs.value_);
#elif defined (ACE_HAS_VXATOMICLIB)
::vxAtomicSet (reinterpret_cast <atomic_t*>(const_cast<long *> (&this->value_)), rhs.value_);
+#elif defined (ACE_HAS_SOLARIS_ATOMIC_LIB)
+ ::atomic_swap_ulong (reinterpret_cast<volatile unsigned long*>(&this->value_), rhs.value_);
#else /* WIN32 */
(*exchange_fn_) (&this->value_, rhs.value_);
#endif /* WIN32 */
@@ -214,6 +230,8 @@ ACE_Atomic_Op<ACE_Thread_Mutex, unsigned long>::operator++ (void)
return static_cast<unsigned long> (::InterlockedIncrement (const_cast<long *> (reinterpret_cast<volatile long *>(&this->value_))));
#elif defined (ACE_HAS_VXATOMICLIB)
return static_cast<unsigned long> (::vxAtomicInc (reinterpret_cast <atomic_t*>(const_cast<long *> (reinterpret_cast<volatile long *>(&this->value_))))) + 1;
+#elif defined (ACE_HAS_SOLARIS_ATOMIC_LIB)
+ return ::atomic_inc_ulong_nv (&this->value_);
#else /* WIN32 */
return static_cast<unsigned long> ((*increment_fn_) (reinterpret_cast<volatile long *> (&this->value_)));
#endif /* WIN32 */
@@ -234,6 +252,8 @@ ACE_Atomic_Op<ACE_Thread_Mutex, unsigned long>::operator-- (void)
return static_cast<unsigned long> (::InterlockedDecrement (const_cast<long *> (reinterpret_cast<volatile long *>(&this->value_))));
#elif defined (ACE_HAS_VXATOMICLIB)
return static_cast<unsigned long> (::vxAtomicDec (reinterpret_cast <atomic_t*>(const_cast<long *> (reinterpret_cast<volatile long *>(&this->value_))))) - 1;
+#elif defined (ACE_HAS_SOLARIS_ATOMIC_LIB)
+ return ::atomic_dec_ulong_nv (&this->value_);
#else /* WIN32 */
return static_cast<unsigned long> ((*decrement_fn_) (reinterpret_cast<volatile long *> (&this->value_)));
#endif /* WIN32 */
@@ -256,6 +276,8 @@ ACE_Atomic_Op<ACE_Thread_Mutex, unsigned long>::operator+= (unsigned long rhs)
rhs)) + rhs;
#elif defined (ACE_HAS_VXATOMICLIB)
return static_cast<unsigned long> (::vxAtomicAdd (reinterpret_cast <atomic_t*>(const_cast<long *> (reinterpret_cast<volatile long *>(&this->value_))), rhs)) + rhs;
+#elif defined (ACE_HAS_SOLARIS_ATOMIC_LIB)
+ return ::atomic_add_long_nv (&this->value_, rhs);
#else /* WIN32 && ACE_HAS_INTERLOCKED_EXCHANGEADD */
return static_cast<unsigned long> ((*exchange_add_fn_) (reinterpret_cast<volatile long *> (&this->value_), rhs)) + rhs;
#endif /* WIN32 && ACE_HAS_INTERLOCKED_EXCHANGEADD */
@@ -272,6 +294,8 @@ ACE_Atomic_Op<ACE_Thread_Mutex, unsigned long>::operator-= (unsigned long rhs)
-static_cast<long>(rhs))) - rhs;
#elif defined (ACE_HAS_VXATOMICLIB)
return static_cast<unsigned long> (::vxAtomicSub (reinterpret_cast <atomic_t*>(const_cast<long *> (reinterpret_cast<volatile long *>(&this->value_))), rhs)) - rhs;
+#elif defined (ACE_HAS_SOLARIS_ATOMIC_LIB)
+ return ::atomic_add_long_nv (&this->value_, -rhs);
#else /* WIN32 && ACE_HAS_INTERLOCKED_EXCHANGEADD */
long l_rhs = static_cast<long> (rhs);
return static_cast<unsigned long> ((*exchange_add_fn_) (reinterpret_cast<volatile long *> (&this->value_), -l_rhs)) - rhs;
@@ -323,6 +347,8 @@ ACE_Atomic_Op<ACE_Thread_Mutex, unsigned long>::operator= (unsigned long rhs)
::InterlockedExchange (const_cast<long *> (reinterpret_cast<volatile long*> (&this->value_)), rhs);
#elif defined (ACE_HAS_VXATOMICLIB)
::vxAtomicSet (reinterpret_cast <atomic_t*>(const_cast<long *> (reinterpret_cast<volatile long*> (&this->value_))), rhs);
+#elif defined (ACE_HAS_SOLARIS_ATOMIC_LIB)
+ ::atomic_swap_ulong (&this->value_, rhs);
#else /* WIN32 */
(*exchange_fn_) (reinterpret_cast<volatile long *> (&this->value_), rhs);
#endif /* WIN32 */
@@ -339,6 +365,8 @@ ACE_Atomic_Op<ACE_Thread_Mutex, unsigned long>::operator= (
::InterlockedExchange (const_cast<long *> (reinterpret_cast<volatile long*> (&this->value_)), rhs.value_);
#elif defined (ACE_HAS_VXATOMICLIB)
::vxAtomicSet (reinterpret_cast <atomic_t*>(const_cast<long *> (reinterpret_cast<volatile long*> (&this->value_))), rhs.value_);
+#elif defined (ACE_HAS_SOLARIS_ATOMIC_LIB)
+ ::atomic_swap_ulong (&this->value_, rhs.value_);
#else /* WIN32 */
(*exchange_fn_) (reinterpret_cast<volatile long *> (&this->value_), rhs.value_);
#endif /* WIN32 */
diff --git a/modules/ACE/ace/Dev_Poll_Reactor.cpp b/modules/ACE/ace/Dev_Poll_Reactor.cpp
index 1c26947fb7c..72d8e1220e9 100644
--- a/modules/ACE/ace/Dev_Poll_Reactor.cpp
+++ b/modules/ACE/ace/Dev_Poll_Reactor.cpp
@@ -148,11 +148,12 @@ ACE_Dev_Poll_Reactor_Notify::notify (ACE_Event_Handler *eh,
// Now pop the pipe to force the callback for dispatching when ready. If
// the send fails due to a full pipe, don't fail - assume the already-sent
// pipe bytes will cause the entire notification queue to be processed.
+ // Note that we don't need a timeout since the pipe is already in
+ // nonblocking mode and all we want is one attempt.
ssize_t n = ACE::send (this->notification_pipe_.write_handle (),
(char *) &buffer,
- 1, // Only need one byte to pop the pipe
- &ACE_Time_Value::zero);
- if (n == -1 && (errno != ETIME && errno != EAGAIN))
+ 1); // Only need one byte to pop the pipe
+ if (n == -1 && (errno != EAGAIN))
return -1;
return 0;
@@ -206,46 +207,40 @@ ACE_Dev_Poll_Reactor_Notify::read_notify_pipe (ACE_HANDLE handle,
// expensive than simply checking for an EWOULDBLOCK.
size_t to_read;
char *read_p;
- bool have_one = false;
#if defined (ACE_HAS_REACTOR_NOTIFICATION_QUEUE)
- // For the queued case, we'll try to read one byte (since that's what
- // the notify () tried to put in) but we don't need it - notifications can
- // be queued even if the pipe fills, so there may be more notifications
- // queued than there are bytes in the pipe.
- char b;
- read_p = &b;
- to_read = 1;
-
- // Before reading the byte, pop a message from the queue and queue a
- // new message unless the queue is now empty. The protocol is to
- // keep a byte in the pipe as long as the queue is not empty.
+ // The idea in the queued case is to be sure we never end up with a notify
+ // queued but no byte in the pipe. If that happens, the notify won't be
+ // dispatched. So always try to empty the pipe, read the queue, then put
+ // a byte in if needed. The notify() method is enqueueing then writing the
+ // pipe, so be sure to do it in the reverse order here to avoid a race
+ // between removing the last notification from the queue and the notify
+ // side writing its byte.
+ char b[1024];
+ read_p = b;
+ to_read = sizeof(b);
+ (void)ACE::recv (handle, read_p, to_read);
+
bool more_messages_queued = false;
ACE_Notification_Buffer next;
-
int result = notification_queue_.pop_next_notification (buffer,
more_messages_queued,
next);
- if (result == 0)
- {
- // remove the notification byte from the pipe, avoiding notification loop
- ACE::recv (handle, read_p, to_read);
- return 0;
- }
-
- if (result == -1)
- return -1;
+ if (result <= 0) // Nothing dequeued or error
+ return result;
+ // If there are more messages, ensure there's a byte in the pipe
+ // in case the notification limit stops dequeuing notifies before
+ // emptying the queue.
if (more_messages_queued)
(void) ACE::send (this->notification_pipe_.write_handle (),
(char *)&next,
- 1 /* one byte is enough */,
- &ACE_Time_Value::zero);
+ 1); /* one byte is enough */
+ return 1;
#else
to_read = sizeof buffer;
read_p = (char *)&buffer;
-#endif /* ACE_HAS_REACTOR_NOTIFICATION_QUEUE */
ssize_t n = ACE::recv (handle, read_p, to_read);
@@ -271,7 +266,8 @@ ACE_Dev_Poll_Reactor_Notify::read_notify_pipe (ACE_HANDLE handle,
if (n <= 0 && (errno != EWOULDBLOCK && errno != EAGAIN))
return -1;
- return have_one ? 1 : 0;
+ return 0;
+#endif /* ACE_HAS_REACTOR_NOTIFICATION_QUEUE */
}
diff --git a/modules/ACE/ace/Dev_Poll_Reactor.h b/modules/ACE/ace/Dev_Poll_Reactor.h
index b2f331ece56..5a41586cae1 100644
--- a/modules/ACE/ace/Dev_Poll_Reactor.h
+++ b/modules/ACE/ace/Dev_Poll_Reactor.h
@@ -249,7 +249,7 @@ protected:
/// Lock and flag to say whether we're already dispatching notifies.
/// Purpose is to only dispatch notifies from one thread at a time.
ACE_SYNCH_MUTEX dispatching_lock_;
- bool dispatching_;
+ volatile bool dispatching_;
};
// ---------------------------------------------------------------------
diff --git a/modules/ACE/ace/Service_Repository.cpp b/modules/ACE/ace/Service_Repository.cpp
index 60f6b6fe831..d997c5e61cc 100644
--- a/modules/ACE/ace/Service_Repository.cpp
+++ b/modules/ACE/ace/Service_Repository.cpp
@@ -113,7 +113,9 @@ ACE_Service_Repository::ACE_Service_Repository (size_t size)
ACE_TRACE ("ACE_Service_Repository::ACE_Service_Repository");
}
+
/// Finalize (call fini() and possibly delete) all the services.
+
int
ACE_Service_Repository::fini (void)
{
@@ -121,45 +123,89 @@ ACE_Service_Repository::fini (void)
ACE_MT (ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex, ace_mon, this->lock_, -1));
int retval = 0;
-
// Do not be tempted to use the prefix decrement operator. Use
// postfix decrement operator since the index is unsigned and may
// wrap around the 0
- for (size_t i = this->service_array_.size(); i-- != 0; )
+ //
+ // debug output for empty service entries
+#ifndef ACE_NLOGGING
+ if (ACE::debug ())
+ {
+ for (size_t i = this->service_array_.size (); i-- != 0;)
{
- // <fini> the services in reverse order.
ACE_Service_Type *s =
const_cast<ACE_Service_Type *> (this->service_array_[i]);
+ if (s == 0)
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("ACE (%P|%t) SR::fini, repo=%@ [%d] -> 0\n"),
+ this,
+ i));
+ }
+ }
+#endif
+ //
+ // Remove all the Service_Object and Stream instances
+ //
+ for (size_t i = this->service_array_.size (); i-- != 0;)
+ {
+ // <fini> the services in reverse order.
+ ACE_Service_Type *s =
+ const_cast<ACE_Service_Type *> (this->service_array_[i]);
+ if (s != 0 && (s->type ()->service_type () != ACE_Service_Type::MODULE))
+ {
#ifndef ACE_NLOGGING
if (ACE::debug ())
- {
- if (s != 0)
- ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("ACE (%P|%t) SR::fini, repo=%@ [%d], ")
- ACE_TEXT ("name=%s, type=%@, object=%@, active=%d\n"),
- this,
- i,
- s->name(),
- s->type (),
- (s->type () != 0) ? s->type ()->object () : 0,
- s->active ()));
- else
- ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("ACE (%P|%t) SR::fini, repo=%@ [%d] -> 0\n"),
- this,
- i));
- }
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("ACE (%P|%t) SR::fini, repo=%@ [%d], ")
+ ACE_TEXT ("name=%s, type=%@, object=%@, active=%d\n"),
+ this,
+ i,
+ s->name (),
+ s->type (),
+ (s->type () != 0) ? s->type ()->object () : 0,
+ s->active ()));
+ }
#endif
// Collect any errors.
- if (s != 0)
- retval += s->fini ();
+ retval += s->fini ();
}
+ }
+ //
+ // Remove all the Module instances
+ //
+ for (size_t i = this->service_array_.size (); i-- != 0;)
+ {
+ // <fini> the services in reverse order.
+ ACE_Service_Type *s =
+ const_cast<ACE_Service_Type *> (this->service_array_[i]);
+ if (s != 0 && (s->type ()->service_type () == ACE_Service_Type::MODULE))
+ {
+#ifndef ACE_NLOGGING
+ if (ACE::debug ())
+ {
+ ACE_DEBUG ((LM_DEBUG,
+ ACE_TEXT ("ACE (%P|%t) SR::fini, repo=%@ [%d], ")
+ ACE_TEXT ("name=%s, type=%@, object=%@, active=%d\n"),
+ this,
+ i,
+ s->name (),
+ s->type (),
+ (s->type () != 0) ? s->type ()->object () : 0,
+ s->active ()));
+ }
+#endif
+ // Collect any errors.
+ retval += s->fini ();
+ }
+ }
return (retval == 0) ? 0 : -1;
}
+
/// Close down all the services.
int
ACE_Service_Repository::close (void)
diff --git a/modules/ACE/ace/Service_Types.cpp b/modules/ACE/ace/Service_Types.cpp
index 4552607640e..5c2c2fae3b7 100644
--- a/modules/ACE/ace/Service_Types.cpp
+++ b/modules/ACE/ace/Service_Types.cpp
@@ -35,11 +35,13 @@ ACE_Service_Type_Impl::dump (void) const
ACE_Service_Type_Impl::ACE_Service_Type_Impl (void *so,
const ACE_TCHAR *s_name,
u_int f,
- ACE_Service_Object_Exterminator gobbler)
+ ACE_Service_Object_Exterminator gobbler,
+ int stype)
: name_ (0),
obj_ (so),
gobbler_ (gobbler),
- flags_ (f)
+ flags_ (f),
+ service_type_ (stype)
{
ACE_TRACE ("ACE_Service_Type_Impl::ACE_Service_Type_Impl");
this->name (s_name);
@@ -82,8 +84,9 @@ ACE_Service_Type_Impl::fini (void) const
ACE_Service_Object_Type::ACE_Service_Object_Type (void *so,
const ACE_TCHAR *s_name,
u_int f,
- ACE_Service_Object_Exterminator gobbler)
- : ACE_Service_Type_Impl (so, s_name, f, gobbler)
+ ACE_Service_Object_Exterminator gobbler,
+ int stype)
+ : ACE_Service_Type_Impl (so, s_name, f, gobbler, stype)
, initialized_ (-1)
{
ACE_TRACE ("ACE_Service_Object_Type::ACE_Service_Object_Type");
@@ -164,8 +167,9 @@ ACE_Module_Type::dump (void) const
ACE_Module_Type::ACE_Module_Type (void *m,
const ACE_TCHAR *m_name,
- u_int f)
- : ACE_Service_Type_Impl (m, m_name, f)
+ u_int f,
+ int stype)
+ : ACE_Service_Type_Impl (m, m_name, f, 0, stype)
{
ACE_TRACE ("ACE_Module_Type::ACE_Module_Type");
}
@@ -230,7 +234,6 @@ int
ACE_Module_Type::fini (void) const
{
ACE_TRACE ("ACE_Module_Type::fini");
-
void *obj = this->object ();
MT_Module *mod = (MT_Module *) obj;
MT_Task *reader = mod->reader ();
@@ -324,8 +327,9 @@ ACE_Stream_Type::resume (void) const
ACE_Stream_Type::ACE_Stream_Type (void *s,
const ACE_TCHAR *s_name,
- u_int f)
- : ACE_Service_Type_Impl (s, s_name, f),
+ u_int f,
+ int stype)
+ : ACE_Service_Type_Impl (s, s_name, f, 0, stype),
head_ (0)
{
ACE_TRACE ("ACE_Stream_Type::ACE_Stream_Type");
@@ -361,17 +365,13 @@ ACE_Stream_Type::fini (void) const
void *obj = this->object ();
MT_Stream *str = (MT_Stream *) obj;
- for (ACE_Module_Type *m = this->head_; m != 0; )
- {
- ACE_Module_Type *t = m->link ();
+ for (ACE_Module_Type *m = this->head_; m != 0;)
+ {
+ ACE_Module_Type *t = m->link ();
// Final arg is an indication to *not* delete the Module.
str->remove (m->name (),
- MT_Module::M_DELETE_NONE);
-
- // Finalize the Module (this may delete it, but we don't really
- // care since we don't access it again).
- m->fini ();
+ MT_Module::M_DELETE_NONE);
m = t;
}
str->close ();
@@ -408,9 +408,8 @@ ACE_Stream_Type::remove (ACE_Module_Type *mod)
MT_Module::M_DELETE_NONE) == -1)
result = -1;
- // This call may end up deleting m, which is ok since we
- // don't access it again!
- m->fini ();
+ // Do not call m->fini (); as this will result in a double delete
+ // of the ACE_Module_type when ACE_Service_Repository::fini is called
}
else
prev = m;
diff --git a/modules/ACE/ace/Service_Types.h b/modules/ACE/ace/Service_Types.h
index e741561d965..de442a6b431 100644
--- a/modules/ACE/ace/Service_Types.h
+++ b/modules/ACE/ace/Service_Types.h
@@ -43,7 +43,8 @@ public:
ACE_Service_Type_Impl (void *object,
const ACE_TCHAR *s_name,
u_int flags = 0,
- ACE_Service_Object_Exterminator gobbler = 0);
+ ACE_Service_Object_Exterminator gobbler = 0,
+ int stype = ACE_Service_Type::INVALID_TYPE);
virtual ~ACE_Service_Type_Impl (void);
// = Pure virtual interface (must be defined by the subclass).
@@ -65,6 +66,12 @@ public:
/// Dump the state of an object.
void dump (void) const;
+ /// get the service_type of this service
+ int service_type (void) const;
+
+ /// set the service_type of this service
+ void service_type (int stype);
+
/// Declare the dynamic allocation hooks.
ACE_ALLOC_HOOK_DECLARE;
@@ -81,6 +88,11 @@ protected:
/// Flags that control serivce behavior (particularly deletion).
u_int flags_;
+
+ /// type of this service
+ /// Used to properly manage the lifecycle of ACE_Modules and ACE_Streams
+ /// during shutdown
+ int service_type_;
};
/**
@@ -96,7 +108,8 @@ public:
ACE_Service_Object_Type (void *so,
const ACE_TCHAR *name,
u_int flags = 0,
- ACE_Service_Object_Exterminator gobbler = 0);
+ ACE_Service_Object_Exterminator gobbler = 0,
+ int stype = ACE_Service_Type::SERVICE_OBJECT);
~ACE_Service_Object_Type (void);
@@ -124,7 +137,8 @@ public:
// = Initialization method.
ACE_Module_Type (void *m, // Really an ACE_Module *.
const ACE_TCHAR *identifier,
- u_int flags = 0);
+ u_int flags = 0,
+ int stype = ACE_Service_Type::MODULE);
~ACE_Module_Type (void);
@@ -164,7 +178,8 @@ public:
// = Initialization method.
ACE_Stream_Type (void *s, // Really an ACE_Stream *.
const ACE_TCHAR *identifier,
- u_int flags = 0);
+ u_int flags = 0,
+ int stype = ACE_Service_Type::STREAM);
~ACE_Stream_Type (void);
diff --git a/modules/ACE/ace/Service_Types.inl b/modules/ACE/ace/Service_Types.inl
index 9ebfd705ced..02b2d3c6c41 100644
--- a/modules/ACE/ace/Service_Types.inl
+++ b/modules/ACE/ace/Service_Types.inl
@@ -29,4 +29,15 @@ ACE_Service_Type_Impl::name (const ACE_TCHAR *n)
this->name_ = ACE::strnew (n);
}
+ACE_INLINE int
+ACE_Service_Type_Impl::service_type (void) const
+{
+ return service_type_;
+}
+
+ACE_INLINE void
+ACE_Service_Type_Impl::service_type (int stype)
+{
+ service_type_ = stype;
+}
ACE_END_VERSIONED_NAMESPACE_DECL
diff --git a/modules/ACE/ace/Stack_Trace.cpp b/modules/ACE/ace/Stack_Trace.cpp
index 1fccc75fe8d..3c72362dae8 100644
--- a/modules/ACE/ace/Stack_Trace.cpp
+++ b/modules/ACE/ace/Stack_Trace.cpp
@@ -6,9 +6,23 @@
*
* @brief Encapsulate string representation of stack trace.
*
- * Portions of the platform-specific code have been based on
- * code found in various places on the internet e.g., google groups,
- * VxWorks FAQ, etc., and adapted for use here.
+ * Some platform-specific areas of this code have been adapted from
+ * examples found elsewhere. Specifically,
+ * - the GLIBC stack generation uses the documented "backtrace" API
+ * and is adapted from examples shown in relevant documentation
+ * and repeated elsewhere, e.g.,
+ * http://www.linuxselfhelp.com/gnu/glibc/html_chapter/libc_33.html
+ * - the Solaris stack generation is adapted from a 1995 post on
+ * comp.unix.solaris by Bart Smaalders,
+ * http://groups.google.com/group/comp.unix.solaris/browse_thread/thread/8b9f3de8be288f1c/31550f93a48231d5?lnk=gst&q=how+to+get+stack+trace+on+solaris+group:comp.unix.solaris#31550f93a48231d5
+ * - VxWorks kernel-mode stack tracing is adapted from a code example
+ * in the VxWorks FAQ at http://www.xs4all.nl/~borkhuis/vxworks/vxw_pt5.html
+ * although the undocumented functions it uses are also mentioned in
+ * various documents available on the WindRiver support website.
+ *
+ * If you add support for a new platform, please add a bullet to the
+ * above list with durable references to the origins of your code.
+ *
*/
//=============================================================================
diff --git a/modules/ACE/ace/config-sunos5.10.h b/modules/ACE/ace/config-sunos5.10.h
index ca5b979495b..6bec278ac36 100644
--- a/modules/ACE/ace/config-sunos5.10.h
+++ b/modules/ACE/ace/config-sunos5.10.h
@@ -61,4 +61,6 @@
# define ACE_HAS_VOID_PTR_SCTP_GETPADDRS
#endif
+#define ACE_HAS_SOLARIS_ATOMIC_LIB
+
#endif /* ACE_CONFIG_H */
diff --git a/modules/ACE/bin/MakeProjectCreator/config/global.features b/modules/ACE/bin/MakeProjectCreator/config/global.features
index 65727123a97..471177d6923 100644
--- a/modules/ACE/bin/MakeProjectCreator/config/global.features
+++ b/modules/ACE/bin/MakeProjectCreator/config/global.features
@@ -144,6 +144,6 @@ tao_no_iiop = 0
link_codecfactory = 0
// Feature for LwCCM
-ccm_lw = 0
+ccm_lw = 1
valuetype_out_indirection=1
diff --git a/modules/ACE/bin/PerlACE/Process_Unix.pm b/modules/ACE/bin/PerlACE/Process_Unix.pm
index d0b563209d1..8e6848bad06 100644
--- a/modules/ACE/bin/PerlACE/Process_Unix.pm
+++ b/modules/ACE/bin/PerlACE/Process_Unix.pm
@@ -403,7 +403,7 @@ sub Spawn ()
if (!(defined $self->{VALGRIND_CMD} || defined $ENV{'ACE_TEST_WINDOW'}) &&
(defined $self->{TARGET}) && ($ENV{'ACE_ROOT'} ne $self->{TARGET}->ACE_ROOT ())) {
my $x_dir = dirname ($executable);
- chdir (x_dir);
+ chdir ($x_dir);
}
exec @cmdlist;
die "ERROR: exec failed for <" . $cmdline . ">\n";
diff --git a/modules/ACE/bin/make_release.py b/modules/ACE/bin/make_release.py
index 23e6cd4ef58..ffc6ec463ac 100755
--- a/modules/ACE/bin/make_release.py
+++ b/modules/ACE/bin/make_release.py
@@ -339,9 +339,9 @@ def update_spec_file ():
return [doc_root + "/ACE/rpmbuild/ace-tao.spec"]
def update_debianbuild ():
- """ Updates ACE_ROOT/debianbuild directory.
+ """ Updates ACE_ROOT/debian directory.
- renames all files with version nrs in name to new scheme.
- - updates version nrs in file debianbuild/control
+ - updates version nrs in file debian/control
Currently ONLY ACE & TAO stuff is handled here """
global comp_versions
@@ -360,7 +360,7 @@ def update_debianbuild ():
mask = re.compile ("(libace|libkokyu|libtao)(.*)(\d+\.\d+\.\d+)(.*)")
tao = re.compile ("tao", re.IGNORECASE)
- for fname in glob.iglob(doc_root + '/ACE/debianbuild/*'):
+ for fname in glob.iglob(doc_root + '/ACE/debian/*'):
match = None
fbase = basename (fname)
@@ -391,7 +391,7 @@ def update_debianbuild ():
else:
return match.group (1) + match.group (2) + comp_versions["ACE_version"] + match.group (4)
- with open (doc_root + "/ACE/debianbuild/control", 'r+') as control_file:
+ with open (doc_root + "/ACE/debian/control", 'r+') as control_file:
new_ctrl = ""
for line in control_file.readlines ():
if re.search ("^(Package|Depends|Suggests):", line) is not None:
@@ -409,9 +409,9 @@ def update_debianbuild ():
print "New control file:"
print "".join (new_ctrl)
- files.append (doc_root + "/ACE/debianbuild/control")
+ files.append (doc_root + "/ACE/debian/control")
- # rewrite debianbuild/dsc
+ # rewrite debian/dsc
dsc_lines = """# Format: 1.0
# Source: ace
# Version: %s
@@ -424,7 +424,7 @@ def update_debianbuild ():
#
""" % (comp_versions["TAO_version"], comp_versions["ACE_version"])
if opts.take_action:
- with open (doc_root + "/ACE/debianbuild/dsc", 'r+') as dsc_file:
+ with open (doc_root + "/ACE/debian/dsc", 'r+') as dsc_file:
dsc_file.seek (0)
dsc_file.truncate (0)
dsc_file.writelines (dsc_lines)
@@ -432,7 +432,7 @@ def update_debianbuild ():
print "New dsc file:\n"
print dsc_lines
- files.append (doc_root + "/ACE/debianbuild/dsc")
+ files.append (doc_root + "/ACE/debian/dsc")
return files
diff --git a/modules/ACE/debianbuild/Basic_Logging_Service.sgml b/modules/ACE/debian/Basic_Logging_Service.sgml
index bd74c24ef56..bd74c24ef56 100644
--- a/modules/ACE/debianbuild/Basic_Logging_Service.sgml
+++ b/modules/ACE/debian/Basic_Logging_Service.sgml
diff --git a/modules/ACE/debianbuild/Event_Logging_Service.sgml b/modules/ACE/debian/Event_Logging_Service.sgml
index 8980166a883..8980166a883 100644
--- a/modules/ACE/debianbuild/Event_Logging_Service.sgml
+++ b/modules/ACE/debian/Event_Logging_Service.sgml
diff --git a/modules/ACE/debianbuild/Notify_Logging_Service.sgml b/modules/ACE/debian/Notify_Logging_Service.sgml
index ec874c8c8a4..ec874c8c8a4 100644
--- a/modules/ACE/debianbuild/Notify_Logging_Service.sgml
+++ b/modules/ACE/debian/Notify_Logging_Service.sgml
diff --git a/modules/ACE/debianbuild/README.Debian b/modules/ACE/debian/README.Debian
index 46528c360d0..46528c360d0 100644
--- a/modules/ACE/debianbuild/README.Debian
+++ b/modules/ACE/debian/README.Debian
diff --git a/modules/ACE/debianbuild/RTEvent_Logging_Service.sgml b/modules/ACE/debian/RTEvent_Logging_Service.sgml
index 3bb123c89e6..3bb123c89e6 100644
--- a/modules/ACE/debianbuild/RTEvent_Logging_Service.sgml
+++ b/modules/ACE/debian/RTEvent_Logging_Service.sgml
diff --git a/modules/ACE/debianbuild/TAO_ORB_Options.sgml b/modules/ACE/debian/TAO_ORB_Options.sgml
index e31fbefd50a..e31fbefd50a 100644
--- a/modules/ACE/debianbuild/TAO_ORB_Options.sgml
+++ b/modules/ACE/debian/TAO_ORB_Options.sgml
diff --git a/modules/ACE/debianbuild/TODO b/modules/ACE/debian/TODO
index 721de639197..721de639197 100644
--- a/modules/ACE/debianbuild/TODO
+++ b/modules/ACE/debian/TODO
diff --git a/modules/ACE/debianbuild/changelog b/modules/ACE/debian/changelog
index 3c557761b45..3c557761b45 100644
--- a/modules/ACE/debianbuild/changelog
+++ b/modules/ACE/debian/changelog
diff --git a/modules/ACE/debianbuild/cmp-installation.sh b/modules/ACE/debian/cmp-installation.sh
index d12d8e83dd8..d12d8e83dd8 100755
--- a/modules/ACE/debianbuild/cmp-installation.sh
+++ b/modules/ACE/debian/cmp-installation.sh
diff --git a/modules/ACE/debianbuild/compat b/modules/ACE/debian/compat
index 7ed6ff82de6..7ed6ff82de6 100644
--- a/modules/ACE/debianbuild/compat
+++ b/modules/ACE/debian/compat
diff --git a/modules/ACE/debianbuild/control b/modules/ACE/debian/control
index 25eae3ec6f0..25eae3ec6f0 100644
--- a/modules/ACE/debianbuild/control
+++ b/modules/ACE/debian/control
diff --git a/modules/ACE/debianbuild/copyright b/modules/ACE/debian/copyright
index 891512b3683..891512b3683 100644
--- a/modules/ACE/debianbuild/copyright
+++ b/modules/ACE/debian/copyright
diff --git a/modules/ACE/debianbuild/dsc b/modules/ACE/debian/dsc
index 7b532497bc4..7b532497bc4 100644
--- a/modules/ACE/debianbuild/dsc
+++ b/modules/ACE/debian/dsc
diff --git a/modules/ACE/debianbuild/gperf-ace.docs b/modules/ACE/debian/gperf-ace.docs
index b14ede1b24f..b14ede1b24f 100644
--- a/modules/ACE/debianbuild/gperf-ace.docs
+++ b/modules/ACE/debian/gperf-ace.docs
diff --git a/modules/ACE/debianbuild/gperf-ace.install b/modules/ACE/debian/gperf-ace.install
index 04c9b7c515b..04c9b7c515b 100644
--- a/modules/ACE/debianbuild/gperf-ace.install
+++ b/modules/ACE/debian/gperf-ace.install
diff --git a/modules/ACE/debianbuild/libace-5.7.8.docs b/modules/ACE/debian/libace-5.7.8.docs
index e367841dc93..e367841dc93 100644
--- a/modules/ACE/debianbuild/libace-5.7.8.docs
+++ b/modules/ACE/debian/libace-5.7.8.docs
diff --git a/modules/ACE/debianbuild/libace-5.7.8.install b/modules/ACE/debian/libace-5.7.8.install
index 0ce2ad9549f..0ce2ad9549f 100644
--- a/modules/ACE/debianbuild/libace-5.7.8.install
+++ b/modules/ACE/debian/libace-5.7.8.install
diff --git a/modules/ACE/debianbuild/libace-dev.docs b/modules/ACE/debian/libace-dev.docs
index 8d00ada38de..8d00ada38de 100644
--- a/modules/ACE/debianbuild/libace-dev.docs
+++ b/modules/ACE/debian/libace-dev.docs
diff --git a/modules/ACE/debianbuild/libace-dev.install b/modules/ACE/debian/libace-dev.install
index a0eb6eaa8ab..a0eb6eaa8ab 100644
--- a/modules/ACE/debianbuild/libace-dev.install
+++ b/modules/ACE/debian/libace-dev.install
diff --git a/modules/ACE/debianbuild/libace-dev.links b/modules/ACE/debian/libace-dev.links
index 3efd6197eb5..3efd6197eb5 100644
--- a/modules/ACE/debianbuild/libace-dev.links
+++ b/modules/ACE/debian/libace-dev.links
diff --git a/modules/ACE/debianbuild/libace-doc.docs b/modules/ACE/debian/libace-doc.docs
index f15b7f7c57e..f15b7f7c57e 100644
--- a/modules/ACE/debianbuild/libace-doc.docs
+++ b/modules/ACE/debian/libace-doc.docs
diff --git a/modules/ACE/debianbuild/libace-flreactor-5.7.8.install b/modules/ACE/debian/libace-flreactor-5.7.8.install
index cc5d0266057..cc5d0266057 100644
--- a/modules/ACE/debianbuild/libace-flreactor-5.7.8.install
+++ b/modules/ACE/debian/libace-flreactor-5.7.8.install
diff --git a/modules/ACE/debianbuild/libace-flreactor-dev.install b/modules/ACE/debian/libace-flreactor-dev.install
index 09358d7b67b..09358d7b67b 100644
--- a/modules/ACE/debianbuild/libace-flreactor-dev.install
+++ b/modules/ACE/debian/libace-flreactor-dev.install
diff --git a/modules/ACE/debianbuild/libace-foxreactor-5.7.8.install b/modules/ACE/debian/libace-foxreactor-5.7.8.install
index a1ab4b6a52b..a1ab4b6a52b 100644
--- a/modules/ACE/debianbuild/libace-foxreactor-5.7.8.install
+++ b/modules/ACE/debian/libace-foxreactor-5.7.8.install
diff --git a/modules/ACE/debianbuild/libace-foxreactor-dev.install b/modules/ACE/debian/libace-foxreactor-dev.install
index 45f5eb41493..45f5eb41493 100644
--- a/modules/ACE/debianbuild/libace-foxreactor-dev.install
+++ b/modules/ACE/debian/libace-foxreactor-dev.install
diff --git a/modules/ACE/debianbuild/libace-htbp-5.7.8.install b/modules/ACE/debian/libace-htbp-5.7.8.install
index bc70a1e2b6c..bc70a1e2b6c 100644
--- a/modules/ACE/debianbuild/libace-htbp-5.7.8.install
+++ b/modules/ACE/debian/libace-htbp-5.7.8.install
diff --git a/modules/ACE/debianbuild/libace-htbp-dev.docs b/modules/ACE/debian/libace-htbp-dev.docs
index d8a3e7dc562..d8a3e7dc562 100644
--- a/modules/ACE/debianbuild/libace-htbp-dev.docs
+++ b/modules/ACE/debian/libace-htbp-dev.docs
diff --git a/modules/ACE/debianbuild/libace-htbp-dev.install b/modules/ACE/debian/libace-htbp-dev.install
index f63140c10bf..f63140c10bf 100644
--- a/modules/ACE/debianbuild/libace-htbp-dev.install
+++ b/modules/ACE/debian/libace-htbp-dev.install
diff --git a/modules/ACE/debianbuild/libace-qtreactor-5.7.8.install b/modules/ACE/debian/libace-qtreactor-5.7.8.install
index c98ee7e33e4..c98ee7e33e4 100644
--- a/modules/ACE/debianbuild/libace-qtreactor-5.7.8.install
+++ b/modules/ACE/debian/libace-qtreactor-5.7.8.install
diff --git a/modules/ACE/debianbuild/libace-qtreactor-dev.install b/modules/ACE/debian/libace-qtreactor-dev.install
index 8fa54fbacc4..8fa54fbacc4 100644
--- a/modules/ACE/debianbuild/libace-qtreactor-dev.install
+++ b/modules/ACE/debian/libace-qtreactor-dev.install
diff --git a/modules/ACE/debianbuild/libace-rmcast-5.7.8.install b/modules/ACE/debian/libace-rmcast-5.7.8.install
index faeb44041af..faeb44041af 100644
--- a/modules/ACE/debianbuild/libace-rmcast-5.7.8.install
+++ b/modules/ACE/debian/libace-rmcast-5.7.8.install
diff --git a/modules/ACE/debianbuild/libace-rmcast-dev.docs b/modules/ACE/debian/libace-rmcast-dev.docs
index 7e7b6b827e3..7e7b6b827e3 100644
--- a/modules/ACE/debianbuild/libace-rmcast-dev.docs
+++ b/modules/ACE/debian/libace-rmcast-dev.docs
diff --git a/modules/ACE/debianbuild/libace-rmcast-dev.install b/modules/ACE/debian/libace-rmcast-dev.install
index c946ee6dbb9..c946ee6dbb9 100644
--- a/modules/ACE/debianbuild/libace-rmcast-dev.install
+++ b/modules/ACE/debian/libace-rmcast-dev.install
diff --git a/modules/ACE/debianbuild/libace-ssl-5.7.8.install b/modules/ACE/debian/libace-ssl-5.7.8.install
index 26c71c39a2a..26c71c39a2a 100644
--- a/modules/ACE/debianbuild/libace-ssl-5.7.8.install
+++ b/modules/ACE/debian/libace-ssl-5.7.8.install
diff --git a/modules/ACE/debianbuild/libace-ssl-dev.install b/modules/ACE/debian/libace-ssl-dev.install
index 284f4326984..284f4326984 100644
--- a/modules/ACE/debianbuild/libace-ssl-dev.install
+++ b/modules/ACE/debian/libace-ssl-dev.install
diff --git a/modules/ACE/debianbuild/libace-tkreactor-5.7.8.install b/modules/ACE/debian/libace-tkreactor-5.7.8.install
index 883ec5c9678..883ec5c9678 100644
--- a/modules/ACE/debianbuild/libace-tkreactor-5.7.8.install
+++ b/modules/ACE/debian/libace-tkreactor-5.7.8.install
diff --git a/modules/ACE/debianbuild/libace-tkreactor-dev.install b/modules/ACE/debian/libace-tkreactor-dev.install
index cef0fdf1ae2..cef0fdf1ae2 100644
--- a/modules/ACE/debianbuild/libace-tkreactor-dev.install
+++ b/modules/ACE/debian/libace-tkreactor-dev.install
diff --git a/modules/ACE/debianbuild/libace-tmcast-5.7.8.install b/modules/ACE/debian/libace-tmcast-5.7.8.install
index 87463063a9b..87463063a9b 100644
--- a/modules/ACE/debianbuild/libace-tmcast-5.7.8.install
+++ b/modules/ACE/debian/libace-tmcast-5.7.8.install
diff --git a/modules/ACE/debianbuild/libace-tmcast-dev.docs b/modules/ACE/debian/libace-tmcast-dev.docs
index e740752c6a4..e740752c6a4 100644
--- a/modules/ACE/debianbuild/libace-tmcast-dev.docs
+++ b/modules/ACE/debian/libace-tmcast-dev.docs
diff --git a/modules/ACE/debianbuild/libace-tmcast-dev.install b/modules/ACE/debian/libace-tmcast-dev.install
index d9c10e67c72..d9c10e67c72 100644
--- a/modules/ACE/debianbuild/libace-tmcast-dev.install
+++ b/modules/ACE/debian/libace-tmcast-dev.install
diff --git a/modules/ACE/debianbuild/libace-xtreactor-5.7.8.install b/modules/ACE/debian/libace-xtreactor-5.7.8.install
index 2c6719943af..2c6719943af 100644
--- a/modules/ACE/debianbuild/libace-xtreactor-5.7.8.install
+++ b/modules/ACE/debian/libace-xtreactor-5.7.8.install
diff --git a/modules/ACE/debianbuild/libace-xtreactor-dev.install b/modules/ACE/debian/libace-xtreactor-dev.install
index 2e6b2db77d1..2e6b2db77d1 100644
--- a/modules/ACE/debianbuild/libace-xtreactor-dev.install
+++ b/modules/ACE/debian/libace-xtreactor-dev.install
diff --git a/modules/ACE/debianbuild/libacexml-5.7.8.docs b/modules/ACE/debian/libacexml-5.7.8.docs
index 4ebd1c55c18..4ebd1c55c18 100644
--- a/modules/ACE/debianbuild/libacexml-5.7.8.docs
+++ b/modules/ACE/debian/libacexml-5.7.8.docs
diff --git a/modules/ACE/debianbuild/libacexml-5.7.8.install b/modules/ACE/debian/libacexml-5.7.8.install
index 5e60388244d..5e60388244d 100644
--- a/modules/ACE/debianbuild/libacexml-5.7.8.install
+++ b/modules/ACE/debian/libacexml-5.7.8.install
diff --git a/modules/ACE/debianbuild/libacexml-dev.docs b/modules/ACE/debian/libacexml-dev.docs
index 77ec1b320a1..77ec1b320a1 100644
--- a/modules/ACE/debianbuild/libacexml-dev.docs
+++ b/modules/ACE/debian/libacexml-dev.docs
diff --git a/modules/ACE/debianbuild/libacexml-dev.install b/modules/ACE/debian/libacexml-dev.install
index 517f3b1c21e..517f3b1c21e 100644
--- a/modules/ACE/debianbuild/libacexml-dev.install
+++ b/modules/ACE/debian/libacexml-dev.install
diff --git a/modules/ACE/debianbuild/libacexml-dev.links b/modules/ACE/debian/libacexml-dev.links
index 16f0027f673..16f0027f673 100644
--- a/modules/ACE/debianbuild/libacexml-dev.links
+++ b/modules/ACE/debian/libacexml-dev.links
diff --git a/modules/ACE/debianbuild/libkokyu-5.7.8.docs b/modules/ACE/debian/libkokyu-5.7.8.docs
index 35ee2dbe99c..35ee2dbe99c 100644
--- a/modules/ACE/debianbuild/libkokyu-5.7.8.docs
+++ b/modules/ACE/debian/libkokyu-5.7.8.docs
diff --git a/modules/ACE/debianbuild/libkokyu-5.7.8.install b/modules/ACE/debian/libkokyu-5.7.8.install
index 81c58f1ba0d..81c58f1ba0d 100644
--- a/modules/ACE/debianbuild/libkokyu-5.7.8.install
+++ b/modules/ACE/debian/libkokyu-5.7.8.install
diff --git a/modules/ACE/debianbuild/libkokyu-dev.docs b/modules/ACE/debian/libkokyu-dev.docs
index 50165282295..50165282295 100644
--- a/modules/ACE/debianbuild/libkokyu-dev.docs
+++ b/modules/ACE/debian/libkokyu-dev.docs
diff --git a/modules/ACE/debianbuild/libkokyu-dev.install b/modules/ACE/debian/libkokyu-dev.install
index fd045e49943..fd045e49943 100644
--- a/modules/ACE/debianbuild/libkokyu-dev.install
+++ b/modules/ACE/debian/libkokyu-dev.install
diff --git a/modules/ACE/debianbuild/libkokyu-dev.links b/modules/ACE/debian/libkokyu-dev.links
index eb6d21d003a..eb6d21d003a 100644
--- a/modules/ACE/debianbuild/libkokyu-dev.links
+++ b/modules/ACE/debian/libkokyu-dev.links
diff --git a/modules/ACE/debianbuild/libtao-1.7.8.docs b/modules/ACE/debian/libtao-1.7.8.docs
index a79beab3449..a79beab3449 100644
--- a/modules/ACE/debianbuild/libtao-1.7.8.docs
+++ b/modules/ACE/debian/libtao-1.7.8.docs
diff --git a/modules/ACE/debianbuild/libtao-1.7.8.install b/modules/ACE/debian/libtao-1.7.8.install
index 5d7048446f3..5d7048446f3 100644
--- a/modules/ACE/debianbuild/libtao-1.7.8.install
+++ b/modules/ACE/debian/libtao-1.7.8.install
diff --git a/modules/ACE/debianbuild/libtao-dev.dirs b/modules/ACE/debian/libtao-dev.dirs
index 9ec18989c12..9ec18989c12 100644
--- a/modules/ACE/debianbuild/libtao-dev.dirs
+++ b/modules/ACE/debian/libtao-dev.dirs
diff --git a/modules/ACE/debianbuild/libtao-dev.docs b/modules/ACE/debian/libtao-dev.docs
index e9b5ab32d7c..e9b5ab32d7c 100644
--- a/modules/ACE/debianbuild/libtao-dev.docs
+++ b/modules/ACE/debian/libtao-dev.docs
diff --git a/modules/ACE/debianbuild/libtao-dev.install b/modules/ACE/debian/libtao-dev.install
index 3840f1eb44d..3840f1eb44d 100644
--- a/modules/ACE/debianbuild/libtao-dev.install
+++ b/modules/ACE/debian/libtao-dev.install
diff --git a/modules/ACE/debianbuild/libtao-dev.links b/modules/ACE/debian/libtao-dev.links
index d07668bc513..d07668bc513 100644
--- a/modules/ACE/debianbuild/libtao-dev.links
+++ b/modules/ACE/debian/libtao-dev.links
diff --git a/modules/ACE/debianbuild/libtao-doc.docs b/modules/ACE/debian/libtao-doc.docs
index 23026c0f89d..23026c0f89d 100644
--- a/modules/ACE/debianbuild/libtao-doc.docs
+++ b/modules/ACE/debian/libtao-doc.docs
diff --git a/modules/ACE/debianbuild/libtao-flresource-1.7.8.install b/modules/ACE/debian/libtao-flresource-1.7.8.install
index 47dfbd58ef8..47dfbd58ef8 100644
--- a/modules/ACE/debianbuild/libtao-flresource-1.7.8.install
+++ b/modules/ACE/debian/libtao-flresource-1.7.8.install
diff --git a/modules/ACE/debianbuild/libtao-flresource-dev.install b/modules/ACE/debian/libtao-flresource-dev.install
index 218c4c24c75..218c4c24c75 100644
--- a/modules/ACE/debianbuild/libtao-flresource-dev.install
+++ b/modules/ACE/debian/libtao-flresource-dev.install
diff --git a/modules/ACE/debianbuild/libtao-foxresource-1.7.8.install b/modules/ACE/debian/libtao-foxresource-1.7.8.install
index 1187fe1a182..1187fe1a182 100644
--- a/modules/ACE/debianbuild/libtao-foxresource-1.7.8.install
+++ b/modules/ACE/debian/libtao-foxresource-1.7.8.install
diff --git a/modules/ACE/debianbuild/libtao-foxresource-dev.install b/modules/ACE/debian/libtao-foxresource-dev.install
index b3b52d4941d..b3b52d4941d 100644
--- a/modules/ACE/debianbuild/libtao-foxresource-dev.install
+++ b/modules/ACE/debian/libtao-foxresource-dev.install
diff --git a/modules/ACE/debianbuild/libtao-orbsvcs-1.7.8.NEWS b/modules/ACE/debian/libtao-orbsvcs-1.7.8.NEWS
index ea0759e0ade..ea0759e0ade 100644
--- a/modules/ACE/debianbuild/libtao-orbsvcs-1.7.8.NEWS
+++ b/modules/ACE/debian/libtao-orbsvcs-1.7.8.NEWS
diff --git a/modules/ACE/debianbuild/libtao-orbsvcs-1.7.8.install b/modules/ACE/debian/libtao-orbsvcs-1.7.8.install
index 5fb5f3c21b3..5fb5f3c21b3 100644
--- a/modules/ACE/debianbuild/libtao-orbsvcs-1.7.8.install
+++ b/modules/ACE/debian/libtao-orbsvcs-1.7.8.install
diff --git a/modules/ACE/debianbuild/libtao-orbsvcs-dev.install b/modules/ACE/debian/libtao-orbsvcs-dev.install
index 0a2d79591cd..0a2d79591cd 100644
--- a/modules/ACE/debianbuild/libtao-orbsvcs-dev.install
+++ b/modules/ACE/debian/libtao-orbsvcs-dev.install
diff --git a/modules/ACE/debianbuild/libtao-orbsvcs-dev.links b/modules/ACE/debian/libtao-orbsvcs-dev.links
index 42fe43bc2a7..42fe43bc2a7 100644
--- a/modules/ACE/debianbuild/libtao-orbsvcs-dev.links
+++ b/modules/ACE/debian/libtao-orbsvcs-dev.links
diff --git a/modules/ACE/debianbuild/libtao-qtresource-1.7.8.install b/modules/ACE/debian/libtao-qtresource-1.7.8.install
index 84d4f97a06b..84d4f97a06b 100644
--- a/modules/ACE/debianbuild/libtao-qtresource-1.7.8.install
+++ b/modules/ACE/debian/libtao-qtresource-1.7.8.install
diff --git a/modules/ACE/debianbuild/libtao-qtresource-dev.install b/modules/ACE/debian/libtao-qtresource-dev.install
index d4bfe3864c8..d4bfe3864c8 100644
--- a/modules/ACE/debianbuild/libtao-qtresource-dev.install
+++ b/modules/ACE/debian/libtao-qtresource-dev.install
diff --git a/modules/ACE/debianbuild/libtao-tkresource-1.7.8.install b/modules/ACE/debian/libtao-tkresource-1.7.8.install
index 51ecfa59d2c..51ecfa59d2c 100644
--- a/modules/ACE/debianbuild/libtao-tkresource-1.7.8.install
+++ b/modules/ACE/debian/libtao-tkresource-1.7.8.install
diff --git a/modules/ACE/debianbuild/libtao-tkresource-dev.install b/modules/ACE/debian/libtao-tkresource-dev.install
index daaa40e9b7e..daaa40e9b7e 100644
--- a/modules/ACE/debianbuild/libtao-tkresource-dev.install
+++ b/modules/ACE/debian/libtao-tkresource-dev.install
diff --git a/modules/ACE/debianbuild/libtao-xtresource-1.7.8.install b/modules/ACE/debian/libtao-xtresource-1.7.8.install
index 11588ae9088..11588ae9088 100644
--- a/modules/ACE/debianbuild/libtao-xtresource-1.7.8.install
+++ b/modules/ACE/debian/libtao-xtresource-1.7.8.install
diff --git a/modules/ACE/debianbuild/libtao-xtresource-dev.install b/modules/ACE/debian/libtao-xtresource-dev.install
index 24782aea620..24782aea620 100644
--- a/modules/ACE/debianbuild/libtao-xtresource-dev.install
+++ b/modules/ACE/debian/libtao-xtresource-dev.install
diff --git a/modules/ACE/debianbuild/mpc-ace.docs b/modules/ACE/debian/mpc-ace.docs
index fb3dd6ec92c..fb3dd6ec92c 100644
--- a/modules/ACE/debianbuild/mpc-ace.docs
+++ b/modules/ACE/debian/mpc-ace.docs
diff --git a/modules/ACE/debianbuild/mpc-ace.install b/modules/ACE/debian/mpc-ace.install
index 0a5cec36962..0a5cec36962 100644
--- a/modules/ACE/debianbuild/mpc-ace.install
+++ b/modules/ACE/debian/mpc-ace.install
diff --git a/modules/ACE/debianbuild/mpc-ace.links b/modules/ACE/debian/mpc-ace.links
index e0fc68a6beb..e0fc68a6beb 100644
--- a/modules/ACE/debianbuild/mpc-ace.links
+++ b/modules/ACE/debian/mpc-ace.links
diff --git a/modules/ACE/debianbuild/mpc-ace.manpages b/modules/ACE/debian/mpc-ace.manpages
index 59e55053a00..59e55053a00 100644
--- a/modules/ACE/debianbuild/mpc-ace.manpages
+++ b/modules/ACE/debian/mpc-ace.manpages
diff --git a/modules/ACE/debianbuild/patches/00list b/modules/ACE/debian/patches/00list
index d77c48fbc12..d77c48fbc12 100644
--- a/modules/ACE/debianbuild/patches/00list
+++ b/modules/ACE/debian/patches/00list
diff --git a/modules/ACE/debianbuild/patches/00patch-opts b/modules/ACE/debian/patches/00patch-opts
index d49694774c8..d49694774c8 100644
--- a/modules/ACE/debianbuild/patches/00patch-opts
+++ b/modules/ACE/debian/patches/00patch-opts
diff --git a/modules/ACE/debianbuild/patches/24-add-missing-headers.dpatch b/modules/ACE/debian/patches/24-add-missing-headers.dpatch
index 96dfc8a0ad1..96dfc8a0ad1 100644
--- a/modules/ACE/debianbuild/patches/24-add-missing-headers.dpatch
+++ b/modules/ACE/debian/patches/24-add-missing-headers.dpatch
diff --git a/modules/ACE/debianbuild/patches/34-bts386713.dpatch b/modules/ACE/debian/patches/34-bts386713.dpatch
index 8f3aca63c55..8f3aca63c55 100644
--- a/modules/ACE/debianbuild/patches/34-bts386713.dpatch
+++ b/modules/ACE/debian/patches/34-bts386713.dpatch
diff --git a/modules/ACE/debianbuild/patches/50-prepatch-dummy-mark.dpatch b/modules/ACE/debian/patches/50-prepatch-dummy-mark.dpatch
index 758f5225979..758f5225979 100644
--- a/modules/ACE/debianbuild/patches/50-prepatch-dummy-mark.dpatch
+++ b/modules/ACE/debian/patches/50-prepatch-dummy-mark.dpatch
diff --git a/modules/ACE/debianbuild/patches/90-patch-mpc-basedir.dpatch b/modules/ACE/debian/patches/90-patch-mpc-basedir.dpatch
index 594844a615b..594844a615b 100644
--- a/modules/ACE/debianbuild/patches/90-patch-mpc-basedir.dpatch
+++ b/modules/ACE/debian/patches/90-patch-mpc-basedir.dpatch
diff --git a/modules/ACE/debianbuild/patches/91-patch-dg-basedir.dpatch b/modules/ACE/debian/patches/91-patch-dg-basedir.dpatch
index 0703e3e6a38..0703e3e6a38 100644
--- a/modules/ACE/debianbuild/patches/91-patch-dg-basedir.dpatch
+++ b/modules/ACE/debian/patches/91-patch-dg-basedir.dpatch
diff --git a/modules/ACE/debianbuild/patches/92-default-ACE_ROOT.dpatch b/modules/ACE/debian/patches/92-default-ACE_ROOT.dpatch
index c9be527c910..c9be527c910 100644
--- a/modules/ACE/debianbuild/patches/92-default-ACE_ROOT.dpatch
+++ b/modules/ACE/debian/patches/92-default-ACE_ROOT.dpatch
diff --git a/modules/ACE/debianbuild/platform_macros.GNU.in b/modules/ACE/debian/platform_macros.GNU.in
index 4ab8f0aac88..4ab8f0aac88 100644
--- a/modules/ACE/debianbuild/platform_macros.GNU.in
+++ b/modules/ACE/debian/platform_macros.GNU.in
diff --git a/modules/ACE/debianbuild/rules b/modules/ACE/debian/rules
index cfaa1f713f0..cfaa1f713f0 100644
--- a/modules/ACE/debianbuild/rules
+++ b/modules/ACE/debian/rules
diff --git a/modules/ACE/debianbuild/tao-concurrency.docs b/modules/ACE/debian/tao-concurrency.docs
index 27759070d95..27759070d95 100644
--- a/modules/ACE/debianbuild/tao-concurrency.docs
+++ b/modules/ACE/debian/tao-concurrency.docs
diff --git a/modules/ACE/debianbuild/tao-concurrency.install b/modules/ACE/debian/tao-concurrency.install
index d5056db405c..d5056db405c 100644
--- a/modules/ACE/debianbuild/tao-concurrency.install
+++ b/modules/ACE/debian/tao-concurrency.install
diff --git a/modules/ACE/debianbuild/tao-event.docs b/modules/ACE/debian/tao-event.docs
index 323dd9c38cc..323dd9c38cc 100644
--- a/modules/ACE/debianbuild/tao-event.docs
+++ b/modules/ACE/debian/tao-event.docs
diff --git a/modules/ACE/debianbuild/tao-event.install b/modules/ACE/debian/tao-event.install
index 6bebccee3e8..6bebccee3e8 100644
--- a/modules/ACE/debianbuild/tao-event.install
+++ b/modules/ACE/debian/tao-event.install
diff --git a/modules/ACE/debianbuild/tao-ft.docs b/modules/ACE/debian/tao-ft.docs
index 2ba85e3736d..2ba85e3736d 100644
--- a/modules/ACE/debianbuild/tao-ft.docs
+++ b/modules/ACE/debian/tao-ft.docs
diff --git a/modules/ACE/debianbuild/tao-ft.install b/modules/ACE/debian/tao-ft.install
index 54f6167bc6d..54f6167bc6d 100644
--- a/modules/ACE/debianbuild/tao-ft.install
+++ b/modules/ACE/debian/tao-ft.install
diff --git a/modules/ACE/debianbuild/tao-ftrtevent.install b/modules/ACE/debian/tao-ftrtevent.install
index df412324715..df412324715 100644
--- a/modules/ACE/debianbuild/tao-ftrtevent.install
+++ b/modules/ACE/debian/tao-ftrtevent.install
diff --git a/modules/ACE/debianbuild/tao-idl.install b/modules/ACE/debian/tao-idl.install
index 84f7a05b480..84f7a05b480 100644
--- a/modules/ACE/debianbuild/tao-idl.install
+++ b/modules/ACE/debian/tao-idl.install
diff --git a/modules/ACE/debianbuild/tao-idl.links b/modules/ACE/debian/tao-idl.links
index a331370709b..a331370709b 100644
--- a/modules/ACE/debianbuild/tao-idl.links
+++ b/modules/ACE/debian/tao-idl.links
diff --git a/modules/ACE/debianbuild/tao-idl.manpages b/modules/ACE/debian/tao-idl.manpages
index bbaa6e3fb67..bbaa6e3fb67 100644
--- a/modules/ACE/debianbuild/tao-idl.manpages
+++ b/modules/ACE/debian/tao-idl.manpages
diff --git a/modules/ACE/debianbuild/tao-ifr.docs b/modules/ACE/debian/tao-ifr.docs
index 4b680d8f663..4b680d8f663 100644
--- a/modules/ACE/debianbuild/tao-ifr.docs
+++ b/modules/ACE/debian/tao-ifr.docs
diff --git a/modules/ACE/debianbuild/tao-ifr.install b/modules/ACE/debian/tao-ifr.install
index e281cfffc67..e281cfffc67 100644
--- a/modules/ACE/debianbuild/tao-ifr.install
+++ b/modules/ACE/debian/tao-ifr.install
diff --git a/modules/ACE/debianbuild/tao-imr.docs b/modules/ACE/debian/tao-imr.docs
index 015d20b03f7..015d20b03f7 100644
--- a/modules/ACE/debianbuild/tao-imr.docs
+++ b/modules/ACE/debian/tao-imr.docs
diff --git a/modules/ACE/debianbuild/tao-imr.install b/modules/ACE/debian/tao-imr.install
index 1054516f613..1054516f613 100644
--- a/modules/ACE/debianbuild/tao-imr.install
+++ b/modules/ACE/debian/tao-imr.install
diff --git a/modules/ACE/debianbuild/tao-lifecycle.install b/modules/ACE/debian/tao-lifecycle.install
index a34fa7b8ee6..a34fa7b8ee6 100644
--- a/modules/ACE/debianbuild/tao-lifecycle.install
+++ b/modules/ACE/debian/tao-lifecycle.install
diff --git a/modules/ACE/debianbuild/tao-load.docs b/modules/ACE/debian/tao-load.docs
index d9c83468cb0..d9c83468cb0 100644
--- a/modules/ACE/debianbuild/tao-load.docs
+++ b/modules/ACE/debian/tao-load.docs
diff --git a/modules/ACE/debianbuild/tao-load.install b/modules/ACE/debian/tao-load.install
index 203a48c0296..203a48c0296 100644
--- a/modules/ACE/debianbuild/tao-load.install
+++ b/modules/ACE/debian/tao-load.install
diff --git a/modules/ACE/debianbuild/tao-log.docs b/modules/ACE/debian/tao-log.docs
index 8a75e5909f2..8a75e5909f2 100644
--- a/modules/ACE/debianbuild/tao-log.docs
+++ b/modules/ACE/debian/tao-log.docs
diff --git a/modules/ACE/debianbuild/tao-log.install b/modules/ACE/debian/tao-log.install
index f2197fef495..f2197fef495 100644
--- a/modules/ACE/debianbuild/tao-log.install
+++ b/modules/ACE/debian/tao-log.install
diff --git a/modules/ACE/debianbuild/tao-log.manpages b/modules/ACE/debian/tao-log.manpages
index b94e70dc2db..b94e70dc2db 100644
--- a/modules/ACE/debianbuild/tao-log.manpages
+++ b/modules/ACE/debian/tao-log.manpages
diff --git a/modules/ACE/debianbuild/tao-naming.docs b/modules/ACE/debian/tao-naming.docs
index 1f38248a647..1f38248a647 100644
--- a/modules/ACE/debianbuild/tao-naming.docs
+++ b/modules/ACE/debian/tao-naming.docs
diff --git a/modules/ACE/debianbuild/tao-naming.install b/modules/ACE/debian/tao-naming.install
index d76b87af15c..d76b87af15c 100644
--- a/modules/ACE/debianbuild/tao-naming.install
+++ b/modules/ACE/debian/tao-naming.install
diff --git a/modules/ACE/debianbuild/tao-notify.docs b/modules/ACE/debian/tao-notify.docs
index 08af3d3f8fe..08af3d3f8fe 100644
--- a/modules/ACE/debianbuild/tao-notify.docs
+++ b/modules/ACE/debian/tao-notify.docs
diff --git a/modules/ACE/debianbuild/tao-notify.install b/modules/ACE/debian/tao-notify.install
index 40deedfaf5a..40deedfaf5a 100644
--- a/modules/ACE/debianbuild/tao-notify.install
+++ b/modules/ACE/debian/tao-notify.install
diff --git a/modules/ACE/debianbuild/tao-rtevent.install b/modules/ACE/debian/tao-rtevent.install
index 48ff34c9df0..48ff34c9df0 100644
--- a/modules/ACE/debianbuild/tao-rtevent.install
+++ b/modules/ACE/debian/tao-rtevent.install
diff --git a/modules/ACE/debianbuild/tao-scheduling.install b/modules/ACE/debian/tao-scheduling.install
index 5dfc36c35d8..5dfc36c35d8 100644
--- a/modules/ACE/debianbuild/tao-scheduling.install
+++ b/modules/ACE/debian/tao-scheduling.install
diff --git a/modules/ACE/debianbuild/tao-time.docs b/modules/ACE/debian/tao-time.docs
index d474eb065e6..d474eb065e6 100644
--- a/modules/ACE/debianbuild/tao-time.docs
+++ b/modules/ACE/debian/tao-time.docs
diff --git a/modules/ACE/debianbuild/tao-time.install b/modules/ACE/debian/tao-time.install
index f179e39461c..f179e39461c 100644
--- a/modules/ACE/debianbuild/tao-time.install
+++ b/modules/ACE/debian/tao-time.install
diff --git a/modules/ACE/debianbuild/tao-trading.docs b/modules/ACE/debian/tao-trading.docs
index 5c5869da934..5c5869da934 100644
--- a/modules/ACE/debianbuild/tao-trading.docs
+++ b/modules/ACE/debian/tao-trading.docs
diff --git a/modules/ACE/debianbuild/tao-trading.install b/modules/ACE/debian/tao-trading.install
index 61109722f34..61109722f34 100644
--- a/modules/ACE/debianbuild/tao-trading.install
+++ b/modules/ACE/debian/tao-trading.install
diff --git a/modules/ACE/debianbuild/tao-utils.docs b/modules/ACE/debian/tao-utils.docs
index 3d8830cfa42..3d8830cfa42 100644
--- a/modules/ACE/debianbuild/tao-utils.docs
+++ b/modules/ACE/debian/tao-utils.docs
diff --git a/modules/ACE/debianbuild/tao-utils.install b/modules/ACE/debian/tao-utils.install
index bb19843035e..bb19843035e 100644
--- a/modules/ACE/debianbuild/tao-utils.install
+++ b/modules/ACE/debian/tao-utils.install
diff --git a/modules/ACE/debianbuild/tao_idl b/modules/ACE/debian/tao_idl
index 2d48cb8614e..2d48cb8614e 100644
--- a/modules/ACE/debianbuild/tao_idl
+++ b/modules/ACE/debian/tao_idl
diff --git a/modules/ACE/debianbuild/tao_ifr b/modules/ACE/debian/tao_ifr
index baf5a4c7698..baf5a4c7698 100644
--- a/modules/ACE/debianbuild/tao_ifr
+++ b/modules/ACE/debian/tao_ifr
diff --git a/modules/ACE/debianbuild/watch b/modules/ACE/debian/watch
index ecc70a07613..ecc70a07613 100644
--- a/modules/ACE/debianbuild/watch
+++ b/modules/ACE/debian/watch
diff --git a/modules/ACE/examples/ASX/CCM_App/SC_Server.cpp b/modules/ACE/examples/ASX/CCM_App/SC_Server.cpp
index 4a1256cf7f4..e133c3db614 100644
--- a/modules/ACE/examples/ASX/CCM_App/SC_Server.cpp
+++ b/modules/ACE/examples/ASX/CCM_App/SC_Server.cpp
@@ -82,5 +82,6 @@ ACE_TMAIN (int argc, ACE_TCHAR *argv[])
// Perform logging service until we receive SIGINT.
ACE_Reactor::instance ()->run_reactor_event_loop ();
+ handler.remove_stdin_handler (ACE_Reactor::instance (),ACE_Thread_Manager::instance ());
return 0;
}
diff --git a/modules/ACE/examples/Connection/blocking/SPIPE-connector.cpp b/modules/ACE/examples/Connection/blocking/SPIPE-connector.cpp
index 071afec6a79..bd7c0691b52 100644
--- a/modules/ACE/examples/Connection/blocking/SPIPE-connector.cpp
+++ b/modules/ACE/examples/Connection/blocking/SPIPE-connector.cpp
@@ -7,7 +7,6 @@
#include "ace/OS_NS_string.h"
#include "ace/SPIPE_Addr.h"
#include "ace/SPIPE_Connector.h"
-#include "ace/Proactor.h"
#include "ace/Get_Opt.h"
#include "ace/Truncate.h"
#include "ace/OS_NS_unistd.h"
@@ -133,7 +132,7 @@ Peer_Handler::display_menu (void)
IPC_Client::IPC_Client (void)
: iterations_ (0),
- done_handler_ (ACE_Sig_Handler_Ex (ACE_Proactor::end_event_loop))
+ done_handler_ (ACE_Sig_Handler_Ex (ACE_Reactor::end_event_loop))
{
ACE_OS::strcpy (rendezvous_, ACE_TEXT ("acepipe"));
}
diff --git a/modules/ACE/netsvcs/lib/Client_Logging_Handler.cpp b/modules/ACE/netsvcs/lib/Client_Logging_Handler.cpp
index 0f50308563a..76703b709db 100644
--- a/modules/ACE/netsvcs/lib/Client_Logging_Handler.cpp
+++ b/modules/ACE/netsvcs/lib/Client_Logging_Handler.cpp
@@ -607,7 +607,7 @@ ACE_Client_Logging_Acceptor::init (int argc, ACE_TCHAR *argv[])
this->local_addr_) == -1)
{
ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("Can't connect to logging server %s on port %d: ")
+ ACE_TEXT ("Can't connect to logging server %C on port %d: ")
ACE_TEXT ("%m, using stderr\n"),
this->server_addr_.get_host_name (),
this->server_addr_.get_port_number (),
@@ -628,7 +628,7 @@ ACE_Client_Logging_Acceptor::init (int argc, ACE_TCHAR *argv[])
-1);
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("Client Logging Daemon is connected to Server ")
- ACE_TEXT ("Logging Daemon %s on port %d on handle %u\n"),
+ ACE_TEXT ("Logging Daemon %C on port %d on handle %u\n"),
server_addr.get_host_name (),
server_addr.get_port_number (),
stream.get_handle ()));
diff --git a/modules/ACE/netsvcs/lib/TS_Server_Handler.cpp b/modules/ACE/netsvcs/lib/TS_Server_Handler.cpp
index a8c30c73662..8dbf654164f 100644
--- a/modules/ACE/netsvcs/lib/TS_Server_Handler.cpp
+++ b/modules/ACE/netsvcs/lib/TS_Server_Handler.cpp
@@ -110,7 +110,7 @@ ACE_TS_Server_Handler::open (void *)
-1);
ACE_DEBUG ((LM_DEBUG,
- ACE_TEXT ("(%t) accepted connection from host %s on fd %d\n"),
+ ACE_TEXT ("(%t) accepted connection from host %C on fd %d\n"),
client_addr.get_host_name (),
this->peer ().get_handle ()));
diff --git a/modules/ACE/tests/Bug_2740_Regression_Test.cpp b/modules/ACE/tests/Bug_2740_Regression_Test.cpp
index 8c31bfda748..5a451a17e24 100644
--- a/modules/ACE/tests/Bug_2740_Regression_Test.cpp
+++ b/modules/ACE/tests/Bug_2740_Regression_Test.cpp
@@ -282,12 +282,46 @@ ServerSvcHandler::handle_close(ACE_HANDLE handle, ACE_Reactor_Mask mask)
mask);
}
+static int
+disable_signal (int sigmin, int sigmax)
+{
+#if !defined (ACE_LACKS_UNIX_SIGNALS)
+ sigset_t signal_set;
+ if (ACE_OS::sigemptyset (&signal_set) == - 1)
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Error: (%P|%t):%p\n"),
+ ACE_TEXT ("sigemptyset failed")));
+
+ for (int i = sigmin; i <= sigmax; i++)
+ ACE_OS::sigaddset (&signal_set, i);
+
+ // Put the <signal_set>.
+# if defined (ACE_LACKS_PTHREAD_THR_SIGSETMASK)
+ // In multi-threaded application this is not POSIX compliant
+ // but let's leave it just in case.
+ if (ACE_OS::sigprocmask (SIG_BLOCK, &signal_set, 0) != 0)
+# else
+ if (ACE_OS::thr_sigsetmask (SIG_BLOCK, &signal_set, 0) != 0)
+# endif /* ACE_LACKS_PTHREAD_THR_SIGSETMASK */
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("Error: (%P|%t): %p\n"),
+ ACE_TEXT ("SIG_BLOCK failed")),
+ -1);
+#else
+ ACE_UNUSED_ARG (sigmin);
+ ACE_UNUSED_ARG (sigmax);
+#endif /* ACE_LACKS_UNIX_SIGNALS */
+
+ return 0;
+}
ACE_THR_FUNC_RETURN
event_loop(void *arg)
{
ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("%t: Starting reactor event loop\n")));
+ disable_signal (SIGPIPE, SIGPIPE);
+
ACE_Reactor *reactor = static_cast<ACE_Reactor*>(arg);
int s = reactor->run_reactor_event_loop();
@@ -301,11 +335,7 @@ int run_main(int, ACE_TCHAR *[])
ACE_START_TEST (ACE_TEXT ("Bug_2740_Regression_Test"));
// Make sure we ignore SIGPIPE
- sigset_t sigsetNew[1];
- sigset_t sigsetOld[1];
- ACE_OS::sigemptyset (sigsetNew);
- ACE_OS::sigaddset (sigsetNew, SIGPIPE);
- ACE_OS::sigprocmask (SIG_BLOCK, sigsetNew, sigsetOld);
+ disable_signal (SIGPIPE, SIGPIPE);
ACE_Dev_Poll_Reactor dp_reactor;
dp_reactor.restart (1); // Restart on EINTR
diff --git a/modules/ACE/tests/Bug_3334_Regression_Test.cpp b/modules/ACE/tests/Bug_3334_Regression_Test.cpp
index f3e0ff4c815..fe348154f80 100644
--- a/modules/ACE/tests/Bug_3334_Regression_Test.cpp
+++ b/modules/ACE/tests/Bug_3334_Regression_Test.cpp
@@ -41,6 +41,8 @@ run_main (int, ACE_TCHAR *argv[])
ACE_TEXT ("open"),
1));
+ ACE_Service_Config::fini_svcs ();
+
ACE_END_TEST;
return status;
}
diff --git a/modules/ACE/tests/Dev_Poll_Reactor_Test.cpp b/modules/ACE/tests/Dev_Poll_Reactor_Test.cpp
index 81dbd1f49f4..062c4ccd04b 100644
--- a/modules/ACE/tests/Dev_Poll_Reactor_Test.cpp
+++ b/modules/ACE/tests/Dev_Poll_Reactor_Test.cpp
@@ -441,9 +441,46 @@ public:
// ----------------------------------------------------
+static int
+disable_signal (int sigmin, int sigmax)
+{
+#if !defined (ACE_LACKS_UNIX_SIGNALS)
+ sigset_t signal_set;
+ if (ACE_OS::sigemptyset (&signal_set) == - 1)
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Error: (%P|%t):%p\n"),
+ ACE_TEXT ("sigemptyset failed")));
+
+ for (int i = sigmin; i <= sigmax; i++)
+ ACE_OS::sigaddset (&signal_set, i);
+
+ // Put the <signal_set>.
+# if defined (ACE_LACKS_PTHREAD_THR_SIGSETMASK)
+ // In multi-threaded application this is not POSIX compliant
+ // but let's leave it just in case.
+ if (ACE_OS::sigprocmask (SIG_BLOCK, &signal_set, 0) != 0)
+# else
+ if (ACE_OS::thr_sigsetmask (SIG_BLOCK, &signal_set, 0) != 0)
+# endif /* ACE_LACKS_PTHREAD_THR_SIGSETMASK */
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("Error: (%P|%t): %p\n"),
+ ACE_TEXT ("SIG_BLOCK failed")),
+ -1);
+#else
+ ACE_UNUSED_ARG (sigmin);
+ ACE_UNUSED_ARG (sigmax);
+#endif /* ACE_LACKS_UNIX_SIGNALS */
+
+ return 0;
+}
+
+// ----------------------------------------------------
+
ACE_THR_FUNC_RETURN
server_worker (void *p)
{
+ disable_signal (SIGPIPE, SIGPIPE);
+
const unsigned short port = *(static_cast<unsigned short *> (p));
ACE_INET_Addr addr;
@@ -510,11 +547,7 @@ run_main (int, ACE_TCHAR *[])
ACE_START_TEST (ACE_TEXT ("Dev_Poll_Reactor_Test"));
// Make sure we ignore SIGPIPE
- sigset_t sigsetNew[1];
- sigset_t sigsetOld[1];
- ACE_OS::sigemptyset (sigsetNew);
- ACE_OS::sigaddset (sigsetNew, SIGPIPE);
- ACE_OS::sigprocmask (SIG_BLOCK, sigsetNew, sigsetOld);
+ disable_signal (SIGPIPE, SIGPIPE);
ACE_Dev_Poll_Reactor dp_reactor;
dp_reactor.restart (1); // Restart on EINTR
diff --git a/modules/ACE/tests/MT_Reference_Counted_Event_Handler_Test.cpp b/modules/ACE/tests/MT_Reference_Counted_Event_Handler_Test.cpp
index 3cc4b712184..7bcb4b59ef3 100644
--- a/modules/ACE/tests/MT_Reference_Counted_Event_Handler_Test.cpp
+++ b/modules/ACE/tests/MT_Reference_Counted_Event_Handler_Test.cpp
@@ -108,6 +108,39 @@ static int test_configs[][5] =
// { 1, 1, 1, 1, 1, }, // No need for nested upcalls without event loop being used by the receiver.
};
+static int
+disable_signal (int sigmin, int sigmax)
+{
+#if !defined (ACE_LACKS_UNIX_SIGNALS)
+ sigset_t signal_set;
+ if (ACE_OS::sigemptyset (&signal_set) == - 1)
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Error: (%P|%t):%p\n"),
+ ACE_TEXT ("sigemptyset failed")));
+
+ for (int i = sigmin; i <= sigmax; i++)
+ ACE_OS::sigaddset (&signal_set, i);
+
+ // Put the <signal_set>.
+# if defined (ACE_LACKS_PTHREAD_THR_SIGSETMASK)
+ // In multi-threaded application this is not POSIX compliant
+ // but let's leave it just in case.
+ if (ACE_OS::sigprocmask (SIG_BLOCK, &signal_set, 0) != 0)
+# else
+ if (ACE_OS::thr_sigsetmask (SIG_BLOCK, &signal_set, 0) != 0)
+# endif /* ACE_LACKS_PTHREAD_THR_SIGSETMASK */
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("Error: (%P|%t): %p\n"),
+ ACE_TEXT ("SIG_BLOCK failed")),
+ -1);
+#else
+ ACE_UNUSED_ARG (sigmin);
+ ACE_UNUSED_ARG (sigmax);
+#endif /* ACE_LACKS_UNIX_SIGNALS */
+
+ return 0;
+}
+
/* Replication of the ACE_Pipe class. Only difference is that this
class always uses two sockets to create the pipe, even on platforms
that support pipes. */
@@ -421,6 +454,8 @@ Receiver::svc (void)
ACE_TEXT("(%t) Receiver::svc commencing, handle = %d\n"),
this->handle_));
+ disable_signal (SIGPIPE, SIGPIPE);
+
while (result != -1)
{
result =
@@ -848,6 +883,8 @@ Invocation_Thread::svc (void)
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT("(%t) Invocation_Thread::svc commencing\n")));
+ disable_signal (SIGPIPE, SIGPIPE);
+
for (int message_counter = 1;; ++message_counter)
{
// Get a connection from the cache.
@@ -983,6 +1020,8 @@ Close_Socket_Thread::svc (void)
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT("(%t) Close_Socket_Thread::svc commencing\n")));
+ disable_signal (SIGPIPE, SIGPIPE);
+
for (; !this->reactor_.reactor_event_loop_done ();)
{
// Wait for the new connection to be established.
@@ -1061,6 +1100,8 @@ Event_Loop_Thread::svc (void)
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT("(%t) Event_Loop_Thread::svc commencing\n")));
+ disable_signal (SIGPIPE, SIGPIPE);
+
while (!this->reactor_.reactor_event_loop_done ())
{
this->reactor_.handle_events ();
@@ -1102,6 +1143,8 @@ Purger_Thread::svc (void)
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT("(%t) Purger_Thread::svc commencing\n")));
+ disable_signal (SIGPIPE, SIGPIPE);
+
for (; !this->reactor_.reactor_event_loop_done ();)
{
// Get a connection from the cache.
@@ -1384,17 +1427,7 @@ run_main (int argc, ACE_TCHAR *argv[])
if (result != 0)
return result;
-#if defined (SIGPIPE) && !defined (ACE_LACKS_UNIX_SIGNALS)
- // There's really no way to deal with this in a portable manner, so
- // we just have to suck it up and get preprocessor conditional and
- // ugly.
- //
- // Impractical to have each call to the ORB protect against the
- // implementation artifact of potential writes to dead connections,
- // as it'd be way expensive. Do it here; who cares about SIGPIPE in
- // these kinds of applications, anyway?
- (void) ACE_OS::signal (SIGPIPE, (ACE_SignalHandler) SIG_IGN);
-#endif /* SIGPIPE */
+ disable_signal (SIGPIPE, SIGPIPE);
int ignore_nested_upcalls = 1;
int perform_nested_upcalls = 0;
diff --git a/modules/ACE/tests/Proactor_Test.cpp b/modules/ACE/tests/Proactor_Test.cpp
index 861def76e50..637dab94d1e 100644
--- a/modules/ACE/tests/Proactor_Test.cpp
+++ b/modules/ACE/tests/Proactor_Test.cpp
@@ -122,8 +122,7 @@ public:
static int
disable_signal (int sigmin, int sigmax)
{
-#ifndef ACE_WIN32
-
+#if !defined (ACE_LACKS_UNIX_SIGNALS)
sigset_t signal_set;
if (ACE_OS::sigemptyset (&signal_set) == - 1)
ACE_ERROR ((LM_ERROR,
@@ -133,17 +132,24 @@ disable_signal (int sigmin, int sigmax)
for (int i = sigmin; i <= sigmax; i++)
ACE_OS::sigaddset (&signal_set, i);
- // Put the <signal_set>.
- if (ACE_OS::pthread_sigmask (SIG_BLOCK, &signal_set, 0) != 0)
- ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("Error: (%P|%t):%p\n"),
- ACE_TEXT ("pthread_sigmask failed")));
+ // Put the <signal_set>.
+# if defined (ACE_LACKS_PTHREAD_THR_SIGSETMASK)
+ // In multi-threaded application this is not POSIX compliant
+ // but let's leave it just in case.
+ if (ACE_OS::sigprocmask (SIG_BLOCK, &signal_set, 0) != 0)
+# else
+ if (ACE_OS::thr_sigsetmask (SIG_BLOCK, &signal_set, 0) != 0)
+# endif /* ACE_LACKS_PTHREAD_THR_SIGSETMASK */
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("Error: (%P|%t): %p\n"),
+ ACE_TEXT ("SIG_BLOCK failed")),
+ -1);
#else
ACE_UNUSED_ARG (sigmin);
ACE_UNUSED_ARG (sigmax);
-#endif /* ACE_WIN32 */
+#endif /* ACE_LACKS_UNIX_SIGNALS */
- return 1;
+ return 0;
}
@@ -348,6 +354,7 @@ MyTask::svc (void)
ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) MyTask started\n")));
disable_signal (ACE_SIGRTMIN, ACE_SIGRTMAX);
+ disable_signal (SIGPIPE, SIGPIPE);
// signal that we are ready
sem_.release (1);
diff --git a/modules/ACE/tests/Proactor_Test_IPV6.cpp b/modules/ACE/tests/Proactor_Test_IPV6.cpp
index f1cc290b93a..f66b47227f2 100644
--- a/modules/ACE/tests/Proactor_Test_IPV6.cpp
+++ b/modules/ACE/tests/Proactor_Test_IPV6.cpp
@@ -122,8 +122,7 @@ public:
static int
disable_signal (int sigmin, int sigmax)
{
-#ifndef ACE_WIN32
-
+#if !defined (ACE_LACKS_UNIX_SIGNALS)
sigset_t signal_set;
if (ACE_OS::sigemptyset (&signal_set) == - 1)
ACE_ERROR ((LM_ERROR,
@@ -133,17 +132,24 @@ disable_signal (int sigmin, int sigmax)
for (int i = sigmin; i <= sigmax; i++)
ACE_OS::sigaddset (&signal_set, i);
- // Put the <signal_set>.
- if (ACE_OS::pthread_sigmask (SIG_BLOCK, &signal_set, 0) != 0)
- ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("Error: (%P|%t):%p\n"),
- ACE_TEXT ("pthread_sigmask failed")));
+ // Put the <signal_set>.
+# if defined (ACE_LACKS_PTHREAD_THR_SIGSETMASK)
+ // In multi-threaded application this is not POSIX compliant
+ // but let's leave it just in case.
+ if (ACE_OS::sigprocmask (SIG_BLOCK, &signal_set, 0) != 0)
+# else
+ if (ACE_OS::thr_sigsetmask (SIG_BLOCK, &signal_set, 0) != 0)
+# endif /* ACE_LACKS_PTHREAD_THR_SIGSETMASK */
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("Error: (%P|%t): %p\n"),
+ ACE_TEXT ("SIG_BLOCK failed")),
+ -1);
#else
ACE_UNUSED_ARG (sigmin);
ACE_UNUSED_ARG (sigmax);
-#endif /* ACE_WIN32 */
+#endif /* ACE_LACKS_UNIX_SIGNALS */
- return 1;
+ return 0;
}
@@ -348,6 +354,7 @@ MyTask::svc (void)
ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) MyTask started\n")));
disable_signal (ACE_SIGRTMIN, ACE_SIGRTMAX);
+ disable_signal (SIGPIPE, SIGPIPE);
// signal that we are ready
sem_.release (1);
diff --git a/modules/ACE/tests/Proactor_UDP_Test.cpp b/modules/ACE/tests/Proactor_UDP_Test.cpp
index 1a47dab3703..85ed010e5f4 100644
--- a/modules/ACE/tests/Proactor_UDP_Test.cpp
+++ b/modules/ACE/tests/Proactor_UDP_Test.cpp
@@ -113,13 +113,11 @@ public:
virtual ~LogLocker () { ACE_LOG_MSG->release (); }
};
-
// Function to remove signals from the signal mask.
static int
disable_signal (int sigmin, int sigmax)
{
-#ifndef ACE_WIN32
-
+#if !defined (ACE_LACKS_UNIX_SIGNALS)
sigset_t signal_set;
if (ACE_OS::sigemptyset (&signal_set) == - 1)
ACE_ERROR ((LM_ERROR,
@@ -129,20 +127,26 @@ disable_signal (int sigmin, int sigmax)
for (int i = sigmin; i <= sigmax; i++)
ACE_OS::sigaddset (&signal_set, i);
- // Put the <signal_set>.
- if (ACE_OS::pthread_sigmask (SIG_BLOCK, &signal_set, 0) != 0)
- ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("Error: (%P|%t):%p\n"),
- ACE_TEXT ("pthread_sigmask failed")));
+ // Put the <signal_set>.
+# if defined (ACE_LACKS_PTHREAD_THR_SIGSETMASK)
+ // In multi-threaded application this is not POSIX compliant
+ // but let's leave it just in case.
+ if (ACE_OS::sigprocmask (SIG_BLOCK, &signal_set, 0) != 0)
+# else
+ if (ACE_OS::thr_sigsetmask (SIG_BLOCK, &signal_set, 0) != 0)
+# endif /* ACE_LACKS_PTHREAD_THR_SIGSETMASK */
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("Error: (%P|%t): %p\n"),
+ ACE_TEXT ("SIG_BLOCK failed")),
+ -1);
#else
ACE_UNUSED_ARG (sigmin);
ACE_UNUSED_ARG (sigmax);
-#endif /* ACE_WIN32 */
+#endif /* ACE_LACKS_UNIX_SIGNALS */
- return 1;
+ return 0;
}
-
// *************************************************************
// MyTask is ACE_Task resposible for :
// 1. creation and deletion of
@@ -344,6 +348,7 @@ MyTask::svc (void)
ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) MyTask started\n")));
disable_signal (ACE_SIGRTMIN, ACE_SIGRTMAX);
+ disable_signal (SIGPIPE, SIGPIPE);
// signal that we are ready
sem_.release (1);
diff --git a/modules/ACE/tests/SSL/Bug_2912_Regression_Test.cpp b/modules/ACE/tests/SSL/Bug_2912_Regression_Test.cpp
index 0f25b43308b..88a48674945 100644
--- a/modules/ACE/tests/SSL/Bug_2912_Regression_Test.cpp
+++ b/modules/ACE/tests/SSL/Bug_2912_Regression_Test.cpp
@@ -54,6 +54,39 @@ ACE_RCSID (tests,
#define DATA "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
#define DATA_SIZE ACE_OS::strlen(DATA)
+// Function to remove signals from the signal mask.
+static int
+disable_signal (int sigmin, int sigmax)
+{
+#if !defined (ACE_LACKS_UNIX_SIGNALS)
+ sigset_t signal_set;
+ if (ACE_OS::sigemptyset (&signal_set) == - 1)
+ ACE_ERROR ((LM_ERROR,
+ ACE_TEXT ("Error: (%P|%t):%p\n"),
+ ACE_TEXT ("sigemptyset failed")));
+
+ for (int i = sigmin; i <= sigmax; i++)
+ ACE_OS::sigaddset (&signal_set, i);
+
+ // Put the <signal_set>.
+# if defined (ACE_LACKS_PTHREAD_THR_SIGSETMASK)
+ // In multi-threaded application this is not POSIX compliant
+ // but let's leave it just in case.
+ if (ACE_OS::sigprocmask (SIG_BLOCK, &signal_set, 0) != 0)
+# else
+ if (ACE_OS::thr_sigsetmask (SIG_BLOCK, &signal_set, 0) != 0)
+# endif /* ACE_LACKS_PTHREAD_THR_SIGSETMASK */
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("Error: (%P|%t): %p\n"),
+ ACE_TEXT ("SIG_BLOCK failed")),
+ -1);
+#else
+ ACE_UNUSED_ARG (sigmin);
+ ACE_UNUSED_ARG (sigmax);
+#endif /* ACE_LACKS_UNIX_SIGNALS */
+
+ return 0;
+}
/**
* Client's proactor
@@ -79,6 +112,9 @@ typedef ACE_Singleton<Client_Proactor_Task, ACE_SYNCH_RECURSIVE_MUTEX>
int
Client_Proactor_Task::svc (void)
{
+ // Keep RT signals on POSIX from killing us.
+ disable_signal (ACE_SIGRTMIN, ACE_SIGRTMAX);
+
CLIENT_PROACTOR->proactor_reset_event_loop ();
CLIENT_PROACTOR->proactor_run_event_loop ();
return 0;
@@ -106,6 +142,9 @@ typedef ACE_Singleton<Server_Proactor_Task, ACE_SYNCH_RECURSIVE_MUTEX>
int
Server_Proactor_Task::svc (void)
{
+ // Keep RT signals on POSIX from killing us.
+ disable_signal (ACE_SIGRTMIN, ACE_SIGRTMAX);
+
SERVER_PROACTOR->proactor_reset_event_loop ();
SERVER_PROACTOR->proactor_run_event_loop ();
return 0;
@@ -189,35 +228,6 @@ init_ssl (void)
}
-// Function to remove signals from the signal mask.
-static int
-disable_signal (int sigmin, int sigmax)
-{
-#ifndef ACE_WIN32
-
- sigset_t signal_set;
- if (ACE_OS::sigemptyset (&signal_set) == - 1)
- ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("Error: (%P|%t):%p\n"),
- ACE_TEXT ("sigemptyset failed")));
-
- for (int i = sigmin; i <= sigmax; i++)
- ACE_OS::sigaddset (&signal_set, i);
-
- // Put the <signal_set>.
- if (ACE_OS::pthread_sigmask (SIG_BLOCK, &signal_set, 0) != 0)
- ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("Error: (%P|%t):%p\n"),
- ACE_TEXT ("pthread_sigmask failed")));
-#else
- ACE_UNUSED_ARG (sigmin);
- ACE_UNUSED_ARG (sigmax);
-#endif /* ACE_WIN32 */
-
- return 1;
-}
-
-
/**
* Server's ACE_Service_Handler
*/
diff --git a/modules/ACE/tests/SSL/SSL_Asynch_Stream_Test.cpp b/modules/ACE/tests/SSL/SSL_Asynch_Stream_Test.cpp
index 1ee2239fb80..bd1f64dc4dd 100644
--- a/modules/ACE/tests/SSL/SSL_Asynch_Stream_Test.cpp
+++ b/modules/ACE/tests/SSL/SSL_Asynch_Stream_Test.cpp
@@ -146,8 +146,7 @@ static const char *test_string = "SSL_Asynch_Stream_Test!";
static int
disable_signal (int sigmin, int sigmax)
{
-#ifndef ACE_WIN32
-
+#if !defined (ACE_LACKS_UNIX_SIGNALS)
sigset_t signal_set;
if (ACE_OS::sigemptyset (&signal_set) == - 1)
ACE_ERROR ((LM_ERROR,
@@ -157,17 +156,24 @@ disable_signal (int sigmin, int sigmax)
for (int i = sigmin; i <= sigmax; i++)
ACE_OS::sigaddset (&signal_set, i);
- // Put the <signal_set>.
- if (ACE_OS::pthread_sigmask (SIG_BLOCK, &signal_set, 0) != 0)
- ACE_ERROR ((LM_ERROR,
- ACE_TEXT ("Error: (%P|%t):%p\n"),
- ACE_TEXT ("pthread_sigmask failed")));
+ // Put the <signal_set>.
+# if defined (ACE_LACKS_PTHREAD_THR_SIGSETMASK)
+ // In multi-threaded application this is not POSIX compliant
+ // but let's leave it just in case.
+ if (ACE_OS::sigprocmask (SIG_BLOCK, &signal_set, 0) != 0)
+# else
+ if (ACE_OS::thr_sigsetmask (SIG_BLOCK, &signal_set, 0) != 0)
+# endif /* ACE_LACKS_PTHREAD_THR_SIGSETMASK */
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("Error: (%P|%t): %p\n"),
+ ACE_TEXT ("SIG_BLOCK failed")),
+ -1);
#else
ACE_UNUSED_ARG (sigmin);
ACE_UNUSED_ARG (sigmax);
-#endif /* ACE_WIN32 */
+#endif /* ACE_LACKS_UNIX_SIGNALS */
- return 1;
+ return 0;
}
static void
@@ -451,6 +457,9 @@ proactor_loop (void *)
{
ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) Start handling events.\n")));
+ disable_signal (ACE_SIGRTMIN, ACE_SIGRTMAX);
+ disable_signal (SIGPIPE, SIGPIPE);
+
int result =
ACE_Proactor::instance ()->proactor_run_event_loop ();
if (result == -1)
@@ -471,6 +480,9 @@ start_clients (void *)
ACE_INET_Addr addr (rendezvous);
ACE_SSL_SOCK_Connector connect;
+ disable_signal (ACE_SIGRTMIN, ACE_SIGRTMAX);
+ disable_signal (SIGPIPE, SIGPIPE);
+
for (size_t i = 0 ; i < cli_conn_no; i++)
{
ACE_SSL_SOCK_Stream stream;
diff --git a/modules/ACE/tests/TP_Reactor_Test.cpp b/modules/ACE/tests/TP_Reactor_Test.cpp
index d0dff09d194..a47f51c46b2 100644
--- a/modules/ACE/tests/TP_Reactor_Test.cpp
+++ b/modules/ACE/tests/TP_Reactor_Test.cpp
@@ -248,6 +248,8 @@ MyTask::svc (void)
{
ACE_DEBUG ((LM_DEBUG, ACE_TEXT (" (%t) MyTask started\n")));
+ disable_signal (SIGPIPE, SIGPIPE);
+
// signal that we are ready
sem_.release (1);
@@ -1118,7 +1120,7 @@ parse_args (int argc, ACE_TCHAR *argv[])
static int
disable_signal (int sigmin, int sigmax)
{
-#if defined (ACE_HAS_PTHREADS_STD) && !defined (ACE_LACKS_PTHREAD_SIGMASK)
+#if !defined (ACE_LACKS_UNIX_SIGNALS)
sigset_t signal_set;
if (ACE_OS::sigemptyset (&signal_set) == - 1)
ACE_ERROR ((LM_ERROR,
@@ -1128,17 +1130,24 @@ disable_signal (int sigmin, int sigmax)
for (int i = sigmin; i <= sigmax; i++)
ACE_OS::sigaddset (&signal_set, i);
- // Put the <signal_set>.
- if (ACE_OS::pthread_sigmask (SIG_BLOCK, &signal_set, 0) != 0)
- ACE_ERROR ((LM_ERROR,
- ACE_TEXT("Error: (%P | %t):%p\n"),
- ACE_TEXT("pthread_sigmask failed")));
+ // Put the <signal_set>.
+# if defined (ACE_LACKS_PTHREAD_THR_SIGSETMASK)
+ // In multi-threaded application this is not POSIX compliant
+ // but let's leave it just in case.
+ if (ACE_OS::sigprocmask (SIG_BLOCK, &signal_set, 0) != 0)
+# else
+ if (ACE_OS::thr_sigsetmask (SIG_BLOCK, &signal_set, 0) != 0)
+# endif /* ACE_LACKS_PTHREAD_THR_SIGSETMASK */
+ ACE_ERROR_RETURN ((LM_ERROR,
+ ACE_TEXT ("Error: (%P|%t): %p\n"),
+ ACE_TEXT ("SIG_BLOCK failed")),
+ -1);
#else
ACE_UNUSED_ARG(sigmin);
ACE_UNUSED_ARG(sigmax);
-#endif /* ACE_HAS_PTHREADS_STD && !ACE_LACKS_PTHREAD_SIGMASK */
+#endif /* ACE_LACKS_UNIX_SIGNALS */
- return 1;
+ return 0;
}
#endif /* ACE_HAS_THREADS */
@@ -1152,7 +1161,7 @@ run_main (int argc, ACE_TCHAR *argv[])
if (::parse_args (argc, argv) == -1)
return -1;
- ::disable_signal (SIGPIPE, SIGPIPE);
+ disable_signal (SIGPIPE, SIGPIPE);
MyTask task1;
Acceptor acceptor;
diff --git a/modules/ACE/tests/run_test.lst b/modules/ACE/tests/run_test.lst
index 3d1d603d078..d198d0c1d99 100644
--- a/modules/ACE/tests/run_test.lst
+++ b/modules/ACE/tests/run_test.lst
@@ -47,7 +47,7 @@ Bug_2820_Regression_Test
Bug_2980_Regression_Test: !STATIC !Win32 !VxWorks !WCHAR
Bug_3102_Regression_Test
Bug_3319_Regression_Test
-Bug_3334_Regression_Test: !STATIC !FIXED_BUGS_ONLY
+Bug_3334_Regression_Test: !STATIC
Bug_3432_Regression_Test
Bug_3500_Regression_Test
Bug_3532_Regression_Test